/* ============================================================
   中新瑞 znova — Visual system v2 (leader-grade)
   Discipline: near-monochrome + one blue · big type contrast ·
   generous whitespace · no decorative grids/glows · flat & crisp
   ============================================================ */
@font-face{font-family:"Saira";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/saira-400.woff2") format("woff2")}
@font-face{font-family:"Saira";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/saira-500.woff2") format("woff2")}
@font-face{font-family:"Saira";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/saira-600.woff2") format("woff2")}
@font-face{font-family:"Saira";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/saira-700.woff2") format("woff2")}
@font-face{font-family:"Saira";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/saira-800.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/jbmono-400.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/jbmono-500.woff2") format("woff2")}

:root{
  --ink:#0B0F17;
  --ink-2:#39414F;
  --mute:#77808F;
  --line:#E6E9F0;
  --line-2:#F1F3F7;
  --bg:#FFFFFF;
  --soft:#F5F7FA;          /* alternating band */
  --brand:#1E44E0;         /* one confident blue */
  --brand-ink:#1536BE;
  --tint:#EEF2FF;          /* light blue fill */
  --cjk:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC","Noto Sans SC",system-ui,sans-serif;
  --disp:"Saira",var(--cjk);
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --maxw:1200px;
  --pad:132px;
  /* compatibility aliases — legacy inline styles map onto v2 tokens */
  --steel:var(--mute);--steel-2:#A6AEBC;
  --blue:var(--brand);--blue-deep:var(--brand-ink);--blue-soft:var(--tint);
  --hair:var(--line);--hair-2:var(--line-2);
  --paper:var(--soft);--panel:var(--soft);--panel-2:var(--soft);--white:#FFFFFF;
  --teal:var(--brand-ink);--cyan:var(--brand);--ok:#1FA971;
  --font-cn:var(--cjk);--font-mono:var(--mono);--font-disp:var(--disp);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:var(--cjk);color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.65;font-size:16px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
section{padding:var(--pad) 0}
.soft{background:var(--soft)}

/* type utilities ------------------------------------------ */
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--brand-ink);display:inline-block}
h1,h2,h3{font-family:var(--cjk);font-weight:900;letter-spacing:-.01em;line-height:1.08}
.display{font-size:clamp(40px,5.6vw,74px);line-height:1.03;letter-spacing:-.02em}
.h2{font-size:clamp(28px,3.4vw,46px);line-height:1.1}
.lead{font-size:18px;line-height:1.8;color:var(--ink-2);max-width:60ch}
.mut{color:var(--mute)}

/* buttons -------------------------------------------------- */
.btn{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:.02em;
  padding:15px 30px;border:1px solid var(--brand);background:var(--brand);color:#fff;
  display:inline-flex;align-items:center;gap:10px;transition:.18s;cursor:pointer}
.btn:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn.lg{padding:17px 34px;font-size:16px}

/* header --------------------------------------------------- */
header{position:fixed;inset:0 0 auto;z-index:60;background:rgba(255,255,255,.86);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:30px;height:30px}
.brand b{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:.02em}
.brand span{font-family:var(--mono);font-size:10px;letter-spacing:.32em;color:var(--mute)}
.menu{display:flex;gap:38px;font-size:15px;color:var(--ink-2);font-weight:500}
.menu a{position:relative;padding:4px 0;transition:color .18s}
.menu a:hover,.menu a.active{color:var(--ink)}
.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brand)}
.nav-right{display:flex;align-items:center;gap:20px}
.lang{font-family:var(--mono);font-size:12px;color:var(--mute)}
.lang b{color:var(--ink)}
.burger{display:none;width:40px;height:40px;border:1px solid var(--line);background:#fff;
  flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer}
.burger span{width:18px;height:2px;background:var(--ink);transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero ----------------------------------------------------- */
.hero{padding-top:calc(76px + 96px)}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.hero .kicker{margin-bottom:26px}
.hero h1{margin:0}
.hero .sub{margin-top:28px;max-width:42ch}
.hero .actions{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap}
.hero-fig{position:relative;background:var(--soft);border:1px solid var(--line);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-fig img{width:92%;mix-blend-mode:multiply}
.hero-fig .cap{position:absolute;left:24px;bottom:22px;font-family:var(--mono);font-size:11px;
  letter-spacing:.06em;color:var(--mute);line-height:1.7}
.hero-fig .cap b{color:var(--ink)}
.hero-fig .tag{position:absolute;left:24px;top:22px;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink)}

/* signature waveform -------------------------------------- */
.wave{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.wave .wrap{padding:34px 40px}
.wave .hd{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.wave .hd .t{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.wave .hd .t b{color:var(--ink)}
.wave svg{width:100%;height:96px;display:block}
.wave .axis{stroke:var(--line);stroke-width:1}
.wave .ln{fill:none;stroke:var(--brand);stroke-width:2.2}
.wave .lbl{display:flex;justify-content:space-between;margin-top:4px;font-family:var(--mono);
  font-size:11px;color:var(--mute)}
.wave .lbl b{color:var(--ink)}

/* trust strip --------------------------------------------- */
.trust{border-bottom:1px solid var(--line)}
.trust .row{display:grid;grid-template-columns:repeat(4,1fr)}
.trust .ti{padding:36px 34px;border-right:1px solid var(--line)}
.trust .ti:last-child{border-right:0}
.trust .ti .ic{width:30px;height:30px;color:var(--brand);margin-bottom:18px}
.trust .ti .ic svg{width:30px;height:30px}
.trust .ti b{font-family:var(--disp);font-weight:700;font-size:18px;display:block;line-height:1.15}
.trust .ti span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mute);
  margin-top:8px;display:block}

/* section header ------------------------------------------ */
.shead{max-width:var(--maxw);margin:0 auto 64px;padding:0 40px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.shead .kicker{margin-bottom:20px}
.shead h2{margin:0}
.shead .link{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--brand-ink)}
.shead .link:hover{color:var(--ink)}

/* products ------------------------------------------------- */
.prods{max-width:var(--maxw);margin:0 auto;padding:0 40px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.prod{display:block;color:inherit;border:1px solid var(--line);background:#fff;transition:border-color .2s}
.prod:hover{border-color:var(--ink)}
.prod .pic{aspect-ratio:4/3;background:var(--soft);display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-bottom:1px solid var(--line)}
.prod .pic img{width:82%;mix-blend-mode:multiply;transition:transform .5s}
.prod:hover .pic img{transform:scale(1.04)}
.prod .bd{padding:28px 28px 30px}
.prod .series{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--brand-ink)}
.prod h3{font-size:24px;margin-top:12px;letter-spacing:-.01em}
.prod .cn{font-size:14px;color:var(--mute);margin-top:4px}
.prod p{font-size:14px;color:var(--ink-2);margin-top:16px;line-height:1.7}
.prod .row{display:flex;gap:26px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:12px}
.prod .row b{font-size:17px;color:var(--ink);font-family:var(--disp);font-weight:700}
.prod .row span{display:block;color:var(--mute);font-size:10.5px;letter-spacing:.06em;margin-top:4px}

/* capabilities -------------------------------------------- */
.caps{max-width:var(--maxw);margin:0 auto;padding:0 40px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}
.caps .cap{padding:40px 30px;border-right:1px solid var(--line);min-height:230px;display:flex;flex-direction:column}
.caps .cap:last-child{border-right:0}
.caps .cap .no{font-family:var(--mono);font-size:12px;color:var(--brand);letter-spacing:.1em}
.caps .cap h4{font-size:20px;margin-top:auto;font-weight:800}
.caps .cap .en{font-family:var(--disp);font-size:12.5px;color:var(--mute);letter-spacing:.04em;margin-top:6px;text-transform:uppercase}
.caps .cap p{font-size:13.5px;color:var(--ink-2);margin-top:16px;line-height:1.7}

/* stats --------------------------------------------------- */
.stats{max-width:var(--maxw);margin:0 auto;padding:0 40px;
  display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:52px 30px 0;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .n{font-family:var(--disp);font-weight:700;font-size:clamp(40px,4.4vw,58px);line-height:1;letter-spacing:-.02em}
.stat .n .u{font-size:18px;color:var(--mute);font-weight:500;margin-left:5px;letter-spacing:0}
.stat .k{margin-top:16px;font-size:14px;color:var(--ink-2)}

/* applications -------------------------------------------- */
.appwrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.appfig{border:1px solid var(--line);overflow:hidden;margin-bottom:34px}
.appfig img{width:100%;display:block}
.appfig .cap{padding:16px 22px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--mute);
  border-top:1px solid var(--line)}
.applist{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.app{padding-top:26px;border-top:2px solid var(--ink)}
.app .no{font-family:var(--mono);font-size:12px;color:var(--brand);letter-spacing:.1em}
.app h4{font-size:20px;margin-top:14px;font-weight:800}
.app p{font-size:14px;color:var(--ink-2);margin-top:12px;line-height:1.75}

/* partners ------------------------------------------------ */
.pwall{max-width:var(--maxw);margin:0 auto;padding:0 40px;
  display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.pwall{background:var(--bg)}
.pcell{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;padding:30px;background:var(--bg);
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s}
.pcell:hover{background:var(--tint)}
.pcell img{max-height:56px;max-width:80%;width:auto;transition:transform .25s}
.pcell:hover img{transform:scale(1.06)}

/* CTA ----------------------------------------------------- */
.cta{background:var(--ink);color:#fff}
.cta .in{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta h2{font-size:clamp(26px,3vw,40px)}
.cta p{color:#AFB7C6;margin-top:14px;font-size:16px;max-width:48ch}
.cta .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cta .btn.ghost:hover{border-color:#fff}

/* footer -------------------------------------------------- */
footer{background:#fff;border-top:1px solid var(--line);padding:74px 0 34px}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px}
.foot .co{font-family:var(--disp);font-weight:700;font-size:22px}
.foot .desc{font-size:14px;color:var(--mute);max-width:34ch;margin-top:16px;line-height:1.7}
.foot h5{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.foot a,.foot li{font-size:14.5px;color:var(--ink-2);list-style:none;margin-bottom:11px;display:block}
.foot a:hover{color:var(--brand-ink)}
.copy{border-top:1px solid var(--line);margin-top:54px;padding-top:26px;display:flex;justify-content:space-between;
  gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--mute)}
.beian{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:20px;padding-top:20px;
  border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--mute)}
.beian a{display:inline-flex;align-items:center;gap:7px;color:var(--mute)}
.beian a:hover{color:var(--brand-ink)}
.beian img{width:15px;height:auto}

/* reveal -------------------------------------------------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}

/* responsive ---------------------------------------------- */
@media(max-width:1024px){
  :root{--pad:92px}
  .hero .grid{grid-template-columns:1fr;gap:48px}
  .hero-fig{aspect-ratio:16/11}
  .trust .row,.caps,.stats{grid-template-columns:repeat(2,1fr)}
  .trust .ti:nth-child(2n),.caps .cap:nth-child(2n),.stat:nth-child(2n){border-right:0}
  .prods,.applist{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
}
/* collapse nav to burger before the 6 items crowd (tablet) */
@media(max-width:980px){
  .menu{position:fixed;top:76px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);
    flex-direction:column;gap:0;align-items:stretch;border-bottom:1px solid var(--line);padding:8px 0;
    transform:translateY(-10px);opacity:0;pointer-events:none;transition:.25s}
  .menu.open{transform:none;opacity:1;pointer-events:auto}
  .menu a{padding:15px 40px;width:100%}.menu a.active::after{display:none}
  .burger{display:flex}.lang{display:none}
}
@media(max-width:640px){
  :root{--pad:64px}
  .wrap,.shead,.prods,.caps,.stats,.appwrap,.pwall{padding-left:22px;padding-right:22px}
  .menu a{padding:14px 22px}
  .trust .row,.caps,.stats,.pwall,.foot,.applist{grid-template-columns:1fr}
  .trust .ti,.caps .cap,.stat{border-right:0;border-bottom:1px solid var(--line)}
  .stat{padding-top:34px}.stat:last-child{border-bottom:0}
  .pcell{border-right:0}
}
/* ==========================================================
   Inner pages — same v2 language (banner, product detail,
   tables, forms, callout, factsheet, careers …)
   ========================================================== */
.btn.sm{padding:12px 22px;font-size:14px}
.pill{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand-ink);border:1px solid var(--line);padding:6px 13px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-ink);
  display:inline-block}
.hl{color:var(--brand)}

/* block sections + section headers (legacy markup) */
section.block{padding:var(--pad) 0}
section.block.tight{padding:calc(var(--pad)*.72) 0}
.block .wrap{max-width:var(--maxw)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;
  margin-bottom:60px}
.sec-head .eyebrow{margin-bottom:20px;display:block}
.sec-head h2{font-size:clamp(28px,3.4vw,46px);line-height:1.1}
.sec-head .idx{font-family:var(--mono);font-size:13px;color:var(--mute);letter-spacing:.1em;white-space:nowrap}
.sec-head .idx a{color:var(--brand-ink)}

/* inner banner (clean — no blueprint/dawn) */
.banner{padding-top:calc(76px + 84px);padding-bottom:74px;border-bottom:1px solid var(--line);background:var(--soft)}
.banner .crumb{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.05em;margin-bottom:22px}
.banner .crumb a:hover{color:var(--brand-ink)}
.banner .crumb .sep{margin:0 8px;color:var(--line)}
.banner .eyebrow{display:block;margin-bottom:18px}
.banner h1{font-size:clamp(34px,4.6vw,60px);line-height:1.05;letter-spacing:-.02em;margin-top:8px}
.banner .sub{font-size:17px;color:var(--ink-2);max-width:56ch;margin-top:22px;line-height:1.8}

/* case-study metrics (technology page) — collapses on mobile */
.casemx{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-top:0;background:#fff}
@media(max-width:640px){
  .casemx{grid-template-columns:1fr}
  .casemx>div{border-right:0!important}
  .casemx>div:not(:last-child){border-bottom:1px solid var(--line)}
}

/* series overview (products page) */
.snav{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sn{display:block;color:inherit;border:1px solid var(--line);padding:30px 30px 28px;transition:border-color .2s,transform .2s}
.sn:hover{border-color:var(--ink);transform:translateY(-3px)}
.sn .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--brand-ink)}
.sn h4{font-family:var(--disp);font-weight:700;font-size:26px;margin-top:12px;letter-spacing:-.01em}
.sn .cn{font-size:14px;color:var(--ink-2);margin-top:8px}
.sn .sp{font-family:var(--mono);font-size:12px;color:var(--mute);margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.sn .go{font-family:var(--mono);font-size:12px;color:var(--brand-ink);margin-top:16px;display:inline-block}
@media(max-width:1024px){.snav{grid-template-columns:1fr}}

/* product detail */
.pdetail{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pdetail.flip .pmedia{order:2}
.pmedia{position:relative;aspect-ratio:5/4;border:1px solid var(--line);overflow:hidden;background:var(--soft);
  display:flex;align-items:center;justify-content:center}
.pmedia img{width:84%;mix-blend-mode:multiply}
.pmedia.full img{width:100%;mix-blend-mode:normal}
.pmedia .badge{position:absolute;left:18px;top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  color:#fff;background:var(--brand);padding:6px 12px}
.pdetail h3{font-size:clamp(24px,2.6vw,34px);line-height:1.15}
.pdetail .tag{font-family:var(--mono);font-size:12px;color:var(--brand-ink);letter-spacing:.1em;text-transform:uppercase}
.pdetail p{color:var(--ink-2);margin-top:16px;line-height:1.85;font-size:15.5px}
.featlist{list-style:none;margin-top:24px;display:grid;gap:14px}
.featlist li{display:flex;gap:13px;font-size:14.5px;color:var(--ink-2);line-height:1.6}
.featlist li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;background:var(--brand)}
.minispec{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}
.minispec .m b{font-family:var(--disp);font-weight:700;font-size:30px;display:block;line-height:1;letter-spacing:-.01em}
.minispec .m span{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.05em;margin-top:8px;display:block}

/* structure 1-4 */
.structure{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:8px}
.structure .s{padding:26px 22px;border-right:1px solid var(--line)}
.structure .s:last-child{border-right:0}
.structure .s .n{font-family:var(--mono);font-size:12px;color:var(--brand)}
.structure .s h5{font-size:15px;margin-top:12px;font-weight:800}

/* data tables */
.tablewrap{border:1px solid var(--line);overflow-x:auto;background:#fff}
.table-cap{display:flex;justify-content:space-between;align-items:baseline;padding:22px 26px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}
.table-cap .ttl{font-family:var(--disp);font-weight:700;font-size:18px}
.table-cap .meta{font-family:var(--mono);font-size:12px;color:var(--mute)}
table.spec{width:100%;border-collapse:collapse;min-width:760px}
table.spec thead th{font-weight:700;font-size:12.5px;color:var(--ink);text-align:right;padding:15px 20px;
  background:var(--soft);border-bottom:1px solid var(--line);white-space:nowrap}
table.spec thead th:first-child{text-align:left}
table.spec thead th .u{display:block;font-family:var(--mono);font-weight:400;font-size:10px;color:var(--mute);margin-top:3px;text-transform:none}
table.spec tbody td{font-family:var(--mono);font-size:13px;color:var(--ink-2);text-align:right;padding:14px 20px;
  border-bottom:1px solid var(--line-2);white-space:nowrap}
table.spec tbody td:first-child{text-align:left;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink)}
table.spec tbody tr:hover td{background:var(--soft)}
table.spec tbody td.hi{color:var(--brand-ink);font-weight:700}
table.spec tbody tr:last-child td{border-bottom:0}
table.classify{width:100%;border-collapse:collapse;min-width:680px}
table.classify th,table.classify td{text-align:left;padding:17px 20px;border-bottom:1px solid var(--line-2);
  font-size:13.5px;vertical-align:top;line-height:1.65}
table.classify thead th{background:var(--soft);font-weight:700;font-size:13px;border-bottom:1px solid var(--line)}
table.classify tbody td:first-child{font-weight:700;color:var(--brand-ink);white-space:nowrap}
table.classify tbody td:last-child{color:var(--mute)}

/* callout / case */
.callout{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brand);padding:38px;
  display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:center}
.callout .ce{font-family:var(--mono);font-size:12px;color:var(--brand-ink);letter-spacing:.1em;text-transform:uppercase}
.callout h4{font-size:24px;margin-top:14px;line-height:1.3;font-weight:800}
.callout p{color:var(--ink-2);margin-top:14px;line-height:1.85;font-size:14.5px}
.callout .result{text-align:center;border-left:1px solid var(--line);padding-left:34px}
.callout .result .big{font-family:var(--disp);font-weight:700;font-size:56px;color:var(--brand);line-height:1}
.callout .result .lab{font-size:13px;color:var(--mute);margin-top:12px}

/* about: intro/factsheet/leader/org/values */
.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.factsheet{border:1px solid var(--line)}
.factsheet .row{display:flex;justify-content:space-between;padding:17px 22px;border-bottom:1px solid var(--line-2);font-size:14px;gap:16px}
.factsheet .row:last-child{border-bottom:0}
.factsheet .row .k{color:var(--mute)}
.factsheet .row .v{font-family:var(--mono);color:var(--ink);text-align:right}
.leader{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.leader .quote{font-weight:500;font-size:clamp(20px,2.4vw,28px);line-height:1.6}
.leader .quote .hl{color:var(--brand)}
.leader .sign{margin-top:26px;font-family:var(--mono);font-size:13px;color:var(--mute);letter-spacing:.06em}
.orgchart{display:flex;flex-direction:column;align-items:center;text-align:center}
.orgchart .top{font-family:var(--disp);font-weight:700;font-size:18px;color:#fff;background:var(--brand);padding:14px 30px}
.orgchart .stem{width:1px;height:28px;background:var(--line)}
.orgchart .branches{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;width:100%;border-top:1px solid var(--line);padding-top:28px}
.orgchart .dept{border:1px solid var(--line);padding:18px 12px;font-size:14px;font-weight:700}
.orgchart .dept span{display:block;font-family:var(--mono);font-size:10px;color:var(--mute);font-weight:400;margin-top:6px}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.value{text-align:center;padding:34px 20px;border:1px solid var(--line)}
.value .n{font-family:var(--disp);font-weight:700;font-size:30px;color:var(--brand)}
.value h5{font-size:18px;margin-top:12px;font-weight:800}
.value p{font-size:12.5px;color:var(--mute);margin-top:10px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.cinfo{border:1px solid var(--line)}
.cinfo .ci{padding:24px 26px;border-bottom:1px solid var(--line-2)}
.cinfo .ci:last-child{border-bottom:0}
.cinfo .ci .k{font-family:var(--mono);font-size:11px;color:var(--brand-ink);letter-spacing:.12em;text-transform:uppercase}
.cinfo .ci .v{font-size:16px;margin-top:8px}
.cinfo .ci .v.big{font-family:var(--disp);font-weight:700;font-size:22px}
form.inquiry{border:1px solid var(--line);padding:34px}
form.inquiry .fg{margin-bottom:20px}
form.inquiry label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:8px;font-weight:500}
form.inquiry label .req{color:var(--brand)}
form.inquiry input,form.inquiry textarea,form.inquiry select{width:100%;font-family:var(--cjk);font-size:14px;
  color:var(--ink);padding:13px 15px;border:1px solid var(--line);background:var(--soft);transition:.18s}
form.inquiry input:focus,form.inquiry textarea:focus,form.inquiry select:focus{outline:none;border-color:var(--brand);
  background:#fff;box-shadow:0 0 0 3px var(--tint)}
form.inquiry textarea{resize:vertical;min-height:120px}
form.inquiry .two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.formnote{font-size:12px;color:var(--mute);margin-top:14px;line-height:1.6}
.mapbox{margin-top:20px;border:1px solid var(--line);overflow:hidden}
.mapbox iframe{width:100%;height:280px;border:0;display:block}
.mapbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--mute)}
.mapbar a{color:var(--brand-ink);font-weight:600;white-space:nowrap}
.mapbar a:hover{color:var(--ink)}
.maprow{margin-top:20px;border:1px solid var(--line);aspect-ratio:21/6;position:relative;background:var(--soft)}
.maprow .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.maprow .pin .dot{width:14px;height:14px;border-radius:50%;background:var(--brand);margin:0 auto 10px;
  box-shadow:0 0 0 6px var(--tint)}
.maprow .pin .t{font-family:var(--mono);font-size:12px;color:var(--ink);letter-spacing:.05em}

/* careers */
.jobs{display:grid;gap:24px}
.job{border:1px solid var(--line);padding:38px 40px}
.job .hd{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;
  border-bottom:1px solid var(--line-2);padding-bottom:20px;margin-bottom:24px}
.job h3{font-size:24px;font-weight:800}
.job .meta{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.05em;white-space:nowrap}
.job .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.job h5{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:16px}
.job ol{margin:0;padding-left:20px}
.job ol li{font-size:13.5px;color:var(--ink-2);line-height:1.9}
.job .apply{margin-top:26px;font-size:13px;color:var(--mute)}
.job .apply b{color:var(--brand-ink)}

/* dark CTA band (inner pages use .cta-band) */
.cta-band{background:var(--ink);color:#fff}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-band h3{font-size:clamp(26px,3vw,40px);line-height:1.08}
.cta-band p{color:#AFB7C6;margin-top:14px;font-size:16px;max-width:48ch}
.cta-band .btn{padding:17px 34px;font-size:16px}      /* match home CTA (.btn.lg) */
.cta-band .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.cta-band .btn.ghost:hover{border-color:#fff}

@media(max-width:1024px){
  .pdetail,.intro-grid,.leader,.contact-grid{grid-template-columns:1fr;gap:40px}
  .pdetail.flip .pmedia{order:0}
  .structure,.values{grid-template-columns:repeat(2,1fr)}
  .orgchart .branches{grid-template-columns:repeat(2,1fr)}
  .job .cols{grid-template-columns:1fr;gap:24px}
  .callout{grid-template-columns:1fr;gap:26px}
  .callout .result{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:26px}
}
@media(max-width:640px){
  .sec-head{margin-bottom:36px}
  .banner{padding-top:calc(76px + 48px);padding-bottom:48px}
  .structure,.values{grid-template-columns:1fr}
  .orgchart .branches{grid-template-columns:1fr}
  form.inquiry{padding:24px}form.inquiry .two{grid-template-columns:1fr}
  table.spec{min-width:0}
  table.spec thead th,table.spec tbody td{padding:11px 9px;font-size:11.5px}
  table.spec tbody td:first-child{font-size:12px}
}

/* ===================== ARTICLES ===================== */
.banner .article-title{font-family:var(--font-cn);font-weight:900;font-size:clamp(25px,3.4vw,42px);
  line-height:1.22;letter-spacing:-.01em;margin-top:8px;max-width:22ch}
.article-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:22px;
  font-family:var(--mono);font-size:12.5px;color:var(--mute);letter-spacing:.04em}
.article-meta .cat{color:var(--brand-ink);background:var(--tint);border:1px solid #D6DEFF;padding:3px 10px}

.artlist{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.artcard{background:#fff;padding:38px 40px;display:block;color:inherit;transition:background .18s}
.artcard:hover{background:var(--soft)}
.artcard .m{font-family:var(--mono);font-size:12px;color:var(--brand-ink);letter-spacing:.05em}
.artcard .m .n{color:var(--mute)}
.artcard h3{font-family:var(--font-cn);font-weight:900;font-size:clamp(20px,2.4vw,26px);
  line-height:1.35;margin:14px 0 12px;letter-spacing:-.01em;transition:color .18s}
.artcard:hover h3{color:var(--brand-ink)}
.artcard p{font-size:15px;line-height:1.85;color:var(--mute)}
.artcard .more{display:inline-block;margin-top:20px;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--brand-ink)}

.article{max-width:768px}
.article .stand{font-size:18px;line-height:1.85;color:var(--ink-2);font-weight:500;
  padding-bottom:32px;border-bottom:1px solid var(--line)}
.article h2{font-family:var(--font-cn);font-weight:900;font-size:clamp(20px,2.4vw,26px);
  line-height:1.4;letter-spacing:-.01em;margin:52px 0 18px}
.article p{font-size:16px;line-height:1.95;color:var(--ink-2);margin:16px 0}
.article .alist{list-style:none;margin:22px 0;display:grid;gap:16px}
.article .alist li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.9;color:var(--ink-2)}
.article .alist li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--brand)}
.article .alist li b{color:var(--ink);font-weight:700}
.article .summary{margin-top:52px;padding:34px 36px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--brand)}
.article .summary h2{margin-top:0}
.article .summary p:last-child{margin-bottom:0}
.article figure{margin:28px 0;border:1px solid var(--line);background:#fff;overflow:hidden}
.article figure img{width:100%;display:block}
.article figure figcaption{padding:11px 16px;font-family:var(--mono);font-size:12px;color:var(--mute);
  letter-spacing:.03em;border-top:1px solid var(--line)}
.article .figrow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}
.article .figrow figure{margin:0}
/* FAQ (accordion; content stays in DOM for SEO/GEO) */
.faq{max-width:820px}
.faq details{border:1px solid var(--line);background:#fff;margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-family:var(--font-cn);font-weight:700;
  font-size:16.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:22px;color:var(--brand);font-weight:400;line-height:1}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:18px 24px 22px;font-size:15px;line-height:1.95;color:var(--ink-2)}
.faq .a b{color:var(--ink)}
.article-nav{max-width:768px;margin:48px 0 0;padding-top:28px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:640px){
  .artcard{padding:26px 22px}
  .article h2{margin:38px 0 14px}
  .article .summary{padding:26px 22px}
  .article .stand{font-size:16.5px}
  .article .figrow{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
