/* =========================================
   ENERGY GROUP — Custom Styles
   ========================================= */

/* Material Icons baseline */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    vertical-align: middle;
}

/* ---- Scroll Reveal ---- */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), transform 1s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}

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

/* ---- Specialized Card Reveal ---- */
.reveal-card {
    opacity: 0;
    transform: translateY(60px) scale(0.92);
    transition: opacity 1.2s cubic-bezier(0.15, 1, 0.3, 1), transform 1.2s cubic-bezier(0.15, 1, 0.3, 1);
    will-change: opacity, transform;
}

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

.delay-200 { transition-delay: 200ms; }
.delay-400 { transition-delay: 400ms; }
.delay-600 { transition-delay: 600ms; }

/* ---- Custom Scrollbar (global) ---- */
::-webkit-scrollbar {
    width: 8px;
}

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

::-webkit-scrollbar-thumb {
    background: #D32F2F;
    border-radius: 4px;
}

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

/* ---- Mobile Menu Overlay ---- */
#mobile-menu-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

/* ---- Project Cards ---- */
.project-card {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: translateY(0);
}

.btn-icon {
    transition: transform 0.4s ease;
}

/* ---- Hero Carousel ---- */
.hero-slide {
    transition: opacity 1.5s ease-in-out;
}

.hero-slide.active {
    opacity: 1 !important;
}

/* ---- Ken Burns Effects ---- */
.zoom-in {
    animation: kenburns-in 10s ease-out infinite alternate;
}

.zoom-out {
    animation: kenburns-out 10s ease-out infinite alternate;
}

@keyframes kenburns-in {
    0%   { transform: scale(1); }
    100% { transform: scale(1.15); }
}

@keyframes kenburns-out {
    0%   { transform: scale(1.15); }
    100% { transform: scale(1); }
}

