.project-carousel{position:relative;max-width:1200px;margin-right:auto;margin-left:auto}.project-carousel-viewport{overflow:hidden;border:1px solid rgb(34 211 238 / 15%);border-radius:.75rem;background:var(--color-card);box-shadow:0 20px 70px #00000047}.project-carousel-slide[hidden]{display:none}.project-carousel-control{position:absolute;top:calc(50% - 1.5rem);display:grid;width:3rem;height:3rem;place-items:center;border:1px solid rgb(165 243 252 / 38%);border-radius:999px;background:#07090db8;box-shadow:0 8px 24px #0000004d;color:#fff;backdrop-filter:blur(.5rem);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.project-carousel-control:hover{border-color:var(--color-primary);background:#00e5ff2e;box-shadow:0 10px 28px #00e5ff24}.project-carousel-control svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.project-carousel-control:focus-visible,.project-carousel-dot:focus-visible{outline:2px solid #a5f3fc;outline-offset:3px}.project-carousel-previous{left:1rem}.project-carousel-previous:hover{transform:translate(-.15rem)}.project-carousel-next{right:1rem}.project-carousel-next:hover{transform:translate(.15rem)}.project-carousel-dots{display:flex;justify-content:center;gap:.55rem;margin-top:.9rem}.project-carousel-dot{width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:#94a3b88c;transition:width .16s ease,background-color .16s ease}.project-carousel-dot[aria-current=true]{width:1.4rem;background:var(--color-primary)}@media(max-width:40rem){.project-carousel-control{width:2.15rem;height:2.15rem;border-color:#a5f3fc4d}.project-carousel-control svg{width:1rem;height:1rem}.project-carousel-previous{left:.5rem}.project-carousel-next{right:.5rem}}@media(prefers-reduced-motion:reduce){.project-carousel-control,.project-carousel-dot{transition:none}}.project-detail{--project-border: rgb(148 163 184 / 14%)}.project-back-link{display:inline-flex;align-items:center;min-height:2.75rem;gap:.6rem;padding:.65rem .9rem;border:1px solid rgb(148 163 184 / 18%);border-radius:.45rem;background:#13192294;color:var(--color-copy);font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.03em;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease}.project-back-link:hover{border-color:#a5f3fc7a;background:#00e5ff14;color:#fff;transform:translate(-.18rem)}.project-back-link:focus-visible{outline:2px solid #a5f3fc;outline-offset:4px}.project-detail-header{display:grid;gap:2rem;margin-top:2.7rem;padding-bottom:2.75rem;border-bottom:1px solid var(--project-border)}.project-section-label{margin:0;color:var(--color-copy);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.project-detail-heading h1{max-width:54rem;margin:0;color:#fff;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(2.7rem,6vw,5rem);font-weight:700;letter-spacing:-.055em;line-height:.98}.project-detail-heading>p{max-width:45rem;margin:1.5rem 0 0;color:var(--color-copy);font-size:1.05rem;line-height:1.75}.project-detail-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.project-detail-actions .button-secondary{min-height:2.75rem}.project-source-link{border-color:#22d3ee61;color:#fff;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.project-source-link span{display:inline-block;color:var(--color-primary);transition:transform .18s ease}.project-source-link:hover{border-color:var(--color-primary);background:#00e5ff1f;box-shadow:0 8px 24px #00e5ff1f;transform:translateY(-.12rem)}.project-source-link:hover span,.project-source-link:focus-visible span{transform:translate(.16rem,-.16rem)}.project-detail-hero{margin-top:2.75rem}.project-detail-hero .project-carousel{max-width:none}.project-detail-hero .project-carousel-viewport{border-radius:1rem}.project-detail-content{display:grid;gap:3rem;margin-top:4.5rem}.project-detail-story{min-width:0}.project-detail .prose-portfolio{max-width:none;color:var(--color-copy);font-size:1rem;line-height:1.85}.project-detail .prose-portfolio h2{margin-top:3rem;margin-bottom:1rem;color:#fff;font-family:Space Grotesk,Inter,sans-serif;font-size:1.75rem;font-weight:700;letter-spacing:-.025em}.project-detail .prose-portfolio h2:first-child{margin-top:.8rem}.project-detail .prose-portfolio p+p{margin-top:1.2rem}.project-detail .prose-portfolio a{color:var(--color-primary);text-decoration:underline;text-underline-offset:.2rem}.project-detail .prose-portfolio img{display:block;width:100%;max-width:none;height:auto}.project-detail-prose{margin-top:2.8rem}.project-detail .prose-portfolio ul{display:grid;gap:.75rem;padding-left:1.1rem;margin:1.35rem 0 0}.project-stack{max-width:none;margin-top:3.5rem;padding-top:2.25rem;border-top:1px solid var(--project-border)}.project-stack h2{margin:.5rem 0 0;color:#fff;font-family:Space Grotesk,Inter,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:-.025em}.project-stack ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.15rem 0 0;padding:0;list-style:none}@media(min-width:64rem){.project-detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.project-detail-content{grid-template-columns:minmax(0,1fr)}}@media(max-width:40rem){.project-detail-header{margin-top:2rem;padding-bottom:2rem}.project-detail-heading h1{font-size:2.65rem}.project-detail-heading>p{font-size:1rem}.project-detail-content{margin-top:3.25rem;gap:2.5rem}.project-detail-hero{margin-top:2rem}}
