:root{
  --ivory:#F8F2E8; --paper:#FFFAF1; --paper2:#F2EADC;
  --ink:#1E2A30; --navy:#111D24; --deepnavy:#233746;
  --maroon:#A51B18; --green:#1F4A3A;
  --muted:#6A7178; --line:#DCD2C3; --line2:#E7DECF;
  --serif:"Lora","Noto Serif SC",Georgia,serif;
  --sans:"Lato","Noto Sans SC",-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

/* language switch */
.lang-en .zh{display:none;}
.lang-zh .en{display:none;}
.lang-zh h1,.lang-zh h2,.lang-zh h3,.lang-zh .serif{letter-spacing:.01em;}

.wrap{width:min(var(--wrap),calc(100% - 48px));margin:0 auto;}
.serif{font-family:var(--serif);}
.kick{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--maroon);}
.lang-zh .kick{letter-spacing:.14em;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;}
.inlink,.cardlink,.more{font-family:var(--sans);font-weight:700;color:var(--maroon);}
.inlink{border-bottom:1.5px solid var(--maroon);padding-bottom:1px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.02em;padding:13px 22px;border:1.5px solid var(--navy);transition:.18s ease;cursor:pointer;}
.btn.primary{background:var(--maroon);border-color:var(--maroon);color:#fff;}
.btn.primary:hover{background:#8c1714;border-color:#8c1714;}
.btn.ghost{background:transparent;color:var(--navy);}
.btn.ghost:hover{background:var(--navy);color:var(--ivory);}

.mark{width:34px;height:34px;flex:0 0 auto;}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(248,242,232,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;gap:22px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.brand .wm{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--navy);letter-spacing:.04em;line-height:1;white-space:nowrap;}
.brand .wm small{display:block;font-family:var(--sans);font-weight:700;font-size:9.5px;letter-spacing:.22em;color:var(--maroon);margin-top:3px;text-transform:uppercase;}
.navlinks{display:flex;gap:26px;margin-left:auto;}
.navlinks a{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--deepnavy);text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent;transition:.15s;white-space:nowrap;}
.lang-zh .navlinks a{letter-spacing:.04em;font-size:13.5px;}
.navlinks a:hover{border-color:var(--maroon);color:var(--navy);}
.navlinks a[aria-current=page]{border-color:var(--maroon);color:var(--navy);}
.toggle{display:flex;flex:0 0 auto;width:max-content;align-self:center;border:1.5px solid var(--navy);border-radius:999px;overflow:hidden;}
.toggle button{font-family:var(--sans);font-weight:700;font-size:12.5px;letter-spacing:.04em;padding:6px 13px;background:transparent;border:0;color:var(--navy);cursor:pointer;line-height:1.4;}
.toggle button.on{background:var(--navy);color:var(--ivory);}

/* HERO (home) */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
.hero .gridwm{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:520px;height:520px;opacity:.05;pointer-events:none;}
.hero .inner{position:relative;padding:96px 0 84px;max-width:780px;}
.hero .kick{margin-bottom:22px;}
.hero h1{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:clamp(40px,6.4vw,72px);line-height:1.06;letter-spacing:.5px;margin:0 0 26px;}
.lang-zh .hero h1{font-size:clamp(34px,5.6vw,62px);line-height:1.18;letter-spacing:2px;}
.hero .lead{font-family:var(--serif);font-size:clamp(18px,2.1vw,22px);line-height:1.6;color:var(--deepnavy);max-width:620px;margin:0 0 34px;}
.lang-zh .hero .lead{font-family:var(--sans);font-weight:300;line-height:1.85;}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.hero .facts{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;}
.hero .facts span{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-right:18px;margin-right:18px;border-right:1px solid var(--line);}
.lang-zh .hero .facts span{letter-spacing:.06em;}
.hero .facts span:last-child{border-right:0;}

/* PAGE HERO (inner) */
.phero{position:relative;padding:60px 0 52px;border-bottom:1px solid var(--line);background:var(--ivory);}
.accent-navy{--acc:var(--navy);} .accent-maroon{--acc:var(--maroon);} .accent-green{--acc:var(--green);} .accent-deepnavy{--acc:var(--deepnavy);}
.phero::before{content:"";position:absolute;top:0;left:0;height:4px;width:120px;background:var(--acc,#A51B18);}
.crumbs{font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;}
.crumbs a{color:var(--muted);} .crumbs a:hover{color:var(--maroon);} .crumbs span{margin:0 8px;color:var(--line);}
.phero .kick{color:var(--acc,var(--maroon));margin-bottom:14px;}
.phero h1{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:clamp(30px,4.4vw,50px);line-height:1.12;letter-spacing:.4px;margin:0 0 20px;max-width:18ch;}
.lang-zh .phero h1{line-height:1.28;letter-spacing:1.5px;}
.phero .lead{font-family:var(--serif);font-size:clamp(17px,2vw,21px);line-height:1.62;color:var(--deepnavy);max-width:640px;margin:0;}
.lang-zh .phero .lead{font-family:var(--sans);font-weight:300;line-height:1.85;}

/* generic section */
.pad{padding:84px 0;}
.band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
section .head{max-width:720px;margin-bottom:42px;}
section .head h2{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.16;color:var(--navy);margin:14px 0 14px;letter-spacing:.4px;}
.lang-zh section .head h2{line-height:1.3;letter-spacing:1.5px;}
section .head p{font-size:17px;color:var(--muted);line-height:1.75;margin:0;}
.lang-zh section .head p{font-weight:300;}
.note{font-size:14.5px;color:var(--muted);line-height:1.7;margin:24px 0 0;max-width:760px;}
.lang-zh .note{font-weight:300;}
.editnote{font-family:var(--sans);font-size:12.5px;letter-spacing:.04em;color:var(--muted);border:1px dashed var(--line);background:var(--paper);padding:10px 14px;margin:0 0 26px;display:inline-block;}

/* split label/content */
.split{display:grid;grid-template-columns:0.85fr 1.4fr;gap:48px;align-items:start;}
.split .col-l h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.18;color:var(--navy);margin:12px 0 0;}
.lang-zh .split .col-l h2{line-height:1.32;letter-spacing:1px;}
.split .col-r p{font-size:17px;line-height:1.85;color:var(--ink);margin:0 0 16px;}
.lang-zh .split .col-r p{font-weight:300;}
.split .col-r p:last-child{margin-bottom:0;}
.split .col-r .lede{font-family:var(--serif);font-size:21px;line-height:1.55;color:var(--navy);}
.lang-zh .split .col-r .lede{font-family:var(--sans);font-weight:400;}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chips span{font-family:var(--sans);font-weight:400;font-size:13px;line-height:1.4;color:var(--deepnavy);border:1px solid var(--line);padding:7px 12px;background:var(--paper);}

/* ETHOS (home) */
.ethos{background:var(--navy);color:var(--ivory);}
.ethos .inner{padding:78px 0;display:grid;grid-template-columns:1fr 1.25fr;gap:54px;align-items:start;}
.ethos .kick{color:#E5A6A0;}
.ethos h2{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.4vw,38px);line-height:1.25;color:#fff;margin:14px 0 0;}
.lang-zh .ethos h2{line-height:1.4;}
.ethos p{font-size:17px;line-height:1.85;color:#D9D1C5;margin:0 0 16px;}
.lang-zh .ethos p{font-weight:300;}
.ethos p:last-child{margin-bottom:0;}
.ethos .lede{font-family:var(--serif);font-size:21px;line-height:1.6;color:#fff;}
.lang-zh .ethos .lede{font-family:var(--sans);font-weight:400;}
.ethos .inlink{color:#E5A6A0;border-color:#E5A6A0;}

/* domains */
.domains{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.domains .d{background:var(--paper);padding:26px 24px;}
.domains .d .n{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--maroon);}
.domains .d h3{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--navy);margin:10px 0 0;line-height:1.35;}

/* FACULTIES grid (home) */
.faculties{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.fcard{background:var(--ivory);border:1px solid var(--line);padding:30px 30px 28px;display:flex;flex-direction:column;color:inherit;transition:.18s ease;}
a.fcard:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 10px 30px rgba(17,29,36,.07);}
.fcard .top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.fcard .num{width:36px;height:36px;flex:0 0 auto;background:var(--navy);color:var(--ivory);font-family:var(--serif);font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;}
.fgrid .fcard:nth-child(2) .num{background:var(--maroon);}
.fgrid .fcard:nth-child(3) .num{background:var(--green);}
.fgrid .fcard:nth-child(4) .num{background:var(--deepnavy);}
.fgrid .fcard:nth-child(5) .num{background:var(--maroon);}
.fcard h3{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.3;color:var(--navy);margin:0;}
.lang-zh .fcard h3{letter-spacing:.5px;}
.fcard .desc{font-size:15px;color:var(--muted);line-height:1.65;margin:0 0 18px;}
.lang-zh .fcard .desc{font-weight:300;}
.fcard .pl{font-family:var(--sans);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);margin:0 0 12px;}
.lang-zh .fcard .pl{letter-spacing:.08em;}
.fcard .cardlink{margin-top:18px;font-size:12.5px;letter-spacing:.04em;}
.fcard.flat{background:var(--navy);border-color:var(--navy);align-items:center;justify-content:center;text-align:center;}

/* LADDER */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);}
.ladder .step{padding:34px 30px;border-right:1px solid var(--line);background:var(--paper);}
.ladder .step:last-child{border-right:0;}
.ladder .lvl{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--maroon);display:inline-block;padding:4px 10px;margin-bottom:16px;}
.ladder .step:nth-child(2) .lvl{background:var(--deepnavy);}
.ladder .step:nth-child(3) .lvl{background:var(--navy);}
.ladder h3{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--navy);margin:0 0 4px;}
.ladder .cr{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.05em;color:var(--maroon);text-transform:uppercase;margin-bottom:12px;}
.ladder p{font-size:15px;color:var(--muted);line-height:1.65;margin:0;}
.lang-zh .ladder p{font-weight:300;}

