@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap");

:root {

  --gold-50:  #fbf4dd;
  --gold-100: #f5e4b3;
  --gold-200: #eed88f;
  --gold-300: #e8c765;
  --gold-400: #f3c64a;
  --gold-500: #d3a62f;
  --gold-600: #c89a17;
  --gold-700: #a67f14;
  --gold-800: #6e5410;
  --gold-900: #3d2f09;

  --navy-950: #010313;
  --navy-900: #00090e;
  --navy-800: #01121b;
  --navy-700: #12283d;
  --navy-600: #23405d;
  --navy-500: #325371;
  --navy-400: #657d94;
  --navy-300: #9fb0c0;
  --navy-200: #cfd8e0;

  --ink-900: #0c1416;
  --ink-800: #1c2c2e;
  --ink-700: #2e4547;
  --ink-600: #43585a;
  --ink-500: #5a6a6c;
  --ink-400: #8a9a9c;
  --ink-300: #b3bfc0;
  --ink-200: #d7dedf;
  --ink-100: #ecefef;

  --paper:   #ffffff;
  --paper-2: #f7f8f8;
  --paper-3: #ecefef;

  --data-cyan:        #3fa9c9;
  --data-cyan-bright: #6fd7ef;
  --data-blue:        #1e6fa8;
  --data-indigo:      #123a63;
  --data-magenta:     #b4407a;

  --surface-page:        var(--paper);
  --surface-subtle:      var(--paper-2);
  --surface-sunken:      var(--paper-3);
  --surface-card:        var(--paper);
  --surface-dark:        var(--navy-950);

  --device-shadow:     #000000;

  --surface-dark-alt:    var(--navy-950);
  --surface-dark-raised: var(--navy-800);
  --surface-card-dark:   rgba(255,255,255,.05);
  --surface-glass:       rgba(1,3,19,.55);

  --text-heading:        var(--ink-900);
  --text-body:           var(--ink-600);
  --text-strong:         var(--ink-700);
  --text-muted:          var(--ink-500);
  --text-nav:            var(--navy-500);
  --text-accent:         var(--gold-800);
  --text-on-dark:        #ffffff;
  --text-on-dark-body:   rgba(255,255,255,.74);
  --text-on-dark-muted:  rgba(255,255,255,.52);
  --text-accent-on-dark: #c79f3d;

  --status-error:            #9e2b2b;
  --status-error-on-dark:    #ef8f86;
  --status-success:          #1e6b4b;
  --status-success-on-dark:  #5fcb9e;

  --border-hairline:       var(--ink-200);
  --border-strong:         var(--ink-300);
  --border-on-dark:        rgba(255,255,255,.14);
  --border-on-dark-strong: rgba(255,255,255,.28);
  --border-gold:           var(--gold-700);

  --accent:        var(--gold-500);
  --accent-strong: var(--gold-600);
  --accent-soft:   var(--gold-100);

  --btn-gold:       var(--gold-600);
  --btn-gold-hover: var(--gold-500);
  --btn-gold-border:var(--gold-600);
  --btn-gold-text:  var(--navy-950);

  --focus-ring:     0 0 0 2px var(--paper), 0 0 0 4px var(--gold-800);

  --scrim-bottom: linear-gradient(180deg,rgba(1,3,19,0) 0%,rgba(1,3,19,.72) 62%,rgba(1,3,19,.94) 100%);
  --scrim-left:   linear-gradient(90deg,rgba(1,3,19,.93) 0%,rgba(1,3,19,.72) 42%,rgba(1,3,19,0) 78%);
  --scrim-flat:   rgba(1,3,19,.62);

  --font-sans:    "Figtree","Helvetica Neue",Arial,sans-serif;
  --font-serif:   "Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --font-display: var(--font-serif);
  --font-mono:    ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --fw-light:300; --fw-regular:400; --fw-medium:500;
  --fw-semibold:600; --fw-bold:700; --fw-black:800;

  --fs-hero:66px;  --lh-hero:1.06;
  --fs-h1:54px;    --lh-h1:1.08;
  --fs-h2:40px;    --lh-h2:1.14;
  --fs-h3:23px;    --lh-h3:1.28;
  --fs-h4:19px;    --lh-h4:1.34;

  --fs-body-lg:19px; --lh-body-lg:1.6;
  --fs-body:17px;    --lh-body:1.62;
  --fs-body-sm:15px; --lh-body-sm:1.6;
  --fs-caption:13px; --lh-caption:1.5;

  --fs-label:11px;
  --fs-eyebrow:12px; --fs-button:15px; --fs-button-sm:14px; --fs-nav:15px;

  --tracking-tight:-0.015em;
  --tracking-normal:0em;
  --tracking-nav:0em;
  --tracking-eyebrow:0.08em;
  --tracking-button:0em;
  --tracking-serif-caps:0.12em;

  --space-0:0px;   --space-1:4px;   --space-2:8px;   --space-3:12px;
  --space-4:16px;  --space-5:20px;  --space-6:24px;  --space-7:32px;
  --space-8:40px;  --space-9:48px;  --space-10:64px; --space-11:80px;
  --space-12:96px; --space-13:120px;--space-14:160px;

  --container-max:2400px;
  --container-wide:2400px;
  --container-narrow:760px;
  --container-reading:680px;
  --gutter:clamp(20px,4.5vw,120px);
  --gutter-lg:48px;
  --section-y:clamp(80px,11vw,144px);
  --section-y-lg:clamp(96px,14vw,184px);
  --section-y-sm:clamp(56px,7vw,88px);
  --grid-gap:32px;

  --header-top-h:34px;
  --header-h:106px;

  --radius-none:0px; --radius-xs:2px; --radius-sm:4px;
  --radius-button:var(--radius-xs);
  --radius-card:var(--radius-none);
  --radius-input:var(--radius-xs);
  --radius-media:var(--radius-none);
  --radius-pill:999px;

  --shadow-card:       0 2px 8px rgba(1,3,19,.08);
  --shadow-card-hover: 0 10px 28px rgba(1,3,19,.16);
  --shadow-raised:     0 18px 48px rgba(1,3,19,.22);
  --shadow-header:     0 1px 0 rgba(12,20,22,.08);

  --shadow-button:        inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(61,47,9,.34);
  --shadow-button-active: inset 0 2px 4px rgba(61,47,9,.34);
  --shadow-media-dark:    0 24px 60px rgba(1,3,19,.55);
  --glow-cyan: 0 0 40px rgba(63,169,201,.35);
  --glow-gold: 0 0 24px rgba(200,154,23,.28);

  --dur-instant:90ms; --dur-fast:140ms; --dur-base:220ms;
  --dur-slow:420ms;   --dur-reveal:640ms;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-in-out:cubic-bezier(.4,0,.2,1);
  --ease-entrance:cubic-bezier(.16,.84,.44,1);
  --transition-ui:var(--dur-base) var(--ease-out);
}

@media (min-width:1800px){
  :root{
    --fs-hero:72px;
    --fs-h1:58px;
    --fs-h2:44px;
    --fs-h3:25px;
    --fs-h4:20px;
    --fs-body-lg:21px;
    --fs-body:18px;
    --fs-body-sm:16px;
    --fs-caption:14px;
    --fs-eyebrow:13px;
    --fs-label:12px;
    --container-narrow:900px;
    --container-reading:760px;
    --grid-gap:44px;
  }
}
@media (min-width:2300px){
  :root{
    --fs-hero:78px;
    --fs-h1:64px;
    --fs-h2:48px;
    --fs-h3:26px;
    --fs-body-lg:22px;
    --fs-body:19px;
    --fs-caption:15px;
    --fs-eyebrow:14px;
    --fs-label:13px;
    --container-narrow:980px;
    --container-reading:800px;
    --grid-gap:52px;
  }
}

@media (prefers-reduced-motion:reduce){
  :root{
    --dur-fast:0ms; --dur-base:0ms; --dur-slow:0ms; --dur-reveal:0ms;
  }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
