/* EarthCorp Foundation: brand tokens (v2, Nov 4, 2026)
   Sampled from EC_Colour Guide_2015.pdf (rendered with pdftoppm -r 100, swatches read with PIL):
     Primary        PANTONE 98-16 U   #22103B  deep purple
     Highlight      PANTONE 3-2 U     #E2DFA7  beige (co-primary per TY, Nov 2026)
     Accent         PANTONE 10-7 U    #FBC127  gold (dividers, rules, outlines only)
     Shade          PANTONE 179-15 U  #2E2A2B  warm charcoal (body text)
     Accent         PANTONE 53-8 U    #C5172D  red (form errors only)
     Accent         PANTONE 112-10 U  #A8D0EB  light blue (not used in the UI)
   Rule 1: no spot green (greens appear only in photography). Rule 2: logotype in Primary + Highlight together.
   Tints below are mixes of the sampled colours with white; contrast ratios noted are WCAG 2.x. */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-latin-wght-normal-v2.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --purple:#22103B;      /* primary; on white 17.6:1, on beige 12.7:1 */
  --purple-800:#2F1A4F;  /* hover on dark */
  --purple-600:#4A2F7A;  /* secondary text/links on light, 10.6:1 on white */
  --purple-200:#D9D4E4;  /* text on purple, 12.0:1 */
  --beige:#E2DFA7;       /* highlight / co-primary */
  --beige-300:#ECEAC6;   /* tint */
  --beige-100:#F4F3DF;   /* tint */
  --cream:#FAF9EF;       /* page alt background */
  --gold:#FBC127;        /* decorative accent; on purple 10.6:1 */
  --gold-ink:#7A5C00;    /* gold-family text on light, 5.8:1 on cream */
  --shade:#2E2A2B;       /* body text, 14.2:1 on white */
  --muted:#5E5560;       /* secondary text, 6.6:1 on cream */
  --line:#E3DFC2;        /* hairlines on light */
  --red:#C5172D;         /* errors only, 5.9:1 on white */
  --sky:#A8D0EB;
  --white:#FFFFFF;
  --radius:12px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(34,16,59,.06);
  --shadow:0 1px 2px rgba(34,16,59,.05),0 8px 24px rgba(34,16,59,.07);
  --shadow-lg:0 2px 4px rgba(34,16,59,.06),0 18px 40px rgba(34,16,59,.12);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.7;color:var(--shade);background:var(--white);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--purple-600);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--purple)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--purple);font-weight:560;line-height:1.15;letter-spacing:-.012em;margin:0 0 .5em;font-optical-sizing:auto}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.65rem,3.2vw,2.45rem)}
h3{font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:600;letter-spacing:-.005em}
p{margin:0 0 1.1em}
strong{font-weight:650}
::selection{background:var(--beige);color:var(--purple)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.on-light :focus-visible,main :focus-visible{outline-color:var(--purple-600)}
