/* Immortal Technology - site styles */
@font-face{
  font-family:"Archivo";
  font-style:normal;
  font-display:swap;
  font-weight:100 900;
  font-stretch:62% 125%;
  src:url("../fonts/archivo-latin.woff2") format("woff2");
}

:root{
  --black:#090a0b;
  --graphite:#24272a;
  --iron:#383c40;
  --steel:#788087;
  --ash:#5b6168;
  --mist:#d9dce0;
  --clinical:#f5f6f5;
  --white:#ffffff;
  --wrap:1200px;
  --gutter:clamp(16px,4vw,48px);
  --head:68px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:"Archivo",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-variation-settings:"wdth" 100;
  font-size:17px;line-height:1.6;
  color:var(--black);background:var(--white);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.tnum{font-variant-numeric:tabular-nums}
.skip{position:absolute;left:-9999px;top:0;z-index:50;background:var(--white);color:var(--black);padding:10px 16px}
.skip:focus{left:16px;top:12px}

/* Header */
.site-head{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--black);color:var(--white);border-bottom:1px solid var(--iron)}
.head-row{display:flex;align-items:center;justify-content:space-between;height:var(--head);gap:24px}
.mark{font-variation-settings:"wdth" 125;font-weight:700;font-size:19px;letter-spacing:.32em;text-decoration:none;white-space:nowrap}
.nav{display:flex;align-items:center;gap:28px;list-style:none}
.nav a{text-decoration:none;font-size:15px;color:var(--mist)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--white)}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.nav .btn{color:var(--black);text-decoration:none}
.menu-btn{display:none;background:none;border:1px solid var(--iron);color:var(--white);font:inherit;font-size:14px;padding:8px 14px;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:0}

.btn{display:inline-block;font:inherit;font-size:15px;font-weight:600;text-decoration:none;padding:13px 24px;border:1px solid transparent;cursor:pointer}
.btn-light{background:var(--white);color:var(--black)}
.btn-light:hover{background:var(--mist)}
.btn-line{border-color:var(--steel);color:var(--white)}
.btn-line:hover{border-color:var(--white)}
.link{font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.link:hover{text-decoration-thickness:2px}

/* Home hero */
.hero{position:relative;overflow:hidden;background:var(--black);color:var(--white);padding:clamp(72px,11vw,140px) 0 0}
.rings{position:absolute;right:-14vw;top:-6vw;width:min(78vw,900px);height:auto;pointer-events:none}
.hero-copy{position:relative;max-width:720px}
.hero h1{font-weight:500;font-size:clamp(38px,5.4vw,64px);line-height:1.06;letter-spacing:-.02em}
.hero .lede{margin-top:24px;font-size:clamp(17px,1.5vw,19px);color:var(--mist);max-width:60ch}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.ticker{position:relative;margin-top:clamp(72px,10vw,128px);padding:28px 0 clamp(40px,6vw,64px);border-top:1px solid var(--iron)}
.ticker-label{font-size:15px;color:var(--steel)}
.ticker-value{font-variation-settings:"wdth" 125;font-weight:300;font-size:clamp(40px,10.5vw,148px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:12px;white-space:nowrap}

/* Inner page head */
.page-head{position:relative;overflow:hidden;background:var(--black);color:var(--white);padding:clamp(40px,6vw,72px) 0 clamp(48px,6vw,80px)}
.page-head .rings{right:-30vw;top:-24vw;width:min(90vw,820px);opacity:.8}
.crumbs{position:relative;display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:14px;color:var(--steel)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--iron)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--white)}
.page-head h1{position:relative;margin-top:28px;font-variation-settings:"wdth" 112;font-weight:600;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.02em;max-width:18ch}
.page-head .lede{position:relative;margin-top:20px;font-size:clamp(17px,1.5vw,19px);color:var(--mist);max-width:62ch}

/* Sections */
section{scroll-margin-top:var(--head)}
[id]{scroll-margin-top:calc(var(--head) + 16px)}
.band{padding:clamp(64px,8vw,112px) 0}
.band-tight{padding:clamp(48px,6vw,80px) 0}
.band-clinical{background:var(--clinical)}
.band-graphite{background:var(--graphite);color:var(--white)}
.h2{font-variation-settings:"wdth" 112;font-weight:600;font-size:clamp(30px,3.6vw,46px);line-height:1.1;letter-spacing:-.015em;max-width:22ch}
.h3{font-weight:600;font-size:20px;line-height:1.3}
.sub{margin-top:18px;max-width:62ch;color:var(--ash)}
.band-graphite .sub,.band-graphite .muted{color:var(--mist)}
.muted{color:var(--ash)}
.prose p{max-width:66ch;color:var(--ash)}
.prose p+p{margin-top:16px}
.band-graphite .prose p{color:var(--mist)}
.lead{font-size:clamp(22px,2.4vw,30px);line-height:1.35;letter-spacing:-.01em;max-width:38ch}
.after{margin-top:32px}
.small{font-size:14px;color:var(--ash)}
.band-graphite .small{color:var(--steel)}

