/* PASO GROUP — grouppaso.com
   Production stylesheet, rebuilt from the approved prototype "PASO Group Website.dc.html".
   Tokens from tokens.css. Radius 0, no shadows, gradients or blur. */

/* ---------- Fonts (self-hosted, SIL OFL — see assets/fonts/OFL.txt) ---------- */
@font-face{font-family:'Noto Serif Display';font-style:normal;font-weight:300 700;font-stretch:62.5% 100%;font-display:swap;src:url(../fonts/NotoSerifDisplay-normal-300_700.woff2) format('woff2')}
@font-face{font-family:'Noto Serif Display';font-style:italic;font-weight:300 700;font-stretch:62.5% 100%;font-display:swap;src:url(../fonts/NotoSerifDisplay-italic-300_700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/IBMPlexSans-normal-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:300 700;font-display:swap;src:url(../fonts/IBMPlexSans-italic-400.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/GeistMono-normal-400.woff2) format('woff2')}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/Cinzel-400_700.woff2) format('woff2')}
@font-face{font-family:'PASO Serif SC';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/PasoSerifSC-500-1.woff2) format('woff2');unicode-range:U+4ECB,U+7ECD,U+5148,U+8BA4,U+8BC6,U+4EBA,U+FF0C,U+518D,U+8C08,U+751F,U+610F,U+8DE8,U+884C,U+4E1A,U+7ECF,U+9A8C,U+4ECE,U+673A,U+4F1A,U+5230,U+4EA7,U+54C1,U+771F,U+5B9E,U+9879,U+76EE,U+6211,U+4EEC,U+6D3D,U+5408,U+4F5C,U+4E0E,U+5BF9,U+7684,U+540C,U+81EA,U+7136,U+5411,U+524D,U+3002,U+4E00,U+6B65,U+FF1B,U+8FC8,U+51FA,U+5BB6,U+65CF,U+59D3,U+6C0F,U+5E74,U+6708,U+4E09,U+4F4D,U+6210,U+5458,U+5C06,U+4EB2,U+8D74,U+5E7F,U+4EA4,U+6B22,U+8FCE,U+5F53,U+9762,U+76F4,U+63A5,U+6C9F,U+901A,U+60A8,U+505A,U+51B3,U+5B9A,U+4E2D,U+95F4,U+6CA1,U+6709,U+5C42,U+8F6C,U+8FBE,U+8BF4,U+6570,U+91CF,U+3001,U+89C4,U+683C,U+548C,U+671F,U+4E8B,U+8BB2,U+6E05,U+695A,U+7EA6,U+60C5,U+843D,U+52A1,U+6BD4,U+8F83,U+8D28,U+4EF7,U+53EF,U+9760,U+7A0B,U+5EA6,U+6A21,U+9002,U+8BA2,U+5355,U+5F00,U+59CB,U+957F}
@font-face{font-family:'PASO Serif SC';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/PasoSerifSC-500-2.woff2) format('woff2');unicode-range:U+6BCF,U+6B21,U+987A,U+5229,U+90FD,U+8BA9,U+5173,U+7CFB,U+66F4,U+8FDB,U+2014,U+63D0,U+662F,U+53CC,U+65B9,U+6B63,U+4E94,U+4E2A,U+5957,U+5224,U+65AD,U+6807,U+51C6,U+4FE1,U+606F,U+6280,U+672F,U+7EDF,U+7EC6,U+8282,U+96F6,U+552E,U+5546,U+8D38,U+4EC0,U+4E48,U+597D,U+5356,U+987E,U+5BA2,U+4E3A,U+56DE,U+5934,U+9910,U+996E,U+9152,U+5E97,U+670D,U+65E5,U+5E38,U+8FD0,U+8425,U+7A33,U+623F,U+5730,U+503C,U+5BA1,U+614E,U+7B56,U+5EFA,U+7B51,U+5DE5,U+6750,U+6599,U+4F9B,U+5E94,U+9884,U+7B97,U+4E0D,U+FF1F,U+5426,U+7406,U+6765,U+56FD,U+9645,U+91C7,U+5DF1,U+4F01,U+6216,U+6237,U+9700,U+8981,U+5BFB,U+627E,U+5382,U+8D2D,U+5236,U+534F,U+8C03,U+6309,U+FF1A,U+827A,U+724C,U+5305,U+88C5,U+9996,U+6253,U+6837,U+6279,U+63A2,U+7D22,U+4EE5,U+5728,U+963F,U+6839,U+5EF7,U+9500,U+62D3,U+5C55,U+53D1}
@font-face{font-family:'PASO Serif SC';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/PasoSerifSC-500-3.woff2) format('woff2');unicode-range:U+6398,U+65B0,U+5E02,U+573A,U+5E76,U+7ACB,U+76F8,U+5F0F,U+9AA4,U+73B0,U+8BC4,U+4F30,U+8BD5,U+5B8C,U+5584,U+6269,U+5927,U+7B26,U+6C42,U+65E0,U+8BBA,U+8FD8,U+4E0B,U+8D77,U+6539,U+6D41,U+5F97,U+8BC1,U+540E,U+589E,U+52A0,U+7C7B,U+8005,U+53CA,U+4EE3,U+7269,U+516C,U+53F8,U+62A5,U+4E5F,U+62E5,U+4FC3,U+5E26,U+51B0,U+7BB1,U+8D34,U+5E3D,U+5B50,U+7531,U+5177,U+684C,U+6905,U+4ECD,U+8F93,U+5982,U+6CE8,U+5F88,U+9AD8,U+5174,U+665A,U+5C0F,U+65F6,U+B7}

