/* A two-colour ring stays visible on both light and dark backgrounds. */
:focus-visible {
  outline: 3px solid #153e59 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
}
a.skip-link {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 2147483647 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  clip: auto !important;
  clip-path: none !important;
  transform: translateY(-200%);
  background: #153e59 !important;
  color: #fff !important;
  font: bold 18px/1.5 Arial, sans-serif !important;
  text-decoration: underline !important;
}
a.skip-link:focus { transform: translateY(0); }
#content { scroll-margin-top: 140px; }
/* Keep the hero's white lettering readable as the background video changes. */
#main-slideshow sr7-txt {
  color: #fff !important;
  background: transparent !important;
  text-shadow: 0 1px 2px #000 !important;
}
#main-slideshow sr7-txt * { color: #fff !important; }
.hero-copy-overlay { position: absolute; z-index: 10; background: rgba(0,0,0,.62); border-radius: 8px; pointer-events: none; }
#main-slideshow { position: relative; }
.motion-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 7px 10px; border: 1px solid #fff; border-radius: 6px; background: #153e59; color: #fff; font: 600 13px/1.3 Arial,sans-serif; cursor: pointer; }
.hero-motion-toggle { position: absolute; right: 12px; bottom: 12px; z-index: 100; }
.review-motion-region { position: relative; padding-bottom: 56px; }
.review-motion-toggle { position: absolute; right: 0; bottom: 4px; }
.site-sitemap { columns: 3 260px; column-gap: 40px; }
.site-sitemap li { break-inside: avoid; margin-bottom: 12px; }
.footer-sitemap a { text-decoration: underline; }
