:root{--bg:#0b0b0b;--ink:#ece9e4;--acc:#d7362b;--mut:#8a8783;--fd:'Oswald',sans-serif;--fb:'Inter',system-ui,sans-serif;--tt:uppercase;--ls:.02em;--ease:cubic-bezier(.7,0,.2,1);--cr:50%}
[data-scene=gym]{--fd:'Bodoni Moda',serif;--tt:uppercase;--ls:.06em;--fs:normal;--cr:0}
[data-scene=street]{--fd:'Cormorant Garamond',serif;--tt:uppercase;--ls:.12em;--fs:normal;--cr:1px}
[data-scene=work]{--fd:'Inter',sans-serif;--tt:uppercase;--ls:.32em;--fs:normal;--cr:50%}
[data-scene=date]{--fd:'Cormorant Garamond',serif;--tt:none;--ls:-.01em;--fs:italic;--cr:50%}
[data-scene=night]{--fd:'Bodoni Moda',serif;--tt:none;--ls:-.01em;--fs:italic;--cr:50%}
[data-scene=outdoor]{--fd:'Cormorant Garamond',serif;--tt:none;--ls:0;--fs:normal;--cr:40%}
:root{--ease:cubic-bezier(.65,0,.15,1)}
*{box-sizing:border-box;margin:0}html{background:var(--bg);color:var(--ink)}body{font:300 15px/1.6 var(--fb);background:var(--bg);color:var(--ink);transition:background .9s var(--ease),color .9s}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px 4vw;mix-blend-mode:difference;color:#fff}
.logo{font:700 15px/1 var(--fb);letter-spacing:.32em}.nav nav{display:flex;gap:26px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.mockbar{position:fixed;bottom:12px;left:12px;z-index:60;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.6);color:#ddd;padding:6px 10px;border-radius:20px;backdrop-filter:blur(6px)}
.cur{position:fixed;left:0;top:0;z-index:99;width:16px;height:16px;margin:-8px 0 0 -8px;border:1.5px solid var(--acc);border-radius:var(--cr);pointer-events:none;opacity:0;transition:width .3s,height .3s,margin .3s,border-radius .6s,background .3s}
.cur.big{width:54px;height:54px;margin:-27px 0 0 -27px;background:color-mix(in srgb,var(--acc) 22%,transparent)}
@media (pointer:coarse){.cur{display:none}}
.disp{font-family:var(--fd);text-transform:var(--tt);letter-spacing:var(--ls);font-style:var(--fs);font-weight:300;line-height:.95}.disp em{font-style:italic}
[data-scene=work] .disp{font-weight:300;font-size:.62em}[data-scene=gym] .disp,[data-scene=night] .disp{font-weight:400}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border:1px solid color-mix(in srgb,var(--ink) 45%,transparent);border-radius:999px;font-size:11px;letter-spacing:.28em;transition:all .8s var(--ease);text-transform:uppercase;transition:.4s var(--ease)}
.btn:hover,.btn.solid{background:var(--acc);border-color:var(--acc);color:#fff}.btn.sm{padding:9px 18px;font-size:11px}
/* stage */
#stage{position:relative;height:100svh;overflow:hidden;touch-action:pan-y;cursor:grab}
#poster,#gl{position:absolute;inset:0;width:100%;height:100%}#poster img{width:100%;height:100%;object-fit:cover;filter:brightness(.62);transition:opacity .45s}
#gl{opacity:0}.gl #poster{visibility:hidden}
.shade{position:absolute;inset:0;background:radial-gradient(ellipse 40% 55% at 50% 60%,rgba(0,0,0,.35),transparent 70%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%,transparent 60%,rgba(0,0,0,.6));pointer-events:none}
.gl .shade{background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 30%,transparent 65%,rgba(0,0,0,.55))}
.layer{position:absolute;pointer-events:none}#lmid{inset:0;width:100%;height:100%;object-fit:cover}#lfg{inset:-4%;width:108%;height:108%;object-fit:cover}
#model{position:absolute;left:50%;bottom:0;height:86svh;width:auto;max-width:none;transform-origin:50% 100%;translate:-50% 0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6));pointer-events:none}
.stxt{position:absolute;left:4vw;bottom:9vh;z-index:5;max-width:44vw;color:#fff}.stxt .o{overflow:hidden}
.stxt .k{font-size:12px;letter-spacing:.3em;text-transform:uppercase;opacity:.85}.stxt .k b{color:var(--acc)}
#sv{font-size:clamp(50px,7.4vw,124px);margin:.08em 0 .12em}#sl{max-width:380px;opacity:.9}.stxt .btn{margin-top:22px;border-color:#fff}
.sctl{position:absolute;right:4vw;bottom:9vh;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:18px;color:#fff}
.filt{display:flex;gap:6px}.filt button{padding:7px 14px;border:1px solid rgba(255,255,255,.4);border-radius:99px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.filt .on{background:#fff;color:#000}
.dots{display:flex;gap:6px}.dots button{width:22px;height:3px;background:rgba(255,255,255,.3);transition:.5s}.dots button.on{width:46px;background:var(--acc)}
.arr{display:flex;gap:8px}.arr button{width:52px;height:52px;border:1px solid rgba(255,255,255,.5);border-radius:var(--cr);transition:border-radius .6s,background .3s}.arr button:hover{background:var(--acc)}
#sp{position:absolute;top:84px;right:4vw;z-index:5;color:#fff;font-size:11px;letter-spacing:.25em;text-transform:uppercase;opacity:.8}
.scroll{position:absolute;left:50%;bottom:20px;translate:-50% 0;z-index:5;color:#fff;font-size:10px;letter-spacing:.3em;opacity:.7}
/* sections */
.sec{padding:180px 7vw}.sec h2{font-size:clamp(40px,5.6vw,92px);margin-bottom:70px}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end}.intro p{font-size:18px;max-width:520px;color:var(--mut)}
.grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gtile{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:#111;isolation:isolate}
.gtile .gb{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;filter:brightness(.55) blur(1.5px);transition:transform 1s var(--ease)}
.gtile .gm{position:absolute;left:50%;bottom:0;height:88%;width:auto;max-width:none;translate:-50% 0;filter:drop-shadow(0 20px 30px rgba(0,0,0,.6));transition:transform 1s var(--ease)}
.gtile .gcap{position:absolute;inset:auto 0 0;padding:18px;display:flex;justify-content:space-between;align-items:end;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.gtile .gcap .disp{font-size:30px}.gtile .gcap span{font-size:11px;letter-spacing:.2em}
.gtile:hover .gm{transform:scale(1.04)}
footer{padding:80px 4vw 60px;border-top:1px solid color-mix(in srgb,var(--ink) 15%,transparent);display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;color:var(--mut)}
/* vibe */
.vhero{position:relative;height:100svh;overflow:hidden;color:#fff}.vbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.vbg-blur{position:absolute;inset:0;background:radial-gradient(ellipse 30% 50% at 62% 62%,rgba(0,0,0,.45),transparent 70%);backdrop-filter:blur(0);pointer-events:none}
.vmw{position:absolute;inset:0;pointer-events:none}.vm{position:absolute;right:12vw;bottom:0;height:88svh;width:auto;max-width:none;filter:drop-shadow(0 30px 40px rgba(0,0,0,.65))}
.vfg{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;pointer-events:none}
.vtxt{position:absolute;left:4vw;bottom:10vh;z-index:3}.vtxt .o{overflow:hidden}.vtxt h1{font-size:clamp(60px,10vw,170px)}.vtxt .k{font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.crumb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:12px}.vhero .crumb{color:#ddd}
.looks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.look{position:relative;background:color-mix(in srgb,var(--ink) 5%,var(--bg));border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:8px;overflow:hidden}
.lim{aspect-ratio:3/4;overflow:hidden;background:#151515}.lim img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.look:hover .lim img{transform:scale(1.04)}
.lcap{padding:20px}.lcap h3{font-size:30px}.lmeta{color:var(--mut);font-size:13px}.ltot{font-size:26px;margin:6px 0 12px;font-weight:500}
.badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--acc);color:#fff;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px;border-radius:99px}
.bship{font-size:12.5px;margin-top:8px;color:var(--ink)}.bship .was{color:var(--mut)}
.litems{list-style:none;padding:0;margin-top:12px;max-height:0;overflow:hidden;transition:max-height .7s var(--ease)}.look.open .litems{max-height:600px}
.litems li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);font-size:13.5px}.litems a{text-decoration:underline;text-underline-offset:3px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.tab{padding:9px 18px;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);border-radius:99px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.tab.on{background:var(--acc);border-color:var(--acc);color:#fff}
.pane{display:none}.pane.on{display:block}.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pcard img,.pcard .soon{aspect-ratio:1;object-fit:cover;width:100%;border-radius:6px;background:#EDEDED}.pt{margin-top:10px;font-size:14px}.pp{color:var(--mut)}
.soon{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:linear-gradient(135deg,#1b1b1b,#2a2a2a);color:#aaa;font-size:11px;letter-spacing:.22em;text-transform:uppercase;width:100%}
.pcard .soon{background:linear-gradient(135deg,#d9d9d9,#ededed);color:#666}
/* pdp */
.pdp{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;padding:120px 4vw 80px}.gmain img,.gmain .soon{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#EDEDED}.gmain img:not(:first-child){display:none}
.thumbs{display:flex;gap:8px;margin-top:10px}.thumbs img{width:76px;height:76px;object-fit:cover;border-radius:4px;cursor:pointer;background:#EDEDED}
.pinfo h1{font-size:clamp(34px,4vw,60px);margin:6px 0 16px}.price{font-size:28px;margin-bottom:14px}.ship{font-size:14px;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);margin-bottom:16px}
.note{color:var(--mut);font-size:13px;margin-bottom:18px}.inlooks{margin-top:30px}.inlooks h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}.inlooks a{display:block;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.pband{height:38vh;position:relative;overflow:hidden}.pband img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) blur(2px)}
@media(max-width:760px){.nav nav{gap:14px}.nav nav a.hm{display:none}#model{height:66svh}.stxt{max-width:92vw;bottom:150px}.sctl{left:4vw;right:4vw;bottom:24px;align-items:stretch}.dots{justify-content:space-between}.dots button{flex:1}.arr{display:none}
 .intro,.looks,.pdp{grid-template-columns:1fr}.grid6{grid-template-columns:1fr 1fr}.pgrid{grid-template-columns:1fr 1fr}.vm{right:50%;translate:50% 0;height:70svh}.sec{padding:80px 5vw}.pdp{padding-top:90px}#sp{top:64px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.scene-soon{display:flex;align-items:flex-end;justify-content:flex-end;padding:22px;background:radial-gradient(ellipse 70% 60% at 50% 40%,color-mix(in srgb,var(--acc) 22%,var(--bg)),var(--bg) 75%);color:color-mix(in srgb,var(--ink) 55%,transparent);font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.gtile .scene-soon{position:absolute;inset:0}.vhero .scene-soon{position:absolute;inset:0;padding:30px 4vw 120px}.pband .scene-soon{height:100%}
#poster img:not([src]){display:none}#poster{background:radial-gradient(ellipse 70% 60% at 50% 40%,color-mix(in srgb,var(--acc) 22%,var(--bg)),var(--bg) 75%)}
.vig{position:fixed;inset:0;pointer-events:none;z-index:40;box-shadow:inset 0 0 22vw rgba(0,0,0,.55)}
.gtile .gcap .disp{font-size:34px}.lcap h3{font-size:34px;font-weight:300}
body::after{content:"";position:fixed;inset:-50%;z-index:45;pointer-events:none;opacity:.05;background:repeating-radial-gradient(circle at 17% 32%,#fff 0 .5px,transparent 1px 3px),repeating-radial-gradient(circle at 73% 61%,#000 0 .5px,transparent 1px 2.5px);animation:gr 1.2s steps(4) infinite}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}}
/* ===== v11 ===== */
.sec{padding:110px 7vw}.sec h2{margin-bottom:44px}.intro{padding-bottom:40px}
html,body{overflow-x:hidden;max-width:100%}body{background:color-mix(in srgb,var(--bg) 82%,#2a2a2a)}
:root{--mut:#b4b0aa}
.disp,[data-scene] .disp{text-transform:none;letter-spacing:-.005em}
[data-scene=work] .disp{font-size:inherit}
.crumb,.stxt .k,.k,.badge,#sp,.scroll,.lmeta,.tab,.filt button,.bagn{text-transform:uppercase;letter-spacing:.2em;font-size:11px}
.crumb{color:#cfcac3}.vhero .crumb{color:#eee}.intro p{color:#c9c5bf}
.nav{mix-blend-mode:normal;background:rgba(10,10,10,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);padding:16px 4vw;color:#f2f0ec}
.nav nav{text-transform:none;letter-spacing:.04em;font-size:14px;gap:28px}.nav nav a{color:#f2f0ec}.nav nav a:hover{color:var(--acc)}
.burger{display:none;width:40px;height:40px;position:relative}.burger span{position:absolute;left:9px;right:9px;height:1.5px;background:#fff;transition:.3s}.burger span:first-child{top:15px}.burger span:last-child{top:24px}
.menu .burger span:first-child{top:20px;rotate:45deg}.menu .burger span:last-child{top:20px;rotate:-45deg}
.scene-grad{background:radial-gradient(ellipse 80% 60% at 60% 35%,color-mix(in srgb,var(--acc) 30%,var(--bg)),transparent 70%),radial-gradient(ellipse 60% 50% at 15% 90%,color-mix(in srgb,var(--acc) 14%,var(--bg)),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 70%,#222),var(--bg))}
.gtile .scene-grad,.vhero .scene-grad,.lscene .scene-grad{position:absolute;inset:0}.pband .scene-grad{height:100%}
.lscene{position:relative;width:100%;height:100%;overflow:hidden}.lscene .lsb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.lscene .lcut{position:absolute;left:50%;bottom:0;translate:-50% 0;height:92%;width:auto!important;max-width:none;object-fit:contain!important;filter:drop-shadow(0 20px 30px rgba(0,0,0,.6))}
.lbtns{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.bship,.ship1{font-size:13px;margin-top:6px;color:#d8d4ce}.bship b,.ship1 b{font-weight:500;margin-right:6px}.was{opacity:.8}
.bagd{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s}
.bagd.on{opacity:1;pointer-events:auto}.bagp{position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);background:#111;color:#f0ede8;padding:26px;overflow:auto;translate:100% 0;transition:translate .4s var(--ease)}
.bagd.on .bagp{translate:0 0}.bagh{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.bagh h2{font-size:34px}.bagh button{font-size:30px;line-height:1}
.bi{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;border-bottom:1px solid #2a2a2a;font-size:14px}.bq{display:flex;gap:10px;align-items:center}.bq button{width:28px;height:28px;border:1px solid #555;border-radius:50%}
.brm{justify-self:start;font-size:12px;text-decoration:underline;opacity:.85}.bagt{display:flex;justify-content:space-between;margin:18px 0 10px;font-size:16px}.bagn{color:#cfcac3;line-height:1.6}.bagempty{opacity:.8;padding:20px 0}
.bagpage{max-width:720px;margin:0 auto;padding-top:130px}.bagpage h1{font-size:56px;margin-bottom:20px}
@media(max-width:760px){
 .burger{display:block}.nav{padding:10px 5vw}
 .nav nav#mnav{position:fixed;top:60px;left:0;right:0;flex-direction:column;gap:0;background:#0b0b0b;border-bottom:1px solid #222;display:none;font-size:18px}
 .nav nav#mnav a{padding:16px 6vw;border-top:1px solid #1d1d1d}.menu .nav nav#mnav{display:flex}
 .vtxt{left:5vw;right:5vw;bottom:8vh;max-width:90vw}.vtxt h1{font-size:clamp(48px,15vw,80px);overflow-wrap:anywhere}.vtxt p{max-width:100%!important}
 .vhero{height:100svh;min-height:640px}.vhero .crumb{margin-top:0}
 .vm{height:62svh}.stxt{left:5vw;right:5vw}#sv{font-size:clamp(44px,14vw,76px)}
 .looks{grid-template-columns:1fr!important;gap:22px}.look,.pcard,.gtile{min-width:0;max-width:100%}
 .sec{padding:70px 5vw}.sec h2{font-size:40px;margin-bottom:30px}.pdp{padding-top:90px}
 .tabs{flex-wrap:wrap}.grid6,.pgrid{gap:10px}
}
/* ===== v14: brand (allblackapparel.com) + in-scene compositing ===== */
:root{--ab-void:#050505;--ab-core:#0A0A0A;--ab-jet:#111111;--ab-graphite:#1C1C1C;--ab-bone:#F2F0EB;--ab-ash:#8A8A8A;--ox:#7A1C23;--ox-3:#C9555E;
 --fb:'Manrope',system-ui,sans-serif;--fd:'Cormorant Garamond',Georgia,serif;--ink:#F2F0EB;--mut:#b9b6b0}
[data-scene]{--fd:'Cormorant Garamond',Georgia,serif}
html,body{background:#050505;color:#F2F0EB}body{font-family:'Manrope',system-ui,sans-serif}
.disp,h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.02em}
.crumb,.k,.badge,#sp,.lmeta,.tab,.bagn{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:.18em}
body::after{content:none!important;display:none!important;animation:none!important}
.vig{box-shadow:inset 0 0 16vw rgba(0,0,0,.28)}
.nav{background:rgba(5,5,5,.94)}
.logo img{display:block;height:20px;width:auto}
footer .fm{display:block;height:64px;width:auto;margin-bottom:14px}footer small{display:block;margin-bottom:10px;color:var(--ab-ash)}
.bagmark{display:block;height:14px;width:auto;margin-bottom:10px;opacity:.9}.bagp{background:#0A0A0A}
.btn.solid{background:#F2F0EB;color:#0A0A0A;border-color:#F2F0EB}.badge{background:#7A1C23;color:#F2F0EB}.tab.on{background:#F2F0EB;color:#0A0A0A;border-color:#F2F0EB}
/* models: no glow/halo drop-shadow; shadow + AO are baked into the cutout; feet on a floor point */
#model,.gm,.vm,.lscene .lcut{filter:none!important}
#model{height:var(--mh,82svh);bottom:var(--floor,2svh)}
.vm{height:var(--mh,84svh);bottom:var(--floor,1svh)}
.lscene .lcut{height:90%;bottom:1%}
.dof{position:absolute;inset:0;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
 -webkit-mask-image:radial-gradient(ellipse 26% 60% at var(--mx,50%) 48%,#000 30%,transparent 72%);mask-image:radial-gradient(ellipse 26% 60% at var(--mx,50%) 48%,#000 30%,transparent 72%)}
.lscene .lsb{filter:brightness(.85) blur(1.5px);transform:scale(1.03)}
@media(max-width:760px){#model{height:var(--mhm,66svh);bottom:var(--floorm,8svh)}.vm{height:62svh;bottom:2svh}.logo img{height:16px}.dof{--mx:50%}}
.vbg-blur{display:none}
/* ===== v15: Gemini in-scene looks, full body always visible ===== */
#lmid,#lfg,.vfg,.dof{display:none!important}
.mframe{position:absolute;z-index:4;left:52%;top:92px;bottom:5vh;aspect-ratio:3/4;translate:-50% 0;border-radius:6px;overflow:hidden;background:#0A0A0A;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.mframe #model{position:absolute;inset:0;left:0;bottom:0;width:100%;height:100%;translate:none;max-width:none;object-fit:contain;object-position:50% 100%}
.stxt{max-width:30vw}#sv{font-size:clamp(44px,5.4vw,96px)}
.vm{right:7vw;top:92px;bottom:4vh;height:calc(100svh - 92px - 4vh);width:auto;max-width:none;object-fit:contain;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.45);z-index:2}
.vtxt{max-width:calc(86vw - (100svh - 92px - 4vh)*.75 - 4vw)}.vtxt h1{font-size:clamp(48px,6.4vw,118px);overflow-wrap:break-word}
.gtile{aspect-ratio:auto;overflow:visible;background:none}.gimg{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:#111}
.gtile .gm{inset:0;left:0;width:100%;height:100%;translate:none;object-fit:cover;object-position:50% 100%}.gtile:hover .gm{transform:none}
.gtile .gcap{position:static;background:none;padding:12px 2px 0}
.lim img{object-fit:cover;object-position:50% 100%}.look:hover .lim img{transform:none}
.flatlay .flat{position:absolute;inset:7%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;align-content:center}
.flatlay .flat.n5,.flatlay .flat.n6,.flatlay .flat.n7,.flatlay .flat.n8,.flatlay .flat.n9{grid-template-columns:repeat(3,1fr)}
.flatlay .flat img{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:contain!important;background:#EDEDED;border-radius:4px;transform:none!important}
.pcard img{object-fit:contain;background:#EDEDED}.gmain img{object-fit:contain;background:#EDEDED}
@media(max-width:760px){
 .vig{display:none}
 #stage{height:auto;min-height:100svh;display:flex;flex-direction:column;gap:18px;padding:72px 5vw 22px;box-sizing:border-box}
 .stxt,.sctl{position:relative;left:auto;right:auto;bottom:auto;max-width:none;order:1}
 .mframe{position:relative;order:2;left:auto;top:auto;bottom:auto;translate:none;width:100%;flex:none}
 .sctl{order:3}.scroll{display:none}
 #stage .shade{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 40%,transparent 60%)}
 .vhero{height:auto;min-height:0;display:flex;flex-direction:column;gap:18px;padding:76px 5vw 28px;box-sizing:border-box}
 .vtxt,.vmw{position:relative;left:auto;right:auto;bottom:auto;inset:auto;max-width:none}.vtxt{order:1}.vmw{order:2}
 .vm{position:relative;right:auto;top:auto;bottom:auto;translate:none;width:100%;height:auto}
}
@media(max-width:760px){#sp{display:none!important}}
/* v17: home vibe rows = 6 across (men row, women row); full-body 3:4, contain so nothing crops */
.grid6.home6{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.home6 .gtile .gm{object-fit:contain}
.home6 .gtile .gcap .disp{font-size:clamp(17px,1.45vw,24px);line-height:1.1}.home6 .gtile .gcap{gap:6px}
@media (max-width:760px){.grid6.home6{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-right:-5vw;padding-right:5vw;-webkit-overflow-scrolling:touch}
 .home6 .gtile{flex:0 0 44vw;scroll-snap-align:start}.home6 .gtile .gcap .disp{font-size:18px}}
/* v17 carousel rows: overrides the 6-col grid with a scrolling track showing 6 at a time on desktop */
.grid6.home6{display:flex;overflow-x:auto;scrollbar-width:none;gap:14px;grid-template-columns:none}
.grid6.home6::-webkit-scrollbar{display:none}
.home6 .gtile{flex:0 0 calc((100% - 70px)/6)}
@media (max-width:760px){.home6 .gtile{flex:0 0 44vw}.grid6.home6{scroll-snap-type:none}}
/* v17 blend: no framed card/shadow around hero looks; feather edges into its own blurred backdrop */
.mframe,.vm{box-shadow:none!important;border-radius:0!important;background:transparent!important}
.mframe #model,.vm{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 1%,#000 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,transparent 0,#000 1%,#000 100%);mask-composite:intersect}
.mframe{overflow:visible!important}
/* ================= v17 ================= */
@view-transition{navigation:auto}
#ldr{position:fixed;inset:0;z-index:9999;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .6s ease}
#ldr img{width:min(240px,52vw);opacity:0;animation:ldrin 1s .1s forwards}#ldr p{font:400 12px/1 Manrope,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#cfcac3;opacity:0;animation:ldrin 1s .45s forwards}
#ldr i{width:120px;height:1px;background:#3a3a3a;position:relative;overflow:hidden}#ldr i:after{content:"";position:absolute;inset:0;background:#C9555E;transform-origin:0 50%;animation:ldrl 1.2s .1s ease forwards;transform:scaleX(0)}
#ldr.out{opacity:0;pointer-events:none}@keyframes ldrin{to{opacity:1}}@keyframes ldrl{to{transform:scaleX(1)}}
.acc{display:block;width:64px;height:2px;background:#7A1C23;margin:16px 0;box-shadow:24px 0 0 #C9555E}
/* nav dropdown */
.dd{position:relative}.ddb{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}
.ddm{position:absolute;top:calc(100% + 14px);left:50%;translate:-50% 0;min-width:220px;background:#0b0b0b;border:1px solid #222;padding:10px 0;display:none;flex-direction:column;z-index:60}
.ddm a{padding:9px 18px;white-space:nowrap}.ddm a:hover{color:#C9555E}.dd.open .ddm,.dd:hover .ddm,.dd:focus-within .ddm{display:flex}
@media(max-width:760px){.ddm{position:static;translate:none;display:flex;border:0;background:none;padding:4px 0 0 12px;min-width:0}.ddb{opacity:.7;pointer-events:none}}
/* tighter site-wide */
.sec{padding:84px 5vw}.sec h2{font-size:clamp(32px,3.6vw,56px);margin-bottom:32px}
.lim{aspect-ratio:auto;height:55vh;background:#0b0b0b}.lim img{object-fit:contain!important;object-position:50% 100%}
.lcap{padding:14px 16px}.lcap h3{font-size:26px}
.pgrid{grid-template-columns:repeat(5,1fr);gap:14px}.pcard .pt{font-size:13px}
.pcard .btn.sm{margin-top:8px;width:100%}
@media(max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.pgrid{grid-template-columns:1fr 1fr}.lim{height:62vh}.sec{padding:56px 5vw}}
.gfilt{display:flex;gap:8px;margin:0 0 24px}.gfilt button{background:none;border:1px solid #333;color:inherit;padding:8px 16px;border-radius:99px;font:500 11px Manrope;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}.gfilt button.on{border-color:#C9555E;color:#fff}
.arts h1,.vpick h1{font-size:clamp(44px,6vw,96px)}
/* v17 vibe heroes: full-bleed campaign frame */
.vhero.v17{position:relative;height:100svh;min-height:620px;overflow:hidden;color:#fff;display:block;padding:0}
.vhero.v17 .vbgw{position:absolute;inset:-3%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vhero.v17 .vbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none}
.kb{animation:kb 26s ease-in-out infinite alternate}@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1%,-1%)}}
.vhero.v17 .vbig{position:absolute;z-index:1;left:0;right:0;top:15vh;margin:0;text-align:center;font-size:clamp(90px,15vw,260px);line-height:.85;font-weight:300;letter-spacing:-.01em;color:#f3efe9;white-space:nowrap;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.vbig span{display:inline-block;opacity:0;transform:translateY(.5em) rotate(4deg);animation:let 1.1s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.25s + var(--i)*.06s)}
@keyframes let{to{opacity:1;transform:none}}
.vhero.v17 .vmw{position:absolute;inset:0;z-index:2;pointer-events:none;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vhero.v17 .vm{position:absolute;left:50%;right:auto;top:auto;bottom:0;translate:-50% 0;height:calc(100svh - 70px);width:auto;max-width:none;object-fit:contain;z-index:2;border-radius:0;box-shadow:none}
.vhero.v17 .vtxt{position:absolute;z-index:3;left:4vw;bottom:9vh;max-width:min(320px,calc(50vw - 36svh - 6vw));top:auto;right:auto}
.vhero.v17 .vtxt p{font-size:15px;color:#e8e3dc;margin:0 0 14px}.vprice{font:500 12px Manrope;letter-spacing:.18em;text-transform:uppercase;color:#cfcac3;margin-bottom:16px}.vprice b{color:#fff;font-size:15px}
.vcue{position:absolute;z-index:3;right:4vw;bottom:5vh;font:500 10px Manrope;letter-spacing:.3em;text-transform:uppercase;color:#ddd;display:flex;flex-direction:column;align-items:center;gap:10px}
.vcue i{width:1px;height:44px;background:linear-gradient(#C9555E,transparent);animation:cue 2s ease-in-out infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:760px){.vhero.v17{height:auto;min-height:0;padding:72px 5vw 28px;display:flex;flex-direction:column}
 .vhero.v17 .vbig{position:relative;top:auto;font-size:clamp(56px,19vw,110px);white-space:normal;order:1}
 .vhero.v17 .vmw{position:relative;inset:auto;order:2;height:66svh}.vhero.v17 .vm{height:100%}
 .vhero.v17 .vtxt{position:relative;left:auto;bottom:auto;max-width:none;order:3;margin-top:18px}.vhero.v17 .vcue{display:none}}
/* walk hero */
#walk{position:relative;height:260svh;background:#050505}
.wstick{position:sticky;top:0;height:100svh;overflow:hidden;perspective:1000px}
.wlayers{position:absolute;inset:0}.wl{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform,opacity}
.wph{background:radial-gradient(ellipse 60% 50% at 50% 62%,rgba(122,28,35,.35),transparent 70%),linear-gradient(180deg,#0b0b0b,#050505)}
.wshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 35%,rgba(0,0,0,.55))}
.beat{position:absolute;left:0;right:0;bottom:16vh;text-align:center;padding:0 6vw;opacity:0;color:#fff;transform-style:preserve-3d}
.beat h2{font-size:clamp(34px,4.6vw,74px);line-height:1.02;font-weight:300;margin:0}.beat em{color:#e3d9d0}
.beat.b4{bottom:20vh}.wstick .vcue{position:absolute;bottom:4vh;left:50%;translate:-50% 0}
/* vibe chapters */
.chap{position:relative;height:220svh}
.cin{position:sticky;top:0;height:100svh;overflow:hidden;background:#050505;will-change:clip-path}
.cmed{position:absolute;inset:0;will-change:transform;transform-origin:50% 60%}
.cmed video,.cmed .cimg,.cvb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cvb{filter:none}
.cpair{position:absolute;inset:8vh 0 0;display:flex;justify-content:center;align-items:flex-end;gap:2vw}
.cpair .gm{position:static!important;height:100%!important;width:auto!important;max-width:44vw;object-fit:contain;translate:none!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.cshade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),transparent 45%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 30%)}
.ctxt{position:absolute;left:5vw;top:22vh;max-width:min(420px,40vw);color:#fff;z-index:3}
.ctxt .vbig{font-size:clamp(64px,9vw,150px);line-height:.88;font-weight:300;margin:0}
.chap .vbig span{animation:none;opacity:0;transform:translateY(.5em) rotate(4deg);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*.05s)}
.chap.in .vbig span{opacity:1;transform:none}
.ctxt p{color:#e8e3dc;font-size:16px}.cbtn{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:760px){.ctxt{left:5vw;right:5vw;top:auto;bottom:6vh;max-width:none}.cpair{inset:10vh 0 34vh}.cpair .gm{max-width:48vw}.cshade{background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 55%)}}
/* vibe tiles + pick pages */
.crow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ctile .cim{position:relative;aspect-ratio:3/4;overflow:hidden;background:#111}.ctile .cimg{width:100%;height:100%;object-fit:cover}
.ctile .cpair{inset:6% 0 0;gap:0}.ctile .cpair .gm{max-width:50%}
.ctile .gcap{display:flex;justify-content:space-between;align-items:end;padding:10px 2px 0;color:#fff}.ctile .gcap .disp{font-size:clamp(17px,1.5vw,24px)}.ctile .gcap span{font-size:11px;letter-spacing:.2em}
@media(max-width:760px){.crow{display:flex;overflow-x:auto;gap:10px}.ctile{flex:0 0 46vw}}
.gpicks{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px}.gpick .gimg{position:relative;aspect-ratio:3/4;overflow:hidden;background:#111}
.gpick .gb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gpick .gm{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.gpick .gcap{display:flex;justify-content:space-between;padding:10px 2px;color:#fff}.vpl{color:#cfcac3;max-width:520px;margin-bottom:28px}
/* v17 seamless blend: same-image backdrop, heavy blur, wide feather on the foreground */
.vhero.v17 .vbg{filter:blur(18px) saturate(.8)!important;object-position:50% 42%}
.vhero.v17 .vm,.mframe #model{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%),linear-gradient(180deg,transparent 0,#000 4%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%),linear-gradient(180deg,transparent 0,#000 4%);mask-composite:intersect}
.lim{position:relative;isolation:isolate}.lim:before{content:"";position:absolute;inset:-40px;z-index:-1;background:var(--bgi) 50% 42%/cover no-repeat;filter:blur(30px) brightness(.55) saturate(.75)}
.lim img{position:relative;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.cvb{filter:blur(24px) brightness(.7) saturate(.8)!important;inset:-40px!important;width:calc(100% + 80px)!important;height:calc(100% + 80px)!important}
.vhero.v17 .vbg{filter:blur(26px) saturate(.8) brightness(1.3)!important}
.vhero.v17 .vm,.vhero.v17 .vm img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 70%,transparent 100%),linear-gradient(180deg,transparent 0,#000 8%)!important;-webkit-mask-composite:source-in!important;mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 70%,transparent 100%),linear-gradient(180deg,transparent 0,#000 8%)!important;mask-composite:intersect!important}
.vhero.v17 .vm img{-webkit-mask-image:none!important;mask-image:none!important}
.lim img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%)!important;box-shadow:none!important;border:0!important}
.lim:before{filter:blur(34px) brightness(.75) saturate(.8)!important}
/* mask must hug the visible image: size box to image, not contain-letterbox */
.vhero.v17 img.vm{width:auto!important;max-width:none!important;object-fit:fill!important}
.lim{display:flex;justify-content:center}.lim img{width:auto!important;max-width:100%;height:100%!important;object-fit:contain}
@media(min-width:761px){.vhero.v17 .vmw{position:absolute!important;inset:0!important;overflow:visible!important;width:auto!important}.vhero.v17 img.vm{left:50%!important;translate:-50% 0!important}}
.vhero.v17 .vbg.same{filter:blur(44px) saturate(.7) contrast(.85) brightness(.62)!important;object-position:50% 42%}
.vhero.v17 .vbgw:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 40%,rgba(0,0,0,.55));pointer-events:none}
.vhero.v17 .vbgw{overflow:hidden}
.vhero.v17 .vbg.same{filter:blur(40px) saturate(.75) contrast(.85) brightness(.88)!important}
.vhero.v17 .vbgw:after{background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.45))}
.vhero.v17 img.vm{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%,#000 66%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 34%,#000 66%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%)!important}
@media(max-width:760px){.vhero.v17 img.vm{position:absolute!important;left:50%!important;translate:-50% 0!important;bottom:0}}
.vhero.v17 .vm{filter:none!important}
.gpick .gb.same{filter:blur(30px) brightness(.7) saturate(.8);transform:scale(1.15);object-fit:cover}
.gpick .gm,.ctile .cpair .gm{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%);mask-image:linear-gradient(180deg,transparent 0,#000 6%)}
.crow{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}@media(max-width:760px){.crow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.crow .ctile{flex:0 0 62vw;scroll-snap-align:start}}
.gpick .gcap,.ctile .gcap{position:static!important;background:none!important;padding:12px 2px 0!important;display:flex;justify-content:space-between;align-items:end}
.gpick .gimg{aspect-ratio:1195/1600!important}
.gpick .gm{inset:0 0 8% 0!important;height:92%!important}
.cshop{margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ddd}.cshop a{color:#fff;border-bottom:1px solid #C9555E}
@media(max-width:760px){.vhero.v17{padding-bottom:40px!important}.vhero.v17 .vmw{height:60svh!important}}
/* ===== v18 ===== */
html{font-size:13px}
.nav,header.nav{font-size:12px}
.disp,.vbig{letter-spacing:-.01em}
h1.vbig,h2.vbig,.vbig{font-size:clamp(34px,5vw,72px)!important;line-height:.95}
.sec h2,.sech2,section h2.disp{font-size:clamp(24px,3.2vw,48px)}
/* home assemble */
#assemble{height:180svh;position:relative;background:#000}
#assemble .astick{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;padding:0 6vw;overflow:hidden}
#assemble .acopy h1{font-size:clamp(34px,4.6vw,72px);line-height:.98;margin:0 0 18px;max-width:12ch}
#assemble .acopy p{font-size:16px;max-width:38ch;opacity:.8;margin:0 0 24px}
.astage{position:relative;aspect-ratio:3/4;height:min(80svh,640px);justify-self:center}
.astage .ap{position:absolute;height:auto;will-change:transform;filter:none;transition:none}
.aframe{width:100%;aspect-ratio:16/9;max-width:1100px}.aframe video{width:100%;height:100%;object-fit:contain}
#assemble .vcue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;opacity:.6}
@media(max-width:760px){#assemble{height:150svh}#assemble .astick{grid-template-columns:1fr;align-content:center;gap:16px;padding:70px 20px 20px}.astage{height:52svh}#assemble .acopy h1{font-size:34px}}
/* chapters: plain stacked sections, no pin, no dead space */
#vibes .chap{height:auto!important;min-height:0!important;position:relative;overflow:hidden;padding:56px 5vw;margin:0;clip-path:none!important}
#vibes .chap .cin{position:relative!important;height:auto!important;top:auto!important;display:flex;flex-direction:column;align-items:center;gap:18px;transform:none!important;clip-path:none!important;opacity:1!important}
.chap .cbg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(40px) brightness(.35);z-index:0}
.chap .cin>*{position:relative;z-index:1}
.chap .ctxt{position:static!important;text-align:center;max-width:720px;transform:none!important;opacity:1!important}
.chap .ctxt p{margin:6px auto 0;opacity:.85;font-size:15px}
.chap .cframe{width:min(1100px,100%);aspect-ratio:16/9;background:#000}
.chap .cframe video{width:100%;height:100%;object-fit:contain!important;display:block}
.chap .cfoot{display:flex;flex-direction:column;align-items:center;gap:10px}
.chap .cshade{display:none}
/* split heroes, clean 3:4 photo, no blur/feather */
.vhero.v18{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;align-items:center;min-height:0;height:auto;padding:100px 6vw 56px;background:#000}
.vhero.v18 .vph{margin:0;aspect-ratio:3/4;width:100%;max-width:480px;justify-self:end;overflow:hidden}
.vhero.v18 .vm{width:100%;height:100%;object-fit:cover;object-position:50% 50%;-webkit-mask:none;mask:none;filter:none}
.vhero.v18 .vtxt{position:static;transform:none;max-width:520px}
@media(max-width:760px){.vhero.v18{grid-template-columns:1fr;padding:80px 20px 32px}.vhero.v18 .vph{justify-self:center;max-width:340px}}
.lim::before,.lim::after{display:none!important;content:none!important}
.lim img,.gm,.vm,.cimg{-webkit-mask-image:none!important;mask-image:none!important}
.gpick .gimg .gb,.gtile .gb.same{display:none}
.gpick .gimg,.gtile .gimg{aspect-ratio:3/4}
.gpick .gm,.gtile .gm{inset:0!important;width:100%;height:100%;object-fit:cover}
/* sizes */
.lcards,.looks{grid-template-columns:repeat(auto-fill,minmax(260px,360px))!important;justify-content:center}
.look{max-width:360px;width:100%}
.pgrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px}
@media(max-width:1100px){.pgrid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:600px){.pgrid{grid-template-columns:repeat(2,1fr)!important}}
.pcard .pt{font-size:13px}.pcard .pp{font-size:12px}
.soon.nophoto{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#1a1a1a;color:#aaa;font-size:12px;border:1px dashed #444}
.vhero.v18{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible}
.vhero.v18 .vph{position:relative!important;height:auto!important;max-height:76svh;aspect-ratio:3/4;width:auto!important}
.vhero.v18 .vph .vm{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:none!important;margin:0!important;left:0!important;top:0!important;bottom:auto!important}
.gpick .gm,.gtile .gm{object-fit:contain!important;object-position:50% 50%!important}
#assemble .astick:has(.aframe){grid-template-columns:2fr 3fr}
#assemble .aframe{background:#000}
.vhero.v18 .vph{width:min(480px,100%)!important;height:auto!important;max-height:none}
@media(min-width:761px){.vhero.v18 .vph{width:min(480px,32vw,calc(76svh*.75))!important}}
html,body{overflow-x:clip!important;overflow-y:visible!important}
@media(max-width:760px){#assemble .astick:has(.aframe){grid-template-columns:1fr}#assemble .acopy h1{font-size:32px;max-width:none}#assemble .btn{white-space:nowrap}}
#assemble{height:100svh}#assemble .astick{position:relative}
#assemble .aframe{max-width:min(1100px,1600px);justify-self:center}
@media(max-width:760px){#assemble{height:auto;min-height:100svh}}
/* ===== v19 immersive chapters ===== */
#vibes{position:relative;height:calc(var(--n)*175svh + 100svh)!important;background:#000}
#vibes .vstage{position:sticky;top:0;height:100svh;overflow:hidden;perspective:1400px}
#vibes .vtilt{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
#vibes .chap{position:absolute!important;inset:0;height:100svh!important;padding:0!important;margin:0;overflow:hidden;visibility:hidden;will-change:opacity}
#vibes .chap:first-child{visibility:visible}
.chap .cbg{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(36px) brightness(.55) saturate(1.1);transform:scale(1.15)}
.chap .cvid{position:absolute;left:50%;top:50%;width:min(100vw,177.78svh,1280px);aspect-ratio:16/9;translate:-50% -50%;transform-origin:50% 45%;will-change:transform,filter}
.chap .cvid video{width:100%;height:100%;object-fit:contain!important;display:block}
.chap .cfx{position:absolute;inset:-10% -5%;pointer-events:none;mix-blend-mode:screen;will-change:transform}
.chap .cfx i{position:absolute;inset:0;display:block}
.chap .cfx .h1{background:radial-gradient(60% 40% at 50% 110%,rgba(255,255,255,.10),transparent 70%)}
.chap .cfx .h2{background:linear-gradient(180deg,rgba(0,0,0,.55),transparent 22%,transparent 78%,rgba(0,0,0,.55))}
.chap .cfx .bk{background:radial-gradient(6px 6px at 12% 30%,rgba(255,230,190,.5),transparent),radial-gradient(10px 10px at 85% 22%,rgba(255,230,190,.35),transparent),radial-gradient(8px 8px at 70% 70%,rgba(255,255,255,.25),transparent),radial-gradient(14px 14px at 25% 80%,rgba(255,210,160,.2),transparent);filter:blur(2px)}
.fx-night .cfx .h1{background:radial-gradient(50% 35% at 15% 20%,rgba(255,40,180,.22),transparent 70%),radial-gradient(45% 35% at 90% 80%,rgba(40,220,255,.18),transparent 70%)}
.fx-date .cfx .h1{background:radial-gradient(55% 40% at 80% 15%,rgba(255,170,90,.22),transparent 70%)}
.fx-street .cfx .h1{background:radial-gradient(50% 40% at 85% 10%,rgba(255,160,60,.25),transparent 70%),radial-gradient(60% 30% at 30% 100%,rgba(200,200,220,.12),transparent)}
.fx-gym .cfx .h1{background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 35%)}
.fx-outdoor .cfx .h1{background:radial-gradient(70% 40% at 50% 0%,rgba(255,240,220,.18),transparent 70%)}
.fx-work .cfx .h1{background:linear-gradient(90deg,rgba(180,210,255,.12),transparent 40%)}
.chap .cbloom{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.85),rgba(255,240,220,.25) 35%,transparent 70%);mix-blend-mode:screen}
.chap .cedge{position:absolute;left:4vw;top:84px;max-width:340px;opacity:0;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.chap .cedge h2{font-size:clamp(28px,3.4vw,52px);margin:4px 0 6px;line-height:1}
.chap .cedge p{font-size:13px;opacity:.85;margin:0}
.chap .cshopw{position:absolute;right:4vw;top:84px;text-align:right;opacity:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.chap .cshop{font-size:12px;opacity:.85}
@media(max-width:760px){#vibes{height:calc(var(--n)*120svh + 100svh)!important}.chap .cedge{left:16px;top:70px;max-width:60vw}.chap .cshopw{right:auto;left:16px;top:auto;bottom:24px;align-items:flex-start;text-align:left}#vibes .vtilt{transform:none!important}}
@media(prefers-reduced-motion:reduce){#vibes .vtilt{transform:none!important}}
#assemble{background:radial-gradient(70% 80% at 65% 50%,#1d1d1d 0%,#121212 60%,#0f0f0f 100%)!important}
#assemble .aframe{background:transparent}
footer,.foot,.site-foot{background:#111!important}
/* ===== v21: no play overlays, vertical cover on mobile, bolder fx ===== */
video::-webkit-media-controls,video::-webkit-media-controls-start-playback-button,video::-webkit-media-controls-overlay-play-button,video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none;opacity:0!important}
#assemble{height:220svh!important;position:relative}
#assemble .astick{position:sticky;top:0;height:100svh;overflow:hidden}
#assemble .aframe{will-change:transform;transform-origin:50% 55%}
#assemble .acopy{will-change:transform,opacity}
#assemble .acopy .kw{display:inline-block;will-change:transform,opacity}
#vibes .chap{will-change:clip-path,opacity}
.chap .cnum{position:absolute;right:3vw;bottom:-4vh;font-size:clamp(160px,34vw,520px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);pointer-events:none;opacity:0;will-change:transform,opacity;z-index:3}
.chap .ckin{position:absolute;left:0;right:0;bottom:12vh;text-align:center;font-size:clamp(56px,11vw,190px);line-height:1;letter-spacing:.02em;white-space:nowrap;pointer-events:none;z-index:4;overflow:hidden;padding:.1em 0;text-shadow:0 6px 40px rgba(0,0,0,.55)}
.chap .ckin span{display:inline-block;opacity:0;will-change:transform,opacity}
.chap .cedge,.chap .cshopw{z-index:6}
.chap .cfx{z-index:2}.chap .cbloom{z-index:5}
@media(max-width:760px){
 #assemble{height:200svh!important;background:#000!important}
 #assemble .astick{display:block}
 #assemble .aframe{position:absolute!important;inset:0!important;width:100vw!important;height:100svh!important;max-width:none!important;margin:0!important;aspect-ratio:auto!important}
 #assemble .aframe video{width:100%!important;height:100%!important;object-fit:cover!important}
 #assemble .acopy{position:absolute!important;left:16px;right:16px;bottom:9svh;z-index:3;text-shadow:0 2px 18px rgba(0,0,0,.8)}
 #assemble .astick::after{content:"";position:absolute;inset:auto 0 0 0;height:55svh;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent);z-index:2;pointer-events:none}
 #assemble .vcue{z-index:3}
 .chap .cvid{left:0!important;top:0!important;translate:none!important;width:100vw!important;height:100svh!important;aspect-ratio:auto!important;transform-origin:50% 50%}
 .chap .cvid video,.chap .cvid img{width:100%!important;height:100%!important;object-fit:cover!important}
 .chap .cbg{filter:none;inset:0}
 .chap .ckin{bottom:20svh;font-size:clamp(52px,17vw,96px)}
 .chap .cnum{font-size:46vw;bottom:auto;top:12svh}
 .chap .cfx .h2{background:linear-gradient(180deg,rgba(0,0,0,.6),transparent 25%,transparent 60%,rgba(0,0,0,.7))}
}
@media(prefers-reduced-motion:reduce){.chap .ckin span{opacity:1!important}#vibes .chap{clip-path:none!important}}
.chap .ckin{top:50%!important;bottom:auto!important;translate:0 -50%;white-space:normal!important;padding:0 4vw!important}
.chap .ckin .w{display:inline-block;white-space:nowrap}
@media(max-width:760px){.chap .ckin{font-size:clamp(48px,15vw,84px)!important;line-height:1.02}}
@media(min-width:761px){.chap.vert .cvid{width:min(56.25svh,100vw,720px);aspect-ratio:9/16;height:auto}}