/* ---------- Tokens ---------- */
:root{
  --ivory:#F2EEE5;--ivory-deep:#E7E1D4;--ivory-hover:#E9E3D7;
  --ink:#18201C;--ink-2:#3A433E;--ink-3:#4A544E;--grey-green:#5C6B62;
  --on-ink:#F2EEE5;--on-ink-lead:#D9DDD5;--on-ink-2:#B4BBB2;
  --copper:#A65D3C;--copper-text:#8E4A2D;--copper-on-ink:#D08C64;
  --bronze:#A07A3A;--bronze-hdr:#A88445;--bronze-on-ink:#C9A15E;
  --ph-ivory-fg:#8E4A2D;--ph-ivory-bg:rgba(166,93,60,.09);
  --ph-ink-fg:#E8B08E;--ph-ink-bg:rgba(208,140,100,.13);
  --status-tbc:#8C958E;--status-progress:#D08C64;--status-done:#9DB8A2;
  --font-display:'Noto Serif Display','PASO Serif SC','Songti SC','Noto Serif CJK SC','Source Han Serif SC','STSong',Georgia,serif;
  --font-sans:'IBM Plex Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;
  --font-mono:'Geist Mono',ui-monospace,Menlo,Consolas,monospace;
  --font-mark:'Cinzel','Noto Serif Display',Georgia,serif;
  --px:clamp(20px,5vw,72px);
  --r:clamp(28px,4vw,56px);
  --r-rule:clamp(22px,2.8vw,40px);
  --stair-u:clamp(12px,4.2vw,72px);
  --stair-s:clamp(40px,4.6vw,72px);
  --menu-u:clamp(8px,3.2vw,48px);
  --ease-step:cubic-bezier(.22,.7,.18,1);
  --ease-rise:cubic-bezier(.65,0,.2,1);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:63px;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{text-decoration-color:var(--copper)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
::selection{background:var(--copper);color:var(--ivory)}
.zh{line-break:strict}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.page{overflow-x:hidden;overflow-x:clip}
main{display:block;outline:none}
section[tabindex]{outline:none}
.ink-ground{color:var(--on-ink)}

.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--ink);color:var(--ivory);padding:12px 16px;font-size:14px;text-decoration:none}
.skip:focus{top:12px}

/* Shared type */
.mono{font-family:var(--font-mono)}
.label{margin:0;padding:0 var(--px);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.ink-ground .label{color:var(--on-ink-2)}
.zh .label{font-size:13px;letter-spacing:.16em;text-transform:none}
.kicker{margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-text)}
.ink-ground .kicker{color:var(--copper-on-ink)}
.zh .kicker{font-family:var(--font-sans);font-size:13px;letter-spacing:.16em;text-transform:none}
.zh .kicker.keep-mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em}
.serif{font-family:var(--font-display)}
em{font-style:italic}
.ph-text{color:var(--ph-ivory-fg);background:var(--ph-ivory-bg);padding:0 .25em}
.ph-note{margin:14px 0 0;font-family:var(--font-mono);font-size:12px;line-height:1.5}
.ph-note span{color:var(--ph-ink-fg);background:var(--ph-ink-bg);padding:2px 6px}
.zh .ph-note{font-family:var(--font-sans);letter-spacing:.04em}

/* Lockups (the family's Pinamar pine) */
.mark-name{font-family:var(--font-mark);font-weight:500;letter-spacing:.08em;white-space:nowrap}
.mark-name b{font-weight:500;color:var(--bronze)}
.mark-sub{font-family:var(--font-mark);font-weight:500;letter-spacing:.36em;white-space:nowrap}
.lockup-stack{display:inline-flex;flex-direction:column;align-items:center;gap:12px;line-height:1}
.lockup-stack img{display:block;width:auto}

