/* Shared V1 and beta accessibility fixes. Brand red remains available for decoration. */
:root { --tomato-red: #AD3725; --gray-mid: #626262; }
html { scroll-padding-top: 150px; }
body { overflow-x: visible; }
header { top: var(--preview-height, 0px); }
:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; box-shadow: 0 0 0 2px white; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 2147483647; background: #fff; color: #101010; padding: 12px; }
.skip-link:focus { top: 12px; }
.offcanvas-drawer { visibility: hidden; z-index: 1000002; }
.offcanvas-drawer.open { visibility: visible; }
.offcanvas-backdrop { z-index: 1000001; }
.offcanvas-section-label, .offcanvas-drawer .brand-subtitle { color: #FF9B89; }
.offcanvas-header .brand-group { order: initial; justify-content: flex-start; }
.offcanvas-close-btn { min-width: 44px; min-height: 44px; }
.pill-sub { color: #aaa; }
.give-disclaimer, .footer-bottom { color: #aaa; }
.optional-tag { color: #626262; }
footer p a { text-decoration: underline; }
.modal-demo { z-index: 1000002; overflow-y: auto; }
/* Keep the feedback control clear of the mobile Menu / Logo / Donate bar. */
#agentation-quick-sync { top: auto !important; bottom: 76px !important; right: 16px !important; }
#agentation-root[inert], #agentation-quick-sync[inert] { visibility: hidden; }
.gift-input::placeholder, .free-form input::placeholder { color: #aaa; opacity: 1; }
:is(a, button, input, select, textarea):focus-visible { outline: 3px solid #2563eb !important; outline-offset: 4px; }
input, textarea, select { border-color: #767676 !important; }
.field-label { display: block; font-size: 13px; font-weight: 600; margin: 8px 0 4px; }
.test-notice { padding: 12px 24px; background: #F2EFE6; color: #101010; font-size: 14px; }
.test-notice a { text-decoration: underline; }
.test-status { margin-top: 16px; padding: 16px; background: #F2EFE6; color: #101010; white-space: pre-line; }
.hero-image-wrap { min-height: 310px; }
.hero-image-overlay { background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.95)); }
.section-header-flex { gap: 16px; flex-wrap: wrap; }
.nav-container, .main-nav { gap: 12px; }
.main-nav .nav-link { white-space: nowrap; }
.main-nav .nav-cta { white-space: nowrap; }
.footer-bottom { gap: 20px; flex-wrap: wrap; }
.footer-bottom > div { flex-wrap: wrap; }
.form-grid > *, .hero-container > *, .welcome-grid > * { min-width: 0; }
@media (min-width: 961px) and (max-width: 1200px) {
  .nav-container { flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 960px) {
  header .brand-subtitle, .mobile-donate-btn { color: #FF9B89; }
}
@media (max-width: 600px) {
  .hero-card-title { font-size: 28px; }
  .hero-image-overlay { padding: 18px; }
  .hero-image-wrap { min-height: 370px; }
  .hero-image-wrap { aspect-ratio: auto; width: 100%; }
  .offer-card { flex-wrap: wrap; }
  .welcome-distinctions, .form-grid { grid-template-columns: 1fr; }
  .inquiry-title { overflow-wrap: anywhere; }
  .service-tabs { flex-wrap: wrap; }
  .service-tabs .tab-btn { flex: 1 1 45%; }
  .footer-col .brand-title { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
