/* COCOPUNKS v2 · colour chapters. Display: Tanker, text: Satoshi (Fontshare, free licence) */
@font-face{font-family:Tanker;src:url(../fonts/tanker-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url(../fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url(../fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url(../fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
 --bg:#0e0d0b;--ink:#f1f0eb;--paper:#f1f0eb;--black:#0e0d0b;--red:#ff3d2e;--mint:#d4f7e3;
 --m:clamp(16px,2.2vw,32px);--gap:clamp(12px,1.4vw,20px);
 --s-small:.875rem;--s-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);--s-lead:clamp(1.25rem,1.05rem + .8vw,1.75rem);
 --s-head:clamp(2.75rem,1.2rem + 5.6vw,7rem);--s-disp:min(23vw,38svh);
 --fd:Tanker,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;
 --ft:Satoshi,"PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;
 --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--s-body)/1.5 var(--ft);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--fd);font-weight:400;line-height:.9;letter-spacing:-.01em;margin:0;text-wrap:balance}
p{margin:0}
:lang(zh-CN) h1 [data-l=zh],:lang(zh-CN) h2 [data-l=zh],:lang(zh-CN) h3 [data-l=zh],:lang(zh-CN) .disp-zh{font-family:var(--ft);font-weight:700;letter-spacing:-.04em}
html:not([lang=zh-CN]) [data-l=zh],html[lang=zh-CN] [data-l=en]{display:none!important}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
::selection{background:var(--red);color:var(--black)}
[hidden]{display:none!important}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--m);top:-60px;z-index:100;background:var(--red);color:var(--black);padding:10px 16px;text-decoration:none}
.skip:focus{top:10px}
.lead{font-size:var(--s-lead);line-height:1.3;max-width:34ch}

/* buttons: square, one fill */
.btn{display:inline-flex;align-items:center;gap:.5em;min-height:52px;padding:0 24px;background:var(--red);color:var(--black);font-weight:700;text-decoration:none;border:0;cursor:pointer;transition:transform .25s var(--ease),background-color .2s}
.btn::after{content:"→";transition:transform .25s var(--ease)}
.btn:hover{background:var(--paper)}
.btn:hover::after{transform:translateX(4px)}
.btn:active{transform:scale(.97)}
.btn.alt{background:var(--paper);color:var(--black)}
.btn.alt:hover{background:var(--red)}

/* top bar */
.bar{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:28px;height:64px;padding:0 var(--m);color:var(--ink);transition:background-color .3s}
.bar.solid{background:var(--bg)}
.mark{font-family:var(--fd);font-size:var(--s-lead);line-height:1;text-decoration:none;margin-right:auto;transition:color .2s}
.mark:hover{color:var(--red)}
.links{display:flex;gap:28px}
.links a,.lang,.menu{font-size:var(--s-small);font-weight:500;text-decoration:none;background:none;border:0;padding:8px 0;cursor:pointer;position:relative}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.links a:hover::after,.links a[aria-current]::after{transform:scaleX(1)}
.lang:hover,.menu:hover{color:var(--red)}
.menu{display:none}
.sheet{position:fixed;inset:64px 0 0;z-index:49;background:var(--red);color:var(--black);padding:24px var(--m)}
.sheet nav{display:flex;flex-direction:column;gap:8px}
.sheet a,.sheet .lang{font-family:var(--fd);font-size:56px;line-height:1.05;text-decoration:none;text-align:left;padding:4px 0}
@media (max-width:860px){.links,.bar>.lang{display:none}.menu{display:block}}

