/* --- Reveal Animation Engine --- */
.reveal-holder {
    position: relative;
    overflow: hidden;
    display: block;
}
.reveal-holder .reveal-content {
    display: block;
    transform: translateY(105%);
    transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.reveal-holder.aos-animate .reveal-content {
    transform: translateY(0);
}

/* --- Custom Navbar --- */
#navbar {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-scrolled {
    background: rgba(255, 255, 255, 0.98) !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.nav-scrolled .nav-text { color: #0A0A0B !important; }
.nav-scrolled .nav-btn { border-color: #0A0A0B !important; color: #0A0A0B !important; }
.nav-scrolled .nav-btn:hover { background: #0A0A0B !important; color: white !important; }

/* --- Performance Progress Bar --- */
.progress-wrap {
    position: fixed;
    right: 30px;
    bottom: 30px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 200ms linear;
    background: white;
}
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* --- Section Dividers --- */
.section-num {
    font-size: 10rem;
    font-weight: 900;
    color: rgba(0,0,0,0.02);
    position: absolute;
    top: -2rem;
    left: 2rem;
    z-index: 0;
    font-family: 'Space Grotesk';
}

/* --- Pricing Specifics --- */
.pricing-card:hover {
    transform: translateY(-10px);
}