.site-header.document-header{grid-template-columns:minmax(0,1fr) auto}
.legal-page .legal-main{max-width:880px;margin:auto;padding:40px 24px 48px;min-height:65vh}.legal-document{overflow-wrap:anywhere}.legal-document header{display:grid;gap:18px;margin-bottom:32px}.legal-document h1{font:400 clamp(32px,5vw,48px)/1.15 var(--font-reading);letter-spacing:-1px}.legal-meta{color:var(--text-muted);font-size:14px}
.legal-document header{grid-template-columns:minmax(0,1fr)}.legal-document header>*{min-width:0}.legal-document h1{overflow-wrap:anywhere}
.legal-toc{display:grid;gap:10px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface);margin-bottom:36px}.legal-document section{margin:32px 0;scroll-margin-top:32px}.legal-document h2{font:400 24px/1.35 var(--font-reading)}.legal-document section p{margin:16px 0;line-height:1.75}.legal-document ul{padding-left:24px}.legal-document li{margin:12px 0;line-height:1.7}
.legal-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.legal-index>a{display:block;padding:22px;border:1px solid var(--border);border-radius:12px;text-decoration:none;background:var(--surface)}.legal-index h2{font-size:22px;margin-bottom:12px}.legal-index p{color:var(--text-muted)}
.site-footer.legal-footer{gap:1.25rem 2rem;overflow-wrap:anywhere}
.legal-footer .footer-wordmark{grid-column:1;grid-row:1}
.site-footer.legal-footer .footer-tagline{grid-column:2;grid-row:1;text-align:center}
.legal-footer .footer-meta{grid-column:3;grid-row:1;justify-content:flex-end}
.legal-footer .footer-legal-links{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.legal-footer .footer-legal-links a,.legal-footer .footer-legal-links button{display:inline-flex;align-items:center;min-height:32px;color:var(--text-muted);font:inherit;text-decoration:none}
.legal-footer .footer-legal-links a:hover,.legal-footer .footer-legal-links button:hover{color:var(--accent-fg);text-decoration:underline;text-underline-offset:3px}
.legal-footer .footer-legal-links button{border:0;background:none;padding:0;cursor:pointer}
.site-footer.legal-footer .footer-operator{grid-column:1/-1;grid-row:3;text-align:left;font-size:.75rem;line-height:1.65}
.cookie-panel{position:fixed;z-index:1000;bottom:18px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 36px);overflow:auto;padding:24px;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);font-size:14px}.cookie-panel[hidden]{display:none}.cookie-panel h2{font:400 24px var(--font-reading);margin-bottom:12px}.cookie-panel p{margin:12px 0;line-height:1.6}.cookie-panel>div{display:flex;flex-wrap:wrap;gap:12px}.cookie-panel button{background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:8px;padding:12px 16px;font:inherit;min-height:44px;cursor:pointer}.cookie-panel button:disabled{opacity:.5;cursor:default}.cookie-panel button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:42rem){.legal-footer .footer-meta{grid-column:2}.site-footer.legal-footer .footer-tagline{grid-column:1/-1;grid-row:2;text-align:left}.legal-footer .footer-legal-links{grid-row:3;gap:.35rem 1.25rem}.site-footer.legal-footer .footer-operator{grid-row:4}}
@media(max-width:600px){.legal-page .legal-main{padding:28px 20px 48px}.legal-index{grid-template-columns:1fr}.legal-toc{padding:18px}.cookie-panel{padding:20px}.cookie-panel>div{display:grid}.cookie-panel button{width:100%}}
@media(max-width:380px){.document-header .wordmark{width:5.25rem}.document-header .header-actions{gap:.375rem}.site-header.document-header{gap:.5rem}.document-header .button-small{font-size:.7rem}}
.public-request{display:grid;gap:1.25rem;margin-top:2rem}
.public-request>label{display:grid;gap:.5rem}
.public-request input:not([type="checkbox"]),.public-request textarea,.public-request select{width:100%;min-width:0;padding:.8rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit}
.public-request textarea{resize:vertical}
.public-request>.request-consent{display:flex;align-items:flex-start;gap:.75rem}
.request-consent input{flex:0 0 1.25rem;width:1.25rem;height:1.25rem;margin:.25rem 0;accent-color:var(--accent-fg)}
.public-request .button{justify-self:start}.public-request .button:disabled{opacity:.5;cursor:not-allowed}
.request-error{color:var(--accent-fg)}.request-receipt{overflow-wrap:anywhere}
