.legal-main { width:min(860px,90%); margin:clamp(35px,6vw,80px) auto 70px; }
.legal-main h1 { font-size:clamp(32px,5vw,62px); line-height:1.12; letter-spacing:-.04em; margin:18px 0 24px; overflow-wrap:anywhere; }
.legal-lead { font-size:clamp(17px,2vw,21px); line-height:1.65; color:var(--muted); }
.legal-date { color:var(--muted); font-size:13px; }
.legal-main section { border-top:1px solid var(--line); margin-top:32px; padding-top:20px; }
.legal-main h2 { font-size:clamp(20px,2.5vw,25px); line-height:1.4; margin:0 0 16px; }
.legal-main p, .legal-main address { line-height:1.85; overflow-wrap:anywhere; }
.legal-main address { font-style:normal; }
.legal-main section p { color:var(--muted); }
.legal-main a { color:var(--brand-turquoise); text-decoration:underline; text-underline-offset:4px; }
.legal-main a:hover { color:var(--ink); }
.legal-main code { font:inherit; }
.legal-contents { display:flex; flex-wrap:wrap; gap:12px 22px; margin:30px 0; font-size:14px; }
.legal-related { padding-top:25px; }
.site-footer { gap:16px 30px; flex-wrap:wrap; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center; }
.site-footer nav a { padding-block:8px; }
@media(max-width:620px) { .legal-main { margin-top:32px; } .site-footer { font-size:12px; } }

.map-consent { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:clamp(20px,4vw,32px); color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:14px; }
.map-consent::backdrop { background:#010b15cc; }
.map-consent h2 { font-size:22px; line-height:1.35; margin-top:0; }
.map-consent p { color:var(--muted); line-height:1.7; font-size:14px; }
.map-consent a { color:var(--brand-turquoise); text-decoration:underline; text-underline-offset:3px; }
.map-consent-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.map-consent-actions button { flex:1 1 180px; padding:12px 16px; border:1px solid var(--line); border-radius:7px; background:var(--brand-background); color:var(--ink); }
.map-consent-actions button:hover { border-color:var(--brand-turquoise); }
.map-consent-actions #detail-confirm { background:var(--brand-turquoise); border-color:var(--brand-turquoise); color:var(--brand-background); }
