/* ================================================================
   SHARED DESIGN TOKENS — loaded on every page
   Single source of truth. All page CSS files reference these.
   ================================================================ */
:root {
  --primary:        #011550;
  --primary-mid:    #1b2c65;
  --crimson:        #950329;
  --coral:          #f95866;
  --gold:           #f4bf44;
  --surface:        #faf8ff;
  --surface-low:    #f3f2ff;
  --surface-cont:   #ebedff;
  --surface-high:   #e4e7ff;
  --surface-highest:#dce1ff;
  --on-surface:     #121a37;
  --on-surface-var: #454650;
  --outline-var:    #c5c5d1;
  --on-primary:     #ffffff;

  --f-display: 'Plus Jakarta Sans', sans-serif;
  --f-body:    'Inter', sans-serif;

  --fs-xs:   0.75rem;
  --fs-sm:   0.875rem;
  --fs-base: 1rem;
  --fs-md:   1.125rem;
  --fs-lg:   1.5rem;
  --fs-xl:   2rem;

  --shadow-sm:  0 2px 8px rgba(1,21,80,0.06);
  --shadow-md:  0 4px 24px rgba(1,21,80,0.10);
  --shadow-lg:  0 8px 48px rgba(1,21,80,0.14);

  --ease: all 0.25s cubic-bezier(0.4,0,0.2,1);

  /* Typography scale */
  --fs-display:   56px;
  --fs-display-m: 36px;
  --fs-head-lg:   32px;
  --fs-head-md:   24px;
  --fs-body-lg:   18px;
  --fs-body-md:   16px;
  --fs-label-md:  14px;
  --fs-label-sm:  12px;

  --lh-display:   64px;
  --lh-display-m: 44px;
  --lh-head-lg:   40px;

  --ls-tight:   -0.02em;
  --ls-wide:     0.06em;
  --ls-widest:   0.2em;

  --max-w:       1280px;
  --section-gap: 96px;

  --section-gap: 96px;
  --gutter:      32px;
}

/* ── Global link reset — prevents browser default underlines ── */
*, *::before, *::after { box-sizing: border-box; }
a { text-decoration: none; color: inherit; transition: color 0.2s ease; }
ul { list-style: none; padding: 0; margin: 0; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
img { display: block; max-width: 100%; }
