@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700&family=DM+Mono:wght@300;400;500&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Instrument+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --violet: #7e84f2;
  --violet-deep: #696fcc;
  --charcoal: #3c3c3c;
  --ink: #171824;
  --paper: #f8f8f8;
  --wash: #eef0ff;
  --white: #fff;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--charcoal); background: var(--white); }
img { display: block; width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, input[type="submit"] { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 3px solid var(--violet);
  outline-offset: 4px;
}
.brand-logo { width: 250px; max-width: 100%; height: auto; }
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  background: #fff;
  color: #171824;
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; }
.field label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.field input {
  width: 100%;
  min-height: 48px;
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  padding: 12px 14px;
}
.field input::placeholder { color: inherit; opacity: .56; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.footer-credit a { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 760px) {
  .brand-logo { width: 205px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
