@layer reset, tokens, utilities;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; }
  ul[class], ol[class] { margin: 0; padding: 0; list-style: none; }
  img, picture { display: block; max-width: 100%; }
  input, button, textarea, select { font: inherit; color: inherit; }
  html:focus-within { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) {
    html:focus-within { scroll-behavior: auto; }
  }
}

@layer tokens {
  :root {
    --fc-indigo: #333366;
    --fc-indigo-deep: #22223a;
    --fc-teal: #669999;
    --fc-teal-light: #9fc9c9;
    --fc-teal-deep: #4c7676;
    --fc-brass: #996600;
    --fc-brass-light: #d9a856;
    --fc-brass-text: #7a5200;
    --fc-paper: #f4f5f7;
    --fc-paper-2: #e8eaee;
    --fc-ink: #1e1e2b;
    --fc-white: #ffffff;
    --fc-line: #d3d7dd;
    --fc-line-dark: rgb(244 245 247 / 22%);
    --fc-unused-tint: #cbd5d5;
    --fc-container: 75rem;
    --fc-gutter: clamp(1.25rem, 4vw, 3rem);
    --fc-radius-s: .25rem;
    --fc-font-head: 'FCOswald', Oswald, 'Arial Narrow', sans-serif;
    --fc-font-body: 'FCSerif', 'Source Serif 4', Georgia, serif;
    --fc-ease: cubic-bezier(.22, .61, .36, 1);
    --fc-z-header: 999;
  }
}

@layer utilities {
  .fc-wrap { width: min(100% - (var(--fc-gutter) * 2), var(--fc-container)); margin-inline: auto; }
  .flex { display: flex; }
  .flex-col { display: flex; flex-direction: column; }
  .items-center { align-items: center; }
  .items-start { align-items: flex-start; }
  .justify-between { justify-content: space-between; }
  .justify-center { justify-content: center; }
  .gap-1 { gap: .5rem; }
  .gap-2 { gap: 1rem; }
  .gap-3 { gap: 1.5rem; }
  .gap-4 { gap: 2.5rem; }
  .grid { display: grid; }
  .mt-1 { margin-top: .5rem; }
  .mt-2 { margin-top: 1rem; }
  .mt-3 { margin-top: 1.5rem; }
  .mt-4 { margin-top: 2.5rem; }
  .mt-5 { margin-top: 4rem; }
  .mb-2 { margin-bottom: 1rem; }
  .mb-3 { margin-bottom: 1.5rem; }
  .py-5 { padding-block: 4rem; }
  .py-6 { padding-block: 6rem; }
  .text-lg { font-size: clamp(1.125rem, .9vw + 1rem, 1.375rem); }
  .text-sm { font-size: .875rem; }
  .text-eyebrow { font-family: var(--fc-font-head); text-transform: uppercase; letter-spacing: .14em; font-size: .8125rem; }
  .text-serif { font-family: var(--fc-font-body); }
  .text-center { text-align: center; }
  .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; }
  .no-select { -webkit-user-select: none; user-select: none; }

  @media (min-width: 1600px) {
  }
}
