.consent-banner{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--bg-glass-heavy);border-top:var(--border-thin) solid var(--border-subtle);inset-inline:0;bottom:0;box-shadow:var(--shadow-xl);opacity:1;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom, 0px));position:fixed;transform:translateY(0);transition:transform var(--duration-sheet) var(--ease-sheet),opacity var(--duration-normal) var(--ease-default);z-index:var(--z-overlay)}.consent-banner--entering,.consent-banner--leaving{opacity:0;transform:translateY(100%)}.consent-banner__inner{display:flex;flex-direction:column;gap:var(--space-3);margin-inline:auto;max-width:72rem}.consent-banner__lead{align-items:flex-start;display:flex;gap:var(--space-2);min-width:0}.consent-banner__close{color:var(--text-muted);flex:0 0 auto;margin-inline-start:calc(var(--space-2)*-1);margin-top:calc(var(--space-1)*-1.5)}.consent-banner__copy{min-width:0}.consent-banner__title{color:var(--text-body);font-family:var(--font-sans);font-size:var(--font-base);font-weight:600;line-height:1.4;margin:0 0 var(--space-1)}.consent-banner__body{color:var(--text-muted);font-family:var(--font-body);font-size:var(--font-sm);line-height:1.45;margin:0}.consent-banner__links{align-items:baseline;display:flex;flex-wrap:wrap;font-family:var(--font-body);font-size:var(--font-sm);gap:var(--space-2);line-height:1.45;margin:var(--space-1) 0 0}.consent-banner__link,.consent-banner__manage{color:var(--text-link);text-decoration:underline;text-underline-offset:.15em}.consent-banner__manage{appearance:none;background:none;border:0;cursor:pointer;font:inherit;margin:calc(var(--space-1)*-1) 0;padding:var(--space-1) 0}.consent-banner__manage:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--focus-ring);outline:none}.consent-banner__dot{color:var(--text-muted)}.consent-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.consent-banner__choice{flex:1 1 8rem}@media (min-width:768px){.consent-banner__inner{align-items:center;flex-direction:row;gap:var(--space-8);justify-content:space-between}.consent-banner__lead{flex:1 1 auto}.consent-banner__actions{flex:0 0 auto;flex-wrap:nowrap}.consent-banner__choice{flex:0 0 auto}}@media (prefers-reduced-motion:reduce){.consent-banner,.consent-banner--entering,.consent-banner--leaving{transform:none;transition:none}.consent-banner--entering{opacity:0}}