/* Split layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.split--wide-img{grid-template-columns:1.25fr 1fr}
.split--top{align-items:start}

/* Entry rows */
.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:48px}
.entry{border-top:1px solid var(--black);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.entry p{color:var(--ash);flex:1}
.band-graphite .entry{border-top-color:var(--iron)}
.band-graphite .entry p{color:var(--mist)}

/* Facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px);margin-top:48px;border-top:1px solid var(--black);padding-top:28px}
.facts dt{font-variation-settings:"wdth" 125;font-weight:600;font-size:clamp(28px,3vw,40px);line-height:1.1}
.facts dd{margin-top:10px;color:var(--ash);font-size:16px;max-width:30ch}
.band-graphite .facts{border-top-color:var(--iron)}
.band-graphite .facts dd{color:var(--mist)}

/* Research index */
.pipe{width:100%;border-collapse:collapse;margin-top:40px;font-size:16px}
.pipe th{text-align:left;font-weight:500;font-size:14px;color:var(--ash);padding:0 16px 14px 0;border-bottom:1px solid var(--black)}
.pipe td{padding:22px 16px 22px 0;border-bottom:1px solid var(--mist);vertical-align:middle}
.pipe .code{font-variation-settings:"wdth" 125;font-weight:600;white-space:nowrap}
.pipe .area{font-weight:500}
.pipe .area a{text-decoration:none}
.pipe .area a:hover{text-decoration:underline;text-underline-offset:5px}
.pipe .focus{color:var(--ash);max-width:46ch}
.stage{display:flex;align-items:center;gap:14px}
.bars{display:grid;grid-template-columns:repeat(3,36px);gap:3px}
.bars i{height:8px;background:var(--mist)}
.bars i.on{background:var(--black)}
.stage span{font-size:15px;white-space:nowrap}
.legend{margin-top:20px;font-size:14px;color:var(--ash)}

/* Detail rows (platforms, areas, services) */
.rows{margin-top:40px;border-top:1px solid var(--black)}
.row{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:12px 48px;padding:28px 0;border-bottom:1px solid var(--mist)}
.row h3{font-weight:600;font-size:20px;line-height:1.3}
.row p{color:var(--ash);max-width:62ch}
.row p+p{margin-top:12px}
.band-graphite .rows{border-top-color:var(--iron)}
.band-graphite .row{border-bottom-color:var(--iron)}
.band-graphite .row p{color:var(--mist)}

/* Simple list */
.list{list-style:none;margin-top:32px;border-top:1px solid var(--iron)}
.list li{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--iron)}
.list b{font-weight:500}
.list span{color:var(--mist);font-size:15px;text-align:right}
.list--light{border-top-color:var(--black)}
.list--light li{border-bottom-color:var(--mist)}
.list--light span{color:var(--ash)}

/* Seasonal access */
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin-top:20px}
.months div{height:44px;background:var(--clinical);color:var(--black);font-size:12px;display:flex;align-items:flex-end;padding:6px}
.months div.shut{background:repeating-linear-gradient(135deg,var(--iron) 0 6px,var(--graphite) 6px 12px);color:var(--mist);outline:1px solid var(--iron);outline-offset:-1px}
.band:not(.band-graphite) .months div{background:var(--mist)}
.band:not(.band-graphite) .months div.shut{background:repeating-linear-gradient(135deg,var(--graphite) 0 6px,var(--black) 6px 12px)}

/* Steps */
.steps{list-style:none;counter-reset:s;margin-top:32px}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:22px 0;border-top:1px solid var(--iron)}
.steps li::before{content:counter(s);grid-row:span 2;font-variation-settings:"wdth" 125;font-weight:300;font-size:30px;line-height:1;color:var(--steel)}
.steps b{font-weight:600}
.steps p{color:var(--mist);font-size:15px}

/* Timeline */
.timeline{list-style:none;margin-top:40px}
.timeline li{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--mist)}
.timeline li:last-child{border-bottom:1px solid var(--mist)}
.timeline time{font-variation-settings:"wdth" 125;font-weight:300;font-size:clamp(32px,3.6vw,48px);line-height:1}
.timeline b{display:block;font-weight:600;font-size:18px}
.timeline p{color:var(--ash);margin-top:6px;max-width:60ch}
.aside{background:var(--clinical);padding:28px}
.aside h3{font-weight:600;font-size:16px}
.aside ol{list-style:none;margin-top:16px}
.aside li{padding:14px 0;border-top:1px solid var(--mist)}
.aside time{display:block;font-variation-settings:"wdth" 125;font-weight:600;font-size:15px}
.aside p{font-size:15px;color:var(--ash);margin-top:2px}

/* Governance */
.bodies{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,4vw,56px);margin-top:40px}
.bodies div{padding:24px 0;border-top:1px solid var(--black)}
.bodies h3{font-weight:600;font-size:18px}
.bodies p{color:var(--ash);margin-top:6px;font-size:16px}

/* News */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-top:48px}
.news article{border-top:1px solid var(--black);padding-top:20px;display:flex;flex-direction:column}
.kicker{font-size:14px;color:var(--ash)}
.news h3{font-size:20px;font-weight:600;line-height:1.3;margin-top:10px}
.news h3 a{text-decoration:none}
.news h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.news p{color:var(--ash);font-size:15px;margin-top:10px}
.article{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:12px 48px;padding:40px 0;border-top:1px solid var(--black)}
.article:last-of-type{border-bottom:1px solid var(--black)}
.article h2{font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.25;margin-top:6px}
.filters{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:32px}
.filters a{display:inline-block;font-size:14px;text-decoration:none;padding:6px 12px;border:1px solid var(--mist)}
.filters a:hover{border-color:var(--black)}

/* Next-step strip */
.next{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:56px}
.next a{display:block;text-decoration:none;border-top:1px solid var(--black);padding-top:20px}
.next b{display:block;font-size:20px;font-weight:600}
.next span{display:block;color:var(--ash);margin-top:6px}
.next a:hover b{text-decoration:underline;text-underline-offset:5px}

