.legal-page{height:auto;min-height:100%}
.legal-page .brand span{display:inline}
.legal{max-width:800px;padding-top:28px;line-height:1.7;overflow-wrap:anywhere}
.legal h1{font:600 clamp(28px,5vw,40px)/1.15 var(--font-serif);margin:28px 0 8px}
.legal h2{font-size:20px;line-height:1.35;margin:0 0 12px;scroll-margin-top:80px}
.legal p{margin:0 0 14px}
.legal section{margin-top:32px}
.legal ul,.legal ol{padding-left:24px}
.legal li+li{margin-top:8px}
.legal a,.legal-notice a{color:inherit;text-underline-offset:3px}
.legal a:focus-visible,.legal-notice a:focus-visible,.skip-link:focus-visible{outline:2px solid var(--ring);outline-offset:4px}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}
.legal-links [aria-current]{font-weight:700}
.legal-date{color:var(--muted-foreground);font-size:13px}
.legal-draft{border:1px solid var(--border);border-left:4px solid var(--foreground);border-radius:var(--radius);padding:16px;margin:20px 0;background:var(--muted)}
.legal-intro{font-size:17px}
.legal-index{padding:4px 16px;border:1px solid var(--border);border-radius:var(--radius)}
.legal-index ol{columns:2;column-gap:28px}
.legal-index li{break-inside:avoid}
.legal-footer{border-top:1px solid var(--border);margin-top:40px;padding-top:20px;font-size:13px}
.legal-notice{font-size:12px;line-height:1.6;color:var(--muted-foreground);margin:12px 0}
.legal-menu{position:relative}
.legal-menu summary{list-style:none}
.legal-menu summary::-webkit-details-marker{display:none}
.legal-menu .legal-links{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:0;width:230px;padding:6px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.legal-menu a{padding:8px;color:var(--foreground);text-decoration:none;border-radius:calc(var(--radius) - 2px)}
.legal-menu a:hover,.legal-menu a:focus-visible{background:var(--muted)}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--background);color:var(--foreground);padding:8px 12px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
@media(max-width:640px){.legal-index ol{columns:1}.legal-page .nav{height:auto;min-height:56px}.nav:has(.title-in) .legal-menu{display:none}}
@media print{.legal-page .nav,.legal-index,.legal-links,.skip-link{display:none}.legal{max-width:none;padding:0}.legal section{break-inside:avoid}.legal h2{scroll-margin-top:0}}