/* ---------- Header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;height:64px;display:flex;align-items:center;gap:clamp(10px,2vw,24px);padding:0 clamp(16px,4.4vw,64px);background:var(--ivory);color:var(--ink);transition:background-color .35s ease,color .35s ease}
.hdr.is-dark{background:var(--ink);color:var(--ivory)}
.hdr-lock{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;line-height:1;color:inherit;text-decoration:none;font-size:17px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .45s ease,transform .45s ease}
.hdr-lock.is-on,.hdr-lock:focus-visible{opacity:1;transform:none;pointer-events:auto}
.hdr-lock img{display:block;height:36px;width:auto}
.hdr-lock .t-dark{display:none}
.hdr.is-dark .hdr-lock .t-light{display:none}
.hdr.is-dark .hdr-lock .t-dark{display:block}
.hdr-lock .mark-name{font-size:16px}
.hdr-lock .mark-name b{color:var(--bronze-hdr)}
.hdr.is-dark .hdr-lock .mark-name b{color:var(--bronze-on-ink)}
.hdr-mid{flex:1;min-width:0;display:flex;align-items:center}
.hdr-ch{display:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:420px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.72}
.langs{display:flex;align-items:center;gap:2px;font-size:14px}
.langs a{display:inline-flex;align-items:center;min-height:44px;padding:0 clamp(5px,1vw,8px);text-decoration:none;opacity:.56;font-weight:500}
.langs a[aria-current="page"]{opacity:1;box-shadow:inset 0 -2px 0 var(--copper)}
.langs a:hover{opacity:1}
.langs a[lang="zh-CN"]{letter-spacing:.04em}
.langs .sep{opacity:.35}
.langs .full{display:none}
.menu-btn{appearance:none;-webkit-appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 0 0 6px;cursor:pointer;color:inherit}
.menu-btn .word{display:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.stepicon{display:grid;gap:4px;justify-items:end;width:20px}
.stepicon i{display:block;height:1.5px;background:currentColor}
.stepicon i:nth-child(1){width:10px}.stepicon i:nth-child(2){width:15px}.stepicon i:nth-child(3){width:20px}
.hdr-line,.hdr-prog,.hdr-tick{position:absolute;bottom:0;left:0;pointer-events:none}
.hdr-line{right:0;height:1px;background:currentColor;opacity:.14}
.hdr-prog{height:1px;width:0;background:currentColor;opacity:.55}
.hdr-tick{width:2px;height:9px;margin-left:-1px;background:var(--copper)}

@media (min-width:480px){.hdr-lock .mark-name{display:inline-block}}
@media (max-width:479.98px){.hdr-lock .mark-name{display:none}}
@media (min-width:560px){.langs .full{display:inline}.langs .short{display:none}}
@media (min-width:640px){.menu-btn .word{display:inline-block}}
@media (min-width:1000px){.hdr-ch{display:block}}

/* ---------- Index overlay ---------- */
.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--ink);color:var(--ivory);overflow-y:auto;display:flex;flex-direction:column}
.menu-top{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(16px,4.4vw,64px);border-bottom:1px solid rgba(242,238,229,.14)}
.menu-mark{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;line-height:1}
.menu-mark img{display:block;height:36px;width:auto}
.menu-mark .mark-name{font-size:16px}
.menu-mark .mark-name b{color:var(--bronze-on-ink)}
.menu-close{appearance:none;-webkit-appearance:none;border:1px solid rgba(242,238,229,.3);background:transparent;color:var(--ivory);min-height:44px;padding:0 16px;cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.menu-close:hover{border-color:var(--ivory)}
.menu-nav{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vh,72px) clamp(16px,4.4vw,64px)}
.menu-nav ol{list-style:none;margin:0;padding:0;max-width:1100px}
.menu-nav li{border-top:1px solid rgba(242,238,229,.18);border-left:1.5px solid var(--copper-on-ink)}
.menu-nav li:last-child{border-bottom:1px solid rgba(242,238,229,.18)}
.menu-nav li:nth-child(1){margin-left:calc(6 * var(--menu-u))}
.menu-nav li:nth-child(2){margin-left:calc(5 * var(--menu-u))}
.menu-nav li:nth-child(3){margin-left:calc(4 * var(--menu-u))}
.menu-nav li:nth-child(4){margin-left:calc(3 * var(--menu-u))}
.menu-nav li:nth-child(5){margin-left:calc(2 * var(--menu-u))}
.menu-nav li:nth-child(6){margin-left:var(--menu-u)}
.menu-nav a{display:flex;align-items:baseline;gap:16px;padding:clamp(10px,1.6vh,18px) 0 clamp(10px,1.6vh,18px) clamp(12px,1.6vw,22px);text-decoration:none;color:var(--ivory)}
.menu-nav a:hover{color:#E3A783}
.menu-nav .n{font-family:var(--font-mono);font-size:12px;color:var(--copper-on-ink)}
.menu-nav .t{font-family:var(--font-display);font-size:clamp(24px,3.6vw,48px);line-height:1.05}
.zh .menu-nav .t{font-size:calc(.86 * clamp(24px,3.6vw,48px));letter-spacing:.04em}
.menu-foot{flex:none;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;padding:20px clamp(16px,4.4vw,64px);border-top:1px solid rgba(242,238,229,.14);font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--on-ink-2)}
.menu-foot span{display:flex;gap:16px}
.menu-foot a{color:var(--ivory);display:inline-flex;align-items:center;min-height:44px}

/* ---------- Chapter scaffolding ---------- */
.chap-head{padding:clamp(48px,7vw,104px) var(--px) 0;display:flex;flex-wrap:wrap;gap:28px clamp(32px,6vw,96px);align-items:flex-end}
.h2{flex:1 1 560px;margin:0;font-family:var(--font-display);font-weight:400;font-stretch:88%;font-size:clamp(42px,6.4vw,112px);line-height:.98;letter-spacing:-.022em;text-wrap:balance}
.h2 em,.h1 em{font-weight:300}
.zh-disp{display:block;font-size:.76em;line-height:1.28;letter-spacing:.03em;font-weight:500;font-stretch:100%}
.zh-disp > span{display:inline-block}
.lead{flex:1 1 340px;max-width:500px}
.lead p{margin:0;font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--ink-2);text-wrap:pretty}
.ink-ground .lead p{color:var(--on-ink-lead)}
.zh .lead p{font-size:clamp(16px,1.25vw,18px);line-height:1.9;letter-spacing:.03em}
.tick{position:absolute;left:0;top:-11px;width:2px;height:11px;background:var(--copper-on-ink)}

/* Dark blocks with stepped edges */
.dark{position:relative;z-index:1;color:var(--on-ink)}
.plinth{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--ink)}
.plinth-1{-webkit-clip-path:polygon(0 var(--r),40% var(--r),40% 0,100% 0,100% calc(100% - var(--r)),56% calc(100% - var(--r)),56% 100%,0 100%);clip-path:polygon(0 var(--r),40% var(--r),40% 0,100% 0,100% calc(100% - var(--r)),56% calc(100% - var(--r)),56% 100%,0 100%)}
.plinth-2{-webkit-clip-path:polygon(0 var(--r),72% var(--r),72% 0,100% 0,100% calc(100% - var(--r)),80% calc(100% - var(--r)),80% 100%,0 100%);clip-path:polygon(0 var(--r),72% var(--r),72% 0,100% 0,100% calc(100% - var(--r)),80% calc(100% - var(--r)),80% 100%,0 100%)}
.plinth-3{-webkit-clip-path:polygon(0 var(--r),88% var(--r),88% 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 var(--r),88% var(--r),88% 0,100% 0,100% 100%,0 100%)}
.riser{position:absolute;width:2px;margin-left:-1px;height:var(--r);background:var(--copper);transform-origin:bottom}
.riser.top{top:0}.riser.bot{bottom:0}
.chno{position:absolute;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--copper-text)}
.chno.top{bottom:calc(100% + 12px)}
.chno.bot{bottom:calc(var(--r) + 12px);color:var(--copper-on-ink)}
.at-40{left:40%}.at-56{left:56%}.at-72{left:72%}.at-80{left:80%}.at-88{left:88%}
.chno.at-40{left:calc(40% + 14px)}.chno.at-56{left:calc(56% + 14px)}.chno.at-72{left:calc(72% + 14px)}.chno.at-80{left:calc(80% + 14px)}.chno.at-88{left:calc(88% + 12px)}

