:root{--privacy-banner-height:0px}.privacy-banner{position:fixed;z-index:180;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:center;padding:20px max(24px,calc((100vw - 1200px) / 2)) calc(20px + env(safe-area-inset-bottom));border-top:1px solid #e7ddce;background:#f7f3eb;color:#222b28;box-shadow:0 -18px 50px -30px #222b2860;font-family:var(--tt-body,Manrope,sans-serif)}.privacy-banner-copy{display:flex;gap:12px;align-items:flex-start;max-width:650px}.privacy-banner-copy>svg{flex:none;color:#984322;margin-top:3px}.privacy-banner h2{font-family:var(--tt-headline,"Bricolage Grotesque",sans-serif);font-size:20px;line-height:1.25;margin:0 0 6px}.privacy-banner p{margin:0;font-size:14px;line-height:1.5}.privacy-banner-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.privacy-banner button,.privacy-dialog button:not([role=checkbox]){border-radius:14px;white-space:normal}.privacy-error{color:#984322;grid-column:1/-1}.privacy-dialog{width:calc(100vw - 32px);max-width:560px;max-height:calc(100dvh - 40px);overflow:auto;border-radius:28px;background:#f7f3eb;color:#222b28}.privacy-option{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:12px;align-items:flex-start;padding:16px;border:1px solid #e7ddce;border-radius:18px;background:white}.privacy-option-essential{display:block}.privacy-option p{margin:4px 0 0;font-size:14px;line-height:1.5}.privacy-option [role=checkbox]{width:20px;height:20px;border-radius:6px;margin-top:2px}.privacy-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.privacy-preferences-link{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;padding:8px 0;min-height:44px;cursor:pointer}.privacy-confirmation{position:fixed;z-index:180;left:50%;bottom:calc(24px + var(--privacy-confirmation-offset, 0px));transform:translateX(-50%);display:flex;gap:8px;align-items:center;max-width:calc(100vw - 32px);margin:0;border:1px solid #cddcd6;border-radius:18px;padding:14px 18px;background:#222b28;color:white;font-size:14px;box-shadow:0 14px 40px #222b2840}@media (max-width:800px){.privacy-banner{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 16px calc(14px + env(safe-area-inset-bottom))}.privacy-banner h2{font-size:18px}.privacy-banner p{font-size:13px}.privacy-banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.privacy-banner-actions>button:last-child{grid-column:1/-1;min-height:44px;height:auto;padding:4px}body:has(.privacy-banner) .bk-bar,body:has(.privacy-banner) .bnav,body:has(.privacy-banner) .iv-dock{bottom:var(--privacy-banner-height)}body:has(.privacy-banner) .cv-sticky{bottom:calc(var(--privacy-banner-height) + env(safe-area-inset-bottom, 0px) + 16px)}body:has(.privacy-banner) #main{padding-bottom:var(--privacy-banner-height)}}@media (prefers-reduced-motion:reduce){.privacy-banner,.privacy-confirmation{animation:none;transition:none}}@media print{.privacy-banner,.privacy-confirmation,.privacy-preferences-link{display:none!important}}.privacy-policy-notice{padding:24px;border:1px solid #e7ddce;border-radius:20px;background:#f7f3eb;margin-bottom:24px}.privacy-policy-notice h2{font-family:var(--font-heading);font-size:24px;margin:0 0 16px}.privacy-policy-notice p{margin:0 0 14px;line-height:1.7}.privacy-policy-notice button{min-height:44px}.privacy-dialog{z-index:401}.privacy-dialog-overlay{z-index:400}@media (prefers-reduced-motion:reduce){.privacy-dialog,.privacy-dialog-overlay{animation:none!important;transition:none!important}}