@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/instrument-sans-latin-wght-normal.woff2") format("woff2-variations");
}

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2");
}

:root {
  --paper: #f2f3ee;
  --ink: #101310;
  --muted: #636960;
  --line: #cfd3ca;
  --accent: #f45132;
  --font-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-family: var(--font-sans);
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; letter-spacing: -.006em; line-height: 1.6; }
a { color: inherit; text-underline-offset: .2em; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

.legal-header {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1.25rem, 4vw, 5rem);
  border-bottom: 1px solid var(--line);
}

.legal-header > a { text-decoration: none; font-weight: 700; }
.legal-header__brand { display: flex; align-items: center; gap: .65rem; }
.legal-header__brand svg { width: 2rem; color: var(--accent); }
.legal-header__brand span { letter-spacing: .02em; }

main {
  width: min(100% - 2.5rem, 900px);
  margin-inline: auto;
  padding-block: clamp(4rem, 9vw, 8rem);
}

.eyebrow {
  color: var(--muted);
  font-family: var(--font-mono);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .065em;
  text-transform: uppercase;
}

h1 {
  max-width: 12ch;
  margin: 1rem 0 4rem;
  font-size: clamp(3.2rem, 8vw, 7rem);
  font-weight: 650;
  letter-spacing: -.045em;
  line-height: .9;
}

h2 {
  margin: 3.5rem 0 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 650;
  letter-spacing: -.03em;
  line-height: 1.1;
}

h3 { margin: 2rem 0 .5rem; font-size: 1.05rem; }
p, li, address { max-width: 72ch; color: #31362f; }
address { font-style: normal; }
ul { padding-left: 1.25rem; }
.notice { padding: 1.25rem; border-left: 4px solid var(--accent); background: #e7e9e2; }
.legal-footer { padding: 1.5rem clamp(1.25rem, 4vw, 5rem); border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: .7rem; letter-spacing: .03em; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
