/* Small portability and accessibility fixes. Original design: original.css. */
html { scroll-behavior: smooth; }
section, footer { scroll-margin-top: 5rem; }
[hidden] { display: none !important; }
input, select, textarea { font-size: 1rem !important; }
textarea { min-height: 7rem; resize: vertical; }
#hero img.object-contain { width: auto; max-width: 100%; }
button { cursor: pointer; }
button:disabled { opacity: .6; cursor: not-allowed; }
.skip-link { position: fixed; top: -6rem; left: 1rem; z-index: 100;
  padding: .75rem 1rem; background: #fff; color: #111; border: 2px solid currentColor; }
.skip-link:focus { top: 1rem; }
.mobile-toggle { display: none; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: .375rem; border: 1px solid var(--border); }
.mobile-navigation { padding: .5rem 1rem 1rem; border-top: 1px solid var(--border);
  max-height: calc(100dvh - 4rem); overflow-y: auto; }
.mobile-navigation a { display: block; padding: .8rem .5rem; font-size: 1rem; font-weight: 500; }
.mobile-navigation a:hover { color: var(--primary); }
.hp-field { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.pledge-consent { display: flex; align-items: flex-start; gap: .65rem; font-size: .875rem; line-height: 1.5; }
.pledge-consent input { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; margin-top: .12rem; accent-color: var(--primary); }
#form-notice { margin: 0 0 1rem; padding: .75rem 1rem; background: var(--muted); border-radius: .5rem; font-size: .875rem; }
#pledge-success:focus { outline: 2px solid var(--primary); outline-offset: 4px; }
@media (max-width: 1099px) {
  .desktop-navigation { display: none !important; }
  .mobile-toggle { display: inline-flex; }
}
@media (min-width: 1100px) { .mobile-navigation { display: none !important; } }
@media (max-width: 380px) {
  header .text-lg { font-size: 1rem; }
  #pledge .p-8 { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important;
    transition-duration: .01ms !important; }
}
