
/* Header Styles */
#header {
    transition: all 0.3s ease;
}

#mobile-menu {
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#mobile-menu:not(.hidden) {
    display: flex !important;
}

/* Logo in header */
header img {
    height: 28px;
}

@media (min-width: 768px) {
    header img {
        height: 34px;
    }
}
/* Background colors */
body {
    background-color: #0b2d46;
}

section {
    background-color: #0b2d46;
}
.bg-charcoal {
    background-color: #0b2d46;
}

.text-gray-300 {
    color: #e5e7eb;
}

.border-gray-700 {
    border-color: #1e293b;
}
/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

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

::-webkit-scrollbar-thumb {
    background: #38bdf8;
    border-radius: 4px;
}
/* Image enhancements */
.bg-charcoal {
    background-color: transparent;
}
/* Animation classes */
.will-animate {
    opacity: 0;
    transform: translateY(16px);
    will-change: opacity, transform;
}

.scroll-reveal {
    animation: scrollReveal 600ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.stagger-reveal {
    animation: scrollReveal 600ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: var(--delay, 0ms);
}

.no-motion {
    opacity: 1;
    transform: none;
}

@keyframes scrollReveal {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Hero parallax */
.hero-parallax {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (prefers-reduced-motion: reduce) {
    .hero-parallax {
        background-attachment: scroll;
    }
}
/* Image responsiveness */
.bg-cover {
    background-size: cover;
}
.bg-center {
    background-position: center;
}

/* Responsive adjustments */
@media (max-width: 640px) {
    .hero-title {
        font-size: 3rem;
        line-height: 1.2;
    }
    
    .hero-subtitle {
        font-size: 1.25rem;
    }
    
    section {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Mobile Sticky CTA Bar */
@media (max-width: 768px) {
    .mobile-sticky-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 64px;
        background-color: rgba(9, 35, 54, 0.95);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 1rem;
        z-index: 9999;
    }

    .mobile-sticky-bar .cta-wrapper {
        width: 100%;
        max-width: 520px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .mobile-sticky-bar .cta-button {
        display: block;
        width: 100%;
        background-color: #38bdf8;
        color: #0f172a;
        font-weight: 500;
        padding: 0.625rem 1rem;
        border-radius: 0.375rem;
        text-align: center;
        font-size: 0.875rem;
        line-height: 1.25rem;
        transition: background-color 0.2s ease;
        text-decoration: none;
    }

    .mobile-sticky-bar .cta-button:hover {
        background-color: #0ea5e9;
    }

    .mobile-sticky-bar .cta-subtext {
        font-size: 0.65rem;
        color: #94a3b8;
        margin-top: 0.25rem;
        line-height: 1;
        text-align: center;
    }

    /* Add padding to body to prevent content from being hidden behind the bar */
    body {
        padding-bottom: 80px;
    }

    footer {
        padding-bottom: calc(3rem + 64px);
    }
}