/* Notice */
.notice{border-left:3px solid var(--black);background:var(--clinical);padding:24px 28px;max-width:820px}
.notice h3{font-weight:600;font-size:17px}
.notice p{color:var(--ash);margin-top:8px}
.band-clinical .notice{background:var(--white)}

/* Image slots: architectural placeholders until photography is supplied */
.shot-fig{margin:0}
.shot-fig figcaption{margin-top:10px;font-size:13px;color:var(--ash)}
.band-graphite .shot-fig figcaption{color:var(--steel)}
.shot{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--graphite)}
.shot--wide{aspect-ratio:16/9}
.shot--tall{aspect-ratio:4/5}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.07) 48%,transparent 62%);pointer-events:none}
.shot--tower{background:
  linear-gradient(180deg,transparent 0 76%,#060707 76% 78%,transparent 78%),
  linear-gradient(90deg,rgba(217,220,224,.10) 0 1px,transparent 1px) 0 0/46px 76%,
  linear-gradient(90deg,transparent 0 30%,rgba(217,220,224,.18) 30% 30.4%,transparent 30.4% 69.6%,rgba(217,220,224,.18) 69.6% 70%,transparent 70%),
  linear-gradient(180deg,#30353a 0%,#15181a 60%,#0b0c0d 76%,#1a1c1e 78%,#101213 100%)}
.shot--facade{background:
  repeating-linear-gradient(180deg,transparent 0 58px,rgba(217,220,224,.08) 58px 60px),
  repeating-linear-gradient(90deg,#0c0e0f 0 9px,#3a3f44 9px 11px,#14171a 11px 40px),
  #14171a}
.shot--atrium{background:
  linear-gradient(90deg,#121416 0 34%,#d9dce0 34% 35%,#2a2e32 35% 64%,#d9dce0 64% 64.6%,#121416 64.6%),
  #121416}
.shot--atrium::before{content:"";position:absolute;left:35%;right:35.4%;top:0;bottom:0;background:linear-gradient(180deg,rgba(245,246,245,.35),rgba(245,246,245,0) 70%)}
.shot--lab{background:
  repeating-linear-gradient(90deg,transparent 0 118px,rgba(120,128,135,.35) 118px 120px),
  linear-gradient(180deg,#f5f6f5 0 54%,#9aa1a7 54% 55%,#d9dce0 55% 60%,#c3c8cd 60% 100%)}
.shot--lab::before{content:"";position:absolute;left:12%;right:12%;top:30%;height:24%;background:repeating-linear-gradient(90deg,#d9dce0 0 18px,#eef0f1 18px 22px);opacity:.8}
.shot--detail{background:
  radial-gradient(circle,#9aa1a7 0 5px,#3a3f44 5px 6px,transparent 6.5px) 0 0/24px 24px,
  linear-gradient(180deg,#1b1e20,#0e1011)}
.shot--campus{background:
  repeating-linear-gradient(180deg,transparent 0 30px,rgba(9,10,11,.07) 30px 31px),
  linear-gradient(90deg,#e3e5e7 0 36%,#1c1f22 36% 72%,#e3e5e7 72%)}
.shot--campus::before{content:"";position:absolute;left:30%;right:22%;bottom:22%;height:5%;background:#5b6168}
.shot--corridor{background:
  repeating-linear-gradient(90deg,transparent 0 78px,rgba(120,128,135,.4) 78px 80px),
  linear-gradient(180deg,#f5f6f5 0 64%,#c9ced2 64%)}
.shot--corridor::before{content:"";position:absolute;left:42%;right:42%;top:24%;bottom:30%;background:linear-gradient(180deg,#9aa1a7,#d9dce0)}

/* Footer */
.site-foot{background:var(--black);color:var(--mist);padding:64px 0 40px;font-size:15px}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px}
.site-foot .mark{color:var(--white);display:inline-block;margin-bottom:16px}
.site-foot h2{color:var(--white);font-weight:500;font-size:15px;margin-bottom:14px}
.site-foot ul{list-style:none;display:grid;gap:8px}
.site-foot a{text-decoration:none}
.site-foot a:hover{color:var(--white)}
.fine{margin-top:56px;padding-top:24px;border-top:1px solid var(--iron);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:13px;color:var(--steel)}

@media (max-width:960px){
  .split,.split--wide-img{grid-template-columns:1fr}
  .news,.entries{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid > div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  .facts{grid-template-columns:1fr}
  .timeline li,.row,.article{grid-template-columns:1fr}
  .bodies,.next{grid-template-columns:1fr}
  .pipe thead{display:none}
  .pipe,.pipe tbody,.pipe tr,.pipe td{display:block;width:100%}
  .pipe tr{padding:20px 0;border-bottom:1px solid var(--mist)}
  .pipe td{border:0;padding:4px 0}
  .pipe .stage{margin-top:8px}
  .list li{flex-direction:column;gap:2px}
  .list span{text-align:left}
  .months div{font-size:0;height:32px}
}
@media (max-width:360px){
  .mark{font-size:16px;letter-spacing:.26em}
}

/* Contact */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.email-lead{font-variation-settings:"wdth" 108;font-weight:500;font-size:clamp(22px,2.5vw,32px);line-height:1.2;letter-spacing:-.01em;white-space:nowrap}
@media (max-width:420px){.email-lead{white-space:normal;overflow-wrap:anywhere;font-size:22px}}
.email-lead a{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.email-lead a:hover{text-decoration-thickness:2px}
.hq{font-style:normal;color:var(--ash);line-height:1.6}
.hq b{display:block;color:var(--black);font-weight:600;margin-bottom:4px}
.foot-mail{margin-top:12px}
.foot-mail a{color:var(--white);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

.btn-dark{background:var(--black);color:var(--white)}
.btn-dark:hover{background:var(--graphite)}

.cform{margin-top:40px;max-width:880px}
.cform fieldset{border:0;min-width:0}
.form-state{margin-bottom:28px;padding:16px 20px;border-left:3px solid var(--black);background:var(--white);color:var(--ash);font-size:15px}
.form-state.is-ok{border-left-color:var(--black);color:var(--black)}
.form-state.is-error{border-left-color:#8b1e24;color:#5a1418}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field--full{grid-column:1/-1}
.field label{font-size:15px;font-weight:500}
.opt{font-weight:400;color:var(--ash)}
.field input,.field select,.field textarea{
  font:inherit;font-size:16px;color:var(--black);background:var(--white);
  border:1px solid var(--mist);border-radius:0;padding:12px 14px;width:100%;
  -webkit-appearance:none;appearance:none}
.field textarea{resize:vertical;min-height:168px;line-height:1.5}
.field select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23090a0b' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 1px var(--black)}
.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:#8b1e24}
.field .err{font-size:14px;color:#8b1e24}
.help{font-size:14px;color:var(--ash)}
.field--check{flex-direction:row;align-items:flex-start;gap:12px}
.field--check input{width:20px;height:20px;flex:none;margin-top:3px;padding:0;-webkit-appearance:auto;appearance:auto;accent-color:var(--black)}
.field--check label{font-weight:400;color:var(--ash)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{margin-top:32px}
.cform fieldset:disabled .field input,.cform fieldset:disabled .field select,.cform fieldset:disabled .field textarea{background:var(--clinical);color:var(--steel);cursor:not-allowed}
.cform fieldset:disabled label{color:var(--steel)}
.cform fieldset:disabled .btn{background:var(--mist);color:var(--ash);cursor:not-allowed}
@media (max-width:760px){
  .fgrid{grid-template-columns:1fr}
}

.row .stack p+p{margin-top:12px}
.nav .btn[aria-current="page"]{color:var(--black);text-decoration:none;background:var(--mist)}
[hidden]{display:none!important}

/* Contact page: layout */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.contact-info .notice p+p{margin-top:8px}
.contact-info .email-lead{white-space:normal;overflow-wrap:anywhere}
.form-panel{background:var(--clinical);padding:clamp(24px,4vw,48px);border-top:2px solid var(--black)}
.panel-title{font-variation-settings:"wdth" 112;font-weight:600;font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.01em}
.form-panel > .small{margin-top:8px}

/* Enquiry form */
.eform{margin-top:28px}
.eform fieldset{border:0;min-width:0;padding:0;margin:0}
.cats legend{font-size:15px;font-weight:500;margin-bottom:12px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chips label{display:inline-block;font-size:15px;padding:10px 16px;border:1px solid var(--mist);background:var(--white);cursor:pointer;user-select:none;-webkit-user-select:none;transition:border-color .15s,background-color .15s,color .15s}
.chips label:hover{border-color:var(--black)}
.chips input:checked + label{background:var(--black);border-color:var(--black);color:var(--white)}
.chips input:focus-visible + label{outline:2px solid var(--black);outline-offset:2px}
.cats[data-invalid] .chips label{border-color:#8b1e24}
.cat-note{margin-top:12px;padding:12px 16px;border-left:2px solid var(--black);background:var(--white);font-size:14px;color:var(--ash)}
.eform .fgrid{margin-top:28px;gap:22px 24px}
.eform .field input,.eform .field textarea{border-color:#cfd3d7}
.eform .field input:hover,.eform .field textarea:hover{border-color:var(--steel)}
.help-row{display:flex;justify-content:space-between;gap:16px}
.count{white-space:nowrap;font-variant-numeric:tabular-nums}
.check-row{display:flex;align-items:flex-start;gap:12px}
.check-row input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--black)}
.check-row label{font-weight:400;font-size:15px;color:var(--ash)}
.err{font-size:14px;color:#8b1e24;margin-top:2px}
.field[data-invalid] input,.field[data-invalid] textarea{border-color:#8b1e24}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px}
.form-foot .small{margin:0}
.btn-send{min-width:180px;position:relative}
.btn-send[disabled]{cursor:progress;background:var(--graphite)}
.btn-send[disabled] .btn-label::before{content:"";display:inline-block;width:12px;height:12px;margin-right:10px;vertical-align:-1px;border:1.5px solid rgba(255,255,255,.35);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn-send[disabled] .btn-label::before{animation:none}}
.form-msg{margin-top:16px;font-size:15px}
.form-msg:empty{display:none}
.form-msg.is-error{padding:14px 16px;border-left:3px solid #8b1e24;background:var(--white);color:#5a1418}
.form-msg.is-info{color:var(--ash)}
.btn-outline-dark{border-color:var(--black);color:var(--black);background:transparent}
.btn-outline-dark:hover{background:var(--black);color:var(--white)}
.sent{margin-top:28px;padding-top:28px;border-top:1px solid var(--black)}
.sent-title{font-weight:600;font-size:22px;line-height:1.3}
.sent-title:focus{outline:none}
.sent .muted{margin-top:12px;max-width:52ch}
.sent .btn{margin-top:24px}
@media (max-width:960px){
  .contact-grid{grid-template-columns:1fr}
}
.contact-info .email-lead{font-size:clamp(20px,1.9vw,26px);white-space:nowrap}
@media (max-width:960px){.contact-info .email-lead{font-size:clamp(20px,5vw,30px)}}
@media (max-width:420px){.contact-info .email-lead{white-space:normal;font-size:21px}}

/* ===== Phase II components ===== */
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--steel);font-variation-settings:"wdth" 110}
.hero .eyebrow{position:relative;margin-bottom:20px}
.page-head .eyebrow{position:relative;margin-top:28px}
.page-head .eyebrow + h1{margin-top:12px}

/* Home heritage marker (compact; replaces the large 1997 block) */
.marker{position:relative;display:flex;align-items:baseline;gap:20px;margin-top:clamp(56px,7vw,96px);padding:22px 0 clamp(36px,5vw,56px);border-top:1px solid var(--iron)}
.marker-year{font-variation-settings:"wdth" 125;font-weight:300;font-size:clamp(28px,3vw,40px);line-height:1;flex:none}
.marker-text{color:var(--mist);font-size:15px;max-width:48ch}

/* Cards (newsroom teasers) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-top:40px}
.cards--two{grid-template-columns:repeat(2,1fr)}
.card{border-top:1px solid var(--black);padding-top:20px;display:flex;flex-direction:column}
.card h3{font-size:20px;font-weight:600;line-height:1.3;margin-top:10px}
.card h3 a{text-decoration:none}
.card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.card > p:not(.kicker){color:var(--ash);font-size:15px;margin-top:10px}
.card .link{margin-top:auto;padding-top:16px;align-self:flex-start}
.kicker{font-size:13px;letter-spacing:.08em;color:var(--ash)}

/* Newsroom filter */
.filters[data-filters]{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}
.filters button{font:inherit;font-size:14px;padding:8px 14px;border:1px solid var(--mist);background:var(--white);color:var(--black);cursor:pointer;border-radius:0;-webkit-appearance:none;appearance:none}
.filters button:hover{border-color:var(--black)}
.filters button[aria-pressed="true"]{background:var(--black);border-color:var(--black);color:var(--white)}
.empty{margin-top:32px;padding:24px 0;border-top:1px solid var(--mist);color:var(--ash)}

/* Article */
.article-layout{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:24px 48px}
.article-meta{font-size:14px;color:var(--ash);padding-top:6px;border-top:1px solid var(--black)}
.article-body{max-width:68ch}
.article-body p{font-size:18px;line-height:1.75;color:#2b2f33}
.article-body p+p{margin-top:22px}
.article-body p:first-child{font-size:20px;line-height:1.6;color:var(--black)}
.article-related{margin-top:40px !important;padding-top:24px;border-top:1px solid var(--mist)}

/* Directory table */
.dir{width:100%;border-collapse:collapse;margin-top:32px;font-size:16px}
.dir thead th{text-align:left;font-weight:500;font-size:14px;color:var(--ash);padding:0 16px 14px 0;border-bottom:1px solid var(--black)}
.dir td,.dir tbody th{padding:22px 16px 22px 0;border-bottom:1px solid var(--mist);vertical-align:top;text-align:left}
.dir .code{font-variation-settings:"wdth" 125;font-weight:600;white-space:nowrap;width:90px}
.dir tbody th{font-weight:500;white-space:nowrap}
.dir .focus{color:var(--ash)}
p.notice{margin:0}

/* Publication */
.pub{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:clamp(32px,5vw,72px);align-items:center}
.pub-cover{position:relative;aspect-ratio:3/4;background:var(--black);color:var(--white);display:flex;flex-direction:column;justify-content:space-between;padding:28px;overflow:hidden;max-width:340px}
.pub-cover::before{content:"";position:absolute;right:-40%;bottom:-25%;width:110%;aspect-ratio:1;border-radius:50%;border:1px solid #2a2d31;box-shadow:0 0 0 28px var(--black),0 0 0 29px #2a2d31,0 0 0 60px var(--black),0 0 0 61px #2a2d31}
.pub-cover-mark{position:relative;font-variation-settings:"wdth" 125;font-weight:700;font-size:15px;letter-spacing:.3em}
.pub-cover-title{position:relative;font-weight:500;font-size:26px;line-height:1.15;max-width:9ch}
.pub-cover-foot{position:relative;font-size:12px;letter-spacing:.12em;color:var(--steel)}
.pub-meta{margin-top:14px;font-size:14px;color:var(--ash)}
.pub .actions{margin-top:28px}

@media (max-width:960px){
  .cards,.cards--two{grid-template-columns:1fr}
  .pub{grid-template-columns:1fr}
  .pub-cover{max-width:260px}
}
@media (max-width:760px){
  .article-layout{grid-template-columns:1fr}
  .article-body p{font-size:17px}
  .article-body p:first-child{font-size:18px}
  .marker{flex-direction:column;gap:8px}
  .dir thead{display:none}
  .dir,.dir tbody,.dir tr,.dir td,.dir tbody th{display:block;width:100%}
  .dir tr{padding:16px 0;border-bottom:1px solid var(--mist)}
  .dir td,.dir tbody th{border:0;padding:4px 0;white-space:normal}
  .dir td::before,.dir tbody th::before{content:attr(data-label);display:block;font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--steel);margin-bottom:2px}
}
@media (max-width:760px){
  .marker{flex-direction:row;gap:16px;margin-top:40px;padding:18px 0 32px}
  .marker-year{font-size:28px}
  .marker-text{font-size:14px}
  .hero .eyebrow{margin-bottom:14px;font-size:12px}
  .hero .lede{margin-top:18px}
  .actions{margin-top:28px}
}

/* ===== Phase III: grouped navigation ===== */
.site-head .wrap{position:relative}
.nav{gap:22px}
.nav > li{display:flex;align-items:center}
.nav .top{display:inline-flex;align-items:center;gap:7px;font-size:15px;color:var(--mist)}
.nav .top[aria-current="true"],.nav .top[aria-current="page"]{color:var(--white);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.nav-search svg{flex:none}
.has-sub{position:relative}
.sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:28px;margin-left:2px;background:none;border:0;color:var(--steel);cursor:pointer;border-radius:0;-webkit-appearance:none;appearance:none;padding:0}
.sub-toggle::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.sub-toggle:hover,.has-sub.open .sub-toggle{color:var(--white)}
.has-sub.open .sub-toggle::before{transform:translateY(2px) rotate(-135deg)}
.nav .sub{display:none;list-style:none;margin:0}
@media (min-width:1101px){
  .nav > li{height:var(--head)}
  .nav .sub{position:absolute;top:100%;left:-20px;min-width:248px;background:var(--black);border:1px solid var(--iron);border-top:0;padding:10px 0;z-index:30;box-shadow:0 18px 40px rgba(0,0,0,.35)}
  .has-sub.open .sub{display:block}
  .nav .sub a{display:block;padding:9px 20px;font-size:15px;color:var(--mist);white-space:nowrap}
  .nav .sub a:hover{color:var(--white);background:var(--graphite)}
  .nav .sub a[aria-current="page"]{color:var(--white);text-decoration:none;box-shadow:inset 2px 0 0 var(--white)}
}
@media (min-width:1101px) and (hover:hover){
  .has-sub:hover .sub{display:block}
  .has-sub:hover .sub-toggle{color:var(--white)}
}
@media (max-width:1240px) and (min-width:1101px){
  .nav{gap:16px}
  .nav .top{font-size:14px}
}
@media (max-width:1100px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:var(--head);background:var(--black);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 24px;border-bottom:1px solid var(--iron);max-height:calc(100vh - var(--head));max-height:calc(100dvh - var(--head));overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav.open{display:flex}
  .nav > li{width:100%;flex-wrap:wrap;border-bottom:1px solid var(--graphite)}
  .nav > li:last-child{border-bottom:0}
  .nav .top{flex:1;padding:14px 0;font-size:17px}
  .nav .top[aria-current="true"],.nav .top[aria-current="page"]{text-decoration:none;font-weight:600}
  .sub-toggle{width:48px;height:48px;margin:0 -12px 0 0}
  .sub-toggle::before{width:8px;height:8px}
  .nav .sub{width:100%;padding:0 0 12px 14px;border-left:1px solid var(--iron);margin:0 0 14px 2px}
  .has-sub.open .sub{display:block}
  .nav .sub a{display:block;padding:9px 0;font-size:16px;color:var(--mist);text-decoration:none}
  .nav .sub a[aria-current="page"]{color:var(--white);font-weight:600}
  .nav .btn{display:inline-block;margin-top:16px;padding:13px 24px}
  .nav > li:has(.btn){border-bottom:0}
}

/* Footer additions */
.to-top{color:var(--steel);text-decoration:none}
.to-top:hover{color:var(--white)}

/* ===== Phase III: shared components ===== */
.link-row{display:flex;flex-wrap:wrap;gap:12px 28px}
.link-light{color:var(--white)}
.lead--light{color:var(--white)}
.kicker--light{color:var(--steel);margin-top:10px}
.band-graphite .kicker{color:var(--steel)}
.rows--lg .row{padding:36px 0}
.rows--lg .row h3{font-variation-settings:"wdth" 108;font-size:clamp(20px,1.9vw,24px);line-height:1.25;max-width:22ch}
.rows .row a.link{color:var(--black)}
.next--three{grid-template-columns:repeat(3,1fr)}
.notice--dark{background:rgba(255,255,255,.04);border-left-color:var(--white);color:var(--white)}
.notice--dark p{color:var(--mist)}
.rel{margin-top:14px;font-size:15px;color:var(--ash)}

/* Home: library + film band, closing CTA */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,112px);align-items:start}
.duo-item .h2{max-width:18ch}
.film-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--black);border:1px solid var(--iron)}
.film-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .3s}
.film-thumb:hover img{transform:scale(1.03)}
.film-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(9,10,11,.45);transition:background .2s,border-color .2s}
.film-play::before{content:"";position:absolute;left:26px;top:21px;border-left:16px solid var(--white);border-top:11px solid transparent;border-bottom:11px solid transparent}
.film-thumb:hover .film-play,.film-thumb:focus-visible .film-play{background:rgba(9,10,11,.8);border-color:var(--white)}
.film-title{margin-top:28px;font-size:clamp(26px,2.6vw,34px)}
@media (prefers-reduced-motion:reduce){.film-thumb img{transition:none}.film-thumb:hover img{transform:none}}
.cta-band{border-top:1px solid var(--mist)}
.cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px}
.cta .sub{max-width:58ch}

/* Operations schematic */
.schem{margin-top:48px}
.schem svg{display:block;width:100%;height:auto;max-width:1040px}
.schem figcaption{margin-top:16px;max-width:70ch}
.schem-list{display:none;list-style:none;counter-reset:sc}
.schem-list li{position:relative;counter-increment:sc;padding:0 0 22px 36px}
.schem-list li::before{content:"";position:absolute;left:6px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--black)}
.schem-list li:not(:last-child):not(:nth-last-child(2))::after{content:"";position:absolute;left:11px;top:22px;bottom:2px;border-left:1px solid var(--black)}
.schem-list b{display:block;font-weight:600}
.schem-list span{display:block;color:var(--ash);font-size:15px}
.schem-list .schem-base{margin-top:6px;padding-top:18px;border-top:1px solid var(--steel)}
.schem-list .schem-base::before{top:25px;background:none;border:1px solid var(--steel);border-radius:0}

/* Technology platforms */
.explorer-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-top:36px}
.chips-nav{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.chips-nav a{display:inline-block;font-size:14px;text-decoration:none;padding:8px 14px;border:1px solid var(--mist)}
.chips-nav a:hover{border-color:var(--black)}
.explorer-bar .field--search{width:280px;max-width:100%}
.plats{margin-top:28px;border-top:1px solid var(--black)}
.plat{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:12px 48px;padding:36px 0;border-bottom:1px solid var(--mist)}
.plat h3{font-variation-settings:"wdth" 108;font-weight:600;font-size:clamp(20px,1.9vw,24px);line-height:1.25}
.plat p{color:var(--ash);max-width:64ch}
.plat .rel a{color:var(--black)}

/* Corporate archive */
.filters[data-archive-filter]{margin-top:32px}
.milestones{list-style:none;margin-top:32px}
.ms{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:12px 32px;padding:32px 0;border-top:1px solid #cfd3d7}
.ms:last-child{border-bottom:1px solid #cfd3d7}
.ms-year{font-variation-settings:"wdth" 125;font-weight:300;font-size:clamp(34px,3.8vw,52px);line-height:1}
.ms h3{font-weight:600;font-size:20px;line-height:1.3;margin-top:8px}
.ms p:not(.kicker){color:var(--ash);margin-top:8px;max-width:64ch}
.ms .ms-doc{font-size:15px;margin-top:14px}
.ms .ms-doc .link{color:var(--black)}
.ms:target{background:linear-gradient(90deg,rgba(9,10,11,.04),transparent 70%)}

/* Media & brand centre */
.markfig{margin:0 auto;width:100%;max-width:380px}
.markfig svg{display:block;width:100%;height:auto}
.film{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
.film-frame{background:var(--black);border:1px solid var(--iron);aspect-ratio:16/9}
.film-frame video{display:block;width:100%;height:100%;background:var(--black)}
.film-frame video p{padding:24px;color:var(--mist)}
.film-copy .sub{margin-top:16px}
.film-tag{margin-top:22px;font-weight:500;font-size:clamp(18px,1.6vw,21px);color:var(--white)}
.film-meta{margin-top:16px;font-size:14px;color:var(--steel)}
.film-meta a{color:var(--mist);text-underline-offset:4px}
.film-meta a:hover{color:var(--white)}
.transcript{margin-top:24px;border-top:1px solid var(--iron);padding-top:16px;font-size:15px}
.transcript summary{cursor:pointer;color:var(--white);font-weight:500}
.transcript p{color:var(--mist);margin-top:10px}
.list--light .link{color:var(--black)}

/* Corporate library */
.libbar{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(4,minmax(0,1fr)) auto;gap:16px;align-items:end;margin-top:32px;padding:20px;background:var(--clinical)}
.libbar .field label{font-size:14px}
.libbar .field input,.libbar .field select{padding:10px 12px;font-size:15px}
.libbar .field select{padding-right:34px;background-position:right 12px center}
.libbar .btn{padding:11px 18px;font-size:14px;white-space:nowrap}
.lib-count{margin-top:24px;font-size:14px;color:var(--ash)}
.lib,.results{list-style:none;margin-top:12px;border-top:1px solid var(--black)}
.lib-item,.result{padding:24px 0;border-bottom:1px solid var(--mist)}
.lib-item h3,.result h3{font-weight:600;font-size:20px;line-height:1.3;margin-top:6px}
.lib-item h3 a,.result h3 a{text-decoration:none}
.lib-item h3 a:hover,.result h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.lib-item > p:not(.kicker),.result > p:not(.kicker){color:var(--ash);margin-top:8px;max-width:72ch}
.lib-item .lib-meta{font-size:14px;margin-top:10px}
.lib-meta .link{color:var(--black)}
.result .result-url{font-size:13px;color:var(--steel);margin-top:6px;overflow-wrap:anywhere}

/* Search page */
.searchbar{display:flex;gap:12px;max-width:760px}
.searchbar input{flex:1;min-width:0;font:inherit;font-size:18px;color:var(--black);background:var(--white);border:1px solid var(--steel);border-radius:0;padding:13px 16px;-webkit-appearance:none;appearance:none}
.searchbar input:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 1px var(--black)}
.search-out{max-width:880px}
.search-out .small{margin-top:6px}

@media (max-width:960px){
  .duo{grid-template-columns:1fr}
  .film{grid-template-columns:1fr}
  .libbar{grid-template-columns:1fr 1fr}
  .libbar .field--search{grid-column:1/-1}
  .libbar .btn{grid-column:1/-1;justify-self:start}
}
@media (max-width:760px){
  .next--three{grid-template-columns:1fr}
  .plat,.ms{grid-template-columns:1fr}
  .ms-year{font-size:34px}
  .schem svg{display:none}
  .schem-list{display:block}
  .schem figcaption{display:none}
  .explorer-bar .field--search{width:100%}
  .cta{align-items:flex-start}
}
@media (max-width:420px){
  .libbar{grid-template-columns:1fr;padding:16px}
  .searchbar{flex-direction:column}
  .searchbar .btn{align-self:flex-start}
}
.film-meta a{white-space:nowrap}
.kicker--light,.band-graphite .kicker{color:#9aa1a7}

/* ===== Language switch ===== */
.lang-switch{font-size:14px;color:var(--mist);text-decoration:none;border:1px solid var(--iron);padding:6px 10px;line-height:1;white-space:nowrap}
.lang-switch:hover{color:var(--white);border-color:var(--steel)}
@media (min-width:1101px){.head-row .nav{margin-left:auto}.lang-switch{order:3;margin-left:-4px}}
@media (max-width:1100px){.lang-switch{margin-left:auto;padding:8px 12px}.menu-btn{margin-left:10px}}

/* ===== Simplified Chinese typography =====
   Chinese text: self-hosted Noto Sans SC subset (Regular for text, Medium for headings).
   Latin and numerals: Archivo, as on the English site. "Archivo ZH" is the same file
   minus curly quotes, em dash and ellipsis, so those take the Chinese full-width forms. */
@font-face{font-family:"Archivo ZH";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url("../fonts/archivo-latin.woff2") format("woff2");
  unicode-range:U+0000-2013,U+2015-2017,U+201E-2025,U+2027-2E7F}
@font-face{font-family:"IM Sans SC";font-style:normal;font-display:swap;font-weight:100 450;
  src:url("../fonts/noto-sans-sc-400.woff2") format("woff2")}
@font-face{font-family:"IM Sans SC";font-style:normal;font-display:swap;font-weight:451 900;
  src:url("../fonts/noto-sans-sc-500.woff2") format("woff2")}
html[lang^="zh"] body{font-family:"Archivo ZH","IM Sans SC","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  line-height:1.8;line-break:strict;word-break:normal;overflow-wrap:break-word;font-kerning:normal}
html[lang^="zh"] :lang(en){font-family:"Archivo",system-ui,sans-serif}
/* headings: Medium weight, proportional punctuation, no negative tracking */
html[lang^="zh"] h1,html[lang^="zh"] h2,html[lang^="zh"] h3,html[lang^="zh"] .h2,html[lang^="zh"] .h3,html[lang^="zh"] .panel-title,html[lang^="zh"] .sent-title,html[lang^="zh"] .pub-cover-title{
  font-feature-settings:"palt";letter-spacing:.01em;text-wrap:balance}
html[lang^="zh"] .lead,html[lang^="zh"] .sub,html[lang^="zh"] p{text-wrap:pretty}
html[lang^="zh"] .page-head h1{font-weight:500;line-height:1.25;letter-spacing:.02em}
html[lang^="zh"] .h2{font-weight:500;line-height:1.35;letter-spacing:.02em}
html[lang^="zh"] .h3,html[lang^="zh"] h3{font-weight:500;line-height:1.5}
html[lang^="zh"] .lead{font-weight:400;line-height:1.75;font-size:clamp(19px,2vw,25px);letter-spacing:.02em}
html[lang^="zh"] .hero h1:lang(en),html[lang^="zh"] .film-title:lang(en),html[lang^="zh"] #film-title:lang(en),html[lang^="zh"] .pub-cover-title:lang(en),html[lang^="zh"] .film-tag:lang(en){font-feature-settings:normal;letter-spacing:-.02em;line-height:1.06}
html[lang^="zh"] .film-tag:lang(en){letter-spacing:0;line-height:1.4}
html[lang^="zh"] .eyebrow,html[lang^="zh"] .kicker{letter-spacing:.08em}
html[lang^="zh"] .sub,html[lang^="zh"] .prose p,html[lang^="zh"] .row p,html[lang^="zh"] .plat p,html[lang^="zh"] .ms p,html[lang^="zh"] .article-body p{line-height:1.85}
html[lang^="zh"] .article-body p{font-size:17px}
html[lang^="zh"] .article-body p:first-child{font-size:19px;line-height:1.75}
html[lang^="zh"] b,html[lang^="zh"] strong{font-weight:500}
html[lang^="zh"] .nav .top,html[lang^="zh"] .nav .sub a{letter-spacing:.04em}
html[lang^="zh"] .btn{letter-spacing:.04em;font-weight:500}
@media (min-width:1101px) and (max-width:1240px){html[lang^="zh"] .nav{gap:14px}}
@media (max-width:420px){
  .head-row{gap:10px}
  .lang-switch{padding:7px 9px;font-size:13px}
  .menu-btn{margin-left:8px;padding:8px 11px}
}
/* Chinese display text breaks only at phrase boundaries (<wbr> inserted at build time) */
html[lang^="zh"] .bx{word-break:keep-all;overflow-wrap:anywhere}

/* ===== Achievements ===== */
.sub--lg{font-size:clamp(17px,1.4vw,19px);line-height:1.7;max-width:60ch}
.doc .doc-meta{font-size:14px;color:var(--ash);margin-top:12px}
.doc .doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:auto;padding-top:20px}
.doc .doc-actions .btn{padding:11px 18px;font-size:14px}
.doc .doc-actions .link{margin:0;padding:0}
.band-clinical .doc{background:var(--white);border-top:2px solid var(--black);padding:24px}
.card.doc > .doc-actions{margin-top:auto}
