/* Explain: CSS for smooth scroll-reveal and hover animations, respecting reduced motion. */
/* Soft hover response for branch + contact cards */
.contact-note {
    transition: transform 300ms ease, border-color 300ms ease, background-color 300ms ease, box-shadow 300ms ease;
}

@media (hover: hover) {
    .contact-note:hover {
        border-color: var(--accent-color);
        background-color: var(--surface-color);
        box-shadow: var(--shadow-soft);
        transform: translateY(-4px) scale(1.01);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-note:hover,
    .contact-info-card:hover,
    .class-card:hover {
        transform: none;
    }
}

/* Scroll reveal for the homepage section blocks — only when motion is welcome */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(28px);
        transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, transform;
    }

    .reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal,
    .reveal.is-visible {
        opacity: 1;
        transform: none;
    }
}