/* PROGRAMMES list (faculty page) */
.prog{border:1px solid var(--line);margin-top:6px;}
.prog-row{display:flex;gap:22px;padding:22px 26px;border-bottom:1px solid var(--line);background:var(--paper);align-items:flex-start;}
.prog-row:last-child{border-bottom:0;}
.prog .lvl{flex:0 0 auto;font-family:var(--sans);font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:5px 9px;margin-top:3px;}
.prog .lvl.l7{background:var(--maroon);} .prog .lvl.l7r{background:var(--deepnavy);} .prog .lvl.l8{background:var(--navy);}
.prog .pk{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--maroon);margin-bottom:6px;}
.lang-zh .prog .pk{letter-spacing:.06em;}
.prog .pv{font-family:var(--serif);font-size:16.5px;line-height:1.55;color:var(--navy);}
.lang-zh .prog .pv{font-family:var(--sans);font-weight:400;}

/* faculty cross-nav */
.facnav{display:flex;flex-wrap:wrap;gap:10px;}
.facnav a{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--paper);padding:11px 15px;font-family:var(--serif);font-weight:600;font-size:14px;color:var(--navy);transition:.15s;}
.facnav a:hover{border-color:var(--navy);}
.facnav a .fn{width:22px;height:22px;flex:0 0 auto;background:var(--navy);color:var(--ivory);font-size:12px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.facnav a.on{background:var(--navy);color:#fff;}
.facnav a.on .fn{background:var(--maroon);}

.phero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}

/* ABOUT — trio & principles */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.trio .t{border-top:3px solid var(--maroon);padding:22px 4px 0;}
.trio .t:nth-child(2){border-color:var(--deepnavy);}
.trio .t:nth-child(3){border-color:var(--green);}
.trio .t h3{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--navy);margin:0 0 10px;}
.trio .t p{font-size:15px;color:var(--muted);line-height:1.7;margin:0;}
.lang-zh .trio .t p{font-weight:300;}
.principles{border-top:1px solid var(--line);}
.principle{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.principle .pn{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--maroon);flex:0 0 auto;width:40px;}
.principle h3{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--navy);margin:0 0 8px;}
.principle p{font-size:16px;color:var(--muted);line-height:1.75;margin:0;max-width:760px;}
.lang-zh .principle p{font-weight:300;}

