:root {
  --ink: #171a20;
  --muted: #68645d;
  --paper: #fffdf8;
  --cream: #f3eadc;
  --line: #ddd2c1;
  --blue: #123d73;
  --orange: #ed5b38;
  font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
}

* { box-sizing: border-box; }
body { margin: 0; line-height: 1.7; }
a { color: var(--blue); }
.legal-header,
.legal-page,
.legal-footer { width: min(850px, calc(100% - 36px)); margin-inline: auto; }
.legal-header { padding: 30px 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.legal-brand { display: inline-flex; align-items: center; gap: 3px; color: var(--ink); font-weight: 800; text-decoration: none; }
.legal-brand .brand-logo { width: 58px; height: 58px; flex: none; object-fit: contain; filter: drop-shadow(0 7px 9px rgba(21, 58, 111, .18)); }
.legal-brand .brand-wordmark { display: inline; }
.legal-brand strong { color: #155fc2; }
.legal-header nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; font-size: 13px; font-weight: 700; }
.legal-page { margin-bottom: 35px; padding: clamp(28px, 6vw, 64px); border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: 0 20px 55px rgba(45, 34, 26, .09); }
.legal-kicker { margin: 0; color: var(--orange); font: 700 11px/1.2 ui-monospace, monospace; letter-spacing: 1.5px; text-transform: uppercase; }
h1 { margin: 12px 0 10px; color: var(--blue); font: 400 clamp(40px, 8vw, 70px)/1 Georgia, serif; }
.updated { margin: 0 0 35px; color: var(--muted); font-size: 13px; }
h2 { margin: 34px 0 8px; color: var(--blue); font: 400 27px/1.2 Georgia, serif; }
p, li { font-size: 15px; }
li + li { margin-top: 8px; }
.notice { margin: 28px 0; padding: 18px 20px; border-left: 4px solid var(--orange); border-radius: 0 12px 12px 0; background: #fff4ed; }
.legal-footer { padding: 0 0 42px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; color: var(--muted); font-size: 12px; text-align: center; }
.legal-footer .brand-logo { width: 52px; height: 52px; }
.legal-footer a:not(.footer-brand) { color: #2458a6; font-weight: 700; text-decoration: none; }
@media (max-width: 620px) {
  .legal-header { align-items: flex-start; flex-direction: column; }
  .legal-header nav { justify-content: flex-start; }
  .legal-page { border-radius: 18px; }
}
