html {
    scroll-behavior: smooth;
}

.reveal-section {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1.1s ease, transform 1.1s ease;
}

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

.hero-slide {
    opacity: 0;
    transform: translateX(38px);
    transition: opacity 0.9s ease, transform 0.9s ease;
    pointer-events: none;
}

.hero-slide.is-active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.hero-dot {
    transition: transform 0.4s ease, background-color 0.4s ease;
}

.hero-dot.is-active {
    transform: scale(1.2);
    background-color: #f97316;
}

.business-unit-card {
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.business-unit-image {
    transition: transform 0.65s ease, filter 0.65s ease;
}

.business-unit-card:hover {
    transform: translateY(-10px) scale(1.015);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.business-unit-card:hover .business-unit-image {
    transform: scale(1.08);
    filter: saturate(1.08);
}

@media (prefers-reduced-motion: reduce) {
    .reveal-section,
    .hero-slide,
    .hero-dot,
    .business-unit-card,
    .business-unit-image {
        transition: none;
    }
}
