/* ---------- Accessibility button and panel ---------- */
.hm-a11y{position:fixed;left:16px;bottom:16px;z-index:99990;font-family:var(--hm-body)!important;font-size:16px;line-height:1.4;color:#132a34}
.hm-a11y *{box-sizing:border-box}
.hm-a11y-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;min-width:48px;padding:10px 16px 10px 12px;background:#132a34;color:#fff;border:2px solid #fff;border-radius:999px;box-shadow:0 2px 10px rgba(19,42,52,.35);cursor:pointer;font:700 16px/1 var(--hm-body)}
.hm-a11y-btn:hover{background:#0c1c24;color:#fff}
.hm-a11y-btn:focus-visible,.hm-a11y button:focus-visible,.hm-a11y input:focus-visible+span{outline:3px solid #f3c681;outline-offset:2px}
.hm-a11y-btn svg{flex:none}
@media(max-width:600px){.hm-a11y-btn{padding:10px}.hm-a11y-btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.hm-a11y-panel{position:absolute;left:0;bottom:60px;width:min(360px,calc(100vw - 32px));max-height:min(78vh,640px);overflow:auto;background:#fff;color:#132a34;border:2px solid #132a34;border-radius:16px;box-shadow:0 8px 28px rgba(19,42,52,.3)}
.hm-a11y-panel[hidden]{display:none}
.hm-a11y-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#eaf7f3;border-bottom:2px solid #132a34;position:sticky;top:0}
.hm-a11y-head h2{margin:0;font:700 1.15rem/1.2 var(--hm-heading)!important;color:#132a34}
.hm-a11y-close{width:44px;height:44px;border:2px solid #132a34;border-radius:10px;background:#fff;color:#132a34;font-size:26px;line-height:1;cursor:pointer}
.hm-a11y-body{padding:12px 16px 16px}
.hm-a11y-group{border:0;margin:0 0 14px;padding:0;min-width:0}
.hm-a11y-group legend{font-weight:700;padding:0;margin-bottom:6px}
.hm-a11y-opts{display:flex;flex-wrap:wrap;gap:6px}
.hm-a11y-opt,.hm-a11y-switch{position:relative;cursor:pointer}
.hm-a11y-opt input,.hm-a11y-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.hm-a11y-opt span{display:inline-block;min-height:44px;padding:10px 14px;border:2px solid #6e848f;border-radius:10px;background:#fff;font-weight:700}
.hm-a11y-opt input:checked+span{background:#80e3cc;border-color:#132a34}
.hm-a11y-switch{display:block;margin:0 0 8px}
.hm-a11y-switch span{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:2px solid #6e848f;border-radius:10px;font-weight:700}
.hm-a11y-switch span::before{content:"";flex:none;width:22px;height:22px;border:2px solid #132a34;border-radius:6px;background:#fff}
.hm-a11y-switch input:checked+span{background:#80e3cc;border-color:#132a34}
.hm-a11y-switch input:checked+span::before{background:#132a34 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/16px no-repeat}
.hm-a11y-reset{width:100%;min-height:44px;margin-top:4px;padding:10px 14px;border:2px solid #132a34;border-radius:10px;background:#fff;color:#132a34;font:700 16px/1.2 var(--hm-body);cursor:pointer}
.hm-a11y-reset:hover{background:#eaf7f3}
.hm-a11y-note{margin:10px 0 0;font-size:.9rem;color:#3c505a}

/* ---------- The settings themselves (html[data-hm-*] is set by the script) ---------- */
/* Text size: scales rem-based text everywhere; body and menus follow it */
html[data-hm-size="1"]{font-size:112.5%}
html[data-hm-size="2"]{font-size:125%}
html[data-hm-size="3"]{font-size:150%}
html[data-hm-size] body{font-size:1.125rem}
html[data-hm-size] .ct-menu-link,html[data-hm-size] .ct-footer,html[data-hm-size] .entry-content,
html[data-hm-size] .entry-content p,html[data-hm-size] .entry-content li,html[data-hm-size] .wp-block-button__link,
html[data-hm-size] input,html[data-hm-size] select,html[data-hm-size] textarea{font-size:1.125rem!important}
html[data-hm-size] .hm-a11y{font-size:16px}

/* Font */
html[data-hm-font="plain"] body,html[data-hm-font="plain"] h1,html[data-hm-font="plain"] h2,html[data-hm-font="plain"] h3,
html[data-hm-font="plain"] h4,html[data-hm-font="plain"] h5,html[data-hm-font="plain"] h6,html[data-hm-font="plain"] .site-title,
html[data-hm-font="plain"] .entry-title,html[data-hm-font="plain"] .wp-block-heading,html[data-hm-font="plain"] .hm-hero h1,
html[data-hm-font="plain"] .ct-footer .widget-title,html[data-hm-font="plain"] .ct-widget .widget-title,
html[data-hm-font="plain"] .ct-menu-link,html[data-hm-font="plain"] button,html[data-hm-font="plain"] input{font-family:"Atkinson Hyperlegible",Verdana,sans-serif!important}
html[data-hm-font="system"] body,html[data-hm-font="system"] h1,html[data-hm-font="system"] h2,html[data-hm-font="system"] h3,
html[data-hm-font="system"] h4,html[data-hm-font="system"] h5,html[data-hm-font="system"] h6,html[data-hm-font="system"] .site-title,
html[data-hm-font="system"] .entry-title,html[data-hm-font="system"] .wp-block-heading,html[data-hm-font="system"] .hm-hero h1,
html[data-hm-font="system"] .ct-footer .widget-title,html[data-hm-font="system"] .ct-widget .widget-title,
html[data-hm-font="system"] .ct-menu-link,html[data-hm-font="system"] button,html[data-hm-font="system"] input{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}

/* Line spacing */
html[data-hm-lh="1"] body,html[data-hm-lh="1"] p,html[data-hm-lh="1"] li{line-height:1.9!important}
html[data-hm-lh="2"] body,html[data-hm-lh="2"] p,html[data-hm-lh="2"] li{line-height:2.25!important}
html[data-hm-lh] h1,html[data-hm-lh] h2,html[data-hm-lh] h3{line-height:1.3!important}

/* Letter and word spacing */
html[data-hm-ls="1"] body{letter-spacing:.04em!important;word-spacing:.12em!important}
html[data-hm-ls="2"] body{letter-spacing:.08em!important;word-spacing:.24em!important}

/* High contrast (light): white page, black text, dark links, black borders */
html[data-hm-contrast="high"] body,html[data-hm-contrast="high"] .ct-footer,html[data-hm-contrast="high"] .ct-header,
html[data-hm-contrast="high"] .hm-section,html[data-hm-contrast="high"] .hm-hero,html[data-hm-contrast="high"] .hm-card,
html[data-hm-contrast="high"] .hm-callout,html[data-hm-contrast="high"] .hm-notice,html[data-hm-contrast="high"] .wp-block-details,
html[data-hm-contrast="high"] .has-background{background:#fff!important;color:#000!important}
html[data-hm-contrast="high"] body *:not(svg):not(path):not(.hm-a11y *):not(.wp-block-button__link){color:#000!important;border-color:#000!important}
html[data-hm-contrast="high"] a,html[data-hm-contrast="high"] .ct-footer a{color:#00339b!important;text-decoration:underline!important}
html[data-hm-contrast="high"] .hm-card,html[data-hm-contrast="high"] .hm-callout,html[data-hm-contrast="high"] .wp-block-details{border:2px solid #000!important}
html[data-hm-contrast="high"] .wp-block-button__link{background:#000!important;color:#fff!important;border:2px solid #000!important}
html[data-hm-contrast="high"] .wp-block-button.is-style-outline .wp-block-button__link{background:#fff!important;color:#000!important}
html[data-hm-contrast="high"] .hm-hero::before,html[data-hm-contrast="high"] .hm-hero::after{display:none}

/* Underline all links */
html[data-hm-links="on"] a:not(.wp-block-button__link):not(.hm-a11y *){text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}

/* Stop animations and movement */
html[data-hm-motion="on"] *,html[data-hm-motion="on"] *::before,html[data-hm-motion="on"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Narrow text columns (easier tracking) */
html[data-hm-narrow="on"] .entry-content > p,html[data-hm-narrow="on"] .entry-content > ul,html[data-hm-narrow="on"] .entry-content > ol,
html[data-hm-narrow="on"] .hm-section p,html[data-hm-narrow="on"] .hm-section li{max-width:36em}

@media print{.hm-a11y{display:none}}

.hm-tts{margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid #dcd8d0}
.hm-tts h3{font:700 1rem/1.3 var(--hm-body);margin:0 0 8px}
.hm-tts-btns{display:flex;gap:8px;margin-bottom:6px}
.hm-tts-btns button{flex:1;min-height:48px;padding:10px 14px;border:2px solid #1f5f55;border-radius:10px;background:#80e3cc;color:#132a34;font:700 16px/1.2 var(--hm-body);cursor:pointer}
.hm-tts-btns .hm-tts-stop{flex:0 0 auto;background:#fff;border-color:#132a34}
.hm-tts-btns button[disabled]{opacity:.5;cursor:not-allowed}
.hm-tts-btns button:focus-visible{outline:3px solid #132a34;outline-offset:2px}
