.legal-footer{display:flex;flex-wrap:wrap;gap:12px 22px;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);font:11px var(--sans)}.legal-footer a,.legal-footer button{text-decoration:underline;text-underline-offset:4px}.legal-footer button{background:none;border:0;padding:0;color:inherit;font:inherit}.privacy-banner{position:fixed;z-index:1000;bottom:18px;left:18px;right:18px;margin:auto;max-width:1050px;background:var(--cream,#f4f0e8);color:var(--ink,#29221e);border:1px solid var(--line,#d1c8ba);box-shadow:0 10px 60px #0003;padding:24px 30px;display:grid;grid-template-columns:1fr auto;gap:24px;font:12px/1.7 var(--sans,Arial,sans-serif)}.privacy-banner h2,.privacy-dialog h2{font:32px/1.1 var(--serif,Georgia,serif);margin:0 0 12px}.privacy-banner p{margin:0 0 8px}.privacy-banner a,.privacy-dialog a{text-decoration:underline}.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.privacy-actions button{min-height:44px;border:1px solid var(--ink,#29221e);background:transparent;color:inherit;padding:12px 18px;font:12px var(--sans,Arial,sans-serif)}.privacy-actions button:first-child{background:var(--ink,#29221e);color:var(--cream,#f4f0e8)}.privacy-dialog{max-width:min(600px,calc(100vw - 32px));padding:32px;max-height:85vh;overflow:auto;border:1px solid var(--line,#d1c8ba);font:14px/1.8 var(--sans,Arial,sans-serif)}.privacy-dialog::backdrop{background:#201b1877}.legal-main{max-width:920px;margin:auto;padding:65px 6vw 90px}.legal-main h1{font-size:clamp(44px,6vw,70px);margin-bottom:32px}.legal-main h2{font-size:28px;line-height:1.2;margin:32px 0 14px}.legal-main p{font-size:14px;line-height:1.85;overflow-wrap:anywhere}.legal-main a{text-decoration:underline}.terms-acceptance{display:flex;align-items:flex-start;gap:10px;margin:24px 0;font-size:12px;line-height:1.7}.terms-acceptance input{width:18px;height:18px;flex:none;margin-top:4px}.terms-acceptance a{text-decoration:underline}@media(max-width:700px){.privacy-banner{grid-template-columns:1fr;padding:20px;gap:15px;max-height:65vh;overflow:auto;bottom:10px;left:10px;right:10px}.privacy-actions{width:100%}.privacy-actions button{flex:1}.privacy-dialog{padding:24px}}

/* Banner visibility must work independently of the page theme. */
.privacy-banner[hidden]{display:none!important}
.privacy-dialog:not([open]){display:none}
