/* Base Resets */
body {
    background-color: #101010;
    color: white;
    overflow-x: hidden;
}

/* MacBook Style Cursor & Override Old Classes */
body,
.cursor-none {
    cursor: url('https://cdn.custom-cursor.com/db/8222/32/mac-os-cursor.png'), default !important;
}

a,
button,
.accordion-header,
[role="button"],
a.cursor-none,
button.cursor-none {
    cursor: url('https://cdn.custom-cursor.com/db/8221/32/mac-os-pointer.png'), pointer !important;
}

input,
textarea,
[contenteditable="true"] {
    cursor: text !important;
}

/* Base Reveal Animation */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

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

/* --- Premium Animations --- */

/* 1. Staggered Text Reveal */
.stagger-text {
    display: inline-block;
    transform: translateY(110%);
    opacity: 0;
    /* Splitting properties so we don't overwrite Tailwind's delay-100 classes */
    transition-property: transform, opacity;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1), ease;
}

/* Trigger stagger when parent .reveal becomes active, or if .active is added directly */
.reveal.active .stagger-text,
.stagger-text.active {
    transform: translateY(0);
    opacity: 1;
}

/* 2. Mouse Parallax Constraints */
.parallax-img {
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform;
}

/* 3. Spotlight Bento Grid Hover (Removed Glow Effect) */
.bento-card {
    position: relative;
    overflow: hidden;
}

.bento-card>* {
    position: relative;
    z-index: 10;
}

/* 4. Magnetic Button Fluidity */
.magnetic-btn {
    display: inline-flex;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.3s ease, color 0.3s ease;
    will-change: transform;
}

/* 5. Scroll-Scrubbed Text */
.scrub-word {
    opacity: 0.15;
    transition: opacity 0.3s ease, text-shadow 0.3s ease;
    will-change: opacity;
}