/* =========================================================
   v2 — featured dive / sphere showroom / TiMi / Lab / new works
   ========================================================= */
.exp-link{display:contents}
.light .tag{color:var(--ink)}

/* ---------------- FEATURED · DIVE ---------------- */
.featured{background:var(--bg);padding:16vh 0 0;position:relative;z-index:2}
.ft-head{display:flex;justify-content:space-between;align-items:flex-end;gap:4vw;padding:6vh var(--pad) 6vh}
.ft-title{font-family:var(--display);font-weight:400;font-size:clamp(80px,12.5vw,240px);line-height:.82;text-transform:uppercase}
.ft-title .o{color:transparent;-webkit-text-stroke:1.5px var(--fg)}
.ft-side{max-width:30em;padding-bottom:1vw}
.ft-side p.cn{font-size:14.5px;line-height:1.95;color:#c9c6bd}
.ft-legend{display:flex;flex-direction:column;gap:8px;margin-top:22px;color:var(--mute)}
.ft-legend i{display:inline-block;width:10px;height:10px;margin-right:10px;vertical-align:-1px}

.dive{position:relative}
.dive-pin{position:relative;height:100vh;overflow:hidden;background:#07070a}
.dive-pin::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 50%,color-mix(in srgb,var(--dv) 20%,transparent),transparent 70%);z-index:0}
.dive-stage{position:absolute;inset:0;perspective:900px;perspective-origin:50% 48%;overflow:hidden;z-index:1}
.dive-walls,.dive-world{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.dive-walls i{position:absolute;left:0;top:0;width:4200px;height:2600px;margin:-1300px 0 0 -2100px;
  background-image:linear-gradient(color-mix(in srgb,var(--dv) 26%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--dv) 26%,transparent) 1px,transparent 1px);
  background-size:120px 120px;background-position:var(--run,0px) 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 85%,transparent 100%);opacity:.9}
