.text-outline {
    -webkit-text-stroke: 1px #2872A1;
    color: transparent;
} 
.text-outline-white {
    -webkit-text-stroke: 1px #fff;
    color: transparent;
}

.grain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    opacity: 0.35;
    background-image: url(https://lh3.googleusercontent.com/aida-public/AB6AXuAAxx8coKOQ0ZNtm-1LhyX5deM11uSC6bjGUUi9NeTPDE-S5QnaJkxMWBiU50BBEKgPEgKCYU2i6g4dH4sTEesBQMMH0tIERo13p-v9dJCWEpXM3DIz5yqgAc7qsKAKxOVKSU9NoPupV0vX1kiNSDBL5qnFCeK2vVylABkKxuF6sPShjcDIqq9qV0HUrEkA8Ekw3F8DJiTqndbnGVHIqwA-wL8DxidUaBzz7whjdwYOJ3RBVcB9-usoUcBDqN6D2NRr8gEAgOMdFJk);
    mix-blend-mode: overlay
}
.no-scrollbar::-webkit-scrollbar {
    display: none
}
html {
    scroll-behavior: smooth;
}

/* --- PRELOADER STYLES START --- */
#preloader {
    position: fixed;
    inset: 0;
    z-index: 10000; /* Highest layer */
    background-color: #2872A1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: transform 0.8s cubic-bezier(0.76, 0, 0.24, 1); /* Elegant easing */
}

#preloader.loaded {
    transform: translateY(-100%); /* Slide up effect */
}

.loader-counter {
    font-family: 'Archivo', sans-serif;
    font-size: 12vw;
    font-weight: 900;
    color: #CBDDE9;
    line-height: 1;
    font-variant-numeric: tabular-nums; /* Prevents jitter when numbers change */
}

.loader-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #CBDDE9;
    margin-top: 1rem;
    opacity: 0.7;
}
/* --- PRELOADER STYLES END --- */

/* --- CUSTOM ANIMATION STYLES START --- */

/* Base settings for all animated items */
.reveal-item {
    opacity: 0;
    transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

/* 1. Standard Fade Up (Default) */
.motion-up {
    transform: translateY(40px);
}

/* 2. Slide from Left */
.motion-left {
    transform: translateX(-50px);
}

/* 3. Slide from Right */
.motion-right {
    transform: translateX(50px);
}

/* 4. Scale Up (Zoom In) */
.motion-scale {
    transform: scale(0.9);
}

/* 5. 3D Rotate Reveal (Flip Up) */
.motion-flip {
    transform: perspective(1000px) rotateX(15deg) translateY(20px);
    transform-style: preserve-3d;
}

/* 6. Blur Reveal */
.motion-blur {
    filter: blur(10px);
    transform: scale(1.05);
}

/* --- ACTIVE STATE (When Visible) --- */
.reveal-item.is-visible {
    opacity: 1;
    transform: translate(0) scale(1) rotate(0);
    filter: blur(0);
}

/* Stagger delays */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-500 { transition-delay: 500ms; }

@media (prefers-reduced-motion: reduce) {
    .reveal-item {
        transition: none;
        opacity: 1;
        transform: none;
        filter: none;
    }
}
/* --- CUSTOM ANIMATION STYLES END --- */
