/* Content stays visible without JavaScript. No changes to layout or map dimensions. */
@media (prefers-reduced-motion: no-preference) {
  .motion-target {
    transition: opacity 620ms ease var(--reveal-delay, 0ms),
      translate 620ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
  }
  .motion-pending { opacity: 0; translate: 0 22px; }
  .hero-content > * { animation: hero-arrive 700ms cubic-bezier(.22, 1, .36, 1) both; }
  .hero-content > :nth-child(2) { animation-delay: 80ms; }
  .hero-content > :nth-child(3) { animation-delay: 160ms; }
  .hero-content > :nth-child(4) { animation-delay: 240ms; }
  @keyframes hero-arrive {
    from { opacity: 0; translate: 0 18px; }
    to { opacity: 1; translate: 0 0; }
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card, .reviews-grid > figure, .calc-explain-grid > article {
    transition: opacity 620ms ease var(--reveal-delay, 0ms),
      translate 620ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
      transform 220ms ease, box-shadow 220ms ease;
  }
  .service-card:hover, .reviews-grid > figure:hover, .calc-explain-grid > article:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgb(26 15 10 / 8%);
  }
}
@media (prefers-reduced-motion: reduce), print {
  .motion-target, .motion-pending { opacity: 1 !important; translate: none !important; }
  .hero-content > * { animation: none !important; }
}
