/* Shared finishing layer for consistent, accessible behavior across the site. */
:root { color-scheme: light; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a, button, input, select, textarea { outline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #C8922A;
  border-radius: 4px;
}
img { max-width: 100%; height: auto; }
.hamburger {
  appearance: none; background: transparent; border: 0; padding: .65rem;
  margin-right: -.65rem; color: inherit;
}
.hamburger[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.nav-links a[aria-current="page"], .sitenav a[aria-current="page"], .nav a[aria-current="page"] {
  color: #8B1A1A;
}
.nav-links a[aria-current="page"]::after { width: 100%; }
.mobile-menu { max-height: calc(100vh - 70px); overflow-y: auto; }
.mobile-menu a[aria-current="page"] { color: #8B1A1A; font-weight: 700; }
@media (max-width: 900px) {
  body.menu-open { overflow: hidden; }
}
@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; }
}
