.privacy-banner{position:fixed;inset:auto max(1rem,calc((100vw - 72rem)/2)) 1rem;z-index:1000;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:end;max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;background:var(--surface,#fff);color:var(--ink,#18212b);border:1px solid var(--line,#cdd4dc);border-radius:var(--radius,.375rem);box-shadow:0 1.25rem 3.75rem rgba(24,33,43,.2);font-family:var(--body,'Helvetica Neue',Arial,sans-serif)}
.privacy-banner[hidden]{display:none}.privacy-banner__copy{min-width:0}.privacy-banner h2{margin:0 0 .5rem;font:650 1.125rem/1.35 var(--display,var(--body,'Helvetica Neue',Arial,sans-serif));letter-spacing:-.02em}.privacy-banner p{margin:0;max-width:66ch;color:var(--muted,#52606d);font-size:.875rem;line-height:1.55}.privacy-banner details{padding:.5rem 0 0;font-size:.875rem}.privacy-banner summary{min-height:2.75rem;display:flex;align-items:center;width:max-content;max-width:100%;cursor:pointer;font-weight:600}.privacy-banner dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 .75rem}.privacy-banner dl div{padding:.25rem .75rem .25rem 0;border-right:1px solid var(--line,#cdd4dc)}.privacy-banner dl div+div{padding-left:.75rem}.privacy-banner dl div:last-child{border-right:0}.privacy-banner dt{font-weight:650}.privacy-banner dt label{display:flex;align-items:center;gap:.4rem}.privacy-banner dt input{width:18px;height:18px;margin:0;accent-color:var(--accent,#215db0)}.privacy-banner dd{margin:.25rem 0 0;color:var(--muted,#52606d);line-height:1.45}.privacy-banner a{font-size:.875rem}.privacy-banner__custom,.privacy-banner__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.privacy-banner__actions{justify-content:flex-end}.privacy-choice{min-height:44px;padding:.65rem 1rem;border:1px solid var(--accent,#215db0);border-radius:var(--radius,.375rem);background:var(--accent,#215db0);color:var(--on-accent,#fff);font:600 .875rem/1.4 var(--body,'Helvetica Neue',Arial,sans-serif);cursor:pointer}.privacy-choice:hover{background:var(--accent-hover,#174b91);border-color:var(--accent-hover,#174b91)}.privacy-choice--quiet{background:var(--surface,#fff);border-color:var(--line,#cdd4dc);color:var(--ink,#18212b)}.privacy-choice--quiet:hover{background:var(--paper,#f3f5f7);border-color:var(--muted,#52606d)}.consent-settings{min-height:44px;padding:0;border:0;background:transparent;color:var(--accent,#215db0);font:inherit;font-size:.875rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;cursor:pointer}.consent-settings:hover{text-decoration-thickness:2px}
@media(max-width:760px){.privacy-banner{inset:auto .5rem .5rem;grid-template-columns:1fr;gap:1rem;padding:1rem}.privacy-banner dl{grid-template-columns:1fr}.privacy-banner dl div,.privacy-banner dl div+div{padding:.65rem 0;border-right:0;border-bottom:1px solid var(--line,#cdd4dc)}.privacy-banner dl div:last-child{border-bottom:0}.privacy-banner__actions{display:grid;grid-template-columns:1fr}.privacy-choice{width:100%}}
@media(prefers-color-scheme:dark){.privacy-banner{box-shadow:0 1.25rem 3.75rem rgba(0,0,0,.45)}}
@media(prefers-reduced-motion:reduce){.privacy-banner *{scroll-behavior:auto;transition:none!important}}
@media print{.privacy-banner,.consent-settings{display:none!important}}
