/* Self-hosted brand fonts only. Never @import Google Fonts here (PSI waterfall).
   Deploy fingerprint: att-brand-fonts-v4-2026-08-05 */
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./Oswald-700.woff2") format("woff2");
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./Roboto-400.woff2") format("woff2");
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./Roboto-500.woff2") format("woff2");
}

/* Material Symbols Outlined — self-hosted SUBSET (~6KB).
   Rebuild: python scripts/build-material-symbols-subset.py */
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./MaterialSymbolsOutlined.woff2") format("woff2");
}

/* Metric-matched fallbacks — cut font-swap CLS on headings (PSI local-heading). */
@font-face {
  font-family: "Oswald Fallback";
  src: local("Arial Narrow"), local("Arial");
  size-adjust: 92%;
  ascent-override: 95%;
  descent-override: 22%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Roboto Fallback";
  src: local("Helvetica Neue"), local("Helvetica"), local("Arial");
  size-adjust: 99%;
  ascent-override: 92%;
  descent-override: 25%;
  line-gap-override: 0%;
}

/* Theme defaults — used when Design → Typography is “Theme default” */
:root {
  --theme-font-heading: "Oswald", "Oswald Fallback", Impact, Haettenschweiler, sans-serif;
  --theme-font-body: "Roboto", "Roboto Fallback", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Ghost custom fonts (Design → Brand → Typography) — GS051 */
body {
  font-family: var(--gh-font-body, var(--theme-font-body));
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--gh-font-heading, var(--theme-font-heading));
}
