/* Custom CSS for Legia */

/* Hide scrollbar for clean look */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #FDFBF7;
}

.dark ::-webkit-scrollbar-track {
    background: #120B0A;
}

::-webkit-scrollbar-thumb {
    background: #C79F59;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #DAB674;
}

/* Animations */
.animate-spin-slow {
    animation: spin 15s linear infinite;
}

.animate-spin-slow-reverse {
    animation: spin-reverse 20s linear infinite;
}

/* Font Utilities */
.text-manrope {
    font-family: 'Manrope', sans-serif;
}

.text-inter {
    font-family: 'Inter', sans-serif;
}

@keyframes spin-reverse {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

.floating {
    animation: float 6s ease-in-out infinite;
}

.floating-delayed {
    animation: float 6s ease-in-out infinite;
    animation-delay: 3s;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-15px);
    }

    100% {
        transform: translateY(0px);
    }
}

@keyframes bg-move {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.hero-animate-bg {
    background: linear-gradient(-45deg, #FDFBF7, #F2EFED, #fff, #FDFBF7);
    background-size: 400% 400%;
    animation: bg-move 15s ease infinite;
}

.dark .hero-animate-bg {
    background: linear-gradient(-45deg, #0D0705, #160C0A, #0a0504, #0D0705);
    background-size: 400% 400%;
    animation: bg-move 15s ease infinite;
}

.icon-pulse {
    animation: pulse-glow 3s infinite;
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 0 0 rgba(199, 159, 89, 0.4);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(199, 159, 89, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(199, 159, 89, 0);
    }
}

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

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

.reveal-left {
    opacity: 0;
    transform: translateX(40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-right {
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.6s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-scale.active {
    opacity: 1;
    transform: scale(1);
}

/* Glassmorphism Navigation */
.nav-scrolled {
    background: rgba(253, 251, 247, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(220, 220, 220, 0.3);
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.dark .nav-scrolled {
    background: rgba(13, 7, 5, 0.85);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Navigation */
.nav-link {
    position: relative;
    font-weight: 500;
    transition: color 0.3s ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: #3A1E14;
    /* Legia Brown */
    transition: width 0.3s ease;
}

.nav-link.active::after {
    width: 100%;
}

.dark .nav-link::after {
    background: #C79F59;
    /* Legia Gold */
}

/* Nav links mobile */
.mobile-link {
    display: block;
    padding: 15px 20px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.mobile-link:hover {
    background: rgba(199, 159, 89, 0.1);
    color: #C79F59;
}

/* Hero Styles */
.hero-content {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4rem;
    align-items: center;
}

@media (max-width: 768px) {
    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 2rem;
    }
}

/* Custom underline for specific headings */
.underline-gold {
    border-bottom: 4px solid #C79F59;
    padding-bottom: 4px;
}

.text-stroke-white {
    -webkit-text-stroke: 2px white;
    color: transparent;
}

.text-stroke-maroon {
    -webkit-text-stroke: 2px #4b1e1e;
    color: transparent;
}

.dark .text-stroke-maroon {
    -webkit-text-stroke: 2px #9ca3af;
    color: transparent;
}

/* Service Tabs */
.service-panel {
    animation: panelFadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.service-panel.hidden {
    display: none;
}

@keyframes panelFadeIn {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tab-btn.active {
    background-color: #C79F59;
    color: white;
}

.dark .tab-btn.active {
    background-color: #C79F59;
    color: white;
}