:root {
  /* Brand — anchored to Future Bridge Screenshot_7 palette */
  --brand-primary:      #0F2C4F;   /* deep navy — hero background */
  --brand-primary-2:    #123C69;   /* mid navy — cards on navy */
  --brand-primary-3:    #1E4C82;   /* lifted navy — hover, borders */
  --brand-sky:          #EAF3FF;   /* pale cloud */
  --brand-cloud:        #F6FAFF;   /* soft cloud wash */

  /* Accents — warm bridge-to-future */
  --brand-accent:       #F5B942;   /* warm gold — CTAs, highlight rules */
  --brand-accent-hi:    #FFD371;   /* accent hover */
  --brand-accent-2:     #2E8B94;   /* teal secondary — chips */
  --brand-warm:         #F2A365;   /* sunrise warm */

  /* EU / Erasmus — do not alter */
  --eu-blue:            #003399;
  --eu-yellow:          #FFCC00;

  /* Neutrals */
  --ink:                #0B1A2C;
  --ink-2:              #1A1A1A;
  --muted:              #5B6470;
  --muted-2:            #8892A0;
  --line:               #E4E8EE;
  --line-2:             #D8DEE8;
  --bg:                 #FFFFFF;
  --bg-soft:            #F6F8FB;
  --bg-navy:            #0F2C4F;
  --bg-navy-2:          #0A2138;

  /* Feedback / focus */
  --focus:              #F5B942;
  --success:            #2E8B94;
  --danger:             #B4322A;

  /* Type scale */
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Poppins", "Inter", system-ui, sans-serif;
  --font-serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;

  /* Type scale — tightened 2026-08-14. The previous scale ran ~10% large on body
     copy and much larger on display sizes, which read as heavy rather than
     confident. Ratios are now closer to 1.25 so headings step down calmly
     instead of jumping. Change these, not per-page overrides. */
  --fs-xs:   0.74rem;
  --fs-sm:   0.83rem;
  --fs-base: 0.975rem;
  --fs-md:   1.08rem;
  --fs-lg:   1.3rem;
  --fs-xl:   1.72rem;
  --fs-2xl:  2.15rem;
  --fs-3xl:  2.7rem;
  --fs-hero: clamp(2.1rem, 4.2vw, 3.25rem);

  /* Spacing / radius / shadow */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;

  --radius-sm: 10px;
  --radius:    14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  --shadow-sm:  0 2px 8px rgba(15, 44, 79, .08);
  --shadow:     0 8px 28px rgba(15, 44, 79, .10);
  --shadow-lg:  0 22px 60px rgba(15, 44, 79, .18);
  --shadow-glow:0 0 0 4px rgba(245, 185, 66, .28);

  --maxw:      1180px;
  --maxw-text: 68ch;

  /* Motion */
  --ease:      cubic-bezier(.2, .8, .2, 1);
  --dur-fast:  .18s;
  --dur:       .32s;
  --dur-slow:  .6s;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0s; --dur: 0s; --dur-slow: 0s; }
}
