.skip-link { position: fixed; top: 12px; left: 16px; z-index: 1000; padding: 14px 20px; border-radius: 8px; background: #fff; color: #0b416d; font-weight: 700; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
body a:focus-visible, body button:focus-visible, body input:focus-visible,
body select:focus-visible, body textarea:focus-visible {
  outline: 3px solid #0b416d;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px white;
}
#main-content:focus { outline: none; }
#navbar button, #prev-slide-btn, #next-slide-btn, .slide-tab { min-width: 44px; min-height: 44px; }
#mobile-menu a { min-height: 44px; display: flex; align-items: center; }
#mobile-menu .btn-primary { justify-content: center; }
#contact-form input, #contact-form select, #contact-form textarea { font-size: 16px; min-height: 48px; }
#contact-form button:disabled { cursor: wait; opacity: .7; }
.carousel-pause { min-height: 44px; padding: 8px 14px; border: 1px solid #ffffff66; border-radius: 24px; font-size: 12px; font-weight: 700; color: white; background: #ffffff0d; }
.carousel-pause:hover { background: #ffffff26; }
.slide-item.hidden-slide { visibility: hidden; }
/* Preserve green accents on dark surfaces, use a readable green on light ones. */
html:not(.dark) #navbar a.text-brand-green,
html:not(.dark) .asf-content :is(.bg-white, .bg-slate-50, .bg-slate-100) .text-brand-green { color: #356614; }
html:not(.dark) .asf-content :is(.bg-brand-blue, .bg-slate-900) .text-brand-green { color: #97d754; }
html:not(.dark) .asf-content .bg-white .gradient-text { background: linear-gradient(135deg, #356614, #0b416d); background-clip: text; -webkit-background-clip: text; }
@media (max-width: 639px) {
  .asf-footer li a, .asf-footer address a, .asf-footer-social { min-height: 44px; }
  .asf-section-nav a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html.scroll-smooth { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal, .reveal-left, .reveal-right { opacity: 1; transform: none; }
}
