.privacy-banner{position:fixed;z-index:90;bottom:0;left:0;right:0;background:var(--paper);color:var(--ink);border-top:2px solid var(--ink);padding:20px clamp(20px,4vw,62px);display:flex;align-items:center;gap:28px;font-family:var(--sans);font-size:14px;line-height:1.5}
.privacy-banner[hidden]{display:none}.privacy-banner h2,.privacy-dialog h2{font:400 28px/1.15 var(--serif);margin:0 0 8px;letter-spacing:-.02em}.privacy-banner p{margin:0;max-width:80ch}.privacy-banner a{text-decoration:underline;text-underline-offset:3px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.privacy-actions button{border:1px solid var(--ink);background:var(--surface);color:var(--ink);font:700 14px var(--sans);padding:12px 16px;cursor:pointer;min-height:44px;border-radius:0}.privacy-actions button:hover{background:var(--sand)}.privacy-actions button:focus-visible,.privacy-link:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.privacy-dialog{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:0;width:min(620px,calc(100% - 32px));max-height:85dvh;padding:28px;font:15px/1.5 var(--sans)}.privacy-dialog::backdrop{background:var(--ink);opacity:.65}.privacy-dialog label{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-top:1px solid var(--rule)}.privacy-dialog label strong{display:block;margin-bottom:4px}.privacy-dialog input{width:20px;height:20px;flex-shrink:0;accent-color:var(--moss)}.privacy-dialog .privacy-actions{margin-top:18px}.privacy-link{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:1000px){.privacy-banner{display:block}.privacy-banner .privacy-actions{margin-top:16px}}@media(max-width:520px){.privacy-banner{padding:16px;max-height:65dvh;overflow:auto}.privacy-banner h2{font-size:24px}.privacy-actions{gap:8px}.privacy-actions button{flex:1;padding:10px}.privacy-dialog{padding:20px}}
