:root {
  color-scheme: light;
  --ink: #15161a;
  --muted: #62656d;
  --paper: #f8f6f1;
  --surface: #ffffff;
  --soft: #f1ece3;
  --line: #ded8cf;
  --accent: #ff6f3c;
  --accent-soft: #fff0e9;
  --warning: #3a1d13;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; margin: 0; }
a { color: inherit; text-underline-offset: 3px; }
p, ul { margin-top: 0; }

.site-header { align-items: center; background: rgba(248, 246, 241, .94); border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; min-height: 72px; padding: 12px clamp(18px, 4vw, 56px); position: sticky; top: 0; z-index: 10; }
.brand { align-items: center; display: inline-flex; font-weight: 900; gap: 10px; text-decoration: none; }
.brand img { border-radius: 50%; display: block; height: 42px; width: 42px; }
.header-link { font-size: .92rem; font-weight: 800; }

.legal-hero { background: var(--warning); color: #fff; padding: clamp(48px, 8vw, 92px) clamp(18px, 5vw, 72px); }
.legal-hero-inner { margin: 0 auto; max-width: 1120px; }
.eyebrow { color: var(--accent); font-size: .78rem; font-weight: 950; letter-spacing: .09em; margin-bottom: 12px; text-transform: uppercase; }
h1 { font-size: clamp(3rem, 7vw, 6rem); letter-spacing: -.055em; line-height: .94; margin: 0 0 20px; }
.legal-hero .summary { color: #ded6d2; font-size: clamp(1.05rem, 1.6vw, 1.25rem); margin-bottom: 18px; max-width: 780px; }
.updated { color: #bdb2ad; font-size: .9rem; margin: 0; }

.legal-layout { display: grid; gap: clamp(32px, 6vw, 80px); grid-template-columns: minmax(190px, 250px) minmax(0, 760px); justify-content: center; padding: clamp(34px, 6vw, 76px) clamp(18px, 5vw, 72px) 90px; }
.legal-nav { align-self: start; position: sticky; top: 100px; }
.legal-nav strong { display: block; font-size: .78rem; letter-spacing: .08em; margin-bottom: 12px; text-transform: uppercase; }
.legal-nav a { color: var(--muted); display: block; font-size: .9rem; padding: 5px 0; text-decoration: none; }
.legal-nav a:hover { color: var(--accent); }
.legal-content { min-width: 0; }
.legal-content section { border-top: 1px solid var(--line); padding: 32px 0 18px; scroll-margin-top: 95px; }
.legal-content section:first-child { border-top: 0; padding-top: 0; }
h2 { font-size: clamp(1.55rem, 3vw, 2.25rem); letter-spacing: -.035em; line-height: 1.05; margin: 0 0 16px; }
h3 { font-size: 1.02rem; margin: 24px 0 8px; }
.legal-content p, .legal-content li { color: #3f4249; }
.legal-content li + li { margin-top: 7px; }
.legal-content ul { padding-left: 22px; }
.callout { background: var(--accent-soft); border-left: 5px solid var(--accent); margin: 24px 0; padding: 19px 21px; }
.callout strong { display: block; margin-bottom: 6px; }
.callout p:last-child { margin-bottom: 0; }
.legal-table { border-collapse: collapse; font-size: .93rem; margin: 18px 0 26px; width: 100%; }
.legal-table th, .legal-table td { border-bottom: 1px solid var(--line); padding: 13px 10px; text-align: left; vertical-align: top; }
.legal-table th { color: var(--ink); }
.legal-table td { color: #3f4249; }
.site-footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: flex; gap: 18px; justify-content: space-between; padding: 25px clamp(18px, 4vw, 56px); }
.site-footer p { margin-bottom: 0; }
.site-footer div:last-child { display: flex; flex-wrap: wrap; gap: 16px; }

@media (max-width: 780px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-nav { background: var(--soft); border: 1px solid var(--line); padding: 16px; position: static; }
  .legal-nav a { display: inline-block; margin-right: 14px; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td { display: block; }
  .legal-table tr { border-bottom: 1px solid var(--line); padding: 10px 0; }
  .legal-table th, .legal-table td { border: 0; padding: 3px 0; }
  .site-footer { align-items: flex-start; flex-direction: column; }
}

@media print {
  .site-header, .legal-nav, .site-footer { display: none; }
  .legal-hero { background: none; color: #000; padding: 20px 0; }
  .legal-hero .summary, .updated { color: #333; }
  .legal-layout { display: block; padding: 0; }
  .legal-content section { break-inside: avoid; }
}
