@font-face {
  font-family: "InterLocal";
  src: url("/fonts/Inter-Bold.otf") format("opentype");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "InterLocal";
  src: url("/fonts/Inter-Regular.otf") format("opentype");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --stone: #f7f5f1;
  --paper: #fbfaf7;
  --ink: #252521;
  --lichen: #96906a;
  --grey: #77736b;
  --line: rgba(150, 144, 106, 0.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--stone);
  color: var(--ink);
  font-family: "InterLocal", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 86px;
  padding: 22px clamp(24px, 5vw, 92px);
  background: rgba(251, 250, 247, 0.96);
  border-bottom: 1px solid rgba(150, 144, 106, 0.12);
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(10px);
}
.brand {
  display: inline-flex;
  align-items: baseline;
  gap: 0.18em;
  color: inherit;
  text-decoration: none;
  font-size: clamp(32px, 3.1vw, 56px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.075em;
}
.brand .visibility { color: var(--lichen); }
.brand .co { color: var(--grey); }
.header-links { display: flex; align-items: center; gap: 22px; }
.header-links a {
  color: var(--grey);
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.header-links a[aria-current="page"] { color: var(--lichen); }
.legal-main { padding: clamp(58px, 8vw, 120px) clamp(24px, 5vw, 92px) clamp(90px, 11vw, 160px); }
.legal-article { width: min(900px, 100%); margin: 0 auto; }
.kicker {
  margin: 0 0 28px;
  color: var(--lichen);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
h1 {
  margin: 0;
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.05em;
}
.updated {
  margin: 28px 0 clamp(58px, 7vw, 92px);
  color: var(--grey);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.lead { font-size: clamp(21px, 2vw, 29px); line-height: 1.5; letter-spacing: -0.025em; }
.legal-section { padding-top: 36px; margin-top: 36px; border-top: 1px solid var(--line); }
h2 { margin: 0 0 16px; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; letter-spacing: -0.045em; }
p { margin: 0 0 18px; color: #48463f; font-size: 18px; line-height: 1.72; }
.legal-footer {
  padding: 48px clamp(24px, 5vw, 92px);
  background: var(--ink);
  color: var(--stone);
}
.footer-inner { width: min(1200px, 100%); margin: 0 auto; display: flex; justify-content: space-between; gap: 30px; align-items: end; }
.footer-inner p { margin: 0; color: rgba(247,245,241,.72); font-size: 13px; }
.footer-links { display: flex; gap: 24px; }
.footer-links a { color: var(--stone); font-size: 13px; text-underline-offset: 4px; }
@media (max-width: 720px) {
  .site-header { min-height: 76px; }
  .brand { font-size: 24px; }
  .header-links a:not([aria-current="page"]) { display: none; }
  p { font-size: 16px; }
  .footer-inner { display: block; }
  .footer-links { margin-top: 24px; }
}
