
:root {
  --ink-950:            #05070D;
  --ink-900:            #080B15;
  --navy-900:           #0B1220;
  --navy-800:           #101A2B;
  --navy-700:           #142238;
  --navy-600:           #1E2C44;
  --navy-500:           #2A3B5A;
  --navy-400:           #3E5178;
  --blue-700:           #1D6FD9;
  --blue-600:           #2378E8;
  --blue-500:           #2E8BFF;
  --blue-400:           #58A2FF;
  --blue-300:           #82BAFF;
  --blue-200:           #B3D2FF;
  --cyan-700:           #22B0DE;
  --cyan-600:           #2FC4EE;
  --cyan-500:           #39D2FF;
  --cyan-400:           #62DDFF;
  --cyan-300:           #8CE7FF;
  --slate-500:          #9AAAC4;
  --slate-400:          #B7C3D6;
  --slate-300:          #D4DBE8;
  --white:              #F7FAFF;
  --white-pure:         #FFFFFF;
  --paper-50:           #F7FAFF;
  --paper-100:          #ECF1FA;
  --paper-200:          #D8E0EE;
  --paper-ink:          #0B1220;
  --paper-muted:        #4B5A72;
  --success-500:        #34D399;
  --success-700:        #10864F;
  --warn-500:           #F5B841;
  --warn-700:           #B47A15;
  --danger-500:         #F87171;
  --danger-700:         #B03B3B;
  --color-surface:              var(--navy-900);
  --color-surface-raised:       var(--navy-800);
  --color-surface-sunken:       var(--ink-900);
  --color-surface-inkiest:      var(--ink-950);
  --color-border-hairline:      var(--navy-600);
  --color-border-strong:        var(--navy-500);
  --color-border-interactive:   var(--navy-400);
  --color-text-primary:         var(--white);
  --color-text-muted:           var(--slate-500);
  --color-text-soft:            var(--slate-400);
  --color-text-inverse:         var(--paper-ink);
  --color-text-on-accent:       var(--ink-950);
  --color-accent:               var(--blue-500);
  --color-accent-hover:         var(--blue-600);
  --color-accent-pressed:       var(--blue-700);
  --color-accent-tint:          var(--blue-300);
  --color-accent-wash:          rgba(46, 139, 255, 0.12);
  --color-accent-hot:           var(--cyan-500);
  --color-accent-hot-hover:     var(--cyan-600);
  --color-accent-hot-pressed:   var(--cyan-700);
  --color-accent-hot-wash:      rgba(57, 210, 255, 0.14);
  --color-focus-ring:           var(--cyan-500);
  --color-focus-ring-shadow:    rgba(57, 210, 255, 0.35);
  --color-success:              var(--success-500);
  --color-success-wash:         rgba(52, 211, 153, 0.12);
  --color-warning:              var(--warn-500);
  --color-warning-wash:         rgba(245, 184, 65, 0.14);
  --color-danger:               var(--danger-500);
  --color-danger-wash:          rgba(248, 113, 113, 0.14);
  --color-light-surface:            var(--paper-50);
  --color-light-surface-raised:     var(--white-pure);
  --color-light-border-hairline:    var(--paper-200);
  --color-light-text-primary:       var(--paper-ink);
  --color-light-text-muted:         var(--paper-muted);
  --badge-likely-fill:          var(--color-accent-wash);
  --badge-likely-ink:           var(--blue-300);
  --badge-possible-fill:        var(--color-accent-hot-wash);
  --badge-possible-ink:         var(--cyan-400);
  --badge-onsite-fill:          var(--color-warning-wash);
  --badge-onsite-ink:           var(--warn-500);
  --badge-unlikely-fill:        rgba(154, 170, 196, 0.12);
  --badge-unlikely-ink:         var(--slate-400);
  --font-sans:
      system-ui,
      -apple-system,
      "Segoe UI",
      Roboto,
      "Helvetica Neue",
      Arial,
      "Noto Sans",
      sans-serif;
  --font-display:
      "Inter Tight",
      "Inter",
      var(--font-sans);
  --font-mono:
      ui-monospace,
      "SF Mono",
      "JetBrains Mono",
      Menlo,
      Consolas,
      monospace;
  --fs-100:  0.75rem;
  --fs-200:  clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem);
  --fs-300:  clamp(0.9375rem, 0.90rem + 0.20vw, 1rem);
  --fs-400:  clamp(1rem,       0.94rem + 0.30vw, 1.125rem);
  --fs-500:  clamp(1.125rem,   1.05rem + 0.35vw, 1.25rem);
  --fs-600:  clamp(1.375rem,   1.24rem + 0.60vw, 1.625rem);
  --fs-700:  clamp(1.75rem,    1.52rem + 1.05vw, 2.25rem);
  --fs-800:  clamp(2.125rem,   1.72rem + 1.85vw, 3rem);
  --fs-900:  clamp(2.5rem,     1.90rem + 2.75vw, 3.75rem);
  --fs-hero: clamp(2.75rem,    2.05rem + 3.20vw, 4.25rem);
  --lh-tight:    1.10;
  --lh-snug:     1.25;
  --lh-normal:   1.55;
  --lh-relaxed:  1.70;
  --fw-regular:   400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;
  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.06em;
  --tracking-caps:    0.14em;
  --measure-narrow:  52ch;
  --measure-body:    66ch;
  --measure-wide:    78ch;
  --space-0:   0;
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.5rem;
  --space-6:   2rem;
  --space-7:   3rem;
  --space-8:   4rem;
  --space-9:   6rem;
  --space-10:  8rem;
  --section-y:        clamp(3.5rem, 3rem + 4.5vw, 6.5rem);
  --section-y-tight:  clamp(2rem,   1.75rem + 2.5vw, 3.5rem);
  --section-y-loose:  clamp(5rem,   4rem + 6vw,     8.5rem);
  --container-x:      clamp(1rem, 0.7rem + 2.2vw, 2rem);
  --container-max:      1200px;
  --container-wide:     1360px;
  --container-narrow:    860px;
  --container-tight:     640px;
  --header-h-mobile:    58px;
  --header-h-desktop:   72px;
  --progress-h:         3px;
  --radius-xs:    2px;
  --radius-sm:    4px;
  --radius-md:    8px;
  --radius-lg:    14px;
  --radius-xl:    22px;
  --radius-2xl:   32px;
  --radius-pill:  999px;
  --border-w-hairline: 1px;
  --border-w-strong:   2px;
  --hairline:          var(--border-w-hairline) solid var(--color-border-hairline);
  --hairline-strong:   var(--border-w-hairline) solid var(--color-border-strong);
  --hairline-accent:   var(--border-w-hairline) solid var(--color-accent-tint);
  --hairline-light:    var(--border-w-hairline) solid var(--color-light-border-hairline);
  --shadow-sm:
      0 1px 2px rgba(5, 7, 13, 0.55),
      0 1px 1px rgba(5, 7, 13, 0.40);
  --shadow-md:
      0 8px 24px -6px rgba(5, 7, 13, 0.65),
      0 2px 8px       rgba(5, 7, 13, 0.40);
  --shadow-lg:
      0 24px 60px -12px rgba(5, 7, 13, 0.78),
      0 6px 18px         rgba(5, 7, 13, 0.48);
  --shadow-glow-blue:
      0 0 0 1px rgba(46, 139, 255, 0.35),
      0 10px 28px -8px rgba(46, 139, 255, 0.42);
  --shadow-glow-cyan:
      0 0 0 1px rgba(57, 210, 255, 0.40),
      0 10px 28px -8px rgba(57, 210, 255, 0.45);
  --shadow-focus:
      0 0 0 3px var(--color-focus-ring-shadow);
  --shadow-inset-hairline:
      inset 0 0 0 1px var(--color-border-hairline);
  --dur-instant:   80ms;
  --dur-fast:      140ms;
  --dur-base:      220ms;
  --dur-slow:      380ms;
  --dur-hero:      620ms;
  --ease-standard:    cubic-bezier(0.20, 0.70, 0.20, 1.00);
  --ease-emphasized:  cubic-bezier(0.16, 1.00, 0.30, 1.00);
  --ease-exit:        cubic-bezier(0.40, 0.00, 1.00, 1.00);
  --ease-in-out:      cubic-bezier(0.55, 0.10, 0.30, 1.00);
  --scrim-hero:
      linear-gradient(
          90deg,
          var(--navy-900) 0%,
          rgba(11, 18, 32, 0.94) 32%,
          rgba(11, 18, 32, 0.55) 60%,
          rgba(11, 18, 32, 0.15) 100%);
  --scrim-hero-vertical:
      linear-gradient(
          180deg,
          rgba(5, 7, 13, 0.15) 0%,
          rgba(11, 18, 32, 0.55) 55%,
          var(--navy-900) 100%);
  --wash-band-accent:
      linear-gradient(180deg,
          rgba(46, 139, 255, 0.06) 0%,
          rgba(11, 18, 32, 0) 60%);
  --wash-band-cyan:
      linear-gradient(180deg,
          rgba(57, 210, 255, 0.05) 0%,
          rgba(11, 18, 32, 0) 55%);
  --pattern-grid:
      url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'>\
<path d='M0 0.5H32M0.5 0V32' stroke='%232E8BFF' stroke-opacity='0.05' stroke-width='0.5'/>\
</svg>");
  --grid-gap:            clamp(1rem, 0.85rem + 0.7vw, 1.75rem);
  --grid-gap-tight:      clamp(0.75rem, 0.65rem + 0.4vw, 1.25rem);
  --grid-min-card:       min(100%, 260px);
  --grid-min-pillar:     min(100%, 200px);
  --grid-min-form:       min(100%, 260px);
  --z-below:      -1;
  --z-base:        0;
  --z-raised:      10;
  --z-sticky:      20;
  --z-header:      40;
  --z-menu:        45;
  --z-modal:       60;
  --z-toast:       80;
  --z-skip-link:  100;
  --focus-ring:            2px solid var(--color-focus-ring);
  --focus-ring-offset:     2px;
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-instant: 0ms;
    --dur-fast:    0ms;
    --dur-base:    0ms;
    --dur-slow:    0ms;
    --dur-hero:    0ms;
  }
}

@media print {
  :root {
    --color-surface:            #ffffff;
    --color-surface-raised:     #ffffff;
    --color-surface-sunken:     #ffffff;
    --color-surface-inkiest:    #ffffff;
    --color-text-primary:       #05070D;
    --color-text-muted:         #4B5A72;
    --color-text-soft:          #1E2C44;
    --color-border-hairline:    #C7D0DE;
    --color-border-strong:      #8898B0;
    --color-accent:             #05070D;
    --color-accent-hot:         #05070D;
  }
}
