.legal-page{background:linear-gradient(180deg,var(--mint-200) 0,rgba(255,253,248,0) 430px),var(--paper)}
.legal-hero{padding:92px 0 54px}
.legal-hero .wrap{max-width:920px}
.legal-hero .eyebrow{margin-bottom:16px}
.legal-hero h1{max-width:15ch;font-size:clamp(46px,7vw,76px)}
.legal-hero .legal-dek{max-width:720px;margin-top:22px;color:var(--ink-soft);font-size:20px;line-height:1.65}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:24px;color:var(--ink-faint);font-size:14px}
.legal-meta strong{color:var(--navy)}
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:72px;align-items:start;max-width:1040px;padding-bottom:110px}
.legal-content{min-width:0;padding:42px 48px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}
.legal-content section{scroll-margin-top:28px}
.legal-content section+section{margin-top:44px;padding-top:42px;border-top:1px solid var(--line)}
.legal-content h2{margin-bottom:16px;font-size:32px;line-height:1.15}
.legal-content h3{margin:26px 0 10px;font:700 17px/1.35 var(--sans);color:var(--navy)}
.legal-content p,.legal-content li{color:var(--ink-soft);font-size:16px;line-height:1.75}
.legal-content p+p{margin-top:14px}
.legal-content ul{display:grid;gap:10px;margin:14px 0 0;padding-left:22px}
.legal-content a{color:var(--teal);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.legal-callout{margin:26px 0;padding:22px 24px;border-left:5px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--cream)}
.legal-callout strong{display:block;margin-bottom:6px;color:var(--navy)}
.legal-callout p{color:var(--ink)}
.legal-toc{position:sticky;top:24px;padding:22px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(255,255,255,.88);box-shadow:var(--shadow-sm)}
.legal-toc strong{display:block;margin-bottom:12px;color:var(--navy);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.legal-toc a{display:block;padding:7px 0;color:var(--ink-soft);font-size:14px}
.legal-toc a:hover{color:var(--teal)}
.legal-contact{padding:24px;border-radius:var(--r-md);background:var(--navy);color:#fff}
.legal-contact h2,.legal-contact p,.legal-contact a{color:#fff}
.legal-contact a{text-decoration-color:var(--gold)}
@media (max-width:800px){
  .legal-hero{padding:64px 0 38px}
  .legal-layout{grid-template-columns:1fr;gap:26px;padding-bottom:72px}
  .legal-toc{position:static;grid-row:1}
  .legal-content{padding:30px 24px}
  .legal-content h2{font-size:28px}
}
@media (max-width:520px){
  .legal-hero h1{font-size:42px}
  .legal-hero .legal-dek{font-size:18px}
  .legal-content{padding:26px 20px;border-radius:var(--r-md)}
}
