/* Layout: one vertical journey. Down = next room. Sideways = more inside the room. Background color melts between rooms, no hard edges. */
:root{
  color-scheme: dark;
  --ink:#050506; --paper:#F2F1EE; --mute:#9A9AA2; --gold:#FFD60A; --tally:#FF3B30; --lime:#C8F25A;
  --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --fg:var(--paper); --chip:rgba(255,255,255,.08); --chip-line:rgba(255,255,255,.16);
  --gut-l:max(16px, env(safe-area-inset-left, 0px)); --gut-r:max(16px, env(safe-area-inset-right, 0px));
}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
html,body{overflow-x:clip}
body{background:#07070A;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
.chap{overflow-x:clip}
body.locked{overflow:hidden;height:100%}
body[data-tone="light"]{--fg:#121212;--chip:rgba(0,0,0,.06);--chip-line:rgba(0,0,0,.14)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
.mono{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.line{display:block;overflow:hidden;padding-bottom:.08em}.line > span{display:inline-block}
.fade-edges{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 80%,transparent 100%)}

/* texture */
#grain{position:fixed;inset:-50%;pointer-events:none;z-index:950;opacity:.08;mix-blend-mode:overlay;animation:grain 1s steps(6) infinite}
body[data-tone="light"] #grain{opacity:.05;mix-blend-mode:multiply}
@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)}}

