/* Arklink / one bilingual type system. Keep Latin names and numerals in
   Instrument Sans in either language; Noto Sans SC supplies Chinese glyphs.
   Legacy --serif hooks are deliberately retained as aliases so readers,
   project dialogs and dynamically generated content share the same system. */
:root,
html[lang="zh-CN"]{
  --font-arklink:"Instrument Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --sans:var(--font-arklink);
  --display:var(--font-arklink);
  --serif:var(--font-arklink);
}
html{font-synthesis:none;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-arklink)}
button,input,select,textarea{font-family:var(--font-arklink)}

/* Change the voice, not the underlying columns, image geometry or rhythm. */
.catalogue-head h2,
.event-copy h3,
.installation-gallery h4,
.programme-dialog h2,
.collection-intro-copy h3,
.collection-work-copy h4,
.collection-opening-copy h3,
.collection-campaign-head h3,
.collection-encounters-head h3,
.collection-colophon strong{font-family:var(--display);font-weight:500}
.catalogue-head h2{font-size:clamp(64px,9.4vw,146px);line-height:.89;letter-spacing:-.06em}
@media(min-width:821px){.catalogue-head{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.catalogue-book .book-spine-face strong{font-family:var(--display);font-size:clamp(24px,3.1vw,46px);font-weight:500;letter-spacing:-.045em}
.event-copy h3,.installation-gallery h4,.programme-dialog h2{line-height:.96;letter-spacing:-.055em}
.event-copy h3{font-size:clamp(48px,6.2vw,96px);line-height:.98;text-wrap:balance}
.about-pullquote blockquote,.about-inline-quote{font-family:var(--sans);font-weight:400;font-style:normal;letter-spacing:-.035em;line-height:1.15}
.reader-title,.reader-end,.collection-work-copy p,.collection-intro-copy p,.programme-copy p{font-family:var(--sans);font-weight:400}
.collection-cover-title h3 i{font-family:var(--display);font-weight:500}

/* Chinese shares the exact same grids. Only typographic metrics change:
   no English-style negative tracking or compressed Chinese line boxes. */
html[lang="zh-CN"] :is(h1,h2,h3,h4,h5,h6,blockquote){letter-spacing:0!important}
html[lang="zh-CN"] :is(h1,h2,h3,h4,h5,h6) i{font-style:normal}
html[lang="zh-CN"] :is(p,dd,dt,label,small){line-break:strict;word-break:normal;overflow-wrap:break-word}
html[lang="zh-CN"] .intro h1{font-weight:500;line-height:1.45}
html[lang="zh-CN"] .platform-statement h2{font-size:clamp(32px,4.1vw,66px);line-height:1.2}
html[lang="zh-CN"] .platform-statement-copy p{font-size:clamp(20px,1.8vw,26px);line-height:1.65;letter-spacing:0}
html[lang="zh-CN"] .platform-statement-copy small{font-size:16px;line-height:1.8;letter-spacing:0}
html[lang="zh-CN"] .programme-section-head h2{font-size:clamp(68px,8.6vw,132px);line-height:1.05}
html[lang="zh-CN"] .programme-title-button h3{line-height:1.12;letter-spacing:0}
html[lang="zh-CN"] .programme-title-button h3 strong{line-height:.9;letter-spacing:-.065em}
html[lang="zh-CN"] .programme-title-button h3 span{line-height:1.18}
html[lang="zh-CN"] .programme-intro{font-size:17px;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .programme-facts-inline dd{font-size:14px;line-height:1.65}
html[lang="zh-CN"] .platform-pillars-head h3{font-size:clamp(36px,4.4vw,66px);line-height:1.1}
html[lang="zh-CN"] .platform-pillar h4{font-size:clamp(30px,3.2vw,48px);line-height:1.15}
html[lang="zh-CN"] .platform-pillar p{font-size:16px;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .poster-heading h2{line-height:1.04}
html[lang="zh-CN"] .poster-heading p{font-size:15px;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .catalogue-head h2{line-height:1.02}
html[lang="zh-CN"] .catalogue-head p{font-size:18px;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .city-network-intro p{font-size:17px;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .city-shift-title span{line-height:1.05;letter-spacing:0}
html[lang="zh-CN"] .about-story .about-hero h2{font-size:clamp(62px,8.3vw,136px);line-height:1.13}
html[lang="zh-CN"] .about-story :is(.about-manifesto,.about-chapter,.about-public,.about-continuity,.about-cities) h3{font-size:clamp(48px,5.5vw,88px);line-height:1.15}
html[lang="zh-CN"] .about-story .about-copy p{font-size:17px;line-height:1.8;letter-spacing:0}
html[lang="zh-CN"] .about-story .about-copy-lead p:first-child,
html[lang="zh-CN"] .about-story .about-copy-continuity p:first-child{font-size:clamp(23px,2.1vw,33px);line-height:1.55}
html[lang="zh-CN"] .about-story .about-inline-quote{font-size:clamp(24px,2.15vw,34px);line-height:1.55}
html[lang="zh-CN"] .about-pullquote blockquote{font-size:clamp(32px,3.5vw,56px);line-height:1.45}
html[lang="zh-CN"] .event-copy h3{font-size:clamp(44px,5.6vw,88px);line-height:1.15}
html[lang="zh-CN"] .event-copy p,
html[lang="zh-CN"] .programme-dialog p{font-size:18px;line-height:1.8;letter-spacing:0}
html[lang="zh-CN"] .programme-dialog h2{line-height:1.18}
html[lang="zh-CN"] .contact-gateway-copy{gap:10px}
html[lang="zh-CN"] .contact-gateway-copy strong{font-size:clamp(23px,2.2vw,36px);letter-spacing:0;line-height:1.15}
html[lang="zh-CN"] .contact-gateway-copy small{letter-spacing:.06em}

@media(max-width:820px){
  /* Shared mobile/tablet image anchor clears the complete bilingual copy. */
  .programme-scene{min-height:1230px}
  .programme-poster{top:720px}
  .catalogue-head h2{font-size:clamp(62px,11vw,100px)}
  .installation-gallery h4{font-size:clamp(36px,8vw,64px);line-height:1.05}
  .catalogue-book .book-spine-face strong{font-size:clamp(18px,4vw,30px)}
  html[lang="zh-CN"] .platform-statement h2{font-size:clamp(23px,6.4vw,52px)}
  html[lang="zh-CN"] .platform-statement-copy small{font-size:16px}
  html[lang="zh-CN"] .programme-section-head h2{font-size:clamp(56px,13vw,92px)}
  html[lang="zh-CN"] .programme-title-button h3 span{font-size:clamp(30px,7.5vw,48px)}
  html[lang="zh-CN"] .programme-intro{font-size:16px;line-height:1.75}
  html[lang="zh-CN"] .platform-pillars-head h3{font-size:clamp(32px,7vw,48px)}
  html[lang="zh-CN"] .platform-pillar h4{font-size:clamp(32px,7vw,48px)}
  html[lang="zh-CN"] .catalogue-head h2{font-size:clamp(62px,11vw,100px)}
  html[lang="zh-CN"] .catalogue-head p{font-size:17px}
  html[lang="zh-CN"] .about-story .about-hero h2{font-size:clamp(42px,8.9vw,74px);line-height:1.2}
  html[lang="zh-CN"] .about-story :is(.about-manifesto,.about-chapter,.about-public,.about-continuity,.about-cities) h3{font-size:clamp(36px,8vw,62px);line-height:1.2}
  html[lang="zh-CN"] .about-story .about-copy p{font-size:16px;line-height:1.8}
  html[lang="zh-CN"] .about-story .about-copy-lead p:first-child,
  html[lang="zh-CN"] .about-story .about-copy-continuity p:first-child{font-size:24px;line-height:1.55}
  html[lang="zh-CN"] .about-pullquote blockquote{font-size:clamp(30px,5.7vw,46px);line-height:1.5}
  html[lang="zh-CN"] .about-story .about-inline-quote{font-size:24px;line-height:1.55}
  html[lang="zh-CN"] .event-copy h3{font-size:clamp(42px,9vw,72px);line-height:1.18}
  html[lang="zh-CN"] .event-copy p,html[lang="zh-CN"] .programme-dialog p{font-size:17px}
}
@media(max-width:560px){
  /* Equal image anchor in both languages, below the complete text block. */
  .programme-scene{min-height:1200px}
  .programme-poster{top:720px}
}
