:root{color-scheme:light;--legal-ink:#172b3a;--legal-muted:#42596a;--legal-link:#0b5877;--legal-line:#d4e0e7;--legal-bg:#f4f7fa}
*{box-sizing:border-box}
html{scroll-padding-top:20px}
body.legal-page{margin:0;background:var(--legal-bg);color:var(--legal-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.75}
.legal-header{max-width:930px;margin:0 auto;padding:24px 32px 10px}
.legal-brand{font-size:1.3rem;font-weight:750;letter-spacing:.04em;text-decoration:none}
.legal-content{max-width:930px;margin:0 auto 40px;padding:24px 40px 44px;border:1px solid var(--legal-line);border-radius:14px;background:#fff;overflow-wrap:anywhere}
.legal-content h1{font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.3;margin:0 0 12px}
.legal-content h2{font-size:1.35rem;line-height:1.4;margin:0 0 16px;scroll-margin-top:20px}
.legal-content h3{font-size:1.1rem;line-height:1.5;margin:24px 0 10px}
.legal-content p{margin:12px 0}
.legal-content ul,.legal-content ol{padding-left:26px;margin:12px 0}
.legal-content li{margin:6px 0}
.legal-page a{color:var(--legal-link);text-decoration:underline;text-underline-offset:3px}
.legal-page a:hover{color:#07374b;text-decoration-thickness:2px}
.legal-page :focus-visible{outline:3px solid #147ba0;outline-offset:4px;border-radius:2px}
.legal-updated{color:var(--legal-muted);font-size:.95rem}
.legal-draft{padding:12px 16px;border-left:4px solid #8a6500;background:#fff9e9}
.legal-related,.legal-contents{margin:26px 0;padding:18px 22px;border:1px solid var(--legal-line);border-radius:9px;background:#f8fafb}
.legal-related>p,.legal-contents>p{font-weight:700;margin:0}
.legal-contents ol{list-style:none;padding-left:0}
.legal-section{margin-top:36px;padding-top:26px;border-top:1px solid var(--legal-line)}
.legal-content address{font-style:normal;padding:12px 16px;background:#f8fafb;border-left:3px solid var(--legal-line);margin:16px 0}
.legal-skip-link{position:absolute;top:8px;left:12px;z-index:10;transform:translateY(-180%);padding:10px 14px;background:#fff;border:2px solid var(--legal-link)}
.legal-skip-link:focus{transform:none}
@media(max-width:600px){.legal-header{padding:18px 20px 12px}.legal-content{margin:0 12px 28px;padding:24px 18px 30px;border-radius:10px}.legal-related,.legal-contents{padding:14px 16px}.legal-content h2{font-size:1.2rem}.legal-section{margin-top:28px;padding-top:22px}}
@media print{body.legal-page{background:#fff}.legal-header,.legal-related,.legal-contents,.legal-skip-link{display:none}.legal-content{max-width:none;border:0;padding:0;margin:0}.legal-content h2{break-after:avoid}.legal-section{break-inside:auto}}