/* ============ HERO ============ */
.hero{position:relative;z-index:2;height:200svh;background:var(--bg)}
.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.hero-gl,.hero-fallback{position:absolute;inset:0;width:100%;height:100%}
.hero-fallback{background:url(../assets/atlas-1152.webp) center/560px repeat;opacity:.28;display:none}
.no-gl .hero-fallback{display:block}
.hero-copy::before{content:"";position:absolute;inset:-10% -20% -30%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(14,13,11,.72),rgba(14,13,11,0))} /* taste-skill-ignore: neutral scrim over the 3D picture */
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(64px + 3svh) var(--m) 0;will-change:transform,opacity}
.hero-title{font-size:var(--s-disp);line-height:.8;letter-spacing:-.005em;white-space:nowrap;color:var(--paper)}
.hero-sub{margin-top:clamp(20px,3svh,36px);font-size:var(--s-lead);line-height:1.3;max-width:40ch;color:var(--paper)}
.hero-act{margin-top:clamp(20px,3svh,32px);display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.hero-when{font-size:var(--s-small);font-weight:500;color:var(--paper)}
/* the seven-tier staircase (replaces the v2 folder tabs): one podium per tier, each with its Coco */
.hero{height:280svh}
.stair{position:absolute;inset:0;z-index:3;pointer-events:none;--ch:min(24svh,13.4vw)}
.stair::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,13,11,.82),rgba(14,13,11,.45) 38%,rgba(14,13,11,0) 62%),linear-gradient(0deg,rgba(14,13,11,.55),rgba(14,13,11,0) 55%);opacity:var(--hd,0);pointer-events:none} /* taste-skill-ignore: neutral scrim so the ladder copy reads over the 3D corridor */
.stair-head{position:absolute;left:var(--m);top:calc(64px + 6svh);max-width:min(46vw,620px);color:var(--paper);opacity:var(--hd,0);transform:translate3d(0,calc((1 - var(--hd,0)) * 28px),0)}
.stair-kick{font-size:var(--s-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.stair-head h2{margin-top:12px;font-size:clamp(3rem,1rem + 4.6vw,6.25rem);line-height:.86}
.stair-sub{margin-top:18px;font-size:var(--s-body);line-height:1.4;max-width:30ch;color:rgba(241,240,235,.82)}
.stair-steps{position:absolute;left:var(--m);right:var(--m);bottom:0;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(8px,.9vw,14px);align-items:end}
.step{--ph:calc(16svh + var(--i) * 5svh);pointer-events:auto;transform:translate3d(0,calc((1 - var(--r,0)) * (var(--ph) + var(--ch) - 6svh - var(--i) * 1svh)),0);will-change:transform}
.step a{display:block;text-decoration:none;color:var(--fi)}
.step-coco{position:relative;display:flex;justify-content:center;height:var(--ch);margin-bottom:calc(var(--ch) * -.07);z-index:1}
.step-coco::after{content:"";position:absolute;left:18%;right:18%;bottom:2%;height:9%;border-radius:50%;background:rgba(14,13,11,.34);filter:blur(6px);z-index:-1}
.step-img{height:100%;width:auto;max-width:none;object-fit:contain;transform-origin:50% 100%;transition:transform .45s var(--ease)}
.step a:hover .step-img,.step a:focus-visible .step-img{transform:translateY(-10px) scale(1.04)}
.step a:focus-visible{outline-offset:-4px}
.step-pod{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;height:var(--ph);padding:clamp(12px,1.2vw,18px);background:var(--f);border-radius:14px 14px 0 0;overflow:hidden}
.step-pod::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 22%),radial-gradient(120% 60% at 50% 0,rgba(255,255,255,.14),rgba(255,255,255,0) 70%);pointer-events:none} /* taste-skill-ignore: finish sheen on the podium */
.step-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;font-weight:500}
.step-meta b{font-weight:700;letter-spacing:.04em}
.step-name{font-family:var(--fd);font-size:clamp(1.6rem,.9rem + 1.5vw,2.5rem);line-height:.9}
:lang(zh-CN) .step-name [data-l=zh]{font-family:var(--ft);font-weight:700;letter-spacing:-.04em}
.step-fin{font-size:.875rem;font-weight:500;opacity:.86}
.stair-cover{position:absolute;inset:0;background:var(--f);color:var(--black);clip-path:inset(100% 50% 0 50%);pointer-events:none}
.stair-cover .folder-head{display:flex;position:absolute;left:0;right:0;top:0;padding:84px var(--m) 0;justify-content:space-between;align-items:center;gap:20px;font-weight:700;font-size:var(--s-lead);line-height:1.2;letter-spacing:-.02em;opacity:var(--fh,0)}
.rm .hero{height:auto}
.rm .hero-stage{position:relative;height:auto;min-height:100svh}
.rm .hero-copy{min-height:78svh}
.rm .stair{position:relative;inset:auto;padding-top:clamp(32px,6svh,64px);min-height:calc(var(--ch) + 64svh)}
.rm .stair{--hd:1}
.rm .stair-steps{--r:1}
.rm .stair-cover{display:none}
@media (max-width:700px){
 .hero{height:300svh}
 .hero-title{font-size:min(22vw,30svh)}
 .hero-copy{padding-top:calc(64px + 4svh)}
 .hero-sub{font-size:1.125rem}
 .hero-act{flex-direction:column;gap:14px}
 .hero-when{font-size:15px}
 .stair{--ch:min(29svh,54vw)}
 .stair::before{background:linear-gradient(180deg,rgba(14,13,11,.85),rgba(14,13,11,.5) 34%,rgba(14,13,11,0) 58%)}
 .stair-head{top:calc(64px + 3svh);max-width:none;right:var(--m)}
 .stair-head h2{font-size:clamp(2.6rem,12vw,3.4rem)}
 .stair-sub{margin-top:12px;font-size:1rem}
 .stair-steps{right:auto;display:flex;gap:10px;width:max-content;transform:translate3d(var(--tx,0px),0,0);will-change:transform}
 .step{--ph:calc(20svh + var(--i) * 2.4svh);width:60vw;transform:translate3d(0,calc((1 - var(--r,0)) * (var(--ph) + var(--ch) - 5svh)),0)}
 .step-name{font-size:2.25rem}
 .stair-cover .folder-head{padding-top:76px;font-size:1.0625rem}
 .stair-cover .folder-head>span:first-child{max-width:12em}
 .stair-cover .folder-head .ladder i{width:14px;height:10px}
 .rm .stair-steps{position:relative;left:0;overflow-x:auto;width:auto;padding:0 var(--m);margin-top:calc(64svh - var(--ch))}
 .rm .step{flex:0 0 60vw}
}

