/* Presentation-only accessibility support; no access, catalogue or API rules. */
:root { --a11y-light-ink: #725018; }
html[data-a11y-size="large"] { font-size: 125%; }
html[data-a11y-size="largest"] { font-size: 150%; }
body { padding-bottom: 5rem; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #fff !important; outline-offset: 3px;
  box-shadow: 0 0 0 6px #111 !important;
}
:where(button,input:not([type=hidden]),select,summary,[role=button]) { min-height: 24px; min-width: 24px; }
:where(a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-block: 5rem; }
:where(input,select,textarea) { max-width: 100%; min-width: 0; }
:where(img,video,iframe,audio) { max-width: 100%; }
:where(p,h1,h2,h3,label,a,button) { overflow-wrap: anywhere; }
.a11y-field-label { display: block; width: 100%; margin: .6rem 0 .35rem; font-size: 1rem; line-height: 1.5; }
.a11y-dark .a11y-field-label { color: #eee5d3; }
.a11y-dark .hero-video-caption a { color: #f4d78b; display: inline-block; min-height: 24px; padding: .3rem; font-size: .9rem; line-height: 1.5; text-decoration: underline; }
.a11y-dark #countyFilterSelect { width: 100%; }
.a11y-dark #countyFilterSelect { flex-basis: 100%; }
.a11y-dark #trailBrowserPanel > div:has(> #countyFilterSelect) { flex-wrap: wrap; }
.a11y-dark .edu-toggle-link { background: transparent; border: 1px solid #b4a382; padding: .65rem; width: 100%; font: inherit; color: #e4d3b3; }
.a11y-dark h2.location-name,.a11y-dark h2.ttp-title { margin-top: 0; }
.a11y-dark #ttpAudioEl { width: 100%; display: block; margin: .75rem 0; }
.a11y-dark #ttpAudioEl:not([src]) { display: none; }
.a11y-dark .badge,.a11y-dark .country-badge,.a11y-dark .hero-video-caption,
.a11y-dark .ttp-turn-count,.a11y-dark .ttp-level-lbl,.a11y-dark .footer-content,
.a11y-dark footer,.a11y-dark .media-caption,.a11y-dark .cta-sub,
.a11y-dark .price-amount span,.a11y-dark h2 .num { color: #c7b99f; }
.a11y-dark :is([style*="color:#8a7a60"],[style*="color:#6b5f4a"],[style*="color:#4a4030"],
[style*="color:#4a5568"],[style*="color:#8a6f2e"],[style*="color:#6a6a5a"],
[style*="color:#2a2318"],[style*="color:#3a3020"],[style*="color:#6a7a5a"],
[style*="color:#8a7a5a"],[style*="color:#4a6a2a"],[style*="color:#2a3a1a"]):not(#certificateBox *) { color: #c7b99f !important; }
.a11y-dark :is(button,input,select,textarea,.upload-zone) { border-color: #aa9670; }
.a11y-home .section-light .eyebrow,.a11y-home .journey-card .card-kicker,
.a11y-home .schools-callout .eyebrow,.a11y-home .explore-links a span { color: var(--a11y-light-ink); }
.film-alternative { padding: .75rem; border: 1px solid currentColor; border-radius: .5rem; }
.film-alternative summary { padding: .3rem; text-decoration: underline; text-underline-offset: .2em; font-weight: 700; }
.a11y-family { max-width: 72rem; margin: 2rem auto; padding: 1.5rem; background: #f7f1e6; color: #17383c; border-left: 4px solid #725018; }
.a11y-family h2 { margin: 0 0 .65rem; }
.a11y-family a { color: #285958; text-decoration: underline; }
.a11y-map #main { display: flex; flex: 1; min-height: 0; flex-direction: column; }
.a11y-map #map { flex: 1; min-height: 18rem; }
.a11y-map #topbar :is(label,input,select),.a11y-map #collectionBar,.a11y-map #collectionResults { font-size: 1rem; }
.a11y-map #topbar label { flex-basis: auto; }
.a11y-map #topbar input { min-width: 0; }
.a11y-map-help,.a11y-map-footer { margin: 0; padding: .75rem; background: #faf7f0; color: #1f2a24; font-size: 1rem; }
.a11y-map-help a,.a11y-map-footer a { color: #285535; text-decoration: underline; }
.a11y-map #collectionTrailList a { display: inline-block; min-height: 24px; padding: .3rem; }
/* A native disclosure stays available without a custom modal or focus trap. */
#a11yOptions { position: fixed; right: 1rem; bottom: .75rem; z-index: 12000; width: min(23rem, calc(100vw - 2rem)); font: 1rem/1.5 system-ui,sans-serif; color: #fff; background: #142d33; border: 2px solid #e4d3b3; border-radius: .5rem; box-shadow: 0 3px 14px #0006; }
#a11yOptions:not([open]) { width: auto; max-width: calc(100vw - 2rem); }
#a11yOptions > summary { cursor: pointer; padding: .7rem 1rem; min-height: 44px; font-weight: 700; }
#a11yOptions .a11y-options-body { padding: 0 1rem 1rem; max-height: 55vh; overflow-y: auto; }
#a11yOptions label { display: flex; align-items: center; gap: .65rem; padding: .4rem 0; }
#a11yOptions select { display: block; width: 100%; font: inherit; padding: .5rem; background: #fff; color: #111; border: 2px solid #111; }
#a11yOptions input { width: 24px; height: 24px; flex-shrink: 0; accent-color: #f1d693; }
#a11yOptions a { color: #fff; text-decoration: underline; }
#a11yOptions p { margin: .5rem 0; font-size: .9rem; }
.a11y-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media screen {
.a11y-contrast :is(body,header,main,nav,footer,section,article,aside,details,summary,p,div,span,li,h1,h2,h3,label,button,a,input,select,textarea) { background-color: #000 !important; color: #fff !important; border-color: #fff !important; text-shadow: none !important; }
.a11y-contrast a { text-decoration: underline !important; }
.a11y-contrast :is(button,input,select,textarea,summary) { border: 2px solid #fff !important; }
.a11y-contrast :is([aria-pressed=true],[aria-current=page]) { outline: 2px solid #fff; outline-offset: -4px; }
}
/* Maps and films retain their visual content; use the text list/summary if preferred. */
.a11y-calm *, .a11y-calm *::before,.a11y-calm *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.a11y-calm .hero-film-launch:hover img,.a11y-calm .journey-card:hover { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
 *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 .hero-film-launch:hover img,.journey-card:hover { transform: none !important; }
}
@media (prefers-contrast: more) {
 :is(button,input,select,textarea,summary) { border: 2px solid currentColor; }
 a { text-decoration: underline; text-underline-offset: .2em; }
}
@media (forced-colors: active) {
 :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid Highlight !important; box-shadow: none !important; }
 :is(button,input,select,textarea,summary),#a11yOptions { border: 2px solid ButtonText !important; }
 .a11y-contrast :is(body,header,main,nav,footer,section,article,aside,details,summary,p,div,span,li,h1,h2,h3,label,button,a,input,select,textarea) { background-color: Canvas !important; color: CanvasText !important; border-color: ButtonText !important; }
 .a11y-contrast a { color: LinkText !important; }
}
@media (max-width: 600px) {
 :where(button,input:not([type=hidden]):not([type=checkbox]),select,summary) { min-height: 44px; }
 .a11y-dark .wrap { max-width: 100%; }
 .a11y-dark .ttp-text-row { flex-wrap: wrap; }
 .a11y-dark #ttpTextInput { flex-basis: 100%; }
 .a11y-map .map-brand { max-width: 100%; }
 .a11y-map #topbar label { width: 100%; }
 .a11y-map #topbar :is(select,input) { width: 100%; max-width: 100%; flex: auto; }
}

.a11y-dark .hero-catalogue-item span,.a11y-dark .divider,.a11y-dark .footer-copy,
.a11y-dark .footer-content p,.a11y-dark .footer-content em,.a11y-dark .media-figure figcaption { color: #c7b99f; }

.a11y-dark footer > p > a { color: #e2c378; text-decoration: underline; }

header.a11y-site-header { margin: 0; padding: 0; border: 0; }

.a11y-dark #ttpAudioEl[src=""] { display: none; }

@media print { #a11yOptions { display: none !important; } body { padding-bottom: 0; } html[data-a11y-size] { font-size: 100%; } }