/* Hairline rule (same-colour chapter transitions) */
.rule{position:relative;height:var(--r-rule)}
.rule span{position:absolute}
.rule .lo{left:0;bottom:0;height:1px;background:rgba(24,32,28,.3);transform-origin:left}
.rule .up{right:0;top:0;height:1px;background:rgba(24,32,28,.3);transform-origin:left}
.rule .rs{bottom:0;width:2px;margin-left:-1px;height:100%;background:var(--copper);transform-origin:bottom}
.rule .no{bottom:calc(100% + 10px);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--copper-text)}
.ink-ground .rule .lo,.ink-ground .rule .up{background:rgba(242,238,229,.32)}
.ink-ground .rule .rs{background:var(--copper-on-ink)}
.ink-ground .rule .no{color:var(--copper-on-ink)}
.rule-48 .lo{width:48%}.rule-48 .rs,.rule-48 .up{left:48%}.rule-48 .no{left:calc(48% + 14px)}
.rule-64 .lo{width:64%}.rule-64 .rs,.rule-64 .up{left:64%}.rule-64 .no{left:calc(64% + 14px)}
.rule + .label{margin-top:16px}

/* Photo / QR placeholders (content still to be supplied) */
.slot{position:relative;overflow:hidden;max-width:100%}
.slot > img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.slot-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;text-align:center;font-family:var(--font-mono);font-size:11px;line-height:1.5;letter-spacing:.04em}
.slot-ph b{font-weight:500;font-size:12px;max-width:90%}
.r-4-3{aspect-ratio:4/3}.r-4-5{aspect-ratio:4/5}.r-21-9{aspect-ratio:21/9}.r-1-1{aspect-ratio:1/1}
@supports not (aspect-ratio:1/1){
  .r-4-3::before,.r-4-5::before,.r-21-9::before,.r-1-1::before{content:'';display:block}
  .r-4-3::before{padding-top:75%}.r-4-5::before{padding-top:125%}.r-21-9::before{padding-top:42.857%}.r-1-1::before{padding-top:100%}
}
.photo-ink{background-color:rgba(242,238,229,.04);background-image:repeating-linear-gradient(135deg,rgba(242,238,229,.07) 0 1px,transparent 1px 11px);color:rgba(242,238,229,.72)}

