/* =========================================================
   CINEMA ENGINE STYLES. Do not edit per client.
   Colors, fonts and sizes come from css/theme.css.
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font-body);font-weight:300;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit}
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.display{font-family:var(--font-display);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;transition:opacity 1s ease,visibility 1s}
.loader.is-done{opacity:0;visibility:hidden}
.loader-mark{width:42px;height:42px;opacity:.9;animation:spin 3.2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- film grain + vignette (the "cinematic" feel) ---------- */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:var(--grain,.07);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ---------- fixed chrome (logo top, tagline bottom) ---------- */
.chrome-top{position:fixed;top:22px;left:0;right:0;z-index:80;display:flex;justify-content:center;pointer-events:none;mix-blend-mode:difference}
.chrome-top a{pointer-events:auto}
.chrome-top svg,.chrome-top img{width:34px;height:34px}
.chrome-bottom{position:fixed;bottom:22px;left:0;right:0;z-index:80;text-align:center;font-size:10px;letter-spacing:.28em;text-transform:uppercase;line-height:1.7;pointer-events:none;mix-blend-mode:difference;color:#fff}

@media (max-width:759px){.chrome-bottom{display:none}}

/* ---------- shared scene stage ---------- */
.scene{position:relative;width:100%}
.stage{position:relative;height:100vh;height:100svh;width:100%;overflow:hidden}

/* ---------- PORTAL ---------- */
.scene-portal{--portal-inset-y:21%;--portal-inset-x:37%;--portal-radius:240px}
@media (max-width:759px){.scene-portal{--portal-inset-y:24%;--portal-inset-x:17%}}
.portal-media{position:absolute;inset:0;overflow:hidden}
.portal-media img,.portal-media video{width:100%;height:100%;object-fit:cover;display:block}
.portal-shade{position:absolute;inset:0;background:var(--shade);display:grid;place-items:center}
.portal-shade span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--shade-ink);text-align:center;line-height:1.8}
.portal-bezel{position:absolute;top:var(--portal-inset-y);bottom:var(--portal-inset-y);left:var(--portal-inset-x);right:var(--portal-inset-x);
  border-radius:var(--portal-radius);pointer-events:none;
  box-shadow:0 0 0 14px var(--bezel),0 0 0 15px rgba(0,0,0,.08),0 40px 120px 40px rgba(0,0,0,.55),inset 0 0 40px rgba(0,0,0,.35)}
