/* ==========================================================================
   Reason Education — design tokens
   Every colour, size and shadow on the site resolves to something in here.
   ========================================================================== */

@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans-latin-400-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:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans-latin-500-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:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans-latin-600-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:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans-latin-700-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:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;
  src:url('/assets/fonts/plus-jakarta-sans-latin-800-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;}

:root{
  /* ---- brand colour ---- */
  /* #009E7F is the mockup green. White text on it is only 3.4:1, which fails
     WCAG 2.1 AA — so it stays a decorative colour (icons, shapes, illustration)
     and anything carrying white text uses --green-ui (4.8:1) or darker. */
  --green:#009E7F;
  --green-ui:#00816A;
  --green-700:#00816A;
  --green-800:#006B58;
  --green-050:#E6F5F1;

  --blue:#1878F0;          /* decorative */
  --blue-ui:#1470E4;       /* 4.7:1 with white text */
  --blue-ink:#0B57B8;      /* 6.8:1 on white — headings, links */
  --blue-050:#E9F2FE;
  --orange:#FF4A2E;        /* decorative */
  --orange-ui:#D6371B;     /* 4.8:1 with white text */
  --orange-ink:#C42F14;    /* 5.6:1 on white — headings, links */
  --orange-050:#FFEDE9;
  --yellow:#FDB203;
  --yellow-050:#FFF4DC;
  --teal-pale:#CAEAE8;
  --leaf:#75C89A;

  /* ---- text ---- */
  --ink:#17205E;          /* headings */
  --ink-body:#4F5691;     /* body copy — 5.9:1 on white */
  --ink-muted:#666CA0;    /* captions, meta — 5.0:1 on white */

  /* ---- surfaces ---- */
  --white:#FFFFFF;
  --paper:#FAFAF7;        /* warm page background */
  --band:#F6FAFD;         /* pale blue section band */
  --line:#E4EBF3;         /* card + divider border */

  /* ---- shape ---- */
  --r-sm:8px;
  --r-md:14px;
  --r-lg:22px;
  --r-xl:32px;
  --r-pill:999px;

  --shadow-sm:0 1px 2px rgba(23,32,94,.05), 0 2px 6px rgba(23,32,94,.05);
  --shadow-md:0 2px 6px rgba(23,32,94,.05), 0 10px 26px rgba(23,32,94,.07);
  --shadow-lg:0 4px 12px rgba(23,32,94,.06), 0 24px 60px rgba(23,32,94,.10);
  --shadow-cta:0 6px 18px rgba(0,129,106,.30);

  /* ---- type ---- */
  --font:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --fs-eyebrow:clamp(.875rem, .82rem + .2vw, .95rem);
  --fs-h1:clamp(2.15rem, 1.5rem + 2.6vw, 3.4rem);
  --fs-h2:clamp(1.75rem, 1.35rem + 1.8vw, 2.75rem);
  --fs-h3:clamp(1.15rem, 1.05rem + .45vw, 1.4rem);
  --fs-lead:clamp(1.03rem, .98rem + .35vw, 1.19rem);
  --fs-body:1rem;
  --fs-small:.9rem;

  /* ---- layout ---- */
  --wrap:1200px;
  --gutter:clamp(1.25rem, .8rem + 2vw, 3rem);
  --header-h:76px;

  /* ---- motion ---- */
  --ease-out:cubic-bezier(.22,.68,.32,1);
  --ease-spring:cubic-bezier(.34,1.42,.5,1);
  --dur:.62s;
}