/* QUOTE band */
.quote{background:var(--deepnavy);color:#fff;}
.quote .inner{padding:88px 0;max-width:920px;}
.quote .qm{font-family:var(--serif);font-size:70px;line-height:.4;color:var(--maroon);}
.quote blockquote{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3vw,33px);line-height:1.42;margin:18px 0 22px;color:#fff;}
.lang-zh .quote blockquote{line-height:1.6;letter-spacing:1px;}
.quote cite{font-family:var(--sans);font-style:normal;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#C9BBA8;}
.lang-zh .quote cite{letter-spacing:.08em;}

/* NEWS */
.news-list{display:grid;grid-template-columns:1fr;gap:18px;}
.post{border:1px solid var(--line);background:var(--paper);padding:28px 32px;}
.post .pmeta{display:flex;align-items:center;gap:16px;margin-bottom:12px;}
.post .ptag{font-family:var(--sans);font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--maroon);padding:4px 10px;}
.lang-zh .post .ptag{letter-spacing:.06em;}
.post time{font-family:var(--sans);font-weight:700;font-size:12.5px;letter-spacing:.05em;color:var(--muted);}
.post h3{font-family:var(--serif);font-weight:700;font-size:23px;line-height:1.3;color:var(--navy);margin:0 0 10px;}
.post p{font-size:16px;color:var(--muted);line-height:1.7;margin:0 0 14px;max-width:820px;}
.lang-zh .post p{font-weight:300;}

/* CONTACT */
.contact .inner{padding:88px 0;}
.contact .two{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:38px;}
.ccard{border:1px solid var(--line);background:var(--paper);padding:32px;}
.ccard .pl{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);}
.lang-zh .ccard .pl{letter-spacing:.08em;}
.ccard h3{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--navy);margin:12px 0 8px;}
.ccard p{font-size:15px;color:var(--muted);line-height:1.7;margin:0 0 18px;}
.lang-zh .ccard p{font-weight:300;}
.ccard a.mail{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--maroon);border-bottom:1.5px solid var(--maroon);padding-bottom:1px;word-break:break-all;}

