/* DFPC Design System - Phase 0 foundation (fonts + tokens).
   Loaded as an EXCLUDED stylesheet (WP Rocket exclude_css) so RUCSS/minify never strips it.
   Visually inert on its own: only declares @font-face + :root variables. */

/* ---- self-hosted fonts (variable, swap) ---- */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/newsreader-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/newsreader-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url(../fonts/newsreader-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url(../fonts/newsreader-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/atkinsonnext-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:italic;font-weight:200 800;font-display:swap;src:url(../fonts/atkinsonnext-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/atkinsonnext-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Atkinson Hyperlegible Next';font-style:italic;font-weight:200 800;font-display:swap;src:url(../fonts/atkinsonnext-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:'Lora';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/lora-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/lora-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lora';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/lora-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 700;font-display:swap;src:url(../fonts/lora-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

@font-face{font-family:'Merriweather';font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/merriweather-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Merriweather';font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/merriweather-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Merriweather';font-style:italic;font-weight:300 900;font-display:swap;src:url(../fonts/merriweather-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Merriweather';font-style:italic;font-weight:300 900;font-display:swap;src:url(../fonts/merriweather-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/sourceserif-latin-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(../fonts/sourceserif-latin-ext-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(../fonts/sourceserif-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(../fonts/sourceserif-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
/* Fraunces (variable opsz+wght) - Canela-like serif for headings. Self-hosted, OFL. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/fraunces-latin-normal.woff2) format('woff2');}
/* Heading-font preview options (?dfpcfont=gilda|butler): Gilda Display (single master,
   declared 100-900 so bold headings show the real letterforms, not faux-bold) + Butler
   (Regular + Bold; CC-BY-SA, Fabian De Smet). */
@font-face{font-family:'Gilda Display';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/gilda-display-latin-normal.woff2) format('woff2');}
@font-face{font-family:'Butler';font-style:normal;font-weight:100 400;font-display:swap;src:url(../fonts/butler-latin-normal.woff) format('woff');}
@font-face{font-family:'Butler';font-style:normal;font-weight:500 900;font-display:swap;src:url(../fonts/butler-latin-bold.woff) format('woff');}

/* ---- brand design tokens ---- */
:root{
  --bg:#faf8f4;--surface:#fff;--ink:#1e2d36;--heading:#213c4c;--muted:#51616a;--line:#e7ece9;
  --link:#1366c9;--mint:#3ddf9b;--mint-600:#2bc486;--mint-050:#e9faf2;--blue:#329dff;--amber:#f6a609;
  --font-heading:"Source Serif 4",Georgia,serif;--font-body:"Lexend",system-ui,-apple-system,sans-serif;--font-head:"Lexend",system-ui,-apple-system,sans-serif;
  --measure:65ch;--lh-body:1.6;--lh-tight:1.15;
  --step-h1:clamp(2.0625rem,1.730rem + 1.477vw,2.875rem);
  --step-h2:clamp(1.8125rem,1.608rem + 0.909vw,2.3125rem);
  --step-h3:clamp(1.5rem,1.347rem + 0.682vw,1.875rem);
  --step-h4:clamp(1.25rem,1.148rem + 0.455vw,1.5rem);
  --step-body:1rem;
  --step-small:clamp(0.875rem,0.849rem + 0.114vw,0.9375rem);
  --pad-inline:clamp(1rem,5vw,1.5rem);
}

/* ---- content links: the child theme owns their typography ----
   Bare in-content links inherit the size / weight / family / leading of the text they
   sit in, instead of the Elementor kit's fixed `.elementor-kit-930 a` (Lexend 16px/500).
   Bare links only (:not([class])) so buttons + widgets, which carry their own classes and
   fonts (Roboto), are untouched. Specificity 0,2,1 beats the kit's 0,1,1. Colour stays
   per-context (prose = brand link via the hub rules, byline = navy). */
.entry-content a:not([class]){
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}

/* ---- Option B on Elementor pages ----
   Elementor heading widgets across the site have "Lexend" baked in per-widget (not via the
   global font or kit default), so the kit/global change can't reach them. Force the serif
   heading font on the heading-title element. !important beats the per-widget inline rule
   (which is not !important). Sizes/weights/colors untouched - family only. */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.elementor-post__title, .elementor-post__title a,
.woocommerce-loop-product__title,
h1.product_title, .product_title.entry-title {
  font-family:var(--font-heading,"Source Serif 4",Georgia,serif) !important;
}
