.hero-custom-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: center;
}

/* GLOBAL SHADOW REMOVAL */
.hero {
    background-color: #051a2e !important;
    /* Match Footer Blue */
    background-image: none !important;
    box-shadow: none !important;
}

.text-brand-blue,
.text-brand-red {
    text-shadow: none !important;
    filter: none !important;
    -webkit-text-shadow: none !important;
}

/* NUCLEAR OPTION FOR MOBILE TEXT VISIBILITY */
@media (max-width: 768px) {
    .hero h1 {
        color: #051a2e !important;
        text-shadow: none !important;
    }

    .hero h1::before,
    .hero h1::after {
        content: none !important;
        display: none !important;
    }

    .hero h1 .text-brand-blue {
        color: #051a2e !important;
        /* Brand Blue */
        text-shadow: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .hero h1 .text-brand-red {
        color: #d32f2f !important;
        /* Brand Red */
        text-shadow: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .hero p {
        color: #000000 !important;
    }
}

@media (min-width: 992px) {
    .hero-custom-grid {
        grid-template-columns: 45% 55%;
        align-items: stretch;
        /* Stretch to full height */
        gap: 0;
        /* Remove gap to let image touch text side if needed, or keep small gap */
    }

    .hero-visual-custom {
        height: 100%;
        width: 100%;
        position: relative;
    }

    .hero-visual-custom img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* This makes it "full size" without whitespace */
        /* object-position: center; if needed */
    }

    .hero-text-custom {
        padding-right: 40px;
        /* Space between text and image */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
        background-color: #051a2e !important;
        /* Force match */
    }
}


/* Trust Section Icons Fix */
.trust-cta-section .badge svg {
    width: 40px !important;
    height: 40px !important;
    color: #c5a059 !important;
    stroke: currentColor !important;
    fill: none !important;
}
.trust-cta-section .badge:nth-child(3) svg {
    fill: currentColor !important;
    stroke: none !important;
}
