/* =============================================================================
   RIDC type system (source of truth)
   Logo:   NeutraText Bold Alt  →  --font-logo
   UI:     NeutraText Book/Demi  →  --font-ui
   Titles: NeutraText Demi/Bold  →  --font-title  (.project-title, display h1)
   Years:  NeutraText TF         →  --font-num    (.ref-year)
   Body:   Paperback 9           →  --font-body   (.body-copy, .lede, prose)
   No Condensed for UI/titles.
   ============================================================================= */

/* Absolute from site root — works on every page depth */
@font-face {
  font-family: "NeutraText";
  src: url("/assets/fonts/neutra/NeutraText-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText";
  src: url("/assets/fonts/neutra/NeutraText-Book.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText";
  src: url("/assets/fonts/neutra/NeutraText-Book.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText";
  src: url("/assets/fonts/neutra/NeutraText-Demi.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText";
  src: url("/assets/fonts/neutra/NeutraText-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText Logo";
  src: url("/assets/fonts/neutra/NeutraText-BoldAlt.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText TF";
  src: url("/assets/fonts/neutra/NeutraTextTF-Book.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText TF";
  src: url("/assets/fonts/neutra/NeutraTextTF-Book.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText TF";
  src: url("/assets/fonts/neutra/NeutraTextTF-Demi.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NeutraText TF";
  src: url("/assets/fonts/neutra/NeutraTextTF-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Paperback";
  src: url("/assets/fonts/paperback/Paperback9-Roman.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Paperback";
  src: url("/assets/fonts/paperback/Paperback9-Italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Paperback";
  src: url("/assets/fonts/paperback/Paperback9-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-logo: "NeutraText Logo", "NeutraText", system-ui, sans-serif;
  --font-title: "NeutraText", system-ui, sans-serif;
  --font-ui: "NeutraText", system-ui, sans-serif;
  --font-num: "NeutraText TF", "NeutraText", system-ui, sans-serif;
  --font-body: "Paperback", Georgia, "Times New Roman", serif;
  --logo-weight: 700;
  --logo-h: 1.28rem;
  --logo-size: calc(var(--logo-h) * 0.76);
  --logo-size-hero: calc(var(--logo-h) * 0.7);
  --logo-size-nav: calc(var(--logo-h) * 0.66);
  --chrome-pad-x: clamp(22px, 4vw, 40px);
  --track-title: 0.08em;
  --track-ui: 0.06em;
  --track-body: 0.01em;
}

/* —— Roles —— */

.logo-type,
.logo-text {
  font-family: var(--font-logo);
  font-weight: var(--logo-weight);
  font-size: var(--logo-size);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.15;
  font-synthesis: none;
}

/* Display titles only — not every h1/h2/h3 on the site */
.project-title,
.h-block.project-title,
.section-title {
  font-family: var(--font-title);
  font-weight: 600;
  letter-spacing: var(--track-title);
  text-transform: uppercase;
  line-height: 1.2;
  font-synthesis: none;
}

/* Years / counts */
.ref-year,
.num,
[data-num],
.card__year,
.case-row__year,
.lb__year,
.hero-tools__count,
.proj-fs__count {
  font-family: var(--font-num);
  font-weight: 600;
  font-style: normal;
  font-synthesis: none;
  letter-spacing: 0.06em;
}

/* Reading text */
.body-copy,
.lede,
.card__sub,
.voice blockquote,
.case-row__copy p,
.lb__desc,
.hero-slide-label,
.page-hero__note,
.page-hero__lede,
.material-note,
.project__meta {
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  letter-spacing: var(--track-body);
  text-transform: none;
  font-synthesis: none;
  line-height: 1.65;
}

.body-copy em,
.lede em,
.voice blockquote em,
.card__sub em {
  font-family: var(--font-body);
  font-style: italic;
  font-weight: 400;
}
.body-copy strong,
.lede strong,
.voice blockquote strong {
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
}

/* Chrome / nav / buttons (Neutra, not body) */
.chrome,
.nav-sidebar,
.lang-btn,
.menu-toggle {
  font-family: var(--font-ui);
  font-synthesis: none;
}
