/* Accessibility Pass — Site-Wide */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
html{scroll-padding-top:6rem}
main[tabindex="-1"]:focus{outline:none}
.skip-link{
  position:fixed!important;top:.75rem!important;left:.75rem!important;z-index:10000!important;
  transform:translateY(-180%);transition:transform .16s ease;background:#101827!important;color:#fff8e8!important;
  padding:.78rem 1rem!important;border-radius:.75rem!important;text-decoration:none!important;font:900 .9rem Arial,Helvetica,sans-serif!important;
  box-shadow:0 0 0 2px #fff8e8,0 0 0 5px #4b121c
}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)!important;outline:none!important}
:is(a[href],button,[role="button"]):focus-visible{
  outline:3px solid #fff8e8!important;outline-offset:3px!important;box-shadow:0 0 0 6px #4b121c!important
}
.site-navigation :is(a[href],button):focus-visible,.hero-card :is(a[href],button):focus-visible,
.filter-shell :is(a[href],button):focus-visible{
  outline-color:#fff8e8!important;box-shadow:0 0 0 6px #b98b3b!important
}
.menu-button,.filter-button{min-height:44px;min-width:44px}
.site-navigation{overscroll-behavior:contain}
.site-navigation a{min-height:44px;display:flex;align-items:center}
.site-navigation a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.24em}
.text-link,.button-link{ text-underline-offset:.18em }
.route-year,.turn-year{color:#76541a!important}
@media (max-width:1599.98px){
  .site-navigation{max-height:calc(100vh - 6rem);overflow-y:auto;-webkit-overflow-scrolling:touch}
}
@media (min-width:920px) and (max-width:1599.98px){
  .menu-button{display:block!important}
  .site-navigation{display:none!important;position:absolute!important;top:calc(100% + .5rem)!important;right:1rem!important;width:min(24rem,calc(100vw - 2rem))!important;padding:.8rem!important;border-radius:20px!important;background:rgba(16,24,39,.98)!important;box-shadow:0 22px 60px rgba(20,18,12,.22)!important}
  .site-navigation[data-open="true"]{display:grid!important;gap:.28rem!important}
  .site-navigation a{color:#fff8e8!important;padding:.78rem .9rem!important;border-radius:13px!important;font-size:.9rem!important}
  .site-navigation a:hover,.site-navigation a[aria-current="page"]{background:rgba(255,248,232,.12)!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (prefers-contrast:more){
  .panel,.room-card,.highlight-card,.museum-card,.fact-card,.timeline-card,.turning-card,.evidence-card,.source-card{border-width:2px!important}
  .site-navigation a[aria-current="page"]{outline:2px solid currentColor;outline-offset:-2px}
  .section-intro,.museum-label dd,.route-stop p{color:#403b33!important}
}
@media (forced-colors:active){
  .skip-link,:is(a[href],button,[role="button"]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
  .site-navigation a[aria-current="page"]{outline:2px solid currentColor}
}
