/* Offset Media — Deep Spectrum
   Layout: one long film reel. Pinned set pieces separated by full-bleed type. Dark by design. */
:root{
  --void:#07060D; --night:#15122A; --line:rgba(238,234,244,.16);
  --bone:#EEEAF4; --mute:#B9B3CA;
  --cobalt:#2B4BFF; --uv:#7B3BFF; --magenta:#FF2E8A; --teal:#19C2C2;
  --spec:linear-gradient(180deg,var(--cobalt),var(--uv) 52%,var(--magenta));
  --f-disp:'Big Shoulders Display','Oswald','Arial Narrow',Impact,sans-serif;
  --f-body:'Inter Tight','Helvetica Neue',Arial,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --gl:max(16px,env(safe-area-inset-left,0px));
  --gr:max(16px,env(safe-area-inset-right,0px));
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html,body{background:var(--void);color:var(--bone);overflow-x:clip;margin:0}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--void)}
[hidden]{display:none!important}
a{color:inherit}
img{max-width:100%;display:block}
picture{display:block}
picture img{width:100%;height:100%;object-fit:cover}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}
::selection{background:var(--magenta);color:var(--void)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--bone);color:var(--void);padding:12px 16px;border-radius:8px}
.skip:focus{left:var(--gl)}
.wrap{max-width:1440px;margin:0 auto;padding-left:max(var(--gl),3vw);padding-right:max(var(--gr),3vw)}
.disp{font-family:var(--f-disp);font-weight:900;text-transform:uppercase;line-height:.82;letter-spacing:-.01em;margin:0;text-wrap:balance}
.lbl{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.spec{background:var(--spec);-webkit-background-clip:text;background-clip:text;color:transparent}
.rec{color:var(--magenta)}
.sel{user-select:all}
.ph{color:var(--mute);font-style:italic}
.eyebrow{display:flex;gap:14px;align-items:center;margin-bottom:32px}
.eyebrow i{width:46px;height:2px;background:var(--spec)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 26px;border-radius:999px;font:600 16px/1 var(--f-body);text-decoration:none;border:1.5px solid var(--bone);color:var(--bone);background:transparent;cursor:pointer;transition:transform 160ms var(--ease-out),background .25s,color .25s}
.btn:active{transform:scale(.97)}
.btn.hot{background:var(--magenta);border-color:var(--magenta);color:var(--void)}
@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--bone);color:var(--void)}.btn.hot:hover{background:var(--bone);border-color:var(--bone)}}

/* grain */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:70;opacity:.08;mix-blend-mode:overlay;
  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='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain .9s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}}

/* page curtain */
.curtain{position:fixed;inset:0;z-index:95;background:var(--void);display:flex;align-items:center;justify-content:center;transform:translateY(0);pointer-events:none}
.curtain .cmark{font-family:var(--f-disp);font-weight:300;font-size:clamp(64px,12vw,160px);line-height:.8;background:var(--spec);-webkit-background-clip:text;background-clip:text;color:transparent}
.js .curtain{transition:transform .7s var(--ease-io)}
.js.ready .curtain{transform:translateY(-101%)}
.js.leaving .curtain{transform:translateY(0);transition-duration:.38s}
html:not(.js) .curtain{display:none}

