.fs-story{border-bottom:1px solid var(--line);background:var(--bg-soft);isolation:isolate;position:relative}.fs-story__track{height:275svh;position:relative}.fs-story--vm .fs-story__track{height:350svh}.fs-story__stage{width:100%;height:100vh;min-height:44rem;height:100svh;padding:6.5rem var(--gutter) 2.5rem;grid-template-columns:minmax(20rem,.8fr) minmax(34rem,1.2fr);align-items:center;gap:clamp(2rem,5vw,7rem);display:grid;position:sticky;top:0;overflow:clip}.fs-story__stage:before{z-index:-2;content:"";background-image:linear-gradient(#ebf0e109 1px,#0000 1px),linear-gradient(90deg,#ebf0e109 1px,#0000 1px);background-size:5rem 5rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 3%,#000 35% 78%,#0000 100%);mask-image:linear-gradient(90deg,#0000 3%,#000 35% 78%,#0000 100%)}.fs-story--luxe .fs-story__stage{background:radial-gradient(circle at 77% 46%,#a4782d29,#0000 27%),#10110e}.fs-story--vm .fs-story__stage{background:radial-gradient(circle at 24% 48%,#d8ff3e12,#0000 29%),radial-gradient(circle at 24% 48%,#b7872824,#0000 20%),#0e100d}.fs-story__stage--reverse{grid-template-columns:minmax(34rem,1.2fr) minmax(20rem,.8fr)}.fs-story__stage--reverse .fs-copy{grid-area:1/2}.fs-story__stage--reverse .fs-showcase{grid-area:1/1}.fs-copy{z-index:4;max-width:38rem;position:relative}.fs-kicker{align-items:center;gap:1rem;margin-bottom:clamp(1.5rem,3vh,2.75rem);display:flex}.fs-icon{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:1rem;flex:none;width:3.5rem;height:3.5rem;overflow:hidden}.fs-icon img{object-fit:cover;width:100%;height:100%}.fs-eyebrow,.fs-status,.fs-storage,.fs-stack,.fs-chapters{font-family:var(--font-mono);letter-spacing:.055em;text-transform:uppercase;font-size:.68rem}.fs-eyebrow{color:var(--accent);margin:0}.fs-status{color:var(--muted);margin:.25rem 0 0}.fs-copy h2{letter-spacing:-.065em;max-width:10ch;margin:0;font-size:clamp(3.8rem,6.6vw,7.6rem);font-weight:560;line-height:.9}.fs-story--vm .fs-copy h2{font-size:clamp(3.4rem,5.7vw,6.8rem)}.fs-lede{max-width:46ch;color:var(--text-soft);margin:1.5rem 0 0;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.45}.fs-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(1.5rem,3vh,2.5rem) 0;display:grid}.fs-metrics>div{flex-direction:column;min-width:0;padding:1rem 0;display:flex}.fs-metrics>div+div{border-left:1px solid var(--line);padding-left:1rem}.fs-metrics dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;overflow:hidden}.fs-metrics dd{color:var(--text);letter-spacing:-.04em;font-variant-numeric:tabular-nums;order:-1;margin:0 0 .18rem;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:510;line-height:1}.fs-detail{max-width:60ch;color:var(--text-soft);margin:0;font-size:.92rem;line-height:1.58}.fs-storage{color:var(--muted);text-transform:none;margin:.8rem 0 0;line-height:1.5}.fs-stack{color:var(--muted);flex-wrap:wrap;gap:.45rem .9rem;margin:1.25rem 0;padding:0;list-style:none;display:flex}.fs-stack li:before{color:var(--accent);content:"/";margin-right:.35rem}.fs-link{min-height:2.75rem;color:inherit;font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.7rem;font-weight:560;text-decoration:none;display:inline-flex}.fs-links{flex-wrap:wrap;gap:.5rem 1.4rem;display:flex}.fs-showcase{z-index:2;grid-template-columns:minmax(17rem,1fr) minmax(9rem,.38fr);justify-self:stretch;align-items:center;gap:clamp(1.5rem,3vw,3.5rem);min-width:0;height:min(82svh,54rem);display:grid;position:relative}.fs-showcase.fs-showcase--vm{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;place-items:center;gap:clamp(.75rem,1.5vh,1.25rem)}.fs-showcase--vm .fs-device{grid-row:1;align-self:center;width:clamp(12.5rem,min(16vw,28svh),16.5rem)}.fs-showcase--vm .fs-chapters{-webkit-backdrop-filter:blur(.6rem);backdrop-filter:blur(.6rem);background:#0b0c0ab8;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));align-self:end;width:min(100%,38rem);margin:0 auto;position:relative;bottom:auto;left:auto;right:auto}.fs-showcase--vm .fs-chapters li,.fs-showcase--vm .fs-chapters li:last-child{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fs-showcase--vm .fs-chapters li+li{border-left:1px solid var(--line)}.fs-showcase--vm .fs-chapters li:nth-child(3n+1){border-left:0}.fs-showcase--vm .fs-chapters li:nth-child(n+4){border-top:0}.fs-showcase--vm .fs-chapters button{grid-template-columns:auto 1fr;gap:.65rem;padding-inline:.8rem}.fs-showcase--vm .fs-chapters button:after{transform-origin:50%;border-radius:999px;width:1.25rem;height:.12rem;bottom:.38rem;left:50%;right:auto;transform:translate(-50%)scaleX(0)}.fs-showcase--vm .fs-chapters button.is-active:after{transform:translate(-50%)scaleX(1)}.fs-device{z-index:2;background:#050505;border:1px solid #ffffff42;border-radius:18%/8.63%;justify-self:center;width:clamp(12.5rem,min(16vw,28svh),16.5rem);padding:clamp(.35rem,.55vw,.55rem);position:relative;box-shadow:0 2.2rem 5rem #00000075,inset 0 1px #ffffff3b}.fs-device__deck{aspect-ratio:1320/2868;background:#f7f4ec;border-radius:18%/8.3%;position:relative;overflow:hidden}.fs-story--vm .fs-device__deck{aspect-ratio:1284/2778}.fs-device__button{z-index:4;background:#4d4d4d;border-radius:999px;width:.16rem;position:absolute;right:-.17rem}.fs-device__button--top{height:10%;top:24%}.fs-device__button--bottom{height:16%;top:38%}.fs-screen{opacity:0;transition:opacity .42s var(--ease-ui), transform .62s var(--ease-reveal);pointer-events:none;margin:0;position:absolute;inset:0;transform:translateY(5%)scale(.985)}.fs-screen[data-state=active]{z-index:2;opacity:1;pointer-events:auto;transform:translate(0,0)scale(1)}.fs-screen picture,.fs-screen img{width:100%;height:100%}.fs-screen picture{border-radius:0;display:block;overflow:hidden;transform:none}.fs-screen img{object-fit:contain}.fs-screen figcaption{display:none}.fs-chapters{color:var(--muted);gap:0;margin:0;padding:0;list-style:none;display:grid}.fs-chapters li{border-top:1px solid var(--line)}.fs-chapters li:last-child{border-bottom:1px solid var(--line)}.fs-chapters button{width:100%;min-height:3.25rem;color:inherit;text-align:left;cursor:pointer;transition:color var(--duration-ui) var(--ease-ui);background:0 0;border:0;grid-template-columns:2.2rem 1fr;align-items:center;gap:.45rem;padding:.5rem 0;display:grid}.fs-chapters button span{color:var(--muted);font-variant-numeric:tabular-nums;transition:color var(--duration-ui) var(--ease-ui)}.fs-chapters button:after{background:var(--accent);content:"";opacity:0;width:.45rem;height:.45rem;transition:opacity var(--duration-ui) var(--ease-ui), transform var(--duration-ui) var(--ease-reveal);border-radius:50%;position:absolute;right:0;transform:scale(0)}.fs-chapters button.is-active{color:var(--text);position:relative}.fs-chapters button.is-active span{color:var(--accent)}.fs-chapters button.is-active:after{opacity:1;transform:scale(1)}.fs-story__progress{display:none}@media (min-width:56.25rem) and (min-height:50.0625rem) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.fs-story__progress{z-index:8;right:var(--gutter);bottom:.8rem;left:var(--gutter);opacity:0;pointer-events:none;height:2px;transition:opacity var(--duration-hover) var(--ease-ui);background:#ebf0e121;display:block;position:absolute;overflow:hidden}.fs-story__progress span{background:var(--accent);transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}}.fs-signal{z-index:-1;aspect-ratio:1;pointer-events:none;width:min(31vw,33rem);position:absolute;top:43%;left:50%;translate:-50% -50%}.fs-signal__ring{opacity:0;border:1px solid #d8ff3e52;border-radius:50%;position:absolute;inset:0;transform:scale(.24)}.fs-story--vm[data-signal-fired=true] .fs-signal__ring{animation:fs-signal-once 1.25s var(--ease-reveal) both}.fs-story--vm[data-signal-fired=true] .fs-signal__ring--two{animation-delay:.14s}.fs-story--vm[data-signal-fired=true] .fs-signal__ring--three{animation-delay:.28s}@keyframes fs-signal-once{0%{opacity:0;transform:scale(.24)}18%{opacity:.58}to{opacity:0;transform:scale(1)}}@media (max-width:69rem) and (min-width:56.25rem){.fs-story__stage,.fs-story__stage--reverse{grid-template-columns:minmax(18rem,.72fr) minmax(28rem,1.28fr);gap:1rem}.fs-copy h2{font-size:clamp(3.3rem,6vw,5.2rem)}.fs-showcase{grid-template-columns:minmax(16rem,1fr) minmax(8rem,.34fr);gap:1rem}}@media (min-width:56.25rem) and (max-height:50rem),(min-width:56.25rem) and (hover:none),(min-width:56.25rem) and (pointer:coarse){.fs-story__track,.fs-story--vm .fs-story__track{height:auto}.fs-story__stage{height:auto;min-height:50rem;position:relative;top:auto}}@media (max-width:56.24rem){.fs-story__track,.fs-story--vm .fs-story__track{height:auto}.fs-story__stage,.fs-story__stage--reverse{height:auto;min-height:0;padding:6rem var(--gutter) 4rem;grid-template-columns:1fr;gap:2.5rem;display:grid;position:relative;top:auto;overflow:hidden}.fs-story--vm .fs-story__stage{padding-bottom:0}.fs-story__stage--reverse .fs-copy,.fs-story__stage--reverse .fs-showcase{grid-area:auto/1}.fs-copy{max-width:100%}.fs-copy h2,.fs-story--vm .fs-copy h2{max-width:10ch;font-size:clamp(3.3rem,14vw,6.5rem)}.fs-detail{font-size:1rem}.fs-showcase{min-width:0;height:auto;margin-inline:calc(var(--gutter) * -1);display:block}.fs-device{display:contents}.fs-device__button{display:none}.fs-device__deck{width:100%;padding:1.5rem var(--gutter) 1.75rem;overscroll-behavior-inline:contain;aspect-ratio:auto;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;background:0 0;border-radius:0;gap:1.25rem;display:flex;overflow-x:auto}.fs-story--vm .fs-device__deck{aspect-ratio:auto}.fs-device__deck::-webkit-scrollbar{display:none}.fs-screen,.fs-screen[data-state=active]{z-index:1;box-shadow:none;opacity:1;pointer-events:auto;scroll-snap-align:start;background:0 0;border:0;border-radius:0;flex:0 0 min(68vw,18rem);padding:0;position:relative;inset:auto;transform:none}.fs-screen picture{aspect-ratio:719/1500;background:#f7f4ec;border:clamp(.52rem,2.66vw,.7rem) solid #050505;border-radius:18%/8.63%;height:auto;padding:0;position:relative;overflow:hidden;transform:none;box-shadow:0 0 0 1px #ffffff42,0 1.5rem 3.4rem #00000061,inset 0 1px #ffffff3b}.fs-story--vm .fs-screen picture{aspect-ratio:719/1500}.fs-screen img{object-fit:cover;background:#f7f4ec;border-radius:0;position:absolute;inset:0;overflow:hidden;transform:none}.fs-screen:before,.fs-screen:after{z-index:4;content:"";background:#4d4d4d;border-radius:999px;width:.16rem;position:absolute;right:-.16rem}.fs-screen:before{height:9%;top:24%}.fs-screen:after{height:14%;top:37%}.fs-screen figcaption{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;gap:.75rem;padding:1rem .45rem .5rem;font-size:.68rem;display:flex}.fs-screen figcaption span{color:var(--accent);font-variant-numeric:tabular-nums}.fs-chapters,.fs-signal{display:none}}@media (max-width:37.5rem){.fs-metrics dt{white-space:normal}.fs-metrics>div+div{padding-left:.65rem}.fs-metrics dd{font-size:1.65rem}}@media (prefers-reduced-motion:reduce){.fs-story__track,.fs-story--vm .fs-story__track{height:auto}.fs-story__stage{height:auto;min-height:50rem;position:relative}.fs-screen{transition:none}.fs-signal__ring{display:none}}.project-aperture{--aperture-x:61%;--aperture-y:39%;--aperture-radius:clamp(7.5rem, 14vw, 14rem);z-index:0;pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.project-aperture__plane{clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 13%);background:#0b0c0a;border:1px solid #e4ebda29;width:min(61vw,58rem);position:absolute;top:clamp(5rem,11vh,8.5rem);bottom:clamp(1.5rem,5vh,4rem);right:clamp(-7rem,-4vw,-2rem);overflow:hidden;box-shadow:0 2rem 8rem #0006}.project-aperture__plane:before,.project-aperture__plane:after{z-index:4;pointer-events:none;content:"";position:absolute}.project-aperture__plane:before{opacity:.56;background-color:#0000;background-image:linear-gradient(90deg,#d8ff3e1a 1px,#0000 1px),linear-gradient(#e4ebda14 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:clamp(3.2rem,5vw,5.4rem) clamp(3.2rem,5vw,5.4rem);background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 48% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 48% 100%)}.project-aperture__plane:after{background:linear-gradient(90deg,#0b0c0a 0%,#0000 28% 80%,#0b0c0a 100%),linear-gradient(#0b0c0a 0%,#0000 22% 70%,#0b0c0a 100%);inset:0}.project-aperture__portrait,.project-aperture__portrait img{width:100%;height:100%;position:absolute;inset:0}.project-aperture__portrait img{object-fit:cover;object-position:50% 42%}.project-aperture__portrait--base{opacity:.36;filter:grayscale()contrast(1.35)brightness(.54)}.project-aperture__portrait--signal{z-index:1;filter:saturate(.76)contrast(1.16);opacity:.94;-webkit-mask-image:radial-gradient(circle var(--aperture-radius) at var(--aperture-x) var(--aperture-y), #000 0%, #000 54%, #000000db 65%, transparent 100%);mask-image:radial-gradient(circle var(--aperture-radius) at var(--aperture-x) var(--aperture-y), #000 0%, #000 54%, #000000db 65%, transparent 100%)}.project-aperture__portrait--signal:after{mix-blend-mode:color;content:"";background:linear-gradient(135deg,#d8ff3e47,#0000 45%);position:absolute;inset:0}.project-aperture__dither{z-index:2;opacity:.34;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(circle calc(var(--aperture-radius) * 1.2) at var(--aperture-x) var(--aperture-y), transparent 0%, transparent 50%, #000 70%, transparent 100%);mask-image:radial-gradient(circle calc(var(--aperture-radius) * 1.2) at var(--aperture-x) var(--aperture-y), transparent 0%, transparent 50%, #000 70%, transparent 100%);background-image:radial-gradient(circle,#d8ff3e 0 .75px,#0000 .9px);background-size:5px 5px;animation:1.06s steps(7,end) both project-aperture-dither;position:absolute;inset:0}.project-aperture__scan{z-index:5;background:#d8ff3e;width:2px;animation:.92s cubic-bezier(.32,0,.25,1) 80ms both project-aperture-scan;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 1.3rem #d8ff3eb8,-1.6rem 0 3.6rem #d8ff3e3d}.project-aperture__lens{z-index:6;top:var(--aperture-y);left:var(--aperture-x);width:calc(var(--aperture-radius) * 1.7);aspect-ratio:1;opacity:.58;border:1px solid #d8ff3e61;border-radius:50%;transition:opacity .18s;position:absolute;transform:translate(-50%,-50%)}.project-aperture__lens:before,.project-aperture__lens:after{content:"";background:#d8ff3e;position:absolute}.project-aperture__lens:before{opacity:.34;height:1px;top:50%;left:-.3rem;right:-.3rem}.project-aperture__lens:after{opacity:.34;width:1px;top:-.3rem;bottom:-.3rem;left:50%}.project-aperture[data-engaged=true] .project-aperture__lens{opacity:.94}@keyframes project-aperture-dither{0%,18%{opacity:.9;background-size:13px 13px}58%{opacity:.5;background-size:7px 7px}to{opacity:.34;background-size:5px 5px}}@keyframes project-aperture-scan{0%{opacity:0;transform:translate(0)}8%{opacity:1}88%{opacity:1}to{opacity:0;transform:translate(min(61vw,58rem))}}@media (max-width:899px){.project-aperture{--aperture-x:61%;--aperture-y:39%;--aperture-radius:clamp(6rem, 30vw, 10rem)}.project-aperture__plane{top:clamp(17rem,66vw,25rem);right:var(--gutter);bottom:auto;left:var(--gutter);aspect-ratio:1;opacity:.96;width:auto;max-width:32rem;margin-inline:auto}}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.project-aperture,.project-aperture__plane,.project-aperture__portrait--base,.project-aperture__dither,.project-aperture__scan{animation:none}.project-aperture__scan,.project-aperture__lens{display:none}.project-aperture__portrait--signal{-webkit-mask-image:linear-gradient(112deg,#000000b8 0%,#000 34% 78%,#000000b8 100%);mask-image:linear-gradient(112deg,#000000b8 0%,#000 34% 78%,#000000b8 100%)}.project-aperture__dither{-webkit-mask-image:linear-gradient(90deg,#0000 18%,#000 64%,#0000 96%);mask-image:linear-gradient(90deg,#0000 18%,#000 64%,#0000 96%)}}.case-shell{--case-max:84rem}.case-frame{width:min(calc(100% - (var(--gutter) * 2)), var(--case-max));margin-inline:auto}.case-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#0b0c0ad1}.case-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 82% 30%, #d8ff3e1a, transparent 24%), var(--bg);isolation:isolate;min-height:46rem;padding:8rem 0 4rem;position:relative;overflow:hidden}.case-hero__grid{z-index:-1;background-image:linear-gradient(#ebf0e10a 1px,#0000 1px),linear-gradient(90deg,#ebf0e10a 1px,#0000 1px);background-size:5rem 5rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 70%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 70%,#0000 100%)}.case-hero__inner{flex-direction:column;min-height:34rem;display:flex}.case-breadcrumbs{color:var(--muted);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.68rem;display:flex}.case-breadcrumbs a{min-height:2.75rem;transition:color var(--duration-hover) var(--ease-ui);align-items:center;display:inline-flex}.case-breadcrumbs a:hover{color:var(--text)}.case-hero__title{grid-template-columns:minmax(10rem,.27fr) 1fr;align-items:end;gap:clamp(2rem,5vw,6rem);margin-top:auto;display:grid}.case-status{max-width:30ch;color:var(--muted);font-family:var(--font-mono);letter-spacing:.035em;text-transform:uppercase;margin-top:.55rem;font-size:.68rem;line-height:1.5}.case-hero h1{letter-spacing:-.07em;text-wrap:balance;max-width:12ch;font-size:clamp(4rem,9vw,9rem);font-weight:550;line-height:.88}.case-hero__summary{grid-template-columns:minmax(10rem,.27fr) minmax(20rem,1fr);align-items:end;gap:clamp(2rem,5vw,6rem);margin-top:clamp(2.5rem,5vw,5rem);display:grid}.case-hero__summary>p{max-width:54ch;color:var(--text-soft);grid-column:2;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.42}.case-actions{flex-wrap:wrap;grid-column:2;gap:.75rem 1.5rem;margin-top:1.25rem;display:flex}.case-actions a{min-height:2.75rem;color:var(--text);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.7rem;display:inline-flex}.case-actions a span{color:var(--accent)}.case-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3rem,6vw,6rem);display:grid}.case-facts>div{flex-direction:column;min-width:0;padding:1.25rem 0;display:flex}.case-facts>div+div{border-left:1px solid var(--line);padding-left:clamp(.8rem,2vw,2rem)}.case-facts dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;overflow:hidden}.case-facts dd{letter-spacing:-.045em;order:-1;margin-bottom:.3rem;font-size:clamp(1.5rem,3vw,2.75rem);font-weight:520;line-height:1}.case-visual-wrap{padding-block:clamp(4rem,9vw,9rem)}.case-visual--phones{border:1px solid var(--line);background:radial-gradient(circle at 50% 48%, #d8ff3e14, transparent 33%), linear-gradient(#ebf0e10a 1px, transparent 1px), linear-gradient(90deg, #ebf0e10a 1px, transparent 1px), var(--bg-soft);background-size:auto,5rem 5rem,5rem 5rem,auto;grid-template-columns:repeat(3,minmax(0,1fr));place-items:center;gap:clamp(1rem,4vw,4rem);padding:clamp(2rem,5vw,5rem);display:grid;overflow:hidden}.case-phone{background:#050505;border:1px solid #ffffff42;border-radius:18%/8.63%;width:min(100%,18.5rem);padding:clamp(.35rem,.6vw,.55rem);overflow:hidden;box-shadow:0 2.2rem 5rem #0000006b,inset 0 1px #ffffff3b}.case-phone picture,.case-phone img{width:100%;height:100%}.case-phone picture{aspect-ratio:719/1500;border-radius:17%/8.2%;overflow:hidden}.case-phone img{object-fit:cover}.case-phone:nth-child(2){transform:translateY(-3%)}.case-visual--wide,.case-visual--duckhunt{border:1px solid var(--line);background:var(--surface);overflow:hidden}.case-visual--wide picture,.case-visual--wide img,.case-visual--duckhunt video{width:100%}.case-visual--wide img{aspect-ratio:3382/2102;object-fit:cover}.case-visual--duckhunt video{aspect-ratio:960/552;object-fit:contain;background:#050505}.case-visual figcaption{padding:1rem var(--gutter);border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.case-body{grid-template-columns:minmax(12rem,.3fr) minmax(0,1fr);gap:clamp(3rem,8vw,9rem);padding-bottom:clamp(6rem,11vw,11rem);display:grid}.case-stack{align-self:start;position:sticky;top:7rem}.case-stack ul{border-top:1px solid var(--line);margin-top:1.5rem;display:grid}.case-stack li{border-bottom:1px solid var(--line);color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.035em;text-transform:uppercase;padding:.75rem 0;font-size:.7rem}.case-stack li:before{color:var(--accent);content:"+";margin-right:.55rem}.case-narrative{border-top:1px solid var(--line)}.case-narrative section{border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr;gap:clamp(1rem,3vw,3rem);padding:clamp(3rem,6vw,6rem) 0;display:grid}.case-section-index{color:var(--accent);font-family:var(--font-mono);font-size:.7rem}.case-narrative h2{letter-spacing:-.06em;text-wrap:balance;max-width:15ch;font-size:clamp(2.3rem,5vw,5.4rem);font-weight:535;line-height:.98}.case-narrative p{max-width:65ch;color:var(--text-soft);margin-top:1.5rem;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.65}.case-more{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:clamp(6rem,10vw,10rem);display:grid}.case-more a{min-height:13rem;transition:background-color var(--duration-hover) var(--ease-ui), color var(--duration-hover) var(--ease-ui);flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,3vw,3rem);display:flex}.case-more a+a{border-left:1px solid var(--line);text-align:right}.case-more a:hover{background:var(--surface)}.case-more span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;font-size:.68rem}.case-more strong{letter-spacing:-.045em;font-size:clamp(1.6rem,3vw,3.2rem);font-weight:520;line-height:1}.case-contact{border-top:1px solid var(--line);background:radial-gradient(circle at 78% 45%, #d8ff3e21, transparent 28%), var(--bg-soft);padding:clamp(6rem,12vw,12rem) 0;position:relative;overflow:hidden}.case-contact h2{letter-spacing:-.07em;max-width:14ch;margin-top:1.5rem;font-size:clamp(3.4rem,8vw,8.8rem);font-weight:540;line-height:.88}.case-contact h2 span{color:var(--accent)}.case-contact__inner>p:not(.eyebrow){max-width:52ch;color:var(--text-soft);margin-top:2rem;font-size:clamp(1.05rem,1.5vw,1.25rem)}.case-contact .contact-actions{margin-top:2.5rem}@media (max-width:56.24rem){.case-hero{min-height:0;padding-top:7.5rem}.case-hero__inner{min-height:0}.case-hero__title,.case-hero__summary,.case-body{grid-template-columns:1fr}.case-hero__title{gap:2rem;margin-top:4.5rem}.case-hero__summary{gap:0}.case-hero__summary>p,.case-actions{grid-column:1}.case-facts dt{white-space:normal}.case-visual--phones{padding:2.5rem var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;gap:1.25rem;display:flex;overflow-x:auto}.case-visual--phones::-webkit-scrollbar{display:none}.case-phone{scroll-snap-align:start;flex:0 0 min(68vw,18rem)}.case-phone:nth-child(2){transform:none}.case-stack{position:relative;top:auto}}@media (max-width:37.5rem){.case-hero h1{font-size:clamp(3.6rem,17vw,5.4rem)}.case-facts{grid-template-columns:1fr}.case-facts>div{grid-template-columns:1fr auto;align-items:end;gap:1rem;padding:1rem 0;display:grid}.case-facts>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.case-facts dd{text-align:right;order:1;margin:0;font-size:1.45rem}.case-narrative section,.case-more{grid-template-columns:1fr}.case-more a{min-height:10rem}.case-more a+a{border-top:1px solid var(--line);border-left:0}}@font-face{font-family:Instrument Sans Local;font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin.woff2)format("woff2-variations")}@font-face{font-family:Instrument Sans Fallback;font-style:normal;font-weight:400 700;src:local(Arial);size-adjust:101%;ascent-override:96%;descent-override:25%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Local;font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2-variations")}:root{--bg:#0b0c0a;--bg-soft:#10120e;--surface:#141611;--surface-raised:#1a1d16;--text:#f1f4e9;--text-soft:#c6cabd;--muted:#8f9587;--line:#ebf0e124;--line-strong:#ebf0e142;--accent:#d8ff3e;--accent-ink:#101405;--gutter:clamp(1.25rem, 3vw, 3.5rem);--frame:92rem;--font-sans:"Instrument Sans Local", "Instrument Sans Fallback", Arial, sans-serif;--font-mono:"JetBrains Mono Local", "SFMono-Regular", Consolas, monospace;--duration-press:.12s;--duration-hover:.18s;--duration-ui:.26s;--duration-reveal:.8s;--ease-ui:cubic-bezier(.2, .8, .2, 1);--ease-reveal:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto;scrollbar-color:var(--accent) var(--bg);scroll-padding-top:5rem}body{background:var(--bg);min-width:20rem;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5;overflow-x:clip}body:before{z-index:9999;pointer-events:none;content:"";opacity:.26;background-image:radial-gradient(circle at 20% 30%,#ffffff12 0 .04rem,#0000 .05rem),radial-gradient(circle at 80% 60%,#ffffff0d 0 .035rem,#0000 .045rem);background-size:.42rem .42rem,.57rem .57rem;position:fixed;inset:0}::selection{background:var(--accent);color:var(--accent-ink)}:where(a,button,summary):focus-visible{outline:3px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 2px var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font:inherit}button{border:0}img,video,canvas,picture{max-width:100%;display:block}img,video{width:100%;height:auto}p,h1,h2,h3,figure,dl,dd{margin:0}ul{margin:0;padding:0;list-style:none}.site-shell{overflow:clip}.skip-link{z-index:10000;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);transition:transform var(--duration-ui) var(--ease-reveal);border-radius:999px;padding:.75rem 1rem;font-size:.75rem;font-weight:650;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;width:100%;min-height:4.75rem;padding:0 var(--gutter);background:linear-gradient(#0b0c0adb 0%,#0b0c0a00 100%);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0}.wordmark{letter-spacing:-.04em;align-items:center;width:max-content;min-height:2.75rem;font-size:1rem;font-weight:670;display:inline-flex}.wordmark span{color:var(--accent)}.primary-nav{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:clamp(1rem,2vw,2rem);font-size:.69rem;display:flex}.primary-nav a,.site-footer a,.text-link,.project-links a{position:relative}.primary-nav a,.site-footer a{align-items:center;min-height:2.75rem;display:inline-flex}.site-footer a:after,.text-link:after,.project-links a:after{content:"";transform-origin:0;opacity:.36;height:1px;transition:transform var(--duration-hover) var(--ease-ui), opacity var(--duration-hover) var(--ease-ui);background:currentColor;position:absolute;bottom:-.28rem;left:0;right:0;transform:scaleX(.22)}.header-meta{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.035em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:1.25rem;font-size:.68rem;display:flex}.availability{white-space:nowrap;align-items:center;gap:.55rem;display:inline-flex}.availability>span{border:1px solid var(--accent);background:#d8ff3e38;border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 .75rem #d8ff3e52}.ist-clock{font-variant-numeric:tabular-nums;white-space:nowrap}.hero{min-height:100vh;border-bottom:1px solid var(--line);isolation:isolate;min-height:100svh;display:flex;position:relative;overflow:clip}.hero:after{z-index:0;pointer-events:none;background:radial-gradient(circle at 74% 57%, #d8ff3e17, transparent 27%), linear-gradient(180deg, #0b0c0a00 65%, var(--bg) 100%);content:"";position:absolute;inset:0}.hero-grid{z-index:0;top:0;bottom:0;left:var(--gutter);width:calc(100% - (var(--gutter) * 2));pointer-events:none;border-left:1px solid #ebf0e10d;border-right:1px solid #ebf0e10d;position:absolute}.hero-grid:before,.hero-grid:after{content:"";background:#ebf0e10d;width:1px;position:absolute;top:0;bottom:0}.hero-grid:before{left:33.333%}.hero-grid:after{right:33.333%}.hero-content{z-index:2;width:min(100%, var(--frame));min-height:100%;padding:7rem var(--gutter) 2rem;flex-direction:column;flex:1;justify-content:space-between;margin:auto;display:flex;position:relative}.hero-intro{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;font-size:.72rem;display:flex}.hero-title-group{margin:auto 0}.hero h1{z-index:1;letter-spacing:-.078em;text-transform:uppercase;margin:clamp(1.1rem,1.4vw,1.5rem) 0 0;font-size:clamp(5.4rem,16.4vw,16.8rem);font-weight:565;line-height:.73;position:relative}.hero-line{padding-right:.08em;display:block;overflow:clip}.hero-line>span{display:block}.hero-line--offset{color:var(--accent);padding-left:13.5vw}.hero-footer{grid-template-columns:minmax(18rem,34rem) 1fr;align-items:end;gap:clamp(1.5rem,3vw,4rem);display:grid}.hero-footer>p{max-width:58ch;color:var(--text-soft);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.5}.scroll-cue{min-height:2.75rem;color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;justify-self:end;align-items:center;gap:.75rem;font-size:.7rem;display:inline-flex}.scroll-cue span{color:var(--accent);font-size:1rem}.flagship-runway{border-bottom:1px solid var(--line);height:240svh;position:relative}.flagship-stage{width:100%;height:100vh;height:100svh;min-height:44rem;padding:6.5rem var(--gutter) 2.5rem;background:var(--bg-soft);isolation:isolate;grid-template-columns:minmax(20rem,.78fr) minmax(33rem,1.22fr);align-items:center;gap:clamp(2rem,5vw,7rem);display:grid;position:sticky;top:0;overflow:clip}.flagship-stage:before{z-index:-1;content:"";background-image:linear-gradient(#ebf0e10a 1px,#0000 1px),linear-gradient(90deg,#ebf0e10a 1px,#0000 1px);background-size:5rem 5rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 4%,#000 35% 78%,#0000 100%);mask-image:linear-gradient(90deg,#0000 4%,#000 35% 78%,#0000 100%)}.flagship-runway--luxe .flagship-stage{background:radial-gradient(circle at 79% 47%,#a4782d2b,#0000 29%),#10110e}.flagship-runway--vm .flagship-stage{background:radial-gradient(circle at 23% 49%,#b7872829,#0000 28%),#0e100d;grid-template-columns:minmax(33rem,1.22fr) minmax(20rem,.78fr)}.flagship-runway--vm .flagship-copy{grid-area:1/2}.flagship-runway--vm .phone-stage{grid-area:1/1}.flagship-copy{z-index:4;align-self:center;max-width:38rem;position:relative}.flagship-kicker{align-items:center;gap:1rem;margin-bottom:clamp(1.5rem,3vh,2.75rem);display:flex}.app-icon{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:1rem;flex:none;width:3.5rem;height:3.5rem;overflow:hidden}.app-icon img{object-fit:cover;width:100%;height:100%}.eyebrow,.status-label,.stack-list,.storage-note{font-family:var(--font-mono);letter-spacing:.055em;text-transform:uppercase;font-size:.68rem}.eyebrow{color:var(--accent)}.status-label{color:var(--muted);margin-top:.25rem}.flagship-copy h2{letter-spacing:-.065em;max-width:9ch;font-size:clamp(3.8rem,6.6vw,7.6rem);font-weight:560;line-height:.9}.flagship-runway--vm .flagship-copy h2{max-width:10ch;font-size:clamp(3.4rem,5.7vw,6.8rem)}.flagship-lede{max-width:46ch;color:var(--text-soft);margin-top:1.5rem;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.45}.metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(1.5rem,3vh,2.5rem) 0;display:grid}.metrics>div{flex-direction:column;min-width:0;padding:1rem 0;display:flex}.metrics>div+div{border-left:1px solid var(--line);padding-left:1rem}.metrics dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;overflow:hidden}.metrics dd{color:var(--text);letter-spacing:-.04em;font-variant-numeric:tabular-nums;order:-1;margin-bottom:.18rem;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:510;line-height:1}.flagship-detail{max-width:60ch;color:var(--text-soft);font-size:.92rem;line-height:1.58}.storage-note{color:var(--muted);text-transform:none;margin-top:.8rem;line-height:1.5}.stack-list{color:var(--muted);flex-wrap:wrap;gap:.45rem .9rem;margin:1.25rem 0;display:flex}.stack-list li:before{color:var(--accent);content:"/";margin-right:.35rem}.text-link,.project-links a{min-height:2.75rem;font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.7rem;font-weight:560;display:inline-flex}.phone-stage{z-index:2;perspective:90rem;height:min(82svh,54rem);min-height:38rem;position:relative}.phone-frame{transform-origin:50% 74%;will-change:auto;background:#050505;border:1px solid #ffffff42;border-radius:clamp(2.5rem,4.1vw,4rem);width:clamp(13rem,18vw,18.5rem);padding:clamp(.35rem,.55vw,.55rem);position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 2.2rem 5rem #00000075,inset 0 1px #ffffff3b}.phone-screen{background:#f7f4ec;border-radius:clamp(2.15rem,3.7vw,3.52rem);position:relative;overflow:hidden}.phone-screen picture,.phone-screen img{width:100%}.phone-button{background:#4d4d4d;border-radius:999px;width:.16rem;position:absolute;right:-.17rem}.phone-button--top{height:10%;top:24%}.phone-button--bottom{height:16%;top:38%}.phone-card:first-child{z-index:1;opacity:.48;transform:translate(-48%)translateY(4%)rotate(-10deg)scale(.88)}.phone-card:nth-child(2){z-index:2;opacity:.68;transform:translate(-25%)translateY(2%)rotate(-5deg)scale(.93)}.phone-card:nth-child(3){z-index:4;transform:rotate(.5deg)}.phone-card:nth-child(4){z-index:3;opacity:.74;transform:translate(23%)translateY(2%)rotate(5deg)scale(.93)}.phone-card:nth-child(5){z-index:2;opacity:.52;transform:translate(45%)translateY(4%)rotate(9deg)scale(.88)}.phone-card:nth-child(6){z-index:1;opacity:.35;transform:translate(63%)translateY(6%)rotate(13deg)scale(.82)}.stage-counter{z-index:12;color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;gap:.3rem;font-size:.67rem;display:flex;position:absolute;bottom:0;right:0}.stage-counter span:first-child{color:var(--accent)}.flagship-progress{z-index:20;background:#ebf0e114;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.flagship-progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.section{padding:clamp(6rem, 10vw, 10rem) var(--gutter);border-bottom:1px solid var(--line);background:var(--bg)}.section-frame{width:min(100%, var(--frame));margin:0 auto}.section-heading{grid-template-columns:minmax(8rem,.35fr) 1fr;align-items:start;gap:2rem;margin-bottom:clamp(4rem,8vw,8rem);display:grid}.section-heading h2{letter-spacing:-.06em;max-width:15ch;font-size:clamp(2.8rem,6.4vw,7.5rem);font-weight:540;line-height:.95}.split-line{overflow:clip}.project-list{border-bottom:1px solid var(--line)}.project-row{border-top:1px solid var(--line);opacity:1;min-height:30rem;transition:opacity var(--duration-hover) var(--ease-ui);grid-template-columns:6rem minmax(16rem,.9fr) minmax(24rem,1.1fr);align-items:center;gap:clamp(1.5rem,3vw,4rem);padding:clamp(3rem,5vw,5rem) 0;display:grid}.project-row__meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;justify-content:space-between;align-self:stretch;font-size:.66rem;display:flex}.project-row__meta>span{color:var(--accent)}.project-row__meta ul{gap:.35rem;display:grid}.project-row__copy{align-self:center}.project-row__copy h3{letter-spacing:-.055em;max-width:14ch;font-size:clamp(2.2rem,4.6vw,5.4rem);font-weight:520;line-height:.96}.project-row__copy>p{max-width:45ch;color:var(--text-soft);margin-top:1.25rem;font-size:1rem;line-height:1.55}.project-row__copy .project-subline{color:var(--muted);margin-top:.35rem}.project-links{gap:1.5rem;margin-top:1.5rem;display:flex}.project-row__media{border:1px solid var(--line-strong);background:var(--surface);border-radius:.8rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f}.project-row__media>picture,.project-video-shell{aspect-ratio:1.58}.project-row__media img,.project-row__media video{object-fit:cover;width:100%;height:100%;transition:transform .22s var(--ease-ui)}.project-video-shell{position:relative;overflow:hidden}.video-toggle{min-height:2.75rem;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);cursor:pointer;transition:background-color var(--duration-hover) var(--ease-ui), color var(--duration-hover) var(--ease-ui), transform var(--duration-press) var(--ease-ui);background:#080907d1;border:1px solid #ffffff3d;border-radius:999px;padding:0 .85rem;font-size:.68rem;position:absolute;bottom:.75rem;right:.75rem}.video-toggle:active{transform:scale(.97)}.experience-ledger{border-bottom:1px solid var(--line)}.experience-row{border-top:1px solid var(--line);grid-template-columns:minmax(11rem,.32fr) 1fr;gap:clamp(2rem,5vw,6rem);padding:clamp(2.5rem,5vw,4.5rem) 0;display:grid}.experience-date{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;flex-direction:column;gap:.35rem;font-size:.68rem;display:flex}.experience-copy h3{letter-spacing:-.05em;font-size:clamp(1.8rem,3.7vw,4.5rem);font-weight:520;line-height:1}.experience-copy h3 span{color:var(--muted)}.experience-copy>p{max-width:70ch;color:var(--text-soft);margin-top:1.35rem;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.6}.experience-details{border-block:1px solid var(--line);max-width:70ch;color:var(--muted);margin-top:1.75rem}.experience-details summary{width:100%;min-height:3.75rem;color:var(--text);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.25rem 0;font-size:.68rem;line-height:1.35;list-style:none;display:grid}.experience-details summary::-webkit-details-marker{display:none}.experience-summary-meta{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.9rem;display:inline-flex}.experience-summary-icon{width:1rem;height:1rem;color:var(--accent);position:relative}.experience-summary-icon:before,.experience-summary-icon:after{content:"";width:.8rem;height:1px;transition:transform var(--duration-ui) var(--ease-ui);background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.experience-summary-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.experience-details[open] .experience-summary-icon:after{transform:translate(-50%,-50%)rotate(90deg)scaleX(0)}.experience-detail-list{margin:0;padding:0 0 .5rem;list-style:none;display:grid}.experience-detail-list li{border-top:1px solid var(--line);color:var(--text-soft);grid-template-columns:1.75rem minmax(0,1fr);gap:.75rem;padding:1rem 0;line-height:1.6;display:grid}.experience-detail-index{color:#d8ff3e94;font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;padding-top:.15rem;font-size:.6rem}.education-row{align-items:center}.resume-link{margin-top:2rem}.skills-ledger{border-bottom:1px solid var(--line)}.skills-row{border-top:1px solid var(--line);grid-template-columns:minmax(10rem,.32fr) 1fr;align-items:start;gap:clamp(2rem,5vw,6rem);padding:clamp(1.5rem,3vw,2.4rem) 0;display:grid}.skills-row h3{color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:500}.skills-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:0 clamp(1.25rem,2.5vw,2.5rem);margin:0;padding:0;list-style:none;display:grid}.skills-list li{border-top:1px solid var(--line);color:var(--text-soft);grid-template-columns:1.65rem minmax(0,1fr);align-items:baseline;gap:.55rem;padding:.75rem 0 .85rem;font-size:clamp(.95rem,1.3vw,1.15rem);line-height:1.35;display:grid}.skills-list li>span:last-child{min-width:0}.skill-number{color:#d8ff3e94;font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:.6rem}.contact{padding:clamp(7rem, 13vw, 14rem) var(--gutter) clamp(5rem, 8vw, 8rem);border-bottom:1px solid var(--line);isolation:isolate;background:#0d0f0b;position:relative;overflow:clip}.contact-glow{z-index:-1;aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle,#d8ff3e2e,#d8ff3e0a 35%,#0000 66%);border-radius:50%;width:82vw;position:absolute;bottom:-45vw;right:-20vw}.contact-status{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.045em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:1.5rem 2.5rem;margin-bottom:clamp(3rem,7vw,6rem);font-size:.68rem;display:flex}.contact h2{letter-spacing:-.075em;text-transform:uppercase;font-size:clamp(3.6rem,8.8vw,8.8rem);font-weight:555;line-height:.82}.contact h2 span{display:block}.contact h2 span:nth-child(2){padding-left:clamp(2rem,4vw,5rem)}.contact-intent{max-width:54ch;color:var(--text-soft);margin-top:clamp(2rem,3vw,3rem);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.55}.accent-text{color:var(--accent)}.contact-intent+.email-copy{margin-top:clamp(3rem,6vw,6rem)}@media (min-width:56.25rem){.contact h2 span{white-space:nowrap}}.email-copy{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem) 0;display:grid}.email-copy>span:first-child{letter-spacing:-.055em;text-overflow:ellipsis;font-size:clamp(1.65rem,5.3vw,5.8rem);font-weight:500;line-height:1;overflow:hidden}.email-copy__action{min-width:6rem;color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;text-align:right;text-transform:uppercase;font-size:.68rem}.contact-actions{gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid var(--line-strong);min-height:3.35rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;transition:background-color var(--duration-ui) var(--ease-ui), border-color var(--duration-ui) var(--ease-ui), color var(--duration-ui) var(--ease-ui);border-radius:999px;justify-content:center;align-items:center;padding:0 1.35rem;font-size:.68rem;font-weight:600;display:inline-flex}.button--accent{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button--ghost{color:var(--text);background:0 0}.button:active{transition-duration:var(--duration-press);transform:scale(.97)}.magnetic{transform:translate3d(var(--magnetic-x,0px), var(--magnetic-y,0px), 0);transition:background-color var(--duration-ui) var(--ease-ui), border-color var(--duration-ui) var(--ease-ui), color var(--duration-ui) var(--ease-ui), transform .6s var(--ease-reveal)}.magnetic:active{transform:translate3d(var(--magnetic-x,0px), var(--magnetic-y,0px), 0) scale(.97)}.site-footer{min-height:8rem;padding:1.5rem var(--gutter);color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;font-size:.66rem;display:grid}.footer-identity,.site-footer nav{align-items:center;gap:1.25rem;display:flex}.site-footer>a:last-child{justify-self:end}@keyframes hero-rise{0%{transform:translateY(14%)}to{transform:translateY(0)}}@keyframes soft-enter{0%{opacity:.01;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.hero-line>span{animation:hero-rise .9s var(--ease-reveal) both}.hero-line--offset>span{animation-delay:80ms}.hero-intro,.hero-footer,.site-header{animation:soft-enter .7s var(--ease-reveal) both}.hero-footer{animation-delay:.16s}}@media (hover:hover) and (pointer:fine){.experience-details summary:hover{color:var(--accent)}.site-footer a:hover:after,.site-footer a:focus-visible:after,.text-link:hover:after,.text-link:focus-visible:after,.project-links a:hover:after,.project-links a:focus-visible:after{opacity:1;transform:scaleX(1)}:is(.project-list:has(.project-row:hover) .project-row:not(:hover),.project-list:has(.project-row:focus-within) .project-row:not(:focus-within)){opacity:.56}.project-row:hover .project-row__media img,.project-row:focus-within .project-row__media img{transform:scale(1.025)}.video-toggle:hover,.video-toggle:focus-visible{background:var(--accent);color:var(--accent-ink)}.button--ghost:hover,.button--ghost:focus-visible{border-color:var(--text);background:var(--text);color:var(--bg)}}@media (max-width:69rem) and (min-width:56.25rem){.site-header{grid-template-columns:auto 1fr;gap:2rem}.primary-nav{justify-self:end}.header-meta{display:none}.flagship-stage,.flagship-runway--vm .flagship-stage{grid-template-columns:minmax(18rem,.72fr) minmax(28rem,1.28fr);gap:1rem}.flagship-copy h2{font-size:clamp(3.3rem,6vw,5.2rem)}.project-row{grid-template-columns:4rem minmax(15rem,.85fr) minmax(21rem,1.15fr)}}@media (min-width:56.25rem) and (max-height:44rem),(min-width:56.25rem) and (hover:none),(min-width:56.25rem) and (pointer:coarse){.flagship-runway{height:auto}.flagship-stage{height:auto;min-height:50rem;position:relative;top:auto;overflow:hidden}.phone-stage{height:44rem;min-height:36rem}.flagship-progress,.stage-counter{display:none}}@media (max-width:56.24rem){:root{--gutter:1.25rem}body:before{z-index:90}.site-header{--header-safe-top:env(safe-area-inset-top,0px);min-height:calc(3rem + var(--header-safe-top));padding-top:var(--header-safe-top);padding-right:max(1.25rem, env(safe-area-inset-right));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b0c0ad1;grid-template-columns:auto 1fr;position:fixed;top:0}.site-header:before{z-index:0;-webkit-backdrop-filter:blur(.75rem)saturate(120%);backdrop-filter:blur(.75rem)saturate(120%);content:"";pointer-events:none;background:#0b0c0a03;position:absolute;inset:0}.site-header>*{z-index:1;position:relative}.primary-nav{justify-self:end;gap:clamp(.75rem,3vw,1.25rem);font-size:.66rem}.header-meta{display:none}.hero-content{min-height:auto;padding-top:6.5rem;padding-right:max(1.25rem, env(safe-area-inset-right));grid-template-rows:auto auto;place-content:start stretch;gap:1.5rem;padding-bottom:2.5rem;display:grid}.hero-title-group{margin:0}.hero h1{margin-top:1rem;font-size:clamp(4.2rem,22vw,10rem);line-height:.78}.hero-line--offset{padding-left:0}.hero-footer{grid-template-columns:1fr;gap:1.25rem;margin-top:clamp(22rem,92vw,34rem)}.hero-footer>p{grid-column:1/-1}.scroll-cue{grid-area:2/1;place-self:end start}.flagship-runway{height:auto}.flagship-stage,.flagship-runway--vm .flagship-stage{height:auto;min-height:0;padding:6rem var(--gutter) 4rem;grid-template-columns:1fr;gap:2.5rem;display:grid;position:relative;top:auto;overflow:hidden}.flagship-runway--vm .flagship-copy,.flagship-runway--vm .phone-stage{grid-area:auto/1}.flagship-copy{max-width:100%}.flagship-copy h2,.flagship-runway--vm .flagship-copy h2{max-width:10ch;font-size:clamp(3.3rem,14vw,6.5rem)}.flagship-detail{font-size:1rem}.phone-stage{height:auto;min-height:0;padding:2rem var(--gutter) 1.5rem;margin-inline:calc(var(--gutter) * -1);overscroll-behavior-inline:contain;perspective:none;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;gap:1.25rem;display:flex;overflow-x:auto}.phone-stage::-webkit-scrollbar{display:none}.phone-frame,.phone-card:nth-child(n){z-index:1;opacity:1;scroll-snap-align:start;flex:0 0 min(72vw,19rem);width:min(72vw,19rem);position:relative;top:auto;left:auto;translate:none;transform:none!important}.stage-counter,.flagship-progress{display:none}.section{padding:6rem var(--gutter)}.fs-story--vm+.secondary-work{padding-top:4rem}.section-heading{grid-template-columns:1fr;gap:1.25rem;margin-bottom:4rem}.section-heading h2{font-size:clamp(3rem,12vw,6rem)}.project-row{grid-template-columns:1fr;gap:2rem;min-height:0;padding:3.5rem 0}.project-row__meta{grid-template-columns:auto 1fr;gap:1.5rem;display:grid}.project-row__meta ul{flex-wrap:wrap;justify-content:flex-end;gap:.4rem .9rem;display:flex}.project-row__copy h3{max-width:16ch;font-size:clamp(2.5rem,9.8vw,5rem)}.experience-row,.skills-row{grid-template-columns:1fr;gap:1.5rem}.experience-copy h3{font-size:clamp(2rem,8vw,4rem)}.contact h2{font-size:clamp(2.9rem,14vw,6.5rem);line-height:.88}.contact h2 span:nth-child(2){padding-left:0}.site-footer{grid-template-columns:1fr auto}.site-footer nav{flex-wrap:wrap;grid-area:1/1/auto/-1}.footer-identity{grid-area:2/1}.site-footer>a:last-child{grid-area:2/2}.site-header,.hero-content,.flagship-stage,.section,.contact,.site-footer{padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right))}}@media (max-width:37.5rem){.primary-nav a:nth-child(3){display:none}.hero-intro{gap:1rem;font-size:.62rem}.hero-footer>p{font-size:.96rem}.experience-details{margin-top:1.35rem}.experience-summary-meta{gap:.6rem}.experience-detail-list li{grid-template-columns:1.4rem minmax(0,1fr);gap:.55rem;padding:.9rem 0}.metrics dt{white-space:normal}.metrics>div+div{padding-left:.65rem}.metrics dd{font-size:1.65rem}.project-row__meta{grid-template-columns:1fr}.project-row__meta ul{justify-content:flex-start}.contact-status{gap:.8rem;display:grid}.email-copy{grid-template-columns:1fr;gap:.75rem}.email-copy>span:first-child{font-size:clamp(1.35rem,6.4vw,2.2rem)}.email-copy__action{text-align:left}.contact-actions{display:grid}.button{min-height:3.5rem}.site-footer{gap:1.5rem}.site-footer nav,.footer-identity{flex-wrap:wrap;gap:.8rem 1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.flagship-runway{height:auto}.flagship-stage{height:auto;min-height:50rem;position:relative;overflow:hidden}.flagship-progress{display:none}.project-row__media img{transition:none;transform:none!important}.magnetic{transform:none!important}}
