/* Hero Section Fix for Full Width Background Image */
.hero-section {
    position: relative !important;
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 100vh !important;
    width: 100% !important;
    overflow: hidden !important;
}

/* Ensure the hero section takes full viewport width */
.hero-section .l-subsection-h {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100vh !important;
    text-align: center !important;
}

/* Fix for mobile responsiveness */
@media (max-width: 768px) {
    .hero-section {
        min-height: 70vh !important;
        background-attachment: scroll !important;
    }

    .hero-section .l-subsection-h {
        padding: 0 1rem !important;
        min-height: 70vh !important;
    }

    .home-heading {
        font-size: 60px !important;
    }
}

@media (max-width: 480px) {
    .hero-section {
        min-height: 60vh !important;
    }

    .hero-section .l-subsection-h {
        min-height: 60vh !important;
    }

    .home-heading {
        font-size: 40px !important;
    }
}

/* Ensure the main container doesn't constrain the hero */
.l-main.align_center .hero-section {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}