.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}
.legal-links a{padding:2px 0;color:inherit;font:inherit;letter-spacing:.035em;text-transform:uppercase;text-underline-offset:4px}
.legal-links a:hover{text-decoration:underline;color:#d5d5d0}
.legal-links a:focus-visible,.legal-close:focus-visible{outline:1px solid #fff;outline-offset:5px}
.legal-modal{width:min(760px,calc(100vw - 32px));max-width:none;max-height:min(86svh,920px);margin:auto;padding:0;overflow:hidden;border:1px solid #383838;background:#0c0c0c;color:#f3f3ef;box-shadow:0 24px 100px #0009}
.legal-modal::backdrop{background:#000c;backdrop-filter:blur(5px)}
.legal-shell{display:flex;flex-direction:column;max-height:min(86svh,920px)}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;padding:24px 32px;border-bottom:1px solid #292929}
.legal-header h2{margin:0;font:400 clamp(2rem,4vw,3rem)/1.08 var(--serif);letter-spacing:-.02em}
.legal-header h2:focus{outline:none}
.legal-close{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0 8px 12px;border:0;background:none;color:#f3f3ef;font:400 .75rem/1 var(--sans);cursor:pointer}
.legal-close span[aria-hidden]{font-size:1.6rem;font-weight:400}
.legal-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px 32px 38px;color:#c7c7c2;font:400 .875rem/1.8 var(--sans);overflow-wrap:anywhere}
.legal-content p{margin:0 0 18px}
.legal-content h2,.legal-content h3{margin:32px 0 12px;color:#f3f3ef;font:400 1.65rem/1.15 var(--serif);letter-spacing:-.015em}
.legal-content ul{margin:0 0 20px;padding-left:22px}
.legal-content li{margin:0 0 4px}
.legal-content a{text-decoration:underline;text-underline-offset:3px;color:#e4e4df}
.legal-content .legal-meta{margin-bottom:24px;color:#999;font-size:.75rem}
.legal-page{max-width:840px;margin:0 auto;padding:72px 24px 84px}
.legal-page h1{margin:0 0 30px;font:400 clamp(2.8rem,6vw,4.5rem)/1.05 var(--serif);letter-spacing:-.035em}
.legal-page .legal-content{padding:0;overflow:visible}
@media(max-width:600px){.legal-modal{width:calc(100vw - 24px);max-height:calc(100svh - 32px)}.legal-shell{max-height:calc(100svh - 32px)}.legal-header{padding:18px 20px;gap:14px}.legal-content{padding:22px 20px 30px}.legal-close{gap:6px}.legal-page{padding:48px 20px 60px}}
