.analytics-notice{position:fixed;z-index:40;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:min(320px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 4px 20px #22231f1a;font-family:var(--font)}
.analytics-notice[hidden]{display:none}.analytics-notice h2{font-size:16px;line-height:24px;letter-spacing:0;margin:0 32px 8px 0}.analytics-notice p{font-size:13px;line-height:1.5;margin:0 0 12px}.analytics-notice a{font-size:11px;line-height:1.4;text-decoration:underline;text-underline-offset:3px}.analytics-options{display:flex;align-items:center;justify-content:space-between;gap:8px}.analytics-choices{display:flex;gap:6px;flex-shrink:0}.analytics-choices button{min-height:44px;padding:8px 12px;border:1px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.analytics-choices button:hover,.analytics-dismiss:hover{background:#e9ecdf}.analytics-notice button:focus-visible,.analytics-notice a:focus-visible{outline:3px solid #953619;outline-offset:2px}.analytics-dismiss{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;border-radius:4px;background:none;color:var(--ink);font:inherit;font-size:22px;cursor:pointer}.analytics-settings{background:none;border:0;padding:8px 0;color:inherit;min-height:44px;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer}.analytics-settings[hidden]{display:none}.footer-bottom{flex-wrap:wrap}
/* Keep the two existing corner notices from covering one another. */
body:has(.analytics-notice:not([hidden])) .language-notice{visibility:hidden}
/* Slim notice. The heading stays for screen readers (aria-labelledby) but is not drawn, so the box is about 110 px high on computers and a thin strip on phones. */
.analytics-notice h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:768px){.analytics-notice{width:min(380px,calc(100% - 24px));padding:12px 14px}.analytics-notice p{font-size:12px;line-height:1.45;margin:0 36px 8px 0}.analytics-notice a{font-size:12px}.analytics-dismiss{top:0;right:0}}
@media(max-width:767px){.analytics-notice{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:auto;padding:8px 12px 8px;border-radius:8px}.analytics-notice p{font-size:12px;line-height:1.4;margin:0 40px 6px 0}.analytics-notice a{font-size:12px;padding:12px 0;display:inline-block}.analytics-options{gap:10px}.analytics-choices{gap:8px}.analytics-choices button{min-width:76px;padding:6px 10px}.analytics-dismiss{top:0;right:0}}
@media(max-width:767px){body:has(.mobile-contact-bar:not([hidden])) .analytics-notice{bottom:calc(80px + max(12px,env(safe-area-inset-bottom)));max-height:calc(100dvh - 104px)}}
