@layer reset, tokens, base, layout;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, h2, h3, p, figure, dl, dd { margin: 0; }
  img, video { display: block; max-width: 100%; height: auto; }
  [hidden] { display: none !important; }
}
@layer tokens {
  :root {
    color-scheme: light;
    --ivory: #F7F5F0; --mist: #E8ECEB; --ink: #292D2C;
    --blue: #55748A; --slate: #8296A3; --gold: #C5AD76;
    --blue-strong: #3F5E73; --muted: #59635F; --rule: #C7CECA;
    --sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --serif: 'Baskerville', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
    --mono: 'SFMono-Regular', Consolas, monospace;
    --space-xs: .5rem; --space-sm: .75rem; --space-md: 1rem;
    --space-lg: 1.5rem; --space-xl: 2rem; --space-2xl: 3rem;
    --space-3xl: 4rem; --space-4xl: 5rem;
    --gutter: clamp(1.25rem, 4.5vw, 4rem); --max-width: 90rem;
    --motion-fast: 160ms; --ease: cubic-bezier(.2,.7,.2,1);
  }
}
@layer base {
  html { scroll-padding-top: var(--space-lg); }
  body { background: var(--ivory); color: var(--ink); font: 1rem/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
  a { color: var(--blue-strong); text-underline-offset: .3em; text-decoration-thickness: 1px; }
  a:hover { text-decoration-thickness: 2px; }
  a, button { touch-action: manipulation; }
  :focus-visible { outline: 3px solid var(--blue-strong); outline-offset: 5px; }
  main:focus { outline: none; }
  ::selection { background: var(--blue-strong); color: var(--ivory); }
  h1, h2, h3 { font-weight: 400; line-height: 1.1; }
  .wrap { width: min(100%, var(--max-width)); padding-inline: var(--gutter); margin-inline: auto; }
  .eyebrow { font: .6875rem/1.5 var(--mono); letter-spacing: .055em; text-transform: uppercase; color: var(--muted); }
  .text-link { display: inline-flex; gap: var(--space-lg); align-items: center; min-height: 44px; font-size: .8125rem; font-weight: 500; }
  .skip-link { position: fixed; z-index: 10; top: 1rem; left: 1rem; padding: .75rem 1rem; background: var(--ink); color: var(--ivory); transform: translateY(-180%); }
  .skip-link:focus { transform: none; }
}
@layer layout {
  .site-header { min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); }
  .wordmark { color: var(--ink); font-size: 1.125rem; letter-spacing: -.035em; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
  .wordmark>span { color: var(--blue); font-size: 1.5em; }
  .site-header nav[aria-label="Main navigation"] { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.75rem); }
  .site-header nav[aria-label="Main navigation"] a { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; color: var(--ink); font-size: .8rem; text-decoration: none; }
  .site-header nav[aria-label="Main navigation"] a:hover { text-decoration: underline; }
  .site-header nav[aria-label="Main navigation"] a span { color: var(--blue-strong); font: .65rem var(--mono); }
  .site-footer { padding-block: var(--space-lg); display: flex; justify-content: space-between; gap: var(--space-lg); align-items: baseline; font-size: .75rem; }
  .site-footer p span { display: block; color: var(--muted); font-size: .6875rem; margin-top: .25rem; }
  .site-footer>a { min-height: 44px; display: inline-flex; align-items: center; }
  @media(max-width: 600px) {
    .site-header { min-height: 72px; flex-wrap: wrap; gap: 0; padding-block: .5rem; }
    .wordmark { font-size: 1rem; }
    .site-header nav[aria-label="Main navigation"] { gap: .9rem; }
    .site-header nav[aria-label="Main navigation"] a { font-size: .75rem; }
    .site-header nav[aria-label="Main navigation"] a span { display: none; }
    .site-footer { flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); }
    .site-footer p { flex: 1 1 45%; }
  }
  @media(prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
}
