.consent-banner{position:fixed;z-index:1000;bottom:20px;left:20px;right:20px;max-width:1180px;margin:auto;padding:24px 28px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 12px 60px #0003;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}.consent-banner[hidden]{display:none}.consent-banner h2,.consent-dialog h2{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em;margin:0 0 8px}.consent-banner p,.consent-dialog p{font-size:1rem;line-height:1.55;margin:0;color:var(--muted)}.consent-banner a,.consent-dialog>a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.consent-actions{display:flex;flex-wrap:wrap;gap:8px}.consent-actions button,.consent-dialog-header button,#challenge-retry{border:1px solid var(--line);border-radius:6px;background:var(--surface-alt);color:var(--ink);min-height:44px;padding:10px 14px;font:inherit;font-size:.875rem;font-weight:650;cursor:pointer}.consent-actions button:hover,.consent-actions button:focus-visible{border-color:var(--accent)}.consent-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);overflow:auto}.consent-dialog::backdrop{background:#0009}.consent-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.consent-dialog-header button{font-size:1.5rem;min-width:44px}.consent-option{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:1rem}.consent-option:first-of-type{display:block}.consent-option strong{display:block;margin-bottom:5px}.consent-option span span{display:block;font-size:.925rem;color:var(--muted);line-height:1.5}.consent-option input{flex:0 0 22px;width:22px;height:22px;accent-color:var(--accent)}.consent-dialog .consent-actions{margin:22px 0 18px}.footer-legal{display:flex;flex-wrap:wrap;gap:16px}.footer-legal button{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.contact-security{margin:20px 0}.contact-security p{font-size:.875rem;line-height:1.5}.contact-security button[hidden]{display:none}.legal-footer{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px;font-size:.875rem}.legal-footer button{border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.legal-footer p{flex-basis:100%}.privacy-card table{width:100%;border-collapse:collapse;font-size:.875rem}.privacy-card th,.privacy-card td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 6px}.privacy-card td{overflow-wrap:anywhere}@media(max-width:1000px){.consent-banner{grid-template-columns:1fr;gap:16px}}@media(max-width:600px){.consent-banner{bottom:10px;left:10px;right:10px;padding:18px;max-height:70dvh;overflow:auto}.consent-actions{display:grid;grid-template-columns:1fr;width:100%}.consent-actions button{width:100%}.consent-dialog{padding:20px}.consent-banner h2{font-size:1.125rem}.consent-banner p{font-size:.925rem}}
/* Override the site's vertical form labels only inside the consent dialog. */
.consent-dialog div.consent-option{display:block}.consent-dialog label.consent-option{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:20px;text-align:left}.consent-dialog .consent-option input{padding:0;margin:0;min-height:22px;max-width:22px}.consent-dialog .consent-option strong{font-size:1rem;line-height:1.5}
@media print{.consent-banner,.consent-dialog,.privacy-top button,.privacy-switch,.legal-footer button,.privacy-back{display:none!important}.privacy-shell{width:100%;padding:0}.privacy-card{break-inside:avoid;border:0;padding:12px 0}.privacy-page{background:white;color:black}}