/* nav */
.nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;padding:16px var(--gr) 16px var(--gl);display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none;transition:transform .45s var(--ease-out)}
.nav>*{pointer-events:auto}
.nav.hide{transform:translateY(-110%)}
.logo,.foot-logo{display:flex;align-items:stretch;gap:5px;text-decoration:none}
.logo b,.foot-logo b{font-family:var(--f-disp);font-weight:300;font-size:36px;line-height:.8;background:var(--spec);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo span,.foot-logo span{writing-mode:vertical-rl;font-weight:600;font-size:6.5px;letter-spacing:.45em;color:var(--teal)}
.links{display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:rgba(7,6,13,.45);border:1px solid rgba(238,234,244,.14);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.links a{font-size:14px;font-weight:500;text-decoration:none;padding:10px 14px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center;transition:background .2s}
.links a[aria-current]{background:rgba(238,234,244,.12)}
.links a.cta{background:var(--magenta);color:var(--void);font-weight:600}
@media (hover:hover) and (pointer:fine){.links a:hover{background:rgba(238,234,244,.12)}.links a.cta:hover{background:var(--bone)}}
.menu-btn{display:none;align-items:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid rgba(238,234,244,.2);background:rgba(7,6,13,.55);color:var(--bone);font:600 15px var(--f-body);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer}
.menu-btn i{position:relative;width:18px;height:10px}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .3s var(--ease-out)}
.menu-btn i::before{top:0}.menu-btn i::after{bottom:0}
.menu-btn[aria-expanded="true"] i::before{transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i::after{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:860px){.links{display:none}.menu-btn{display:inline-flex}}
.menu{position:fixed;inset:0;z-index:45;background:var(--void);padding:calc(110px + env(safe-area-inset-top,0px)) var(--gr) calc(28px + env(safe-area-inset-bottom,0px)) var(--gl);display:flex;flex-direction:column;justify-content:space-between;overflow:auto}
.menu nav{display:flex;flex-direction:column}
.mlink{font-family:var(--f-disp);font-weight:900;text-transform:uppercase;font-size:clamp(56px,16vw,120px);line-height:.95;text-decoration:none;border-bottom:1px solid var(--line);padding:6px 0}
.mlink.hot{color:var(--magenta)}
.menu-foot{display:flex;flex-direction:column;gap:12px;margin-top:32px;font-size:16px}
.menu-foot .soc,.foot-cols div{display:flex;flex-direction:column;gap:6px}
.menu-foot .soc{flex-direction:row;gap:20px}
.menu-foot a,.foot a{text-decoration:none;min-height:24px}

/* cursor */
.cur{position:fixed;left:0;top:0;z-index:80;pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;mix-blend-mode:difference;transition:width .25s var(--ease-out),height .25s var(--ease-out),margin .25s var(--ease-out);display:none;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:#000}
.cur.big{width:86px;height:86px;margin:-43px 0 0 -43px}
@media (hover:hover) and (pointer:fine){.cur{display:flex}}

/* reveal (content stays visible without JS) */
.js [data-rise]{opacity:0;transform:translateY(28px)}
.js [data-rise].is-in{opacity:1;transform:none;transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:64px calc(28px + env(safe-area-inset-bottom,0px))}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot-logo b{font-size:clamp(84px,14vw,200px)}
.foot-logo span{font-size:clamp(10px,1.4vw,18px)}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:48px;font-size:15px}
.foot-cols .lbl{margin-bottom:6px}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;font-size:13px;color:var(--mute)}
@media (max-width:760px){.foot-cols{grid-template-columns:minmax(0,1fr);gap:28px}}

/* page head (inner pages) */
.phead{padding-block:calc(150px + env(safe-area-inset-top,0px)) 48px}
.phead h1{font-size:clamp(84px,15vw,250px)}
.phead p{font-size:clamp(18px,1.8vw,22px);max-width:560px;margin:24px 0 0;color:#D8D4E2}
.phead-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

/* ============================== HOME ============================== */
#loader{position:fixed;inset:0;z-index:96;background:var(--void);display:flex;flex-direction:column;justify-content:space-between;padding:calc(24px + env(safe-area-inset-top,0px)) var(--gr) calc(24px + env(safe-area-inset-bottom,0px)) var(--gl)}
#loader .count{font-family:var(--f-disp);font-weight:900;font-size:clamp(120px,26vw,380px);line-height:.8;align-self:flex-end;font-variant-numeric:tabular-nums}
#loader .row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
#loader .bar{height:2px;background:var(--line);position:relative;overflow:hidden}
#loader .bar i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--spec)}
html:not(.js) #loader{display:none}

.stage{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}
#gl,.hero-fallback{position:absolute;inset:0;width:100%;height:100%}
.hero-fallback img{object-position:50% 35%}
.js .hero-dim{opacity:.35}
.hero-dim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,.55),rgba(7,6,13,.15) 40%,rgba(7,6,13,.7));pointer-events:none}
.collage .card picture,.mchip picture{height:100%}
.collage .c4 img{object-position:50% 20%}
.collage .card{position:absolute;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.55);will-change:transform}
.c1{left:2%;top:10%;width:26%;aspect-ratio:3/4}.c2{left:23%;top:50%;width:19%;aspect-ratio:2/3}
.c3{left:40%;top:5%;width:29%;aspect-ratio:4/3}.c4{left:64%;top:42%;width:20%;aspect-ratio:3/4}
.c5{left:83%;top:7%;width:16%;aspect-ratio:3/5}.c6{left:45%;top:58%;width:17%;aspect-ratio:2/3}
.hero-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;white-space:nowrap;font-size:18.6vw;color:#fff;mix-blend-mode:difference;pointer-events:none}
.hero-title .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero-title .ch{display:inline-block}
.hero-title .wd{display:inline-block;white-space:nowrap}
.hero-line{position:absolute;left:0;right:0;bottom:11%;text-align:center;font-size:clamp(26px,3.6vw,58px);color:#fff;mix-blend-mode:difference;padding:0 var(--gr) 0 var(--gl)}
.hero-meta{position:absolute;left:var(--gl);right:var(--gr);top:calc(96px + env(safe-area-inset-top,0px));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hero-foot{position:absolute;left:var(--gl);right:var(--gr);bottom:calc(22px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hero-foot .lbl,.hero-meta .lbl{color:#E6E1F0;text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:760px){
  .c1{left:-8%;top:9%;width:60%;aspect-ratio:3/4}.c2{left:54%;top:6%;width:52%;aspect-ratio:2/3}
  .c3{left:2%;top:44%;width:66%;aspect-ratio:4/3}.c4{left:50%;top:52%;width:58%;aspect-ratio:3/4}
  .c5{left:-6%;top:68%;width:46%;aspect-ratio:2/3}.c6{left:60%;top:28%;width:44%;aspect-ratio:2/3}
  .collage .card{border-radius:12px}
  .hero-title{white-space:normal;font-size:31vw;line-height:.78}
}

#manifesto{position:relative;overflow:hidden;isolation:isolate;padding-block:22vh 18vh}
#manifesto p{font-family:var(--f-disp);font-weight:800;text-transform:uppercase;font-size:clamp(40px,6.6vw,112px);line-height:.92;margin:0;max-width:1300px}
#manifesto p .w{display:inline-block;margin-right:.18em}
#manifesto p .hot{color:var(--magenta)}
.mchip{display:inline-block;height:.78em;width:1.7em;border-radius:.39em;overflow:hidden;vertical-align:-.02em;margin-right:.18em}
.mbg{position:absolute;inset:0;z-index:-1;opacity:.18}
.mbg picture{height:100%}
.mbg img{filter:blur(2px) saturate(.6)}
.mbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--void),rgba(7,6,13,.4) 40%,rgba(7,6,13,.4) 60%,var(--void))}

#reel{position:relative;overflow:hidden}
.reel-pin{height:100vh;height:100svh;min-height:620px;display:flex;flex-direction:column;justify-content:center;gap:4vh;padding-block:90px 40px}
.reel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.reel-head h2{font-size:clamp(64px,10vw,170px)}
.track{display:flex;gap:2.2vw;padding-left:max(var(--gl),3vw);padding-right:max(var(--gr),3vw);width:max-content}
.wcard{position:relative;flex:0 0 auto;width:min(40vw,620px);height:58vh;min-height:360px;border-radius:20px;overflow:hidden;text-decoration:none;background:var(--night)}
.wcard.tall{width:min(30vw,460px)}
.wcard .im{position:absolute;inset:-8% -14%}
.wcard .im picture{height:100%}
.wcard .im img{transition:transform .8s var(--ease-out),filter .6s}
.wcard .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,0) 45%,rgba(7,6,13,.85))}
.wcard .info{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.wcard .info h3{font-size:clamp(40px,4.6vw,76px)}
.wcard .num{position:absolute;top:18px;left:22px;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:#fff;background:rgba(7,6,13,.55);padding:6px 10px;border-radius:999px}
@media (hover:hover) and (pointer:fine){.wcard:hover .im img{transform:scale(1.06);filter:saturate(1.15) contrast(1.05)}}
.progress{height:2px;background:var(--line);margin-top:2vh;position:relative}
.progress i{position:absolute;inset:0;background:var(--spec);transform-origin:left;transform:scaleX(.02)}
@media (max-width:760px){.wcard,.wcard.tall{width:78vw;height:56vh}}

#zoom .zstage{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden}
.zword{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:23vw;color:#fff;mix-blend-mode:difference;z-index:2;pointer-events:none;white-space:nowrap}
.zframe{position:absolute;inset:0;clip-path:inset(22% 34% round 22px);will-change:clip-path}
.zframe picture{height:100%}
.zframe img{object-position:52% 50%}
.zcap{position:absolute;left:var(--gl);right:var(--gr);bottom:calc(28px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;z-index:3}
.zcap p{margin:0;font-family:var(--f-disp);font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.4vw,54px);line-height:.92;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.6);max-width:640px}
@media (max-width:760px){.zframe{clip-path:inset(28% 18% round 18px)}}

#files{position:relative;padding-top:14vh}
.files-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:6vh}
.files-head h2{font-size:clamp(72px,12vw,210px)}
.file{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;padding:12px}
.fin{position:relative;height:100%;border-radius:24px;overflow:hidden;background:var(--night);transform-origin:50% 0;will-change:transform;display:block;text-decoration:none}
.fimg{position:absolute;inset:0}
.fimg picture{height:100%}
.fimg img{transform:scale(1.15);will-change:transform}
.fshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,.25),rgba(7,6,13,0) 35%,rgba(7,6,13,.85))}
.ftxt{position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);bottom:clamp(24px,5vh,64px);display:flex;flex-direction:column;gap:16px;color:#fff}
.ftxt h3{font-size:clamp(84px,15vw,260px)}
.ftxt p{margin:0;max-width:520px;font-size:18px;line-height:1.5}
.ftag{color:#fff}
.fno{position:absolute;top:clamp(20px,4vh,40px);right:clamp(20px,4vw,48px);font-size:clamp(48px,6vw,96px);color:#fff;opacity:.85}
.fgo{align-self:flex-start;margin-top:8px}

#cats{padding-block:14vh;border-block:1px solid var(--line);overflow:hidden}
.mrow{display:flex;white-space:nowrap;will-change:transform}
.mrow .seg{display:flex;flex:0 0 auto;align-items:center}
.mword{font-family:var(--f-disp);font-weight:900;text-transform:uppercase;font-size:clamp(84px,14vw,240px);line-height:.95;padding:0 .12em;text-decoration:none;color:var(--bone);transition:color .25s}
.mword.out{color:transparent;-webkit-text-stroke:2px var(--bone)}
@media (hover:hover) and (pointer:fine){.mword:hover{color:var(--magenta);-webkit-text-stroke:0}}
.mimg{display:inline-block;height:.62em;width:1.15em;border-radius:999px;overflow:hidden;margin:0 .22em;font-size:clamp(84px,14vw,240px);flex:0 0 auto}
.mimg picture{height:100%}
.peek{position:fixed;left:0;top:0;width:280px;height:360px;margin:-180px 0 0 -140px;border-radius:16px;overflow:hidden;pointer-events:none;z-index:40;opacity:0;transition:opacity .3s;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.peek.on{opacity:1}
.peek img{width:100%;height:100%;object-fit:cover}

#stills{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden}
#stills .copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;pointer-events:none;z-index:3;padding:0 var(--gr) 0 var(--gl)}
#stills h2{font-size:clamp(70px,12vw,210px);color:#fff;mix-blend-mode:difference}
#stills .btn{pointer-events:auto;background:rgba(7,6,13,.5)}
.trail{position:absolute;width:clamp(150px,17vw,260px);aspect-ratio:3/4;border-radius:12px;overflow:hidden;pointer-events:none;z-index:2;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.trail img{width:100%;height:100%;object-fit:cover}
.seed{position:absolute;width:clamp(140px,15vw,230px);aspect-ratio:3/4;border-radius:12px;overflow:hidden;z-index:1;opacity:.9}
.seed picture{height:100%}

/* BTS film strip */
#bts{padding-block:16vh 6vh;overflow:hidden}
.bts-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:6vh}
.bts-head h2{font-size:clamp(72px,11vw,190px)}
.bts-head p{max-width:420px;font-size:18px;margin:0;color:#D8D4E2}
.strip{position:relative;background:#0D0B18;padding-block:34px;border-block:1px solid var(--line)}
.strip::before,.strip::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(90deg,rgba(238,234,244,.32) 0 18px,transparent 18px 40px);border-radius:2px}
.strip::before{top:10px}.strip::after{bottom:10px}
.strip-track{display:flex;gap:14px;padding-inline:max(var(--gl),3vw);width:max-content;will-change:transform}
.sframe{margin:0;flex:0 0 auto;width:clamp(260px,30vw,480px)}
.sframe-in{display:block;width:100%;aspect-ratio:3/2;border:0;padding:0;border-radius:6px;overflow:hidden;cursor:zoom-in;background:var(--night)}
.sframe-in picture{height:100%}
.sframe-in img{filter:saturate(.9) contrast(1.05);transition:transform .8s var(--ease-out),filter .5s}
.sframe figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#FFB27A}
.sframe figcaption span:last-child{color:var(--mute)}
@media (hover:hover) and (pointer:fine){.sframe-in:hover img{transform:scale(1.05);filter:saturate(1.1) contrast(1.08)}}
@media (max-width:760px){.strip{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.strip::-webkit-scrollbar{display:none}.sframe{width:72vw;scroll-snap-align:center}.sframe-in{aspect-ratio:4/5}}

/* CREW */
#crew{padding-block:14vh 16vh}
.crew-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:6vh}
.crew-head h2{font-size:clamp(72px,11vw,190px)}
.crew-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-inline:max(var(--gl),3vw);max-width:1440px;margin:0 auto;perspective:1200px}
.mate{aspect-ratio:3/4}
.mate-in{position:relative;height:100%;border-radius:20px;overflow:hidden;background:radial-gradient(90% 70% at 30% 10%,#1C1A4A 0%,rgba(28,26,74,0) 70%),radial-gradient(80% 60% at 90% 100%,#3A0F2E 0%,rgba(58,15,46,0) 70%),var(--night);transform-style:preserve-3d;transition:transform .5s var(--ease-out);will-change:transform}
.mate-ini{position:absolute;right:-.06em;top:-.12em;font-size:clamp(200px,22vw,360px);line-height:1;opacity:.9;transform:translateZ(40px)}
.mate-ph{position:absolute;left:18px;top:18px;color:var(--mute);font-size:11px}
.mate-txt{position:absolute;left:20px;right:20px;bottom:18px;transform:translateZ(60px)}
.mate-txt h3{font-size:clamp(40px,3.6vw,64px);color:#fff}
.mate-txt span{color:#D8D4E2;font-size:15px}
@media (max-width:860px){.crew-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.crew-row::-webkit-scrollbar{display:none}.mate{flex:0 0 74vw;scroll-snap-align:center}}

#logos{position:relative;isolation:isolate;overflow:hidden;padding-block:16vh 14vh}
.lbg{position:absolute;inset:-10% 0;z-index:-1}
.lbg picture{height:100%}
.lbg::after{content:"";position:absolute;inset:0;background:rgba(7,6,13,.8)}
.clients{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5vw;align-items:start}
.cside{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:28px}
.cside h2{font-size:clamp(64px,8vw,150px)}
.cframe{position:relative;aspect-ratio:4/5;max-height:58vh;border-radius:20px;overflow:hidden;background:var(--night);box-shadow:0 40px 90px rgba(0,0,0,.5)}
.cframe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease-out),transform 1.2s var(--ease-out)}
.ccap{position:absolute;left:16px;bottom:14px;color:#fff;background:rgba(7,6,13,.6);padding:6px 10px;border-radius:999px}
.clist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.crow{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease-out)}
.cnum{font-family:var(--f-mono);font-size:12px;color:var(--mute)}
.cname{font-size:clamp(40px,4.8vw,92px);line-height:.9;color:rgba(238,234,244,.42);transition:color .3s}
.ctag{font-size:14px;color:var(--mute);text-align:right}
.cthumb{display:none}
.crow.on .cname{color:var(--bone)}
.crow.on .cnum{color:var(--magenta)}
@media (hover:hover) and (pointer:fine){.crow:hover{padding-left:14px}}
@media (max-width:900px){
  .clients{grid-template-columns:minmax(0,1fr);gap:40px}
  .cside{position:relative;top:0}
  .cframe{display:none}
  .crow{grid-template-columns:minmax(0,1fr) 84px;gap:14px;padding:14px 0}
  .cnum,.ctag{display:none}
  .cname{font-size:clamp(38px,11vw,64px)}
  .cthumb{display:block;width:84px;aspect-ratio:1;border-radius:14px;overflow:hidden;opacity:.5;transform:scale(.9);transition:opacity .35s,transform .45s var(--ease-out)}
  .cthumb picture{height:100%}
  .crow.on .cthumb{opacity:1;transform:scale(1)}
}

#cta{position:relative;overflow:hidden;isolation:isolate;padding-block:18vh 12vh}
.cbg{position:absolute;inset:0;z-index:-1;clip-path:circle(8% at 50% 60%);will-change:clip-path}
.cbg picture{height:100%}
.cbg img{object-position:50% 30%}
.cbg::after{content:"";position:absolute;inset:0;background:rgba(7,6,13,.45)}
#cta .big{font-size:clamp(90px,21vw,360px);white-space:nowrap;display:block;color:#fff;mix-blend-mode:difference}
#cta .r1{padding-left:2vw}
#cta .r2{text-align:right;padding-right:2vw}
.cta-row{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;margin-top:7vh}
.mag{display:inline-flex;align-items:center;justify-content:center;width:190px;height:190px;border-radius:50%;background:var(--magenta);color:var(--void);font-weight:700;font-size:17px;text-decoration:none;text-align:center;will-change:transform}
.contact-mini{display:flex;flex-direction:column;gap:10px;font-size:18px}
.contact-mini .sel{font-family:var(--f-mono);font-size:15px}

/* ============================== WORK ============================== */
.filters{display:flex;flex-direction:column;gap:12px;padding-bottom:40px}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.frow .lbl{min-width:90px}
.pill{font:500 15px var(--f-body);min-height:44px;padding:10px 20px;border-radius:999px;border:1.5px solid rgba(238,234,244,.4);background:transparent;color:var(--bone);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform 160ms var(--ease-out)}
.pill:active{transform:scale(.97)}
.pill[aria-pressed="true"]{background:var(--bone);color:var(--void);border-color:var(--bone)}
.wgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;padding-bottom:16vh}
.witem{position:relative;grid-column:span 4;border-radius:18px;overflow:hidden;background:var(--night);text-decoration:none;color:#fff;aspect-ratio:4/5;display:block;border:0;padding:0;cursor:pointer;font:inherit;text-align:left}
.witem.big{grid-column:span 8;aspect-ratio:16/10}
.witem picture{position:absolute;inset:0;height:100%}
.witem img{transition:transform .9s var(--ease-out)}
.witem .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,0) 45%,rgba(7,6,13,.85))}
.witem .wi{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.witem h3{font-size:clamp(38px,4vw,72px)}
.witem .lbl{color:#fff}
.witem .badge{position:absolute;top:16px;left:16px;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:rgba(7,6,13,.6);color:#fff;padding:6px 10px;border-radius:999px}
.witem[hidden]{display:none}
@media (hover:hover) and (pointer:fine){.witem:hover img{transform:scale(1.05)}}
@media (max-width:900px){.witem,.witem.big{grid-column:span 12;aspect-ratio:4/5}.witem.big{aspect-ratio:4/5}}
@media (min-width:600px) and (max-width:900px){.witem{grid-column:span 6}.witem.big{grid-column:span 12;aspect-ratio:16/11}}
.wempty{grid-column:1/-1;font-size:18px;padding:40px 0}

/* lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgba(7,6,13,.96);display:flex;align-items:center;justify-content:center;padding:calc(70px + env(safe-area-inset-top,0px)) var(--gr) calc(70px + env(safe-area-inset-bottom,0px)) var(--gl)}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;touch-action:pinch-zoom}
.lb-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:var(--gr);min-height:48px;padding:0 20px}
.lb-cap{position:absolute;left:var(--gl);bottom:calc(22px + env(safe-area-inset-bottom,0px))}

/* ============================== CASE STUDY ============================== */
.chero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden}
.chero picture{position:absolute;inset:0;height:100%}
.chero img{will-change:transform}
.chero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,.4),rgba(7,6,13,0) 30%,rgba(7,6,13,.9))}
.chero .ct{position:absolute;left:0;right:0;bottom:calc(36px + env(safe-area-inset-bottom,0px))}
.chero h1{font-size:clamp(90px,17vw,300px);color:#fff}
.chero .lbl{color:#fff}
.chero .hook{font-size:clamp(18px,1.8vw,24px);max-width:620px;margin:20px 0 0;color:#fff}
.back{display:flex;width:max-content;margin-bottom:20px;font-size:15px;text-decoration:none;min-height:44px;align-items:center}
.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin-block:64px}
.meta div{padding:22px 0;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line)}
.meta strong{font-size:18px}
@media (max-width:760px){.meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
.story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding-bottom:12vh}
.story h2{font-size:clamp(40px,4vw,64px);margin-bottom:16px}
.story p{margin:0;font-size:18px;line-height:1.6;color:#D8D4E2}
@media (max-width:860px){.story{grid-template-columns:minmax(0,1fr);gap:40px}}
.series-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.series-head h2{font-size:clamp(56px,7vw,120px)}
.series{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;padding-bottom:12vh}
.sitem{grid-column:span 3;aspect-ratio:4/5;border-radius:16px;overflow:hidden;position:relative;background:var(--night);border:0;padding:0;cursor:zoom-in}
.sitem.wide{grid-column:span 6;aspect-ratio:16/9}
.sitem.tall{grid-column:span 3;grid-row:span 2;aspect-ratio:auto}
.sitem picture{position:absolute;inset:0;height:100%}
.sitem .lbl{position:absolute;left:14px;bottom:12px;color:#fff;background:rgba(7,6,13,.55);padding:6px 10px;border-radius:999px}
@media (max-width:760px){.sitem,.sitem.tall{grid-column:span 6;aspect-ratio:4/5;grid-row:auto}.sitem.wide{aspect-ratio:4/5}}
.result{padding-block:10vh;border-top:1px solid var(--line)}
.result p{font-family:var(--f-disp);font-weight:800;text-transform:uppercase;font-size:clamp(36px,5vw,84px);line-height:.95;margin:16px 0 0;max-width:1200px}
.next{display:block;position:relative;height:70vh;min-height:420px;overflow:hidden;text-decoration:none;color:#fff;margin-top:8vh}
.next picture{position:absolute;inset:0;height:100%}
.next img{transition:transform 1.2s var(--ease-out)}
.next .shade{position:absolute;inset:0;background:rgba(7,6,13,.55)}
.next .nt{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center}
.next .nt .disp{font-size:clamp(80px,15vw,260px)}
@media (hover:hover) and (pointer:fine){.next:hover img{transform:scale(1.05)}}

/* ============================== PHOTOGRAPHY ============================== */
.phero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden}
.phero picture{position:absolute;inset:0;height:100%}
.phero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,.35),rgba(7,6,13,0) 40%,rgba(7,6,13,.85))}
.phero .ct{position:absolute;left:0;right:0;bottom:calc(40px + env(safe-area-inset-bottom,0px))}
.phero h1{font-size:clamp(84px,15vw,250px);color:#fff}
.phero p{color:#fff;font-size:clamp(18px,1.8vw,22px);max-width:560px;margin:20px 0 0}
.kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-block:14vh 10vh}
.kind{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:var(--night)}
.kind picture{position:absolute;inset:0;height:100%}
.kind .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,0) 40%,rgba(7,6,13,.85))}
.kind .kt{position:absolute;left:18px;right:18px;bottom:16px;color:#fff}
.kind h3{font-size:clamp(36px,3.4vw,56px)}
@media (max-width:860px){.kinds{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ed{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;padding-bottom:12vh}
.ed .sitem{grid-column:span 4}
.ed .sitem.wide{grid-column:span 8;aspect-ratio:16/10}
@media (max-width:760px){.ed .sitem,.ed .sitem.wide{grid-column:span 12;aspect-ratio:4/5}}
.compare{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;user-select:none;touch-action:pan-y;cursor:ew-resize;background:var(--night)}
.compare picture{position:absolute;inset:0;height:100%}
.compare .after img{filter:contrast(1.14) saturate(1.2) brightness(.95)}
.compare .before{clip-path:inset(0 50% 0 0)}
.compare .before img{filter:saturate(.75) contrast(.9) brightness(1.06)}
.compare .handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--bone);transform:translateX(-1px)}
.compare .handle::after{content:"↔";position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--bone);color:var(--void);display:flex;align-items:center;justify-content:center;font-size:20px}
.compare .tagl,.compare .tagr{position:absolute;top:16px;background:rgba(7,6,13,.6);color:#fff;padding:6px 10px;border-radius:999px}
.compare .tagl{left:16px}.compare .tagr{right:16px}
@media (max-width:760px){.compare{aspect-ratio:4/5}}
.steps{list-style:none;margin:0;padding:0 0 12vh;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.steps li{border-top:2px solid var(--bone);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.steps strong{font-family:var(--f-disp);font-weight:800;text-transform:uppercase;font-size:40px;line-height:.9}
@media (max-width:860px){.steps{grid-template-columns:minmax(0,1fr)}}
.band{position:relative;overflow:hidden;border-radius:28px;padding:clamp(40px,7vw,90px) clamp(24px,5vw,64px);display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;justify-content:space-between;isolation:isolate;margin-bottom:12vh}
.band picture{position:absolute;inset:0;height:100%;z-index:-2}
.band::before{content:"";position:absolute;inset:0;background:rgba(7,6,13,.62);z-index:-1}
.band h2{font-size:clamp(56px,8vw,140px);max-width:900px}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.sec-head h2{font-size:clamp(56px,7vw,120px)}

/* ============================== FILMS ============================== */
.film{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:var(--night);margin-bottom:16px}
.film picture{position:absolute;inset:0;height:100%}
.film .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,13,.2),rgba(7,6,13,.8))}
.film .ft{position:absolute;left:clamp(20px,4vw,48px);right:clamp(20px,4vw,48px);bottom:clamp(20px,4vw,40px);color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.film .ft .disp{font-size:clamp(56px,9vw,150px)}
.play{width:92px;height:92px;border-radius:50%;background:var(--bone);color:var(--void);display:flex;align-items:center;justify-content:center;font-size:26px}
@media (max-width:760px){.film{aspect-ratio:4/5}}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:12vh}
.trio .sitem{grid-column:auto;aspect-ratio:4/5;cursor:default}
@media (max-width:760px){.trio{grid-template-columns:minmax(0,1fr)}}

