/* V9.4 single token layer: applied last on every page */
:root{--paper:#faf9f6;--ink:#203238;--muted:#617070;--accent:#a66a50;--pine:#24474a;--dark:#172d33;--line:#dfe5e0;--white:#fff;--surface:#f1f4f0;--reading:708px}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{--paper:#faf9f6;--ink:#203238;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
body.article-page,body.v8,body.subpage{background:var(--paper);color:var(--ink)}
body h1,body h2,body h3{letter-spacing:-.038em;text-wrap:pretty;font-weight:680}
body h1{line-height:1.25}body h2{line-height:1.33}body h3{line-height:1.42}
body p{overflow-wrap:break-word}
body a,body button{-webkit-tap-highlight-color:transparent}
body :focus-visible{outline:3px solid #bf7958;outline-offset:4px}
body .site-head{background:rgba(250,249,246,.97);border-bottom:1px solid rgba(32,50,56,.1)}
body .wordmark{color:var(--ink)}body .nav-mobile{background:var(--paper)}
body .footer{background:#172d33;color:#eff5f2}
body .kicker,body .eyebrow{letter-spacing:.08em}
body .button,body .button-ink{border-radius:4px}
/* old pages share consistent content rhythm, without changing their layout interactions */
body.subpage .sub-hero h1{font-weight:720}body.subpage .section{scroll-margin-top:80px}
body.subpage .simple-timeline .bio-event h3{font-weight:700}
body.article-page .article-hero{background:#eff3ef;border-bottom:1px solid #dce4dd;padding:65px 0 34px}
body.article-page .article-hero .container{max-width:840px;margin:auto;padding:0 22px}
body.article-page .article-title{font-size:clamp(29px,6.5vw,44px);line-height:1.35;color:#21383d;font-weight:750;letter-spacing:-.045em;max-width:830px}
body.article-page .article-subtitle{font-size:clamp(14px,2.2vw,17px);line-height:1.85;color:#64736f}
body.article-page .article-back{color:#52726c}
body.article-page .article-tag{background:#fff!important;color:#586e67!important;border:1px solid #d5dfd7!important}
body.article-page .article-body{padding-top:36px}
body.article-page .article-body>.container{max-width:850px;padding:0 22px;margin:auto}
body.article-page .article-content{max-width:740px;margin:auto;color:#243439}
body.article-page .article-content p,body.article-page .article-content li{font-size:16px;line-height:2.02;letter-spacing:0;text-align:left}
body.article-page .article-content h2{font-size:clamp(24px,5vw,32px);font-weight:750;line-height:1.4;margin-top:56px;margin-bottom:20px;color:#233d40}
body.article-page .article-content h3{font-size:clamp(20px,4vw,24px);line-height:1.45;margin:39px 0 14px;color:#24444a}
body.article-page .article-content img{height:auto;max-width:100%;border-radius:4px}
body.article-page .article-content blockquote{background:#eaf0e9;border-left:3px solid #9b785e;padding:18px 20px;margin:32px 0}
body.article-page .article-content blockquote p{margin:0}
body.article-page .article-content a{color:#256b6e;text-decoration:underline;text-underline-offset:3px}
body.article-page .article-content .highlight-box,body.article-page .article-content .industry-card{border-color:#dbe3dc;border-radius:4px}
body.article-page .article-content .article-map img{border-radius:4px}
/* author profile readable on mobile */
body.subpage .bio-context{background:#f2f5f0;padding-top:56px;padding-bottom:72px;border-top:1px solid #dce5de}
body.subpage .bio-context h2{font-size:clamp(27px,6.8vw,39px);line-height:1.36;margin:0 0 13px}
body.subpage .bio-context-intro{font-size:14px;color:#61716f;line-height:1.9;max-width:690px;margin:0 0 27px}
body.subpage .bio-records{display:grid;grid-template-columns:1fr;gap:12px}
body.subpage .bio-records>div{background:#fff;padding:21px;border:1px solid #e0e6de;border-radius:4px}
body.subpage .bio-records span{font-size:11px;font-weight:700;color:#986b52;letter-spacing:.08em}
body.subpage .bio-records h3{font-size:19px;margin:12px 0 8px;line-height:1.4}
body.subpage .bio-records p{font-size:13px;line-height:1.9;color:#61706b;margin:0}
body.subpage .identity-disclosure{margin-top:22px;border-top:1px solid #d5dfd6;border-bottom:1px solid #d5dfd6;padding:0 2px}
body.subpage .identity-disclosure summary{cursor:pointer;list-style:none;padding:17px 0;font-size:13px;font-weight:700;color:#526e68;display:flex;align-items:center;justify-content:space-between;gap:12px}
body.subpage .identity-disclosure summary::-webkit-details-marker{display:none}
body.subpage .identity-disclosure[open] summary span{transform:rotate(45deg)}
body.subpage .identity-disclosure p{font-size:12px;line-height:1.95;color:#647570;margin:0 0 15px}
@media(min-width:720px){body.subpage .bio-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body.subpage .bio-context{padding-top:76px;padding-bottom:90px}}
@media(max-width:600px){body.article-page .article-hero{padding:40px 0 24px}body.article-page .article-body{padding-top:22px}body.article-page .article-content p,body.article-page .article-content li{font-size:16px;line-height:1.95}body.article-page .article-content h2{margin-top:42px}body.article-page .article-content h3{margin-top:32px}}

/* V9.5 navigation identity: mobile vertical, desktop horizontal */
body .site-head .wordmark{display:flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap;min-width:0;text-decoration:none}
body .site-head .logo-name{font-size:22px;line-height:1.12;font-weight:750;letter-spacing:-.065em;color:var(--ink);white-space:nowrap}
body .site-head .logo-name ruby{ruby-position:over}
body .site-head .logo-name rt{font-size:9px;line-height:1;letter-spacing:0;font-weight:550;color:var(--muted)}
body .site-head .logo-meta{font-size:13px;line-height:1.3;font-weight:500;letter-spacing:0;color:var(--muted);border-left:1px solid #c9d2cc;padding-left:12px;white-space:nowrap}
body .site-head .logo-city{white-space:nowrap}
@media(max-width:699px){
  body .site-head .head-in{height:68px}
  body .site-head .wordmark{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
  body .site-head .logo-name{font-size:21px;line-height:1.18}
  body .site-head .logo-meta{font-size:12.5px;line-height:1.28;letter-spacing:0;border-left:0;padding-left:0}
  body .site-head .logo-name rt{font-size:9px}
}
@media(min-width:700px) and (max-width:1080px){
  body .site-head .wordmark{gap:9px}
  body .site-head .logo-meta{padding-left:9px;font-size:12px}
}
@media(max-width:355px){
  body .site-head .head-in{height:66px}
  body .site-head .logo-meta{font-size:12px}
}

/* V9.6 typographic alignment: one true baseline, ruby above only the first surname glyph */
body .site-head .head-in{height:69px}
body .site-head .wordmark{display:inline-flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:flex-start!important;gap:10px!important;white-space:nowrap;max-width:calc(100% - 51px)}
body .site-head .logo-name{font-size:22px;line-height:1.22;letter-spacing:-.048em;font-weight:750;white-space:nowrap;display:inline-block;vertical-align:baseline}
body .site-head .logo-name ruby{ruby-position:over;ruby-align:center;vertical-align:baseline}
body .site-head .logo-name rt{font-size:9px;line-height:1;letter-spacing:0;font-weight:500;white-space:nowrap;color:#697774}
body .site-head .logo-meta{font-size:12.5px;line-height:1.22;white-space:nowrap;letter-spacing:0;font-weight:500;padding-left:10px;border-left:1px solid #c9d2cc;color:#5e6b68;align-self:baseline}
body .site-head .logo-city{white-space:nowrap}
body .hero-ident strong ruby{ruby-position:over}
/* Natural Chinese-first headings: less stylistic tracking on non-Latin characters. */
body .kicker,body .eyebrow{letter-spacing:.035em}
body .step-graphic i{font-family:inherit;font-style:normal;letter-spacing:0}
body .space-label,body .space-cost-label,body .industry-no{letter-spacing:.025em;font-family:inherit}
/* Direct WeChat contact rather than a fake submission form. */
body .intent-contact{background:#f1f4f0;border:1px solid #d8e1d9;border-radius:6px;padding:17px 15px;margin:17px 0 18px;color:#233b3c}
body .intent-contact-label{font-size:13px;font-weight:750;margin:0 0 12px;color:#334c4b}
body .intent-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body .intent-options button{border:1px solid #d0dad3;border-radius:3px;background:#fff;color:#415650;padding:11px 4px;font-size:12px;line-height:1.25;font-weight:650;cursor:pointer;min-height:44px}
body .intent-options button[aria-pressed=true]{color:#fff;background:#26494a;border-color:#26494a}
body .intent-prompt{margin-top:14px;padding:12px 0 0;border-top:1px solid #d9e2db}
body .intent-prompt strong{font-size:14px;display:block;margin-bottom:5px}
body .intent-prompt p{color:#536a66;line-height:1.7;font-size:12px;margin:0 0 8px}
body .intent-prompt button{padding:7px 0;color:#276365;font-size:12px;font-weight:720;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#97b2aa}
body .intent-copy-note{font-size:11px;line-height:1.7;color:#6e7c78;margin:10px 0 0}
body .service-entry-item.intent-selected h3{color:#366b67}
@media(max-width:699px){
 body .site-head .head-in{height:66px!important;align-items:center}
 body .site-head .wordmark{gap:7px!important;max-width:calc(100% - 49px)}
 body .site-head .logo-name{font-size:20px;line-height:1.18}
 body .site-head .logo-meta{font-size:11.5px;line-height:1.2;padding-left:7px;white-space:nowrap}
 body .site-head .logo-name rt{font-size:8.5px}
}
@media(max-width:355px){
 body .site-head .wordmark{gap:6px!important}
 body .site-head .logo-name{font-size:19px}
 body .site-head .logo-meta{font-size:11px;padding-left:6px}
 body .site-head .head-in{height:64px!important}
 body .intent-options button{font-size:11px}
}