/* placeholder footage: moving light that reads like a live clip until the real videos land */
.fx{position:relative;overflow:hidden;background:var(--c3,#1a1410);isolation:isolate}
.fx::before{content:"";position:absolute;inset:-35%;z-index:-1;
  background:radial-gradient(38% 48% at 30% 40%,var(--c1,#d0753a),transparent 70%),radial-gradient(42% 38% at 72% 62%,var(--c2,#8a3a12),transparent 72%),radial-gradient(28% 28% at 55% 18%,var(--c4,transparent),transparent 70%);
  animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{0%{transform:translate(-6%,-4%) rotate(0) scale(1)}100%{transform:translate(6%,5%) rotate(9deg) scale(1.14)}}
.fx-label{position:absolute;left:14px;bottom:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.72);text-transform:uppercase}

/* header + index */
#top{position:fixed;top:0;left:0;right:0;z-index:960;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(18px + env(safe-area-inset-top, 0px)) var(--gut-r) 0 var(--gut-l);pointer-events:none;color:var(--fg);transition:color .6s,opacity .6s}
#top > *{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.03em;height:44px}
.brand i{width:8px;height:8px;border-radius:50%;background:var(--tally)}
.pill{height:44px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:var(--chip);border:1px solid var(--chip-line);font-size:14px;font-weight:500;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-decoration:none;transition:transform .4s var(--ease),background .4s}
.pill:hover{transform:translateY(-1px)}
.pill.solid{background:var(--fg);color:var(--ink);border-color:transparent}
body[data-tone="light"] .pill.solid{color:#fff}
#index{position:fixed;right:var(--gut-r);top:50%;transform:translateY(-50%);z-index:960;display:flex;flex-direction:column;gap:2px;color:var(--fg);transition:color .6s,opacity .6s}
#index button{display:flex;align-items:center;justify-content:flex-end;gap:12px;height:30px;font-size:12px}
#index button span{opacity:0;transform:translateX(6px);transition:opacity .35s,transform .35s var(--ease);white-space:nowrap}
#index:hover button span,#index button.on span{opacity:.9;transform:none}
#index button i{width:6px;height:6px;border-radius:50%;background:var(--chip-line);transition:background .4s,transform .4s var(--ease)}
#index button.on i{background:var(--gold);transform:scale(1.5)}
body.locked #top,body.locked #index{opacity:0;pointer-events:none}
#veil{position:fixed;inset:0;z-index:970;pointer-events:none;opacity:0;background:#07070A}

/* rail arrows, shared by every sideways shelf */
.rail-ui{display:flex;align-items:center;gap:10px}
.rail-ui .count{font-family:var(--mono);font-size:11px;letter-spacing:.1em;opacity:.7;min-width:62px;text-align:center;font-variant-numeric:tabular-nums}
.arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--chip-line);background:var(--chip);display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease),opacity .3s}
.arrow:hover{transform:scale(1.06)}
.arrow:disabled{opacity:.3;cursor:default;transform:none}
.rail{position:relative;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.rail.dragging{cursor:grabbing}
.rail-hint{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}

/* ---------- INTRO / LOBBY ---------- */
#intro{position:fixed;inset:0;z-index:1000;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slit{position:absolute;left:50%;top:50%;width:0;height:2px;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 30px 6px rgba(255,255,255,.45)}
.iframe{position:absolute;left:50%;top:50%;width:min(88vw,calc(70vh * 1.896),1400px);aspect-ratio:1600/844;transform:translate(-50%,-50%);clip-path:inset(50% 0 50% 0 round 18px);background:#000;overflow:hidden;border-radius:18px}
.iframe video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iwords{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.iw{position:absolute;font-size:clamp(40px,8vw,128px);font-weight:700;letter-spacing:-.045em;opacity:0;white-space:nowrap;text-shadow:0 10px 40px rgba(0,0,0,.35)}
.iname-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;perspective:900px}
.iname{font-size:clamp(56px,12.5vw,210px);font-weight:700;letter-spacing:-.055em;line-height:.92;display:flex;flex-wrap:wrap;justify-content:center;column-gap:.22em;transform-origin:50% 50%}
.iname .word{display:flex}
.iname .ch{display:inline-block;opacity:0;background:linear-gradient(100deg,#F2F1EE 0%,#F2F1EE 40%,#ffffff 46%,#6e6e76 58%,#6e6e76 100%);background-size:400% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.isub{font-size:clamp(16px,1.5vw,21px);color:#A8A8B0;opacity:0;letter-spacing:-.01em}
.ienter{display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;margin-top:18px;color:#D8D8DE;min-height:44px}
.ienter .mouse{width:24px;height:38px;border-radius:14px;border:1.5px solid rgba(255,255,255,.6);position:relative}
.ienter .mouse::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
.ictrl{position:absolute;left:50%;bottom:calc(28px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);display:flex;gap:10px;z-index:3;opacity:0}
.ictrl button{height:48px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;white-space:nowrap;transition:transform .4s var(--ease),background .3s,color .3s}
.ictrl button:hover{transform:translateY(-2px)}
.iskip{position:relative;overflow:hidden;padding:0 18px 0 22px;background:#F2F1EE;color:#111;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.iskip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);background:rgba(0,0,0,.1);transition:width .2s linear}
.iskip span,.iskip svg{position:relative}
.iskip svg{transition:transform .4s var(--ease)}.iskip:hover svg{transform:translateX(3px)}
@media (max-width:760px){.iframe{width:92vw;aspect-ratio:1/1}}
/* the room around the reel: its own colours bleeding into the dark, film grain, a soft vignette */
.iamb{position:absolute;left:50%;top:50%;width:130%;height:130%;transform:translate(-50%,-50%);object-fit:cover;filter:blur(60px) saturate(1.7) brightness(1.1);opacity:0;pointer-events:none}
.ivig{position:absolute;inset:0;background:radial-gradient(75% 70% at 50% 50%,transparent 35%,rgba(0,0,0,.85) 100%);pointer-events:none}
.igrain{position:absolute;inset:-50%;pointer-events:none;opacity:.14;mix-blend-mode:overlay;animation:grain 1s steps(6) infinite;z-index:2}
#intro::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
.isound{padding:0 18px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.isound[aria-pressed="true"]{background:rgba(255,255,255,.22)}

/* ---------- shared ---------- */
.chap{position:relative}
.sec{position:relative;min-height:100vh;min-height:100svh;box-sizing:border-box;padding:calc(110px + env(safe-area-inset-top, 0px)) var(--gut-r) 90px var(--gut-l)}
.wrap{max-width:1320px;margin:0 auto;width:100%}
.eyebrow{color:var(--mute);margin-bottom:12px;display:block}
body[data-tone="light"] .eyebrow{color:#5E5E58}
.h2{font-size:clamp(38px,5vw,76px);font-weight:700;letter-spacing:-.045em;line-height:.98}
.headrow{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}

/* ---------- HOME ---------- */
#home .sec{height:100vh;height:100svh;padding:0;overflow:hidden;display:flex;flex-direction:column;align-items:center}
.wall{position:absolute;inset:-20% -30%;pointer-events:none;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,transparent 80%)}
.wall-plane{position:absolute;left:50%;top:44%;width:2200px;transform:translate(-50%,-50%) perspective(1600px) rotateX(48deg) rotateZ(-18deg);display:flex;flex-direction:column;gap:18px;opacity:.55}
.wall-row{display:flex;gap:18px;width:max-content;animation:marq 90s linear infinite}
.wall-row:nth-child(even){animation-direction:reverse;animation-duration:110s}
.wall-row .fx{width:260px;aspect-ratio:16/9;border-radius:14px;flex-shrink:0}
@keyframes marq{to{transform:translateX(-50%)}}
.home-shade{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 36%,rgba(7,7,10,.25),rgba(7,7,10,.85) 70%),linear-gradient(to bottom,transparent 60%,#07070A 100%);pointer-events:none}
.home-head{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;margin-top:calc(92px + env(safe-area-inset-top, 0px));padding:0 var(--gut-r) 0 var(--gut-l)}
.badge{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 14px 0 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:14px;color:#D9D9DE;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.badge i{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,var(--tally) 35%,rgba(255,59,48,.25) 36%);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.2)}}
.home-h1{font-size:clamp(54px,8.6vw,142px);font-weight:700;letter-spacing:-.055em;line-height:.92;color:#F2F1EE}
.home-sub{font-size:clamp(16px,1.35vw,19px);color:#B4B4BC;max-width:44ch;line-height:1.5}
.fan{position:absolute;left:0;right:0;bottom:0;height:min(58vh,560px);z-index:4}
.fcard{--w:clamp(170px,14.5vw,232px);position:absolute;left:50%;bottom:calc(5vh + env(safe-area-inset-bottom, 0px));width:var(--w);height:calc(var(--w)*1.62);margin-left:calc(var(--w)/-2);border-radius:28px;overflow:hidden;text-align:left;color:#fff;
  transform-origin:50% 120%;box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);will-change:transform}
.fcard .fx,.fcard video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fcard .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 40%,transparent 60%,rgba(0,0,0,.35) 100%)}
.fcard .top{position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.fcard b{font-size:clamp(19px,1.6vw,24px);letter-spacing:-.02em;display:block}
.fcard small{font-size:13px;opacity:.8;display:block;margin-top:2px}
.fcard .chip2{position:absolute;left:18px;bottom:16px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap}
.fcard .top{position:absolute;left:0;right:0;top:0;bottom:0;padding:16px 18px}
.cue{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom, 0px));z-index:5;width:1px;height:40px;background:linear-gradient(#fff,transparent);opacity:.6;animation:cue 2.2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:translateX(-50%) scaleY(0)}50%{transform:translateX(-50%) scaleY(1)}100%{transform:translateX(-50%) scaleY(0);opacity:0}}

/* ---------- SELECTED: the short list, up front ---------- */
#selected .sec{padding-bottom:40px}
/* a little texture behind the short list: film grain, soft light pools, faint paper weave */
.sw-tex{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sw-tex::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 0%,rgba(255,255,255,.07),transparent 70%),repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 2px,transparent 2px 7px)}
.sw-tex i{position:absolute;width:70vw;height:70vw;border-radius:50%;filter:blur(110px);opacity:.09}
.sw-tex i.a{left:-20vw;top:20%;background:#c46a2a;animation:swDrift 26s ease-in-out infinite alternate}
.sw-tex i.b{right:-25vw;top:55%;background:#2a5fc4;animation:swDrift 32s ease-in-out infinite alternate-reverse}
@keyframes swDrift{to{transform:translate(12vw,-10vh) scale(1.15)}}
.sw-tex span{position:absolute;inset:-50%;opacity:.16;mix-blend-mode:overlay;animation:grain 1s steps(6) infinite}
.sw-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:0 var(--gut-r) 0 var(--gut-l)}
.sw-head .mono{opacity:.6;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.sw-head h2{font-size:clamp(46px,7.4vw,118px);font-weight:800;letter-spacing:-.05em;line-height:.92}
.sw-head p{color:#A9A9B1;font-size:clamp(16px,1.3vw,19px);max-width:48ch;line-height:1.5}
.sw-logos{position:relative;margin:42px 0 70px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.sw-logos .lt{display:flex;gap:14px;width:max-content;animation:swlg 46s linear infinite}
.sw-logos:hover .lt{animation-play-state:paused}
@keyframes swlg{to{transform:translateX(-50%)}}
.sw-logos .lg{width:132px;height:62px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sw-logos .lg img{max-width:68%;max-height:56%;object-fit:contain}
.sw-logos .lg.ph{background:#15151a}.sw-logos .lg.ph img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover;border-radius:14px;opacity:.85}
.sw-stack{position:relative;padding:0 var(--gut-r) 0 var(--gut-l)}
.sw-card{--i:0;position:sticky;top:calc(10vh + var(--i) * 10px);display:block;width:min(1240px,100%);height:min(78vh,58vw);margin:0 auto 10vh;border-radius:28px;overflow:hidden;color:#fff;text-align:left;background:#111;box-shadow:0 -20px 60px rgba(0,0,0,.45);transform-origin:50% 0;will-change:transform}
.sw-card video,.sw-card img.po{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sw-card .dim{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
.sw-card .gr{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 26%,transparent 50%,rgba(0,0,0,.82) 100%)}
.sw-top{position:absolute;left:28px;right:28px;top:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sw-mk{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.sw-mk .m{width:44px;height:44px;border-radius:11px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sw-mk .m img.lg{width:78%;height:78%;object-fit:contain}.sw-mk .m img.ph{width:100%;height:100%;object-fit:cover}
.sw-mk .m .ini{font-size:14px;font-weight:800}
.sw-n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;opacity:.7}
.sw-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.02em;padding:7px 12px;border-radius:999px;background:#0b6b3a;color:#fff;margin-top:12px}
.sw-badge i{width:8px;height:8px;border-radius:50%;background:#fff}
.sw-bot{position:absolute;left:28px;right:28px;bottom:26px;display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.sw-bot h3{font-size:clamp(34px,5.6vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.92;text-wrap:balance;text-shadow:0 6px 30px rgba(0,0,0,.4)}
.sw-bot .meta{font-family:var(--mono);font-size:12px;letter-spacing:.06em;opacity:.8;margin-top:12px;text-transform:uppercase}
.sw-play{width:76px;height:76px;border-radius:50%;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .5s var(--ease)}
.sw-card:hover .sw-play{transform:scale(1.1)}
.sw-more{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:4vh var(--gut-r) 0 var(--gut-l)}
.sw-more h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.03em}
.sw-more p{color:#A9A9B1;max-width:44ch}
.sw-go{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.sw-go button{height:48px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:600;font-size:15px;transition:background .3s,color .3s}
.sw-go button:hover{background:#fff;color:#111}
@media (max-width:760px){
  .sw-card{height:68vh;border-radius:22px;top:calc(9vh + var(--i) * 8px)}
  .sw-top{left:18px;right:18px;top:18px}.sw-bot{left:18px;right:18px;bottom:20px;flex-direction:column;align-items:flex-start}
  .sw-play{width:58px;height:58px;position:absolute;right:0;bottom:0}
  .sw-bot>div{padding-right:70px}
  .sw-logos .lg{width:104px;height:50px}
}

/* ---------- DOCS ---------- */
.docs-bg{position:absolute;inset:0;pointer-events:none}
.docs-bg .layer{position:absolute;inset:0;transition:opacity 1.2s ease}
.docs-bg .fx{position:absolute;inset:0}
.docs-bg .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,7,2,.85) 0%,rgba(18,7,2,.3) 50%,transparent 75%)}
.docs-hero{position:relative;max-width:820px;display:flex;flex-direction:column;gap:16px;padding-left:clamp(0px,4vw,64px);min-height:36vh}
.docs-title{font-size:clamp(34px,5.4vw,84px);font-weight:800;letter-spacing:.1em;line-height:1.02;display:flex;flex-wrap:wrap;column-gap:.35em;overflow:hidden;padding-bottom:.06em}
.docs-title .wd{display:inline-flex;white-space:nowrap}
.docs-title span{display:inline-block}
.meta{display:flex;align-items:center;gap:12px;font-size:15px;color:#F6EDE4;flex-wrap:wrap}
.meta .box{font-family:var(--mono);font-size:11px;padding:3px 8px;border:1px solid rgba(246,237,228,.5);border-radius:6px}
.desc{font-size:clamp(16px,1.35vw,19px);line-height:1.5;color:rgba(246,237,228,.85);max-width:48ch}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{height:52px;padding:0 24px;border-radius:14px;display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:600;transition:transform .4s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn.light{background:#F6EDE4;color:#2a1006}
.docs-railhead{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding-left:clamp(0px,4vw,64px);flex-wrap:wrap}
.docs-railhead h3{font-size:clamp(19px,1.7vw,24px);font-weight:700;letter-spacing:-.02em}
#docRail{height:clamp(170px,19vw,300px);margin-top:18px}
.dcard{--w:clamp(260px,32vw,500px);position:absolute;left:0;top:0;width:var(--w);aspect-ratio:16/9;text-align:left;will-change:transform;transform-origin:0 50%}
.dcard .fx{position:absolute;inset:0;border-radius:18px;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.dcard .cap{position:absolute;left:18px;bottom:16px;right:18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;color:#fff;pointer-events:none}
.dcard .cap b{font-size:clamp(17px,1.5vw,22px);letter-spacing:-.01em}
.dcard .cap small{display:block;font-size:13px;opacity:.75;margin-top:2px}
.dcard .play{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transform:scale(.8);transition:opacity .4s,transform .4s var(--ease)}
.dcard.on .play{opacity:1;transform:none}
.dcard .grad{position:absolute;inset:0;border-radius:18px;background:linear-gradient(transparent 50%,rgba(0,0,0,.6));pointer-events:none}

/* ---------- SOCIAL ---------- */
.soc-bg{position:absolute;inset:0;background:var(--sbg,#2b2366);transition:background-color .9s ease;pointer-events:none}
.soc-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 55%,rgba(255,255,255,.12),transparent 70%)}
.soc-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.soc-head p{opacity:.8;font-size:16px}
#socRail{height:min(56vh,560px);margin-top:20px}
.vcard{--w:clamp(160px,15vw,230px);position:absolute;left:50%;top:6%;width:var(--w);aspect-ratio:9/16;margin-left:calc(var(--w)/-2);border-radius:26px;overflow:hidden;color:#fff;text-align:left;
  transform-origin:50% 130%;box-shadow:0 30px 60px rgba(10,6,40,.5),0 0 0 1px rgba(255,255,255,.14);will-change:transform}
.vcard .fx{position:absolute;inset:0}
.vcard .top{position:absolute;left:14px;right:14px;top:12px;display:flex;justify-content:space-between;gap:8px;align-items:flex-start;pointer-events:none}
.vcard b{font-size:17px;display:block}.vcard small{font-size:12px;opacity:.8}
.vcard .chip2{font-family:var(--mono);font-size:10px;padding:5px 8px;border-radius:999px;background:rgba(0,0,0,.3)}
.vcard .shade{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.4),transparent 30%);pointer-events:none}
.soc-foot{position:relative;display:flex;justify-content:center;align-items:center;gap:18px;margin-top:10px;flex-wrap:wrap}

.soc-enter{height:52px;padding:0 22px 0 26px;border-radius:999px;background:#fff;color:#141414;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:12px;box-shadow:0 18px 40px rgba(0,0,0,.35);transition:transform .5s var(--ease),box-shadow .5s}
.soc-enter:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 24px 50px rgba(0,0,0,.45)}
.soc-enter .n{font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:5px 9px;border-radius:999px;background:#141414;color:#fff}
.soc-enter svg{transition:transform .5s var(--ease)}.soc-enter:hover svg{transform:translateX(4px)}
/* the feed: every vertical cut */
#socLib{position:fixed;inset:0;z-index:985;background:#0A0E1F;color:#fff;visibility:hidden;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.sl-top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top, 0px)) var(--gut-r) 14px var(--gut-l);background:linear-gradient(#0A0E1F 40%,rgba(10,14,31,0))}
.sl-top .pill{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.sl-top .mono{font-size:11px;letter-spacing:.14em;opacity:.7}
.sl-hero{position:relative;min-height:min(62vh,560px);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:-72px;padding:96px var(--gut-r) 40px var(--gut-l)}
.sl-wall{position:absolute;inset:-10%;display:flex;gap:14px;transform:rotate(-8deg) scale(1.15);opacity:.5;filter:saturate(1.2)}
.sl-col{display:flex;flex-direction:column;gap:14px;flex:1;min-width:0}
.sl-col img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px}
.sl-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 70% at 50% 50%,rgba(10,14,31,.55),#0A0E1F 92%)}
.sl-hero-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;width:min(100%,720px)}
.sl-hero h2{font-size:clamp(48px,8vw,120px);font-weight:900;letter-spacing:-.05em;line-height:.9}
.sl-hero p{font-size:clamp(15px,1.3vw,18px);opacity:.8;max-width:42ch}
.sl-search{display:flex;align-items:center;width:100%;margin-top:10px;background:#fff;border-radius:999px;padding:5px 5px 5px 22px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.sl-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:#141414;height:44px}
.sl-search span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#fff;background:linear-gradient(90deg,var(--tally),#ff8a3d);padding:0 18px;height:44px;display:flex;align-items:center;border-radius:999px;white-space:nowrap}
.sl-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.sl-chips button{font-size:13px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;min-height:36px;transition:background .3s}
.sl-chips button.on{background:#fff;color:#111}
.sl-body{display:flex;flex-direction:column;gap:clamp(34px,5vh,56px);padding:10px 0 calc(60px + env(safe-area-inset-bottom, 0px))}
.sl-rh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--gut-r) 0 var(--gut-l);margin-bottom:14px}
.sl-rh h3{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.sl-rh h3 .mk{width:30px;height:30px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px}
.sl-rh h3 .mk img.lg{width:80%;height:80%;object-fit:contain}.sl-rh h3 .mk img.ph{width:100%;height:100%;object-fit:cover}
.sl-rh small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;opacity:.6;font-weight:500}
.sl-arr{display:flex;gap:6px}.sl-arr button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff}
.sl-strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px var(--gut-r) 16px var(--gut-l);scroll-padding-left:var(--gut-l);scrollbar-width:none}
.sl-strip::-webkit-scrollbar{display:none}
.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(44%,190px),1fr));gap:22px 16px;padding:0 var(--gut-r) 0 var(--gut-l)}
.sc{flex-shrink:0;width:clamp(150px,13vw,200px);display:flex;flex-direction:column;gap:6px;text-align:left;color:#fff;scroll-snap-align:start}
.sl-grid .sc{width:auto}
.sc-img{position:relative;display:block;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#151a33;box-shadow:0 14px 30px rgba(0,0,0,.35);transition:box-shadow .5s}
.sc-wrap{position:relative;display:block;transition:transform .5s var(--ease)}
.sc:hover .sc-wrap,.sc:focus-visible .sc-wrap{transform:translateY(-6px) scale(1.03)}
.sc:hover .sc-img,.sc:focus-visible .sc-img{box-shadow:0 26px 50px rgba(0,0,0,.5),0 0 0 2px #fff}
.sc-img img,.sc-img video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sc-img video{opacity:0;transition:opacity .5s}.sc-img.playing video{opacity:1}
.sc-img .tag{position:absolute;right:10px;top:10px;font-size:10px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--tally);color:#fff;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-len{position:absolute;left:10px;bottom:-1px;transform:translateY(50%);width:40px;height:40px;border-radius:50%;background:#0A0E1F;border:3px solid #3ddc84;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;z-index:1}
.sc-meta{padding-top:22px;display:flex;flex-direction:column;gap:2px}
.sc-meta b{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-meta small{font-size:12px;opacity:.6}
.sl-empty{padding:40px var(--gut-l);opacity:.7}
@media (max-width:760px){.sl-arr{display:none}.sc{width:38vw}.sl-hero{min-height:52vh}.sl-chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;width:calc(100% + var(--gut-l) + var(--gut-r));margin:0 calc(var(--gut-r) * -1) 0 calc(var(--gut-l) * -1);padding:0 var(--gut-r) 4px var(--gut-l);scrollbar-width:none}.sl-chips button{flex-shrink:0}}

/* ---------- CLIENTS ---------- */
#clients .sec{color:#141414}
#clients .sec{padding-top:calc(92px + env(safe-area-inset-top, 0px));padding-bottom:24px;display:flex;flex-direction:column;justify-content:center}
#clients .h2{font-size:clamp(36px,min(5vw,8vh),76px)}
.cl-view{position:relative;margin-top:clamp(12px,2.6vh,40px)}
.cl-track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:clamp(160px,min(20vw,27vh),280px);gap:clamp(14px,3vh,34px) clamp(18px,2.4vw,34px);will-change:transform;padding-top:clamp(18px,3.2vh,30px);width:max-content}
.folder{display:flex;flex-direction:column;gap:12px;text-align:left;will-change:transform}
.fold{position:relative;height:clamp(104px,min(13vw,16vh),190px)}
.fold .back{position:absolute;left:8%;right:8%;top:4%;height:62%;border-radius:14px;background:#D9D9D6}
.fold .card{position:absolute;top:2%;width:34%;height:62%;border-radius:12px;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.15);transition:transform .6s var(--ease)}
.fold .card:nth-child(2){left:12%;transform:rotate(-8deg)}
.fold .card:nth-child(3){left:33%;top:-4%;z-index:1}
.fold .card:nth-child(4){right:12%;transform:rotate(8deg)}
.folder:hover .card:nth-child(2),.folder:focus-visible .card:nth-child(2){transform:translate(-14%,-24%) rotate(-16deg)}
.folder:hover .card:nth-child(3),.folder:focus-visible .card:nth-child(3){transform:translateY(-32%)}
.folder:hover .card:nth-child(4),.folder:focus-visible .card:nth-child(4){transform:translate(14%,-24%) rotate(16deg)}
.fold .front{position:absolute;left:0;right:0;bottom:0;height:64%;border-radius:6px 22px 22px 22px;background:rgba(250,250,249,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 30px rgba(0,0,0,.12),inset 0 1px 0 #fff;z-index:2}
.fold .go{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:#1F1F1F;border:3px solid #fff;display:flex;align-items:center;justify-content:center;z-index:3;transition:transform .5s var(--ease)}
.folder:hover .go{transform:rotate(45deg)}
.fold .flogo{position:absolute;left:14px;bottom:14px;width:42px;height:42px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.fold .flogo img.lg{width:78%;height:78%;object-fit:contain}.fold .flogo img.ph{width:100%;height:100%;object-fit:cover}
.cx-logo{overflow:hidden}.cx-logo img.lg{width:76%;height:76%;object-fit:contain}.cx-logo img.ph{width:100%;height:100%;object-fit:cover}
.flabel{display:flex;justify-content:space-between;align-items:center;gap:8px}
.flabel b{font-size:16px;letter-spacing:.02em}.flabel small{font-size:12px;color:#55554F;padding:4px 10px;border-radius:999px;background:#E2E2DF}

/* client overlay */
#clientOv{position:fixed;inset:0;z-index:980;background:#E9EAEB;color:#141414;visibility:hidden;overflow-y:auto;overflow-x:hidden}
.cx{min-height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(22px + env(safe-area-inset-top, 0px)) var(--gut-r) calc(28px + env(safe-area-inset-bottom, 0px)) var(--gut-l)}
.cx-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cx-top .pill{color:#141414;background:#fff;border-color:#d6d6d3}
.cx-id{display:flex;align-items:center;gap:16px;margin-top:4vh}
.cx-logo{width:58px;height:58px;border-radius:15px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}
.cx-id h2{font-size:clamp(28px,2.6vw,40px);letter-spacing:-.02em}
.cx-id p{color:#55554F;font-size:15px}
.ctrack{display:flex;align-items:center;margin-top:5vh;min-height:min(48vh,420px);padding:20px 0}
.ctile{flex-shrink:0;width:clamp(100px,15vw,230px);height:clamp(100px,15vw,230px);color:#fff;display:flex;align-items:flex-end;padding:14px;box-sizing:border-box;text-align:left;position:relative;overflow:hidden;
  transition:width .7s var(--ease),height .7s var(--ease),margin .7s var(--ease),box-shadow .7s;z-index:1;will-change:transform}
.ctile .fxi{position:absolute;inset:-12%}
.ctile.on{width:clamp(200px,30vw,460px);height:clamp(200px,27vw,400px);margin:0 -14px;z-index:2;box-shadow:0 40px 70px rgba(0,0,0,.35)}
.ctile .t-in{display:flex;flex-direction:column;gap:4px;position:relative}
.ctile .t-kind{font-family:var(--mono);font-size:10px;letter-spacing:.12em;opacity:.8}
.ctile .t-name{font-size:14px;font-weight:600;transition:font-size .5s}
.ctile.on .t-name{font-size:clamp(22px,2.4vw,34px);font-weight:700;letter-spacing:-.02em}
.ctile .t-play{font-size:15px;opacity:0;max-height:0;transition:opacity .4s .2s}
.ctile.on .t-play{opacity:.85;max-height:30px}
.cx-nav{display:flex;align-items:center;gap:16px;justify-content:flex-end;margin-top:8px;font-variant-numeric:tabular-nums}
.cx-prog{width:150px;height:2px;background:#C9CACC;position:relative}.cx-prog b{position:absolute;inset:0;width:25%;background:var(--tally);transition:width .7s var(--ease)}
.cx-num{font-size:18px;color:#8A8B8D;transition:font-size .5s,color .5s;min-height:44px;display:flex;align-items:center}
.cx-num.on{font-size:44px;font-weight:700;color:#141414}
.cx-foot{margin-top:auto;padding-top:32px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.cx-foot .big{font-size:17px;font-weight:700;line-height:1.3}
.credits{display:flex;gap:32px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:#55554F;text-transform:uppercase}
.credits b{color:#141414;font-weight:500;display:block;margin-top:4px}

/* ---------- QUOTE REQUEST ---------- */
#quoteOv{position:fixed;inset:0;z-index:986;background:#F2F2EF;color:#111;visibility:hidden;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.q{max-width:880px;margin:0 auto;padding:calc(22px + env(safe-area-inset-top, 0px)) var(--gut-r) calc(80px + env(safe-area-inset-bottom, 0px)) var(--gut-l)}
.q-top{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:2;padding:10px 0;background:linear-gradient(#F2F2EF 70%,rgba(242,242,239,0))}
.q-top .pill{color:#111;background:#fff;border-color:#d6d6d3}
.q-top .mono{color:#77776F}
.q-head{margin:5vh 0 6vh}
.q-head h2{font-size:clamp(44px,6.4vw,96px);font-weight:800;letter-spacing:-.055em;line-height:.92}
.q-head p{margin-top:16px;font-size:clamp(16px,1.4vw,20px);color:#55554F;max-width:44ch;line-height:1.5}
.q-sec{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:30px 0;border-top:1px solid #D9D9D5}
.q-n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:#8A8A84;padding-top:6px}
.q-sec h3{font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.025em;margin-bottom:6px}
.q-sec .hint{font-size:14px;color:#77776F;margin-bottom:16px}
.q-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.q-f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#55554F;min-width:0}
.q-f input,.q-f textarea{font:inherit;font-size:16px;font-weight:400;color:#111;background:#fff;border:1px solid #D2D2CD;border-radius:14px;padding:14px 16px;outline:none;transition:border-color .2s,box-shadow .2s;min-width:0;width:100%;box-sizing:border-box}
.q-f textarea{min-height:140px;resize:vertical;line-height:1.5}
.q-f input:focus,.q-f textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.q-f.full{grid-column:1/-1}
.q-seg{display:inline-flex;padding:4px;border-radius:999px;background:#E2E2DE;margin-bottom:14px}
.q-seg button{height:40px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;color:#55554F}
.q-seg button.on{background:#111;color:#fff}
.q-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:150px;border:1.5px dashed #BDBDB7;border-radius:16px;background:#fff;padding:20px;cursor:pointer;transition:border-color .2s,background .2s}
.q-drop:hover,.q-drop.over{border-color:#111;background:#FAFAF8}
.q-drop b{font-size:16px}.q-drop span{font-size:13px;color:#77776F}
.q-file{display:none;align-items:center;gap:10px;margin-top:10px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #D2D2CD;font-size:14px}
.q-file.on{display:flex}.q-file b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q-file button{color:#77776F;font-size:13px;text-decoration:underline}
.q-chips{display:flex;flex-wrap:wrap;gap:8px}
.q-chips button{height:44px;padding:0 18px;border-radius:999px;border:1px solid #CFCFCA;background:#fff;font-size:15px;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.q-chips button:hover{border-color:#111}
.q-chips button[aria-pressed="true"]{background:#111;color:#fff;border-color:#111}
.q-sub{font-size:13px;font-weight:600;color:#55554F;margin:20px 0 10px}
.q-step{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #CFCFCA;border-radius:999px;padding:4px}
.q-step button{width:40px;height:40px;border-radius:50%;font-size:20px;font-weight:600}
.q-step button:hover{background:#EDEDEA}
.q-step output{min-width:44px;text-align:center;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.q-err{color:#C42B1C;font-size:13px;font-weight:600;margin-top:10px;display:none}.q-err.on{display:block}
.q-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:30px;border-top:1px solid #D9D9D5}
.q-actions .b{cursor:pointer}
.q-review{display:none}.q-review.on{display:block}
.q-sum{background:#fff;border:1px solid #D9D9D5;border-radius:22px;padding:8px 24px;margin:6vh 0 22px}
.q-sum div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #EDEDEA;font-size:15px;line-height:1.5}
.q-sum div:last-child{border-bottom:0}
.q-sum dt{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#8A8A84;text-transform:uppercase;padding-top:3px}
.q-sum dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.q-note{font-size:14px;color:#55554F;margin-bottom:18px}
@media (max-width:760px){
  .q-sec{grid-template-columns:1fr;gap:6px}
  .q-row{grid-template-columns:1fr}
  .q-sum div{grid-template-columns:1fr;gap:4px}
  .q-actions{flex-direction:column-reverse}.q-actions .b{justify-content:center}
}

/* ---------- REEL ---------- */
#reel .sec{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.ambi{position:absolute;left:50%;top:52%;width:min(1100px,90vw);aspect-ratio:16/9;transform:translate(-50%,-50%);filter:blur(90px) saturate(1.4);opacity:.5;pointer-events:none}
.reel-head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;width:min(1100px,100%);flex-wrap:wrap}
.reel-head p{color:var(--mute);font-size:16px;max-width:36ch}
.reel-frame{position:relative;width:min(1100px,100%,calc((100svh - 280px) * 1.7778));aspect-ratio:16/9;max-width:100%;border-radius:18px;box-shadow:0 40px 100px rgba(0,0,0,.7);will-change:transform;cursor:pointer}
.bigplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;transition:transform .5s var(--ease);pointer-events:none}
.reel-frame:hover .bigplay{transform:translate(-50%,-50%) scale(1.08)}

/* ---------- ABOUT: a black and white poster about how I think ---------- */
#about{background:#050505}
.ap{position:relative;overflow:hidden;color:#e9e9e7;padding:calc(120px + env(safe-area-inset-top, 0px)) var(--gut-r) 110px var(--gut-l)}
.ap-bg{position:absolute;inset:0;pointer-events:none}
.ap-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.2) blur(2px);opacity:.13}
.ap-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 40%,rgba(5,5,5,.35),#050505 85%),linear-gradient(#050505,transparent 12%,transparent 88%,#050505)}
.ap-noise{position:absolute;inset:-50%;pointer-events:none;opacity:.18;mix-blend-mode:overlay;animation:grain 1s steps(6) infinite}
.ap-arc{position:absolute;left:-5%;top:-70px;width:110%;height:260px;pointer-events:none;overflow:visible}
.ap-in{position:relative;max-width:1080px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.ap-k{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8d8d8a;margin-bottom:26px}
.silver{background:linear-gradient(180deg,#ffffff 0%,#dcdcd9 50%,#8a8a87 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ap-q{font-size:clamp(40px,5.6vw,92px);font-weight:300;letter-spacing:-.045em;line-height:1;max-width:15ch;text-wrap:balance;padding-bottom:.06em}
.ap-q b{font-weight:700}
.ap-q2{margin-top:22px;font-size:clamp(17px,1.6vw,24px);font-weight:300;color:#cfcfcc;letter-spacing:-.005em}
.ap-q2 b{font-weight:600;color:#fff}
.ap-frame{position:relative;width:min(100%,980px);aspect-ratio:2.5/1;margin:clamp(40px,6vh,64px) 0;border:3px solid #f2f2f0;border-radius:clamp(22px,3vw,34px);overflow:hidden;background:#111;box-shadow:0 40px 90px rgba(0,0,0,.7)}
.ap-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:grayscale(1) contrast(1.15) brightness(1.05)}
.ap-frame .tc{position:absolute;left:18px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:8px}
.ap-frame .tc i{width:7px;height:7px;border-radius:50%;background:#fff;animation:recb 1.2s steps(1) infinite}
@keyframes recb{50%{opacity:.15}}
.ap-big{font-size:clamp(34px,4.4vw,72px);font-weight:700;letter-spacing:-.04em;line-height:1.02;max-width:18ch;text-wrap:balance;padding-bottom:.06em}
.ap-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,48px);max-width:860px;margin-top:30px;text-align:left}
.ap-body p{font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:#bdbdba;font-weight:300}
.ap-body p b{color:#fff;font-weight:600}
.ap-foot{width:100%;max-width:980px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(48px,7vh,80px);flex-wrap:wrap}
.ap-me{display:flex;align-items:center;gap:14px;text-align:left}
.ap-me img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:28% 22%;filter:grayscale(1);border:2px solid rgba(255,255,255,.2)}
.ap-me b{display:block;font-size:20px;font-weight:700;letter-spacing:-.02em}
.ap-me span{font-size:14px;color:#a5a5a2}
.ap-go{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#fff}
.ap-go svg{transition:transform .5s var(--ease)}.ap-go:hover svg{transform:translate(4px,4px)}
.ap-rule{position:absolute;left:0;right:0;bottom:0;height:30px;pointer-events:none;color:rgba(255,255,255,.4);font-family:var(--mono);font-size:9px;border-top:1px solid rgba(255,255,255,.14);background:repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 1px,transparent 1px 12px) bottom/100% 8px no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 1px,transparent 1px 120px) bottom/100% 14px no-repeat}
.ap-rule span{position:absolute;top:6px;transform:translateX(4px)}
@media (max-width:760px){
  .ap{padding-top:calc(100px + env(safe-area-inset-top, 0px))}
  .ap-frame{aspect-ratio:4/5;border-radius:22px}
  .ap-body{grid-template-columns:1fr;gap:16px}
  .ap-foot{flex-direction:column;align-items:flex-start}
  .ap-arc{height:140px}
}

/* ---------- EDITHIVE ---------- */
#edithive .sec{color:#111;padding:0}
.eh-top{position:relative;background-image:radial-gradient(rgba(0,0,0,.16) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(transparent,#000 14%);mask-image:linear-gradient(transparent,#000 14%);
  padding:calc(130px + env(safe-area-inset-top, 0px)) var(--gut-r) 90px var(--gut-l);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;overflow:hidden}
.eh-top h2{font-size:clamp(44px,5.8vw,88px);font-weight:700;letter-spacing:-.045em;line-height:.98;position:relative;z-index:1}
.eh-top p{color:#55554F;font-size:17px;max-width:46ch;line-height:1.5;position:relative;z-index:1}
.app{position:absolute;border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 24px 40px rgba(0,0,0,.16);will-change:transform}
.eh-band{color:var(--paper);padding:80px var(--gut-r) 110px var(--gut-l);position:relative;isolation:isolate}
.eh-band::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,5,6,0),#050506 22%,#050506 78%,rgba(5,5,6,0));z-index:-1}
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px}
.feat{border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#111114;padding:12px;display:flex;flex-direction:column;gap:14px}
.demo{height:200px;border-radius:14px;position:relative;overflow:hidden}
.feat-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 6px 6px}
.feat-t b{font-size:19px}.feat-t span{color:#8A8A92;font-size:14px;text-align:right}
.d-sel{background:#F59E0B;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:16px;align-content:center}
.d-sel i{height:34px;border-radius:6px;background:rgba(0,0,0,.14);animation:sel 3.6s ease-in-out infinite}
@keyframes sel{0%,20%{background:rgba(0,0,0,.14);transform:scale(1)}35%,70%{background:#111;transform:scale(.94)}85%,100%{background:rgba(0,0,0,.14);transform:scale(1)}}
.d-sync{background:#131A23;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:0 16px}
.wave{display:flex;gap:3px;align-items:center;height:44px}
.wave i{flex:1;background:#F59E0B;border-radius:2px}
.wave.b i{background:#FCD34D}
.eh-go{gap:10px}.eh-go img{display:block}
.wave.b{animation:sync 3.6s var(--ease) infinite}
@keyframes sync{0%,15%{transform:translateX(18%)}55%,100%{transform:translateX(0)}}
.synced{position:absolute;right:12px;top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.3);animation:okfade 3.6s infinite}
@keyframes okfade{0%,55%{opacity:0}65%,100%{opacity:1}}
.d-lib{background:#0D1117;padding:14px;display:flex;flex-direction:column;gap:10px}
.d-lib .search{height:30px;border-radius:8px;background:#3a3a42;display:flex;align-items:center;gap:6px;padding:0 10px;font-family:var(--mono);font-size:11px;color:#ccc;overflow:hidden;white-space:nowrap}
.d-lib .search span{display:inline-block;overflow:hidden;width:0;animation:type 4s steps(9) infinite;border-right:1px solid #F59E0B}
@keyframes type{0%{width:0}40%,80%{width:9ch}100%{width:0}}
.d-lib .g{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:1}
.d-lib .g i{border-radius:6px;background:#44444c}
.d-lib .g i:nth-child(3n){animation:filtout 4s infinite}
@keyframes filtout{0%,35%{opacity:1}45%,80%{opacity:.12}90%,100%{opacity:1}}

/* ---------- CONTACT ---------- */
#contact .sec{padding-top:calc(96px + env(safe-area-inset-top, 0px));padding-bottom:20px;color:#111;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
.handle{text-decoration:none;font-weight:600;padding:10px 20px;border-radius:14px;background:#F4F4F3;border:1px solid #CFCFCC;box-shadow:0 6px 16px rgba(0,0,0,.06);font-size:16px;color:#3a3a3a}
.lwt{font-size:clamp(52px,min(9vw,12vh),150px);line-height:.92;font-weight:800;letter-spacing:-.055em;margin-top:12px;color:#0B0B0B}
.lwt .ch{display:inline-block}
.lwt .line{padding:0 .05em .22em}
.lwt .l2{margin-top:-.38em}
.lwt .ch{padding-bottom:.2em;margin-bottom:-.2em}
.lwt .l2 .ch{background:linear-gradient(180deg,#0B0B0B 45%,#5c5c58 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tiles{position:relative;width:min(420px,100%,34vh);aspect-ratio:2/1;margin-top:clamp(14px,2.4vh,30px)}
.tl{position:absolute;top:6%;width:44%;aspect-ratio:1;border-radius:22%;display:flex;align-items:center;justify-content:center}
.tl.me img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tl.me{overflow:hidden;background:#0E0E0E;box-shadow:0 30px 60px rgba(0,0,0,.35);font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#8A8A92;animation:swapA 7s var(--ease) infinite}
.tl.you{background:linear-gradient(160deg,#F4F4F4,#BDBDBD);box-shadow:0 30px 60px rgba(0,0,0,.18);flex-direction:column;justify-content:flex-end;overflow:hidden;animation:swapB 7s var(--ease) infinite}
.tl.you .hd{width:34%;aspect-ratio:1;border-radius:50%;background:#3a3a3a;margin-bottom:6%}.tl.you .bd{width:72%;height:28%;border-radius:999px 999px 0 0;background:#2a2a2a}
@keyframes swapA{0%,38%{left:4%;transform:rotate(-7deg)}50%,88%{left:52%;transform:rotate(7deg)}100%{left:4%;transform:rotate(-7deg)}}
@keyframes swapB{0%,38%{left:52%;transform:rotate(7deg)}50%,88%{left:4%;transform:rotate(-7deg)}100%{left:52%;transform:rotate(7deg)}}
.swap-ic{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;animation:spin180 7s var(--ease) infinite}
@keyframes spin180{0%,38%{transform:translate(-50%,-50%) rotate(0)}50%,88%{transform:translate(-50%,-50%) rotate(180deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
.ct-line{font-size:clamp(17px,min(1.9vw,2.8vh),25px);line-height:1.4;color:#4E4E4C;max-width:34ch;margin-top:16px}
.ct-btns{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;justify-content:center}
.b{height:54px;padding:0 26px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .4s var(--ease)}
.b:hover{transform:translateY(-2px)}
.b.dark{background:#111;color:#fff}.b.line{background:#fff;border:1px solid #CFCFCC;color:#111;font-weight:500}
.mail{user-select:all}
.socials{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;justify-content:center}
.soc{width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid #D6D6D3;display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease),background .4s,color .4s}
.soc:hover{transform:translateY(-3px);background:#111;color:#fff}
.foot{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#77776F;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center}
.foot button{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#111;text-decoration:underline;text-underline-offset:3px;min-height:44px}

/* ---------- real work cards: frame + Netflix-style title ---------- */
.nf{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#111}
.nf img,.nf video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nf video{opacity:0;transition:opacity .6s ease}
.nf.playing video{opacity:1}
.nf-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 45%,rgba(0,0,0,.88) 100%);pointer-events:none}
.nf-badge{position:absolute;top:12px;left:14px;font-weight:900;font-size:20px;letter-spacing:-.04em;color:var(--tally);text-shadow:0 2px 10px rgba(0,0,0,.4)}
.nf-t{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;display:flex;flex-direction:column;gap:6px;text-align:left;pointer-events:none}
.nf-t .ey{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.nf-t b{font-size:clamp(18px,1.8vw,30px);font-weight:800;letter-spacing:-.03em;line-height:.95;text-transform:uppercase;text-shadow:0 4px 24px rgba(0,0,0,.55);text-wrap:balance}
.nf-t .row{display:flex;gap:8px;align-items:center;font-size:12px;opacity:.85;flex-wrap:wrap}
.nf-t .row i{font-style:normal;padding:2px 6px;border:1px solid rgba(255,255,255,.5);border-radius:4px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.vcard .nf-t b{font-size:clamp(16px,1.5vw,22px)}
.docs-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wall-row .wt{width:260px;aspect-ratio:16/9;border-radius:14px;flex-shrink:0;overflow:hidden;background:#111}
.wall-row .wt img{width:100%;height:100%;object-fit:cover;display:block}
.fold .card{background-size:cover;background-position:center}
.ctile .fxi{object-fit:cover;width:124%;height:124%}
.ctile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}
.ctile.on video{opacity:1}
.ctile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.75));pointer-events:none}
.ctile .t-in{z-index:1}

/* ---------- FLAGSHIP: the big one ---------- */
.flag{position:relative;height:200vh}
.flag-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.flag-media{position:absolute;inset:0;will-change:transform}
.flag-media video,.flag-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.flag-shade{position:absolute;inset:0;background:radial-gradient(90% 80% at 50% 45%,transparent 30%,rgba(3,4,5,.75) 100%),linear-gradient(180deg,rgba(3,4,5,.9) 0%,transparent 22%,transparent 50%,rgba(3,4,5,.92) 100%)}
.flag-bar{position:absolute;left:0;right:0;height:0;background:#000;z-index:2;border-radius:0;display:block}
.flag-bar.t{top:0}.flag-bar.b{bottom:0}
.flag-c{position:absolute;left:var(--gut-l);right:var(--gut-r);bottom:calc(14vh + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;z-index:3}
.flag-k{color:var(--gold)}
.flag-card{position:absolute;left:calc(var(--gut-l) + 3vw);bottom:calc(11vh + 28px + env(safe-area-inset-bottom, 0px));z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(380px,calc(100% - 32px));padding:20px 22px 22px;border-radius:22px;background:rgba(10,10,14,.45);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.flag-card b{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;line-height:1.05}
.flag-card small{font-size:14px;color:#C9C9CF;line-height:1.45}
.flag-card .btn{margin-top:8px;height:46px}
.flag-dim{position:absolute;inset:0;background:#030405;opacity:.3;pointer-events:none}
.vf{position:absolute;inset:7vh 4vw;pointer-events:none;z-index:2}
.vf i{position:absolute;width:44px;height:44px;border:2px solid rgba(255,255,255,.7)}
.vf i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.vf i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.vf i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.vf i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.vf-tag{position:absolute;top:calc(7vh + 58px);left:calc(4vw + 2px);z-index:3;color:rgba(255,255,255,.8)}
.vf-tag b{color:var(--tally);font-weight:500}
.beat{position:absolute;z-index:3;opacity:0;visibility:hidden;pointer-events:none}
.bt1{left:var(--gut-l);right:var(--gut-r);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.beat-k{color:var(--tally)}
.beat-h{font-size:clamp(52px,10.5vw,190px);font-weight:800;letter-spacing:-.05em;line-height:.9;display:flex;flex-wrap:wrap;justify-content:center;column-gap:.25em;overflow:hidden;padding-bottom:.08em}
.beat-h .wd{display:inline-flex;white-space:nowrap}.beat-h .wd span{display:inline-block}
.bt2{left:calc(var(--gut-l) + 4vw);right:var(--gut-r);bottom:17vh;display:flex;flex-direction:column;gap:10px}
.beat-p{font-size:clamp(18px,2vw,30px);color:rgba(255,255,255,.88);letter-spacing:-.01em}
.beat-out{font-size:clamp(44px,8.6vw,150px);font-weight:800;line-height:.88;letter-spacing:-.04em;text-transform:uppercase;color:rgba(255,255,255,0);-webkit-text-stroke:2px #fff;max-width:11ch}
.bt3{right:calc(var(--gut-r) + 5vw);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end}
.bt3 span{font-size:clamp(64px,13vw,230px);font-weight:800;line-height:.84;letter-spacing:-.055em;text-transform:uppercase;display:block;opacity:0}
.bt3 span:nth-child(2){color:rgba(255,255,255,0);-webkit-text-stroke:2px #fff}
.bt3 span:nth-child(3){color:var(--gold)}
.bt4{left:calc(var(--gut-l) + 4vw);right:var(--gut-r);bottom:18vh;display:flex;flex-direction:column;gap:4px}
.bt4 p{font-size:clamp(30px,4.4vw,72px);font-weight:600;line-height:1.02;letter-spacing:-.035em;max-width:16ch}
.bt4 p.em{color:var(--gold)}
.flag-title{font-size:clamp(44px,10vw,170px);font-weight:800;line-height:.88;letter-spacing:.02em;text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:center;overflow:hidden;padding-bottom:.04em;text-shadow:0 10px 60px rgba(0,0,0,.5)}
.flag-title{column-gap:.3em}
.flag-title .wd{display:inline-flex;white-space:nowrap}
.flag-title .wd span{display:inline-block}
.flag-sub{font-size:clamp(12px,1.4vw,20px);letter-spacing:.6em;font-weight:500;text-transform:uppercase;opacity:.9;padding-left:.6em}
.flag-meta{font-size:clamp(15px,1.3vw,18px);color:#C9C9CF;max-width:46ch;line-height:1.5}

/* ---------- BRAND & MUSIC: clients on one arc, films on the other, linked in the middle ---------- */
#brand .sec{padding-bottom:40px}
.circ-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2}
.circ-head .h2{font-size:clamp(30px,3.6vw,54px)}
.circ{position:relative;height:min(80vh,820px);min-height:560px;margin-top:8px;overflow:hidden;
  -webkit-mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.arc-label{position:absolute;top:50%;font-family:var(--mono);font-size:11px;letter-spacing:.4em;text-transform:uppercase;opacity:.45;writing-mode:vertical-rl;transform:translateY(-50%)}
.arc-label.l{left:0;transform:translateY(-50%) rotate(180deg)}.arc-label.r{right:0}
.ctl{position:absolute;left:0;top:0;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:18px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.45);will-change:transform;transition:box-shadow .4s}
.ctl img{width:100%;height:100%;object-fit:cover;display:block}
.ctl.cli{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:22px;letter-spacing:-.02em}
.ctl.on{box-shadow:0 0 0 3px #fff,0 24px 50px rgba(0,0,0,.6)}
.c-line{position:absolute;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.55));pointer-events:none}
.c-line.r{background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,.05))}
.cc{position:absolute;left:50%;top:50%;width:min(36vw,580px);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:3}
.cc-client{display:flex;align-items:center;gap:12px;align-self:stretch;justify-content:center}
.cc-logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:16px;flex-shrink:0}
.cc-client b{display:block;font-size:18px;letter-spacing:-.01em}
.cc-client small{display:block;font-size:13px;color:var(--mute)}
.cc-thumb{position:relative;width:100%;aspect-ratio:16/9;border-radius:20px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.6);cursor:pointer}
.cc-thumb .nf{transition:opacity .45s ease,transform .6s var(--ease)}
.cc-thumb .nf.leaving{opacity:0;transform:scale(1.04)}
.cc-thumb .nf-t b{font-size:clamp(22px,2.4vw,38px)}

/* ---------- BRAND & MUSIC on the Art Circles layout ---------- */
#brand .bc-sec{padding:calc(70px + env(safe-area-inset-top, 0px)) 0 10px;color:#1b1b1a}
.bc{position:relative;height:max(700px,calc(100svh - 80px));overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  -webkit-mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent)}
.bc .arc-label{color:#8A877F;opacity:1;z-index:1}
.bc .arc-label.l{left:max(16px, env(safe-area-inset-left, 0px))}.bc .arc-label.r{right:max(16px, env(safe-area-inset-right, 0px))}
.bc-arc{position:absolute;inset:0;pointer-events:none;z-index:2}
.btl{--t:clamp(68px,6.6vw,100px);position:absolute;left:0;top:0;width:var(--t);aspect-ratio:1;margin:calc(var(--t) / -2) 0 0 calc(var(--t) / -2);display:flex;align-items:center;justify-content:center;border:3px solid #fff;border-radius:6px;overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.18);pointer-events:auto;cursor:pointer;will-change:transform;transition:box-shadow .4s,border-color .4s}
.btl img{width:100%;height:100%;object-fit:cover;display:block}
.btl.cli{color:#fff;font-weight:800;font-size:clamp(16px,1.5vw,22px)}
.btl.cli img.lg{width:76%;height:76%;object-fit:contain}
.btl.cli img.ph{width:100%;height:100%;object-fit:cover}
.btl.on{border-color:#1b1b1a;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.btl:not(.on){box-shadow:0 calc(var(--h,0) * 26px) calc(var(--h,0) * 46px) rgba(0,0,0,calc(var(--h,0) * .3))}
.btl img{filter:saturate(calc(.85 + var(--h,0) * .4)) brightness(calc(.96 + var(--h,0) * .1))}
.bc-head{position:absolute;top:4%;left:50%;transform:translateX(-50%);width:min(620px,56%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:3}
.bc-head .mono{color:#6E6B64}
.bc-head h2{font-size:clamp(30px,3.9vw,62px);font-weight:800;letter-spacing:-.045em;line-height:.96}
.bc-by{font-size:13px;color:#6E6B64;letter-spacing:.02em;margin-top:2px}
.bc-mid{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);display:flex;align-items:center;z-index:3;--sq:clamp(160px,15.5vw,250px)}
.bc-side{width:clamp(110px,10vw,160px);display:flex;flex-direction:column;gap:3px}
.bc-side.l{text-align:right;padding-right:16px}.bc-side.r{padding-left:16px}
.bc-side b{font-size:16px;font-weight:700;letter-spacing:-.01em}.bc-side small{font-size:12px;color:#6E6B64;line-height:1.35}
.bc-sq{width:var(--sq);height:var(--sq);position:relative;overflow:hidden;border:4px solid #fff;box-shadow:0 22px 50px rgba(0,0,0,.22);flex-shrink:0;cursor:pointer}
.bc-sq.cli{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#1b1b1a;transition:background .6s}
.bc-sq.cli.dark{color:#fff}
.bc-sq.cli img.lg{width:68%;max-height:52%;object-fit:contain}
.bc-sq.cli img.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bc-sq.cli .ini{font-weight:800;font-size:calc(var(--sq) * .3);letter-spacing:-.04em;line-height:1;color:#fff}
.bc-sq.cli small{font-size:12px;opacity:.75;padding:0 10px;text-align:center;position:relative}
.bc-sq.cli.photo small{position:absolute;left:0;right:0;bottom:0;padding:24px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;opacity:1}
.bc-sq .sq-in{position:absolute;inset:0}
.bc-sq .sq-in img,.bc-sq .sq-in video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bc-sq .sq-in video{opacity:0;transition:opacity .6s}.bc-sq .sq-in.playing video{opacity:1}
.bc-card{width:clamp(200px,18vw,300px);height:calc(var(--sq) * .86);background:#F8F7F3;border-top:2px solid #2b2b2a;border-bottom:2px solid #2b2b2a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:0 14px;box-sizing:border-box}
.bc-card h3{font-size:clamp(17px,1.6vw,25px);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.bc-card .mono{font-size:10px;color:#6E6B64}
.bc-card p{font-size:13px;color:#55534D;line-height:1.4}
.bc-btn{margin-top:6px;height:38px;padding:0 18px;border-radius:999px;background:linear-gradient(#3a3a39,#222);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px rgba(0,0,0,.2)}
.bc-foot{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);color:#8A877F;z-index:3;white-space:nowrap}

/* ---------- player: grows out of the card you clicked ---------- */
#player{position:fixed;inset:0;z-index:990;visibility:hidden;display:flex;align-items:center;justify-content:center}
.p-back{position:absolute;inset:0;background:rgba(4,4,6,.84);opacity:0;cursor:zoom-out}
.p-amb{position:absolute;left:50%;top:50%;width:80vw;height:70vh;transform:translate(-50%,-50%);filter:blur(120px) saturate(1.3);opacity:0;pointer-events:none}
.p-box{position:relative;display:flex;flex-direction:column;gap:14px;align-items:stretch;pointer-events:none}
.p-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;color:#fff;pointer-events:auto}
.p-head b{font-size:clamp(18px,1.8vw,26px);letter-spacing:-.02em;display:block}
.p-head small{font-size:13px;color:#A9A9B1}
.p-frame{position:relative;width:min(86vw,calc(74vh * 16 / 9));aspect-ratio:16/9;border-radius:20px;overflow:hidden;pointer-events:auto;box-shadow:0 50px 120px rgba(0,0,0,.6);will-change:transform;transform-origin:50% 50%}
#player.vertical .p-frame{width:auto;height:min(76vh,calc(86vw * 16 / 9));aspect-ratio:9/16}
.p-frame .fx,.p-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:pointer}
.p-ctrl{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(10,10,14,.45);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff}
.p-ctrl .ib{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.p-ctrl .ib:hover{background:rgba(255,255,255,.12)}
.p-scrub{flex:1;height:28px;display:flex;align-items:center;cursor:pointer;touch-action:none;min-width:40px}
.p-scrub .tr{position:relative;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.22)}
.p-scrub .fi{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:4px;background:#fff}
.p-scrub .kn{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;left:0}
.p-time{font-family:var(--mono);font-size:11px;letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.85}
.p-fmt{display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.1);flex-shrink:0}
.p-fmt[hidden]{display:none}
.p-fmt button{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#fff;padding:7px 10px;border-radius:999px;opacity:.6;min-height:30px}
.p-fmt button.on{background:#fff;color:#111;opacity:1}
.nf-fmt{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:#fff;padding:4px 7px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
/* client folder: the full library under the picks */
.cx-lib{margin-top:6vh;display:flex;flex-direction:column;gap:34px}
.cx-lib h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.02em;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cx-lib h3 small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#6b6b66;font-weight:500;text-transform:uppercase}
.cx-grp{display:flex;flex-direction:column;gap:14px}
.cx-grp h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#55554F;font-weight:500}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px}
.ltile{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#111;color:#fff;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.12);transition:transform .5s var(--ease),box-shadow .5s}
.ltile:hover,.ltile:focus-visible{transform:translateY(-4px);box-shadow:0 22px 40px rgba(0,0,0,.22)}
.ltile img,.ltile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ltile video{opacity:0;transition:opacity .5s}.ltile.playing video{opacity:1}
.ltile .lt-g{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.78))}
.ltile .lt-t{position:absolute;left:14px;right:14px;bottom:12px;display:flex;flex-direction:column;gap:3px}
.ltile .lt-t b{font-size:16px;letter-spacing:-.01em;line-height:1.15}
.ltile .lt-t span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;opacity:.8;text-transform:uppercase}
@media (max-width:760px){.cx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ltile{aspect-ratio:4/5}.ltile .lt-t{left:10px;right:10px;bottom:10px}.ltile .lt-t b{font-size:14px}.ltile .nf-fmt{top:8px;right:8px}}
.p-close{position:fixed;top:calc(18px + env(safe-area-inset-top, 0px));right:var(--gut-r);z-index:2}
.p-close.pill{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}

/* ---------- phone ---------- */
@media (max-width: 760px){
  #index{display:none}
  .fcard{--w:44vw}
  .fan{height:min(46vh,420px)}
  .wall-plane{width:1500px}
  .wall-row .fx{width:180px}
  .dcard{--w:76vw}
  .bc{height:max(680px,calc(100svh - 90px))}
  .bc-head{top:2%;width:88%}
  .bc{height:max(720px,calc(100svh - 70px))}
  .btl{--t:70px}
  .bc-head h2{font-size:30px}
  .bc-mid{top:54%;display:grid;grid-template-areas:"s";width:min(78vw,360px);--sq:min(78vw,360px)}
  .bc-mid > *{grid-area:s}
  .bc-side{display:none}
  .bc-sq.film{width:100%;height:auto;aspect-ratio:1;border-radius:22px;border-width:5px}
  .bc-sq.cli{width:72px;height:72px;align-self:start;justify-self:start;margin:-18px 0 0 -18px;z-index:4;border-radius:16px;--sq:72px}
  .bc-sq.cli small{display:none}
  .bc-card{align-self:end;width:auto;height:auto;margin:0 12px 12px;padding:14px 12px;z-index:4;background:rgba(248,247,243,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:16px;border:0}
  .bc-foot{bottom:2%}
  .bc .arc-label{display:none}
  .ctl{width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:14px}
  .ctl.cli{font-size:17px}
  .cc{width:84vw}
  .c-line{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.55))}
  .arc-label{display:none}
  .fcard{--w:50vw}
  .fan{height:min(58vh,520px)}
  .wall-plane{width:1800px}
  .vcard{--w:56vw}
  #socRail{height:min(66vh,600px)}
  .dcard{--w:82vw}
  #docRail{height:calc(82vw * .5625 + 10px)}
  .bt3{right:var(--gut-r)}
  .vf{inset:6vh 16px}.vf-tag{left:20px}
  .wall-row .wt{width:180px}
  #docRail{height:calc(76vw * .5625 + 10px)}
  .vcard{--w:46vw}
  #socRail{height:min(62vh,560px)}
  .cl-track{grid-auto-columns:58vw}
  .feats{grid-template-columns:minmax(0,1fr)}
  .app{display:none}
  .p-frame{width:calc(100vw - 32px)}
  #player.vertical .p-frame{width:auto;height:min(72vh,calc((100vw - 32px) * 16 / 9))}
  .p-time{display:none}
  .docs-hero{min-height:0}
  .ab-wrap{grid-template-columns:minmax(0,1fr)}
  .ab-vid{width:min(62vw,280px);justify-self:center}
  .rail-hint{display:none}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------- CHAT ASSISTANT ---------- */
#chatBtn{position:fixed;right:calc(var(--gut-r) + 4px);bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:975;height:48px;padding:0 18px 0 14px;border-radius:999px;display:flex;align-items:center;gap:10px;background:#F2F1EE;color:#111;font-weight:600;font-size:14px;box-shadow:0 14px 34px rgba(0,0,0,.35);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .5s,transform .6s var(--ease)}
#chatBtn.show{opacity:1;transform:none;pointer-events:auto}
#chatBtn i{width:9px;height:9px;border-radius:50%;background:var(--tally);box-shadow:0 0 0 4px rgba(255,59,48,.18);animation:pulse 2s ease-in-out infinite}
#chatBtn:hover{transform:translateY(-2px)}
body.locked #chatBtn,body.chatting #chatBtn{opacity:0;pointer-events:none}
#chat{position:fixed;right:calc(var(--gut-r) + 4px);bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:976;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100svh - 120px));display:flex;flex-direction:column;border-radius:22px;background:rgba(14,14,18,.92);color:#F2F1EE;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 90px rgba(0,0,0,.55);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;transform-origin:100% 100%}
#chat[hidden]{display:none}
.ch-top{display:flex;align-items:center;gap:12px;padding:14px 14px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.ch-av{width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}
.ch-av img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ch-who{flex:1;min-width:0;display:flex;flex-direction:column}
.ch-who b{font-size:15px}.ch-who small{font-size:12px;color:#A9A9B1}
.ch-x{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#C9C9CF}
.ch-x:hover{background:rgba(255,255,255,.08)}
.ch-log{flex:1;min-height:0;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.ch-m{max-width:85%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.ch-m.bot{align-self:flex-start;background:rgba(255,255,255,.08);border-bottom-left-radius:6px}
.ch-m.me{align-self:flex-end;background:#F2F1EE;color:#111;border-bottom-right-radius:6px}
.ch-m.typing::after{content:"";display:inline-block;width:6px;height:6px;margin-left:4px;border-radius:50%;background:currentColor;opacity:.6;animation:recb 1s steps(1) infinite}
.ch-cta{align-self:flex-start;height:40px;padding:0 16px;border-radius:999px;background:var(--tally);color:#fff;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.ch-sug{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}
.ch-sug button{font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#E9E9E7}
.ch-sug button:hover{background:rgba(255,255,255,.08)}
.ch-in{display:flex;gap:8px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.08)}
.ch-in input{flex:1;min-width:0;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:16px;padding:0 16px;outline:none}
.ch-in input:focus{border-color:rgba(255,255,255,.4)}
.ch-in button{width:44px;height:44px;border-radius:50%;background:#F2F1EE;color:#111;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ch-in button:disabled{opacity:.4}
.ch-note{font-size:11px;color:#77777F;text-align:center;padding:0 12px 10px}
@keyframes recb{50%{opacity:.15}}
@media (max-width:760px){
  #chatBtn{right:var(--gut-r);bottom:calc(14px + env(safe-area-inset-bottom, 0px));height:46px}
  #chat{right:0;left:0;bottom:0;width:100%;height:min(78svh,620px);border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom, 0px)}
}
.ch-sug[hidden]{display:none}

/* ---------- speed: rest what you can't see, lighten effects on touch screens ---------- */
.wall.rest .wall-row{animation-play-state:paused}
@media (hover:none){
  /* drag a brand circle tile up or down (or sideways on phones) to move that column */
  .btl{touch-action:none}
  #grain{animation:none}
  .fold .front{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(250,250,249,.95)}
  .sw-tex i{animation:none}
}
