/*
 * Design tokens: every brand color, font and radius lives here.
 * A sister site only changes the values below (and inc/brand.php for texts and logo).
 * Contrast notes are against white (#fff) unless stated; all text pairs pass WCAG AA.
 */
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/playfair-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Playfair Display";
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/playfair-latin-italic-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-italic-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Metric-matched fallbacks so the swap to the web fonts barely moves text */
@font-face {
  font-family: "Playfair Fallback";
  src: local("Georgia"), local("Times New Roman");
  size-adjust: 111%;
  ascent-override: 97%;
  descent-override: 22%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Source Sans Fallback";
  src: local("Arial"), local("Helvetica");
  size-adjust: 92%;
  ascent-override: 109%;
  descent-override: 31%;
  line-gap-override: 0%;
}

:root {
  /* Brand */
  --c-primary: #0071bc;        /* logo blue, 5.1:1 */
  --c-primary-dark: #005a96;   /* hover, 7.1:1 */
  --c-primary-light: #9ccbec;  /* on navy only */
  --c-primary-tint: #e8f2fb;   /* soft backgrounds, borders */
  --c-primary-tint-2: #eef6fc;
  --c-accent: #0071bc;         /* call to action uses the brand blue */
  --c-accent-dark: #005a96;
  --c-success: #2e7d3a;        /* 5.0:1 */

  /* Category accents (by category slug) */
  --c-cat-dog: #0071bc;
  --c-cat-dog-tint: #e8f2fb;
  --c-cat-cat: #0f6e66;        /* 6.1:1 */
  --c-cat-cat-tint: #e6f4f2;

  /* Neutrals */
  --c-ink: #13202b;            /* headings, 16.4:1 */
  --c-ink-soft: #3d5563;       /* body copy, 7.6:1 */
  --c-muted: #5b7080;          /* meta text, 5.1:1 */
  --c-bg: #fbfdfe;
  --c-surface: #f7fafc;
  --c-card: #ffffff;
  --c-border: #e8f2fb;
  --c-border-strong: #d6e6f3;
  --c-navy: #13202b;           /* dark sections */
  --c-footer-bg: #0f1d29;
  --c-footer-ink: #c7d7e4;     /* on footer bg, 11.6:1 */
  --c-footer-muted: #93a9ba;   /* on footer bg, 7.0:1 */

  /* Type */
  --font-heading: "Playfair Display", "Playfair Fallback", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", "Source Sans Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fs-article: 1.9rem;        /* html is 62.5%, so 1rem = 10px */
  --lh-article: 1.7;
  --measure: 68ch;

  /* Shape */
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(0, 80, 150, .06), 0 1px 3px rgba(0, 80, 150, .06);
  --shadow: 0 4px 18px rgba(0, 80, 150, .08);
  --shadow-lg: 0 14px 36px rgba(0, 80, 150, .14);
  --shadow-cta: 0 10px 26px rgba(0, 113, 188, .28);

  --header-h: 74px;
  --container: 1240px;
}
