/* Legal and consent additions; shared typography, colours and layout remain unchanged. */
.services-tax{font-size:13px;line-height:1.8;color:var(--muted);margin:26px 0 0;max-width:760px}
.map-placeholder{padding:24px;text-align:center;max-width:430px}
.map-placeholder p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:18px}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px}
.footer-legal [data-cookie-settings]{display:none}
.analytics-configured .footer-legal [data-cookie-settings]{display:inline-flex}
html.consent-modal-open{overflow:hidden;overscroll-behavior:none}
.legal-page{padding-bottom:0}
.legal-header-inner{max-width:1680px;margin:auto;padding:16px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.legal-header-inner>a{min-height:44px;display:flex;align-items:center;font-size:13px}
.legal-header-inner img{width:152px;height:auto}
.legal-main{max-width:1000px;margin:auto;padding:48px var(--gutter) 72px;overflow-wrap:anywhere}
.legal-main h1{max-width:none;font-size:clamp(30px,4vw,46px);margin-top:0;line-height:1.2}
.legal-index{display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0 40px;border-bottom:1px solid var(--line);padding-bottom:24px}
.legal-index a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.legal-main section+section{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}
.legal-main h2{font-size:clamp(26px,3vw,34px);line-height:1.25;margin-bottom:28px}
.legal-main h3{font-size:18px;font-weight:600;line-height:1.45;margin:30px 0 12px;letter-spacing:0}
.legal-main p,.legal-main li{font-size:14px;line-height:1.9}.legal-main p+p{margin-top:14px}
.legal-main p a,.legal-main li a{text-decoration:underline;text-underline-offset:3px}
.legal-main code{font-size:13px;overflow-wrap:anywhere}
.consent-banner{position:fixed;z-index:40;bottom:calc(88px + env(safe-area-inset-bottom,0px));left:16px;right:16px;max-width:540px;margin-left:auto;padding:24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 6px 30px #292c2920;max-height:calc(100dvh - 120px);overflow:auto}
.consent-banner[hidden]{display:none}
.consent-banner p,.consent-dialog p{font-size:14px;line-height:1.8}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 12px}
.consent-actions .button{width:100%;min-height:48px;white-space:normal}
.consent-banner>a,.consent-dialog>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.consent-dialog{width:calc(100% - 32px);max-width:540px;max-height:calc(100dvh - 48px);padding:28px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;overflow:auto}
.consent-dialog::backdrop{background:#292c2970}
.consent-dialog h2{font-size:25px;line-height:1.35;letter-spacing:-.025em;margin-bottom:20px}
.consent-toggle{display:flex;align-items:center;gap:14px;min-height:48px;margin:18px 0;cursor:pointer}
.consent-toggle input{width:24px;height:24px;accent-color:var(--accent);flex-shrink:0}
.consent-toggle input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(min-width:1000px){.consent-banner{bottom:24px;right:24px}}
