/* Ingressi morbidi, solo sulla home; nessun movimento continuo. */
@media (prefers-reduced-motion: no-preference) {
    .home-hero-copy > * {
        animation: home-enter 1s cubic-bezier(.25, .46, .45, .94) both;
    }
    .home-hero-copy > :nth-child(2) { animation-delay: .3s; }
    .home-hero-copy > :nth-child(3) { animation-delay: .6s; }
    .home-hero-copy > :nth-child(4) { animation-delay: .9s; }
    .home-hero-copy > :nth-child(5) { animation-delay: 1.2s; }
    .home-hero .hero-image-wrap {
        animation: home-image-enter 1.2s cubic-bezier(.25, .46, .45, .94) 1.5s both;
    }
}

@keyframes home-enter {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes home-image-enter {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Loaded only by the home page: mobile typography, without resizing headings. */
@media (max-width: 767.98px) {
    .home-hero p,
    .home-section .section-intro,
    .home-section .service-card p,
    .home-section .process-step p {
        font-size: 1.125rem;
        line-height: 1.65;
    }

    .home-hero .btn,
    .home-section .btn,
    .home-section .text-link,
    .site-header .nav-link,
    .site-header .btn {
        font-size: 1.125rem;
        line-height: 1.5;
    }

    .home-hero .eyebrow,
    .home-section .eyebrow,
    .home-section .service-number {
        font-size: 1rem;
        letter-spacing: .1em;
    }

    .site-footer p,
    .site-footer a,
    .footer-contact,
    .footer-bottom {
        font-size: 1.125rem;
    }

    .site-footer .col-6 > a,
    .footer-contact {
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .back-to-top {
        font-size: 1rem;
    }
}
