/* Customized animation utility with shorter durations and delays
 *
 * This file overrides the original animate‑on‑scroll utility to make
 * scroll‑triggered animations snappier. Durations and delays have
 * been significantly reduced so that content appears promptly as
 * users scroll down the page. See js/scroll-animation.js for the
 * intersection logic that adds the `animate-visible` class.  Reducing
 * these values helps ensure that content fades in quickly as soon
 * as it becomes visible in the viewport.
 */

/* Animation durations: progressively increase in small increments.
   The largest duration here is under a second to keep animations
   quick and responsive. */
.adr-1 { animation-duration: 0.25s; animation-fill-mode: both; }
.adr-2 { animation-duration: 0.30s; animation-fill-mode: both; }
.adr-3 { animation-duration: 0.35s; animation-fill-mode: both; }
.adr-4 { animation-duration: 0.40s; animation-fill-mode: both; }
.adr-5 { animation-duration: 0.45s; animation-fill-mode: both; }
.adr-6 { animation-duration: 0.50s; animation-fill-mode: both; }
.adr-7 { animation-duration: 0.55s; animation-fill-mode: both; }
.adr-8 { animation-duration: 0.60s; animation-fill-mode: both; }
.adr-9 { animation-duration: 0.65s; animation-fill-mode: both; }

/* Animation delays: start at a tenth of a second and step up
   gradually. Keeping delays under a second ensures that elements
   appear while the user is still viewing the section, even when
   scrolling quickly. */
.adl-1 { animation-delay: 0.10s; animation-fill-mode: both; }
.adl-2 { animation-delay: 0.20s; animation-fill-mode: both; }
.adl-3 { animation-delay: 0.30s; animation-fill-mode: both; }
.adl-4 { animation-delay: 0.40s; animation-fill-mode: both; }
.adl-5 { animation-delay: 0.50s; animation-fill-mode: both; }
.adl-6 { animation-delay: 0.60s; animation-fill-mode: both; }
.adl-7 { animation-delay: 0.70s; animation-fill-mode: both; }
.adl-8 { animation-delay: 0.80s; animation-fill-mode: both; }
.adl-9 { animation-delay: 0.90s; animation-fill-mode: both; }