/* ---------- 01 Introduction ---------- */
.ch01{position:relative;background:var(--ivory);color:var(--ink);padding:calc(64px + clamp(28px,7vh,96px)) var(--px) clamp(40px,7vh,88px)}
.hero-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px}
.hero-lockup img{height:clamp(84px,10vw,150px)}
.hero-lockup .mark-name{font-size:clamp(26px,3.4vw,46px);color:var(--ink)}
.hero-lockup .mark-sub{font-size:clamp(10px,.95vw,14px);color:var(--ink)}
.hero-meta{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:12px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.hero-meta .strong{color:var(--ink)}
.zh .hero-meta{font-family:var(--font-sans);font-size:13px;letter-spacing:.16em}
.zh .hero-meta .strong{font-size:14px}
.h1{margin:clamp(40px,9vh,112px) 0 0;font-family:var(--font-display);font-weight:400;font-stretch:88%;font-size:clamp(46px,8.4vw,150px);line-height:.98;letter-spacing:-.025em;max-width:13.5ch;text-wrap:balance}
.h1 .zh-disp{font-size:.74em}

.hero-cols{display:flex;flex-wrap:wrap;padding:calc(var(--r) + clamp(32px,4.4vw,64px)) 0 clamp(80px,11vw,160px)}
.hero-l{width:100%;padding:0 clamp(20px,3vw,48px) 0 var(--px)}
.hero-r{width:100%;padding:56px var(--px) 0;display:flex;flex-wrap:wrap;gap:40px clamp(28px,4vw,72px);align-items:flex-start}
@media (min-width:900px){
  .hero-l{width:40%}
  .hero-r{width:60%;margin-top:calc(-1 * var(--r));padding:0 var(--px) 0 clamp(20px,2.4vw,32px)}
}
.intro{margin:0;max-width:34em;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--on-ink-lead);text-wrap:pretty}
.zh .intro{max-width:30em;font-size:clamp(16px,1.2vw,18px);line-height:1.9;letter-spacing:.03em}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:0 20px 0 22px;text-decoration:none;font-size:15px;font-weight:500}
.btn-solid{background:var(--ivory);color:var(--ink);transition:background-color .25s ease}
.btn-solid:hover{background:#FFFFFF}
.btn-solid svg{width:18px;height:10px;overflow:visible}
.btn-line{border:1px solid rgba(242,238,229,.42);color:var(--ivory);transition:border-color .25s ease}
.btn-line:hover{border-color:var(--ivory)}
.zh .btn{letter-spacing:.06em}
.dict{flex:1 1 260px;max-width:440px}
.dict-word{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.dict-word .w{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(36px,3.6vw,54px);line-height:1}
.dict-word .ipa{font-family:var(--font-mono);font-size:13px;color:var(--on-ink-2)}
.dict .kicker{margin-top:14px}
.dict ol{list-style:none;margin:14px 0 0;padding:0;font-family:var(--font-display);font-size:clamp(19px,1.5vw,22px);line-height:1.35}
.dict li{display:flex;gap:14px}
.dict li + li{margin-top:6px}
.dict li .n{font-family:var(--font-mono);font-size:12px;color:var(--on-ink-2);padding-top:.45em}
.zh .dict ol{font-size:clamp(17px,1.3vw,19px);line-height:1.6;letter-spacing:.03em}
.zh .dict li + li{margin-top:4px}
.zh .dict li .n{padding-top:.35em}
.fair{flex:1 1 220px;max-width:330px;position:relative;border-top:1px solid rgba(242,238,229,.26);padding-top:18px}
.fair .date{margin:10px 0 0;font-family:var(--font-display);font-size:26px;line-height:1.1}
.fair .txt{margin:10px 0 0;font-size:15px;line-height:1.55;color:var(--on-ink-2);text-wrap:pretty}
.zh .fair .date{font-size:24px;line-height:1.2;letter-spacing:.04em}
.zh .fair .txt{line-height:1.8;letter-spacing:.03em}

/* ---------- 02 People before business ---------- */
.ch02{padding:0 0 calc(var(--r) + clamp(88px,12vw,176px))}
.ch02 .chap-head{padding-top:clamp(40px,6vw,88px)}
.ch02 .h2{flex-basis:520px}
.ch02 .lead{max-width:540px}
.principles{list-style:none;margin:clamp(56px,8vw,120px) 0 0;padding:0 var(--px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:44px clamp(24px,3vw,48px)}
.principles li{position:relative;border-top:1px solid rgba(242,238,229,.24);padding-top:22px}
.principles .n{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--copper-on-ink)}
.principles h3{margin:18px 0 12px;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.3vw,34px);line-height:1.1}
.principles p{margin:0;font-size:16px;line-height:1.6;color:var(--on-ink-2);text-wrap:pretty}
.zh .principles h3{font-weight:500;font-size:clamp(22px,1.9vw,28px);line-height:1.3;letter-spacing:.04em}
.zh .principles p{font-size:15px;line-height:1.85;letter-spacing:.03em}

/* ---------- 03 Experience across industries ---------- */
.ch03{position:relative;background:var(--ivory);color:var(--ink);padding:18px 0 clamp(96px,12vw,176px)}
.sectors{list-style:none;margin:clamp(64px,9vw,128px) 0 0;padding:0 var(--px)}
.sectors li{border-top:1px solid rgba(24,32,28,.22);border-left:1.5px solid var(--copper);padding:clamp(14px,1.6vw,22px) clamp(8px,1vw,16px) clamp(20px,2.2vw,30px) clamp(14px,1.6vw,24px);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px clamp(16px,3vw,40px);transition:background-color .3s ease}
.sectors li:hover{background-color:var(--ivory-hover)}
.sectors li:last-child{border-bottom:1px solid rgba(24,32,28,.22)}
.sectors li:nth-child(1){margin-left:calc(4 * var(--stair-u))}
.sectors li:nth-child(2){margin-left:calc(3 * var(--stair-u))}
.sectors li:nth-child(3){margin-left:calc(2 * var(--stair-u))}
.sectors li:nth-child(4){margin-left:var(--stair-u)}
.sectors .n{flex:0 0 28px;font-family:var(--font-mono);font-size:12px;color:var(--copper-text)}
.sectors h3{flex:1 1 360px;margin:0;font-family:var(--font-display);font-weight:400;font-stretch:90%;font-size:clamp(30px,4.4vw,74px);line-height:1.02;letter-spacing:-.015em}
.sectors p{flex:1 1 240px;max-width:380px;margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}
.zh .sectors h3{flex-basis:300px;font-weight:500;font-stretch:100%;font-size:clamp(26px,3.5vw,58px);line-height:1.2;letter-spacing:.04em}
.zh .sectors p{font-size:15px;line-height:1.8;letter-spacing:.03em}
.questions{margin:clamp(72px,10vw,136px) var(--px) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px clamp(24px,3vw,48px);align-items:baseline}
.questions .intro-q{grid-column:1 / -1;margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.questions .q{margin:0;display:flex;gap:14px;font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(26px,2.6vw,40px);line-height:1.1}
.questions .q .n{font-family:var(--font-mono);font-style:normal;font-size:12px;color:var(--copper-text);padding-top:.6em}
.zh .questions .intro-q{font-family:var(--font-sans);font-size:14px;line-height:1.8;letter-spacing:.14em;text-transform:none}
.zh .questions .q{font-style:normal;font-weight:500;font-size:clamp(22px,2.1vw,32px);line-height:1.3;letter-spacing:.04em}
.zh .questions .q .n{padding-top:.5em}

/* ---------- 04 From opportunity to product ---------- */
.ch04{position:relative;background:var(--ivory);color:var(--ink);padding:0 0 calc(var(--r) + clamp(96px,12vw,176px))}
.activities{list-style:none;margin:clamp(56px,8vw,112px) 0 0;padding:0 var(--px)}
.activities li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px clamp(16px,3vw,40px);padding:22px 0 26px;border-top:1px solid rgba(24,32,28,.2)}
.activities li:last-child{border-bottom:1px solid rgba(24,32,28,.2)}
.activities .n{flex:0 0 40px;font-family:var(--font-mono);font-size:12px;color:var(--copper-text)}
.activities h3{flex:1 1 320px;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(25px,2.5vw,38px);line-height:1.1}
.activities p{flex:1 1 300px;max-width:540px;margin:0;font-size:16px;line-height:1.6;color:var(--ink-2)}
.zh .activities h3{font-weight:500;font-size:clamp(22px,2vw,30px);line-height:1.3;letter-spacing:.04em}
.zh .activities p{font-size:15px;line-height:1.85;letter-spacing:.03em}
.method{margin-top:clamp(80px,11vw,160px);padding:0 var(--px)}
.method-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px}
.method-head h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3vw,46px);line-height:1.1}
.method-head h3 em{font-weight:300}
.method-head p{margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.method-head h3 .ph{display:inline-block}
.zh .method-head h3{font-weight:500;font-size:clamp(24px,2.4vw,36px);line-height:1.3;letter-spacing:.04em}
.zh .method-head p{font-family:var(--font-sans);font-size:14px;letter-spacing:.14em;text-transform:none}
.steps{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;display:flex;flex-wrap:wrap}
.steps li{flex:1 1 100%;min-width:0;position:relative}
.steps .st-rs{position:absolute;left:0;top:-12px;width:2px;margin-left:-1px;height:12px;background:var(--copper);transform-origin:bottom}
.steps .st-tr{display:block;height:1px;background:var(--ink);transform-origin:left}
.steps .st-body{padding:18px clamp(12px,1.6vw,24px) 36px 0}
.steps li:last-child .st-body{padding-right:0}
.steps .n{font-family:var(--font-mono);font-size:12px;color:var(--copper-text)}
.steps h4{margin:10px 0;font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.6vw,40px);line-height:1}
.steps p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.zh .steps h4{font-weight:500;font-size:clamp(24px,2.1vw,32px);line-height:1.2;letter-spacing:.06em}
.zh .steps p{font-size:14.5px;line-height:1.8;letter-spacing:.03em}
@media (max-width:1079.98px){
  .steps li:nth-child(2){padding-left:14px}.steps li:nth-child(2) .st-rs{left:14px}
  .steps li:nth-child(3){padding-left:28px}.steps li:nth-child(3) .st-rs{left:28px}
  .steps li:nth-child(4){padding-left:42px}.steps li:nth-child(4) .st-rs{left:42px}
  .steps li:nth-child(5){padding-left:56px}.steps li:nth-child(5) .st-rs{left:56px}
}
@media (min-width:1080px){
  .steps li{flex:1 1 0}
  .steps .st-rs{top:0;height:var(--stair-s)}
  .steps li:nth-child(1) .st-rs{display:none}
  .steps li:nth-child(1){margin-top:calc(4 * var(--stair-s))}
  .steps li:nth-child(2){margin-top:calc(3 * var(--stair-s))}
  .steps li:nth-child(3){margin-top:calc(2 * var(--stair-s))}
  .steps li:nth-child(4){margin-top:var(--stair-s)}
}
.areweare{margin-top:clamp(64px,9vw,128px);padding:0 var(--px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px clamp(24px,4vw,72px)}
.areweare > div{border-top:1px solid var(--ink);padding-top:18px}
.areweare > div + div{border-top-color:rgba(24,32,28,.3)}
.areweare > div + div .kicker{color:var(--grey-green)}
.areweare .say{margin:14px 0 0;font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1.3;text-wrap:pretty}
.areweare > div + div .say{color:var(--ink-3)}
.zh .areweare .say{font-weight:500;font-size:clamp(19px,1.6vw,23px);line-height:1.7;letter-spacing:.03em}

/* ---------- 05 Real work ---------- */
.ch05{padding:calc(var(--r) + 18px) 0 calc(var(--r) + clamp(96px,12vw,176px))}
.case{margin-top:clamp(80px,11vw,160px);padding:0 var(--px);display:flex;flex-wrap:wrap;gap:36px clamp(32px,5vw,88px);align-items:flex-start}
.case-1{margin-top:clamp(64px,9vw,128px)}
.case-2{flex-direction:row-reverse}
.case-media{flex:7 1 520px;min-width:0;display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:clamp(10px,1.4vw,20px);align-items:start}
.case-2 .case-media{grid-template-columns:minmax(0,1fr) minmax(0,2.3fr)}
.case-media .detail{margin-top:clamp(32px,5vw,80px)}
.case-text{flex:5 1 320px;min-width:0;max-width:520px}
.case-text h3,.case-3 h3{margin:16px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1.06;text-wrap:balance}
.case-text .desc,.case-3 .desc{margin:18px 0 0;font-size:16px;line-height:1.6;color:var(--on-ink-lead);text-wrap:pretty}
.case-3 .desc{margin-top:0}
.zh .case-text h3,.zh .case-3 h3{font-weight:500;font-size:clamp(26px,2.4vw,36px);line-height:1.3;letter-spacing:.04em}
.zh .case-text .desc,.zh .case-3 .desc{font-size:15px;line-height:1.85;letter-spacing:.03em}
.case-facts{margin:26px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 20px;border-top:1px solid rgba(242,238,229,.22);font-size:15px}
.case-facts dt{padding:12px 0;border-bottom:1px solid rgba(242,238,229,.12);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-2)}
.case-facts dd{margin:0;padding:12px 0;border-bottom:1px solid rgba(242,238,229,.12)}
.case-facts dt.last{padding:14px 0;border-bottom:0}
.case-facts dd.last{padding:10px 0;border-bottom:0}
.zh .case-facts dt{font-family:var(--font-sans);font-size:13px;text-transform:none}
.chip{display:inline-flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid rgba(242,238,229,.3);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}
.chip i{width:7px;height:7px;background:var(--status-tbc)}
.chip.production i,.chip.transit i{background:var(--status-progress)}
.chip.completed i{background:var(--status-done)}
.zh .chip{font-family:var(--font-sans);letter-spacing:.08em}
.case-3{margin-top:clamp(80px,11vw,160px);padding:0 var(--px)}
.case-3 .slot{min-height:220px}
.case-3-row{margin-top:clamp(28px,3.4vw,48px);display:flex;flex-wrap:wrap;gap:24px clamp(32px,5vw,88px);align-items:flex-start}
.case-3-row > div:first-child{flex:1 1 420px;min-width:0}
.case-3-row > div + div{flex:1 1 320px;min-width:0;max-width:520px}
.case-3 .ph-note{line-height:1.9}

