@font-face {
  font-family: Manrope;
  src: local("Manrope"), local("Manrope Variable");
  font-display: swap;
  font-style: normal;
  font-weight: 100 900;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; background: var(--surface-canvas); color: var(--text-primary); font: var(--weight-regular) var(--font-size-sm)/var(--line-height-body) var(--font-sans); text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: var(--line-height-heading); letter-spacing: -.025em; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
::selection { background: rgba(79, 107, 255, .2); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.icon { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.eyebrow { margin-bottom: var(--space-1); color: var(--text-secondary); font-size: var(--font-size-2xs); font-weight: var(--weight-bold); letter-spacing: .12em; text-transform: uppercase; }

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