.legal-page { background:#f5f8fc; color:#263c50; }
.legal-page .legal-content { width:min(calc(100% - 3rem),58rem); margin-inline:auto; display:grid; gap:1.75rem; padding-block:2.5rem 3.5rem; }
.legal-page .legal-heading { gap:.8rem; }
.legal-page .eyebrow { color:#b7253b; font-size:.75rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.legal-page .legal-content h1 { color:#122d44; font-size:clamp(2rem,4.5vw,3rem); line-height:1.12; letter-spacing:-.03em; }
.legal-page .legal-content h2 { color:#173d5c; font-size:1.3rem; line-height:1.4; }
.legal-page .legal-content p { margin:0; line-height:1.75; max-width:75ch; }
.legal-page .legal-content section { display:grid; gap:.8rem; }
.legal-page .legal-content .legal-version { font-size:.85rem; color:#60758a; }
.legal-page .legal-navigation { display:flex; flex-wrap:wrap; gap:.5rem; padding:.7rem; border:1px solid #d9e3ed; border-radius:12px; background:#fff; }
.legal-page .legal-navigation a { padding:.65rem .85rem; color:#154d79; font-size:.88rem; font-weight:700; line-height:1.4; border-radius:8px; text-decoration:none; }
.legal-page .legal-navigation a:hover { background:#edf4fa; }
.legal-page .legal-navigation a[aria-current="page"] { background:#14639c; color:#fff; }
.legal-page .legal-content a { overflow-wrap:anywhere; text-underline-offset:.18em; }
.legal-page .legal-content a:focus-visible { outline:3px solid #75a8cf; outline-offset:3px; }
.legal-page .legal-contact { display:grid; gap:.65rem; padding:1.25rem; background:#eaf2fa; border:1px solid #d3e3f0; border-radius:12px; }
.policy-snapshot { font:16px/1.65 system-ui,sans-serif; }
.policy-snapshot .legal-content { max-width:58rem; }
.policy-snapshot article { display:grid; gap:1.4rem; padding-top:1.25rem; border-top:1px solid #d9e3ed; scroll-margin-top:1rem; }
.policy-snapshot article > h2 { font-size:1.8rem; margin:0; }
.policy-snapshot h3 { font-size:1.1rem; margin:0; }
@media(max-width:640px) { .legal-page .legal-content { width:calc(100% - 1.5rem); padding-block:1.5rem 2.5rem; gap:1.4rem; } .legal-page .legal-navigation { padding:.45rem; gap:.2rem; } .legal-page .legal-navigation a { font-size:.8rem; padding:.6rem; } }
@media print { .legal-page { background:#fff; color:#111; } .legal-page .legal-content { width:100%; max-width:none; padding:0; } .legal-page .legal-navigation { display:none; } .legal-page section { break-inside:avoid; } .legal-page a { color:inherit; } .legal-page h1,.legal-page h2,.legal-page h3 { break-after:avoid; } }
