body { 
    font-feature-settings: "cv11", "ss01"; 
    -webkit-font-smoothing: antialiased; 
    overflow-x: hidden;
    width: 100%;
    position: relative;
    margin: 0;
}

html {
    overflow-x: hidden;
    width: 100%;
    margin: 0;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #050505; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* Motion Engine - Keyframes */
@keyframes reveal-line {
    0% { transform: translateY(110%); skewY(10deg); opacity: 0; }
    100% { transform: translateY(0) skewY(0); opacity: 1; }
}

/* Fix CSS Error at Line 23: Remove trailing semicolon/invalid character */
@keyframes drift-horizontal {
    0% { transform: translateX(-30px); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}

@keyframes scale-out-reveal {
    0% { transform: scale(1.2); opacity: 0; filter: blur(10px); }
    100% { transform: scale(1); opacity: 1; filter: blur(0); }
}

@keyframes wipe-right {
    0% { clip-path: inset(0 100% 0 0); }
    100% { clip-path: inset(0 0 0 0); }
}

@keyframes perspective-reveal {
    0% { transform: perspective(1000px) rotateX(10deg) translateY(50px); opacity: 0; }
    100% { transform: perspective(1000px) rotateX(0) translateY(0); opacity: 1; }
}

/* Animation Classes */
.reveal-text-line {
    display: inline-block;
    opacity: 0;
    transition: none;
}
.reveal-text-line.active {
    animation: reveal-line 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.reveal-text-drift {
    opacity: 0;
}
.reveal-text-drift.active {
    animation: drift-horizontal 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.reveal-image-wipe {
    opacity: 0;
}
.reveal-image-wipe.active {
    opacity: 1;
    animation: scale-out-reveal 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.reveal-perspective {
    opacity: 0;
}
.reveal-perspective.active {
    animation: perspective-reveal 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.reveal-stagger .reveal-item {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-stagger.active .reveal-item {
    opacity: 1;
    transform: translateY(0);
}

/* Custom Stagger Logic */
.reveal-stagger.active .reveal-item:nth-child(1) { transition-delay: 0.1s; }
.reveal-stagger.active .reveal-item:nth-child(2) { transition-delay: 0.2s; }
.reveal-stagger.active .reveal-item:nth-child(3) { transition-delay: 0.3s; }
.reveal-stagger.active .reveal-item:nth-child(4) { transition-delay: 0.4s; }
.reveal-stagger.active .reveal-item:nth-child(5) { transition-delay: 0.5s; }
