/* A white halo keeps keyboard focus distinct on dark surfaces. */
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #1d4ed8 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px #fff;
}
button { min-width: 24px; min-height: 24px; }
.accessibility-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 2147483647;
  padding: 12px 18px;
  color: #fff;
  background: #102638;
  border-radius: 6px;
  transform: translateY(-200%);
}
.accessibility-skip-link:focus { transform: translateY(0); }
.landing-primary-action,
.landing-plan-card.featured > a,
.landing-final-cta > a { background: #007a54; color: #fff; }
.landing-pricing-banner > span,
.landing-plan-card > strong { color: #007a54; }
#landingFeatures .eyebrow { color: #526677; }
.mode-switch button.active,
.auth-options .text-button,
.admin-login-card > .eyebrow { color: #00775f; }
.booking-close { color: #526677; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
