body {
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

/* Typography */
.lang-en { font-family: 'Inter', sans-serif; letter-spacing: 0.02em; }
.lang-mm { font-family: 'Padauk', sans-serif; line-height: 1.8; }
.hidden { display: none !important; }

/* Preloader */
#preloader { transition: opacity 0.5s ease-out; }

/* Modal */
.modal { transition: opacity 0.25s ease; }
body.modal-active { overflow: hidden; }

/* Reveal Animation */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }

/* --- INFINITE SCROLL ANIMATION (NEW) --- */
.scroller {
    max-width: 100%;
    overflow: hidden;
    -webkit-mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
    mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}

.scroller-inner {
    padding-block: 1rem;
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
    width: max-content;
    animation: scroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-speed="fast"] { --_animation-duration: 20s; }
.scroller[data-speed="slow"] { --_animation-duration: 60s; }

@keyframes scroll {
    to {
        transform: translate(calc(-50% - 1rem));
    }
}

/* Mobile Tweaks */
@media (max-width: 768px) {
    h1 { line-height: 1.3 !important; }
    .lang-mm { line-height: 1.6; }
}