/* Typography settings — admin → Réglages → Typographie (site.typography).
   The server injects, only when something differs from the defaults, the Google Fonts <link> and
   :root{--font-*;--fw-*;--fs-*} (<style id="epix-typography">), plus <html data-type-weight="…">
   for the categories whose weight is forced. Defaults below reproduce the current design exactly:
   without settings this file changes nothing. Families use :where() (zero specificity); the order
   body → headings → captions → navigation settles elements matching several lists.
   Sizes (--fs-*, unitless factors, 1 = current) are wired in site.css: each absolute font-size there is
   calc(<size>*var(--fs-<cat>,1)) with the category of the font the element shows (these lists; other text,
   :root included, is body). Relative sizes (em, inherit) follow their parent. */
:where(:root){--font-headings:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-body:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-captions:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-navigation:"Helvetica Neue",Helvetica,Arial,sans-serif;--fs-headings:1;--fs-body:1;--fs-captions:1;--fs-navigation:1}

/* Families */
:where(body){font-family:var(--font-body)}
:where(h1,h2,h3,h4,.statement,.bottom-cta>a,.project-tile-copy strong,.footer-wordmark,.contact-link,.gallery-counter-now,.project-info-bubble-title){font-family:var(--font-headings)}
:where(.eyebrow,.hero-kicker,.header-descriptor,.brand>span,.section-heading h2,.section-note,.project-brow,.project-type,.open-label,.detail-marker,.detail-caption span,.image-caption,.tile-caption,.tile-center-label,.mosaic-caption,figcaption,.gallery-eyebrow,.gallery-counter-total,.gallery-text,.expertise-number,.project-tile-index,.project-tile-publisher,.home-card-index,.home-card-client,.project-tile-subtitle,.project-meta p,.project-information,.project-detail-facts,.project-detail-credit,.credit,dl,dt,dd,.custom-page-meta,.development-kicker,.development-app-index,.development-app-status,.contact-subline,.contact-signature,.contact-mode,.form-eyebrow,.optional,.required-note,.field-error,.form-privacy,#message-count,.copyright,.legal-link,.epix-footer-bottom,.viewer-footer,.viewer-brand>span){font-family:var(--font-captions)}
:where(.main-nav,.footer-nav,.language-switcher,.viewer-mode){font-family:var(--font-navigation)}
/* site.css gives buttons font:inherit (0,0,1), which beats :where(); this listed button keeps its caption font. */
button:where(.project-information){font-family:var(--font-captions)}

/* Forced weights: only for the categories listed in <html data-type-weight>, otherwise the
   design's own weights stay. (0,2,0) beats the site.css component rules; captions and headings
   are excluded from the broader lists so each element follows its own category. */
:root[data-type-weight~="body"] :where(body,p,li,blockquote,.contact-lead,.development-lead,.project-detail-copy p,.custom-page-body p):not(:where(h1,h2,h3,h4,.statement,.bottom-cta>a,.project-tile-copy strong,.footer-wordmark,.contact-link,.gallery-counter-now,.project-info-bubble-title,.eyebrow,.hero-kicker,.header-descriptor,.brand>span,.section-heading h2,.section-note,.project-brow,.project-type,.open-label,.detail-marker,.detail-caption span,.image-caption,.tile-caption,.tile-center-label,.mosaic-caption,figcaption,.gallery-eyebrow,.gallery-counter-total,.gallery-text,.expertise-number,.project-tile-index,.project-tile-publisher,.home-card-index,.home-card-client,.project-tile-subtitle,.project-meta p,.project-information,.project-detail-facts,.project-detail-credit,.credit,dl,dt,dd,.custom-page-meta,.development-kicker,.development-app-index,.development-app-status,.contact-subline,.contact-signature,.contact-mode,.form-eyebrow,.optional,.required-note,.field-error,.form-privacy,#message-count,.copyright,.legal-link,.epix-footer-bottom,.viewer-footer,.viewer-brand>span)){font-weight:var(--fw-body,400)}
/* A forced body weight must not reach the other categories through inheritance: zero specificity, so every
   explicit site.css weight and every forced category rule below still wins (headings/strong keep their UA weight). */
:where(:root[data-type-weight~="body"]) :where(.main-nav,.footer-nav,.language-switcher,.viewer-mode,h1,h2,h3,h4,.statement,.bottom-cta>a,.project-tile-copy strong,.footer-wordmark,.contact-link,.gallery-counter-now,.project-info-bubble-title,.eyebrow,.hero-kicker,.header-descriptor,.brand>span,.section-heading h2,.section-note,.project-brow,.project-type,.open-label,.detail-marker,.detail-caption span,.image-caption,.tile-caption,.tile-center-label,.mosaic-caption,figcaption,.gallery-eyebrow,.gallery-counter-total,.gallery-text,.expertise-number,.project-tile-index,.project-tile-publisher,.home-card-index,.home-card-client,.project-tile-subtitle,.project-meta p,.project-information,.project-detail-facts,.project-detail-credit,.credit,dl,dt,dd,.custom-page-meta,.development-kicker,.development-app-index,.development-app-status,.contact-subline,.contact-signature,.contact-mode,.form-eyebrow,.optional,.required-note,.field-error,.form-privacy,#message-count,.copyright,.legal-link,.epix-footer-bottom,.viewer-footer,.viewer-brand>span):where(:not(h1,h2,h3,h4,h5,h6,strong,b)){font-weight:400}
:root[data-type-weight~="headings"] :where(h1,h2,h3,h4,.statement,.bottom-cta>a,.project-tile-copy strong,.footer-wordmark,.contact-link,.gallery-counter-now,.project-info-bubble-title):not(:where(.section-heading h2)){font-weight:var(--fw-headings,500)}
:root[data-type-weight~="captions"] :where(.eyebrow,.hero-kicker,.header-descriptor,.brand>span,.section-heading h2,.section-note,.project-brow,.project-type,.open-label,.detail-marker,.detail-caption span,.image-caption,.tile-caption,.tile-center-label,.mosaic-caption,figcaption,.gallery-eyebrow,.gallery-counter-total,.gallery-text,.expertise-number,.project-tile-index,.project-tile-publisher,.home-card-index,.home-card-client,.project-tile-subtitle,.project-meta p,.project-information,.project-detail-facts,.project-detail-credit,.credit,dl,dt,dd,.custom-page-meta,.development-kicker,.development-app-index,.development-app-status,.contact-subline,.contact-signature,.contact-mode,.form-eyebrow,.optional,.required-note,.field-error,.form-privacy,#message-count,.copyright,.legal-link,.epix-footer-bottom,.viewer-footer,.viewer-brand>span){font-weight:var(--fw-captions,500)}
:root[data-type-weight~="navigation"] :where(.main-nav a,.footer-nav a,.language-switcher button:not(.active),.viewer-mode button){font-weight:var(--fw-navigation,400)}