.dive-walls .wl{transform:translate3d(-62vw,0,-1800px) rotateY(90deg)}
.dive-walls .wr{transform:translate3d(62vw,0,-1800px) rotateY(-90deg);-webkit-mask-image:linear-gradient(-90deg,transparent 0%,#000 40%,#000 85%,transparent 100%);mask-image:linear-gradient(-90deg,transparent 0%,#000 40%,#000 85%,transparent 100%)}
.dive-walls .wf{width:2600px;height:4200px;margin:-2100px 0 0 -1300px;transform:translate3d(0,64vh,-1800px) rotateX(90deg);background-position:0 var(--run,0px);
  -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 40%,#000 85%,transparent 100%);mask-image:linear-gradient(0deg,transparent 0%,#000 40%,#000 85%,transparent 100%)}
.dv-p{position:absolute;left:0;top:0;width:var(--pw,300px);backface-visibility:hidden}
.dv-p img{width:100%;display:block;border:1px solid color-mix(in srgb,var(--dv) 45%,transparent);box-shadow:0 30px 60px rgba(0,0,0,.6)}
.dv-p::after{content:attr(data-l);position:absolute;left:0;top:-18px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dv);white-space:nowrap}
.dv-word{position:absolute;left:0;top:0;font-family:var(--display);font-size:520px;line-height:.8;white-space:nowrap;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--dv) 45%,transparent);text-transform:uppercase}
.dv-chip{position:absolute;left:0;top:0;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--dv2);white-space:nowrap;padding:4px 8px;border:1px solid color-mix(in srgb,var(--dv2) 50%,transparent)}
.dive-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 50%,transparent 45%,rgba(4,4,6,.86) 100%),linear-gradient(#07070a,transparent 16%,transparent 84%,#07070a)}
.dive-phone{position:absolute;left:50%;top:50%;z-index:5;transform-origin:50% 50%}
.dp-body{position:relative;width:100%;height:100%;padding:var(--bz,14px);border-radius:var(--br,48px);background:#0b0b0e;box-shadow:0 0 0 var(--rim,2px) #3b3e46,0 calc(var(--bz,14px)*4) calc(var(--bz,14px)*9) rgba(0,0,0,.65),0 0 calc(var(--bz,14px)*10) color-mix(in srgb,var(--dv) 30%,transparent)}
.dp-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:calc(var(--br,48px) - var(--bz,14px));background:#000}
.dp-strip{position:absolute;left:0;top:0;width:100%}
.dp-strip img{display:block;width:100%;height:auto}
.dp-notch{position:absolute;left:50%;top:calc(var(--bz,14px) + var(--bz,14px)*.6);width:28%;height:calc(var(--bz,14px)*1.9);transform:translateX(-50%);border-radius:99px;background:#000;z-index:3}
.dive-cap{position:absolute;left:var(--pad);bottom:12vh;width:min(26vw,380px);z-index:6}
.dive-cap .dv-c{color:var(--dv)}
.dive-cap h3{font-family:var(--display);font-weight:400;font-size:clamp(56px,6.4vw,124px);line-height:.84;text-transform:uppercase;margin:12px 0 18px}
.dive-cap p.cn{font-size:13.5px;line-height:1.95;color:#c4c1b8}
.dv-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.dive .tag{color:var(--dv)}
.dive-hud{position:absolute;right:calc(var(--pad) + 96px);top:50%;transform:translateY(-50%);z-index:6;display:flex;gap:16px;align-items:stretch}
.dh-map{position:relative;width:62px;height:58vh;overflow:hidden;border:1px solid color-mix(in srgb,var(--dv) 45%,transparent);background:#000}
.dh-map img{position:absolute;left:0;top:0;width:100%;height:auto;opacity:.75}
.dh-win{position:absolute;left:-1px;right:-1px;top:0;height:20px;border:2px solid var(--dv);background:color-mix(in srgb,var(--dv) 18%,transparent);box-shadow:0 0 18px var(--dv)}
.dh-meta{display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:2px 0}
.dh-meta b{font-family:var(--display);font-weight:400;font-size:44px;letter-spacing:0;color:var(--dv);line-height:.9}
.dh-meta span{color:var(--mute);writing-mode:vertical-rl;letter-spacing:.2em}
.dh-skip{position:absolute;right:0;bottom:calc(-1 * 42px);padding:6px 12px;border:1px solid var(--line);border-radius:99px;color:var(--fg);font-size:10.5px;letter-spacing:.14em;transition:background .3s,color .3s}
.dh-skip:hover{background:var(--dv);color:#000}
.dive-hint{position:absolute;left:50%;bottom:5vh;transform:translateX(-50%);z-index:6;color:var(--fg);display:flex;align-items:center;gap:10px}
.dive-hint span{padding:8px 16px;border:1px solid var(--line);border-radius:99px;background:rgba(0,0,0,.5);animation:hintb 1.8s ease-in-out infinite}
@keyframes hintb{50%{transform:translateY(6px)}}

/* ---------------- SPHERE SHOWROOM ---------------- */
.sphere{background:#09090b;position:relative}
.sp-pin{position:relative;height:100vh;overflow:hidden}
.sp-stage{position:absolute;inset:0;overflow:hidden;cursor:grab}
.sp-stage.drag{cursor:grabbing}
.sp-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:radial-gradient(ellipse 70% 75% at 50% 50%,transparent 50%,rgba(9,9,11,.92) 100%)}
.sp-dots{position:absolute;inset:-5%;background-image:radial-gradient(rgba(236,233,225,.2) 1px,transparent 1.3px);background-size:24px 24px;opacity:.6}
.sp-world{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.sp-letter{position:absolute;left:0;top:0;font-family:var(--display);font-weight:400;line-height:.8;color:#E7E3D8;white-space:nowrap;user-select:none;pointer-events:none;backface-visibility:hidden;
  text-shadow:0 .012em 0 #b9b5aa,0 .024em 0 #8e8a80,0 .036em 0 #66635b,0 .048em 0 #403e39,0 .06em 0 #262522}
.sp-letter.alt{color:var(--acid);text-shadow:0 .012em 0 #a9cc2d,0 .024em 0 #7f9a22,0 .036em 0 #5a6d18,0 .048em 0 #3a4610,0 .06em 0 #222a08}
.sp-card{position:absolute;left:0;top:0;cursor:pointer;backface-visibility:hidden}
.sp-card .sc-in{position:relative;transition:transform .6s var(--ease)}
.sp-card img{display:block;width:100%;height:auto;border:1px solid rgba(236,233,225,.18);box-shadow:0 40px 80px rgba(0,0,0,.7);background:#000}
.sp-card .sc-cap{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--fg);white-space:nowrap}
.sp-card .sc-cap b{color:var(--acid);font-weight:400}
.sp-card:hover .sc-in{transform:translateY(-14px) scale(1.04)}
.sp-card.hot img{border-color:var(--acid)}
.sp-ui{position:absolute;inset:0;z-index:5;pointer-events:none}
.sp-tl{position:absolute;left:var(--pad);top:92px;display:flex;align-items:center;gap:14px}
.sp-tr{position:absolute;right:calc(var(--pad) + 40px);top:96px;text-align:right;color:var(--mute);line-height:1.8}
.sp-now{position:absolute;left:var(--pad);bottom:7vh;display:flex;flex-direction:column;gap:6px}
.sp-now b{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.8vw,70px);line-height:.9;text-transform:uppercase;text-shadow:0 4px 30px rgba(0,0,0,.8)}
.sp-now .cn{color:#c4c1b8;font-size:14px}
.sp-idx{color:var(--acid)}
.sp-bar{position:absolute;left:var(--pad);right:var(--pad);bottom:4vh;height:2px;background:var(--line)}
.sp-bar i{position:absolute;left:0;top:0;height:100%;width:100%;background:var(--acid);transform-origin:left;transform:scaleX(0)}

/* ---------------- GAME UI · ARCADIA ---------------- */
.arc{display:grid;grid-template-columns:1.7fr 1fr;gap:4vw;padding:16vh var(--pad) 0;align-items:center}
.arc-screen{position:relative;border:1px solid var(--line);overflow:hidden;background:#000}
.arc-screen img{width:100%;transition:transform 1.2s var(--ease)}
.arc-screen:hover img{transform:scale(1.03)}
.arc-side{display:flex;flex-direction:column;gap:20px}
.arc-t{font-family:"Serif";font-style:italic;font-weight:400;font-size:clamp(60px,7vw,140px);line-height:.86;color:#e6d3a8}
.arc-side p.cn{font-size:14.5px;line-height:2;color:#cfccc3}

/* ---------------- NUO ---------------- */
.nuo{background:#0b0a0c;overflow:hidden}
.nuo-grid{display:grid;grid-template-columns:1fr 1.2fr .62fr;gap:3vw;padding:0 var(--pad);align-items:start}
.nuo-text{position:sticky;top:16vh;display:flex;flex-direction:column;gap:26px}
.nuo-words{display:flex;gap:2.2vw}
.nuo-words span{writing-mode:vertical-rl;font-family:var(--cnserif);font-weight:900;font-size:clamp(46px,5vw,96px);line-height:1;letter-spacing:.1em;color:transparent;-webkit-text-stroke:1px #d7b45a}
.nuo-words span:nth-child(2){color:#d7b45a;-webkit-text-stroke:0}
.nuo-text p.cn{font-size:14.5px;line-height:2;color:#cfccc3;max-width:26em}
.nuo-text .tag{align-self:flex-start}
.nuo-poster img{width:100%}
.nuo-board{margin-top:22vh;border:1px solid var(--line)}
.nuo-board img{width:100%}

/* ---------------- TAIWU pan ---------------- */
.taiwu{background:#0e1012;padding-bottom:0}
.tw-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;gap:3vh;overflow:hidden}
.tw-track{height:70vh;width:max-content;padding:0 var(--pad);will-change:transform}
.tw-track img{height:100%;width:auto;max-width:none;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.tw-foot{display:flex;justify-content:space-between;padding:0 var(--pad);color:var(--mute)}

/* ---------------- TiMi ---------------- */
.timi{background:#0d0e11;padding:16vh 0 0;overflow:hidden;position:relative}
.timi::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(236,233,225,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(236,233,225,.035) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.tm-tape{margin:7vh 0 0;background:var(--acid);color:var(--ink);transform:rotate(-1.5deg);padding:.7vw 0 .5vw;white-space:nowrap;overflow:hidden;position:relative;z-index:2}
.tm-tape .track>span{font-size:clamp(26px,2.6vw,46px)}
.tm-head{display:grid;grid-template-columns:auto 1fr;gap:5vw;align-items:end;padding:10vh var(--pad) 0;position:relative}
.tm-title{font-family:var(--display);font-weight:400;font-size:clamp(90px,15vw,290px);line-height:.8;text-transform:uppercase}
.tm-title .o{color:transparent;-webkit-text-stroke:1.5px var(--fg)}
.tm-intro{display:flex;flex-direction:column;gap:30px;padding-bottom:1.2vw}
.tm-intro p.cn{font-size:15px;line-height:2;color:#cfccc3;max-width:34em}
.tm-intro p.cn b{color:var(--acid);font-weight:600}
.tm-stamp{align-self:flex-start;display:flex;flex-direction:column;gap:4px;border:2px solid var(--acid);color:var(--acid);padding:10px 16px;transform:rotate(-4deg)}
.tm-stamp b{font-family:var(--display);font-weight:400;font-size:38px;letter-spacing:.06em;line-height:1}
.tm-case{position:relative;padding:14vh var(--pad) 0}
.tm-case-head{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-bottom:5vh}
.tm-no{display:grid;place-items:center;width:64px;height:64px;background:var(--acid);color:var(--ink);font-family:var(--display);font-size:40px;line-height:1;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.tm-case-head h3{font-family:var(--cn);font-size:clamp(24px,2.4vw,40px);font-weight:700;letter-spacing:.04em;line-height:1.1}
.tm-case-head .mono{color:var(--mute);display:block;margin-top:6px}
.tm-a-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:4vw;align-items:start}
.tm-flow{position:relative;height:74vh;overflow:hidden;background:#050506;border:1px solid var(--line)}
.tm-flow img{width:100%;will-change:transform}
.tm-flow-l{position:absolute;left:12px;top:10px;color:var(--acid);background:rgba(0,0,0,.7);padding:3px 8px}
.tm-a-side p.cn{font-size:14.5px;line-height:2;color:#cfccc3}
.tm-pts{list-style:none;margin-top:4vh;display:grid;gap:0;border-top:1px solid var(--line)}
.tm-pts li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--cn);font-size:13.5px;letter-spacing:.02em;text-transform:none}
.tm-pts b{font-family:var(--mono);color:var(--acid);font-weight:400}
.tm-strip{margin-top:6vh;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tm-strip-in{display:flex;gap:14px;width:max-content;animation:tmstrip 70s linear infinite}
.tm-strip:hover .tm-strip-in{animation-play-state:paused}
@keyframes tmstrip{to{transform:translateX(-50%)}}
.tm-strip figure{width:min(30vw,460px);flex:none;position:relative}
.tm-strip img{width:100%;aspect-ratio:2.15/1;object-fit:cover;border:1px solid var(--line);transition:border-color .3s}
.tm-strip figure:hover img{border-color:var(--acid)}
.tm-strip figcaption{margin-top:8px;color:var(--mute);font-family:var(--cn);font-size:12px;letter-spacing:.04em;text-transform:none}
.tm-b-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:3vw;align-items:stretch}
.tm-b-screens{display:flex;flex-direction:column;gap:14px}
.tm-b-screens figure{position:relative}
.tm-b-screens img{width:100%;border:1px solid var(--line)}
.tm-b-screens figcaption{position:absolute;left:10px;top:8px;background:rgba(0,0,0,.65);padding:3px 8px;color:var(--fg);font-family:var(--cn);font-size:12px;text-transform:none}
.tm-icons{position:relative;min-height:560px;border:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 40% 40%,rgba(255,120,200,.14),transparent 55%),radial-gradient(circle at 70% 70%,rgba(90,200,255,.14),transparent 55%),#111216}
.tm-icons-l{position:absolute;left:14px;top:12px;color:var(--mute);z-index:3}
.tm-icons .ic{position:absolute;left:var(--x);top:var(--y);width:var(--w);transform:translate(-50%,-50%);filter:drop-shadow(0 26px 30px rgba(0,0,0,.55));cursor:zoom-in;animation:icf 5s ease-in-out infinite;transition:filter .3s}
.tm-icons .ic:nth-child(odd){animation-duration:6.4s;animation-delay:-2s}
.tm-icons .ic:hover{filter:drop-shadow(0 26px 30px rgba(0,0,0,.55)) brightness(1.12)}
@keyframes icf{50%{margin-top:-12px}}
.tm-tabs{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:3vw;align-items:start}
.tm-tablist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tm-tablist button{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;text-align:left;padding:16px 10px;border-bottom:1px solid var(--line);font-family:var(--cn);font-size:15px;color:#bdbab1;transition:background .3s,color .3s}
.tm-tablist button b{font-family:var(--mono);font-weight:400;font-size:11px;color:var(--mute)}
.tm-tablist button .mono{font-size:9.5px;color:var(--mute)}
.tm-tablist button:hover{color:var(--fg);background:rgba(236,233,225,.04)}
.tm-tablist button.on{background:var(--acid);color:var(--ink)}
.tm-tablist button.on b,.tm-tablist button.on .mono{color:var(--ink)}
.tm-main{position:relative;aspect-ratio:2340/1080;overflow:hidden;border:1px solid var(--line);background:#000}
.tm-main img{width:100%;height:100%;object-fit:cover}
.tm-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.tm-thumbs button{width:128px;aspect-ratio:2340/1080;border:1px solid var(--line);overflow:hidden;opacity:.55;transition:opacity .3s,border-color .3s}
.tm-thumbs button img{width:100%;height:100%;object-fit:cover}
.tm-thumbs button.on,.tm-thumbs button:hover{opacity:1;border-color:var(--acid)}
.tm-desc{margin-top:16px;color:#cfccc3;font-size:14px;line-height:1.9}
.tm-d-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(150px,13vw,240px);gap:12px}
.pd-hero{grid-column:span 4;grid-row:span 2;background:#16181b;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4%;padding:5%;position:relative;overflow:hidden}
.pd-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.02) 0 10px,transparent 10px 20px)}
.pd-mark{width:34%;position:relative}
.pd-word{width:62%;position:relative}
.pd-slogan{width:60%;position:relative;opacity:.8}
.pd-card{grid-column:span 2;grid-row:span 2;perspective:1200px;cursor:pointer;display:grid;place-items:center;background:#16181b;border:1px solid var(--line);padding:8%}
.pd-card-in{position:relative;width:100%;aspect-ratio:2040/1200;transform-style:preserve-3d;transition:transform 1s var(--ease)}
.pd-card:hover .pd-card-in{transform:rotateY(-12deg) rotateX(6deg)}
.pd-card.on .pd-card-in{transform:rotateY(180deg)}
.pd-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;backface-visibility:hidden;box-shadow:0 30px 50px rgba(0,0,0,.5)}
.pd-card img.b{transform:rotateY(180deg)}
.pd-sq,.pd-v,.pd-o{position:relative;overflow:hidden;border:1px solid var(--line);background:#16181b}
.pd-sq{grid-column:span 1;grid-row:span 1}.pd-v{grid-column:span 2;grid-row:span 1}.pd-o{grid-column:span 3;grid-row:span 2}
.pd-sq img,.pd-v img,.pd-o img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.pd-sq:hover img,.pd-v:hover img,.pd-o:hover img{transform:scale(1.04)}
.pd-o figcaption{position:absolute;left:10px;top:8px;color:var(--ink);background:var(--acid);padding:2px 8px}
.tm-d-grid .pd-sq{grid-column:5/6}.tm-d-grid .pd-v{grid-column:6/7}
.tm-d-note{margin-top:18px;font-size:13.5px;line-height:1.9;max-width:52em}
.tm-e-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:3vw;align-items:stretch}
.tm-e-pad{position:relative;min-height:340px;border:1px dashed rgba(212,255,58,.45);background:radial-gradient(circle at 50% 50%,rgba(140,200,255,.12),transparent 60%),#121318;display:grid;place-items:center;overflow:hidden;cursor:none}
.tm-e-pad>.mono{position:absolute;left:14px;top:12px;right:14px;color:var(--mute);text-transform:none;font-family:var(--cn);letter-spacing:.04em}
.tm-e-fx{width:42%;opacity:.9;animation:icf 4s ease-in-out infinite;pointer-events:none}
.tm-e-side{display:flex;flex-direction:column;gap:20px;justify-content:center}
.tm-e-ptr{display:flex;align-items:center;gap:16px}
.tm-e-ptr img{width:104px;height:104px;image-rendering:auto;background:#1a1b20;border:1px solid var(--line);padding:16px}
.tm-e-side p.cn{font-size:14px;line-height:1.95;color:#cfccc3}
.tm-cursor{position:fixed;left:0;top:0;width:34px;height:34px;z-index:9996;pointer-events:none;opacity:0;transition:opacity .2s}
.tm-cursor.on{opacity:1}
.tm-fx-burst{position:absolute;width:120px;margin:-60px 0 0 -60px;pointer-events:none;z-index:4}
.tm-cta{padding:16vh var(--pad) 16vh}
.tm-cta-in{position:relative;background:var(--acid);color:var(--ink);padding:clamp(28px,5vw,80px);clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,40px 100%,0 calc(100% - 40px));display:grid;grid-template-columns:1fr 1fr;gap:2vw 5vw;align-items:end}
.tm-cta-in .mono{grid-column:1/-1}
.tm-cta-in h3{font-family:var(--cn);font-weight:900;font-size:clamp(34px,4.4vw,80px);line-height:1.08;letter-spacing:.02em}
.tm-cta-in p.cn{font-size:15px;line-height:1.95;font-weight:500}
.tm-cta-btns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:2vh}
.btn.alt{background:#fff;color:var(--ink)}
.btn.alt::before{background:var(--ink)}
.btn.alt:hover{color:var(--acid)}

/* ---------------- LAB ---------------- */
.lab{background:#08090b;position:relative}
.lab-pin{position:relative;min-height:100vh;padding:14vh var(--pad) 0;overflow:hidden;display:flex;flex-direction:column;gap:5vh}
.lab-bg{position:absolute;inset:0;pointer-events:none}
.lab-bg canvas{width:100%;height:100%;display:block}
.lab-top{position:relative;display:flex;flex-direction:column;gap:3vh}
.lab-title{font-family:var(--display);font-weight:400;font-size:clamp(70px,11vw,210px);line-height:.82;text-transform:uppercase;display:flex;align-items:baseline;gap:2vw;flex-wrap:wrap}
.lab-title .lt-x{font-family:"Serif";font-style:italic;color:var(--acid);font-size:.7em}
.lab-title .lt-b{color:transparent;-webkit-text-stroke:1.5px var(--fg)}
.lab-grid{position:relative;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:16px;align-items:stretch}
.lab-col{position:relative;border:1px solid var(--line);background:rgba(17,18,22,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:18px 18px 22px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
.lc-head{display:flex;justify-content:space-between;gap:10px;color:var(--acid);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}
.lc-tabs{display:flex;gap:6px}
.lc-tabs i{font-style:normal;color:var(--mute);padding:0 6px}
.lc-tabs i.on{color:var(--ink);background:var(--acid)}
.lc-term{font-family:var(--mono);font-size:11.5px;line-height:1.7;color:#d6d3ca;height:250px;overflow:hidden;white-space:pre-wrap;word-break:break-all}
.lc-term .k{color:var(--acid)}.lc-term .s{color:var(--cyan)}.lc-term .c{color:#6b6f78}.lc-term .n{color:#e5b35a}
.lc-term .cur{display:inline-block;width:7px;height:13px;background:var(--acid);vertical-align:-2px;animation:blink 1s steps(2) infinite}
.lc-skills{list-style:none;margin-top:14px;display:grid;gap:12px}
.lc-skills li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12.5px}
.lc-skills span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--fg)}
.lc-skills em{font-style:normal;font-family:var(--cn);font-size:11.5px;color:var(--mute);text-align:right}
.lc-skills i{grid-column:1/-1;height:4px;background:rgba(236,233,225,.08);position:relative;overflow:hidden}
.lc-skills i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--acid),var(--cyan));transform-origin:left;transform:scaleX(var(--p,0));transition:transform 1.6s var(--ease)}
.lab.on .lc-skills i::after{--p:var(--v)}
.gen-box{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;border:1px solid var(--line)}
.gen-box canvas{width:100%;height:100%;display:block;image-rendering:pixelated}
.gen-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);pointer-events:none}
.gen-corner{position:absolute;right:8px;bottom:6px;color:var(--acid);font-size:9.5px;background:rgba(0,0,0,.6);padding:2px 6px}
.gen-prompt{margin-top:14px;font-size:12px;line-height:1.8;color:#d6d3ca;text-transform:none;letter-spacing:.04em;min-height:5.4em}
.gp-k{color:var(--acid)}
.caret{display:inline-block;width:7px;height:13px;background:var(--acid);vertical-align:-2px;animation:blink 1s steps(2) infinite;margin-left:2px}
.gen-note{margin-top:10px;font-size:12.5px;line-height:1.85}
.ai-line{list-style:none;display:grid;gap:0;position:relative;padding-left:18px}
.ai-line::before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--acid),var(--cyan),transparent)}
.ai-line li{position:relative;padding:0 0 16px}
.ai-line li::before{content:"";position:absolute;left:-18px;top:4px;width:9px;height:9px;background:var(--acid);transform:rotate(45deg)}
.ai-co{color:var(--acid);font-size:10.5px}
.ai-line b{display:block;font-family:var(--cn);font-size:15px;margin:4px 0 4px}
.ai-line p.cn{font-size:12.5px;line-height:1.8;color:#bdbab1}
.lab-tools{position:relative;margin:2vh calc(-1 * var(--pad)) 0;border-block:1px solid var(--line);padding:1.1vw 0 .8vw;white-space:nowrap;overflow:hidden}
.lab-tools .track>span{font-size:clamp(30px,3.4vw,60px);color:transparent;-webkit-text-stroke:1px var(--fg)}
.lab-tools .star{color:var(--acid);-webkit-text-stroke:0}

/* ---------------- ODE additions ---------------- */
.ode-chars{position:relative;padding-top:12vh}
.ode-chars .h-pin{gap:0;justify-content:flex-end;padding-bottom:6vh;position:relative}
.ode-chars .ch-bg{-webkit-text-stroke-color:rgba(201,164,101,.16);font-family:"Serif";font-style:italic}
.ode-chars .ch-floor{background:rgba(201,164,101,.25)}
.ode-chars .chr .cap .mono{color:var(--bronze)}
.ode-chars .ch-intro h2{font-family:"Serif";font-style:italic;text-transform:none;font-size:clamp(70px,7.6vw,150px);line-height:.86;color:#efe7d6;margin:14px 0 0}
.ode-chars .ch-intro p.cn{font-family:var(--cnserif);color:#bfb6a3}
.ode-chars .h-end b{font-family:"Serif";font-style:italic;font-weight:400;color:#efe7d6}
.ode .ch-detail h3{font-family:"Serif";font-style:italic;text-transform:none}
.ode .cd{background:radial-gradient(circle at 50% 55%,#17140f,#0a0909 70%);border-color:#2b2620}
.ode .cd::after{background:radial-gradient(circle at 50% 60%,rgba(201,164,101,.08),transparent 60%)}
.ode .cd .mono{color:#9c907a}
.ode .ch-detail{padding-bottom:6vh}
.ode .og-row{grid-template-columns:repeat(3,1fr)}
.relics-grid .r3{grid-column:span 3;grid-row:span 2}
.relics-grid .r4{grid-column:span 3;grid-row:span 1}
.relics-grid .r6{grid-column:span 3;grid-row:span 1}
.relics-grid .r5{grid-column:span 4;grid-row:span 2}
.relics-grid .r4b{grid-column:span 2;grid-row:span 2}
.relics-grid{grid-auto-flow:dense}
.printed{padding:16vh var(--pad) 4vh}
.pr-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pr-row figure{position:relative;aspect-ratio:1191/843;overflow:hidden;border:1px solid #2b2620}
.pr-row img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pr-row figure:hover img{transform:scale(1.05)}

/* ---------------- HAND-DRAWN ---------------- */
.collage.c4 .pc{padding:12px 12px 42px}
.collage.c4 .pc.dk img{background:radial-gradient(circle,#2a2c33,#16171b)}

/* ---------------- lightbox long view ---------------- */
.lb{overflow:hidden}
.lb.long{align-items:flex-start;overflow-y:auto;padding-top:70px}
.lb-long{width:min(760px,92vw);margin:0 auto 60px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.lb-long img{display:block;width:100%;height:auto;max-width:none;max-height:none;box-shadow:none}
.lb.long .lb-media{max-height:none;display:block;width:100%}

/* ---------------- responsive ---------------- */
@media (max-width:899px){
  .ft-head{flex-direction:column;align-items:flex-start}
  .dive-pin{height:auto;min-height:0;padding:8vh 0 10vh;display:flex;flex-direction:column;align-items:center;gap:28px}
  .dive-stage,.dive-hud,.dive-hint{display:none}
  .dive-cap{position:relative;left:auto;bottom:auto;width:auto;padding:0 var(--pad)}
  .dive-phone{position:relative;left:auto;top:auto;width:72vw!important;height:150vw!important;transform:none!important}
  .dive-phone .dp-screen{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .dive-phone .dp-strip{position:relative;transform:none!important}
  .sp-tr{display:none}
  .sp-now b{font-size:30px}
  .arc{grid-template-columns:1fr}
  .nuo-grid{grid-template-columns:1fr}
  .nuo-text{position:relative;top:0}
  .nuo-board{margin-top:0}
  .tw-pin{height:auto;padding:4vh 0}
  .tw-track{height:auto;width:auto;overflow-x:auto}
  .tw-track img{height:60vw}
  .tm-head,.tm-a-grid,.tm-b-grid,.tm-tabs,.tm-e-grid,.tm-cta-in{grid-template-columns:1fr}
  .tm-flow{height:60vh}
  .tm-strip figure{width:72vw}
  .tm-icons{min-height:380px}
  .tm-d-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .tm-d-grid>*{grid-column:span 2!important;grid-row:auto!important}
  .pd-hero{min-height:260px}
  .tm-tablist{flex-direction:row;overflow-x:auto}
  .tm-tablist button{flex:none;grid-template-columns:auto auto;border-bottom:0;border-right:1px solid var(--line)}
  .tm-tablist button .mono{display:none}
  .lab-grid{grid-template-columns:1fr}
  .pr-row{grid-template-columns:1fr}
}
.lb.long .lb-close,.lb.long .lb-cap{position:fixed;z-index:3}
.lb.long::before{content:"";position:fixed;left:0;right:0;top:0;height:64px;background:linear-gradient(rgba(6,6,8,.96),rgba(6,6,8,0));z-index:2;pointer-events:none}

/* =========================================================
   v3 — flicker-free dive / experience logos / hand-drawn links
   ========================================================= */
html{overflow-anchor:none}
body{overflow-anchor:none}
/* dive: static geometry, transform-only motion */
.dive-cam{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.dive-cam .dive-walls,.dive-cam .dive-world{left:0;top:0}
.dive-walls i{background-position:0 0!important;will-change:transform;backface-visibility:hidden}
.dv-word,.dv-chip{will-change:transform,opacity;backface-visibility:hidden}
.dive-phone{will-change:auto;backface-visibility:hidden}
.dp-body{padding:6px;border-radius:26px;box-shadow:0 0 0 2px #3b3e46,0 30px 70px rgba(0,0,0,.65),0 0 90px color-mix(in srgb,var(--dv) 28%,transparent)}
.dp-screen{border-radius:20px;transform:translateZ(0)}
.dp-notch{top:14px;height:16px;width:24%}
.dp-strip{backface-visibility:hidden}
.dp-strip img{image-rendering:auto}
.dive.is-reading .dp-notch{opacity:.0;transition:opacity .4s}

/* experience rows with logos */
.exp-list{border-bottom:1px solid var(--line)}
.exp-row{grid-template-columns:150px minmax(0,1.25fr) minmax(0,1fr) 170px 34px;gap:22px;padding:22px 14px}
.exp-row .exp-link{display:contents;color:inherit}
.er-logo{height:74px;display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(236,233,225,.05);border:1px solid var(--line);padding:12px 14px;transition:background .4s,border-color .4s}
.er-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);transition:filter .4s}
.er-logo.duo img:first-child{max-width:62%}
.er-logo.duo img:last-child{max-height:44px;max-width:30%}
.er-logo.txt{flex-direction:column;gap:2px}
.er-logo.txt b{font-family:var(--cn);font-size:24px;font-weight:900;letter-spacing:.12em;line-height:1}
.er-logo.txt i{font-style:normal;font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;opacity:.7}
.exp-row:hover .er-logo{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.25)}
.exp-row:hover .er-logo img{filter:brightness(0)}
.er-co b{font-family:var(--cn)!important;font-weight:800!important;font-size:clamp(22px,2.1vw,34px)!important;letter-spacing:.04em;text-transform:none!important;line-height:1.15!important}
.er-co em{display:block;margin-top:8px;font-family:var(--mono)!important;font-size:11px!important;letter-spacing:.12em;opacity:.6!important}
.er-role{text-align:left!important;font-family:var(--cn)!important;letter-spacing:0!important}
.er-role b{display:block;font-family:var(--cn);font-size:clamp(16px,1.3vw,20px);font-weight:700;letter-spacing:.04em}
.er-role em{display:block;font-style:normal;font-size:12.5px;opacity:.68;margin-top:6px;line-height:1.6}
.er-date{font-family:var(--mono);font-size:13px!important;letter-spacing:.04em;line-height:1.7}
.er-date .now{display:inline-block;margin-left:0;margin-top:4px;font-family:var(--cn);font-size:11px;font-weight:700;padding:2px 8px}
.exp-row:hover .er-co em,.exp-row:hover .er-role em{opacity:.8!important}

/* CTA hint */
.tm-cta-hint{grid-column:1/-1;font-size:11px;letter-spacing:.14em;margin-top:1vh;opacity:.75}

/* AIGC badges & hand-drawn links */
.ai-badge{position:absolute;right:12px;top:10px;z-index:3;background:rgba(10,10,12,.72);color:#9fe8ff;border:1px solid rgba(159,232,255,.45);padding:3px 8px;font-size:10px;letter-spacing:.12em;backdrop-filter:blur(6px)}
.og-row figure .ai-badge{right:8px;top:8px}
.hd-mark{display:inline-block;background:var(--bronze);color:#120e08;font-family:var(--mono);font-weight:700;font-size:.78em;letter-spacing:.1em;padding:1px 8px;margin:0 2px}
.draw .hd-mark{background:var(--acid);color:var(--ink)}
.hd-link{margin-top:18px;display:inline-flex}
.hd-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.hd-right .hd-link{margin-top:0}
.ode .hd-link{color:var(--bronze)}
.ode .hd-link:hover{background:var(--bronze);color:#120e08}
.ode-hand{padding:16vh var(--pad) 0}
.oh-grid{display:grid;grid-template-columns:1.55fr 1fr;grid-template-rows:auto auto;gap:12px}
.oh-grid figure{position:relative;overflow:hidden;border:1px solid #2b2620;background:#0a0909}
.oh-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.oh-grid figure:hover img{transform:scale(1.04)}
.oh-a{aspect-ratio:2400/1345}
.oh-b{grid-row:span 2}
.oh-c{aspect-ratio:1680/720}
.oh-grid figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:50px 18px 14px;background:linear-gradient(transparent,rgba(5,5,6,.82))}
.oh-grid figcaption b{font-family:"Serif";font-style:italic;font-weight:400;font-size:clamp(26px,2.6vw,46px);line-height:.95;color:#efe7d6}
.oh-grid figcaption .mono{color:#d9cdb3}
.collage.c8{row-gap:2vw}
.collage.c8 .pc{padding:12px 12px 44px}
.pc-link{position:absolute;right:12px;bottom:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;background:var(--ink);color:var(--acid);padding:5px 10px;clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);transition:background .3s,color .3s;z-index:2}
.pc-link:hover{background:var(--acid);color:var(--ink)}
.pc.dk .pc-link{background:var(--acid);color:var(--ink)}
.draw-more{display:flex;justify-content:center;padding-top:12vh}

@media (max-width:1100px){
  .exp-row{grid-template-columns:120px 1fr 150px 30px}
  .er-role{display:block!important;grid-column:2/3}
  .er-date{grid-row:1;grid-column:3}
}
@media (max-width:899px){
  .exp-row{grid-template-columns:96px 1fr;gap:10px 16px;padding:18px 6px}
  .er-logo{grid-row:span 3;height:auto;min-height:84px;align-self:stretch}
  .er-co,.er-role,.er-date{grid-column:2!important;grid-row:auto!important}
  .er-arrow{display:none}
  .oh-grid{grid-template-columns:1fr}
  .oh-b{grid-row:auto}
  .hd-right{align-items:flex-start}
}
img{height:auto}
.tm-thumbs{min-height:60px}
.tm-desc{min-height:3.8em}
.noise{transition:opacity .6s}
body.calm .noise,body.lb-open .noise{opacity:0;animation-play-state:paused}
.dive .dp-screen{cursor:zoom-in}
.dive-hud .dh-meta::after{content:"CLICK SCREEN = FULL SIZE";writing-mode:vertical-rl;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--dv)}
.er-logo-t{font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:.08em;transition:color .4s}
.exp-row:hover .er-logo-t{color:var(--ink)}
.er-logo{height:84px}
/* brand logos in original colors on light tiles (instantly recognizable) */
.er-logo{background:#f3f1ec;border-color:transparent}
.er-logo img{filter:none!important}
.er-logo img.xm{max-height:58%!important}
.er-logo-t{color:#1a1a1a;font-size:18px;letter-spacing:.02em}
.er-logo.txt{background:#f3f1ec;color:#1a1a1a}
.exp-row:hover .er-logo{background:#fff;border-color:transparent}
.exp-row:hover .er-logo-t{color:#1a1a1a}
@media (min-width:900px){.exp-list{margin-right:calc(var(--pad) + 70px)}}

/* ===== v4: never crop artwork ===== */
/* Dr.Ratio: full frame (contain) over a blurred copy of itself */
.wr-media{background:#000}
.wr-media img.wr-bg{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;filter:blur(38px) brightness(.45) saturate(1.2);transform:none!important}
.wr-media img.wr-main{position:relative;width:100%;height:100%;object-fit:contain}
/* concept-sheet tiles: image always fits inside the tile */
.cd:not(.pic):not(.duo) img,.relic img{position:absolute;left:7%;top:12%;width:86%;height:80%;max-width:none;max-height:none;object-fit:contain}
.cd.pic{background:#0a0909}
.cd.pic img{object-fit:contain!important}
.flip-face img{position:absolute;left:8%;top:8%;width:84%;height:84%;max-width:none;max-height:none;object-fit:contain;box-shadow:none;filter:drop-shadow(0 14px 22px rgba(0,0,0,.25))}
/* stacked scene cards: natural aspect, no side cropping */
.og-card{height:auto;max-height:none}
.og-in{height:auto;aspect-ratio:var(--ar,16/9);max-height:80vh;margin:0 auto;max-width:calc(80vh * var(--ar,16/9))}
.og-in img{object-fit:contain;background:#050506}
.og-row figure{background:#0a0909}
.og-row img{object-fit:contain}
/* hand-painted trio: natural ratios */
.oh-grid{grid-template-columns:1.784fr 1.037fr;grid-template-rows:auto}
.oh-a{aspect-ratio:2400/1345}
.oh-b{grid-row:auto;aspect-ratio:2000/1929}
.oh-c{grid-column:1/-1;aspect-ratio:1680/720}
.pd-sq img,.pd-v img{object-fit:contain!important}
@media (max-width:899px){.oh-grid{grid-template-columns:1fr}.oh-c{grid-column:auto}}
.cd.pic img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none}

/* ===== v4: minimap — fixed geometry so changing digits can't shift it ===== */
.dive-hud{width:150px;justify-content:flex-end}
.dh-map{flex:none;contain:strict}
.dh-map img,.dh-win{will-change:transform;backface-visibility:hidden}
.dh-meta{flex:none;width:70px;overflow:hidden}
.dh-meta b{display:block;width:70px;text-align:left;font-variant-numeric:tabular-nums}
.dh-meta span{font-variant-numeric:tabular-nums;height:13em;white-space:nowrap}

/* ===== v4: trailer teaser label ===== */
.ot-live{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:10px;color:#efe7d6;background:rgba(0,0,0,.55);padding:7px 14px;border-radius:99px;white-space:nowrap;font-size:11px;letter-spacing:.14em;backdrop-filter:blur(6px)}
.ot-live i{width:7px;height:7px;border-radius:50%;background:#e8584a;animation:blink 1.2s steps(2) infinite}

/* ===== v4: experience — transparent logo watermarks, no boxes ===== */
.exp-row{grid-template-columns:56px minmax(0,1.25fr) minmax(0,1fr) 210px 170px 34px!important;gap:22px;padding:26px 14px!important;min-height:120px}
.er-no{font-family:var(--mono);font-size:12px;opacity:.6}
.er-mark{display:flex;align-items:center;justify-content:flex-end;gap:14px;height:46px;opacity:.32;transition:opacity .45s var(--ease),transform .6s var(--ease)}
.er-mark img{height:100%;width:auto;max-width:190px;object-fit:contain;filter:brightness(0) invert(1);transition:filter .4s}
.er-mark img[alt="Tencent"]{height:30px}
.er-mark img.tm{height:46px}
.er-mark i{width:1px;height:32px;background:currentColor;opacity:.5}
.er-mark img[alt="ByteDance"]{height:30px}
.er-mark img[alt="FunPlus"]{height:30px}
.er-mark img.xm{height:34px}
.er-mark b{font-family:var(--sans);font-weight:600;font-size:24px;letter-spacing:.01em}
.exp-row:hover .er-mark{opacity:.9;transform:translateX(-6px)}
.exp-row:hover .er-mark img{filter:brightness(0)}
@media (max-width:1100px){
  .exp-row{grid-template-columns:40px 1fr 150px 150px 30px!important}
  .er-role{grid-column:2/3!important}
}
@media (max-width:899px){
  .exp-row{grid-template-columns:1fr auto!important;gap:6px 12px;padding:20px 6px!important}
  .er-no{display:none}
  .er-mark{grid-column:2;grid-row:1;height:30px;opacity:.4}
  .er-mark img.tm{height:30px}.er-mark img{max-width:110px}.er-mark b{font-size:16px}
  .er-co,.er-role,.er-date{grid-column:1/-1!important;grid-row:auto!important}
}
.er-mark{grid-column:4;grid-row:1}@media (max-width:1100px){.er-mark{grid-column:3}}@media (max-width:899px){.er-mark{grid-column:2}}
.er-co b{font-size:clamp(20px,1.75vw,30px)!important;white-space:nowrap}@media (max-width:899px){.er-co b{white-space:normal}}

/* =========================================================
   v5 HERO — PV opening · 3D→2D name · wireframe core
   ========================================================= */
.hero{background:radial-gradient(ellipse 55% 50% at 50% 52%,#17181c 0%,#0c0d0f 72%)}
.hero-fx{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
#heroGL{position:absolute;inset:0;width:100%;height:100%}
.hero-ring{position:absolute;left:50%;top:52%;width:min(96vh,88vw);height:min(96vh,88vw);margin:calc(min(96vh,88vw) / -2) 0 0 calc(min(96vh,88vw) / -2);color:var(--fg);opacity:.75}
.hero-ring g{transform-box:view-box;transform-origin:50% 50%}
.hero-ring .r-a{animation:spin 90s linear infinite}
.hero-ring .r-b{animation:spin 40s linear infinite reverse}
.hero-ring .r-c{animation:spin 24s linear infinite}
.hero-shock{position:absolute;left:50%;top:52%;width:36vh;height:36vh;margin:-18vh 0 0 -18vh;border:2px solid var(--acid);border-radius:50%;opacity:0;box-shadow:0 0 40px rgba(212,255,58,.5),inset 0 0 40px rgba(212,255,58,.35)}
.hero-scan{position:absolute;left:0;right:0;top:0;height:100%;background:linear-gradient(transparent 0%,rgba(212,255,58,.0) 40%,rgba(212,255,58,.16) 49.6%,rgba(212,255,58,.9) 50%,rgba(212,255,58,.16) 50.4%,transparent 60%);opacity:0;mix-blend-mode:screen}
.hero-flash{position:absolute;inset:0;background:#f4f2ea;opacity:0;pointer-events:none;z-index:7}

/* name */
.hero-name{z-index:3;transform:translateY(-44%);perspective:1300px;perspective-origin:50% 50%;line-height:.8;padding-top:.04em}
.nwrap,.n3d{position:relative;display:inline-block;transform-style:preserve-3d}
.n3d{--d:0}
.nl{position:absolute;left:0;top:0;white-space:nowrap;transform:translateZ(calc(var(--i,0) * var(--d) * -1px));pointer-events:none}
.nl.front{position:relative;color:var(--fg);transform:translateZ(1px);transition:color .25s,-webkit-text-stroke-color .25s;text-shadow:0 0 60px rgba(212,255,58,0)}
.nl .o{color:transparent;-webkit-text-stroke:2px var(--fg)}
.nl.front.wire{color:transparent;-webkit-text-stroke:1.5px rgba(236,233,225,.95)}
.nl.bk{color:transparent;-webkit-text-stroke:1px rgba(212,255,58,var(--a))}
.nl.bk .o{-webkit-text-stroke:1px rgba(212,255,58,var(--a))}
.nl.gl{opacity:0;clip-path:inset(0 0 100% 0)}
.nl.g1{color:var(--acid);mix-blend-mode:screen}.nl.g1 .o{-webkit-text-stroke-color:var(--acid)}
.nl.g2{color:#4BE6D3;mix-blend-mode:screen}.nl.g2 .o{-webkit-text-stroke-color:#4BE6D3}

/* tag + ruler around the name */
.hero-tag{position:absolute;left:0;right:0;top:calc(52% - var(--fs,300px) * .42 - 46px);z-index:4;display:flex;justify-content:center;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;white-space:nowrap}
.hero-tag b{background:var(--acid);color:var(--ink);padding:4px 9px 3px;font-weight:700;clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.hero-tag em{font-style:normal;color:var(--acid)}
.hero-ruler{position:absolute;left:calc(var(--pad) + 6vw);right:calc(var(--pad) + 6vw);top:calc(52% + var(--fs,300px) * .47 + 30px);z-index:4;display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.22em;color:var(--mute);white-space:nowrap}
.hero-ruler i{flex:1;height:9px;border-bottom:1px solid rgba(236,233,225,.3);background:repeating-linear-gradient(90deg,rgba(236,233,225,.3) 0 1px,transparent 1px 22px) bottom/100% 5px no-repeat}
.hero-ruler b{font-family:var(--cn);font-weight:700;color:var(--fg);letter-spacing:.3em}
.hero-ruler b::first-letter{color:var(--acid)}

/* operator record (top right) */
.hero-file{display:grid;grid-template-columns:auto auto;gap:5px 22px;font-size:10.5px;letter-spacing:.14em;color:var(--mute);border-left:1px solid var(--line);padding:2px 0 2px 16px;margin:0}
.hero-file dt.t{grid-column:1/-1;display:flex;align-items:center;gap:10px;color:var(--fg);margin-bottom:6px}
.hero-file dd.t{display:none}
.hero-file dd{margin:0;color:var(--fg);text-align:right}
.hero-file dd.acid{color:var(--acid)}
.hero-file .live{background:var(--acid);box-shadow:0 0 0 0 rgba(212,255,58,.6)}

/* PV overlay */
.pv{position:fixed;inset:0;z-index:9998;background:#060607;overflow:hidden;cursor:pointer}
.pv-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--fg);transform-origin:50% 50%;box-shadow:0 0 18px rgba(236,233,225,.8)}
.pv-sys{position:absolute;left:0;right:0;top:calc(50% + 18px);text-align:center;color:var(--fg);font-size:11px;letter-spacing:.32em;white-space:nowrap}
.pv-card{position:absolute;inset:0;visibility:hidden;overflow:hidden;display:grid;place-items:center}
.pv-card.c1{background:var(--paper);color:var(--ink)}
.pv-card.c2{background:#060607;color:var(--acid)}
.pv-card.c3{background:var(--acid);color:var(--ink)}
.pv-in{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center}
.pv-en{font-family:var(--display);font-weight:400;font-size:clamp(110px,22vw,400px);line-height:.8;letter-spacing:-.01em;white-space:nowrap}
.pv-cnw{overflow:hidden;margin-top:1.4vw}
.pv-cn{display:block;font-family:var(--cn);font-weight:900;font-size:clamp(28px,3.6vw,64px);letter-spacing:.6em;padding-left:.6em;line-height:1.2}
.pv-k{position:absolute;left:var(--pad);top:calc(var(--pad) + 6px);z-index:3;font-size:12px;letter-spacing:.18em;font-weight:700}
.pv-k.r{left:auto;right:var(--pad);top:auto;bottom:calc(var(--pad) + 6px)}
.pv-shape{position:absolute;z-index:1;width:78vh;height:78vh;left:50%;top:50%;margin:-39vh 0 0 -39vh;opacity:.16}
.pv-card.c2 .pv-shape{opacity:.3}
.pv-stripe{position:absolute;left:-20%;right:-20%;bottom:9vh;height:12vh;z-index:2;transform:rotate(-7deg);background:repeating-linear-gradient(-45deg,currentColor 0 16px,transparent 16px 32px);opacity:.85}
.pv-card.c2 .pv-stripe{bottom:auto;top:10vh;transform:rotate(6deg)}
.pv-name{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:clamp(90px,16vw,300px);color:var(--acid);opacity:0;letter-spacing:.02em}
.pv-skip{position:absolute;right:var(--pad);bottom:28px;z-index:6;color:#fff;border:1px solid rgba(255,255,255,.35);padding:9px 16px;border-radius:99px;font-size:10.5px;letter-spacing:.18em;mix-blend-mode:difference;cursor:pointer}
.pv-skip:hover{background:#fff;color:#000}

@media (max-width:899px){
  .hero-name{transform:translateY(-60%)}
  .hero-tag{top:calc(48% - var(--fs,120px) * .5 - 40px);font-size:9.5px;gap:8px}
  .hero-tag span:last-child,.hero-tag em{display:none}
  .hero-ruler{left:var(--pad);right:var(--pad);top:calc(48% + var(--fs,120px) * .4 + 18px);font-size:9px;gap:8px}
  .hero-ruler span{display:none}
  .hero-file{border-left:0;padding-left:0;font-size:9.5px}
  .hero-file dd{text-align:left}
  .pv-cn{letter-spacing:.3em}
}
.nl.bk{color:#101114}
.nl.bk .o{color:#101114}
.n3d.solid .nl.bk{color:transparent}
.n3d.solid .nl.bk .o{color:transparent}
.n3d{--dx:0;--dy:0}
.nl{transform:translate3d(calc(var(--i,0) * var(--dx) * 1px),calc(var(--i,0) * var(--dy) * 1px),calc(var(--i,0) * var(--d) * -1px))}
.nl.front{transform:translateZ(1px)}

/* =========================================================
   v6 HERO — ZZZ graphic: stickers · ransom tiles · halftone · kinetic type
   ========================================================= */
.hero{--orange:#FF6A2A;background:#0e0f12}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.hbt{position:absolute;left:-15%;right:-15%;top:50%;transform:translateY(-50%) rotate(-8deg);display:flex;flex-direction:column;gap:1vw}
.hbt-row{white-space:nowrap;overflow:hidden}
.hbt-row .track>span{font-family:var(--display);font-size:clamp(110px,15vw,270px);line-height:.86;gap:2vw;padding-right:2vw;color:transparent;-webkit-text-stroke:1.5px rgba(236,233,225,.075)}
.hbt-row.r2 .track>span{color:rgba(212,255,58,.06);-webkit-text-stroke:0}
.hbt-row .star{font-size:.4em;-webkit-text-stroke:0;color:rgba(212,255,58,.18)}
.hb-dots{position:absolute;width:62vw;height:62vw;background-image:radial-gradient(circle,var(--acid) 1.7px,transparent 2px);background-size:13px 13px;opacity:.22}
.hb-dots.d1{left:-22vw;bottom:-30vw;-webkit-mask-image:radial-gradient(circle at 60% 40%,#000 0%,transparent 62%);mask-image:radial-gradient(circle at 60% 40%,#000 0%,transparent 62%)}
.hb-dots.d2{right:-26vw;top:-34vw;background-image:radial-gradient(circle,var(--orange) 1.7px,transparent 2px);opacity:.16;-webkit-mask-image:radial-gradient(circle at 40% 60%,#000 0%,transparent 62%);mask-image:radial-gradient(circle at 40% 60%,#000 0%,transparent 62%)}

/* name: white face, black body, acid hard-shadow back plate */
.hero-name{top:40%;transform:translateY(-50%);z-index:3}
.nl.bk,.nl.bk .o{color:#060607!important;-webkit-text-stroke:3px #060607!important}
.nl.bk.last,.nl.bk.last .o{color:var(--acid)!important;-webkit-text-stroke:3px var(--acid)!important}
.n3d.solid .nl.bk,.n3d.solid .nl.bk .o{color:#060607!important}
.nl.front{color:#F3F0E7;-webkit-text-stroke:3px #060607;paint-order:stroke fill}
.nl.front .o{color:#0e0f12;-webkit-text-stroke:3px #F3F0E7}
.nl.g2{color:var(--orange)}.nl.g2 .o{-webkit-text-stroke-color:var(--orange)}

/* kicker */
.hero-kicker{position:absolute;left:0;right:0;top:calc(40% - var(--fs,300px) * .42 - 52px);z-index:4;display:flex;justify-content:center;align-items:center;gap:14px}
.hk-w{font-family:var(--display);font-size:clamp(20px,1.9vw,30px);letter-spacing:.06em;background:#F3F0E7;color:#0c0d0f;padding:4px 14px 2px;border:3px solid #060607;border-radius:8px;box-shadow:4px 4px 0 var(--acid);transform:rotate(-2deg);min-width:7.5em;text-align:center}
.hk-chev{display:flex;gap:2px}
.hk-chev i{font-style:normal;font-family:var(--display);font-size:26px;color:var(--acid);animation:chev 1s steps(1) infinite}
.hk-chev i:nth-child(2){animation-delay:.12s}.hk-chev i:nth-child(3){animation-delay:.24s}.hk-chev i:nth-child(4){animation-delay:.36s}.hk-chev i:nth-child(5){animation-delay:.48s}
@keyframes chev{0%,40%{opacity:1}41%,100%{opacity:.18}}

/* PORTFOLIO ransom-note band */
.hero-pf{position:absolute;left:50%;top:calc(40% + var(--fs,300px) * .4 + 18px);z-index:5;display:flex;align-items:center;gap:clamp(10px,1.2vw,20px);transform:translateX(-50%) rotate(-3deg);transform-origin:50% 50%;white-space:nowrap}
.pf-own,.pv-own{font-family:var(--display);font-size:clamp(18px,1.8vw,30px);letter-spacing:.04em;color:#F3F0E7;background:#060607;border:3px solid #F3F0E7;border-radius:8px;padding:6px 12px 3px;transform:rotate(-5deg)}
.pf-own b,.pv-own b{color:var(--acid);font-weight:400}
.pf-word,.pv-pf{display:flex;gap:clamp(3px,.45vw,8px);font-family:var(--display);font-weight:400}
.pfl,.pvl{display:inline-grid;place-items:center;font-size:clamp(50px,6.4vw,112px);line-height:1;min-width:.72em;padding:.06em .1em .02em;border:3px solid #060607;border-radius:10px;transform:rotate(var(--r));box-shadow:5px 5px 0 #060607;transition:background .25s,color .25s;cursor:default}
.pfl b,.pvl b{font-weight:400;display:block;transform:translateY(.02em)}
.t-a{background:var(--acid);color:#060607}
.t-k{background:#121316;color:var(--acid);border-color:var(--acid)!important;box-shadow:5px 5px 0 var(--acid)!important}
.t-w{background:#F3F0E7;color:#060607}
.pf-vol{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:#F3F0E7;display:flex;flex-direction:column;line-height:1.3;transform:rotate(4deg)}
.pf-vol b{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.4vw,42px);color:var(--orange);letter-spacing:.02em}

/* stickers */
.hero-stk{position:absolute;inset:0;z-index:6;pointer-events:none}
.stk{position:absolute;font-family:var(--display);font-size:clamp(14px,1.25vw,20px);letter-spacing:.06em;padding:7px 14px 4px;border:3px solid #060607;border-radius:999px;box-shadow:4px 4px 0 #060607;white-space:nowrap}
.stk.s1{left:7%;top:24%;background:#F3F0E7;color:#060607;rotate:-9deg}
.stk.s2{right:8%;top:63%;background:var(--acid);color:#060607;rotate:7deg}
.stk.s3{left:9%;top:63%;background:var(--orange);color:#060607;rotate:-5deg}
.stk.bub{right:13%;top:20%;background:#F3F0E7;color:#060607;border-radius:14px;font-family:var(--cn);font-weight:900;letter-spacing:.04em;rotate:5deg}
.stk.bub::after{content:"";position:absolute;left:22px;bottom:-15px;width:18px;height:18px;background:#F3F0E7;border-right:3px solid #060607;border-bottom:3px solid #060607;transform:skewX(30deg) rotate(45deg)}
.stk-round{position:absolute;left:calc(50% + var(--fs,300px) * 1.5);top:calc(40% - var(--fs,300px) * .62);width:clamp(96px,8.6vw,150px);aspect-ratio:1;filter:drop-shadow(4px 4px 0 #060607)}
.stk-round svg{width:100%;height:100%;animation:spin 12s linear infinite}
.stk-round b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:400;font-size:clamp(28px,2.6vw,46px);color:#060607}
.hero-shock{top:40%;border-color:var(--acid);border-width:4px;box-shadow:none}

/* ID card (top right) */
.hero-id{width:250px;background:#F3F0E7;color:#060607;border:3px solid #060607;border-radius:12px;box-shadow:6px 6px 0 var(--acid);transform:rotate(2deg);overflow:hidden;font-family:var(--mono)}
.hid-h{display:flex;align-items:center;gap:10px;background:#060607;color:#F3F0E7;padding:8px 10px}
.hid-h b{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;color:var(--acid)}
.hid-h span{font-size:10px;letter-spacing:.14em;line-height:1.3}
.hid-h em{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.1em;color:var(--orange)}
.hero-id dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 12px 6px;font-size:10.5px;letter-spacing:.08em;margin:0}
.hero-id dt{opacity:.55}.hero-id dd{margin:0;font-weight:700;text-align:right;font-family:var(--cn)}
.hero-id dd.hl{background:var(--acid);padding:0 4px;justify-self:end}
.hid-bar{display:block;height:22px;margin:4px 12px 10px;background:repeating-linear-gradient(90deg,#060607 0 2px,transparent 2px 4px,#060607 4px 5px,transparent 5px 8px,#060607 8px 11px,transparent 11px 12px)}

/* PV restyle — graphic, halftone, stickers */
.pv-dots{position:absolute;inset:-10%;background-image:radial-gradient(circle,currentColor 1.8px,transparent 2.1px);background-size:14px 14px;opacity:.13;-webkit-mask-image:linear-gradient(115deg,#000 0%,transparent 55%);mask-image:linear-gradient(115deg,#000 0%,transparent 55%);z-index:0}
.pv-tag{position:absolute;left:var(--pad);top:calc(var(--pad) + 4px);z-index:4;font-family:var(--display);font-size:clamp(16px,1.5vw,24px);letter-spacing:.05em;padding:6px 14px 3px;border:3px solid currentColor;border-radius:999px;background:transparent}
.pv-card.c1 .pv-tag{background:var(--acid);color:#060607;border-color:#060607;box-shadow:4px 4px 0 #060607}
.pv-card.c2 .pv-tag{background:#F3F0E7;color:#060607;border-color:#F3F0E7}
.pv-card.c3 .pv-tag{background:#060607;color:var(--acid);border-color:#060607}
.pv-en{-webkit-text-stroke:0}
.pv-card.c1 .pv-en{color:#060607;text-shadow:8px 8px 0 var(--acid)}
.pv-card.c3 .pv-en{color:#060607;text-shadow:8px 8px 0 #F3F0E7}
.pv-card.c4{background:#0e0f12;color:var(--acid)}
.pv-card.c4 .pv-in{gap:22px}
.pv-own{font-size:clamp(26px,2.8vw,48px)}
.pvl{font-size:clamp(64px,10vw,170px)}
.pv-vol{color:#F3F0E7;font-size:12px;letter-spacing:.24em}
.pv-k.r{font-weight:700}

@media (max-width:899px){
  .hero-name{top:38%}
  .hero-kicker{top:calc(38% - var(--fs,120px) * .42 - 46px)}
  .hk-w{font-size:16px}.hk-chev{display:none}
  .hero-pf{top:calc(38% + var(--fs,120px) * .4 + 14px);flex-wrap:wrap;justify-content:center;width:94vw;row-gap:10px}
  .pf-own{order:-1}.pf-vol{display:none}
  .pfl{font-size:10vw;border-width:2px;box-shadow:3px 3px 0 #060607}
  .stk.s1,.stk.s3,.stk.bub{display:none}
  .stk.s2{right:6%;top:60%}
  .stk-round{left:auto;right:5%;top:calc(38% - var(--fs,120px) * 1.3);width:76px}
  .hero-id{display:none}
  .pvl{font-size:11vw}
}
/* v6 layout tweaks */
.hero-id{display:none}
.stk-round{left:auto;right:7%;top:15%}
.stk.bub{right:20%;top:21%}
.stk.s3{left:22%;top:72%}
.stk.s2{right:9%;top:66%}
.nl.front .o{-webkit-text-stroke:3px var(--acid)}
@media (max-width:899px){.stk-round{right:5%;top:16%}}
@media (max-width:899px){.pfl{font-size:8.2vw;padding:.06em .06em .02em;border-radius:7px}.pf-word{gap:3px}.hero-pf{width:auto;max-width:96vw}}

/* v7 floating company logos */
.stk-logo{position:absolute;display:block}
.stk-logo img{display:block;width:auto;filter:brightness(0) invert(1) drop-shadow(3px 3px 0 #060607);opacity:.82;animation:lgFloat 6s ease-in-out infinite}
.lg-tc{left:27%;top:14%}.lg-tc img{height:24px;animation-delay:-1s}
.lg-tm{left:64%;top:10%}.lg-tm img{height:44px;animation-duration:7s;animation-delay:-3s}
.lg-bd{left:44%;top:75%}.lg-bd img{height:22px;animation-duration:6.6s;animation-delay:-2s}
.lg-xm{left:67%;top:76%}.lg-xm img{height:34px;animation-duration:5.4s;animation-delay:-4s}
@keyframes lgFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@media (max-width:899px){
  .lg-tc{left:6%;top:14%}.lg-tc img{height:16px}
  .lg-tm{left:auto;right:30%;top:10%}.lg-tm img{height:28px}
  .lg-bd{left:8%;top:66%}.lg-bd img{height:14px}
  .lg-xm{left:auto;right:10%;top:72%}.lg-xm img{height:22px}
}
.lg-tc{left:29%;top:17%}.lg-tc img{height:28px}
.lg-tm{left:63%;top:8%}.lg-tm img{height:74px}
.lg-bd img{height:26px}
.lg-xm img{height:40px}
@media (max-width:899px){.lg-tc{left:5%;top:23%}.lg-tc img{height:15px}.lg-tm{right:auto;left:48%;top:9%}.lg-tm img{height:44px}.lg-xm img{height:24px}.lg-bd img{height:16px}}
@media (max-width:899px){.lg-tm{left:58%;top:13%}.lg-tm img{height:40px}}
@media (max-width:899px){.lg-tm{left:58%;top:13%}.lg-tm img{height:40px}}

/* v8 company logos as dim watermarks in the hero bottom row */
.hb-logos{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);align-self:end;padding-bottom:4px}
.hb-logos .mono{font-size:10px;letter-spacing:.18em;color:rgba(236,233,225,.32);white-space:nowrap}
.hb-logos img{display:block;width:auto;filter:brightness(0) invert(1);opacity:.22;transition:opacity .4s}
.hb-logos img:hover{opacity:.55}
.hb-logos .l-tc{height:20px}.hb-logos .l-tm{height:38px}.hb-logos .l-bd{height:19px}.hb-logos .l-xm{height:24px}
@media (max-width:899px){
  .hb-logos{display:flex!important;gap:16px;flex-wrap:wrap}
  .hb-logos .mono{width:100%}
  .hb-logos .l-tc{height:14px}.hb-logos .l-tm{height:26px}.hb-logos .l-bd{height:13px}.hb-logos .l-xm{height:17px}
}

/* v9 PV title cards — legibility: shapes pushed aside & dimmed, headline gets contrast shadow, CN on solid label */
.pv-shape{left:auto;right:-8vh;top:auto;bottom:-14vh;margin:0;width:70vh;height:70vh;opacity:1!important}
.pv-card.c1 .pv-shape{color:rgba(6,6,7,.14)}
.pv-card.c2 .pv-shape{color:rgba(212,255,58,.16)}
.pv-card.c3 .pv-shape{color:rgba(6,6,7,.16)}
.pv-stripe{top:auto!important;bottom:5vh!important;height:7vh;transform:rotate(-4deg)!important;opacity:1}
.pv-card.c1 .pv-stripe{color:rgba(6,6,7,.85)}
.pv-card.c2 .pv-stripe{color:var(--acid)}
.pv-card.c3 .pv-stripe{color:rgba(6,6,7,.85)}
.pv-dots{opacity:.08}
.pv-in{gap:0}
.pv-en{position:relative;z-index:2}
.pv-card.c1 .pv-en{color:#060607;text-shadow:8px 8px 0 var(--acid)}
.pv-card.c2 .pv-en{color:var(--acid);text-shadow:8px 8px 0 #2a2c12}
.pv-card.c3 .pv-en{color:#060607;text-shadow:8px 8px 0 #F3F0E7}
.pv-cnw{margin-top:2.2vw;position:relative;z-index:2}
.pv-cn{display:inline-block;padding:.22em .5em .2em 1.1em;letter-spacing:.6em;border-radius:6px}
.pv-card.c1 .pv-cn{background:#060607;color:var(--acid)}
.pv-card.c2 .pv-cn{background:var(--acid);color:#060607}
.pv-card.c3 .pv-cn{background:#060607;color:#F3F0E7}
.pv-k.r{z-index:5;background:currentColor;padding:0}
.pv-k.r{background:none}
.pv-card.c1 .pv-k.r,.pv-card.c3 .pv-k.r{color:#060607}
.pv-card.c2 .pv-k.r{color:var(--acid)}
.pv-k.r{bottom:calc(5vh + 9vh)!important}

/* v10 portfolio PDF download */
.dock a.pf{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--fg);border:1px solid rgba(212,255,58,.55);white-space:nowrap;transition:background .3s,color .3s}
.dock a.pf svg{width:14px;height:14px;flex:none}
.dock a.pf:hover{background:var(--acid);color:var(--ink)}
.ct-row a.v{color:inherit}
@media (max-width:899px){.dock a.pf span{display:none}.dock a.pf{padding:11px 14px}}