/* ============ ROOMS ============ */
.rooms{position:relative;z-index:1}
.pin .rooms{margin-top:-100svh}
.rooms-head{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:84px var(--m) 0;color:var(--oi,var(--black))}
.rooms-head h2{font-family:var(--ft);font-weight:700;font-size:var(--s-lead);letter-spacing:-.02em;line-height:1.2}
.ladder{display:flex;gap:6px}
.ladder i{width:28px;height:12px;background:var(--f);outline:2px solid currentColor;outline-offset:-2px;transition:transform .3s var(--ease)}
.ladder i.on{transform:scaleY(1.8)}
.room{position:relative;isolation:isolate;min-height:100svh;background:var(--f);color:var(--fi);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:0 var(--m);overflow:hidden}
.room-copy{grid-column:1/6;grid-row:1;align-self:start;padding-top:150px;position:relative;z-index:3}
.room-fin{font-size:var(--s-lead);font-weight:700;line-height:1.2}
.room-line{margin-top:12px;max-width:30ch;font-size:var(--s-body)}
.room-link{display:inline-block;margin-top:20px;font-weight:700;text-decoration:none;border-bottom:3px solid currentColor;padding-bottom:2px;transition:color .2s,border-color .2s}
.room-link:hover{color:var(--red);border-color:var(--red)}
.room-fig{grid-column:7/13;grid-row:1;margin:0;position:relative;align-self:end;height:84svh;z-index:2}
.room-main{position:absolute;right:0;bottom:0;height:100%;width:100%;max-width:none;object-fit:contain;object-position:100% 100%;will-change:transform}
.room-name{grid-column:1/8;grid-row:1;align-self:end;padding-bottom:3svh;font-size:min(13vw,28svh);line-height:.78;position:relative;z-index:3;white-space:nowrap}
.egg-gl{display:none}
/* pinned mode (added by rooms.js) */
.pin .rooms{height:var(--rooms-h,760svh)}
.pin .rooms-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bg)}
.pin .rooms-head{position:absolute;left:0;right:0;top:0}
.pin .room{position:absolute;inset:0;min-height:0;height:100svh}
.pin .room[data-i]:not([data-i="0"]){clip-path:inset(100% 50% 0 50%)}
.pin .room .room-name,.pin .room .room-copy{opacity:var(--rv,1);transform:translateY(calc((1 - var(--rv,1)) * 24px))}

