/* Small usability additions; the original site's stylesheet controls the design. */
:focus-visible { outline: 3px solid #e71f8f; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}
/* Google Fonts supplies Gabarito; the local copy is an offline fallback. */
.font-gabarito { font-family: "Gabarito", "Gabarito Local", sans-serif; }
/* Phone-first content sizing; larger screens opt into the original display scale. */
main h1 { font-size: 2.25rem; line-height: 1.14; letter-spacing: 0; text-wrap: pretty; }
main p { overflow-wrap: break-word; }
img { max-width: 100%; height: auto; }
.hamburger { display: grid; place-items: center; min-width: 44px; min-height: 44px; }
.hamburger svg { color: white; }
#mobile-nav { max-height: calc(100dvh - 64px); overscroll-behavior: contain; }
#mobile-nav a { min-height: 44px; align-items: center; }
.btn { min-height: 48px; }
[data-aos] { opacity: 1 !important; transform: none !important; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 100; padding: 12px 20px; background: white; color: #232744; }
.skip-link:focus { top: 8px; }
@media (min-width: 768px) {
  main h1.h1 { font-size: 4rem; }
  main h1.h2 { font-size: 3rem; }
}
@media (max-width: 767px) {
  main > section > .max-w-6xl, main > article > header > .max-w-6xl { padding-left: 20px; padding-right: 20px; }
  .hero__content p { font-size: 1.125rem; line-height: 1.6; }
  .hero__content { min-width: 0; }
}
