/* Site utilities are separate from the byte-preserved approved feature design. */
.masthead .local-label { text-decoration: none; }
.feature-legal { display: flex; justify-content: center; align-items: center; gap: 24px; padding: 0 0 28px; font: 12px/1.5 system-ui, sans-serif; }
.feature-legal button { min-height: 44px; padding: 0; background: transparent; border: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
html.analytics-consent-open, html.analytics-consent-open body { overflow: hidden; }
html.analytics-consent-fallback-open body::before { content: ''; position: fixed; inset: 0; z-index: 999; background: rgba(10, 24, 36, .72); }
.analytics-consent { position: fixed; inset: 0; z-index: 1000; display: grid; width: min(520px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); margin: auto; padding: 28px; gap: 24px; overflow: auto; border: 1px solid #cad4dc; border-radius: 6px; background: #fff; color: #1d2d3b; box-shadow: 0 24px 64px rgba(10, 24, 36, .28); font: 14px/1.55 system-ui, sans-serif; }
.analytics-consent:not([open]) { display: none; }
.analytics-consent::backdrop { background: rgba(10, 24, 36, .72); }
.analytics-consent__title { margin: 0; font-size: 20px; font-weight: 750; line-height: 1.2; }
.analytics-consent__copy p:not(.analytics-consent__title) { margin: 10px 0 0; color: #526574; }
.analytics-consent__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.analytics-consent__actions button { min-height: 44px; padding: 10px 16px; border: 1px solid #1d2d3b; border-radius: 4px; background: #fff; color: #1d2d3b; font: 700 13px/1.2 system-ui, sans-serif; cursor: pointer; }
.analytics-consent__actions .analytics-consent__accept { border-color: #196491; background: #196491; color: #fff; }
.analytics-consent button:focus-visible, .feature-legal button:focus-visible { outline: 2px solid #196491; outline-offset: 3px; }
@media (max-width: 600px) { .analytics-consent { padding: 24px 20px; } .analytics-consent__actions { grid-template-columns: 1fr; } }
@media print { .feature-legal, .analytics-consent { display: none !important; } }