/* ---------- 06 The people ---------- */
.ch06{position:relative;background:var(--ivory);color:var(--ink);padding:18px 0 calc(var(--r) + clamp(96px,12vw,176px))}
.ch06 .greet{flex:1 1 480px;min-width:0}
.mucho{margin:0;font-family:var(--font-display);font-weight:300;font-style:italic;font-stretch:88%;font-size:clamp(48px,7.6vw,132px);line-height:.95;letter-spacing:-.022em}
.greet .sub{margin:16px 0 0;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.zh .greet .sub{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.2vw,32px);letter-spacing:.06em;text-transform:none;color:var(--ink-2)}
.profiles{list-style:none;margin:clamp(56px,8vw,112px) 0 0;padding:0 var(--px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:64px clamp(20px,2.6vw,40px)}
.profiles > li{min-width:0}
.portrait{position:relative}
.portrait .slot{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-clip-path:polygon(0 40px,72px 40px,72px 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 40px,72px 40px,72px 0,100% 0,100% 100%,0 100%);background-color:var(--ivory-deep);background-image:repeating-linear-gradient(135deg,rgba(24,32,28,.07) 0 1px,transparent 1px 11px);color:var(--ink-3)}
.portrait .rs{position:absolute;left:72px;top:0;width:2px;margin-left:-1px;height:40px;background:var(--copper);pointer-events:none}
.portrait .no{position:absolute;left:0;top:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--copper-text);pointer-events:none}
.profiles h3{margin:26px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.3vw,34px);line-height:1.12}
.profiles .role{margin:10px 0 0;font-size:15px;line-height:1.5;color:var(--ink-3)}
.zh .profiles .role{line-height:1.7}
.rows{margin:22px 0 0;border-top:1px solid rgba(24,32,28,.22)}
.rows > div{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid rgba(24,32,28,.12)}
.rows dt{flex:0 0 68px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.zh .rows dt{font-family:var(--font-sans);font-size:13px;text-transform:none}
.rows dd{flex:1;min-width:0;margin:0;display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:14px}
.rows dd .v{flex:1;min-width:0;overflow-wrap:anywhere}
.rows dd a{color:inherit;text-decoration:none}
.rows dd a:hover{text-decoration:underline}
.copy{appearance:none;-webkit-appearance:none;flex:none;min-height:44px;min-width:64px;padding:0 12px;border:1px solid rgba(24,32,28,.24);background:transparent;cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;transition:border-color .2s ease,background-color .2s ease}
.copy:hover{border-color:var(--ink)}
.ink-ground .copy{border-color:rgba(242,238,229,.32);color:var(--ivory)}
.ink-ground .copy:hover{border-color:var(--ivory)}
.zh .copy{font-family:var(--font-sans);letter-spacing:.06em}
.qr-row{display:flex;align-items:center;gap:16px;margin-top:18px}
.qr-sm{position:relative;width:112px;height:112px;flex:none;background:#FFFFFF;border:1px solid rgba(24,32,28,.14)}
.qr-sm .slot{position:absolute;top:7px;right:7px;bottom:7px;left:7px}
.qr-sm .slot > img,.qr-tile .slot > img{object-fit:contain}
.qr-sm .slot > img{background:#FFFFFF}
.qr-tile .slot > img{background:var(--ivory)}
.qr-ph{background-image:repeating-linear-gradient(135deg,rgba(24,32,28,.08) 0 1px,transparent 1px 9px);color:var(--ink-3)}
.qr-row p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-3)}
.qr-row p .mono{font-size:12px;color:var(--copper-text)}
.zh .qr-row p{line-height:1.7}

/* ---------- 07 Let's talk business ---------- */
.ch07{padding:calc(var(--r) + 18px) 0 clamp(72px,10vw,136px)}
.general{margin:clamp(56px,8vw,112px) var(--px) 0;padding:clamp(24px,3vw,40px) 0;border-top:1px solid rgba(242,238,229,.24);border-bottom:1px solid rgba(242,238,229,.24);display:flex;flex-wrap:wrap;gap:28px clamp(28px,4vw,64px);align-items:center}
.qr-tile{position:relative;flex:none;background:var(--ivory)}
.qr-tile .slot{position:absolute}
.qr-lg{width:clamp(168px,16vw,220px)}
.qr-lg .slot{top:12px;right:12px;bottom:12px;left:12px}
.qr-md{width:clamp(140px,12vw,176px)}
.qr-md .slot{top:10px;right:10px;bottom:10px;left:10px}
.general-info{flex:1 1 300px;min-width:0;max-width:640px}
.crow{display:flex;align-items:center;gap:12px;margin-top:14px;padding-bottom:14px;border-bottom:1px solid rgba(242,238,229,.12)}
.general-info .kicker + .crow{margin-top:18px}
.cval{flex:1;min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere}
.cval .k{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-2);margin-bottom:4px}
.zh .cval .k{font-family:var(--font-sans);font-size:12px;text-transform:none}
.cval .v{font-size:clamp(17px,1.9vw,24px)}
.cval a{color:inherit;text-decoration:none}
.cval a:hover{text-decoration:underline}
.cweb{margin-top:14px;font-family:var(--font-mono)}
.cweb .k{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-2);margin-bottom:4px}
.zh .cweb .k{font-family:var(--font-sans);font-size:12px;text-transform:none}
.cweb .v{font-size:clamp(17px,1.9vw,24px)}
.direct{margin:clamp(48px,6vw,80px) var(--px) 0}
.ch07 .direct{padding:0}
.contacts{list-style:none;margin:28px 0 0;padding:0 var(--px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:48px clamp(20px,2.6vw,40px)}
.contacts > li{position:relative;min-width:0;border-top:1px solid rgba(242,238,229,.24);padding-top:24px}
.contact-in{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.contact-txt{flex:1 1 150px;min-width:0}
.contact-txt .n{margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--copper-on-ink)}
.contact-txt .name{margin:10px 0 0;font-family:var(--font-display);font-size:clamp(22px,1.9vw,28px);line-height:1.15}
.contact-txt .crow{flex-wrap:wrap;gap:8px 10px;margin-top:12px;padding-bottom:0;border-bottom:0}
.contact-txt .cval{flex:1 1 130px}
.contact-txt .name + .crow{margin-top:16px}
.contact-txt .cval .v{font-size:14px}
.hint{margin:clamp(40px,5vw,64px) var(--px) 0}
.hint p{margin:0;max-width:640px;font-size:15px;line-height:1.6;color:var(--on-ink-2);text-wrap:pretty}
.zh .hint p{line-height:1.85;letter-spacing:.03em}
.extras{margin:clamp(72px,10vw,136px) var(--px) 0;display:flex;flex-wrap:wrap;gap:48px clamp(32px,6vw,96px)}
.firstmsg{flex:2 1 420px;min-width:0;border-top:1px solid rgba(242,238,229,.24);padding-top:20px}
.firstmsg ol{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 32px}
.firstmsg li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid rgba(242,238,229,.12);font-size:16px}
.firstmsg li .n{font-family:var(--font-mono);font-size:12px;color:var(--on-ink-2);padding-top:3px}
.zh .firstmsg li{font-size:15px;letter-spacing:.03em}
.zh .firstmsg li .n{padding-top:4px}
.tz{flex:1 1 260px;min-width:0;border-top:1px solid rgba(242,238,229,.24);padding-top:20px}
.tz .say{margin:16px 0 0;font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1.25}
.zh .tz .say{font-weight:500;font-size:clamp(20px,1.7vw,24px);line-height:1.5;letter-spacing:.04em}
.tz dl{margin:18px 0 0;display:grid;grid-template-columns:auto auto;justify-content:start;gap:8px 28px;font-family:var(--font-mono)}
.tz dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-2);padding-top:6px}
.zh .tz dt{font-family:var(--font-sans);font-size:12px;text-transform:none}
.tz dd{margin:0;font-size:22px;font-variant-numeric:tabular-nums}

