/* Scroll-directed scenes. Native scrolling stays in control. */
body{overflow-x:clip}.scroll-meter{position:fixed;inset:0 0 auto;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}.motion-switch{position:fixed;bottom:18px;right:20px;z-index:35;background:#071010dc;backdrop-filter:blur(14px);border:1px solid #355353;border-radius:30px;color:#c2d2d2;padding:8px 13px;font-size:11px;letter-spacing:.3px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 25px #0006}.motion-switch i{width:5px;height:5px;border-radius:50%;background:var(--teal)}.motion-switch[aria-pressed=true] i{background:#889494}.motion-switch:hover{border-color:var(--teal);color:#fff}.scene-kicker{position:absolute;top:6vh;left:5%;right:5%;display:flex;justify-content:space-between;color:#9bafaf;font-size:11px;z-index:3}.scene-rings{position:absolute;left:50%;top:50%;width:min(76vw,1000px);aspect-ratio:1;border:1px solid #163c3c;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle at 50% 70%,#08a4a719,transparent 65%)}.scene-rings:before,.scene-rings:after{content:'';position:absolute;border:1px solid #17434355;border-radius:50%;inset:10%}.scene-rings:after{inset:22%}.cinema-ready .hero-reel{height:185svh;position:relative}.cinema-ready .hero{position:sticky;top:0;height:100svh;min-height:660px;padding-top:34px;overflow:clip}.cinema-ready .hero-title{font-size:clamp(140px,21vw,310px);line-height:1.05;animation:none;transform-origin:center 25%;will-change:transform,opacity}.cinema-ready .hero-content{margin-top:-115px;min-height:300px}.cinema-ready .hero-art{animation:none;transform-origin:50% 50%;will-change:transform,opacity}.cinema-ready .hero-screen{transform:rotate(-7deg);transition:border-color .25s}.cinema-ready .hero-screen>img{aspect-ratio:2}.cinema-ready .hero-intro,.cinema-ready .hero-note{animation:none;will-change:transform,opacity}.cinema-ready .hero-intro h2{color:var(--teal);font-size:clamp(45px,5.4vw,78px)}.cinema-ready .hero-bottom{position:absolute;bottom:22px;left:0;right:0;padding-bottom:0;margin:0}.cinema-ready .hero-orbit{top:22%;width:min(80vw,900px);height:auto;aspect-ratio:1;border-color:#22555560}.cinema-ready .floating-label{animation:none}.cinema-ready .hero-note{padding-top:45px}.cinema-ready .hero-note .orbit-icon{animation:none}
/* A rotating fan of real views from the same project. */
.work-reel{position:relative;background:#000;scroll-margin-top:0}.cinema-ready .work-reel{height:340svh}.work-stage{position:relative;height:900px;min-height:660px;overflow:clip;isolation:isolate;background:radial-gradient(ellipse at 50% 85%,#052326 0%,#000 65%)}.cinema-ready .work-stage{position:sticky;top:0;height:100svh}.work-stage .scene-rings{top:55%;width:min(84vw,1050px);z-index:-1}.gallery-heading{position:absolute;bottom:17%;left:0;right:0;text-align:center;font:400 clamp(90px,15vw,230px)/1 var(--display);letter-spacing:-.02em;color:var(--teal);z-index:-1;will-change:transform,opacity}.gallery-heading span{color:transparent;-webkit-text-stroke:1px #08a4a7}.gallery-intro{position:absolute;left:5%;top:17%;z-index:2}.gallery-intro .eyebrow{font-size:11px;color:#08a4a7}.gallery-intro p:last-child{font-size:14px;margin-top:10px;line-height:1.7;color:#adc0c0}.gallery-deck{position:absolute;top:42%;left:50%;width:0;height:0;perspective:1300px;transform-style:preserve-3d}.reel-card{position:absolute;left:0;top:0;width:clamp(220px,25vw,370px);aspect-ratio:.87;display:block;border:1px solid #436d6d;padding:0;border-radius:15px;background:#061111;overflow:hidden;box-shadow:0 25px 50px #000b;transform-origin:50% 50%;will-change:transform,opacity;backface-visibility:hidden;isolation:isolate}.reel-card img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.94;transition:opacity .3s}.reel-card:hover img{opacity:1}.reel-card:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,#ffffff13,transparent 35%,transparent 70%,#08a4a710);pointer-events:none}.reel-card-label{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:linear-gradient(0deg,#020a0a,#020a0ae6 70%,transparent);text-align:left}.reel-card-label strong{font-size:13px;font-weight:600}.reel-card-label small{font-size:11px;color:#abc0c0;letter-spacing:1px}.reel-card-label>span:last-child{font-size:24px;color:var(--teal)}.gallery-bottom{position:absolute;bottom:5vh;left:5%;right:5%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;z-index:3}.gallery-status .eyebrow{color:#718f8f;font-size:11px}.gallery-current{display:flex;align-items:baseline;gap:15px;margin-top:5px}.gallery-current b{font:32px var(--display);color:var(--teal)}.gallery-current span{font-size:14px;color:#d4dddd}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:16px}.gallery-prev,.gallery-next{width:40px;height:40px;border:1px solid #3c5a5a;background:#051111;border-radius:50%;font-size:18px;transition:background .2s}.gallery-prev:hover,.gallery-next:hover{background:var(--teal);color:#000}.gallery-controls button:disabled{opacity:.3}.gallery-dots{display:flex;align-items:center;gap:6px}.gallery-dots button{width:22px;height:30px;background:none;padding:0;position:relative}.gallery-dots button:before{content:'';position:absolute;left:0;right:0;top:14px;height:2px;background:#3d5454;transition:background .25s}.gallery-dots button[aria-pressed=true]:before{background:var(--teal)}.gallery-instruction{text-align:right;font-size:11px;color:#90aaaa;letter-spacing:1px;text-transform:uppercase}.gallery-instruction span{display:inline-block;font-size:20px;margin-left:14px}.gallery-link{position:absolute;right:5%;top:17%;font-size:12px;z-index:3}.gallery-stage-count{position:absolute;right:5%;top:25%;font:90px/.9 var(--display);color:#173b3b;pointer-events:none}
/* The video scales into view while the title moves behind it. */
.film-reel{position:relative}.cinema-ready .film-reel{height:230svh}.film-stage{height:100svh;min-height:760px;position:relative;overflow:clip;background:#000;isolation:isolate}.cinema-ready .film-stage{position:sticky;top:0}.film-title{position:absolute;top:10%;left:5%;right:5%;display:flex;justify-content:center;gap:.2em;font:400 clamp(80px,15vw,215px)/1 var(--display);color:var(--teal);z-index:-1}.film-title span{display:inline-block;will-change:transform}.film-window{position:absolute;top:25%;left:50%;width:min(53vh,510px);transform:translateX(-50%);border:1px solid #285959;overflow:hidden;background:#020909;box-shadow:0 0 100px #08a4a715;will-change:transform,border-radius;transform-origin:center}.showcase-film{display:block;width:100%;aspect-ratio:1;object-fit:contain}.film-corner{position:absolute;right:17px;top:10px;font-size:28px;color:#08a4a7;pointer-events:none}.film-caption{position:absolute;bottom:5%;left:5%;right:5%;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;z-index:2}.film-caption h3{font:30px/1.2 var(--display);margin-top:10px}.film-caption p{font-size:13px;line-height:1.9}.film-caption .eyebrow{font-size:11px}.film-caption .text-link{font-size:12px}.film-stage .scene-rings{z-index:-2;width:min(80vw,1000px)}
/* Large type fills as the visitor reads down the page. */
.manifesto{padding-block:150px}.manifesto-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:50px}.manifesto-meta .eyebrow{font-size:11px}.manifesto-star{color:var(--teal);font-size:64px;line-height:1;will-change:transform}.manifesto h2{font:400 clamp(40px,7.6vw,112px)/1.15 var(--display);letter-spacing:-.012em}.ink-line{display:block;color:white}.cinema-ready .ink-line{color:transparent;background:linear-gradient(90deg,#fff 0%,#fff var(--ink,0%),#263333 var(--ink,0%),#263333 100%);background-clip:text;-webkit-background-clip:text}.cinema-ready .ink-line:last-child{background-image:linear-gradient(90deg,#08a4a7 0%,#08a4a7 var(--ink,0%),#193b3b var(--ink,0%),#193b3b 100%)}.manifesto-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:45px;gap:30px}.manifesto-bottom p{max-width:440px;font-size:14px;line-height:1.9}.manifesto-bottom a{font-size:13px}
/* Closing scene echoes the reference's READY / TO composition. */
.end-scene{min-height:880px;height:110svh;max-height:1200px;position:relative;overflow:clip;background:radial-gradient(ellipse at 50% 80%,#083436 0%,#000 70%);isolation:isolate;padding-top:65px}.end-scene>.eyebrow{text-align:center;font-size:11px;color:#9fbbbb}.end-scene h2{position:absolute;left:5%;right:5%;top:18%;display:flex;justify-content:space-between;font:400 clamp(120px,23vw,340px)/1 var(--display);color:var(--teal);letter-spacing:-.03em;z-index:-1}.end-scene h2 span{display:inline-block;will-change:transform}.end-orb{position:absolute;top:45%;left:50%;width:clamp(140px,19vw,260px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:white;color:#000;box-shadow:0 0 0 22px #08a4a7,0 0 0 23px #08a4a77a,0 0 80px #08a4a725;transition:background .3s,color .3s;will-change:transform}.end-orb>span{font-size:clamp(80px,12vw,175px);line-height:1;transition:transform .4s var(--ease)}.end-orb:hover{background:#000;color:var(--teal)}.end-orb:hover>span{transform:rotate(45deg)}.end-copy{position:absolute;left:0;right:0;bottom:14%;text-align:center}.end-copy h3{font:400 clamp(32px,4vw,57px)/1.15 var(--display);margin-bottom:25px}.end-signature{position:absolute;bottom:5%;left:0;right:0;text-align:center;color:#80a0a0;font-size:11px}.end-scene .scene-rings{z-index:-2}.cinema-ready .page-intro{overflow:clip}.cinema-ready .page-title{will-change:transform,opacity}.cinema-ready .identity-art>strong{will-change:transform}.cinema-ready .focus-row{transition:border-color .4s,background .4s}.cinema-ready .focus-row:hover{border-color:var(--teal);background:#08a4a709}
/* Static mode is also the progressive-enhancement fallback. */
body:not(.cinema-ready) .work-stage{height:auto;min-height:0;padding:65px 0 40px}.cinema-static .hero-reel,.cinema-static .work-reel,.cinema-static .film-reel{height:auto}.cinema-static .hero,.cinema-static .work-stage,.cinema-static .film-stage{position:relative}.cinema-static .hero-title,.cinema-static .hero-art,.cinema-static .hero-intro,.cinema-static .hero-note,.cinema-static .page-title,.cinema-static .identity-art>strong{transform:none!important;opacity:1!important}.cinema-static .hero-screen{transform:none}.cinema-static .hero-art{animation:none}.cinema-static .ink-line{color:#fff;background:none}.cinema-static .ink-line:last-child{color:var(--teal)}.cinema-static .reveal{opacity:1!important;transform:none!important}.cinema-static *, .cinema-static *:before, .cinema-static *:after{animation:none!important;transition:none!important}body:not(.cinema-ready) .work-stage .scene-kicker{position:relative;inset:auto;margin:0 5% 25px}body:not(.cinema-ready) .gallery-heading{position:relative;inset:auto;font-size:14vw;margin:25px 0;z-index:auto}body:not(.cinema-ready) .gallery-intro{position:relative;inset:auto;margin:25px 5%}body:not(.cinema-ready) .gallery-link{position:relative;inset:auto;margin:0 5%}body:not(.cinema-ready) .gallery-stage-count{display:none}body:not(.cinema-ready) .gallery-deck{position:relative;inset:auto;display:flex;width:auto;height:auto;gap:22px;padding:20px 5% 40px;overflow-x:auto;scroll-snap-type:x mandatory;perspective:none;transform:none}body:not(.cinema-ready) .reel-card{position:relative;inset:auto;flex:0 0 290px;width:290px;transform:none!important;opacity:1!important;scroll-snap-align:center}body:not(.cinema-ready) .gallery-bottom{position:relative;inset:auto;margin:10px 5% 0;display:flex;justify-content:space-between}body:not(.cinema-ready) .gallery-controls,body:not(.cinema-ready) .gallery-status{display:none}body:not(.cinema-ready) .gallery-instruction{text-align:left}body:not(.cinema-ready) .gallery-instruction:before{content:'Swipe or tab to explore · '}body:not(.cinema-ready) .gallery-instruction>span{display:none}.cinema-static .film-title span{transform:none!important}.cinema-static .film-window{transform:translateX(-50%)!important;border-radius:12px!important}.cinema-static .end-scene h2 span{transform:none!important}.cinema-static .end-orb{transform:translate(-50%,-50%)!important}
@media(min-width:1500px){.cinema-ready .hero-content{margin-top:-120px}.cinema-ready .hero{padding-top:45px}}
@media(max-width:1100px){.cinema-ready .hero-content{margin-top:-60px}.cinema-ready .hero-art{padding-top:20px}.cinema-ready .hero-screen>img{aspect-ratio:1.6}.cinema-ready .hero-title{font-size:21vw}.cinema-ready .hero-intro h2{font-size:50px}.reel-card{width:29vw}.gallery-intro{top:15%}.gallery-stage-count{font-size:65px}.film-title{top:13%}.film-window{width:min(52vh,490px);top:27%}.end-scene{min-height:790px}.end-scene h2{font-size:23vw}.end-orb{top:44%}.end-copy{bottom:16%}}
@media(max-width:760px){.motion-switch{right:12px;bottom:12px;font-size:11px;padding:7px 10px}.cinema-ready .hero-reel{height:165svh}.cinema-ready .hero{min-height:680px;height:100svh;padding-top:28px;overflow:clip}.cinema-ready .hero-title{font-size:22vw;line-height:1.15}.cinema-ready .hero-content{margin-top:0;min-height:0}.cinema-ready .hero-art{width:85%;padding-top:12px;margin-bottom:20px}.cinema-ready .hero-screen>img{aspect-ratio:1.65}.cinema-ready .hero-intro h2{font-size:41px}.cinema-ready .hero-intro h2 br{display:block}.cinema-ready .hero-note{padding:0}.cinema-ready .hero-bottom{bottom:26px;padding:0;font-size:11px}.cinema-ready .hero-orbit{width:520px;top:16%}.cinema-ready .work-reel{height:300svh}.work-stage,.cinema-ready .work-stage{min-height:650px;height:100svh}.scene-kicker{top:5%;font-size:11px;letter-spacing:1.2px;gap:20px}.scene-kicker span:last-child{text-align:right;max-width:120px}.gallery-intro{top:13%}.gallery-intro .eyebrow{font-size:11px}.gallery-intro p:last-child{font-size:12px;margin-top:6px}.gallery-link{font-size:11px;top:13%;gap:12px}.gallery-stage-count{top:22%;font-size:54px}.reel-card{width:62vw;max-width:300px;border-radius:12px}.gallery-deck{top:46%}.gallery-heading{font-size:23vw;bottom:18%;white-space:nowrap}.gallery-bottom{bottom:4%;grid-template-columns:1fr 1fr;gap:15px}.gallery-status .eyebrow{font-size:11px;letter-spacing:1px}.gallery-current{gap:9px}.gallery-current b{font-size:26px}.gallery-current span{font-size:12px}.gallery-controls{gap:9px;justify-content:flex-end}.gallery-dots{gap:4px}.gallery-dots button{width:14px}.gallery-prev,.gallery-next{width:31px;height:31px;font-size:16px}.gallery-instruction{grid-column:1/-1;text-align:center;font-size:11px}.gallery-instruction span{font-size:16px;margin-left:6px}.work-stage .scene-rings{width:140vw;top:55%}.cinema-ready .film-reel{height:190svh}.film-stage{min-height:760px}.film-title{font-size:19vw;top:16%;left:4%;right:4%;gap:.12em}.film-window{width:min(78vw,47vh);top:31%}.film-caption{bottom:5%;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.film-caption h3{font-size:25px}.film-caption p{font-size:11px;text-align:right}.film-caption .text-link{grid-column:1/-1;justify-self:start;font-size:12px}.film-caption .eyebrow{font-size:11px;letter-spacing:1px}.film-stage .scene-rings{width:145vw}.manifesto{padding-block:80px}.manifesto-meta{margin-bottom:30px}.manifesto-meta .eyebrow{font-size:11px}.manifesto-star{font-size:42px}.manifesto h2{font-size:8.1vw;line-height:1.3}.manifesto-bottom{display:block;margin-top:30px}.manifesto-bottom p{font-size:13px;line-height:1.9}.manifesto-bottom .text-link{margin-top:22px;font-size:12px}.end-scene{height:100svh;min-height:740px;padding-top:50px}.end-scene>.eyebrow{font-size:11px}.end-scene h2{font-size:25vw;top:21%;left:5%;right:5%}.end-orb{width:135px;top:45%;box-shadow:0 0 0 14px #08a4a7,0 0 0 15px #08a4a77a,0 0 60px #08a4a725}.end-orb>span{font-size:85px}.end-copy{bottom:13%}.end-copy h3{font-size:35px}.end-signature{bottom:5%;font-size:11px;letter-spacing:1px}.end-scene .scene-rings{width:145vw}body:not(.cinema-ready) .reel-card{flex-basis:72vw;width:72vw}body:not(.cinema-ready) .gallery-heading{font-size:22vw}}
@media(max-height:720px) and (min-width:761px){.cinema-ready .hero-title{font-size:16vw}.cinema-ready .hero-content{margin-top:-80px;grid-template-columns:1fr 1.8fr 1fr;max-width:1050px;margin-inline:auto}.cinema-ready .hero-screen>img{aspect-ratio:2.2}.cinema-ready .hero-intro h2{font-size:48px}.cinema-ready .hero-art{max-width:500px;justify-self:center}.cinema-ready .hero-intro p{margin-bottom:10px}.cinema-ready .hero{min-height:620px}.reel-card{width:min(23vw,290px)}.gallery-deck{top:43%}.film-stage{min-height:660px}.film-window{width:45vh;top:28%}.film-title{font-size:12vw}.film-caption h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ink-line{color:#fff;background:none}.hero-reel,.work-reel,.film-reel{height:auto!important}.hero,.work-stage,.film-stage{position:relative!important}.scroll-meter{display:none}html{scroll-behavior:auto}}
html{scroll-padding-top:0}.reel-card img{height:auto;aspect-ratio:1;object-fit:contain}.cinema-ready .page-title{animation:none}
@media(max-width:760px){.film-caption{grid-template-columns:1.25fr 1fr}.film-caption h3{font-size:22px;line-height:1.16}}
html:has(.cinema-static)::view-transition-old(root),html:has(.cinema-static)::view-transition-new(root){animation:none!important}

/* Horizontal gestures explore the reel; vertical gestures keep native page scrolling. */
.cinema-ready .reel-card{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.cinema-ready .is-dragging .reel-card{cursor:grabbing}
.reel-card img{-webkit-user-drag:none}
.work-reel[hidden]{display:none}

/* Short windows need room for content rather than oversized pinned stages. */
@media(max-height:600px){
  .cinema-ready .hero-reel,.cinema-ready .film-reel{height:auto}
  .cinema-ready .hero{position:relative;height:auto;min-height:0;padding-bottom:32px}
  .cinema-ready .hero-title,.cinema-ready .hero-art,.cinema-ready .hero-intro,.cinema-ready .hero-note,.cinema-ready .hero-orbit{transform:none!important;opacity:1!important}
  .cinema-ready .hero-orbit{transform:translateX(-50%)!important}
  .cinema-ready .hero-bottom{position:relative;inset:auto;margin-top:38px;opacity:1!important}
  .cinema-ready .work-stage{height:100svh;min-height:0}
  .cinema-ready .work-stage .scene-kicker{top:14px}
  .cinema-ready .gallery-intro,.cinema-ready .gallery-link{top:52px}
  .cinema-ready .gallery-intro p:last-child{display:none}
  .cinema-ready .gallery-stage-count{top:26%;font-size:40px}
  .cinema-ready .reel-card{width:min(62vw,46svh,240px)}
  .cinema-ready .reel-card-label{padding:10px 12px}
  .cinema-ready .reel-card-label strong{font-size:13px}
  .cinema-ready .reel-card-label small{font-size:11px}
  .cinema-ready .gallery-deck{top:47%}
  .cinema-ready .gallery-heading{font-size:min(18vw,27svh);bottom:19%}
  .cinema-ready .gallery-bottom{bottom:18px;grid-template-columns:1fr 1fr}
  .cinema-ready .gallery-controls{justify-content:flex-end}
  .cinema-ready .gallery-instruction{display:none}
  .film-stage,.cinema-ready .film-stage{position:relative;height:auto;min-height:0;padding:28px 5% 36px}
  .film-stage .scene-kicker{position:relative;inset:auto}
  .film-title{position:relative;inset:auto;font-size:clamp(60px,14vw,140px);margin:36px 0 24px}
  .film-title span{transform:none!important}
  .film-window,.cinema-static .film-window{position:relative;inset:auto;width:min(70vw,380px);margin:0 auto;transform:none!important;border-radius:12px!important}
  .film-caption{position:relative;inset:auto;margin-top:30px}
  .motion-switch{bottom:8px;right:8px}
  .cinema-ready .work-stage .gallery-bottom{right:calc(5% + 80px)}
}
@media(max-height:600px) and (max-width:400px){
  .cinema-ready .work-stage .gallery-bottom{right:5%;bottom:52px;grid-template-columns:1fr auto;gap:8px}
  .cinema-ready .gallery-status .eyebrow{display:none}
  .cinema-ready .gallery-current{gap:7px}
  .cinema-ready .gallery-dots{gap:3px}
  .cinema-ready .gallery-dots button{width:11px}
  .cinema-ready .gallery-heading{bottom:24%}
}
