:root {
  --ink: #1f1f1f;
  --muted: #6d675f;
  --paper: #fffdf8;
  --warm: #f4ede3;
  --coral: #e76f51;
  --gold: #efb33e;
  --line: rgba(31,31,31,.12);
  --max: 940px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 15px/1.72 "DM Sans", sans-serif; }
a { color: inherit; }
button { font: inherit; }

.legal-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; padding: 10px max(20px, calc((100% - 1120px)/2)); border-bottom: 1px solid var(--line); background: rgba(255,253,248,.94); backdrop-filter: blur(14px); }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.legal-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; color: white; background: var(--coral); font-size: 20px; }
.legal-brand strong { display: block; font: 800 17px "Manrope", sans-serif; }
.legal-brand small { display: block; color: var(--muted); font-size: 10px; }
.legal-actions { display: flex; align-items: center; gap: 16px; }
.legal-actions > a { color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.legal-actions > a:hover { color: var(--ink); }
.legal-language { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: white; }
.legal-language button { min-width: 38px; padding: 7px 10px; border: 0; border-radius: 999px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.legal-language button.active { color: white; background: var(--ink); }

.legal-hero { padding: 74px 20px 54px; background: radial-gradient(circle at 80% 10%, rgba(239,179,62,.25), transparent 28%), var(--warm); }
.legal-hero > div { width: min(100%, var(--max)); margin: 0 auto; }
.legal-kicker { color: var(--coral); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.legal-hero h1 { max-width: 760px; margin: 12px 0 15px; font: 800 clamp(37px, 6vw, 64px)/1.02 "Manrope", sans-serif; letter-spacing: -3px; }
.legal-hero p { max-width: 690px; margin: 0; color: var(--muted); font-size: 17px; }
.legal-updated { display: inline-flex; margin-top: 22px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.55); font-size: 11px; font-weight: 700; }

.legal-layout { display: grid; grid-template-columns: 215px minmax(0, 1fr); gap: 48px; width: min(calc(100% - 40px), 1120px); margin: 0 auto; padding: 52px 0 84px; }
.legal-nav { position: sticky; top: 98px; align-self: start; display: grid; gap: 8px; }
.legal-nav a { padding: 10px 12px; border-radius: 10px; color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.legal-nav a:hover, .legal-nav a.current { color: var(--ink); background: var(--warm); }
.legal-copy { max-width: var(--max); }
.legal-copy section { padding: 0 0 34px; scroll-margin-top: 100px; }
.legal-copy section + section { padding-top: 34px; border-top: 1px solid var(--line); }
.legal-copy h2 { margin: 0 0 14px; font: 800 25px/1.2 "Manrope", sans-serif; letter-spacing: -.8px; }
.legal-copy h3 { margin: 22px 0 8px; font: 800 16px/1.3 "Manrope", sans-serif; }
.legal-copy p { margin: 0 0 13px; color: #413d38; }
.legal-copy ul, .legal-copy ol { margin: 12px 0 16px; padding-left: 21px; }
.legal-copy li { margin: 7px 0; padding-left: 4px; }
.legal-note { padding: 17px 18px; border: 1px solid rgba(231,111,81,.24); border-radius: 14px; background: #fff4ec; }
.legal-note strong { color: #9f3f2c; }
.contact-card { display: grid; grid-template-columns: 190px 1fr; gap: 9px 24px; margin: 18px 0; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 13px 38px rgba(34,25,20,.06); }
.contact-card dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.contact-card dd { margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.address-pending { color: #9f3f2c; background: #fff1ea; }

.legal-footer { padding: 34px 20px; color: rgba(255,255,255,.72); background: #171717; }
.legal-footer > div { display: flex; align-items: center; justify-content: space-between; gap: 25px; width: min(100%, 1120px); margin: 0 auto; }
.legal-footer strong { color: white; }
.legal-footer p { margin: 4px 0 0; font-size: 11px; }
.legal-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 18px; }
.legal-footer a { font-size: 11px; font-weight: 700; }

@media (max-width: 760px) {
  .legal-actions > a { display: none; }
  .legal-hero { padding-top: 52px; }
  .legal-hero h1 { letter-spacing: -2px; }
  .legal-layout { grid-template-columns: 1fr; gap: 27px; }
  .legal-nav { position: static; display: flex; overflow-x: auto; padding-bottom: 4px; }
  .legal-nav a { flex: 0 0 auto; }
  .contact-card { grid-template-columns: 1fr; gap: 3px; padding: 19px; }
  .contact-card dd + dt { margin-top: 9px; }
  .legal-footer > div { align-items: flex-start; flex-direction: column; }
  .legal-footer nav { justify-content: flex-start; }
}
