/* Scoped service document layout; reuse the marketing site's colors and type. */
.legal-header { display:flex; align-items:center; gap:24px; padding:18px clamp(18px,4vw,56px); background:#fff; border-bottom:1px solid var(--line); }
.legal-header [data-language-picker] { margin-inline-start:auto; }
.legal-shell { max-width:960px; margin:auto; padding:32px 24px 56px; line-height:1.75; overflow-wrap:anywhere; }
.legal-shell h1 { margin:28px 0 12px; font-size:clamp(30px,5vw,46px); line-height:1.2; }
.legal-shell h2 { font-size:24px; line-height:1.3; }
.legal-shell section { margin-top:30px; padding:24px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.legal-notice { border:1px solid #b9cee8; border-left:5px solid #175abc; padding:18px 22px; background:#eef5ff; color:#163b69; }
.legal-notice p { margin-bottom:0; }
.legal-nav,.legal-footer,.legal-footer-links { display:flex; flex-wrap:wrap; gap:12px 24px; }
.legal-nav a,.legal-footer a,.legal-footer-links a,.legal-shell section > p a { color:#175abc; text-decoration:underline; text-underline-offset:3px; }
.legal-nav [aria-current=page] { font-weight:800; }
.legal-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.legal-cards a { display:block; border:1px solid var(--line); border-radius:8px; padding:18px; background:#f5f8fc; }
.legal-cards h3 { color:#175abc; margin:0; }
.legal-footer { padding:24px; justify-content:center; border-top:1px solid var(--line); }
.legal-skip { position:absolute; top:-100px; left:12px; padding:10px; background:#fff; z-index:20; }
.legal-skip:focus { top:8px; }
.legal-page :focus-visible { outline:3px solid #175abc; outline-offset:3px; }
@media(max-width:600px) { .legal-header { gap:12px; flex-wrap:wrap; } .legal-header .brand { flex:1 0 65%; } .legal-shell { padding:24px 16px; } .legal-shell section { padding:18px; } .legal-cards { grid-template-columns:1fr; } }
