/* Approved identity. All reusable colour, spacing, type and radius decisions live here. */
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root {
  /* Two restrained accents: evergreen and brass, informed by the original site. */
  --ink:#20231f; --paper:#f5f2ea; --accent:#315547; --slate:#62665e; --stone:#d7d7cd;
  --surface:#eeece3; --white:#fff; --dark-line:#788d80; --on-dark-muted:#dedfd4;
  --brass:#c5a46b; --brass-dark:#826235; --hero-surface:#222a25;
  --font-display:"Source Serif 4",Georgia,serif;
  --font-body:"Source Sans 3","Segoe UI",sans-serif;
  /* 1.25 ratio. Fluid base 16–18px, consecutive steps retain that ratio. */
  --text-xs:clamp(.8rem,.75rem + .25vw,.9rem);
  --text-sm:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-md:clamp(1.25rem,1.1875rem + .3125vw,1.40625rem);
  --text-lg:clamp(1.5625rem,1.4844rem + .3906vw,1.7578rem);
  --text-xl:clamp(1.9531rem,1.8555rem + .4883vw,2.1973rem);
  --text-2xl:clamp(2.4414rem,2.3193rem + .6104vw,2.7466rem);
  --text-3xl:clamp(3.0518rem,2.8992rem + .7629vw,3.4332rem);
  --text-hero:clamp(2.7rem,1.2rem + 3.2vw,4.6rem);
  --text-hero-wide:5.4rem;
  --text-hero-tablet:clamp(2.7rem,5.3vw,4rem);
  --text-hero-mobile:clamp(2.7rem,8.8vw,4.5rem);
  --text-wordmark-compact:1.4rem; --text-label-compact:.78rem;
  --leading-body:1.65; --leading-heading:1.12; --tracking-heading:-.035em;
  --tracking-label:.035em; --measure:68ch;
  /* 8px rhythm, with 4px available only for optical adjustments. */
  --space-half:.25rem; --space-1:.5rem; --space-2:1rem; --space-3:1.5rem;
  --space-4:2rem; --space-5:2.5rem; --space-6:3rem; --space-7:3.5rem;
  --space-8:4rem; --space-10:5rem; --space-12:6rem; --space-16:8rem; --space-20:10rem;
  --gutter:clamp(1.25rem,4.5vw,5rem); --section-space:clamp(4.5rem,8vw,8rem);
  --grid-gap:clamp(1.5rem,3vw,3rem); --site-width:90rem;
  --radius:0; --radius-round:50%; --border-width:1px;
  --focus-width:3px; --focus-offset:5px;
  --motion-duration:480ms; --motion-stagger:60ms; --motion-distance:14px;
  --motion-ease:cubic-bezier(.22,.68,0,1); --transition-fast:180ms;
}
