/* ==========================================================================
   Typography — one scale for every page except the home page.
   Two typefaces only: Cormorant Garamond for headlines, Manrope for everything else.
   The home page (body.page-home) is deliberately left exactly as it was.

   Loaded last on every other page. The rules use !important on purpose: this file is the
   single source of truth for type, so a component stylesheet can't quietly drift again.
   To change a size site-wide (home excepted), change the token below.
   ========================================================================== */
body:not(.page-home) {
  --font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ds-font-body: var(--font-sans);
  --font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;

  /* Sizes (fluid between a phone and a wide screen) */
  --t-h1: clamp(2.25rem, 1.4rem + 2.8vw, 3.5rem);      /* 56px  page titles */
  --t-h2: clamp(1.875rem, 1.3rem + 1.8vw, 2.75rem);    /* 44px  section titles */
  --t-h3: clamp(1.2rem, 1rem + .7vw, 1.375rem);        /* 22px  card and item titles */
  --t-quote: clamp(1.25rem, 1.1rem + .7vw, 1.6rem);    /* 25.6px pull quotes and statements */
  --t-numeral: 1.75rem;                                /* 28px  Roman numerals */
  --t-lead: clamp(1.0625rem, 1rem + .25vw, 1.125rem);  /* 18px  intro paragraphs */
  --t-body: 1rem;                                      /* 16px  body text everywhere */
  --t-small: .875rem;                                  /* 14px  footer, notes, menus */
  --t-label: .75rem;                                   /* 12px  uppercase labels, buttons, captions */

  /* Weights, line heights, tracking */
  --w-head: 600;
  --lh-head: 1.12;
  --lh-body: 1.65;
  --ls-label: .16em;

  font-family: var(--font-sans) !important;
}

/* ---------- Headlines: Cormorant Garamond ---------- */
body:not(.page-home) :is(h1, h2, h3, .statement, .pull, .story-quote footer, .diff-num, .num) {
  font-family: var(--font-serif) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body:not(.page-home) h1 { font-size: var(--t-h1) !important; font-weight: var(--w-head) !important; line-height: var(--lh-head) !important; }
body:not(.page-home) h2 { font-size: var(--t-h2) !important; font-weight: var(--w-head) !important; line-height: var(--lh-head) !important; }
body:not(.page-home) main h3,
body:not(.page-home) .serve-q button { font-size: var(--t-h3) !important; font-weight: 700 !important; line-height: 1.2 !important; font-family: var(--font-serif) !important; }

/* "Our VISION / Our MISSION / Our CORE VALUES" lockups keep their two-line shape, sized from the scale */
body:not(.page-home) .mv-our { font-size: var(--t-h3) !important; font-weight: 700 !important; line-height: 1 !important; font-family: var(--font-serif) !important; text-transform: none !important; letter-spacing: 0 !important; }
body:not(.page-home) .mv-word { font-size: var(--t-h1) !important; font-weight: 700 !important; line-height: 1 !important; font-family: var(--font-serif) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }

/* Pull quotes and statements */
body:not(.page-home) :is(.statement, .pull, blockquote.pull, main p.statement) { font-size: var(--t-quote) !important; font-weight: 500 !important; line-height: 1.4 !important; }
body:not(.page-home) .story-quote footer { font-size: var(--t-body) !important; font-style: italic; font-weight: 500 !important; line-height: 1.4 !important; }

/* Roman numerals (and 01, 02… numbers) */
body:not(.page-home) :is(.num, .diff-num) { font-size: var(--t-numeral) !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: .04em !important; }

/* ---------- Body text: Manrope ---------- */
body:not(.page-home) main :is(p, li, dd, td, address) { font-size: var(--t-body) !important; font-weight: 400 !important; line-height: var(--lh-body) !important; letter-spacing: 0 !important; }
body:not(.page-home) main strong, body:not(.page-home) main b { font-weight: 700 !important; }
body:not(.page-home) main .lead, body:not(.page-home) main p.intro { font-size: var(--t-lead) !important; line-height: 1.6 !important; }
body:not(.page-home) main :is(.form-note, .form-status, .error, .field .error) { font-size: var(--t-small) !important; line-height: 1.6 !important; }
body:not(.page-home) main .cta-band a { font-weight: 600 !important; }
body:not(.page-home) .story-quote p { font-size: var(--t-body) !important; line-height: var(--lh-body) !important; }

/* Form fields */
body:not(.page-home) :is(input, select, textarea, option) { font-family: var(--font-sans) !important; font-size: var(--t-body) !important; font-weight: 400 !important; letter-spacing: 0 !important; }

/* ---------- Labels: small uppercase Manrope ---------- */
body:not(.page-home) :is(
  .eyebrow, .tl-when, .role, .proc-when, main label, .field label, .req, .btn, .text-link, .breadcrumbs, .breadcrumbs a,
  .site-footer h4, .info-list h4, .nav-link, .skip-link, .offering-tag, .offering-toggle
) {
  font-family: var(--font-sans) !important; font-size: var(--t-label) !important; font-weight: 600 !important;
  letter-spacing: var(--ls-label) !important; text-transform: uppercase !important; line-height: 1.4 !important;
}
body:not(.page-home) .breadcrumbs, body:not(.page-home) .breadcrumbs a { font-weight: 600 !important; }
body:not(.page-home) .skip-link { font-size: var(--t-body) !important; letter-spacing: 0 !important; text-transform: none !important; }
body:not(.page-home) .field .req { color: inherit; }

/* ---------- Header, menus and footer ---------- */
body:not(.page-home) .dropdown a, body:not(.page-home) .site-nav .dropdown li a { font-family: var(--font-sans) !important; font-size: var(--t-small) !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.4 !important; }
body:not(.page-home) .brand-sub { font-family: var(--font-sans) !important; }
body:not(.page-home) .site-footer :is(p, li, a, span) { font-family: var(--font-sans) !important; font-size: var(--t-small) !important; font-weight: 400 !important; line-height: 1.6 !important; letter-spacing: 0 !important; }
body:not(.page-home) .site-footer .footer-disclaimer, body:not(.page-home) .site-footer .footer-disclaimer a,
body:not(.page-home) .site-footer .footer-bottom span, body:not(.page-home) .site-footer .footer-bottom a { font-size: var(--t-label) !important; line-height: 1.6 !important; letter-spacing: 0 !important; }
body:not(.page-home) .site-footer .brand-sub { font-size: .58rem !important; letter-spacing: .32em !important; text-transform: uppercase !important; font-weight: 400 !important; }
body:not(.page-home) .site-footer .brand-name { font-family: var(--font-serif) !important; font-size: 1.55rem !important; font-weight: 700 !important; letter-spacing: .08em !important; line-height: 1 !important; }
body:not(.page-home) .nav-item-login .nav-link { font-size: var(--t-label) !important; }
body:not(.page-home) .site-footer h4 a { font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }

/* ---------- Mobile ---------- */
@media (max-width: 860px) {
  body:not(.page-home) .nav-link { font-size: var(--t-small) !important; letter-spacing: .12em !important; }
}

body:not(.page-home) .serve-q button span { font: inherit !important; }

/* The Mission panel's two paragraphs read as one voice: plain body text, no serif statement */
body:not(.page-home) .about-mv .mv-box p.statement { font-family: var(--font-sans) !important; font-size: var(--t-body) !important; font-weight: 400 !important; line-height: var(--lh-body) !important; letter-spacing: 0 !important; color: inherit !important; }
