
        /* === CSS CRITIQUE MOBILE - Chargé en premier === */
        /* Force fond noir slate-950 sur tout le document */
        html, body {
            background-color: #020617 !important;
            color: #ffffff !important;
            min-height: 100vh;
        }

        /* Force texte blanc sur tout le site sauf formulaires */
        body, main, section, header, footer, nav, div, p, span {
            color: #ffffff;
        }

        /* Liens : supprimer le bleu et le soulignement */
        a {
            color: inherit !important;
            text-decoration: none !important;
        }
        a:link, a:visited, a:hover, a:active, a:focus {
            color: inherit !important;
            text-decoration: none !important;
        }

        /* Titres en blanc */
        h1, h2, h3, h4, h5, h6 {
            color: #ffffff !important;
        }

        /* FORMULAIRE - Fond blanc, texte noir (exception) */
        .glass-card, .glass-card * {
            color: #000000;
        }
        .glass-card {
            background: #ffffff !important;
        }
        .glass-card h2, .glass-card h3 {
            color: #0f172a !important;
        }
        .glass-card p, .glass-card label {
            color: #475569 !important;
        }
        .glass-card input, .glass-card textarea, .glass-card select {
            color: #000000 !important;
            background: #f8fafc !important;
        }


        /* === RESET GLOBAL === */
        * { font-family: 'Inter', system-ui, -apple-system, sans-serif; }

        /* Reset liens - supprime bleu et soulignement par défaut */
        a {
            color: inherit;
            text-decoration: none !important;
        }
        a:hover, a:visited, a:active, a:focus {
            text-decoration: none !important;
        }

        /* Header links - force no underline on all states */
        header a, header nav a {
            text-decoration: none !important;
            color: inherit;
        }

        /* Force fond Slate-950 sur body et html */
        html, body {
            background-color: #020617 !important;
        }

        /* === OPTIMISATION MOBILE V8.0 - Apple Pro Master === */
        @media (max-width: 640px) {
            /* Hero section - hauteur automatique pour éviter le formulaire coupé */
            .hero-gradient {
                min-height: auto !important;
                padding-top: 4.5rem !important;
                padding-bottom: 1.5rem !important;
            }

            /* Reduction des paddings horizontaux sur mobile */
            .hero-gradient > div { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }

            /* Carte formulaire - OPTIMISATION POUR NE PAS ÊTRE COUPÉ */
            .glass-card {
                padding: 1rem !important;
                margin: 0 0.25rem !important;
                border-radius: 1rem !important;
                width: calc(100% - 0.5rem) !important;
                max-width: none !important;
                max-height: none !important;
                overflow: visible !important;
            }
            .glass-card input, .glass-card button { font-size: 0.95rem; }

            /* Titres adaptatifs - plus compact sur mobile */
            h1 { font-size: 1.6rem !important; line-height: 1.15 !important; }
            h1 .block { font-size: 0.85rem !important; margin-top: 0.4rem !important; }

            /* Réduire padding du contenu hero */
            .hero-gradient .py-16 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }

            /* Réduire la description sur mobile */
            .hero-gradient p.text-lg {
                font-size: 0.85rem !important;
                margin-bottom: 1rem !important;
                line-height: 1.4 !important;
            }

            /* Features grid - compact et sans chevauchement */
            .grid-cols-3 { gap: 0.25rem !important; margin-top: 1rem !important; }
            .grid-cols-3 > div { padding: 0.5rem !important; }
            .grid-cols-3 > div p { font-size: 0.65rem !important; line-height: 1.2 !important; }
            .grid-cols-3 > div > div { width: 2rem !important; height: 2rem !important; }
            .grid-cols-3 svg { width: 1rem !important; height: 1rem !important; }

            /* Masquer badge et elements decoratifs sur mobile pour éviter chevauchements */
            .noise-overlay::after { display: none !important; }
            .hero-gradient .inline-flex.items-center.gap-2.px-3.py-1\.5 { display: none !important; }

            /* Force header links style on mobile - no blue, no underline */
            header a, header nav a {
                color: #cbd5e1 !important; /* slate-300 */
                text-decoration: none !important;
            }
            header a:hover, header nav a:hover {
                color: #ffffff !important;
                text-decoration: none !important;
            }
        }

        @media (max-width: 640px) {
            .hero-gradient { min-height: auto !important; display: block !important; padding-top: 4.25rem !important; padding-bottom: 1rem !important; }
            .hero-gradient .max-w-4xl { padding: 0.75rem 0.5rem !important; }
            .hero-gradient .inline-flex.items-center.gap-2.px-3.py-1\\.5,
            .hero-gradient .text-lg,
            .hero-gradient .grid.grid-cols-3 { display: none !important; }
            .hero-gradient h1 { font-size: 1.5rem !important; line-height: 1.12 !important; margin-bottom: 0.75rem !important; }
            .hero-gradient h1 .block { font-size: 0.8rem !important; }
            #recherche { margin-top: 0.5rem !important; padding: 0.75rem !important; }
            #recherche .absolute { position: static !important; display: inline-block; margin-bottom: 0.5rem; }
            #recherche .mb-6 { margin-bottom: 0.75rem !important; }
            #recherche h2 { font-size: 1.1rem !important; }
            #recherche input, #recherche button { padding-top: 0.7rem !important; padding-bottom: 0.7rem !important; font-size: 0.95rem !important; }
        }

        @media (max-width: 400px) {
            h1 { font-size: 1.4rem !important; }
            h1 .block { font-size: 0.75rem !important; }

            /* Formulaire encore plus compact sur très petits écrans */
            .glass-card {
                padding: 0.75rem !important;
            }
            .glass-card h2 { font-size: 1rem !important; }
        }

        /* === HIGH-CONTRAST PROFESSIONAL V6.2 === */

        /* HERO: Image de fond Unsplash dynamique */
        .hero-gradient {
            position: relative;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        /* Overlay sombre pour lisibilité du texte - DARK HIGH-CONTRAST MODE */
        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to bottom,
                rgba(2, 6, 23, 0.80) 0%,
                rgba(2, 6, 23, 0.85) 40%,
                rgba(2, 6, 23, 0.95) 100%
            );
            z-index: 1;
        }

        /* Fallback: fond Slate-950 solide si pas d'image */
        .hero-overlay-solid {
            background: #020617 !important; /* slate-950 */
        }

        /* Force fond Slate-950 sur la section hero */
        .hero-gradient {
            background-color: #020617 !important;
        }

        /* Force Dark High-Contrast on Home */
        body.dark-high-contrast .hero-overlay {
            background: linear-gradient(
                to bottom,
                rgba(2, 6, 23, 0.85) 0%,
                rgba(2, 6, 23, 0.90) 40%,
                rgba(2, 6, 23, 0.98) 100%
            ) !important;
        }

        /* Fond de secours pour hero sans image */
        .hero-gradient:not([style*="background-image"]) {
            background: linear-gradient(135deg, #020617 0%, #0f172a 50%, #1e1b4b 100%) !important;
        }

        /* Suppression des dégradés radiaux qui éclaircissent le fond */
        .hero-gradient::before {
            display: none !important;
        }

        /* H1 : BLANC PUR (#FFFFFF) - contraste maximal */
        .hero-gradient h1,
        .hero-gradient h1 * {
            color: #FFFFFF !important;
            text-shadow: none !important;
        }

        /* Override spécifique pour le titre principal */
        h1 {
            color: #FFFFFF !important;
        }

        /* Sous-titre : slate-300 pour meilleur contraste */
        .hero-gradient h1 .block,
        .hero-gradient .subtitle-line {
            color: #cbd5e1 !important;
        }

        /* Textes secondaires hero */
        .hero-gradient p,
        .hero-gradient .text-slate-300 {
            color: #94a3b8 !important;
        }

        /* Badge et petits textes */
        .hero-gradient .text-white\/80 { color: rgba(255, 255, 255, 0.85) !important; }
        .hero-gradient .text-white\/60 { color: rgba(255, 255, 255, 0.7) !important; }

        /* FORMULAIRE: Fond blanc SOLIDE + texte NOIR */
        .glass-card {
            background: #FFFFFF !important;
            backdrop-filter: none;
            border: 1px solid #e2e8f0;
            box-shadow:
                0 1px 3px rgba(0, 0, 0, 0.08),
                0 4px 12px rgba(0, 0, 0, 0.05),
                0 20px 40px rgba(0, 0, 0, 0.1);
        }

        /* Textes dans la carte - NOIR pour lisibilite maximale */
        .glass-card h2 { color: #000000 !important; }
        .glass-card label { color: #1e293b !important; }
        .glass-card p { color: #475569 !important; }
        .glass-card input { color: #000000 !important; }
        .glass-card input::placeholder { color: #94a3b8; }

        /* Noise overlay - plus subtil */
        .noise-overlay::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: url('/assets/img/public-noise.svg');
            pointer-events: none;
            opacity: 0.3;
        }

        .input-modern {
            transition: all 0.2s ease;
        }

        .input-modern:focus {
            box-shadow:
                0 0 0 1px #7c3f1d,
                0 0 0 4px #7c3f1d20;
        }

        /* Button glow effect */
        .btn-glow {
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }

        .btn-glow::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, transparent 50%);
            pointer-events: none;
        }

        .btn-glow:hover {
            transform: translateY(-2px);
            box-shadow:
                0 4px 12px #d9770640,
                0 8px 24px #d9770630;
        }

        /* Anti-overflow mobile: indispensable avec embeds/formulaires externes. */
        html, body { overflow-x: hidden; max-width: 100%; }
        * { box-sizing: border-box; }

        .hero-gradient h1 {
            font-size: clamp(2rem, 5.2vw, 4.5rem) !important;
            overflow-wrap: anywhere;
        }
        .hero-gradient h1 span {
            font-size: clamp(1rem, 1.7vw, 1.65rem) !important;
        }

        /* Source-first SEO: le bloc intention arrive haut dans le HTML, mais reste placé après le hero/trust en rendu. */
        .lead-layout-source-priority {
            display: flex;
            flex-direction: column;
        }
        .lead-layout-source-priority > * { order: 20; }
        .lead-layout-source-priority > .hero-gradient { order: 1; }
        .lead-layout-source-priority > .trust-proof-strip { order: 2; }
        .lead-layout-source-priority > .source-intent-copy { order: 3; }
        .lead-layout-source-priority > .lead-city-links { order: 4; }
        .lead-layout-source-priority > .lead-dept-links { order: 5; }
        .source-intent-copy, .source-intent-copy * { color: #0f172a !important; }
        .source-intent-copy a { color: #7c3f1d !important; text-decoration: underline !important; }

        @media (max-width: 640px) {
            header .h-16 { gap: 0.75rem !important; }
            header nav a:not([href="#recherche"]):not([href="#devis"]) { display: none !important; }
            header nav a[href="#recherche"], header nav a[href="#devis"] {
                padding: 0.65rem 0.9rem !important;
                font-size: 0.75rem !important;
                white-space: nowrap !important;
            }
            .hero-gradient .mb-8 { margin-bottom: 0.75rem !important; }
            .hero-gradient h1 { margin-bottom: 0.75rem !important; }
            .hero-gradient p.text-lg { margin-bottom: 1rem !important; }
            .hero-gradient .max-w-4xl { padding-top: 1rem !important; padding-bottom: 1rem !important; }
            #recherche { scroll-margin-top: 5rem; }
        }

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