/* Start custom CSS *//* DL hero slider: dots follow the slide while swiping (pure CSS, scroll-driven) */
.dl-hero-slider { timeline-scope: --dlhero; }
.dl-hero-track { scroll-timeline: --dlhero x; }
@supports not (-moz-appearance: none) { .dl-hero-track { scroll-behavior: smooth; } }
@keyframes dl-dot-out { from { width: 26px; background-color: #FA4D06; } to { width: 10px; background-color: #FFFFFF; } }
@keyframes dl-dot-in { from { width: 10px; background-color: #FFFFFF; } to { width: 26px; background-color: #FA4D06; } }
@supports (animation-timeline: scroll()) {
  .dl-hero-dots > :nth-child(1) { animation: dl-dot-out linear both; animation-timeline: --dlhero; }
  .dl-hero-dots > :nth-child(2) { animation: dl-dot-in linear both; animation-timeline: --dlhero; }
}

/* DL hero slider: autoplay (pure CSS). Each slide holds an invisible .dl-hero-snap marker that is the real snap point.
   One marker at a time glides to the other slide and the track follows it; it then switches snapping off, jumps home and switches it back on.
   Slides use overflow: clip (not hidden) so they do not become their own scroll containers.
   14s cycle = ~6s per slide + 0.84s slide. Pauses on hover / keyboard focus, stops after a dot is clicked, off for reduced motion. */
.dl-hero-slider .dl-hero-track > .dl-hero-slide { scroll-snap-align: none; overflow: clip; }
.dl-hero-slider .dl-hero-track .dl-hero-snap.e-con { position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; box-sizing: border-box; pointer-events: none; scroll-snap-align: start; }
@keyframes dl-snap1-move { 0%, 42% { left: 0; } 48%, 48.6% { left: 100%; } 49%, 100% { left: 0; } }
@keyframes dl-snap1-align { 0%, 48.4% { scroll-snap-align: start; } 48.5%, 49.4% { scroll-snap-align: none; } 49.5%, 100% { scroll-snap-align: start; } }
@keyframes dl-snap2-move { 0%, 92% { left: 0; } 98%, 98.6% { left: -100%; } 99%, 100% { left: 0; } }
@keyframes dl-snap2-align { 0%, 98.4% { scroll-snap-align: start; } 98.5%, 99.4% { scroll-snap-align: none; } 99.5%, 100% { scroll-snap-align: start; } }
@media (prefers-reduced-motion: no-preference) {
  #dl-slide-1 .dl-hero-snap.e-con { animation: dl-snap1-move 14s ease-in-out infinite, dl-snap1-align 14s linear infinite; }
  #dl-slide-2 .dl-hero-snap.e-con { animation: dl-snap2-move 14s ease-in-out infinite, dl-snap2-align 14s linear infinite; }
  .dl-hero-slider:focus-within .dl-hero-snap.e-con, .dl-hero-slider:has(:target) .dl-hero-snap.e-con { animation: none !important; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .dl-hero-slider:hover .dl-hero-snap.e-con { animation: none !important; }
}/* End custom CSS */