.legal-header{justify-content:space-between;flex-wrap:wrap}
.legal-header nav,.legal-footer nav,.legal-links{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.legal-header nav a,.legal-footer a,.legal-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.legal-header .brand-asset img{display:block;width:250px;max-width:100%;height:auto}
.legal-header .brand{max-width:min(65vw,280px)}
.legal-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,78ch);justify-content:center;gap:clamp(24px,4vw,64px);padding-block:40px 64px}
.legal-toc{align-self:start;position:sticky;top:24px}
.legal-toc h2{font-size:1rem;margin:0 0 12px}
.legal-toc ol{padding:0;list-style:none;margin:0;display:grid;gap:4px}
.legal-toc a{display:block;padding:9px 0;min-height:44px;box-sizing:border-box;text-underline-offset:4px;font-size:.9375rem}
.legal-mobile-toc{display:none}
.legal-mobile-toc summary{min-height:44px;padding-block:10px;box-sizing:border-box;font-weight:650;cursor:pointer;color:var(--action)}
.legal-mobile-toc ol{list-style:none;margin:0;padding:8px 0 12px}
.legal-mobile-toc nav a{display:flex;align-items:center;min-height:44px;line-height:1.5;padding-block:6px}
.legal-content{min-width:0;overflow-wrap:anywhere}
.legal-content h1{margin:0 0 16px;font-size:clamp(2rem,4vw,3.25rem)}
.legal-content h2{font-size:1.5rem;margin:0 0 16px;scroll-margin-top:24px}
.legal-content h3{font-size:1.125rem;margin-top:24px}
.legal-content section{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}
.legal-content p,.legal-content li,.legal-content dd{line-height:1.7}
.legal-content a{text-decoration:underline;text-underline-offset:3px}
.legal-content address{font-style:normal;line-height:1.8}
.legal-content dl{display:grid;gap:8px;margin-block:16px}
.legal-content dt{font-weight:700}
.legal-content dd{margin:0 0 12px}
.legal-draft,.legal-pending{padding:16px 20px;border-left:4px solid var(--action);background:var(--action-soft);border-radius:0 8px 8px 0;margin:20px 0}
.legal-draft p,.legal-pending p{margin:6px 0 0}
.legal-content .legal-summary{padding:20px 24px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.legal-summary ul{padding-left:20px;margin:0}
.legal-summary li+li{margin-top:8px}
.legal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px}
.legal-footer p{margin:0}
.site-legal-links{display:flex;flex-wrap:wrap;gap:8px 24px;width:100%}
.site-legal-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.auth-legal-note{font-size:.875rem;color:var(--muted);margin:0;line-height:1.6}
.auth-legal-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.legal-layout{grid-template-columns:minmax(0,78ch);gap:24px;padding-top:28px}.legal-toc{display:none}.legal-mobile-toc{display:block;border-block:1px solid var(--line);margin-block:20px}.legal-header{gap:12px;min-height:80px}.legal-header nav{width:auto;border:0;padding:0}.legal-header nav a{font-size:.875rem}.legal-header .brand-asset img{width:220px}}
@media(max-width:450px){.legal-header .brand{max-width:100%;width:100%}.legal-header nav{width:100%;justify-content:flex-start;gap:16px}.legal-content .legal-summary{padding:16px}.legal-draft,.legal-pending{padding:14px 16px}}
@media print{.legal-toc,.legal-mobile-toc,.legal-header nav,.legal-footer,.skip-link{display:none}.legal-layout{display:block}.legal-content{max-width:none}.legal-draft,.legal-pending{border:1px solid #000}.legal-content section{break-inside:avoid}.legal-content a{color:inherit}}