/* ============================== STUDIO ============================== */
.reelbox{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;margin-bottom:12vh;background:var(--night)}
.reelbox picture{position:absolute;inset:0;height:100%}
.reelbox .shade{position:absolute;inset:0;background:rgba(7,6,13,.45)}
.reelbox .ft{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;text-align:center;padding:20px}
@media (max-width:760px){.reelbox{aspect-ratio:4/5}}
.story2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:6vw;padding-bottom:12vh;align-items:end}
.story2 p{font-size:clamp(22px,2.2vw,32px);line-height:1.35;margin:0}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stats div{border-top:2px solid var(--bone);padding-top:14px}
.stats strong{display:block;font-family:var(--f-disp);font-weight:900;font-size:clamp(56px,6vw,100px);line-height:.9}
@media (max-width:860px){.story2{grid-template-columns:minmax(0,1fr);gap:40px}}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-bottom:12vh}
.mem .face{aspect-ratio:4/5;border-radius:16px;background:var(--night);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--mute);border:1px dashed rgba(238,234,244,.25);margin-bottom:14px;font-size:14px}
.mem strong{font-size:20px;display:block}
.mem span{color:var(--mute)}
@media (max-width:860px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bts{display:flex;gap:16px;overflow-x:auto;padding:0 max(var(--gr),3vw) 12vh max(var(--gl),3vw);scrollbar-width:none}
.bts::-webkit-scrollbar{display:none}
.bts .sitem{flex:0 0 auto;width:clamp(240px,30vw,420px);cursor:default}
.codes{border:1.5px dashed rgba(238,234,244,.4);border-radius:24px;padding:clamp(28px,4vw,48px);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;margin-bottom:12vh}
.codes h2{font-size:clamp(44px,5vw,80px)}
.codes p{max-width:520px;color:#D8D4E2;margin:12px 0 0}

/* ============================== CONTACT ============================== */
.cgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6vw;padding-bottom:14vh;align-items:start}
.cinfo{display:flex;flex-direction:column;gap:28px}
.cinfo .big{font-size:clamp(20px,2vw,26px)}
.cinfo .row{display:flex;flex-wrap:wrap;gap:12px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:var(--night);border-radius:24px;padding:clamp(20px,3vw,40px)}
.fld{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:15px}
.fld.full{grid-column:1/-1}
.in{font:400 16px var(--f-body);min-height:52px;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(238,234,244,.25);background:var(--void);color:var(--bone);width:100%}
.in:focus{border-color:var(--teal);outline:none}
textarea.in{min-height:140px;resize:vertical}
.err{color:#FF8AB8;font-size:13px;font-weight:500;min-height:1em}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.sent{grid-column:1/-1;font-size:16px;color:var(--teal)}
@media (max-width:860px){.cgrid{grid-template-columns:minmax(0,1fr)}.form{grid-template-columns:minmax(0,1fr)}}
.c-band{position:relative;height:56vh;min-height:360px;overflow:hidden;margin-bottom:0}
.c-band picture{position:absolute;inset:0;height:100%}
.c-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--void),rgba(7,6,13,.2) 40%,var(--void))}

/* 404 */
.nf{min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:24px}
.nf .disp{font-size:clamp(120px,30vw,420px)}

@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  .js [data-rise]{opacity:1;transform:none}
  .js .curtain{display:none}
}
