html {
    scroll-behavior: smooth;
}

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

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

.about-fade-up {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

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

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

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

.about-hero-dot {
    background-color: rgba(255, 255, 255, 0.7);
    transition: transform 0.35s ease, background-color 0.35s ease;
}

.about-hero-dot.is-active {
    transform: scale(1.25);
    background-color: #fd583e;
}

@media (prefers-reduced-motion: reduce) {
    .reveal-section,
    .about-fade-up,
    .about-hero-slide,
    .about-hero-dot {
        transition: none;
    }
}
