/* Scroll Progress Bar */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 4px;
    background: linear-gradient(90deg, rgba(15,183,200,1), rgba(212,163,93,1));
    z-index: 9999;
    transition: width 0.12s ease-out;
}

/* Reveal Animations */
.reveal-up,
.reveal-left,
.reveal-right {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-left {
    transform: translateX(-28px);
}

.reveal-right {
    transform: translateX(28px);
}

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

/* Parallax Background */
.parallax-bg {
    position: absolute;
    inset: 0;
    background: inherit;
    background-size: cover;
    background-position: center center;
    z-index: 0;
    will-change: transform;
}

/* Animação do Texto do Hero */
.reveal-text-wrapper {
    overflow: hidden;
    display: inline-block;
    vertical-align: top;
}

.reveal-text {
    display: inline-block;
    transform: translateY(110%);
    opacity: 0;
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 1s ease;
}

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