.legal-header,.legal-main,.legal-footer { width:min(960px,calc(100% - 48px)); margin-inline:auto; }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 0; }
.legal-logo { display:block; width:240px; max-width:55vw; height:auto; }
.legal-header a,.legal-main a,.legal-footer a { color:#ecd6f5; text-underline-offset:5px; }
.legal-header .home-link { font-size:14px; white-space:nowrap; }
.legal-main { padding:52px 0 72px; }
.legal-eyebrow { color:#f07eb8; font-size:12px; letter-spacing:.16em; font-weight:700; }
.legal-main h1 { font-size:clamp(30px,5vw,48px); line-height:1.3; margin:16px 0; letter-spacing:-.035em; }
.legal-date { color:#b7aec6; font-size:14px; }
.legal-intro { font-size:17px; line-height:1.9; max-width:780px; color:#ded7e7; margin:28px 0; }
.legal-nav { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 48px; }
.legal-nav a { padding:10px 17px; border-radius:24px; text-decoration:none; background:#1b1b2b; font-size:14px; }
.legal-nav a[aria-current=page] { color:#fff; background:#513452; }
.legal-section { margin:0 0 34px; scroll-margin-top:24px; }
.legal-section h2 { font-size:21px; margin:0 0 12px; letter-spacing:-.02em; }
.legal-section p,.legal-section li { color:#d4cedd; line-height:1.95; font-size:15px; word-break:keep-all; overflow-wrap:anywhere; }
.legal-section p { margin:10px 0; }
.legal-section ul { padding-left:22px; }
.legal-contact { padding:24px; background:#171824; border-radius:16px; }
.legal-footer { padding:24px 0 40px; color:#aca3b9; font-size:13px; line-height:1.8; }
.legal-footer nav { display:flex; gap:20px; flex-wrap:wrap; margin-bottom:18px; }
.legal-main a:focus-visible,.legal-header a:focus-visible,.legal-footer a:focus-visible { outline:2px solid #f07eb8; outline-offset:5px; }
@media(max-width:600px) {
 .legal-header,.legal-main,.legal-footer { width:calc(100% - 36px); }
 .legal-header { padding:20px 0; }
 .legal-logo { width:200px; }
 .legal-main { padding-top:30px; }
 .legal-section h2 { font-size:19px; }
 .legal-contact { padding:18px; }
}
