/* GaryCity-only consent controls. No remote assets, animation or inline styles. */
.gary-analytics-banner,.gary-analytics-dialog{--analytics-ink:#122b3f;--analytics-paper:#f7f5f0;--analytics-teal:#15636b;box-sizing:border-box;color:var(--analytics-ink);background:var(--analytics-paper);font-family:var(--body-font,system-ui,sans-serif);font-size:1rem;line-height:1.55;text-align:left}
.gary-analytics-banner{position:fixed;z-index:90;inset:auto 1rem 1rem;max-width:72rem;max-height:46vh;max-height:46svh;margin-inline:auto;overflow:auto;overscroll-behavior:contain;border:1px solid #c7d2cd;border-top:4px solid var(--analytics-teal);border-radius:10px;box-shadow:0 5px 28px #122b3f26;padding:1rem 1.25rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1.25rem;scroll-padding-block:1rem}
.gary-analytics-banner[hidden],.gary-analytics-dialog [hidden],.gary-analytics-banner [hidden]{display:none!important}
.gary-analytics-banner h2,.gary-analytics-dialog h2{font-family:var(--body-font,system-ui,sans-serif);font-size:1.08rem;font-weight:700;line-height:1.35;letter-spacing:normal;margin:0 0 .35rem;color:var(--analytics-ink)}
.gary-analytics-banner p,.gary-analytics-dialog p{max-width:none;font-size:1rem;line-height:1.55;margin:0 0 .8rem}
.gary-analytics-summary{min-width:0}
.gary-analytics-summary p{margin-bottom:.25rem}
.gary-analytics-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.gary-analytics-banner>.gary-analytics-actions{align-content:center;max-width:24rem}
.gary-analytics-choice{display:inline-flex;justify-content:center;align-items:center;flex:1 1 10rem;min-height:46px;padding:.65rem 1rem;border:1.5px solid var(--analytics-ink);border-radius:5px;background:var(--analytics-ink);color:#fff;font:inherit;font-weight:650;font-size:.95rem;line-height:1.35;text-align:center;white-space:normal;cursor:pointer}
.gary-analytics-choice:hover{background:var(--analytics-teal);border-color:var(--analytics-teal);color:#fff}
.gary-analytics-choice:disabled{cursor:wait;opacity:.65}
.gary-analytics-details,.gary-analytics-close,.analytics-settings-link{min-height:44px;padding:.45rem .1rem;border:0;border-radius:2px;background:transparent;color:inherit;font:inherit;font-size:.95rem;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.gary-analytics-details{color:var(--analytics-teal)}
.gary-analytics-banner button:focus-visible,.gary-analytics-dialog button:focus-visible,.gary-analytics-dialog a:focus-visible,.analytics-settings-link:focus-visible{outline:3px solid #9b3e25;outline-offset:3px;box-shadow:0 0 0 3px #f7f5f0}
.gary-analytics-message{grid-column:1/-1;border-left:3px solid #9b3e25;padding:.6rem .8rem;background:#efe7de;color:var(--analytics-ink)}
.gary-analytics-dialog{width:min(40rem,calc(100% - 2rem));max-height:calc(100vh - 3rem);max-height:calc(100svh - 3rem);overflow:auto;overscroll-behavior:contain;border:1px solid #b7c6c0;border-radius:10px;padding:1.35rem;box-shadow:0 14px 70px #122b3f40;scroll-padding-block:1.25rem}
.gary-analytics-dialog::backdrop{background:#122b3fa8}
.gary-analytics-dialog-heading{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.gary-analytics-dialog-heading h2{margin:0;font-size:1.2rem}
.gary-analytics-close{flex:none;padding:.45rem .5rem}
.gary-analytics-dialog a{color:var(--analytics-teal);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.gary-analytics-current{padding:.7rem .85rem;background:#e8efeb;font-weight:650;border-radius:4px}
.gary-analytics-dialog>.gary-analytics-actions{margin-top:1rem}
.site-footer .analytics-settings-link{color:inherit;padding-block:.45rem}
@media(min-width:760px){.gary-analytics-banner>.gary-analytics-actions{flex-wrap:nowrap}.gary-analytics-banner>.gary-analytics-actions .gary-analytics-choice{flex-basis:auto;min-width:10rem}}
@media(max-width:759px){.gary-analytics-banner{inset:auto .65rem max(.65rem,env(safe-area-inset-bottom));padding:.8rem 1rem;grid-template-columns:1fr;gap:.4rem}.gary-analytics-banner>.gary-analytics-actions{max-width:none}.gary-analytics-banner h2{font-size:1rem}.gary-analytics-banner p{font-size:.94rem}.gary-analytics-choice{flex-basis:8rem}.gary-analytics-dialog{padding:1rem}}
@media(prefers-reduced-motion:reduce){.gary-analytics-banner,.gary-analytics-dialog{scroll-behavior:auto}}