.portal-intro{position:absolute;left:0;right:0;top:9vh;text-align:center;z-index:3;padding:0 16px}
.portal-after{position:absolute;inset:auto 0 12vh;text-align:center;z-index:3;padding:0 16px}
.portal-after .display{font-size:clamp(40px,7vw,110px);color:#fff;text-shadow:0 10px 60px rgba(0,0,0,.45)}

/* ---------- PULLBACK ---------- */
.scene-pullback{--pb-from:#0d0c0b;--pb-to:#ecebe6;--pb-h:70vh;--pb-ar:.79;--pb-x:42%}
@media (max-width:759px){.scene-pullback{--pb-h:52vh;--pb-x:50%}}
.pb-art{position:absolute;margin:0;height:var(--pb-h);width:calc(var(--pb-h) * var(--pb-ar));
  top:calc(50% - var(--pb-h) / 2);left:calc(var(--pb-x) - var(--pb-h) * var(--pb-ar) / 2);
  transform-origin:50% 50%;box-shadow:0 1px 1px rgba(0,0,0,.06),0 18px 36px -12px rgba(30,24,16,.35),0 40px 80px -30px rgba(30,24,16,.35)}
.pb-art img{width:100%;height:100%;object-fit:cover}
.pb-wall{position:absolute;inset:0}
.pb-light{position:absolute;inset:-20% 0 0;pointer-events:none;
  background:radial-gradient(ellipse 34vh 62vh at var(--pb-x) 46%,rgba(255,250,238,.85),rgba(255,250,238,0) 70%),
             linear-gradient(transparent 82%,rgba(0,0,0,.07))}
.pb-side{position:absolute;margin:0;box-shadow:0 1px 1px rgba(0,0,0,.06),0 18px 36px -12px rgba(30,24,16,.35)}
.pb-side img{width:100%;height:100%;object-fit:cover}
.pb-side.l{height:calc(var(--pb-h) * .62);aspect-ratio:var(--side-ar,.8);top:calc(50% - var(--pb-h) * .31 - 2vh);right:calc(100% - var(--pb-x) + var(--pb-h) * var(--pb-ar) / 2 + 9vw)}
.pb-side.r{height:calc(var(--pb-h) * .78);aspect-ratio:var(--side-ar,.8);top:calc(50% - var(--pb-h) * .39);left:calc(var(--pb-x) + var(--pb-h) * var(--pb-ar) / 2 + 56px + 300px + 7vw)}
@media (max-width:759px){.pb-side{display:none}}
.pb-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.05) 40%,rgba(0,0,0,.55))}
.pb-intro{position:absolute;left:0;right:0;bottom:12vh;padding:0 6vw;color:#fff;z-index:3}
.pb-label{position:absolute;z-index:3;width:300px;bottom:calc(50% - var(--pb-h) / 2);left:calc(var(--pb-x) + var(--pb-h) * var(--pb-ar) / 2 + 56px);color:var(--pb-ink,#1a1917)}
@media (max-width:759px){.pb-label{left:16px;right:16px;width:auto;bottom:4vh;text-align:center}.scene-pullback{--pb-x:50%}.pb-art{top:calc(44% - var(--pb-h) / 2)}}

/* ---------- DRIFT ---------- */
.drift-bg{position:absolute;inset:-15%;background-size:cover;background-position:center;filter:blur(70px) saturate(1.3);opacity:var(--drift-bg-o,.38);pointer-events:none}
.drift-world{position:absolute;inset:0;z-index:1;perspective:1000px;perspective-origin:50% 50%}
.drift-item{position:absolute;left:50%;top:50%;margin:0;width:var(--drift-w,18vw);will-change:transform,opacity;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.drift-item.is-wide{--drift-w:26vw}
.drift-item.is-small{--drift-w:12vw}
.drift-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.drift-natural .drift-item img{aspect-ratio:auto;height:auto}
@media (max-width:759px){.drift-item{--drift-w:42vw}.drift-item.is-wide{--drift-w:56vw}.drift-item.is-small{--drift-w:30vw}}
.drift-title{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:5;pointer-events:none;padding:0 16px}
.drift-title .display{font-size:clamp(38px,6vw,96px)}
.drift-title::before{content:"";position:absolute;left:50%;top:50%;width:min(900px,120vw);height:min(560px,70vh);transform:translate(-50%,-50%);z-index:-1;opacity:var(--scrim,0);
  background:radial-gradient(ellipse at center,var(--bg) 0%,color-mix(in srgb,var(--bg) 70%,transparent) 45%,transparent 72%)}

/* ---------- ENTER ---------- */
.enter-out,.enter-in{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.enter-in{z-index:1}
.enter-intro,.enter-copy{z-index:4}
.enter-intro{position:absolute;left:0;right:0;bottom:0;text-align:center;z-index:3;padding:24vh 16px 12vh;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.enter-intro .display{font-size:clamp(40px,6.5vw,104px)}
.enter-copy{position:absolute;inset:auto 0 0;z-index:4;padding:30vh 16px 15vh;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff}
.enter-copy .display{font-size:clamp(38px,6vw,96px)}
.enter-copy p{max-width:560px;margin:18px auto 0;color:rgba(255,255,255,.88);line-height:1.7}
.enter-copy .btn{margin-top:26px}

/* ---------- PORTHOLE ---------- */
.scene-porthole{--ph-wall:#e7e1d6;--ph-trim:#f3f0ea;--ph-w:min(36vh,46vw);--ph-h:calc(var(--ph-w) * 1.42);--ph-r:calc(var(--ph-w) * .46)}
.ph-view{position:absolute;inset:0;overflow:hidden}
.ph-view img,.ph-view video{width:100%;height:100%;object-fit:cover;display:block}
.ph-window{position:absolute;width:var(--ph-w);height:var(--ph-h);left:calc(50% - var(--ph-w) / 2);top:calc(50% - var(--ph-h) / 2);transform-origin:50% 50%;will-change:transform}
.ph-hole{position:absolute;inset:0;border-radius:var(--ph-r);overflow:hidden;
  box-shadow:0 0 0 300vmax var(--ph-wall),inset 0 0 0 calc(var(--ph-w) * .035) #d9d3c8,inset 0 calc(var(--ph-w) * .06) calc(var(--ph-w) * .1) rgba(0,0,0,.32)}
.ph-shade{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#f4f0e9,#e2dbcf 92%,#d3ccbf);
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}
.ph-shade::after{content:"";position:absolute;left:50%;bottom:7%;width:22%;height:3.5%;transform:translateX(-50%);border-radius:99px;background:#cfc7b9;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.ph-hint{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#8b8478;text-align:center;line-height:1.8}
.ph-trim{position:absolute;inset:calc(var(--ph-w) * -.12);border-radius:calc(var(--ph-r) + var(--ph-w) * .12);pointer-events:none;
  box-shadow:inset 0 0 0 calc(var(--ph-w) * .12) var(--ph-trim),inset 0 0 0 calc(var(--ph-w) * .125) rgba(0,0,0,.06),0 calc(var(--ph-w) * .06) calc(var(--ph-w) * .22) rgba(40,30,20,.28)}
.ph-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 75% at 50% 48%,rgba(255,250,240,.0) 30%,rgba(60,45,30,.55) 100%)}
.ph-word{position:absolute;z-index:3;font-family:var(--font-display);font-size:clamp(34px,5.6vw,96px);line-height:.95;letter-spacing:-.02em;color:var(--ph-ink,#2b2620);margin:0;white-space:nowrap}
.ph-word.l{left:5vw;top:24vh}
.ph-word.r{right:5vw;bottom:16vh;text-align:right}
.ph-after{position:absolute;inset:auto 0 12vh;z-index:3;text-align:center;color:#fff;padding:0 16px}
@media (max-width:759px){.scene-porthole{--ph-w:min(58vw,34vh)}.ph-word{font-size:11vw}.ph-word.l{top:12vh;left:6vw}.ph-word.r{bottom:12vh;right:6vw}}

/* ---------- LAYERS ---------- */
.scene-layers .stage{overflow:hidden}
.ly{position:absolute;left:0;right:0;will-change:transform}
.ly-img{width:100%;display:block}
.ly-copy{z-index:4;padding:0 6vw}
.ly-copy [data-split]{font-family:var(--font-display);font-size:clamp(28px,4vw,64px);line-height:1.08;letter-spacing:-.015em;margin:0;max-width:1100px}

/* ---------- SHOWCASE ---------- */
.sc-bg1,.sc-bg2{position:absolute;inset:0;background-size:cover;background-position:center}
.sc-bg2{opacity:0}
.sc-obj{position:absolute;left:50%;top:calc(50% - var(--sc-h,88vh) / 2 + 2vh);height:var(--sc-h,88vh);aspect-ratio:var(--sc-ar,400 / 820);margin-left:calc(var(--sc-h,88vh) * var(--sc-arn,.4878) / -2);z-index:2;will-change:transform}
.sc-obj img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.sc-b{opacity:0}
.sc-word{position:absolute;z-index:3;margin:0;font-family:var(--font-display);font-size:clamp(40px,7vw,120px);line-height:.95;letter-spacing:-.02em;color:var(--sc-ink,#1d1d1f)}
.sc-word.l{left:5vw;bottom:20vh}
.sc-word.r{right:5vw;bottom:14vh}
.sc-title{position:absolute;z-index:3;left:6vw;top:14vh}
.sc-specs{position:absolute;z-index:3;right:6vw;top:24vh;width:min(320px,30vw);color:var(--sc-ink,#1d1d1f)}
@media (max-width:759px){.sc-obj{--sc-h:60vh;top:22vh}.sc-word{font-size:13vw}.sc-word.l{bottom:auto;top:16vh}.sc-word.r{bottom:12vh}
  .sc-title{top:11vh}.sc-specs{left:6vw;right:6vw;top:auto;bottom:5vh;width:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}}

/* ---------- GLOBE ---------- */
.scene-globe .stage{background:var(--gl-bg,#0d0b0a);color:var(--gl-ink,#efeae2)}
.gl-word{position:absolute;left:0;bottom:-3vw;white-space:nowrap;font-family:var(--font-display);font-size:30vw;line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.16);pointer-events:none}
.gl-globe{position:absolute;inset:0;width:100%;height:100%}
.gl-route{position:absolute;left:50%;top:18vh;transform:translateX(-50%);display:flex;align-items:flex-start;gap:28px;z-index:3;font-size:clamp(15px,1.4vw,20px)}
.gl-route .from{padding-top:2px;white-space:nowrap}
.gl-route .arrow{padding-top:2px;opacity:.6}
.gl-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.gl-list li{opacity:.28;transition:opacity .4s,transform .4s;white-space:nowrap}
.gl-list li.is-on{opacity:1;transform:translateX(6px)}
.gl-card{position:absolute;z-index:4;top:30vh;width:min(240px,46vw);padding:20px;border-radius:6px;background:#f4f1ea;color:#16130f;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.gl-card b{display:block;font-family:var(--font-display);font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.02em}
.gl-card span{display:block;margin-top:10px;font-size:13px;line-height:1.5;color:#5d574e}

/* ---------- LETTERS ---------- */
[data-chars] .wd{display:inline-block;white-space:nowrap;overflow:hidden;padding:0 .02em .12em;margin-bottom:-.12em;vertical-align:top}
[data-chars] .ch{display:inline-block;will-change:transform,filter}

/* ---------- GATE ---------- */
.gt-panel{position:absolute;inset:0;background:var(--gate-bg,var(--accent))}
.gt-win{position:absolute;left:50%;bottom:0;overflow:hidden;will-change:width,height,transform}
.gt-img{position:absolute;left:0;top:0;width:100vw;height:var(--gate-img-h,150vh);object-fit:cover;max-width:none;
  left:50%;margin-left:-50vw}
.gt-title{position:absolute;inset:0;z-index:3;display:grid;place-content:center;text-align:center;pointer-events:none;color:var(--gate-ink,#fff);padding:0 16px}
.gt-title .display{font-size:clamp(48px,10vw,170px);text-shadow:0 10px 60px rgba(0,0,0,.25)}
.gt-side{position:absolute;z-index:3;top:62%;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gate-ink,#fff)}
.gt-side.l{left:8vw}
.gt-side.r{right:8vw}
@media (max-width:759px){.gt-side{top:70%}.gt-side.l{left:6vw}.gt-side.r{right:6vw}}

/* ---------- DOME ---------- */
.dm-under{position:absolute;inset:0}
.dm-under img{width:100%;height:100%;object-fit:cover}
.dm-circle{position:absolute;left:50%;top:0;width:var(--dome-d,min(80vw,1100px));aspect-ratio:1;border-radius:50%;background:var(--dome-bg,#eef1f2);transform-origin:50% 50%;z-index:2;will-change:transform}
.dm-rim{position:absolute;inset:0;width:100%;height:100%;color:var(--dome-ink,#222);font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase}
.dm-content{position:absolute;inset:0;z-index:3;display:grid;place-content:center;text-align:center;padding:0 16px;color:var(--dome-ink,#222);pointer-events:none}
.dm-content .display{font-size:clamp(40px,7vw,120px);margin:0 0 4vh}
.dm-copy{max-width:520px;margin:0 auto;line-height:1.7}
.dm-thumb{position:absolute;inset:0;z-index:4}
.dm-thumb img{width:100%;height:100%;object-fit:cover}
.dm-after{position:absolute;inset:auto 0 12vh;z-index:5;text-align:center;color:#fff;padding:0 16px}
@media (max-width:759px){.scene-dome{--dome-d:130vw}}

/* ---------- EXPAND ---------- */
.ex-media{position:absolute;inset:0;z-index:1}
.ex-media img,.ex-media video{width:100%;height:100%;object-fit:cover;display:block}
.ex-head{position:absolute;left:0;right:0;top:12vh;z-index:2;text-align:center;padding:0 16px}
.ex-head .display{font-size:clamp(40px,7.5vw,128px)}
.ex-after{position:absolute;inset:auto 0 12vh;z-index:3;text-align:center;color:#fff;padding:0 16px}
.scene-expand .stage{background:var(--expand-bg,var(--bg))}

/* ---------- BOARD ---------- */
.scene-board .stage{background:var(--board-bg,#070b16)}
.bd-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.bd-panel,.bd-thumb{position:absolute;margin:0;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.bd-thumb{opacity:.85}
.bd-thumb img,.bd-panel > img{width:100%;display:block}
.bd-panel{background:var(--board-panel,#e9edf0);color:#1c1c1c;overflow:hidden}
.bd-panel .ch{transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .9s,filter .9s;transform:translateY(110%);opacity:0;filter:blur(6px)}
.bd-panel.is-active .ch{transform:none;opacity:1;filter:none}
.bd-panel [data-in]{transition:opacity .8s .2s,transform .8s .2s cubic-bezier(.16,1,.3,1);opacity:0;transform:translateY(20px)}
.bd-panel.is-active [data-in]{opacity:1;transform:none}
.is-mobile-only{}
.bd-mark{position:absolute;left:0;right:0;top:20px;text-align:center;z-index:5;color:#fff;pointer-events:none}

/* ---------- FLIP ---------- */
.flip-deck{position:absolute;left:50%;top:54%;width:var(--flip-w,min(60vw,960px));aspect-ratio:var(--flip-ar,16/10);transform:translate(-50%,-50%);perspective:1800px}
.flip-card{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.flip-face{position:absolute;inset:0;border-radius:var(--flip-r,18px);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background:#111;box-shadow:0 50px 120px -40px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08)}
.flip-face img{width:100%;height:100%;object-fit:cover;object-position:top center}
.flip-face.back img{object-position:left top}
.flip-face.back{transform:rotateY(180deg)}
.flip-head{position:absolute;left:0;right:0;top:9vh;text-align:center;z-index:3;padding:0 16px}
.flip-head .display{font-size:clamp(30px,4.4vw,68px);display:grid}
.flip-head .display > *{grid-area:1/1;transition:opacity .5s,transform .6s}
.flip-head .say-back{opacity:0;transform:translateY(16px)}
.is-back .flip-head .say-front{opacity:0;transform:translateY(-16px)}
.is-back .flip-head .say-back{opacity:1;transform:none}
.flip-meta{position:absolute;left:0;right:0;bottom:6vh;display:flex;justify-content:center;gap:22px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);z-index:3}
.flip-meta .side-back{display:none}
.is-back .flip-meta .side-front{display:none}
.is-back .flip-meta .side-back{display:inline;color:var(--accent-ink,var(--ink))}
.flip-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 50% at 50% 56%,var(--flip-glow,rgba(200,233,138,.16)),transparent 70%)}
@media (max-width:759px){.flip-deck{--flip-w:90vw;top:50%}.flip-head{top:12vh}.flip-meta{bottom:12vh;flex-wrap:wrap;gap:10px}}

/* ---------- ARCH ---------- */
.arch-panel{position:absolute;inset:0;background:var(--accent);display:grid;place-items:center}
.arch-window{position:relative;overflow:hidden;z-index:2}
.arch-window img{width:100%;height:100%;object-fit:cover}
.arch-label{position:absolute;top:50%;transform:translateY(-50%);font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--accent-ink)}
.arch-label.l{left:28%}
.arch-label.r{right:28%}
.arch-mark{position:absolute;top:23%;left:50%;transform:translateX(-50%);width:18px;height:18px;color:var(--accent-ink)}
@media (max-width:759px){.arch-label.l{left:9%}.arch-label.r{right:9%}.arch-mark{top:21%}}
.arch-copy{position:absolute;inset:auto 0 0;z-index:4;padding:0 16px 19vh;text-align:center;
  background:linear-gradient(transparent,rgba(0,0,0,.55));padding-top:30vh;pointer-events:none}
.arch-copy .display{font-size:clamp(38px,6vw,96px);color:#fff}
.arch-copy p{max-width:520px;margin:18px auto 0;color:rgba(255,255,255,.85);line-height:1.7}

/* ---------- WORDS ---------- */
.scene-words{position:relative;min-height:100vh;padding:18vh 8vw;display:grid;place-items:center;overflow:hidden}
.words-bg{position:absolute;inset:0;z-index:0}
.words-bg img{width:100%;height:100%;object-fit:cover;opacity:var(--words-bg-o,.3)}
.words-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.35),var(--bg) 85%)}
.scene-words > :not(.words-bg){position:relative;z-index:1}
.scene-words [data-split]{font-family:var(--font-display);font-size:clamp(28px,4.2vw,64px);line-height:1.18;max-width:1100px;margin:0;text-align:center}

/* ---------- HORIZONTAL ---------- */
.h-ghost{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;pointer-events:none;
  font-family:var(--font-display);font-size:26vw;line-height:1;color:transparent;-webkit-text-stroke:2px var(--ghost,rgba(255,255,255,.16))}
.h-track{position:relative;z-index:1;display:flex;gap:4vw;height:100%;align-items:center;padding:0 8vw;width:max-content;will-change:transform}
.h-panel{flex:0 0 auto;margin:0}
.h-panel .h-img{overflow:hidden;height:min(68vh,62vw);aspect-ratio:7/5}
.h-panel img{width:116%;max-width:none;height:100%;object-fit:cover;margin-left:-8%}
.h-panel figcaption{display:flex;justify-content:space-between;margin-top:14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.h-intro{flex:0 0 auto;width:min(36vw,440px)}
.h-intro .display{font-size:clamp(36px,5vw,76px)}
@media (max-width:759px){.h-panel .h-img{height:auto;width:80vw;aspect-ratio:4/5}.h-intro{width:78vw}.h-ghost{font-size:60vw}}

/* ---------- look (head follows the cursor) ---------- */
.scene-look{position:relative;min-height:100vh;display:grid;align-items:center;padding:12vh 6vw 8vh;overflow:hidden}
.look-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw;width:100%;max-width:1400px;margin:0 auto}
.look-fig{position:relative;width:100%;max-width:620px;aspect-ratio:var(--look-ar,4/5);justify-self:center}
.look-fig>img,.look-fig>canvas,.look-fig>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.look-fig.feather{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 46%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 46%,#000 62%,transparent 100%)}
.look-canvas{opacity:0;transition:opacity .5s ease}
.look-intro{opacity:0;transition:opacity .35s ease}
.is-intro .look-intro{opacity:1}
.is-looking .look-canvas{opacity:1}
.is-looking .look-intro{opacity:0}
@media (max-width:759px){.look-layout{grid-template-columns:1fr;gap:20px}.look-fig{order:-1;max-width:78vw}}
video[data-play-once]{display:block;width:100%;height:auto}

/* ---------- CTA / footer ---------- */
.cta{min-height:100vh;display:grid;place-content:center;text-align:center;padding:12vh 16px;gap:28px}
.cta .display{font-size:clamp(44px,8vw,130px)}
.btn{display:inline-block;justify-self:center;padding:18px 34px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:11px;letter-spacing:.3em;text-transform:uppercase;transition:background .4s,color .4s}
.btn:hover{background:var(--ink);color:var(--bg)}
.site-foot{padding:40px 16px 90px;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* ---------- reduced motion / no JS: everything static and readable ---------- */
.is-reduced .flip-glow,.is-reduced .flip-head .say-back,.is-reduced .flip-meta,.is-reduced .enter-out,.is-reduced .enter-intro,.is-reduced .drift-bg,.is-reduced .h-ghost,.is-reduced .pb-veil,.is-reduced .grain,.is-reduced .loader,.is-reduced .portal-shade,.is-reduced .portal-bezel,.is-reduced .portal-intro,.is-reduced .arch-label,.is-reduced .arch-mark{display:none}
.is-reduced .drift-stage{height:auto;padding:18vh 6vw}
.is-reduced .drift-world{position:static;perspective:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.is-reduced .drift-item{position:static;transform:none;width:auto}
.is-reduced .drift-title{position:static;margin-bottom:40px}
.is-reduced .arch-window{width:100vw;height:100vh}
.is-reduced .scene-horizontal .stage{height:auto;overflow-x:auto;padding:12vh 0}
.is-reduced .scene-pullback .stage{height:auto;min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:36px;padding:14vh 6vw 10vh;background:var(--pb-to)}
.is-reduced .pb-intro{order:-1;position:relative;inset:auto;padding:0;text-align:center;color:var(--pb-ink,#1a1917);text-shadow:none}
.is-reduced .pb-intro .eyebrow{color:var(--muted)}
.is-reduced .pb-wall{position:relative;inset:auto;width:100%;display:flex;align-items:center;justify-content:center;gap:5vw}
.is-reduced .pb-art,.is-reduced .pb-side{position:relative;inset:auto;flex:0 0 auto}
.is-reduced .pb-light{display:none}
.is-reduced .pb-label{position:relative;inset:auto;width:auto;max-width:440px;text-align:center}
@media (max-width:759px){.is-reduced .pb-side{display:none}}
.is-reduced .chrome-bottom{display:none}
.is-reduced .scene-flip .stage{height:auto;padding:16vh 6vw 10vh}
.is-reduced .flip-head{position:relative;inset:auto;margin-bottom:40px}
.is-reduced .flip-deck{position:relative;left:auto;top:auto;transform:none;width:auto;aspect-ratio:auto;perspective:none;display:grid;gap:40px}
.is-reduced .flip-card{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.is-reduced .flip-face{position:relative;inset:auto;aspect-ratio:var(--flip-ar,16/10)}
.is-reduced .flip-face.back{transform:none}
@media (max-width:759px){.is-reduced .flip-card{grid-template-columns:1fr}}

/* reduced motion: porthole, layers, showcase, globe */
.is-reduced .ph-window,.is-reduced .ph-vignette,.is-reduced .ph-hint{display:none}
.is-reduced .scene-layers .stage{height:auto;min-height:100vh;padding:16vh 0}
.is-reduced .ly{transform:none !important}
.is-reduced .ly-copy{position:relative}
.is-reduced .sc-word,.is-reduced .gl-globe,.is-reduced .gl-card{display:none}
.is-reduced .scene-showcase .stage{min-height:100vh}
.is-reduced .scene-globe .stage{height:auto;min-height:70vh}
.is-reduced .sc-bg2{opacity:1}

/* reduced motion: gate, dome, expand, board */
.is-reduced .gt-win{left:0;width:100%;height:100vh;transform:none}
.is-reduced .gt-img{height:100%}
.is-reduced .dm-circle,.is-reduced .dm-under{display:none}
.is-reduced .scene-dome .stage{height:auto;min-height:100vh;background:var(--dome-bg,#eef1f2)}
.is-reduced .dm-content{position:relative;padding:14vh 16px 6vh}
.is-reduced .dm-thumb{position:relative;height:70vh}
.is-reduced .ex-head{position:relative;top:auto;padding:14vh 16px 6vh}
.is-reduced .scene-expand .stage{height:auto}
.is-reduced .ex-media{position:relative;height:80vh}
.is-reduced .scene-board .stage{height:auto;padding:12vh 6vw}
.is-reduced .bd-world{position:static;transform:none;display:grid;gap:40px}
.is-reduced .bd-panel{position:relative;left:auto !important;top:auto !important;width:auto !important;max-width:900px;margin:0 auto}
.is-reduced .bd-thumb{display:none}
.is-reduced .bd-panel .ch,.is-reduced .bd-panel [data-in]{transform:none;opacity:1;filter:none}

/* reduced motion: look (the still poster shows, nothing moves) */
.is-reduced .look-canvas,.is-reduced .look-intro{display:none}
