/* tokens.css · GENERATED by tools/build-theme-tokens.js from spec/design-tokens.json.
   Do not edit by hand. Every colour, size, and spacing value on the site starts here. */
:root {
  /* colour */
  --twf-blue: #204098;
  --twf-blue-deep: #162C6B;
  --twf-blue-tint: #E6EAF5;
  --twf-green: #08A048;
  --twf-green-deep: #067A37;
  --twf-green-tint: #E3F5EA;
  --twf-orange: #F4941C;
  --twf-orange-tint: #FEF1E1;
  --twf-red: #E81820;
  --twf-ink: #141B2E;
  --twf-ink-soft: #4A5270;
  --twf-paper: #FFFFFF;
  --twf-mist: #F3F5FA;
  --twf-line: #D5DAE8;
  --twf-on-dark: #FFFFFF;
  --twf-on-dark-soft: #C9D0E6;

  /* the only gradient on the site */
  --twf-gradient-hero: linear-gradient(112deg, #204098 0%, #162C6B 100%);

  /* type families */
  --twf-font-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  --twf-font-body: "Public Sans", "Segoe UI", Roboto, Arial, sans-serif;

  /* type scale, fluid between 375px and 1440px */
  --twf-size-display-1: clamp(2.5rem, 1.8838rem + 2.6291vw, 4.25rem);
  --twf-line-display-1: 1.02;
  --twf-track-display-1: -0.02em;
  --twf-weight-display-1: 700;
  --twf-size-display-2: clamp(2.125rem, 1.7289rem + 1.6901vw, 3.25rem);
  --twf-line-display-2: 1.06;
  --twf-track-display-2: -0.015em;
  --twf-weight-display-2: 700;
  --twf-size-h2: clamp(1.75rem, 1.5739rem + 0.7512vw, 2.25rem);
  --twf-line-h2: 1.12;
  --twf-track-h2: -0.01em;
  --twf-weight-h2: 700;
  --twf-size-h3: clamp(1.25rem, 1.2060rem + 0.1878vw, 1.375rem);
  --twf-line-h3: 1.25;
  --twf-track-h3: 0em;
  --twf-weight-h3: 700;
  --twf-size-stat: clamp(2.5rem, 2.1479rem + 1.5023vw, 3.5rem);
  --twf-line-stat: 1;
  --twf-track-stat: -0.02em;
  --twf-weight-stat: 700;
  --twf-size-quote: clamp(1.375rem, 1.2430rem + 0.5634vw, 1.75rem);
  --twf-line-quote: 1.3;
  --twf-track-quote: -0.005em;
  --twf-weight-quote: 500;
  --twf-size-lead: clamp(1.125rem, 1.0810rem + 0.1878vw, 1.25rem);
  --twf-line-lead: 1.5;
  --twf-track-lead: 0em;
  --twf-weight-lead: 400;
  --twf-size-body: clamp(1rem, 0.9780rem + 0.0939vw, 1.0625rem);
  --twf-line-body: 1.6;
  --twf-track-body: 0em;
  --twf-weight-body: 400;
  --twf-size-small: 0.9375rem;
  --twf-line-small: 1.5;
  --twf-track-small: 0em;
  --twf-weight-small: 400;
  --twf-size-eyebrow: 0.875rem;
  --twf-line-eyebrow: 1.3;
  --twf-track-eyebrow: 0em;
  --twf-weight-eyebrow: 600;
  --twf-size-button: 1rem;
  --twf-line-button: 1;
  --twf-track-button: 0em;
  --twf-weight-button: 600;

  /* measure */
  --twf-measure-body: 68ch;
  --twf-measure-lead: 58ch;
  --twf-measure-heading: 22ch;

  /* spacing */
  --twf-space-1: 0.25rem;
  --twf-space-2: 0.5rem;
  --twf-space-3: 0.75rem;
  --twf-space-4: 1rem;
  --twf-space-5: 1.5rem;
  --twf-space-6: 2rem;
  --twf-space-7: 3rem;
  --twf-space-8: 4rem;
  --twf-space-9: 6rem;
  --twf-space-10: 8rem;
  --twf-space-band-desktop: 6rem;
  --twf-space-band-tablet: 4.5rem;
  --twf-space-band-mobile: 3.5rem;
  --twf-space-band-tight-desktop: 4rem;
  --twf-space-band-tight-tablet: 3rem;
  --twf-space-band-tight-mobile: 2.5rem;
  --twf-space-gutter-desktop: 2rem;
  --twf-space-gutter-mobile: 1.25rem;
  --twf-space-grid-gap-desktop: 2rem;
  --twf-space-grid-gap-mobile: 1.25rem;

  /* containers */
  --twf-container-content: 72rem;
  --twf-container-wide: 84rem;
  --twf-container-narrow: 44rem;

  /* radius, shadow, border */
  --twf-radius-none: 0;
  --twf-radius-sm: 0.25rem;
  --twf-radius-md: 0.5rem;
  --twf-radius-pill: 999px;
  --twf-shadow-card: 0 1px 2px rgba(20, 27, 46, 0.06), 0 8px 24px rgba(32, 64, 152, 0.08);
  --twf-border-hairline: 1px solid #D5DAE8;
  --twf-border-rule-accent: 3px solid #F4941C;

  /* motion */
  --twf-duration-fast: 150ms;
  --twf-duration-draw: 900ms;
  --twf-ease: cubic-bezier(0.2, 0.7, 0.2, 1);

  /* section accent colours, one per program page */
  --twf-section-life-discovery-classroom: #F4941C;
  --twf-section-credentials: #08A048;
  --twf-section-apprenticeships: #204098;
  --twf-section-regional-education-partnership: #162C6B;

  /* trajectory stroke widths */
  --twf-trajectory-stroke-green: 14px;
  --twf-trajectory-stroke-orange: 8px;
  --twf-trajectory-stroke-red: 8px;
  --twf-trajectory-stroke-blue: 10px;

  /* header heights, DESIGN-INTENT section 2 */
  --twf-header-expanded: 112px;
  --twf-header-shrunk: 80px;
}

/* AGENTS 6.6: no text under 16px at 375px. Desktop sizes are unchanged. */
@media (max-width: 767px) {
  :root {
    --twf-size-small: 1rem;
    --twf-size-eyebrow: 1rem;
  }
}
