.privacy-banner,.privacy-dialog{--privacy-ink:#f7f5f0;--privacy-muted:#c4cbd3;--privacy-line:#48525f;--privacy-link:#91c2ff;color:var(--privacy-ink);color-scheme:dark;font-family:inherit;background:#232a33;border:1px solid var(--privacy-line);border-radius:6px;box-shadow:0 8px 32px rgb(13 24 37 / .18);box-sizing:border-box}
.privacy-banner{position:fixed;z-index:45;left:50%;bottom:24px;width:860px;max-width:calc(100% - 48px);max-height:calc(100dvh - 48px);overflow:auto;padding:24px 28px;opacity:1;transform:translate(-50%,0);transition:opacity 180ms ease,transform 180ms ease}
.privacy-banner[hidden],.privacy-demo-note[hidden]{display:none}
.privacy-banner.is-leaving{opacity:0;transform:translate(-50%,8px);pointer-events:none}
.privacy-banner h2,.privacy-dialog h2{margin:0;font-size:21px;font-weight:400;letter-spacing:-.025em;line-height:1.3}
.privacy-banner h2{display:flex;align-items:center;gap:12px;font-size:20px}
.privacy-banner h2 svg{width:24px;height:24px;flex:none;color:var(--privacy-link)}
.privacy-banner p,.privacy-dialog p{margin:12px 0 0;font-size:14px;line-height:1.65;color:var(--privacy-muted)}
.privacy-banner strong{font-weight:500;color:var(--privacy-ink)}
.privacy-banner-foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:20px}
.privacy-policy-link{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:var(--privacy-link);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.privacy-policy-link:hover{color:var(--privacy-ink)}
.privacy-links{display:flex;flex-wrap:wrap;gap:8px 16px}
.privacy-links a{font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;color:var(--privacy-link)}
.privacy-links a:hover{color:var(--privacy-ink)}
.privacy-actions{display:flex;gap:10px}
.privacy-actions button,.privacy-save{min-height:44px;min-width:112px;padding:10px 20px;border:1px solid var(--privacy-line);border-radius:4px;background:transparent;color:var(--privacy-ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color 160ms,color 160ms,border-color 160ms,transform 120ms}
.privacy-actions button:hover{border-color:#a5b0be;background:#303a46}
.privacy-actions .privacy-allow,.privacy-save{background:#f7f5f0;border-color:#f7f5f0;color:#232a33}
.privacy-actions .privacy-allow:hover,.privacy-save:hover{background:#e6edf7;border-color:#e6edf7}
.privacy-actions button:active,.privacy-save:active{transform:scale(.98)}
.privacy-banner :focus-visible,.privacy-dialog :focus-visible{outline:2px solid var(--privacy-link);outline-offset:4px}
[data-privacy-settings]{cursor:pointer}
.footer-links button{min-height:44px;padding:0;border:0;background:none;font:inherit;color:inherit;font-size:inherit}
.footer-links button:hover{color:var(--accent)}
.privacy-dialog{width:560px;max-width:calc(100% - 32px);max-height:85dvh;padding:28px;overflow:auto}
.privacy-dialog::backdrop{background:rgb(13 24 37 / .28)}
.privacy-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.privacy-close{width:44px;height:44px;flex:none;border:0;background:transparent;color:var(--privacy-muted);font:inherit;font-size:28px;cursor:pointer;margin:-10px -10px -10px 0}
.privacy-close:hover{color:var(--privacy-ink)}
.privacy-option{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--privacy-line)}
.privacy-option h3{margin:0;font-size:16px;font-weight:500}
.privacy-option p{margin-top:6px}
.privacy-option>span{max-width:110px;flex:none;color:var(--privacy-muted);font-size:12px;line-height:1.5}
.privacy-option input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--accent);cursor:pointer}
.privacy-dialog .privacy-demo-note{font-size:12px}
.privacy-save{display:block;width:100%;margin-top:24px;font-size:15px}
@media(max-width:760px){.privacy-banner{bottom:calc(var(--mobile-contact-clearance,96px) + 12px);max-width:calc(100% - 24px);max-height:calc(100dvh - 200px);padding:20px}.privacy-banner h2{font-size:18px;gap:10px}.privacy-banner p{font-size:13px}.privacy-actions{gap:8px}.privacy-actions button{font-size:13px;padding:10px 16px}.privacy-dialog{padding:22px}.privacy-option{gap:16px}.privacy-option>span{max-width:80px}}
@media(max-width:560px){.privacy-banner-foot{gap:8px;margin-top:16px}.privacy-actions{width:100%}.privacy-actions button{flex:1;min-width:0}.privacy-policy-link{justify-content:center;width:100%;margin-left:0}.privacy-banner h2 svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.privacy-banner,.privacy-actions button,.privacy-save{transition:none}}