/* Footer */
.foot{padding:0 var(--px) 40px}
.foot-top{border-top:1px solid rgba(242,238,229,.2);padding-top:clamp(48px,7vw,96px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 48px}
.foot-lockup img{height:clamp(80px,8vw,124px)}
.foot-lockup .mark-name{font-size:clamp(24px,3vw,40px)}
.foot-lockup .mark-name b{color:var(--bronze-on-ink)}
.foot-lockup .mark-sub{font-size:clamp(10px,.9vw,13px)}
.tagline{max-width:420px}
.tagline p{margin:0;font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(22px,2vw,28px);line-height:1.3}
.zh .tagline p{font-style:normal;font-weight:500;font-size:clamp(20px,1.8vw,24px);line-height:1.6;letter-spacing:.06em}
.foot-bot{margin-top:clamp(40px,6vw,72px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;font-size:13px;line-height:1.6;color:var(--on-ink-2)}
.foot-bot > p{margin:0;max-width:560px}
.zh .foot-bot > p{letter-spacing:.03em}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;white-space:nowrap;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--ivory)}

/* Chinese-version suggestion (shown only on /en/ and /es/ to browsers set to Chinese) */
.zh-tip{position:fixed;left:var(--px);right:var(--px);bottom:16px;z-index:55;display:flex;align-items:center;gap:8px;max-width:440px;padding:6px 4px 6px 14px;background:var(--ink);color:var(--ivory);border:1px solid rgba(242,238,229,.24);font-size:14px;letter-spacing:.04em}
.zh-tip p{margin:0;flex:1 1 auto;min-width:0;line-height:1.5}
.zh-tip p span{display:inline-block}
.zh-tip a{flex:none;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--ivory);font-weight:500;text-decoration-color:var(--copper-on-ink)}
.zh-tip button{flex:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--ivory);min-width:44px;min-height:44px;cursor:pointer;font-size:18px;line-height:1}

