/* ========================================
   SCROLL REVEAL ANIMATIONS
======================================== */
[data-scroll-reveal] {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}

[data-scroll-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
}

/* ========================================
   TEXT REVEAL
======================================== */
.headline-line {
    display: block;
    overflow: hidden;
}

.headline-word {
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.8s var(--ease-out), opacity 0.8s var(--ease-out);
}

.headline-word.revealed {
    transform: translateY(0);
    opacity: 1;
}

/* ========================================
   TITLE WORD ANIMATION
======================================== */
.title-line {
    display: block;
    overflow: hidden;
}

.title-word {
    display: inline-block;
    transform: translateY(110%);
    transition: transform 1s var(--ease-out);
}

.title-word.revealed {
    transform: translateY(0);
}

.title-accent {
    color: var(--gold-primary);
    font-style: italic;
}

/* ========================================
   FADE ANIMATIONS
======================================== */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========================================
   LINE DRAW
======================================== */
@keyframes drawLine {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes drawLineHorizontal {
    from {
        transform: scaleX(0);
        transform-origin: left center;
    }
    to {
        transform: scaleX(1);
        transform-origin: left center;
    }
}

/* ========================================
   COG ROTATION
======================================== */
@keyframes rotateCog {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes rotateCogReverse {
    from { transform: rotate(360deg); }
    to { transform: rotate(0deg); }
}

@keyframes rotateSlow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ========================================
   PULSE GLOW
======================================== */
@keyframes pulseGlow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(212, 175, 55, 0.1);
    }
    50% {
        box-shadow: 0 0 40px rgba(212, 175, 55, 0.2);
    }
}

@keyframes pulseGoldBorder {
    0%, 100% {
        border-color: rgba(212, 175, 55, 0.3);
    }
    50% {
        border-color: rgba(212, 175, 55, 0.6);
    }
}

/* ========================================
   SOUND BARS
======================================== */
@keyframes soundBar {
    0%, 100% { height: 4px; }
    50% { height: 20px; }
}

/* ========================================
   FLOAT
======================================== */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

@keyframes floatSlow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(5deg); }
}

/* ========================================
   SCROLL INDICATOR
======================================== */
@keyframes scrollDown {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateY(20px);
        opacity: 0;
    }
}

/* ========================================
   COUNTER
======================================== */
@keyframes countUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ========================================
   WATCH HAND TICK
======================================== */
@keyframes secondHand {
    from { transform: rotate(0deg); transform-origin: 200px 200px; }
    to { transform: rotate(360deg); transform-origin: 200px 200px; }
}

/* ========================================
   NOTIFICATION
======================================== */
@keyframes notificationSlide {
    0% {
        transform: translateX(100%) translateY(-50%);
        opacity: 0;
    }
    15% {
        transform: translateX(0) translateY(-50%);
        opacity: 1;
    }
    85% {
        transform: translateX(0) translateY(-50%);
        opacity: 1;
    }
    100% {
        transform: translateX(100%) translateY(-50%);
        opacity: 0;
    }
}