@font-face{font-family:'Current Kai';src:url('./assets/fonts/lxgw-wenkai-gb-1522.woff2') format('woff2');font-display:swap}
/* 川流 / Current 2.0 — the homepage.
   源 Source → 信 Creed → 我 Self → 爱 Passion → 声 Sound → 器 Tools → 途 Journey → 作 Works → 遇 Hello → 归 Return.
   Dark chapters are night water; paper chapters are the bank. */
.home-current{background:var(--paper)}
.home-current .site-shell{width:100%;max-width:none}
.home-current .site-header{padding-inline:var(--gutter)}
.home-current main{isolation:auto}
.home-current .atelier-directory,.home-current .site-footer{width:min(1680px,calc(100% - var(--gutter)*2));margin-inline:auto}
.h-wrap{width:min(1680px,calc(100% - var(--gutter)*2));margin-inline:auto;position:relative}
.home-current main>section{position:relative;z-index:1}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Shared chapter vocabulary */
.h-head{position:relative}
.h-head{isolation:isolate}
/* Each chapter opens on one brush character, written large behind its heading like a watermark on rice paper. */
.h-glyph{position:absolute;z-index:-1;left:-.06em;top:-.5em;font:400 clamp(150px,17vw,320px)/1 var(--brush);color:#10132e12;pointer-events:none;user-select:none}
[data-theme=dark] .h-glyph{color:#e7ebf20f}
.h-display{margin:0;font:900 clamp(44px,5.6vw,96px)/1.08 var(--zh-display);letter-spacing:-.03em;color:inherit;text-wrap:balance}
html[lang=en] .h-display{font-family:var(--display);font-weight:400;letter-spacing:-.03em;line-height:.98}
.h-note{margin:22px 0 0;max-width:520px;font:400 17px/1.75 var(--body);color:var(--muted)}
[data-theme=dark] .h-note{color:#e7ebf2b3}
.h-link{display:inline-flex;align-items:center;gap:10px;font:600 14px var(--body);color:inherit;border-bottom:1px solid currentColor;padding-bottom:6px}
.h-link i{font-style:normal;transition:transform .5s var(--ease-out)}
.h-link:hover i{transform:translate(4px,-4px)}

/* ───────── Veil: a brush writes 川 ───────── */
.h-veil{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;align-content:center;gap:26px;background:var(--ink);color:#e7ebf2;transition:clip-path 1s var(--ease-flow);clip-path:inset(0 0 0 0)}
.h-veil.is-out{clip-path:inset(0 0 100% 0)}
.h-veil svg{width:112px;height:112px;overflow:visible}
.h-veil path{fill:none;stroke-width:5.5;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60;animation:h-brush .7s var(--ease-out) forwards}
.h-veil path:nth-child(1){stroke:#3d5cff}
.h-veil path:nth-child(2){stroke:#ff5c9a;animation-delay:.22s}
.h-veil path:nth-child(3){stroke:#ffd23f;animation-delay:.42s}
.h-veil span{font:400 18px var(--display);letter-spacing:.02em;opacity:0;animation:h-fade .6s .7s forwards}
@keyframes h-brush{to{stroke-dashoffset:0}}
@keyframes h-fade{to{opacity:.7}}

/* ───────── Chapters: ten characters down the right bank ───────── */
.h-chapters{position:fixed;right:clamp(10px,1.4vw,26px);top:50%;z-index:90;display:flex;flex-direction:column;gap:2px;transform:translateY(-50%);color:var(--flow-ink);transition:color .5s var(--ease-out)}
html[data-header-theme=dark] .h-chapters{color:#e7ebf2}
.h-chapters a{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;height:26px;color:inherit}
.h-chapters b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:400 15px/1 var(--brush);opacity:.36;transition:opacity .3s,background .3s,color .3s,transform .4s var(--ease-out)}
.h-chapters span{position:absolute;right:36px;font:400 15px var(--display);white-space:nowrap;opacity:0;transform:translateX(6px);transition:opacity .3s,transform .4s var(--ease-out);pointer-events:none}
.h-chapters a:hover b{opacity:1}
.h-chapters a:hover span,.h-chapters a[aria-current] span{opacity:.8;transform:none}
.h-chapters a[aria-current] b{opacity:1;background:var(--flow-ink);color:var(--paper);transform:scale(1.08)}
html[data-header-theme=dark] .h-chapters a[aria-current] b{background:#e7ebf2;color:var(--ink)}
@media (max-width:1180px){.h-chapters{display:none}}

/* ───────── 00 源 Source ───────── */
.h-source{--sp:0;position:relative;z-index:0!important;margin-top:-76px;height:100svh;min-height:680px;max-height:1200px;overflow:hidden;background:var(--ink);color:#e7ebf2}
.h-field{position:absolute;inset:0;cursor:crosshair;touch-action:pan-y}
.h-field canvas{display:block;width:100%;height:100%}
.h-source>*:not(.h-field){pointer-events:none}
.h-source::before,.h-source::after{content:'';position:absolute;left:0;right:0;z-index:0;pointer-events:none}
.h-source::before{top:0;height:220px;background:linear-gradient(180deg,#0b0d26f2 0%,#0b0d2699 45%,#0b0d2600 100%)}
.h-source::after{bottom:0;height:300px;background:linear-gradient(0deg,#0b0d26f5 0%,#0b0d26b3 40%,#0b0d2600 100%)}
.h-source>*:not(.h-field){z-index:1}
.h-source a{pointer-events:auto}
.h-source-top{position:absolute;top:118px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px}
.h-meta{display:flex;align-items:center;gap:10px;margin:0;font:500 15px var(--body);color:#e7ebf2d9}
.h-meta strong{font:400 22px var(--display);letter-spacing:-.01em;color:#e7ebf2}
.h-meta--right{font:500 14px var(--body);color:#e7ebf2b3}
.h-dot{width:8px;height:8px;border-radius:50%;background:var(--c-mint);box-shadow:0 0 0 0 #35d49a88;animation:h-pulse 2.4s infinite}
@keyframes h-pulse{70%{box-shadow:0 0 0 10px #35d49a00}100%{box-shadow:0 0 0 0 #35d49a00}}
.h-title{position:absolute;z-index:1;left:50%;top:47%;transform:translate(-50%,-50%);margin:0;display:flex;gap:0;white-space:nowrap;text-shadow:0 0 50px #0b0d26;font:400 clamp(120px,20.5vw,400px)/1 var(--brush);letter-spacing:.01em;color:#e7ebf2;user-select:none}
.h-title-row{display:flex}
.h-char{display:block;position:relative}
.h-char>i{display:block;font-style:normal;animation:h-char-in 1.5s var(--ease-out) both}
.h-title-row:first-child .h-char:nth-child(1)>i{animation-delay:.05s}
.h-title-row:first-child .h-char:nth-child(2)>i{animation-delay:.14s}
.h-title-row:last-child .h-char:nth-child(1)>i{animation-delay:.23s}
.h-title-row:last-child .h-char:nth-child(2)>i{animation-delay:.32s}
.h-veiled .h-char>i,.h-veiled .h-source-lede,.h-veiled .h-source-top,.h-veiled .h-source-bottom{animation-play-state:paused}
@keyframes h-char-in{from{opacity:0;transform:translateY(22%) scaleY(1.18);filter:blur(18px)}to{opacity:1;transform:none;filter:none}}
.h-source-lede{position:absolute;right:var(--gutter);bottom:clamp(140px,17vh,190px);text-align:right;animation:h-up 1.2s .55s var(--ease-out) both}
.h-serif{margin:0;font:400 clamp(34px,3.6vw,64px)/1 var(--display);letter-spacing:-.02em;color:#e7ebf2}
.h-serif em{font-style:normal}
.h-creedline{margin:14px 0 0;font:500 16px/1.6 var(--body);letter-spacing:.06em;color:#e7ebf2bf}
.h-stir{position:absolute;left:var(--gutter);bottom:clamp(140px,17vh,190px);display:flex;align-items:center;gap:12px;margin:0;max-width:300px;font:500 12px/1.6 var(--body);color:#e7ebf299;animation:h-up 1.2s .7s var(--ease-out) both}
.h-stir-ring{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid #e7ebf288;position:relative}
.h-stir-ring::after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid #e7ebf2;animation:h-ripple 2.6s infinite var(--ease-out)}
@keyframes h-ripple{from{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}
.h-source-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:62px;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:20px;padding-top:16px;border-top:1px solid #e7ebf21f;font:500 12px var(--mono);letter-spacing:.02em;color:#e7ebf2b3;animation:h-up 1.2s .8s var(--ease-out) both}
.h-clock time{color:#e7ebf2;font-variant-numeric:tabular-nums}
.h-viva{font:400 18px var(--display);letter-spacing:.02em;color:#e7ebf2}
.h-down{display:flex;align-items:center;gap:12px;color:#e7ebf2;font:500 13px var(--body)}
.h-down i{position:relative;width:1px;height:34px;background:#e7ebf233;overflow:hidden}
.h-down i::after{content:'';position:absolute;left:0;top:-40%;width:1px;height:40%;background:#e7ebf2;animation:h-drip 2s infinite var(--ease-flow)}
@keyframes h-drip{to{top:110%}}
@keyframes h-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
html[data-site-motion=off] .h-char>i,html[data-site-motion=off] .h-source-lede,html[data-site-motion=off] .h-stir,html[data-site-motion=off] .h-source-bottom{animation:none}

/* Paper chapters slide over the night water like a bank rising. */
.h-creed{z-index:2!important;margin-top:-34px;border-radius:34px 34px 0 0;background:var(--paper);padding:150px 0 150px}

/* ───────── 01 信 Creed ───────── */
.h-manifesto{max-width:1320px;margin:0;font:600 clamp(30px,3.6vw,62px)/1.42 var(--zh-display);letter-spacing:-.01em;text-wrap:pretty;color:var(--flow-ink)}
html[lang=en] .h-manifesto{font:400 clamp(32px,3.9vw,66px)/1.12 var(--display);letter-spacing:-.025em}
.h-manifesto span{color:#10132e26;transition:color .5s var(--ease-out)}
.h-manifesto span.is-lit{color:var(--flow-ink)}
.h-tenets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,44px);margin:clamp(90px,10vw,150px) 0 0;padding:0;list-style:none}
.h-tenet{position:relative;padding:26px 0 0;border-top:1px solid var(--flow-ink)}
.h-tenet-art{display:block;width:100%;height:auto;max-height:140px;margin:0 0 30px;overflow:visible}
.h-tenet-art *{fill:none;stroke-width:2.2;stroke-linecap:round}
.h-tenet--flow .h-tenet-art path{stroke:var(--c-blue);stroke-dasharray:10 12;animation:h-dash 3.2s linear infinite}
.h-tenet--flow .h-tenet-art path:nth-child(2){stroke:var(--c-pink);animation-duration:2.6s}
.h-tenet--flow .h-tenet-art path:nth-child(3){stroke:#e9b500;animation-duration:3.8s}
.h-tenet--viva .h-tenet-art circle{fill:var(--c-sun);stroke:none}
.h-tenet--viva .h-tenet-art g{stroke:var(--c-coral);transform-origin:110px 72px;animation:h-spin 22s linear infinite}
.h-tenet--heart .h-tenet-art path{stroke:var(--c-pink);stroke-width:2.6;stroke-dasharray:300;animation:h-heart 4s var(--ease-flow) infinite alternate}
.h-tenet--heart .h-tenet-art circle{fill:var(--c-pink);stroke:none;animation:h-beat 1.4s infinite}
@keyframes h-dash{to{stroke-dashoffset:-88}}
@keyframes h-spin{to{transform:rotate(360deg)}}
@keyframes h-heart{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}
@keyframes h-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.5)}30%{transform:scale(1)}}
.h-tenet--heart .h-tenet-art circle{transform-origin:110px 70px}
.h-tenet-no{position:absolute;right:0;top:22px;font:400 28px/1 var(--display);color:var(--muted)}
.h-tenet h3{margin:0;font:400 clamp(40px,3.8vw,66px)/1.05 var(--brush);letter-spacing:0}
.h-tenet h3[lang=en]{font:400 clamp(34px,3.2vw,54px)/1.05 var(--display);letter-spacing:-.02em}
.h-tenet-en{margin:10px 0 18px;font:400 22px/1.2 var(--display);color:var(--muted)}
.h-tenet p:last-child{max-width:380px;margin:0;font:400 16px/1.8 var(--body);color:var(--flow-ink)}

/* ───────── 02 我 Self ───────── */
.h-self{background:var(--paper);padding:0 0 170px}
.h-self-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:70px;align-items:start}
.h-self-head{grid-column:1/-1;padding-top:96px;border-top:1px solid var(--line)}
.h-id{grid-column:1/span 5;width:min(100%,460px);margin:0;perspective:1400px;position:sticky;top:120px}
.h-id-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;position:relative;aspect-ratio:.72;border-radius:22px;overflow:hidden;background:#0a1450;color:#e7ebf2;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .7s var(--ease-out);transform-style:preserve-3d;box-shadow:0 50px 90px -40px #0b0d2699,0 0 0 1px #0b0d2610}
.h-id-media{position:absolute;inset:0}
.h-id-media img,.h-id-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.h-id-media video{opacity:0;transition:opacity 1s}
.h-id.is-playing .h-id-media video{opacity:1}
.h-id-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b0d2699 0%,transparent 28%,transparent 58%,#0b0d26e6 100%)}
.h-id-top,.h-id-foot{position:absolute;left:26px;right:26px;display:flex;justify-content:space-between;font:400 15px var(--display);color:#e7ebf2d9}
.h-id-foot span:first-child{font:400 20px var(--brush)}
.h-id-top{top:24px}.h-id-foot{bottom:22px}
.h-id-name{position:absolute;left:26px;right:26px;bottom:58px}
.h-id-name strong{display:block;font:400 clamp(48px,4.6vw,76px)/1 var(--display);letter-spacing:-.03em}
.h-id-name strong i{font-style:normal;color:var(--c-sun);animation:h-blink 1.1s steps(1) infinite}
.h-id-name span{display:block;margin-top:10px;font:500 14px var(--body);color:#e7ebf2cc}
@keyframes h-blink{50%{opacity:0}}
.h-id-sheen{position:absolute;inset:0;pointer-events:none;mix-blend-mode:color-dodge;opacity:.55;background:radial-gradient(circle at var(--gx) var(--gy),#ffffff55,transparent 38%),conic-gradient(from 200deg at var(--gx) var(--gy),#3d5cff00,#ff5c9a33,#ffd23f33,#35d49a33,#3d5cff00)}
.h-self-copy{grid-column:7/-1;padding-top:6px}
.h-lead{margin:0 0 30px;font:600 20px var(--zh-display);color:var(--flow-ink)}
.h-lead .mono{display:none}
.h-self-copy>p{max-width:36em;margin:0 0 24px;font:400 clamp(18px,1.35vw,22px)/1.85 var(--body);color:var(--flow-ink);text-wrap:pretty}
.h-self-copy>p strong{font-weight:700;text-decoration:underline;text-decoration-color:var(--c-blue);text-decoration-thickness:2px;text-underline-offset:5px}
.h-self-future{font-weight:600!important}
.h-self-future span{display:block;margin-top:6px;font-weight:400;color:var(--muted)}
.h-facts{margin:56px 0 0;border-top:1px solid var(--flow-ink)}
.h-facts>div{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.h-facts dt{font:500 14px var(--body);color:var(--muted)}
.h-facts dd{margin:0;font:500 18px/1.5 var(--body)}
.h-caret{display:inline-block;width:.55em;height:1.05em;margin-left:4px;vertical-align:-.15em;background:var(--c-blue);animation:h-blink 1s steps(1) infinite}

/* ───────── 03 爱 Passion ───────── */
.h-passion{--p:0;background:var(--ink);color:#e7ebf2;padding:130px 0 120px;z-index:2!important;border-radius:34px 34px 0 0;margin-top:-34px}
.h-passion-head{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:40px;margin-bottom:56px}
.h-passion-head .h-kicker{grid-column:1/-1}
.h-passion-head .h-note{margin:0;text-align:right}
.h-passion.is-pinned{padding:0}
.h-passion.is-pinned .h-passion-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:40px}
.h-passion.is-pinned .h-passion-head{margin-bottom:clamp(24px,3.5vh,48px)}
.h-passion.is-pinned .h-display{font-size:clamp(40px,4.6vw,84px)}
.h-track{display:flex;gap:24px;padding:0 var(--gutter);will-change:transform}
.h-passion:not(.is-pinned) .h-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.h-passion:not(.is-pinned) .h-track::-webkit-scrollbar{display:none}
.h-panel{position:relative;flex:0 0 auto;width:min(36vw,560px);height:min(60vh,620px);min-height:440px;border-radius:28px;overflow:hidden;background:var(--ink-2);isolation:isolate;scroll-snap-align:start;box-shadow:inset 0 0 0 1px #ffffff12}
.h-panel-copy{position:absolute;left:34px;right:34px;bottom:32px;z-index:3}
.h-panel-tag{margin:0 0 14px;font:500 13px var(--body);color:#e7ebf2b3}
.h-panel h3{margin:0 0 14px;font:900 clamp(30px,2.5vw,44px)/1.08 var(--zh-display);letter-spacing:-.02em}
.h-panel-copy>p:not(.h-panel-tag):not(.h-panel-fav):not(.h-panel-zh){margin:0;max-width:440px;font:400 15px/1.75 var(--body);color:#e7ebf2cc}
/* Court and track: photographs, duotoned into the night. */
.h-panel--court,.h-panel--track{width:min(64vw,980px)}
.h-panel-photo{position:absolute;inset:0 0 0 auto;width:52%;z-index:0}
.h-panel-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.92)}
.h-panel-photo::after{content:'';position:absolute;inset:0;mix-blend-mode:color;opacity:.9}
.h-panel--court .h-panel-photo::after{background:linear-gradient(160deg,#1d42c7,#ffc72c)}
.h-panel--track .h-panel-photo::after{background:linear-gradient(160deg,#d40000,#ffd23f)}
.h-panel-photo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--ink-2) 0%,#14173a00 45%)}
.h-panel--court .h-panel-photo img{object-position:50% 18%}
.h-panel--track .h-panel-photo img{object-position:46% 20%}
.h-panel-number{position:absolute;left:24px;top:-6%;z-index:1;font:400 clamp(240px,24vw,420px)/1 var(--display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px #e7ebf240}
.h-panel--court .h-panel-number{-webkit-text-stroke-color:#ffc72c88}
.h-panel--track .h-panel-number{-webkit-text-stroke-color:#ff5f4f88}
.h-panel--court .h-panel-copy,.h-panel--track .h-panel-copy{right:50%}
.h-panel-fav{margin:0 0 6px;font:400 18px var(--display);color:var(--c-sun)}
.h-panel--track .h-panel-fav{color:#ff7a6b}
.h-panel--court h3,.h-panel--track h3{font:400 clamp(44px,4.2vw,74px)/.92 var(--display);letter-spacing:-.03em}
.h-panel--court h3 span,.h-panel--track h3 span{display:block}
.h-panel--court h3 span+span{color:var(--c-sun)}
.h-panel--track h3 span+span{color:#ff6b5b}
.h-panel-zh{margin:0 0 14px;font:600 16px var(--zh-display);color:#e7ebf2cc;letter-spacing:.04em}
.h-arc,.h-racing{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.h-arc path{fill:none;stroke:var(--c-sun);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:8 10;animation:h-dash 1.6s linear infinite}
.h-arc circle{fill:#ff8a1f;stroke:#0b0d26;stroke-width:3}
.h-racing path{fill:none;stroke:#ff4d3d;stroke-width:3;stroke-dasharray:60 18 4 18;animation:h-dash 1s linear infinite;opacity:.9}
/* Mind */
.h-panel--mind{background:radial-gradient(120% 90% at 80% 10%,#2a2f8f 0%,#14173a 60%)}
.h-neural{position:absolute;left:34px;right:34px;top:36px;width:calc(100% - 68px);height:auto;overflow:visible}
.h-neural-wires path{fill:none;stroke:#e7ebf22e;stroke-width:1.2}
.h-neural-nodes circle{fill:#14173a;stroke:#8fa2ff;stroke-width:2}
.h-neural-nodes circle:last-child{fill:var(--c-blue);stroke:#e7ebf2}
.h-neural-signal{fill:none;stroke:var(--c-mint);stroke-width:3;stroke-linecap:round;stroke-dasharray:40 400;animation:h-signal 2.6s var(--ease-flow) infinite;filter:drop-shadow(0 0 6px #35d49a)}
@keyframes h-signal{from{stroke-dashoffset:40}to{stroke-dashoffset:-420}}
.h-learning{display:inline-flex!important;align-items:center;gap:10px;margin-top:20px!important;padding:9px 14px;border:1px solid #e7ebf233;border-radius:30px;font:500 13px var(--body)!important;color:#e7ebf2!important}
.h-learning i{width:7px;height:7px;border-radius:50%;background:var(--c-mint);animation:h-pulse 2s infinite}
/* Ink */
.h-panel--ink{background:#e7ebf2;color:var(--ink)}
.h-panel--ink .h-panel-tag{color:#0b0d2699}
.h-panel--ink .h-panel-copy>p:not(.h-panel-tag){color:#0b0d26cc!important}
.h-ink{position:absolute;inset:6% 0 auto;display:grid;place-items:center}
.h-ink svg{width:min(78%,330px);height:auto;overflow:visible}
.h-ink text{font:400 250px/1 'Current Kai','KaiTi','STKaiti',serif;fill:#0b0d26}
.h-ink span{position:absolute;right:30px;top:20px;writing-mode:vertical-rl;font:400 18px var(--brush);letter-spacing:.3em;color:var(--seal)}
.h-panel--ink::before{content:'';position:absolute;right:34px;top:160px;width:36px;height:36px;border-radius:6px;background:var(--seal);opacity:.9;z-index:1;transform:rotate(-4deg)}
/* Life */
.h-panel--life{background:linear-gradient(180deg,#ff6b3d 0%,#ff5c9a 55%,#7a5cff 100%)}
.h-sun{position:absolute;left:50%;top:40%;width:min(70%,330px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff3b0,#ffd23f 45%,#ffb020);display:grid;place-content:center;text-align:center;box-shadow:0 0 120px 20px #ffd23f66;animation:h-sunrise 8s ease-in-out infinite alternate}
.h-sun span{font:400 clamp(36px,3.4vw,56px)/.9 var(--display);letter-spacing:-.03em;color:#0b0d26}
.h-sun span+span{font-size:.8em}
@keyframes h-sunrise{from{transform:translate(-50%,-46%)}to{transform:translate(-50%,-54%)}}
.h-track-meter{display:flex;align-items:center;gap:22px;margin-top:clamp(22px,3vh,40px);font:500 13px var(--body);color:#e7ebf299}
.h-track-meter i{flex:1;height:1px;background:#e7ebf226;position:relative}
.h-track-meter b{position:absolute;inset:-1px 0;background:var(--current);transform-origin:left;transform:scaleX(0)}
.h-passion:not(.is-pinned) .h-track-meter{display:none}

/* ───────── 04 声 Sound ───────── */
.h-sound{background:linear-gradient(180deg,var(--ink) 0%,#120f22 40%,#0b0d26 100%)!important;color:#e7ebf2;padding:150px 0 100px!important;overflow:hidden;margin:0!important;max-width:none!important;border:0!important;border-radius:0!important}
.h-sound-glow{position:absolute;inset:-10%;z-index:-1;pointer-events:none;opacity:.5}
.h-sound-glow img{width:100%;height:100%;object-fit:cover;filter:blur(110px) saturate(1.8);transform:scale(1.2);transition:opacity 1s}
.h-sound-glow::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 0%,#0b0d26 70%)}
.h-sound-head{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:40px;margin-bottom:60px}
.h-sound-head .h-kicker{grid-column:1/-1}
.h-sound-head .h-note{margin:0;text-align:right}
.h-sound .music-room{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;color:#e7ebf2;border-radius:0!important}
.h-sound .music-room::before,.h-sound .music-room::after{display:none!important}
.h-sound .music-room-top{border-bottom:1px solid #e7ebf21f;padding-bottom:18px;margin-bottom:28px;color:#e7ebf2b3}
.h-sound .music-room-label,.h-sound .music-room-label *{color:#e7ebf2b3!important}
.h-sound .rotation-control,.h-sound .music-shuffle,.h-sound .music-icon-button,.h-sound .music-filter-all{background:transparent!important;color:#e7ebf2!important;border:1px solid #e7ebf240!important;border-radius:40px!important;box-shadow:none!important}
.h-sound .rotation-control:hover,.h-sound .music-shuffle:hover,.h-sound .music-icon-button:hover,.h-sound .music-filter-all:hover,.h-sound .music-filter-all[aria-pressed=true]{background:#e7ebf2!important;color:var(--ink)!important}
.h-sound .music-icon-button:hover svg,.h-sound .music-filter-all[aria-pressed=true]{color:var(--ink)!important}
.h-sound .music-showcase{gap:24px}
.h-sound .music-feature{background:#ffffff0a!important;border:1px solid #e7ebf21f!important;border-radius:30px!important;box-shadow:none!important;color:#e7ebf2!important}
.h-sound .music-feature *{color:inherit}
.h-sound .music-feature-word{font-family:var(--display)!important;font-weight:400!important;color:#e7ebf2!important;letter-spacing:-.03em}
.h-sound .music-feature-word span{color:var(--c-pink)!important}
.h-sound .music-track-copy h3{font-family:var(--zh-display)!important;font-weight:900!important;color:#e7ebf2!important}
.h-sound .music-track-artist,.h-sound .music-track-album,.h-sound .music-track-index,.h-sound .music-track-copy .eyebrow{color:#e7ebf2b3!important}
.h-sound .music-listen{background:#e7ebf2!important;color:var(--ink)!important;border:0!important;border-radius:40px!important;box-shadow:none!important}
.h-sound .music-listen *{color:var(--ink)!important}
.h-sound .music-listen:hover{background:var(--c-sun)!important}
.h-sound .music-qq-link{color:#e7ebf2!important;border-color:#e7ebf255!important}
.h-sound .music-cover-stage{border-radius:22px!important;overflow:hidden;box-shadow:0 40px 80px -30px #000!important}
.h-sound .music-cover-corner{background:var(--c-pink)!important;color:var(--ink)!important}
.h-sound .music-albums{background:#ffffff08!important;border:1px solid #e7ebf21f!important;border-radius:30px!important;color:#e7ebf2!important;box-shadow:none!important}
.h-sound .music-albums *{color:#e7ebf2}
.h-sound .music-albums-label{color:#e7ebf2b3!important}
.h-sound .favourite-album{border-color:#e7ebf21f!important;background:none!important}
.h-sound .favourite-album:hover{background:#ffffff0d!important}
.h-sound .music-account a{color:#e7ebf2!important}
.h-sound .music-account p{color:#e7ebf280!important}
.h-sound .music-artists-block{margin-top:56px}
.h-sound .music-artists-heading h3{color:#e7ebf2b3!important}
.h-sound .music-artist{background:none!important;border:0!important;box-shadow:none!important}
.h-sound .music-artist img{filter:grayscale(.35);transition:filter .4s,transform .5s var(--ease-out)}
.h-sound .music-artist:hover img,.h-sound .music-artist[aria-pressed=true] img{filter:none;transform:scale(1.06)}
.h-sound .music-artist[aria-pressed=true] .music-artist-name,.h-sound .music-artist[aria-pressed=true] .music-artist-count{color:var(--c-sun)!important}
.h-sound .music-library{background:#ffffff08!important;border:1px solid #e7ebf21f!important;border-radius:24px!important;color:#e7ebf2!important}
.h-sound .music-library summary{color:#e7ebf2!important}
.h-sound .music-track-row{background:#ffffff08!important;color:#e7ebf2!important;border-color:#e7ebf214!important}
.h-sound .music-track-row strong,.h-sound .music-track-row small,.h-sound .music-track-row>.mono{color:#e7ebf2!important}
.h-sound .music-track-row:hover{background:#ffffff14!important}
.h-sound .music-track-row[aria-current=true]{background:#ff5c9a33!important;border-color:var(--c-pink)!important}
.h-sound .music-search{background:#ffffff0d!important;border-color:#e7ebf226!important;color:#e7ebf2!important}
.h-sound .music-search input{color:#e7ebf2!important}
.h-sound .music-pagination>span,.h-sound .music-empty,.h-sound .music-library-tools>p{color:#e7ebf2b3!important}
.h-sound .music-player-panel{background:#ffffff0d!important;border:1px solid #e7ebf226!important;color:#e7ebf2!important;border-radius:24px!important}
.h-sound .music-player-panel *{color:#e7ebf2}
.h-sound .music-bottom-note{border-top:1px solid #e7ebf21f;margin-top:46px;padding-top:20px;color:#e7ebf280!important}
.h-sound .music-bottom-note *{color:#e7ebf280!important}

/* ───────── 05 器 Tools ───────── */
.h-tools{background:var(--ink);color:#e7ebf2;padding:140px 0 150px;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:64px 64px;background-position:center top}
.h-tools .h-head{margin-bottom:70px}
.h-rig{display:grid;grid-template-columns:1.7fr 1fr;grid-template-rows:auto auto;gap:20px}
.h-rig>article{position:relative;overflow:hidden;border:1px solid #e7ebf21f;border-radius:18px;padding:30px 32px;background:#ffffff05}
.h-rig-main{grid-row:1/3;display:flex;flex-direction:column;min-height:540px}
.h-rig-label{display:flex;justify-content:space-between;margin:0 0 26px;font:500 13px var(--body);color:#e7ebf299}
.h-rig-label span:last-child{font-family:var(--mono)}
.h-rig h3{margin:0;font:400 clamp(28px,2.4vw,40px) var(--display);letter-spacing:-.02em}
.h-rig-hero{margin:auto 0 0;display:flex;align-items:flex-start;gap:16px;line-height:.82}
.h-rig-hero span{font:600 clamp(18px,1.6vw,26px) var(--mono);letter-spacing:.06em;color:#e7ebf299;padding-top:.6em}
.h-rig-hero b{font:400 clamp(140px,16vw,290px)/.82 var(--display);letter-spacing:-.05em;color:#e7ebf2}
.h-rig-specs{display:grid;grid-template-columns:repeat(3,1fr);margin:36px 0 0;border-top:1px solid #e7ebf226}
.h-rig-specs>div{padding:18px 0 0}
.h-rig-specs dt{font:500 13px var(--body);color:#e7ebf299}
.h-rig-specs dd{margin:8px 0 0;font:500 22px var(--mono);letter-spacing:-.02em}
.h-scan{position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,transparent,#3d5cff14 80%,#3d5cff55 99%,transparent);animation:h-scan 5.5s linear infinite;pointer-events:none}
@keyframes h-scan{from{transform:translateY(-100%)}to{transform:translateY(400%)}}
.h-rig-item{min-height:260px;display:flex;flex-direction:column}
.h-rig-glyph{margin:auto 0 18px;font:400 clamp(100px,9vw,160px)/.8 var(--display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px #e7ebf266;transition:color .6s,-webkit-text-stroke-color .6s}
.h-rig-item:hover .h-rig-glyph{color:#e7ebf2;-webkit-text-stroke-color:#e7ebf2}
.h-rig-cap{margin:8px 0 0;font:500 12px var(--mono);letter-spacing:.04em;color:#e7ebf280}
.h-toolkit{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;padding:18px 22px;border:1px solid #e7ebf21f;border-radius:60px;font:500 13px var(--body);color:#e7ebf2b3}
.h-toolkit b{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:40px;background:#e7ebf2;color:var(--ink);font:600 13px var(--body);letter-spacing:0;text-transform:none}
.h-toolkit b i{font-style:normal;color:var(--c-blue)}
.h-toolkit em{margin-left:auto;font-style:normal;color:var(--c-sun)}

/* ───────── 06 途 Journey ───────── */
.h-journey{--river:0;background:var(--paper);padding:160px 0 150px;border-radius:34px 34px 0 0;margin-top:-34px;z-index:2!important}
.h-journey-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px 40px}
.h-journey-head .h-kicker{grid-column:1/-1}
.h-river{position:relative;margin-top:90px}
.h-river-line{display:block;width:100%;height:clamp(160px,18vw,300px);overflow:visible}
.h-river-bed{fill:none;stroke:var(--mist);stroke-width:44;stroke-linecap:round}
.h-river-flow{fill:none;stroke:url(#h-current-grad);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--river))}
.h-stops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:36px 0 0;padding:0;list-style:none}
.h-stops li{position:relative;padding-top:30px;border-top:1px solid var(--line);opacity:.35;transform:translateY(10px);transition:opacity .7s var(--ease-out),transform .9s var(--ease-out)}
.h-stops li::before{content:'';position:absolute;left:0;top:-7px;width:13px;height:13px;border-radius:50%;background:var(--paper);border:2px solid var(--flow-ink);transition:background .5s,transform .5s var(--ease-out)}
.h-stops li.is-reached{opacity:1;transform:none}
.h-stops li.is-reached::before{background:var(--c-pink);border-color:var(--c-pink);transform:scale(1.25)}
.h-stops time{display:block;margin-bottom:12px;font:500 12px var(--mono);letter-spacing:.08em;color:var(--muted)}
.h-stops h3{margin:0;font:700 clamp(17px,1.35vw,22px)/1.45 var(--zh-display);letter-spacing:-.02em}
html[lang=en] .h-stops h3{font-family:var(--body);font-weight:600}
.h-stop-next h3{font-family:var(--brush)!important;font-style:normal;font-weight:400!important;font-size:clamp(22px,1.8vw,30px)!important;color:var(--muted)}
.h-stop-next time{font-size:20px!important;color:var(--c-pink)!important}
html[data-site-motion=off] .h-stops li{opacity:1;transform:none}

/* ───────── 07 作 Works ───────── */
.h-works{background:var(--paper);padding:30px 0 140px;overflow:hidden}
.h-marquee{overflow:hidden;white-space:nowrap;padding:20px 0 70px;user-select:none}
.h-marquee>div{display:inline-flex;align-items:center;gap:.3em;font:400 clamp(110px,16vw,280px)/1 var(--display);letter-spacing:-.03em;animation:h-marquee 38s linear infinite}
.h-marquee span{color:transparent;-webkit-text-stroke:1.5px var(--flow-ink)}
.h-marquee i{font:400 .78em/1 var(--brush);font-style:normal;letter-spacing:0;color:var(--flow-ink);padding:0 .1em}
@keyframes h-marquee{to{transform:translateX(-50%)}}
html[data-site-motion=off] .h-marquee>div{animation:none}
.h-works-grid{display:grid;grid-template-columns:5fr 7fr;gap:30px clamp(30px,5vw,90px);align-items:start}
.h-works-grid .h-head{position:sticky;top:120px}
.h-works-grid .h-display{font-size:clamp(40px,4.4vw,76px)}
.h-work-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--flow-ink);counter-reset:w}
.h-work-list li{border-bottom:1px solid var(--line)}
.h-work-list a{position:relative;display:grid;grid-template-columns:1fr auto 30px;align-items:baseline;gap:18px;padding:22px 6px;color:var(--flow-ink);overflow:hidden;isolation:isolate}
.h-work-list a::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--flow-ink);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out)}
.h-work-list a:hover::before,.h-work-list a:focus-visible::before{transform:none}
.h-work-list a:hover,.h-work-list a:focus-visible{color:var(--paper)}
.h-work-no{display:none}
.h-work-list a:hover .h-work-no{color:var(--c-sun)}
.h-work-name{font:400 clamp(28px,2.7vw,46px)/1.05 var(--display);letter-spacing:-.025em;transition:transform .5s var(--ease-out)}
.h-work-list a:hover .h-work-name{transform:translateX(10px)}
.h-work-sub{font:500 14px var(--zh-display);color:var(--muted);text-align:right}
.h-work-list a:hover .h-work-sub{color:#e7ebf2b3}
.h-work-list i{font-style:normal;font-size:20px;transition:transform .5s var(--ease-out)}
.h-work-list a:hover i{transform:rotate(45deg);color:var(--c-pink)}
.h-preview{position:fixed;left:0;top:0;z-index:80;width:340px;aspect-ratio:16/10;border-radius:16px;overflow:hidden;pointer-events:none;opacity:0;transform:translate3d(var(--x),var(--y),0) scale(.85) rotate(var(--r,0deg));transition:opacity .35s,transform .5s var(--ease-out);box-shadow:0 40px 80px -30px #0b0d26aa;background:var(--ink)}
.h-preview.is-on{opacity:1;transform:translate3d(var(--x),var(--y),0) scale(1) rotate(var(--r,0deg))}
.h-preview img{width:100%;height:100%;object-fit:cover}
.h-door{grid-column:2;display:flex;align-items:center;gap:20px;margin-top:20px;padding:26px 30px;border-radius:80px;background:var(--flow-ink);color:var(--paper);position:relative;overflow:hidden;isolation:isolate;transition:color .4s}
.h-door::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--current);transform:translateX(-101%);transition:transform .7s var(--ease-out)}
.h-door:hover::before{transform:none}
.h-door:hover{color:var(--ink)}
.h-door-label{font:900 clamp(20px,1.7vw,28px) var(--zh-display);letter-spacing:0}
.h-door-count{font:500 13px var(--body);opacity:.75}
.h-door-arrow{margin-left:auto;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:22px;transition:transform .6s var(--ease-out)}
.h-door:hover .h-door-arrow{transform:rotate(45deg)}
.h-experiments{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:110px}
.h-exp{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left!important;gap:10px;min-height:250px;margin:0!important;padding:32px!important;border-radius:18px!important;overflow:hidden;border:0!important;box-shadow:none!important;transition:transform .6s var(--ease-out)}
.h-exp:hover{transform:translateY(-4px)}
.h-exp.reset-entrance{background:var(--c-sun)!important;color:var(--ink)!important}
.h-exp-label{font:500 13px var(--body)}
.h-exp strong{margin-top:auto;font:400 clamp(36px,3.6vw,60px)/1 var(--display);letter-spacing:-.03em}
.h-exp #reset-entry-description{font:500 15px var(--body);max-width:420px}
.h-exp-action{position:absolute;right:28px;top:28px;padding:9px 15px;border-radius:30px;background:var(--ink);color:var(--paper);font:600 12px var(--body)}
.h-exp.nerf-discovery{background:#06130d!important;color:#e8f4e2!important;display:flex!important}
.h-exp.nerf-discovery>span{font:500 13px var(--body);color:#8fd19e}
.h-exp.nerf-discovery>div{margin-top:auto}
.h-exp.nerf-discovery h3{margin:0 0 8px;font:800 clamp(26px,2.4vw,40px)/1.1 var(--zh-display);letter-spacing:-.04em;color:#e8f4e2}
.h-exp.nerf-discovery p{margin:0;font:400 15px/1.6 var(--body);color:#adc0a8}
.h-exp.nerf-discovery a{position:absolute;right:28px;top:28px;padding:9px 15px;border-radius:30px;background:#c4fa5a;color:#06130d;font:600 12px var(--body)}

/* ───────── 08 遇 Hello ───────── */
.h-contact{background:var(--paper);padding:120px 0 170px;border-top:1px solid var(--line)}
.h-hello{margin:0;max-width:none;font:400 clamp(64px,9.6vw,190px)/1 var(--brush);letter-spacing:0;text-wrap:balance}
html[lang=en] .h-hello{font:400 clamp(60px,9vw,176px)/.92 var(--display);letter-spacing:-.035em;max-width:12ch}
.h-contact-note{font-size:19px!important;margin-top:34px!important}
.h-links{margin-top:80px;border-top:1px solid var(--flow-ink)}
.h-link-row{position:relative;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:20px;padding:30px 4px;border-bottom:1px solid var(--line);color:var(--flow-ink);isolation:isolate;overflow:hidden}
.h-link-row::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--current);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out);opacity:.9}
a.h-link-row:hover::before,.h-link-row--mail:hover::before{transform:none}
.h-link-k{font:500 15px var(--body);color:var(--muted)}
.h-link-row:hover .h-link-k{color:var(--ink)}
.h-link-v{font:400 clamp(28px,3.2vw,54px)/1.05 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}
.h-link-row i{font-style:normal;font-size:28px;transition:transform .5s var(--ease-out)}
.h-link-row:hover i{transform:rotate(45deg)}
.h-link-row--mail>a{display:contents;color:inherit}
.copy-email{justify-self:end;padding:13px 20px;border-radius:40px;border:1px solid var(--flow-ink);background:var(--paper);color:var(--flow-ink);font:600 13px var(--body);cursor:pointer;transition:background .3s,color .3s}
.copy-email:hover{background:var(--flow-ink);color:var(--paper)}
.copy-announcement{display:block;min-height:1.5em;margin-top:12px;font:500 14px var(--body);color:var(--flow-blue)}

/* ───────── 09 归 Return ───────── */
.h-return{position:relative;overflow:hidden;background:var(--ink);color:#e7ebf2;padding:170px 0 60px;text-align:center;border-radius:34px 34px 0 0;margin-top:-34px;z-index:2!important}
.h-return .h-glyph{left:50%;top:-.3em;transform:translateX(-50%)}
.h-return-rings{position:absolute;left:50%;top:44%;width:0;height:0}
.h-return-rings i{position:absolute;left:-40vmax;top:-40vmax;width:80vmax;height:80vmax;border-radius:50%;border:1px solid #e7ebf2;opacity:0;animation:h-ring 9s var(--ease-out) infinite}
.h-return-rings i:nth-child(2){animation-delay:3s}.h-return-rings i:nth-child(3){animation-delay:6s}
@keyframes h-ring{from{transform:scale(.05);opacity:.5}to{transform:scale(1);opacity:0}}
html[data-site-motion=off] .h-return-rings i{animation:none;opacity:.08;transform:scale(.5)}
.h-return-title{position:relative;margin:30px 0 0;font:900 clamp(56px,8.6vw,170px)/1.06 var(--zh-display);letter-spacing:-.03em}
.h-return-title span{display:block}
.h-return-title span+span{font:400 1.12em/1.05 var(--brush);letter-spacing:0;color:#e7ebf2}
html[lang=en] .h-return-title{font:400 clamp(64px,10vw,200px)/.95 var(--display);letter-spacing:-.035em}
html[lang=en] .h-return-title span+span{font:400 1em/.95 var(--display);color:var(--c-sun)}
.h-return-line{position:relative;max-width:560px;margin:34px auto 0;font:400 18px/1.8 var(--body);color:#e7ebf2b3}
.h-return-up{position:relative;display:inline-grid;place-items:center;align-content:center;gap:8px;width:140px;height:140px;margin:64px auto 0;border-radius:50%;border:1px solid #e7ebf255;color:#e7ebf2;font:500 14px var(--body);transition:background .5s,color .5s,transform .6s var(--ease-out)}
.h-return-up i{font-style:normal;font-size:22px;line-height:1}
.h-return-up:hover{background:#e7ebf2;color:var(--ink);transform:translateY(-6px)}
.h-credits{position:relative;width:min(1680px,calc(100% - var(--gutter)*2));margin:120px auto 0!important;padding-top:20px;border-top:1px solid #e7ebf21a;text-align:left;font:400 12px/1.8 var(--body);color:#e7ebf280!important;max-width:none!important}
.h-credits summary{color:#e7ebf2b3!important;font:500 13px var(--body)}
.h-credits a{color:#e7ebf2b3}

/* ───────── Responsive ───────── */
@media (max-width:1100px){
  .h-self-grid{grid-template-columns:1fr}
  .h-self-head,.h-id,.h-self-copy{grid-column:1}
  .h-id{position:relative;top:0;max-width:440px}
  .h-rig{grid-template-columns:1fr 1fr}
  .h-rig-main{grid-column:1/-1;grid-row:auto;min-height:460px}
  .h-works-grid{grid-template-columns:1fr}
  .h-works-grid .h-head{position:relative;top:0}
  .h-door{grid-column:1}
  .h-panel--court,.h-panel--track{width:min(86vw,820px)}
  .h-panel{width:min(70vw,520px)}
}
@media (max-width:760px){
  .h-source{min-height:640px;height:100svh}
  .h-source-top{top:122px;flex-direction:column;gap:8px}
  .h-title{top:45%;flex-direction:column;align-items:center;font-size:min(40vw,34vh);line-height:.98}
  .h-source-lede{left:var(--gutter);right:var(--gutter);bottom:112px;text-align:left}
  .h-serif{font-size:34px}
  .h-creedline{font-size:14px}
  .h-stir{display:none}
  .h-source-bottom{grid-template-columns:1fr auto;row-gap:10px;font-size:9px;bottom:20px}
  .h-source-bottom .h-coord,.h-source-bottom .h-viva{display:none}
  .h-creed{padding:100px 0 100px;border-radius:24px 24px 0 0}
  .h-tenets{grid-template-columns:1fr;gap:56px}
  .h-self{padding-bottom:110px}
  .h-self-head{padding-top:80px}
  .h-facts>div{grid-template-columns:1fr;gap:6px}
  .h-passion{padding:100px 0 90px;border-radius:24px 24px 0 0}
  .h-passion-head{grid-template-columns:1fr;margin-bottom:36px}
  .h-passion-head .h-note{text-align:left;margin-top:18px}
  .h-panel,.h-panel--court,.h-panel--track{width:86vw;height:auto;min-height:540px}
  .h-panel-photo{inset:0 0 auto 0;width:100%;height:56%}
  .h-panel-photo::before{background:linear-gradient(0deg,var(--ink-2) 0%,#14173a00 60%)}
  .h-panel--court .h-panel-copy,.h-panel--track .h-panel-copy{right:24px}
  .h-panel-copy{left:24px;right:24px;bottom:24px}
  .h-panel-number{font-size:200px;top:-2%}
  .h-sound{padding:100px 0 90px!important}
  .h-sound-head{grid-template-columns:1fr;margin-bottom:40px}
  .h-sound-head .h-note{text-align:left;margin-top:18px}
  .h-tools{padding:100px 0 110px}
  .h-rig{grid-template-columns:1fr}
  .h-rig-main{min-height:420px}
  .h-rig-specs dd{font-size:18px}
  .h-toolkit{border-radius:24px}
  .h-toolkit em{margin-left:0;flex-basis:100%}
  .h-journey{padding:100px 0;border-radius:24px 24px 0 0}
  .h-journey-head{grid-template-columns:1fr}
  .h-river{margin-top:50px}
  .h-river-line{display:none}
  .h-stops{grid-template-columns:1fr;gap:0;border-left:2px solid var(--mist);margin-left:6px}
  .h-stops li{border-top:0;padding:0 0 34px 28px}
  .h-stops li::before{left:-8.5px;top:2px}
  .h-work-list a{grid-template-columns:36px 1fr 24px;gap:12px}
  .h-work-sub{display:none}
  .h-door{padding:18px 18px 18px 24px}
  .h-door-arrow{width:44px;height:44px}
  .h-experiments{grid-template-columns:1fr;margin-top:70px}
  .h-exp-action,.h-exp.nerf-discovery a{position:static;align-self:flex-start;margin-top:8px}
  .h-contact{padding:90px 0 110px}
  .h-hello{font-size:12.4vw;line-height:1.05}
  html[lang=en] .h-hello{font-size:13vw}
  .h-link-v{font-size:clamp(20px,6.4vw,30px)}
  .h-display{font-size:clamp(38px,10.6vw,56px)}
  .h-link-row{grid-template-columns:1fr auto;padding:22px 2px}
  .h-link-k{grid-column:1/-1}
  .h-link-row--mail{grid-template-columns:1fr}
  .copy-email{justify-self:start}
  .h-return{padding:120px 0 40px;border-radius:24px 24px 0 0}
  .h-return-up{width:116px;height:116px}
  .h-preview{display:none}
}
@media (prefers-reduced-motion:reduce){
  .h-veil{display:none}
  .h-char>i,.h-source-lede,.h-stir,.h-source-bottom{animation:none}
}
/* Chinese type: ChunHei for display (dense, so it keeps natural spacing), JueJiangHei for reading and small labels. */
html[lang=zh-CN] .h-display,.h-tenet h3:not([lang]),html[lang=zh-CN] .h-hello,html[lang=zh-CN] .h-return-title,.h-marquee i,.h-title,.cz-finale-title{letter-spacing:.01em}
html[lang=zh-CN] .h-display{line-height:1.12}
html[lang=zh-CN] .h-manifesto{font:400 clamp(30px,3.4vw,58px)/1.5 var(--zh-strong);letter-spacing:.01em}
html[lang=zh-CN] .h-return-title{line-height:1.18}
html[lang=zh-CN] .h-return-title span+span{font-size:1em;line-height:1.18}
html[lang=zh-CN] .h-hello{line-height:1.1}
.h-work-sub,.h-panel-zh,.h-lead,.h-stops h3,.h-tenet p,.h-facts dd{font-family:var(--body)}
html[lang=zh-CN] .h-stops h3,html[lang=zh-CN] .h-lead,html[lang=zh-CN] .h-panel h3:not(:has(span[lang])){font-family:var(--zh-strong);font-weight:400;letter-spacing:.01em}
.h-door-label{font-family:var(--zh-strong)!important;font-weight:400!important}
.h-id-foot span:first-child{font:400 16px var(--zh-display);letter-spacing:.02em}
/* At 15px ChunHei closes up; the chapter characters use the lighter JueJiangHei 80. */
.h-chapters b{font-family:var(--zh-strong)}

/* Restored original lines, set quietly where they belong. */
.h-status{display:flex;align-items:center;gap:10px;margin:22px 0 0;font:500 14px var(--body);color:var(--muted)}
.h-status i{width:8px;height:8px;border-radius:50%;background:var(--c-mint)}
.h-process{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:56px 0 0;font:400 clamp(18px,1.6vw,24px) var(--zh-strong);color:var(--flow-ink)}
.h-process .mono{font:inherit}
.h-process>span:not(.mono){color:var(--c-pink)}
.h-process .divider-rule{flex:0 0 60px;height:1px;background:var(--line)}
.h-process b{font-weight:400;color:var(--c-blue)}
.h-panel-top{position:absolute;left:34px;right:34px;top:26px;z-index:3;display:flex;justify-content:space-between;margin:0;font:500 12px var(--mono);color:#e7ebf2b3}
.h-panel--court .h-panel-top,.h-panel--track .h-panel-top{right:calc(52% + 20px)}
.h-bridge{margin-top:10px!important;font-size:15px!important}
.h-door-count [aria-hidden]{display:none}
@media (max-width:760px){.h-panel--court .h-panel-top,.h-panel--track .h-panel-top{right:24px;left:24px;top:auto;bottom:calc(100% - 44px)}}

.h-intro{max-width:340px;text-align:right;line-height:1.7;font:500 14px/1.7 var(--body)!important}
.h-cta{display:flex;justify-content:flex-end;gap:22px;margin:18px 0 0;pointer-events:auto}
.h-cta a{display:inline-flex;gap:8px;font:500 14px var(--body);color:#e7ebf2;border-bottom:1px solid #e7ebf266;padding-bottom:4px;transition:border-color .3s,color .3s}
.h-cta a:hover{color:var(--c-sun);border-color:var(--c-sun)}
.h-return-motto{position:relative;margin:34px 0 0;font:400 clamp(22px,2vw,30px) var(--zh-strong);color:#e7ebf2}
.h-return-motto .profile-spark{color:var(--c-pink);margin-left:8px}
.h-return-motto+.h-return-line{margin-top:12px}
@media (max-width:760px){.h-intro{text-align:left;font-size:13px!important}.h-cta{justify-content:flex-start}}

/* ───────── Unification: the record room follows the site's type roles (no micro text, no mono costume) ───────── */
.h-sound .music-room-label,.h-sound .music-room-label *,.h-sound .music-stat{font:500 13px var(--body)!important;letter-spacing:0!important;text-transform:none!important}
.h-sound .music-stat{font-family:var(--mono)!important;font-size:12px!important;opacity:.8}
.h-sound .rotation-control,.h-sound .music-shuffle,.h-sound .music-filter-all,.h-sound .music-listen{font:500 13px var(--body)!important;letter-spacing:0!important;padding:10px 16px!important;min-height:40px}
.h-sound .rotation-control *,.h-sound .music-shuffle *,.h-sound .music-listen span{font:inherit!important;letter-spacing:0!important}
.h-sound .music-feature-word{font-size:clamp(34px,3.2vw,52px)!important}
.h-sound .music-track-copy .eyebrow{font:400 15px var(--zh-strong)!important;letter-spacing:.01em!important;text-transform:none!important}
html[lang=en] .h-sound .music-track-copy .eyebrow{font:400 18px var(--display)!important}
.h-sound #music-song-title{font:400 clamp(32px,3vw,48px)/1.12 var(--zh-display)!important;letter-spacing:.01em!important}
html[lang=en] .h-sound #music-song-title{font-family:var(--display)!important;letter-spacing:-.02em!important}
.h-sound .music-track-artist{font:400 17px var(--zh-strong)!important;letter-spacing:.01em!important}
.h-sound .music-track-album{font:400 14px var(--body)!important}
.h-sound .music-qq-link,.h-sound .music-qq-link span{font:500 13px var(--body)!important;letter-spacing:0!important}
.h-sound .music-track-index{font:400 12px var(--mono)!important;letter-spacing:.02em!important}
.h-sound .music-albums-label,.h-sound .music-albums-label *{font:400 15px var(--zh-strong)!important;letter-spacing:.01em!important;text-transform:none!important}
.h-sound .favourite-album b,.h-sound .favourite-album strong{font:400 19px var(--zh-display)!important;letter-spacing:.01em!important}
.h-sound .favourite-album small,.h-sound .favourite-album span{font:400 13px var(--body)!important;letter-spacing:0!important}
.h-sound .music-account a,.h-sound .music-account a span{font:500 14px var(--body)!important}
.h-sound .music-account p{font:400 12px/1.6 var(--body)!important}
.h-sound .music-artists-heading h3{font:400 18px var(--zh-strong)!important;letter-spacing:.01em!important;text-transform:none!important}
.h-sound .music-artist-name{font:400 14px var(--zh-strong)!important;letter-spacing:.01em!important}
.h-sound .music-artist-count{font:400 12px var(--mono)!important;letter-spacing:0!important}
.h-sound .music-library summary{font:400 16px var(--zh-strong)!important;letter-spacing:.01em!important}
.h-sound .music-track-row strong{font:400 15px var(--zh-strong)!important;letter-spacing:.01em!important}
.h-sound .music-track-row small,.h-sound .music-track-row>.mono{font:400 12px var(--body)!important;letter-spacing:0!important}
.h-sound .music-bottom-note p{font:400 12px/1.7 var(--body)!important}
.h-sound .music-bottom-note .mono{font:400 15px var(--display)!important;letter-spacing:0!important}
.h-sound [class*=sleeve] button,.h-sound [class*=sleeve] a,.h-sound [class*=sleeve] span{letter-spacing:0!important}
.h-sound .sleeve-open,.h-sound .sleeve-motion{font:500 13px var(--body)!important;text-transform:none!important}
.h-sound .sleeve-motion span,.h-sound .sleeve-motion b{font:inherit!important}
.h-sound .music-player-panel *{letter-spacing:0}
/* NeRF discovery card copy comes from nerf-entry.js */
.h-exp.nerf-discovery h3{letter-spacing:.01em!important}
/* Phones: nothing readable below 11px */
@media (max-width:760px){
  .h-source-bottom{font-size:11px!important}
  .h-sound .music-stat,.h-sound .music-room-label *{font-size:12px!important}
  .h-sound .sleeve-motion,.h-sound .sleeve-open{font-size:12px!important}
}

/* 器 — Claude & Claude Code join the toolkit; Claude-chan peeks over the ledge */
.h-toolkit{position:relative;background:#0b0d26}
.h-toolkit b.h-tool-claude{background:#f6e7dc}
.h-claude-mark{width:14px;height:14px;fill:none;stroke:#d97757;stroke-width:2.6;stroke-linecap:round}
.h-tools .h-toolkit{margin-top:clamp(150px,15vw,210px)}
.h-claude-chan{position:absolute;right:clamp(18px,4vw,64px);bottom:calc(100% - 1px);width:clamp(170px,16vw,236px);aspect-ratio:723/760;transform-origin:50% 100%;pointer-events:auto;cursor:pointer;z-index:2}
.h-claude-chan img{display:block;width:100%;height:100%;filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 12px 22px #00000059);transition:transform .7s cubic-bezier(.34,1.56,.64,1)}
.h-claude-bubble{position:absolute;right:88%;top:14%;padding:10px 16px;border-radius:18px 18px 4px 18px;background:#fff;color:#0b0d26;font:400 14px/1.5 var(--body);white-space:nowrap;letter-spacing:.02em;opacity:0;scale:.6;transform-origin:100% 100%;transition:opacity .3s,scale .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 10px 24px -12px #000a}
html:not([lang=en]) .h-claude-bubble{letter-spacing:.04em}
.h-claude-spark{position:absolute;left:8%;top:6%;width:16px;height:16px;background:#ffd23f;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.h-claude-chan:hover img,.h-claude-chan:focus-within img{transform:translateY(-10px) rotate(-3deg)}
.h-claude-chan:hover .h-claude-bubble{opacity:1;scale:1}
@media (prefers-reduced-motion:no-preference){
  html:not([data-site-motion=off]) .h-claude-chan{animation:h-chan-sway 5.5s ease-in-out infinite}
  html:not([data-site-motion=off]) .h-claude-spark{animation:h-chan-spark 2.8s ease-in-out infinite}
}
@keyframes h-chan-sway{0%,100%{rotate:-1.6deg}50%{rotate:1.8deg}}
@keyframes h-chan-spark{0%,100%{scale:.5;opacity:.4;rotate:0deg}50%{scale:1.1;opacity:1;rotate:45deg}}
@media (hover:none){.h-claude-bubble{opacity:1;scale:1;right:auto;left:-30%;top:-14%;font-size:13px}}
@media (max-width:760px){.h-tools .h-toolkit{margin-top:150px;padding-right:22px}.h-claude-chan{width:150px;right:14px}.h-claude-bubble{white-space:normal;width:9.5em}}
.h-tools .h-toolkit{clip-path:none!important}

/* 器 2.1 — drawn devices + the toolkit dock */
.h-dev{position:relative;pointer-events:none}
.h-dev svg{display:block;width:100%;height:auto;overflow:visible}
.h-dev-line{fill:none;stroke:#e7ebf2;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.45,0,.2,1)}
.h-dev.is-in .h-dev-line{stroke-dashoffset:0}
.h-dev-screen{fill:#3d5cff12;stroke:#e7ebf226;transition:fill .6s}
.h-dev--laptop{position:absolute;right:28px;top:76px;width:min(46%,330px)}
.h-dev-flow{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.45,0,.2,1) .6s}
.h-dev-flow:nth-of-type(1){stroke:#3d5cff}.h-dev-flow:nth-of-type(2){stroke:#ff5c9a;transition-delay:.75s}.h-dev-flow:nth-of-type(3){stroke:#ffd23f;transition-delay:.9s}
.h-dev.is-in .h-dev-flow{stroke-dashoffset:0}
.h-dev-rgb{position:absolute;left:18%;right:18%;top:85.6%;height:3px;border-radius:3px;background:linear-gradient(90deg,#3d5cff,#7a5cff,#ff5c9a,#ff6b3d,#ffd23f,#35d49a,#3d5cff);background-size:200% 100%;box-shadow:0 0 14px #ff5c9a66;opacity:.9}
.h-rig-main:hover .h-dev-screen{fill:#3d5cff2e}
.h-rig-item{min-height:300px}
.h-rig-item .h-dev{margin:auto 0 14px;width:min(100%,210px);align-self:flex-end}
.h-dev-ink{fill:none;stroke:#ffd23f;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.45,0,.2,1)}
.h-dev-pencil{fill:#e7ebf2;transition:translate 1.4s cubic-bezier(.45,0,.2,1),rotate 1.4s cubic-bezier(.45,0,.2,1);transform-box:fill-box;transform-origin:50% 100%}
.h-rig-item:hover .h-dev-ink,.h-rig-item:focus-within .h-dev-ink{stroke-dashoffset:0}
.h-rig-item:hover .h-dev-pencil{translate:-52px 2px;rotate:-14deg}
.h-dev-island{fill:#0b0d26;stroke:#e7ebf259;transition:width .6s cubic-bezier(.34,1.56,.64,1),x .6s cubic-bezier(.34,1.56,.64,1)}
.h-rig-item:hover .h-dev-island{width:44px;x:79px}
.h-dev-ring{fill:none;stroke:#35d49a;stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .4s}
.h-rig-item:hover .h-dev-ring{opacity:1}
.h-rig-item:hover .h-dev--phone .h-dev-screen{fill:#35d49a1f}
/* dock */
.h-toolkit.h-dock-wrap{display:block;padding:20px clamp(18px,2.4vw,30px) 22px;border-radius:28px}
.h-dock-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 16px;padding-right:clamp(120px,15vw,240px);font:500 13px var(--body);color:#e7ebf2b3}
.h-dock-head em{font-style:normal;color:var(--c-sun)}
.h-dock{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px clamp(20px,3vw,44px)}
.h-dock-group{display:flex;flex-direction:column;gap:10px}
.h-dock-group+.h-dock-group{padding-left:clamp(20px,3vw,44px);border-left:1px solid #e7ebf21f}
.h-dock-label{margin:0;font:500 12px var(--body);color:#e7ebf280}
html:not([lang=en]) .h-dock-label{letter-spacing:.04em}
.h-dock-apps{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:0;padding:0;list-style:none}
.h-app{--mag:0;display:flex;flex-direction:column;align-items:center;gap:7px;width:clamp(60px,5.4vw,76px)}
.h-app-icon{display:block;width:clamp(42px,3.5vw,52px);aspect-ratio:1;transform-origin:50% 100%;transform:translateY(calc(var(--mag) * -10px)) scale(calc(1 + var(--mag) * .42));transition:transform .18s ease-out;filter:drop-shadow(0 10px 16px #00000052)}
.h-app-icon svg{display:block;width:100%;height:100%}
.h-app-name{font:500 12px/1.25 var(--body);color:#e7ebf2c7;text-align:center;letter-spacing:0;transition:color .2s,translate .18s ease-out;translate:0 calc(var(--mag) * 2px)}
.h-app:hover .h-app-name{color:#fff}
@media (prefers-reduced-motion:no-preference){
  html:not([data-site-motion=off]) .h-dock-wrap:not(.is-in) .h-app{opacity:0;translate:0 18px}
  html:not([data-site-motion=off]) .h-app{transition:opacity .6s calc(var(--i) * 45ms),translate .8s cubic-bezier(.34,1.56,.64,1) calc(var(--i) * 45ms)}
  html:not([data-site-motion=off]) .h-dev-rgb{animation:h-rgb 4s linear infinite}
  html:not([data-site-motion=off]) .h-rig-item:hover .h-dev-ring{animation:h-ring 1.6s ease-out infinite}
  html:not([data-site-motion=off]) .h-rig-item:hover .h-dev-ring--2{animation-delay:.5s}
}
@keyframes h-rgb{to{background-position:-200% 0}}
@keyframes h-ring{from{scale:.6;opacity:1}to{scale:1.4;opacity:0}}
@media (max-width:1100px){.h-dev--laptop{position:relative;right:auto;top:auto;width:min(80%,320px);margin:10px 0 0 auto}}
@media (max-width:760px){
  .h-dock-head{padding-right:0;flex-wrap:wrap}
  .h-dock-group+.h-dock-group{padding-left:0;border-left:0;border-top:1px solid #e7ebf21f;padding-top:14px}
  .h-app{width:64px}
}
.h-app{width:auto;min-width:clamp(60px,5.4vw,76px)}.h-app-name{white-space:nowrap}
@media (max-width:760px){.h-dock-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 6px;width:100%}.h-app{min-width:0}.h-app-name{white-space:normal}}
html[lang=en] .h-sound #music-song-title{font-family:var(--display),var(--zh-display)!important;letter-spacing:0!important}

/* 源 — a small Claude-chan sticker keeps the visitor company beside the stir hint */
.h-buddy{position:absolute;z-index:3;left:calc(var(--gutter) - 4px);bottom:clamp(178px,22vh,236px);width:clamp(80px,6.8vw,106px);rotate:-7deg;transform-origin:50% 90%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.h-buddy img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 18px #00000066);transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.h-buddy-bubble{position:absolute;left:92%;top:6%;padding:7px 12px;border-radius:14px 14px 14px 4px;background:#e7ebf2;color:var(--ink);font:400 13px/1.4 var(--body);white-space:nowrap;rotate:7deg;transform-origin:0 100%;opacity:0;scale:.6;transition:opacity .25s,scale .45s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 8px 20px -10px #000c}
html:not([lang=en]) .h-buddy-bubble{letter-spacing:.04em}
.h-buddy:hover img{transform:translateY(-8px) rotate(4deg) scale(1.06)}
.h-buddy:hover .h-buddy-bubble{opacity:1;scale:1}
.h-buddy:active img{transform:translateY(-16px) rotate(-4deg) scale(1.1);transition-duration:.18s}
@media (prefers-reduced-motion:no-preference){
  html:not([data-site-motion=off]) .h-buddy{animation:h-buddy-in .9s 1.5s cubic-bezier(.34,1.56,.64,1) backwards,h-buddy-float 5.2s 2.4s ease-in-out infinite}
}
@keyframes h-buddy-in{from{opacity:0;scale:.4;rotate:-24deg}to{opacity:1;scale:1;rotate:-7deg}}
@keyframes h-buddy-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media (max-width:760px){.h-buddy{left:auto;right:16px;bottom:clamp(54px,8vh,72px);width:66px;rotate:6deg}.h-buddy-bubble{display:none}@keyframes h-buddy-in{from{opacity:0;scale:.4;rotate:20deg}to{opacity:1;scale:1;rotate:6deg}}}
