.legal-page{width:100%;max-width:960px;margin:0 auto;padding:56px 0 64px;overflow-wrap:anywhere}
.legal-heading{margin-bottom:30px}
.legal-heading h1{margin:14px 0 18px;font-size:clamp(32px,4.5vw,44px);line-height:1.15;letter-spacing:-1.4px}
.legal-heading>p{max-width:720px;color:var(--s2c-muted);font-size:15px;line-height:1.8}
.legal-tabs{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:24px;border-bottom:1px solid var(--s2c-border)}
.legal-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0 12px;border-bottom:2px solid transparent;color:var(--s2c-action);font-weight:500;text-decoration:underline;text-underline-offset:4px}
.legal-tabs a[aria-current="page"]{border-bottom-color:var(--s2c-blue);color:var(--s2c-navy);font-weight:600;text-decoration:none}
.legal-tabs a:hover{color:var(--s2c-navy)}
.legal-card{padding:36px;background:#ffffff;border:1px solid var(--s2c-border);border-radius:14px;color:var(--s2c-graphite);font-size:15px;line-height:1.8}
.legal-card+.legal-card{margin-top:24px}
.legal-section+.legal-section{margin-top:32px;padding-top:28px;border-top:1px solid var(--s2c-border)}
.legal-section h2{margin:0 0 16px;font-size:24px;line-height:1.3;letter-spacing:-.65px}
.legal-section h3{margin:24px 0 10px;font-size:18px;line-height:1.4;letter-spacing:-.3px}
.legal-section p,.legal-section address,.legal-section dl,.legal-section ul,.legal-section ol{margin:0 0 16px;line-height:1.8}
.legal-section>:last-child{margin-bottom:0}
.legal-section ul,.legal-section ol{padding-left:24px}
.legal-section li+li{margin-top:8px}
.legal-section dt{font-weight:600;color:var(--s2c-navy)}
.legal-section dd{margin:0 0 14px}
.legal-section a,.legal-contact a,.legal-toc a,.legal-draft a{color:var(--s2c-action);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.legal-section a:hover,.legal-contact a:hover,.legal-toc a:hover,.legal-draft a:hover{color:var(--s2c-navy)}
.legal-section address,.legal-contact address{font-style:normal;line-height:1.8}
.legal-missing{color:var(--s2c-muted)}
.legal-draft{margin:0 0 24px;padding:18px 20px;border:1px solid #ead1a1;border-radius:10px;background:#fff8e8;color:#644918;font-size:14px;line-height:1.8}
.legal-draft p+p{margin-top:10px}
.legal-updated{margin-top:24px;color:var(--s2c-muted);font-size:12px;line-height:1.8}
.upload-privacy{margin-top:16px;color:var(--s2c-muted);font-size:12px;line-height:1.7}
.upload-privacy a{color:var(--s2c-action);text-decoration:underline;text-underline-offset:3px}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px 22px;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--s2c-border);font-size:13px;line-height:1.8}
.legal-toc a{display:inline-flex;align-items:center;min-height:36px}
@media(max-width:800px){.legal-page{padding:40px 0 48px}.legal-card{padding:28px}.legal-heading{margin-bottom:24px}}
@media(max-width:600px){.legal-page{padding:30px 0 40px}.legal-heading h1{font-size:32px;letter-spacing:-1px}.legal-heading>p{font-size:14px}.legal-card{padding:24px 20px;border-radius:12px;font-size:14px}.legal-section h2{font-size:23px}.legal-section+.legal-section{margin-top:26px;padding-top:24px}.legal-tabs{gap:4px 20px;margin-top:18px;font-size:13px}.legal-draft{padding:16px;font-size:13px}.legal-toc{gap:4px 18px}}
