@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-latin-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Instrument Sans";
  src: url("/assets/fonts/instrument-sans-latin-var.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--paper);
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-text);
  font-size: calc(var(--fluid-container) / (1440 / var(--fluid-unit)));
  line-height: var(--lh-155);
  font-weight: 400;
  overflow-x: clip;
}

img, svg, video, canvas, picture { display: block; max-width: 100%; }
img { height: auto; }
p, h1, h2, h3, h4, h5, h6, figure, blockquote, dl, dd, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-align: inherit;
  -webkit-tap-highlight-color: transparent;
}
[hidden] { display: none !important; }

h1, h2, h3, h4, h5, h6,
.t-h0, .t-h1, .t-h2, .t-h3, .t-h4, .t-h5, .t-h6 {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: var(--tr-3);
  text-wrap: balance;
}
.t-h0 { font-size: var(--h0); line-height: var(--lh-90); font-weight: 700; }
h1, .t-h1 { font-size: var(--h1); line-height: var(--lh-90); }
h2, .t-h2 { font-size: var(--h2); line-height: var(--lh-100); }
h3, .t-h3 { font-size: var(--h3); line-height: var(--lh-104); }
h4, .t-h4 { font-size: var(--h4); line-height: var(--lh-104); }
h5, .t-h5 { font-size: var(--h5); line-height: var(--lh-112); }
h6, .t-h6 { font-size: var(--h6); line-height: var(--lh-112); }

.t-statement {
  font-family: var(--font-text);
  font-size: var(--statement);
  line-height: var(--lh-120);
  font-weight: 600;
  letter-spacing: var(--tr-3);
}
.t-lead {
  font-family: var(--font-display);
  font-size: var(--lead);
  line-height: var(--lh-120);
  font-weight: 600;
  letter-spacing: var(--tr-3);
  text-wrap: pretty;
}
.t-lead--s { font-size: var(--fs-3xl); }
.t-body-l { font-size: var(--fs-l); line-height: var(--lh-130); font-weight: 500; letter-spacing: var(--tr-1); text-wrap: pretty; }
.t-body-m { font-size: var(--fs-l); line-height: var(--lh-150); text-wrap: pretty; }
.t-body { font-size: var(--fs-m); line-height: var(--lh-155); }
.t-muted { color: var(--text-2); }
.t-label {
  font-size: var(--fs-s);
  line-height: var(--lh-120);
  text-transform: uppercase;
  color: var(--text-meta);
  letter-spacing: normal;
  font-weight: 400;
}
.t-label--xs { font-size: var(--fs-xs); line-height: var(--lh-112); }
.t-label--strong { font-weight: 500; }

@media (max-width: 1023px) { .t-label { letter-spacing: var(--tr-label); } }
.t-num { font-variant-numeric: tabular-nums; }

@media (max-width: 1023px) { .nowrap { white-space: nowrap; } }

@media (max-width: 767px) { p, li, dd, td { text-wrap: pretty; } }

.on-dark {
  --text: var(--paper);
  --text-2: var(--paper-82);
  --text-meta: var(--slate-light);
  --text-4: var(--paper-48);
  --line: var(--paper-16);
  --card: var(--paper-07);
  --logo-back: var(--white);
  --logo-yellow: var(--white);
  --logo-force: var(--slate-light);
  color: var(--paper);
}

::selection { background: var(--amber); color: var(--navy); }

:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 3px;
  border-radius: 4px;
}
.on-dark :focus-visible,
.on-dark:focus-visible,
.pill :focus-visible,
.pill:focus-visible { outline-color: var(--amber); }

.main:focus, .main:focus-visible { outline: none; }

.skip-link {
  position: fixed;
  top: .75em;
  left: .75em;
  z-index: 200;
  padding: .75em 1em;
  border-radius: var(--r-sm);
  background: var(--navy);
  color: var(--paper);
  font-size: var(--fs-sm);
  transform: translateY(-200%);
  transition: transform var(--t-fast) var(--ease);
}
.skip-link:focus-visible { transform: none; outline-color: var(--amber); }

.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.motion [data-reveal] { opacity: 0; }
.motion [data-reveal="statement"] { opacity: 1; }

.motion.fonts-in [data-intro] {
  opacity: 1;
  animation: yf-in .55s cubic-bezier(.215, .61, .355, 1) var(--in-d, .05s) backwards;
}
.motion.fonts-in [data-intro][data-reveal="lines"] { --in-y: .25em; }
.motion.fonts-in [data-intro][data-reveal="frame"] { --in-y: 2em; --in-s: .95; animation-duration: .65s; }
.motion.fonts-in [data-intro][data-reveal="stagger"] { animation: none; }
.motion.fonts-in [data-intro][data-reveal="stagger"] > * {
  animation: yf-in .55s cubic-bezier(.215, .61, .355, 1) calc(var(--in-d, .05s) + var(--in-k, 0) * var(--in-st, .08s)) backwards;
}
[data-intro][data-reveal="stagger"] > :nth-child(2) { --in-k: 1; }
[data-intro][data-reveal="stagger"] > :nth-child(3) { --in-k: 2; }
[data-intro][data-reveal="stagger"] > :nth-child(4) { --in-k: 3; }
[data-intro][data-reveal="stagger"] > :nth-child(5) { --in-k: 4; }
[data-intro][data-reveal="stagger"] > :nth-child(6) { --in-k: 5; }
[data-intro][data-reveal="stagger"] > :nth-child(n+7) { --in-k: 6; }

@keyframes yf-in {
  from { opacity: .01; translate: 0 var(--in-y, .5em); scale: var(--in-s, 1); }
}

.js canvas[data-streaks]:not(.is-on) { visibility: hidden; }

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