.folder-head .ladder i{outline-color:var(--black)}
.pin .egg-gl{display:block;position:absolute;z-index:4;pointer-events:none;--eg:clamp(200px,20vw,300px);width:var(--eg);height:var(--eg);left:calc(40% - var(--eg) / 2);top:calc(50% - var(--eg) / 2)}
@media (max-width:700px),(max-width:1000px) and (orientation:portrait){
 .rooms-head{padding-top:76px}
 .rooms-head h2{font-size:1.0625rem;max-width:12em}
 .ladder i{width:14px;height:10px}
 .room-copy{grid-column:1/13;padding-top:124px;max-width:64%}
 .room-line{font-size:1rem}
 .room-fig{grid-column:1/13;height:52svh}
 .room-main{right:-6vw;width:auto}
 .room-name{grid-column:1/13;align-self:start;padding-top:calc(124px + 210px);font-size:min(23vw,15svh)}
 .pin .egg-gl{--eg:min(28vw,180px);left:auto;right:calc(var(--m) + ((100% - 2 * var(--m)) * .36 - var(--eg)) / 2);top:calc(204px - var(--eg) / 2)}
}

/* ============ LIVE: one look ============ */
.look{display:grid;grid-template-columns:1fr 1fr;min-height:92svh;background:var(--bg)}
.look-pic{background:var(--f);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;transition:background-color .45s;perspective:900px}
.look-img{width:min(100%,92svh);height:auto;transition:opacity .25s,transform .5s var(--ease);will-change:transform}
.look-img.swap{opacity:0;transform:translateY(16px) scale(.98)}
.look-ui{padding:clamp(96px,12svh,140px) var(--m) var(--m);display:flex;flex-direction:column;gap:28px}
.look-ui h2{font-size:var(--s-head)}
.tiers{display:flex;flex-wrap:wrap;gap:6px}
.tier-b{min-height:44px;padding:0 16px;border:0;background:var(--f);color:var(--fi);font-weight:700;font-size:var(--s-small);cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s}
.tier-b:hover{transform:translateY(-3px)}
.tier-b[aria-pressed=true]{outline:3px solid var(--red);outline-offset:-3px;transform:translateY(-3px)}
.tier-b.all{background:var(--paper);color:var(--black)}
.looks{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.look-b{padding:0;border:0;background:none;cursor:pointer;aspect-ratio:1;overflow:hidden;transition:transform .2s var(--ease)}
.look-b img{width:100%;height:100%;object-fit:cover;transform:scale(1.25);transform-origin:50% 30%}
.look-b:hover{transform:translateY(-4px)}
.look-b[aria-pressed=true]{outline:3px solid var(--red);outline-offset:2px}
.look-row{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.look-out{display:flex;flex-direction:column;gap:4px}
.look-out b{font-size:var(--s-lead);line-height:1.2}
.look-acts{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:900px){
 .look{grid-template-columns:1fr}
 .look-pic{height:62svh}
 .look-img{width:auto;height:100%}
 .look-ui{padding:48px var(--m) 64px}
 .looks{grid-template-columns:repeat(5,1fr)}
 .tier-b{flex:1 1 auto;padding:0 10px}
 .look-acts{width:100%;flex-direction:column}.look-acts .btn{justify-content:center}
}

/* ============ DROP (paper) ============ */
.drop{background:var(--paper);color:var(--black);padding:clamp(96px,14svh,180px) var(--m);position:relative}
.drop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.drop-head h2{font-size:clamp(2.5rem,1rem + 3.6vw,4.625rem)}
.soft{color:#6b655c}
.drop-body{display:grid;grid-template-columns:220px 1fr minmax(0,.7fr);gap:40px;margin-top:56px}
.dprev{margin:0;position:sticky;top:96px;align-self:start;background:var(--f,#d4f7e3);aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;transition:background-color .24s}
.dprev img{width:96%;height:auto;transition:opacity .24s,transform .24s var(--ease)}
.dprev img.swap{opacity:0;transform:translateY(12px)}
.dtabs{display:flex;flex-direction:column;gap:6px}
.dtab{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:72px;padding:10px 16px;border:0;background:#e6dfd2;color:var(--black);text-align:left;cursor:pointer;transition:background-color .2s,transform .2s var(--ease)}
.dtab b{font-size:var(--s-body)}.dtab span{font-size:var(--s-small)}
.dtab:hover{transform:translateX(4px)}
.dtab[aria-selected=true]{background:var(--black);color:var(--paper)}
.dpanel{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.band{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:20px;min-height:76px;padding:8px 20px;background:#ebe5da;transition:opacity .24s,background-color .24s}
.band:nth-child(even){background:#e1d9cb}
.b-time{font-size:var(--s-body);font-weight:700;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:10px}
.b-time[style]::before{content:"";width:16px;height:16px;background:var(--f);outline:2px solid var(--black);outline-offset:-2px}
.b-what{display:flex;flex-direction:column}.b-what b{font-size:var(--s-body);font-weight:500}.b-what small{font-size:var(--s-small);color:var(--black)}
.b-who{display:flex}.b-who img{width:40px;height:40px;max-width:none;flex:0 0 40px;border-radius:50%;object-fit:cover;margin-left:-8px;outline:2px solid var(--paper)}
.dpanel.hovering .band:not(:hover){opacity:.45}
.prev{position:fixed;left:0;top:0;width:260px;height:auto;z-index:20;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .24s,transform .24s var(--ease)}
.prev.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (max-width:800px){
 .drop-body{grid-template-columns:1fr;gap:16px}
 .dtabs{flex-direction:row;position:sticky;top:64px;z-index:2;background:var(--paper);padding:8px 0}
 .dtab{flex:1;min-height:64px;padding:8px 10px}.dtab>span{display:none}.dtab b{font-size:var(--s-small)}
 .band{grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px}
 .b-time{grid-column:1}.b-what{grid-column:1}.b-who{grid-column:2;grid-row:1/3}
 .prev,.dprev{display:none}
}

/* ============ WALL (black) ============ */
.wall{background:var(--bg);padding:clamp(96px,14svh,180px) var(--m)}
.wall-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.wall-head h2{font-size:var(--s-head)}
.wall-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 12px;perspective:1200px}
.print{display:flex;flex-direction:column;text-decoration:none;transition:transform .35s var(--ease);transform-style:preserve-3d}
.print:hover{transform:translateY(-8px) rotateX(4deg) rotateY(-4deg)}
.print img{aspect-ratio:1;width:100%;object-fit:cover}
.strip{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:88px;padding:12px;background:var(--sb);color:var(--sf);font-size:14px;font-variant-numeric:tabular-nums}
.s1,.s2{display:flex;justify-content:space-between;gap:8px}
.s1 b{font-weight:700}
@media (max-width:800px){.wall-grid{grid-template-columns:1fr 1fr;gap:20px 8px}.s1 span:last-child,.s2 span:last-child{display:none}.strip{min-height:72px}}

/* ============ ARTIST (mint ground) ============ */
.artist{background:var(--mint);color:var(--black);padding:8px}
.board{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:38svh 38svh;gap:8px}
.tA{grid-column:1/9;grid-row:1/3;background:var(--black);color:var(--paper);display:flex;align-items:flex-end;padding:20px 24px}
.tA h2{font-size:var(--s-head);line-height:.86}
.tB{grid-column:9/13;grid-row:1;background:var(--red);color:var(--black);display:flex;align-items:flex-end;padding:20px 24px;overflow:hidden}
.tB p{display:flex;align-items:baseline;gap:12px;font-weight:700;font-size:var(--s-lead)}
.tB b{font-family:var(--fd);font-weight:400;font-size:var(--s-head);line-height:.8}
.tC{grid-column:9/13;grid-row:1/3;overflow:hidden;background:#f2ede4}
.tC img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform 6s linear}
.tC:hover img{transform:scale(1.06)}
.artist-text{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;padding:clamp(64px,10svh,120px) 24px clamp(64px,10svh,120px)}
.facts{grid-column:1/6;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px 16px;align-content:start;font-size:var(--s-lead);font-weight:500}
.facts b{display:block;font-family:var(--fd);font-weight:400;font-size:clamp(2.5rem,1rem + 3.6vw,4.625rem);line-height:.9}
.artist-text>div{grid-column:7/13;display:flex;flex-direction:column;gap:28px;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);line-height:1.45}
@media (max-width:800px){
 .board{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:6px}
 .tA{min-height:30svh}
 .tA{grid-column:1/3;grid-row:1}.tA h2{font-size:14vw}
 .tB{grid-column:1;grid-row:2;aspect-ratio:1;padding:14px}.tB b{font-size:20vw}.tB p{flex-direction:column;gap:4px;font-size:1rem}
 .tC{grid-column:1/3;grid-row:2;aspect-ratio:1}
 .artist-text{grid-template-columns:1fr;padding:56px 12px;gap:40px}
 .facts,.artist-text>div{grid-column:1}
}

/* ============ STORY (diamond blue) ============ */
.story{background:#285599;color:var(--paper);padding:clamp(96px,14svh,180px) var(--m)}
.story h2{font-size:var(--s-head);max-width:12em}
.story-cols{margin-top:56px;font-size:clamp(1.25rem,.95rem + .8vw,1.75rem);line-height:1.22;columns:2;column-gap:32px;hyphens:auto}
.story-cols p{text-align:left}
.story mark{background:var(--h);color:var(--black);padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.story-cta{display:inline;background:var(--red);color:var(--black);text-decoration:none;padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color .2s}
.story-cta:hover{background:var(--paper)}
@media (max-width:800px){.story-cols{columns:1;font-size:1.25rem;line-height:1.3}.story-cta{display:block;margin-top:24px;padding:12px}}

/* ============ FOOTER (red) ============ */
.foot{background:var(--red);color:var(--black);min-height:64svh;display:flex;flex-direction:column;padding:40px var(--m) 28px}
.foot-top{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);font-size:var(--s-small)}
.foot-top p:first-child{grid-column:1/5}.foot-top p:nth-child(2){grid-column:5/9}
.totop{grid-column:11/13;justify-self:end;font-weight:700;text-decoration:none;border-bottom:3px solid}
.totop:hover{color:var(--paper)}
.foot-mail{margin-top:auto;font-size:clamp(3rem,10.4vw,12rem);line-height:.85;letter-spacing:-.01em}
.foot-mail a{text-decoration:none;transition:color .2s}
.foot-mail a:hover{color:var(--paper)}
.foot-meta{display:flex;justify-content:space-between;gap:16px;margin-top:32px;font-size:14px}
.foot-meta a{margin-right:16px;font-weight:700}
@media (max-width:700px){
 .foot-top{grid-template-columns:1fr;gap:12px}.foot-top>*{grid-column:1!important;justify-self:start!important}
 .foot-mail{font-size:14vw}.foot-mail .at{display:block}
 .foot-meta{flex-direction:column;gap:6px;font-size:13px}
}

/* ============ SUB PAGES ============ */
.page main{padding-top:64px}
.p-head{padding:clamp(64px,10svh,120px) var(--m) 32px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.p-head h1{font-size:var(--s-head);max-width:11em}
.filters{position:sticky;top:64px;z-index:5;background:var(--bg);padding:12px var(--m);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.f2{display:flex;gap:12px;align-items:center}
.f2 select,.f2 input{height:44px;background:#24221e;border:0;padding:0 12px;min-width:150px}
.f2 input{width:110px;min-width:0}
.count{font-size:var(--s-small);white-space:nowrap}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:20px var(--m) 120px}
.cell{display:flex;flex-direction:column;text-decoration:none;transition:transform .3s var(--ease)}
.cell:hover{transform:translateY(-6px)}
.cell img{aspect-ratio:1;width:100%;object-fit:cover}
.cell-s{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--f);color:var(--fi);font-size:14px}
.cell[hidden]{display:none}
.empty{padding:0 var(--m) 120px;font-size:var(--s-lead)}
.item{border:0;padding:0;background:var(--paper);color:var(--black);width:min(1100px,94vw);max-height:92svh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.5)} /* taste-skill-ignore: dialog is a real overlay */
.item::backdrop{background:rgba(14,13,11,.82)}
.item .x{position:absolute;right:12px;top:12px;z-index:2;min-height:44px;padding:0 16px;border:0;background:var(--black);color:var(--paper);font-weight:700;cursor:pointer}
.item-in{display:grid;grid-template-columns:1fr 1fr}
.item-pic img{width:100%;aspect-ratio:1;object-fit:cover}
.item-txt{padding:56px 32px 32px;display:flex;flex-direction:column;gap:16px}
.item-txt h2{font-size:clamp(3rem,6vw,5rem)}
.item-txt h3{font-family:var(--ft);font-weight:700;font-size:18px;margin-top:8px}
.item dl{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;margin:0}
.item dt{color:#5a554c}.item dd{margin:0;font-weight:500}
.item-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.item-row a{transition:transform .2s var(--ease)}.item-row a:hover{transform:translateY(-3px)}
.item-row a[aria-current]{outline:3px solid var(--red);outline-offset:1px}
@media (max-width:800px){.item-in{grid-template-columns:1fr}.item-txt{padding:24px 18px}.grid{grid-template-columns:repeat(2,1fr);gap:8px}.filters{position:static}.f2{flex-wrap:wrap}.tiers .tier-b{font-size:14px}}
/* artist page */
.a-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 64px);background:#f2ede4;color:var(--black)}
.a-copy{padding:clamp(48px,10svh,120px) var(--m);display:flex;flex-direction:column;gap:28px;justify-content:center}
.a-copy h1{font-size:min(20vw,34svh);line-height:.8}
.a-copy .facts{grid-template-columns:repeat(4,auto);justify-content:start;gap:28px}
.a-pic{overflow:hidden;display:flex;justify-content:center;align-items:flex-end}
.a-pic img{height:calc(100svh - 64px);width:auto;max-width:none;animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1) translateY(0)}to{transform:scale(1.05) translateY(-1.5%)}}
.a-ladder{padding:clamp(96px,14svh,180px) 0 0}
.a-ladder>h2{font-size:var(--s-head);padding:0 var(--m) 48px;max-width:13em}
.trow{background:var(--f);color:var(--fi);padding:28px 0 32px}
.trow-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:0 var(--m) 16px}
.trow-h h3{font-size:clamp(2.5rem,1rem + 4vw,4.5rem)}
.trow-s{display:flex;gap:8px;overflow-x:auto;padding:0 var(--m) 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.trow-s a{flex:0 0 180px;scroll-snap-align:start;transition:transform .25s var(--ease)}
.trow-s a:hover{transform:translateY(-6px)}
.a-drops{padding:clamp(96px,14svh,180px) var(--m)}
.a-drops h2{font-size:var(--s-head)}
.a-dl{list-style:none;margin:48px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.a-dl a{display:grid;grid-template-columns:1fr 1fr repeat(3,64px);align-items:center;gap:12px;padding:12px 16px;background:#1d1b18;text-decoration:none;transition:background-color .2s}
.a-dl a:hover{background:#2c2925}
.a-dl b{font-size:var(--s-lead)}
@media (max-width:800px){
 .a-hero{grid-template-columns:1fr}.a-pic img{height:70svh}
 .a-copy .facts{grid-template-columns:repeat(3,auto)}
 .trow-s a{flex-basis:34vw}
 .a-dl a{grid-template-columns:1fr repeat(3,48px)}.a-dl a span{grid-column:1;grid-row:2}.a-dl a b{grid-row:1}
}
/* drops page */
.d-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 64px);background:var(--red);color:var(--black)}
.d-copy{padding:clamp(48px,10svh,120px) var(--m);display:flex;flex-direction:column;justify-content:center;gap:28px}
.d-copy h1{font-size:min(15vw,30svh);line-height:.8}
.d-when{display:flex;flex-direction:column;gap:4px}
.d-when b{font-family:var(--fd);font-weight:400;font-size:clamp(2.25rem,1rem + 3vw,4rem);line-height:1}
.d-when span{font-size:var(--s-lead);font-weight:700}
.d-copy .btn{background:var(--black);color:var(--paper)}.d-copy .btn:hover{background:var(--paper);color:var(--black)}
.d-copy .btn.alt{background:var(--paper);color:var(--black)}
.d-pic{display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.d-pic img{width:100%;max-width:760px;height:auto;animation:drift 12s ease-in-out infinite alternate}
.d-rooms{padding:clamp(96px,14svh,180px) var(--m);background:var(--paper);color:var(--black);position:relative}
.d-rooms h2{font-size:var(--s-head);max-width:12em;margin-bottom:48px}
.index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ix a{display:grid;grid-template-columns:minmax(200px,1.2fr) 1fr 2fr;align-items:center;gap:24px;padding:18px 20px;background:#ebe5da;text-decoration:none;transition:background-color .24s,color .24s,opacity .24s}
.ix:nth-child(even) a{background:#e1d9cb}
.ix b{font-family:var(--fd);font-weight:400;font-size:clamp(2.25rem,1rem + 3vw,4rem);line-height:.9}
.ix span{font-weight:500}
.ix-img{display:none}
.ix a:hover{background:var(--f);color:var(--fi)}
.index.hovering .ix:not(:hover){opacity:.45}
.d-arch{padding:clamp(96px,14svh,180px) var(--m)}
.d-arch>h2{font-size:var(--s-head);margin-bottom:48px}
.arc{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding:32px 0}
.arc+.arc{margin-top:24px}
.arc-h h3{font-size:clamp(2.5rem,1rem + 4vw,4.5rem)}
.arc-h p{margin-top:12px;font-size:var(--s-lead)}
.arc-w{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.arc-w a{text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:transform .25s var(--ease)}
.arc-w a:hover{transform:translateY(-6px)}
.arc-w span{font-size:var(--s-small);font-weight:500}
@media (max-width:800px){
 .d-hero{grid-template-columns:1fr}.d-pic img{width:92%}
 .ix a{grid-template-columns:1fr auto;gap:4px 12px}.ix-line{grid-column:1}.ix-img{display:block;grid-column:2;grid-row:1/4;width:84px}
 .arc{grid-template-columns:1fr;gap:20px}
}

/* entrances: content stays visible without JS */
.js [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 75ms)}
.js [data-rv].in{opacity:1;transform:none}
.rm [data-rv]{opacity:1!important;transform:none!important;transition:none}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .hero{height:100svh}
}
.credit{font-size:var(--s-body)}
.credit a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}
.credit a:hover{color:var(--red)}

.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:opacity .6s ease,visibility 0s .6s}.gl-ready .hero-poster{opacity:0;visibility:hidden}.no-gl .hero-poster{display:none}