/* FOOTER */
footer{background:var(--navy);color:#C7CDce;}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:64px 0 30px;}
.foot .wm{font-family:var(--serif);font-weight:700;font-size:20px;color:#fff;letter-spacing:.04em;margin:16px 0 12px;}
.foot p{font-size:14px;line-height:1.8;color:#9AA1A8;margin:0;max-width:320px;}
.lang-zh .foot p{font-weight:300;}
.foot h4{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#E5A6A0;margin:0 0 16px;}
.foot ul{list-style:none;padding:0;margin:0;}
.foot ul li{margin-bottom:11px;}
.foot ul a{font-size:14px;color:#C7CDce;}
.foot ul a:hover{color:#fff;}
.footbar{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.footbar span{font-size:12px;letter-spacing:.05em;color:#7E858C;}

/* reveal */
.js .reveal{opacity:0;transform:translateY(16px);}
.js .reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease;}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;}}

/* responsive */
@media (max-width:900px){
  .ethos .inner{grid-template-columns:1fr;gap:26px;}
  .domains{grid-template-columns:repeat(2,1fr);}
  .fgrid{grid-template-columns:1fr;}
  .ladder{grid-template-columns:1fr;}
  .ladder .step{border-right:0;border-bottom:1px solid var(--line);}
  .ladder .step:last-child{border-bottom:0;}
  .split{grid-template-columns:1fr;gap:18px;}
  .trio{grid-template-columns:1fr;}
  .contact .two,.foot{grid-template-columns:1fr;}
  .foot{gap:30px;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .navlinks{display:none;}
  .hero .inner{padding:64px 0 56px;}
  .domains{grid-template-columns:1fr;}
  .prog-row{flex-direction:column;gap:10px;}
}

/* ===== interfaculty diagram ===== */
.diagram-sec .dhead{max-width:660px;margin:0 auto 14px;text-align:center;}
.diagram-sec .dhead .kick{display:block;}
.diagram-sec .dhead h2{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.16;color:var(--navy);margin:14px 0 12px;letter-spacing:.4px;}
.lang-zh .diagram-sec .dhead h2{line-height:1.3;letter-spacing:1.5px;}
.diagram-sec .dhead p{font-size:16px;color:var(--muted);line-height:1.7;margin:0;}
.lang-zh .diagram-sec .dhead p{font-weight:300;}
.diagramwrap{max-width:720px;margin:26px auto 0;}
svg.diagram{width:100%;height:auto;display:block;overflow:visible;}
.diagram .edge{stroke:#9AA6AE;stroke-width:1.5;opacity:.4;transition:opacity .25s ease,stroke .25s ease,stroke-width .25s ease;}
.diagram .edge.perim{stroke-dasharray:2 6;}
.diagram.dim .edge{opacity:.12;}
.diagram .edge.lit{opacity:1;stroke:var(--maroon);stroke-width:2.4;stroke-dasharray:none;}
.diagram .hub circle{fill:var(--navy);}
.diagram .hub text{text-anchor:middle;fill:#fff;font-family:var(--serif);}
.diagram .hub .hl1{font-weight:700;font-size:16px;}
.diagram .hub .hl2{font-family:var(--sans);font-weight:700;font-size:12.5px;letter-spacing:.06em;fill:#E5D9C7;}
.lang-zh .diagram .hub .hl2{letter-spacing:.04em;}
.diagram .fnode{cursor:pointer;transition:opacity .25s ease;}
.diagram .fnode:focus{outline:none;}
.diagram .fnode:focus-visible .ncirc{stroke:var(--maroon);stroke-width:3;}
.diagram.dim .fnode:not(.active){opacity:.3;}
.diagram .ncirc{fill:var(--navy);transition:transform .2s ease;transform-box:fill-box;transform-origin:center;}
.diagram .fnode[data-i="2"] .ncirc{fill:var(--maroon);}
.diagram .fnode[data-i="3"] .ncirc{fill:var(--green);}
.diagram .fnode[data-i="4"] .ncirc{fill:var(--deepnavy);}
.diagram .fnode[data-i="5"] .ncirc{fill:var(--maroon);}
.diagram .fnode.active .ncirc{transform:scale(1.14);}
.diagram .nnum{fill:#fff;font-family:var(--serif);font-weight:700;font-size:22px;text-anchor:middle;dominant-baseline:central;}
.diagram .nlabel{fill:var(--navy);font-family:var(--serif);font-weight:600;font-size:17.5px;transition:fill .2s ease;}
.lang-zh .diagram .nlabel{font-size:17px;}
.diagram .fnode.active .nlabel{fill:var(--maroon);}
@media (max-width:680px){
  .diagram .nlabel{font-size:21px;}
  .diagram .nnum{font-size:25px;}
  .diagram .hub .hl1{font-size:19px;} .diagram .hub .hl2{font-size:14px;}
}
/* diagram stage + live info panel */
.diagram-stage{display:grid;grid-template-columns:1.55fr 1fr;gap:34px;align-items:center;margin-top:26px;}
.diagram-stage .diagramwrap{max-width:none;margin:0;}
.dx-panel{border:1px solid var(--line);border-left:4px solid var(--maroon);background:var(--paper);padding:30px 30px 32px;min-height:236px;display:flex;flex-direction:column;justify-content:center;transition:border-color .25s ease;}
.dx-eyebrow{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);margin-bottom:12px;}
.lang-zh .dx-eyebrow{letter-spacing:.08em;}
.dx-name{font-family:var(--serif);font-weight:700;font-size:23px;line-height:1.28;color:var(--navy);margin:0 0 12px;}
.lang-zh .dx-name{letter-spacing:.5px;}
.dx-desc{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 22px;}
.lang-zh .dx-desc{font-weight:300;}
.dx-enter{align-self:flex-start;}
@media (max-width:900px){
  .diagram-stage{grid-template-columns:1fr;gap:12px;}
  .dx-panel{min-height:0;}
}
