.onload-bringup {
    opacity: 1 !important;
    transform: translateY(0) scaleY(1) !important;
}

.js-section-fade-bg {
    opacity: 0;
    pointer-events: none;
    transition: opacity 700ms cubic-bezier(0.16, 0.01, 0.77, 1);
}
.js-section-fade-bg.active { opacity: 1; }

.anim-scaleUp {
    opacity: 0;
    transform: translateY(50px) scaleY(1.2);
    transform-origin: top left;
}
.anim-in-view .anim-scaleUp,
.anim-in-view.anim-scaleUp {
    opacity: 1;
    transform: translateY(0) scaleY(1);
    transition: opacity 790ms cubic-bezier(0.16,0.01,0.77,1),
                transform 790ms cubic-bezier(0.16,0.01,0.77,1);
}
.anim-in-view .anim-scaleUp.delay-1 { transition-delay: 100ms; }
.anim-in-view .anim-scaleUp.delay-2 { transition-delay: 200ms; }
.anim-in-view .anim-bringup,
.anim-in-view.anim-bringup {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 620ms cubic-bezier(0.16,0.01,0.77,1),
                transform 620ms cubic-bezier(0.16,0.01,0.77,1);
}
.anim-in-view .anim-bringup.delay-1 { transition-delay: 100ms; }

#services-section { overflow-x: clip; }

#home-perspective-lines .scroll-reveal {
    margin: 0 0 4px;
    font-size: clamp(40px, calc(2.8vw + 2rem), 72px);
}
.scroll-reveal-text {
    line-height: 1.3;
}
.scroll-reveal .word {
    display: inline-block;
}

@media (max-width: 720px) {
    #home-perspective-lines .scroll-reveal {
        font-size: clamp(24px, 6.6vw, 32px);
    }
    #services-section.p-box {
        padding: 56px 0 72px;
    }
}