/* Root language entry + 404 */
.root-page{min-height:100vh;display:flex;align-items:center;justify-content:center}
.root-main{display:flex;flex-direction:column;align-items:center;gap:36px;padding:64px var(--px);text-align:center}
.root-msg{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.8;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-green)}
.root-langs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px;font-size:15px;font-weight:500}
.root-langs a{display:inline-flex;align-items:center;min-height:44px;text-decoration-color:var(--copper)}

/* ---------- Motion ---------- */
@keyframes stepIn{0%{opacity:0;transform:translate(-14px,16px)}42%{opacity:.55;transform:translate(0,16px)}100%{opacity:1;transform:none}}
@keyframes plinthRise{from{-webkit-clip-path:polygon(0 var(--r),40% var(--r),40% var(--r),100% var(--r),100% calc(100% - var(--r)),56% calc(100% - var(--r)),56% 100%,0 100%);clip-path:polygon(0 var(--r),40% var(--r),40% var(--r),100% var(--r),100% calc(100% - var(--r)),56% calc(100% - var(--r)),56% 100%,0 100%)}}
@keyframes riserUp{from{transform:scaleY(0)}}
.intro-a{animation:stepIn 1000ms var(--ease-step) backwards}
.i0{animation-delay:80ms}.i1{animation-delay:190ms}.i2{animation-delay:300ms}.i3{animation-delay:410ms}.i4{animation-delay:520ms}.i5{animation-delay:630ms}.i6{animation-delay:740ms}
.plinth-1{animation:plinthRise 760ms var(--ease-rise) 560ms backwards}
.hero-riser{animation:riserUp 760ms var(--ease-rise) 560ms backwards}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .hdr,.menu,.skip,.zh-tip,.copy{display:none!important}
  .plinth{-webkit-clip-path:none!important;clip-path:none!important}
  *{animation:none!important}
}
