:root { --practice-blue: #307ecc; --practice-yellow: #ffd525; --legal-ink: #202932; }
.legal-page { margin: 0; color: var(--legal-ink); background: #fff; font: 1rem/1.75 'Open Sans', sans-serif; }
.legal-page * { box-sizing: border-box; }
.legal-page h1,.legal-page h2,.legal-page h3,.map-consent h3 { font-family: Montserrat, sans-serif; line-height: 1.3; }
.legal-header { max-width: 1140px; margin: auto; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-header img { object-fit: contain; display: block; }
.legal-header nav,.legal-footer nav,.legal-toc { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.legal-page a { color: #185c9e; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-header a { color: var(--legal-ink); }
.legal-intro { background: #eef5fc; border-bottom: 6px solid var(--practice-yellow); padding: 52px max(24px, calc((100% - 940px)/2)); }
.legal-intro h1 { font-size: clamp(2rem, 5vw, 3.2rem); margin: 12px 0 20px; overflow-wrap: anywhere; }
.eyebrow { font-size: .8rem; letter-spacing: .12em; font-weight: 700; }
.legal-content { max-width: 940px; padding: 28px 24px 64px; margin: auto; }
.legal-content h2 { margin-top: 40px; font-size: 1.5rem; }
.legal-content p,.legal-content li { max-width: 78ch; }
.legal-toc { border-bottom: 1px solid #b9cddd; padding-bottom: 24px; }
.legal-date { margin-top: 48px; font-size: .9rem; }
.legal-footer { background: #246ab0; border-top: 6px solid var(--practice-blue); color: #fff; padding: 32px max(24px, calc((100% - 940px)/2)); }
.legal-footer a { color: #fff; font-weight: 700; text-decoration-thickness: 2px; }
.legal-footer nav { background: #185c9e; padding: 14px; margin-top: 16px; }
.legal-footer p { font-size: 1rem; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px 20px; background: #ffd525; color: #111 !important; }
.skip-link:focus { top: 12px; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline: 3px solid #111 !important; outline-offset: 4px; box-shadow: 0 0 0 6px #ffd525 !important; }
.privacy-map.u-map-1 { height: auto !important; min-height: 430px; background: #eef5fc; }
.privacy-map .embed-responsive,.map-layout { position: static; height: auto; padding: 0; }
.map-consent { padding: 22px; color: #202932; font: 1rem/1.6 'Open Sans',sans-serif; }
.map-consent h3 { font-size: 1.4rem; margin: 0 0 12px; }
.map-consent p { margin: 12px 0; }
.map-consent a { color: #185c9e !important; text-decoration: underline; text-underline-offset: 3px; }
.map-consent button { background: #ffd525; color: #111; border: 2px solid #202932; padding: 12px 18px; font: 700 1rem/1.4 'Open Sans',sans-serif; cursor: pointer; min-height: 48px; }
.map-consent button:hover { background: #ffe680; }
.map-consent [hidden] { display: none !important; }
#map-frame:empty { display: none; }
#map-frame iframe { display: block; width: 100%; height: 340px; border: 0; margin-bottom: 16px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width: 600px) { .legal-header { align-items: flex-start; gap: 16px; }.legal-header nav { gap: 8px 16px; }.legal-header img { width: 68px; height: 68px; }.legal-intro { padding-top: 32px; }.map-consent { padding: 18px; } }
