:root { --hs-text-scale:1; }
:focus-visible { outline:3px solid #b77712!important; outline-offset:4px!important; box-shadow:0 0 0 6px #fff!important; }
:where(a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-block:110px; }
.hs-a11y-trigger { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); z-index:2000; display:grid; place-items:center; width:52px; height:52px; padding:9px; border:2px solid #f6f1e5; border-radius:50%; background:#123e34; color:#fff; box-shadow:0 3px 16px #0003; cursor:pointer; }
.hs-a11y-trigger[hidden] { display:none!important; }
.hs-a11y-trigger:hover { background:#245d49; }
.hs-a11y-trigger.hs-in-dialog { position:static; margin:12px 0 0 auto; flex-shrink:0; }
.hs-simulator .hs-a11y-trigger:not(.hs-in-dialog) { bottom:calc(90px + env(safe-area-inset-bottom)); }
.hs-a11y-panel { position:fixed; inset:auto 16px 16px auto; box-sizing:border-box; margin:0; width:min(410px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); padding:24px; overflow:auto; overscroll-behavior:contain; border:1px solid #c9cbbd; border-radius:20px; background:#faf7ef; color:#173b32; box-shadow:0 16px 60px #0004; font:16px/1.5 system-ui,sans-serif; color-scheme:light; text-align:left; }
.hs-a11y-panel::backdrop { background:#06241b66; }
.hs-a11y-panel * { box-sizing:border-box; }
.hs-a11y-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.hs-a11y-panel h2 { margin:0; font:600 25px/1.2 Georgia,serif; color:inherit; letter-spacing:normal; }
.hs-a11y-panel p { margin:12px 0; color:inherit; }
.hs-a11y-panel .hs-a11y-intro { font-size:15px; }
.hs-a11y-panel fieldset { margin:18px 0; padding:0; border:0; min-width:0; }
.hs-a11y-panel legend { margin-bottom:8px; font-weight:650; font-size:15px; }
.hs-a11y-panel button { min-width:44px; min-height:44px; padding:10px 13px; border:1px solid #b5c0b4; border-radius:9px; background:#fffdf8; color:#163c31; font:600 15px/1.3 system-ui,sans-serif; cursor:pointer; height:auto; white-space:normal; }
.hs-a11y-panel button:disabled { opacity:.45; cursor:default; }
.hs-size-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hs-size-row button { flex:1; }
.hs-size-row output { min-width:70px; text-align:center; }
.hs-a11y-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.hs-a11y-options label { display:flex; align-items:center; gap:9px; min-height:60px; padding:10px; border:1px solid #d2d5c9; border-radius:9px; background:#fffdf8; font-size:14px; cursor:pointer; overflow-wrap:anywhere; }
.hs-a11y-options label:has(:checked) { border-color:#235842; background:#e4ecd9; }
.hs-a11y-options input { appearance:auto; flex:0 0 20px; width:20px; height:20px; margin:0; accent-color:#174c37; }
.hs-a11y-panel summary { padding:10px 0; min-height:44px; cursor:pointer; font-size:15px; }
.hs-a11y-panel details p, .hs-a11y-panel .hs-a11y-note { font-size:13px; line-height:1.55; }
.hs-a11y-panel .hs-a11y-reset { width:100%; margin-top:18px; background:#173f33; color:#fff; }
body:has(> .hs-a11y-trigger) :is(.footer,.site-footer) { padding-bottom:90px; }
html:not([data-hs-size="100"]) [data-hs-text] { font-size:calc(var(--hs-base-font-size) * var(--hs-text-scale))!important; }
html[data-hs-font="true"] body, html[data-hs-font="true"] body *:not(svg,svg *) { font-family:Arial,Helvetica,sans-serif!important; }
html[data-hs-spacing="true"] body *:not(svg,svg *,#map,#map *) { letter-spacing:.12em!important; word-spacing:.16em!important; line-height:1.6!important; }
html[data-hs-spacing="true"] p { margin-bottom:2em!important; }
html[data-hs-links="true"] a { text-decoration:underline!important; text-decoration-thickness:3px!important; text-underline-offset:4px!important; }
/* Filtering the root preserves fixed positioning (unlike filtering body). */
html[data-hs-grayscale="true"] { filter:grayscale(1); }
html[data-hs-grayscale="true"] dialog { filter:grayscale(1); }
html[data-hs-motion="true"] *, html[data-hs-motion="true"] *::before, html[data-hs-motion="true"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
html[data-hs-contrast="true"] { color-scheme:light; }
html[data-hs-contrast="true"] body, html[data-hs-contrast="true"] body :not(svg,svg *,img,canvas,video,.map-shade,.ambient,.ambient *,#map,#map *,input[type="checkbox"],input[type="range"],.hs-a11y-trigger,.hs-a11y-trigger *) { color:#111!important; background-color:#fff!important; background-image:none!important; border-color:#555!important; text-shadow:none!important; }
html[data-hs-contrast="true"] a:not(#map *) { color:#002b85!important; text-decoration:underline!important; }
html[data-hs-contrast="true"] button:not(.hs-a11y-trigger,#map *), html[data-hs-contrast="true"] [role="button"] { border:2px solid #111!important; }
html[data-hs-contrast="true"] :checked, html[data-hs-contrast="true"] [aria-pressed="true"] { outline:2px solid #111; outline-offset:2px; }
@media (prefers-contrast:more) { a { text-decoration:underline; } button,input,select,textarea { border-width:2px!important; } }
@media (forced-colors:active) { .hs-a11y-trigger,.hs-a11y-panel,.hs-a11y-panel * { forced-color-adjust:auto; border-color:ButtonText!important; } :focus-visible { outline-color:Highlight!important; } }
@media (pointer:fine) { html[data-hs-cursor="true"], html[data-hs-cursor="true"] body * { cursor:url('/accessibility/cursor.svg') 4 4,auto!important; } html[data-hs-cursor="true"] :is(a,button,summary,label,input,select) { cursor:url('/accessibility/pointer.svg') 12 4,pointer!important; } }
/* Allow enlarged reading to wrap rather than clip fixed-size content. */
html:not([data-hs-size="100"]) :is(.masthead,.site-header,.tool-card,.weather-strip), html[data-hs-spacing="true"] :is(.masthead,.site-header,.tool-card,.weather-strip) { height:auto; flex-wrap:wrap; }
html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .hs-a11y-options { grid-template-columns:1fr; }
html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .hs-a11y-heading { flex-wrap:wrap; }
.hs-simulator .entry-notice { overflow:auto; }
.hs-simulator .entry-notice .hs-in-dialog { margin:12px 20px 12px auto; }
@media(max-width:480px) { .hs-a11y-panel { padding:18px; } .hs-a11y-heading { gap:8px; } }
@media(min-width:761px) { .hs-simulator .hs-a11y-trigger:not(.hs-in-dialog) { bottom:28px; } .hs-simulator .control-panel { max-height:calc(100dvh - 100px); } }
@media(max-width:760px) { .hs-simulator.hs-controls-open .hs-a11y-trigger:not(.hs-in-dialog) { bottom:calc(min(56dvh,560px) + 20px + env(safe-area-inset-bottom)); } }
.skip-link:not(:focus),.skip:not(:focus) { transform:translateY(-200%); }
.hs-simulator .leaflet-control-zoom { margin-top:105px; }
html:is(:not([data-hs-size="100"]),[data-hs-spacing="true"]) [data-hs-text] { overflow-wrap:anywhere; min-width:0; }
html:is(:not([data-hs-size="100"]),[data-hs-spacing="true"]) :is(.hero-intro,.tool,.tool-top,.tool-grid,.editorial-grid,.section-heading,.river-heading,.archive-layout,.report-workspace) { min-width:0; }
html:is(:not([data-hs-size="100"]),[data-hs-spacing="true"]) :is(.hero-intro,.tool) > * { max-width:100%; }
html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .weather-strip { position:relative; }
html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .local-clock { flex-wrap:wrap; min-width:0; }
html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .weather-condition { white-space:normal; overflow:visible; }
html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) :is(.masthead nav,.tool-top,.section-heading,.calendar-toolbar,.month-controls,.calendar-filters) { flex-wrap:wrap; }
@media(max-width:760px) {
 html:is(:not([data-hs-size="100"]),[data-hs-spacing="true"]) :is(.hero,.tool-grid,.editorial-grid) { grid-template-columns:minmax(0,1fr); }
 html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .agenda-heading { flex-wrap:wrap; }
 html:is([data-hs-size="150"],[data-hs-size="175"],[data-hs-size="200"],[data-hs-spacing="true"]) .calendar-weekday { writing-mode:vertical-rl; }
}

@media(prefers-contrast:more) {
html body, html body :not(svg,svg *,img,canvas,video,.map-shade,.ambient,.ambient *,#map,#map *,input[type="checkbox"],input[type="range"],.hs-a11y-trigger,.hs-a11y-trigger *) { color:#111!important; background-color:#fff!important; background-image:none!important; border-color:#555!important; text-shadow:none!important; }
html a:not(#map *) { color:#002b85!important; text-decoration:underline!important; }
html button:not(.hs-a11y-trigger,#map *), html [role="button"] { border:2px solid #111!important; }
html :checked, html [aria-pressed="true"] { outline:2px solid #111; outline-offset:2px; }

}

html:is(:not([data-hs-size="100"]),[data-hs-spacing="true"]) :is(.tag,.site-footer,.site-footer span,.footer a) { white-space:normal; overflow-wrap:anywhere; max-width:100%; }
