.hp-aid-launcher { position: fixed; right: max(1rem, env(safe-area-inset-right)); top: 50%; transform: translateY(-50%); z-index: 1035; display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; max-width: calc(100% - 2rem); }
.hp-site .hp-aid-trigger { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; width: 4.25rem; height: 4.25rem; padding: .3rem; border: 2px solid #fff; border-radius: 50%; background: #fff; color: #2a6ab2; box-shadow: 0 3px 12px #12365b33; cursor: pointer; }
.hp-aid-launcher[hidden], .hp-aid-playback[hidden] { display: none !important; }
.hp-aid-launcher.hp-aid-focus-obscured { visibility: hidden; }
.hp-aid-playback { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; padding: .4rem .6rem; border: 1px solid #066fd1; border-radius: .5rem; background: #fff; color: #172b40; box-shadow: 0 3px 12px #12365b33; font: 600 14px/1.5 var(--municipality-font, sans-serif); }
.hp-aid-playback, .hp-aid-playback * { box-sizing: border-box; max-width: 100%; }
.hp-site .hp-aid-quick-stop { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .3rem .6rem; border: 1px solid #066fd1; border-radius: .3rem; background: #066fd1; color: #fff; font: inherit; cursor: pointer; }
.hp-site .hp-aid-trigger[data-speaking="true"] { border: 3px solid #f76707; }
.hp-site .hp-aid-tool-hint { min-height: calc(3em + 1rem); margin: 0; padding: .5rem .8rem; background: #fff; color: #172b40; font-size: max(14px, .875rem); line-height: 1.5; }
.hp-aid-trigger > img { width: 3.6rem; height: 3.6rem; }
.hp-site .hp-aid-trigger:hover { background: #eef4fb; }
.hp-site .hp-aid-trigger[hidden] { display: none !important; }
.hp-site .hp-aid-trigger { opacity: 1; scale: 1; visibility: visible; transition: opacity .2s ease, scale .2s ease, visibility 0s; }
.hp-site:has(#hp-reading-aid[open]) .hp-aid-trigger { opacity: 0; scale: .85; visibility: hidden; pointer-events: none; transition: opacity .2s ease, scale .2s ease, visibility 0s .2s; }
.hp-site .hp-aid-launcher.hp-aid-focus-obscured .hp-aid-trigger { visibility: hidden; transition: none; }
.hp-site .hp-reading-aid { position: fixed; inset: 50% max(1rem, env(safe-area-inset-right)) auto auto; transform: translateY(-50%); z-index: 1036; width: min(24rem, calc(100% - 2rem)); max-height: calc(100dvh - 8rem); margin: 0; padding: 0; overflow: auto; border: 1px solid #d5dee7; border-radius: .6rem; background: #fff; color: #172b40; box-shadow: 0 6px 28px #12365b33; overflow-wrap: anywhere; }
.hp-site .hp-reading-aid:not([open]) { display: none; }
.hp-site .hp-reading-aid { opacity: 0; translate: 1rem 0; scale: .97; transform-origin: right center; transition: opacity .2s ease, translate .2s ease, scale .2s ease, display .2s allow-discrete; }
.hp-site .hp-reading-aid[open] { opacity: 1; translate: 0 0; scale: 1; }
@starting-style {
    .hp-site .hp-reading-aid[open] { opacity: 0; translate: 1rem 0; scale: .97; }
}
@media (prefers-reduced-motion: reduce) {
    .hp-site .hp-reading-aid, .hp-site .hp-aid-trigger, .hp-site:has(#hp-reading-aid[open]) .hp-aid-trigger { transition: none; }
}
.hp-reading-aid, .hp-reading-aid * { box-sizing: border-box; }
.hp-site .hp-aid-heading .hp-aid-control { min-width: 2.75rem; }
.hp-aid-heading, .hp-aid-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.hp-aid-heading { justify-content: space-between; padding: .6rem .75rem; border-bottom: 1px solid #d5dee7; }
.hp-site .hp-aid-heading h2 { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; margin: 0; color: #172b40; font-size: .9rem; }
.hp-site .hp-aid-brand { font: 800 1.35rem/1 var(--municipality-font, sans-serif); letter-spacing: -.06em; color: #066fd1; }
.hp-aid-brand > span { color: #f76707; }
.hp-aid-tools { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: .4rem; gap: .15rem; background: #f1f5f9; }
.hp-site .hp-aid-tool { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 3rem; margin: 0; padding: .4rem; border: 1px solid transparent; border-radius: .3rem; background: transparent; color: #172b40; cursor: pointer; }
.hp-aid-tool > .ti { font-size: 1.65rem; pointer-events: none; }
.hp-aid-text-icon { font: 800 1.5rem/1 var(--municipality-font, sans-serif); }
.hp-site .hp-aid-tool:hover { background: #e0ebf6; }
.hp-site .hp-aid-tool[aria-expanded="true"], .hp-site .hp-aid-tool:has(input:checked) { color: #fff; background: #066fd1; border-color: #066fd1; }
.hp-aid-toggle input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.hp-aid-tool .visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap !important; border: 0 !important; }
.hp-site .hp-aid-panel { padding: 1rem; margin: 0; border: 0; border-top: 1px solid #d5dee7; }
.hp-site .hp-aid-panel[hidden] { display: none !important; }
.hp-site .hp-aid-panel h3 { font-size: 1.05rem; margin: 0 0 .75rem; }
.hp-site .hp-aid-control { min-height: 2.75rem; max-width: 100%; padding: .5rem .75rem; border: 1px solid #526879; border-radius: .25rem; font: inherit; line-height: 1.5; white-space: normal; background: #fff; color: #172b40; }
.hp-site .hp-aid-heading .hp-aid-control { padding: .3rem; border-color: transparent; background: #066fd1; color: #fff; }
.hp-aid-heading .hp-aid-control > .ti { font-size: 1.25rem; }
.hp-reading-aid select { display: block; width: 100%; margin: .35rem 0 1rem; }
.hp-aid-size-stepper { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; align-items: center; gap: .75rem; margin: .5rem 0 1rem; }
.hp-site .hp-aid-size-button { display: flex; align-items: center; justify-content: center; min-height: 3rem; padding: .5rem; border-color: #066fd1; border-radius: .35rem; background: #066fd1; color: #fff; cursor: pointer; }
.hp-site .hp-aid-size-button:hover:not(:disabled) { background: #0559a7; }
.hp-aid-size-button > .ti { font-size: 1.5rem; }
.hp-site #hp-aid-size { display: block; text-align: center; font-size: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.hp-reading-aid fieldset { min-width: 0; }
.hp-reading-aid legend { float: none; width: auto; font-size: 1.15rem; font-weight: 700; }
.hp-aid-note { margin: 1rem 0 0; }
.hp-aid-control:disabled { opacity: .65; cursor: default; }
.hp-site :is(.hp-aid-trigger, .hp-aid-control, .hp-aid-tool, .hp-aid-quick-stop):focus-visible, .hp-site .hp-aid-toggle:focus-within { outline: 3px solid #12365b; outline-offset: 2px; }
.hp-site .hp-aid-toggle:has(input:checked) { border: 2px solid #066fd1; }
.hp-site.hp-aid-contrast .hp-aid-tool:has(input:checked), .hp-site.hp-aid-contrast .hp-aid-tool[aria-expanded="true"] { outline: 3px solid #000; outline-offset: -4px; }
.hp-site.hp-aid-links :is(.hp-header, .hp-main, .hp-footer, .hp-mobile-menu) a { text-decoration: underline !important; text-decoration-thickness: .12em !important; text-underline-offset: .2em; }
.hp-site .hp-aid-speaking { outline: 3px solid #12365b; outline-offset: 4px; }
.hp-site.hp-aid-contrast { background: #fff !important; color: #000 !important; }
.hp-site.hp-aid-contrast :is(.hp-header, .hp-main, .hp-footer, .hp-mobile-menu, .hp-reading-aid, .hp-gallery-modal),
.hp-site.hp-aid-contrast :is(.hp-header, .hp-main, .hp-footer, .hp-mobile-menu, .hp-reading-aid, .hp-gallery-modal) *:not(img):not(svg):not(path):not(video):not(iframe) { color: #000 !important; background-color: #fff !important; background-image: none !important; border-color: #000 !important; text-shadow: none !important; box-shadow: none !important; }
.hp-site.hp-aid-contrast :is(.hp-header, .hp-main, .hp-footer) a { text-decoration: underline !important; }
.hp-site.hp-aid-contrast :is(.hp-header, .hp-main, .hp-footer) :is(button, .hp-button, input, select, textarea) { border: 2px solid #000 !important; }
.hp-site.hp-aid-contrast :is(.hp-hero, .hp-news-lead)::before,
.hp-site.hp-aid-contrast :is(.hp-hero, .hp-news-lead)::after { background: none !important; }
.hp-site.hp-aid-enlarged :is(.hp-brand-row, .hp-utility, .hp-desktop-nav, .hp-actions) { flex-wrap: wrap; height: auto; white-space: normal; }
.hp-site.hp-aid-enlarged :is(.hp-main, .hp-header, .hp-footer) { overflow-wrap: anywhere; }
.hp-site.hp-aid-enlarged :is(.hp-main, .hp-header, .hp-footer) :is(input, select, textarea, button) { box-sizing: border-box; max-width: 100%; min-width: 0; }
.hp-site.hp-aid-enlarged :is(.hp-hero, .hp-page-banner, .hp-news-lead) { height: auto; }
.hp-site.hp-aid-enlarged .hp-event-image { flex-shrink: 0; }
@media (max-width: 700px) {
    .hp-site.hp-aid-enlarged :is(.hp-page-columns, .hp-text-image, .hp-news-featured, .hp-quicklinks, .hp-feed-cards, .hp-event-cards, .hp-contact-grid) { grid-template-columns: minmax(0, 1fr); }
}
