.ProjectDetail-module__vV4mtW__page{--project-accent:167 139 250;color:#f4f4f6;background:#030407;min-height:100vh;position:relative;overflow:hidden}.ProjectDetail-module__vV4mtW__page[data-accent=mint]{--project-accent:110 231 183}.ProjectDetail-module__vV4mtW__page[data-accent=blue]{--project-accent:129 140 248}.ProjectDetail-module__vV4mtW__page[data-accent=cyan]{--project-accent:34 211 238}.ProjectDetail-module__vV4mtW__readingProgress{z-index:95;pointer-events:none;--progress:0;height:2px;position:fixed;top:0;left:0;right:0}.ProjectDetail-module__vV4mtW__readingProgress:before{content:"";box-shadow:0 0 12px rgb(var(--project-accent)/.55);background:linear-gradient(90deg,rgb(var(--project-accent)/.95),rgb(var(--project-accent)/.3));transform-origin:0;transform:scaleX(var(--progress));position:absolute;inset:0}.ProjectDetail-module__vV4mtW__ambient:after{content:"";pointer-events:none;background:radial-gradient(44rem 30rem at 76% 14%,rgb(var(--project-accent)/.08),transparent 66%),radial-gradient(38rem 26rem at 16% 72%,rgb(var(--project-accent)/.05),transparent 68%);animation:26s ease-in-out infinite alternate ProjectDetail-module__vV4mtW__ambientDrift;position:absolute;inset:-18%}@keyframes ProjectDetail-module__vV4mtW__ambientDrift{0%{transform:translate(-2.5%,-2%)scale(1)}to{transform:translate(2.5%,2.5%)scale(1.07)}}.ProjectDetail-module__vV4mtW__ambient{pointer-events:none;background:radial-gradient(circle at 80% 10%,rgb(var(--project-accent)/.14),transparent 30rem),radial-gradient(circle at 12% 52%,#5138971a,transparent 28rem),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000000b8 66%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000b8 66%,#0000 100%)}.ProjectDetail-module__vV4mtW__shell{z-index:1;width:min(100% - 2.4rem,80rem);margin:0 auto;padding:clamp(7.5rem,11vw,10rem) 0 5rem;position:relative}.ProjectDetail-module__vV4mtW__breadcrumbs{color:#ffffffb3;font:400 .69rem/1.5 var(--font-ibm-plex-mono),monospace;margin-bottom:clamp(2rem,4vw,3.5rem)}.ProjectDetail-module__vV4mtW__breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:0;padding:0;list-style:none;display:flex}.ProjectDetail-module__vV4mtW__breadcrumbs li{align-items:center;gap:.75rem;display:inline-flex}.ProjectDetail-module__vV4mtW__breadcrumbs li+li:before{content:"/";color:#ffffff80}.ProjectDetail-module__vV4mtW__breadcrumbs a{min-height:2.5rem;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.ProjectDetail-module__vV4mtW__breadcrumbs a:hover{color:rgb(var(--project-accent))}.ProjectDetail-module__vV4mtW__breadcrumbs a:focus-visible{outline:2px solid rgb(var(--project-accent));outline-offset:4px}.ProjectDetail-module__vV4mtW__breadcrumbs [aria-current]{color:#ffffffd9}.ProjectDetail-module__vV4mtW__hero{grid-template-columns:minmax(19rem,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2.5rem,6vw,6.5rem);display:grid}.ProjectDetail-module__vV4mtW__heroCopy{z-index:2;position:relative;container-type:inline-size}.ProjectDetail-module__vV4mtW__eyebrow{color:rgb(var(--project-accent));font:500 .68rem/1.5 var(--font-ibm-plex-mono),monospace;letter-spacing:.18em;text-transform:uppercase;margin:0;animation:.64s cubic-bezier(.22,1,.36,1) 60ms both ProjectDetail-module__vV4mtW__heroRise}.ProjectDetail-module__vV4mtW__heroCopy h1{max-width:8ch;font:430 clamp(2.75rem,17.5cqi,6.4rem)/.86 var(--font-space-grotesk),sans-serif;letter-spacing:-.075em;text-shadow:0 0 70px rgb(var(--project-accent)/.22);margin:1.15rem 0 0;animation:.72s cubic-bezier(.22,1,.36,1) .13s both ProjectDetail-module__vV4mtW__heroRise}.ProjectDetail-module__vV4mtW__lede{color:#eeeef3a8;max-width:38rem;margin:1.7rem 0 0;font-size:clamp(.96rem,1.25vw,1.08rem);line-height:1.8;animation:.72s cubic-bezier(.22,1,.36,1) .21s both ProjectDetail-module__vV4mtW__heroRise}.ProjectDetail-module__vV4mtW__heroActions{flex-wrap:wrap;gap:.7rem;margin-top:2rem;animation:.72s cubic-bezier(.22,1,.36,1) .29s both ProjectDetail-module__vV4mtW__heroRise;display:flex}.ProjectDetail-module__vV4mtW__heroActions a{color:#ffffffd1;background:#ffffff09;border:1px solid #ffffff2b;justify-content:center;align-items:center;gap:.55rem;min-height:3rem;padding:.75rem 1rem;font-size:.76rem;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.ProjectDetail-module__vV4mtW__heroActions a:first-child{border-color:rgb(var(--project-accent)/.62);background:rgb(var(--project-accent)/.12);color:#fff;box-shadow:inset 0 1px 0 #ffffff24, 0 0 30px rgb(var(--project-accent)/.16);position:relative;overflow:hidden}.ProjectDetail-module__vV4mtW__heroActions a:first-child:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff2e,#0000);width:34%;position:absolute;top:-40%;bottom:-40%;left:-34%;transform:translate(-160%)skew(-18deg)}.ProjectDetail-module__vV4mtW__heroActions a:first-child:hover:after,.ProjectDetail-module__vV4mtW__heroActions a:first-child:focus-visible:after{transition:transform .76s cubic-bezier(.22,1,.36,1);transform:translate(440%)skew(-18deg)}.ProjectDetail-module__vV4mtW__heroActions a:hover{border-color:rgb(var(--project-accent)/.75);background:rgb(var(--project-accent)/.14);transform:translateY(-2px)}.ProjectDetail-module__vV4mtW__heroVisual{min-width:0;box-shadow:0 38px 100px #00000075,0 0 70px rgb(var(--project-accent)/.08);transform:perspective(1200px) rotateY(calc(-2deg + var(--ry,0deg))) rotateX(calc(1deg + var(--rx,0deg)));transform-origin:0;will-change:transform;background:#07090d;border:1px solid #ffffff2b;transition:transform .42s cubic-bezier(.22,1,.36,1);animation:.82s cubic-bezier(.22,1,.36,1) .17s both ProjectDetail-module__vV4mtW__visualReveal;position:relative;overflow:hidden}@keyframes ProjectDetail-module__vV4mtW__visualReveal{0%{opacity:0;clip-path:inset(9% 5% 11%)}to{opacity:1;clip-path:inset(0)}}.ProjectDetail-module__vV4mtW__heroSheen{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(38rem 26rem at var(--gx,55%) var(--gy,32%),rgb(var(--project-accent)/.13),transparent 58%);mix-blend-mode:screen;transition:opacity .48s;position:absolute;inset:0}.ProjectDetail-module__vV4mtW__heroVisual:hover .ProjectDetail-module__vV4mtW__heroSheen{opacity:1}@media (hover:none){.ProjectDetail-module__vV4mtW__heroSheen{display:none}}.ProjectDetail-module__vV4mtW__heroVisual:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(135deg,rgb(var(--project-accent)/.55),transparent 38%,transparent 72%,rgb(var(--project-accent)/.3)) border-box;-webkit-mask-composite:xor;opacity:.55;background-size:230% 230%;border:1px solid #0000;animation:12s ease-in-out infinite alternate ProjectDetail-module__vV4mtW__borderSheen;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes ProjectDetail-module__vV4mtW__borderSheen{0%{background-position:8% 8%}to{background-position:92% 92%}}.ProjectDetail-module__vV4mtW__windowBar{background:#ffffff06;border-bottom:1px solid #ffffff1c;align-items:center;gap:.42rem;height:2.35rem;padding:0 .85rem;display:flex}.ProjectDetail-module__vV4mtW__windowBar>span{background:#ffffff38;border-radius:50%;width:.43rem;height:.43rem}.ProjectDetail-module__vV4mtW__windowBar>span:first-child{background:rgb(var(--project-accent)/.7);box-shadow:0 0 12px rgb(var(--project-accent)/.4);animation:2.8s ease-in-out infinite ProjectDetail-module__vV4mtW__statusPulse}@keyframes ProjectDetail-module__vV4mtW__statusPulse{50%{box-shadow:0 0 20px rgb(var(--project-accent)/.75)}}.ProjectDetail-module__vV4mtW__windowBar p{color:#ffffff47;font:400 .55rem/1 var(--font-ibm-plex-mono),monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 0 auto}.ProjectDetail-module__vV4mtW__imageFrame{aspect-ratio:16/9;position:relative;overflow:hidden}.ProjectDetail-module__vV4mtW__imageFrame img{object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.ProjectDetail-module__vV4mtW__heroVisual:hover .ProjectDetail-module__vV4mtW__imageFrame img{transform:scale(1.018)}.ProjectDetail-module__vV4mtW__imageGlow{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #0003}.ProjectDetail-module__vV4mtW__caseStudy{border-top:1px solid #ffffff21;grid-template-columns:minmax(12rem,.34fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);margin-top:clamp(5rem,9vw,9rem);padding-top:clamp(3rem,5vw,5rem);display:grid}.ProjectDetail-module__vV4mtW__caseFile{border-left:1px solid rgb(var(--project-accent)/.28);align-self:start;padding-left:1.1rem;position:sticky;top:6.5rem}@supports (animation-timeline:view()){.ProjectDetail-module__vV4mtW__caseFile{border-left-color:rgb(var(--project-accent)/.12)}.ProjectDetail-module__vV4mtW__caseFile:after{content:"";pointer-events:none;background:rgb(var(--project-accent));width:1px;box-shadow:0 0 10px rgb(var(--project-accent)/.55);transform-origin:top;animation:linear both ProjectDetail-module__vV4mtW__caseFill;animation-timeline:view();animation-range:entry 30% exit 90%;position:absolute;top:0;bottom:0;left:-1px}}@keyframes ProjectDetail-module__vV4mtW__caseFill{0%{transform:scaleY(.06)}to{transform:scaleY(1)}}.ProjectDetail-module__vV4mtW__caseFile>p{color:rgb(var(--project-accent));font:500 .64rem/1 var(--font-ibm-plex-mono),monospace;letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.4rem}.ProjectDetail-module__vV4mtW__caseFile>p:after{content:"_";margin-left:.3em;animation:1.3s step-end infinite ProjectDetail-module__vV4mtW__caretBlink}@keyframes ProjectDetail-module__vV4mtW__caretBlink{50%{opacity:0}}.ProjectDetail-module__vV4mtW__caseFile dl{gap:1rem;margin:0;display:grid}.ProjectDetail-module__vV4mtW__caseFile dl>div{border-bottom:1px solid #ffffff17;padding-bottom:1rem}.ProjectDetail-module__vV4mtW__caseFile dt{color:#ffffff57;font:400 .59rem/1.4 var(--font-ibm-plex-mono),monospace;letter-spacing:.13em;text-transform:uppercase}.ProjectDetail-module__vV4mtW__caseFile dd{color:#ffffffc4;margin:.4rem 0 0;font-size:.81rem;line-height:1.5}.ProjectDetail-module__vV4mtW__tags{flex-wrap:wrap;gap:.45rem;margin-top:1.3rem;display:flex}.ProjectDetail-module__vV4mtW__tags span{border:1px solid rgb(var(--project-accent)/.22);background:rgb(var(--project-accent)/.04);color:#ffffff8c;font:400 .58rem/1 var(--font-ibm-plex-mono),monospace;padding:.38rem .55rem;transition:border-color .18s,color .18s,background .18s,translate .26s cubic-bezier(.22,1,.36,1)}.ProjectDetail-module__vV4mtW__tags span:hover{border-color:rgb(var(--project-accent)/.55);background:rgb(var(--project-accent)/.09);color:#ffffffe0;translate:0 -2px}.ProjectDetail-module__vV4mtW__prose{max-width:47rem}.ProjectDetail-module__vV4mtW__prose h2{color:#f4f4f6;font:430 clamp(1.8rem,3vw,2.65rem)/1.05 var(--font-space-grotesk),sans-serif;letter-spacing:-.045em;margin:0 0 1.2rem;padding-top:3.5rem;position:relative}.ProjectDetail-module__vV4mtW__prose h2:after{content:"";background:linear-gradient(90deg,rgb(var(--project-accent)),rgb(var(--project-accent)/0));width:2.4rem;height:2px;box-shadow:0 0 14px rgb(var(--project-accent)/.45);margin-top:.95rem;display:block}.ProjectDetail-module__vV4mtW__prose h2:first-child{padding-top:0}.ProjectDetail-module__vV4mtW__prose p{color:#ebebf1ab;font:400 .96rem/1.9 var(--font-inter),sans-serif;margin:0 0 1.25rem}.ProjectDetail-module__vV4mtW__prose strong{color:#fff}.ProjectDetail-module__vV4mtW__prose ul{margin:1.25rem 0 0;padding:0;list-style:none}.ProjectDetail-module__vV4mtW__prose li{margin:.55rem 0;padding:0 0 0 1.5rem;position:relative}.ProjectDetail-module__vV4mtW__prose li:before{content:"";background:rgb(var(--project-accent));width:.52rem;height:.52rem;box-shadow:0 0 10px rgb(var(--project-accent)/.55);transition:box-shadow .22s,scale .26s cubic-bezier(.22,1,.36,1);position:absolute;top:.82em;left:0}.ProjectDetail-module__vV4mtW__prose li:hover:before{box-shadow:0 0 18px rgb(var(--project-accent)/.95);scale:1.3}.ProjectDetail-module__vV4mtW__prose li a{background-image:linear-gradient(90deg,rgb(var(--project-accent)/.09),rgb(var(--project-accent)/.02));color:#ffffffc7;min-height:3rem;font:500 .76rem/1.5 var(--font-ibm-plex-mono),monospace;background-repeat:no-repeat;background-size:0% 100%;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;transition:color .18s,background-size .38s cubic-bezier(.22,1,.36,1);display:flex}.ProjectDetail-module__vV4mtW__prose li a:hover{color:rgb(var(--project-accent));background-size:100% 100%}.ProjectDetail-module__vV4mtW__prose li a:after{color:rgb(var(--project-accent));content:"↗";transition:translate .24s cubic-bezier(.22,1,.36,1)}.ProjectDetail-module__vV4mtW__prose li a:hover:after{translate:2px -2px}.ProjectDetail-module__vV4mtW__prose pre{position:relative;overflow:hidden}.ProjectDetail-module__vV4mtW__prose pre:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,rgb(var(--project-accent)/.65),transparent 62%);height:1px;position:absolute;top:0;left:0;right:0}.ProjectDetail-module__vV4mtW__prose blockquote{position:relative;overflow:hidden}.ProjectDetail-module__vV4mtW__prose blockquote:before{content:"";pointer-events:none;background:rgb(var(--project-accent)/.85);width:2px;box-shadow:0 0 14px rgb(var(--project-accent)/.6);position:absolute;top:0;bottom:0;left:0}.ProjectDetail-module__vV4mtW__nextProject{color:#f5f5f5;border-top:1px solid #ffffff21;border-bottom:1px solid #ffffff21;grid-template-columns:1fr auto;align-items:end;gap:.4rem 2rem;margin-top:clamp(5rem,9vw,9rem);padding:2rem 0;text-decoration:none;display:grid;position:relative;overflow:hidden}.ProjectDetail-module__vV4mtW__nextProject:after{content:"";pointer-events:none;background:radial-gradient(58% 130% at 100% 50%,rgb(var(--project-accent)/.09),transparent 62%);opacity:0;transition:opacity .26s;position:absolute;inset:0}.ProjectDetail-module__vV4mtW__nextProject:hover:after{opacity:1}.ProjectDetail-module__vV4mtW__nextProject span{color:#fff6;font:400 .62rem/1 var(--font-ibm-plex-mono),monospace;letter-spacing:.18em;text-transform:uppercase;transition:color .18s}.ProjectDetail-module__vV4mtW__nextProject:hover span{color:rgb(var(--project-accent))}.ProjectDetail-module__vV4mtW__nextProject strong{font:430 clamp(2rem,4vw,4rem)/1 var(--font-space-grotesk),sans-serif;letter-spacing:-.055em;grid-column:1;transition:transform .24s cubic-bezier(.22,1,.36,1)}.ProjectDetail-module__vV4mtW__nextProject:hover strong{transform:translate(8px)}.ProjectDetail-module__vV4mtW__nextProject svg{color:rgb(var(--project-accent));grid-area:1/2/3;transition:transform .18s}.ProjectDetail-module__vV4mtW__nextProject:hover svg{transform:translate(4px,-4px)}.ProjectDetail-module__vV4mtW__nextProject svg{animation:3.6s ease-in-out infinite ProjectDetail-module__vV4mtW__floatArrow}@keyframes ProjectDetail-module__vV4mtW__floatArrow{50%{translate:4px -4px}}@supports (animation-timeline:view()){.ProjectDetail-module__vV4mtW__prose h2:after{transform-origin:0;animation:linear both ProjectDetail-module__vV4mtW__ruleDraw;animation-timeline:view();animation-range:entry 8% entry 52%}}@keyframes ProjectDetail-module__vV4mtW__ruleDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ProjectDetail-module__vV4mtW__heroRise{0%{opacity:0;filter:blur(7px);translate:0 1.4rem}to{opacity:1;filter:blur();translate:0}}.ProjectDetail-module__vV4mtW__loading{width:min(100% - 2.4rem,80rem);min-height:75vh;margin:0 auto;padding-top:10rem}.ProjectDetail-module__vV4mtW__loading div{background:#ffffff0d;border-radius:1rem;width:55%;height:5rem;animation:1.7s ease-in-out infinite ProjectDetail-module__vV4mtW__pulse}.ProjectDetail-module__vV4mtW__loading div+div{width:85%;height:26rem;margin-top:3rem}@keyframes ProjectDetail-module__vV4mtW__pulse{50%{opacity:.45}}@media (max-width:960px){.ProjectDetail-module__vV4mtW__hero{grid-template-columns:1fr}.ProjectDetail-module__vV4mtW__heroCopy h1{max-width:11ch}.ProjectDetail-module__vV4mtW__heroVisual{transform:none}.ProjectDetail-module__vV4mtW__caseStudy{grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:3rem}}@media (max-width:680px){.ProjectDetail-module__vV4mtW__shell{width:min(100% - 1.5rem,80rem);padding-top:6.8rem}.ProjectDetail-module__vV4mtW__windowBar p{display:none}.ProjectDetail-module__vV4mtW__caseStudy{grid-template-columns:1fr;gap:2.8rem}.ProjectDetail-module__vV4mtW__caseFile{border-left:0;grid-template-columns:1fr;padding-left:0;display:grid;position:static}.ProjectDetail-module__vV4mtW__caseFile dl{grid-template-columns:repeat(3,1fr);gap:.65rem}.ProjectDetail-module__vV4mtW__caseFile dd{font-size:.72rem}}@media (max-width:460px){.ProjectDetail-module__vV4mtW__heroActions a{flex:100%}.ProjectDetail-module__vV4mtW__caseFile dl{grid-template-columns:1fr}.ProjectDetail-module__vV4mtW__prose p{font-size:.91rem}}@media (prefers-reduced-motion:reduce){.ProjectDetail-module__vV4mtW__heroActions a,.ProjectDetail-module__vV4mtW__imageFrame img,.ProjectDetail-module__vV4mtW__nextProject,.ProjectDetail-module__vV4mtW__nextProject strong,.ProjectDetail-module__vV4mtW__nextProject svg,.ProjectDetail-module__vV4mtW__tags span{transition:none}.ProjectDetail-module__vV4mtW__heroActions a:hover,.ProjectDetail-module__vV4mtW__heroVisual:hover .ProjectDetail-module__vV4mtW__imageFrame img,.ProjectDetail-module__vV4mtW__nextProject:hover strong,.ProjectDetail-module__vV4mtW__nextProject:hover svg{transform:none}.ProjectDetail-module__vV4mtW__eyebrow,.ProjectDetail-module__vV4mtW__heroCopy h1,.ProjectDetail-module__vV4mtW__lede,.ProjectDetail-module__vV4mtW__heroActions,.ProjectDetail-module__vV4mtW__heroVisual,.ProjectDetail-module__vV4mtW__ambient:after,.ProjectDetail-module__vV4mtW__heroVisual:before,.ProjectDetail-module__vV4mtW__windowBar>span:first-child,.ProjectDetail-module__vV4mtW__caseFile>p:after,.ProjectDetail-module__vV4mtW__nextProject svg,.ProjectDetail-module__vV4mtW__tags span,.ProjectDetail-module__vV4mtW__loading div{animation:none}.ProjectDetail-module__vV4mtW__prose h2:after{animation:none}.ProjectDetail-module__vV4mtW__prose h2:after{transform:scaleX(1)}.ProjectDetail-module__vV4mtW__heroVisual{will-change:auto;--rx:0deg;--ry:0deg;transition:none}.ProjectDetail-module__vV4mtW__heroSheen{display:none}.ProjectDetail-module__vV4mtW__tags span,.ProjectDetail-module__vV4mtW__tags span:hover{translate:none}}
