/* Titles: Chiron Sung with Source Serif 4. Reading and controls: Chiron Hei with General Sans (2026-10-06). */
:root { --sans:"UCS English","UCS Hei","Noto Sans TC",sans-serif;--serif:"UCS English Serif","UCS Sung","Noto Serif TC",serif;--emphasis:var(--sans);--ucs-copy:var(--sans);--mono:"IBM Plex Mono","UCS Hei",monospace; }
html body,html body :where(p,a,button,span,div,li,dt,dd,label,input,select,textarea,option,summary,figcaption,small,th,td) { font-family:var(--sans)!important; }
/* Two Chinese faces only (2026-10-06 audit): Sung for titles and quotations,
   Hei for everything else. Emphasis in running copy therefore stays in Hei
   rather than switching to Sung mid-paragraph; inside titles it follows the
   title face. */
html body strong,html body strong * { font-family:var(--emphasis)!important; }
html body :is(h1,h2,h3,h4,h5,h6,blockquote),html body :is(h1,h2,h3,h4,h5,h6,blockquote) * { font-family:var(--serif)!important; }
/* Display labels written as <strong> (consultant names, practice tabs,
   specialisms) are titles, so they take the title face and title weight. */
html body :is(.consultant-quote__caption,.company-member__specialism,.practice-options) strong,html body :is(.consultant-quote__caption,.company-member__specialism,.practice-options) strong * { font-family:var(--serif)!important;font-weight:500; }
/* List labels that relied on Sung for contrast keep it through weight instead. */
html body :is(.company-engagements,.company-credentials,.project-privacy,.bi-evidence__sources) strong { font-weight:500; }
/* An eyebrow is a label even when it is marked up as a heading. */
html body :is(h1,h2,h3,h4,h5,h6).eyebrow,html body :is(h1,h2,h3,h4,h5,h6).eyebrow * { font-family:var(--sans)!important;font-weight:400!important; }
/* Chinese titles share one weight; some components had drifted to 400. */
html:not([lang=en]) body :is(h1,h2,h3,h4,h5,h6):not(.eyebrow) { font-weight:500!important; }
html body :is(.number,.gallery-current,.ev__layers b,.work-card__top>span:last-child) { font-family:var(--mono)!important; }
/* The tight tracking on English titles was set for a sans; Source Serif's display optical size needs less. */
html[lang=en] body :is(h1,h2) { letter-spacing:-.015em!important; }
/* English hero titles are set bold (2026-10-06). */
html[lang=en] body main :is(.opening-cinema,.hero,.spf-hero,.company-scene) h1,html[lang=en] body main :is(.opening-cinema,.hero,.spf-hero,.company-scene) h1 * { font-weight:600!important; }
