 body { 
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
        }
        
        /* Texte visible uniquement pour les lecteurs d'écran */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }
        
        html {
            overflow-x: hidden;
        }
        
        .bg-dot-grid { 
            background-image: radial-gradient(#e2e8f0 1.5px, transparent 1.5px); 
            background-size: 30px 30px; 
        }
        
        /* Animations de scroll */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        
        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        .slide-in-left {
            opacity: 0;
            transform: translateX(-50px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        
        .slide-in-left.visible {
            opacity: 1;
            transform: translateX(0);
        }
        
        .slide-in-right {
            opacity: 0;
            transform: translateX(50px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        
        .slide-in-right.visible {
            opacity: 1;
            transform: translateX(0);
        }
        
        .scale-in {
            opacity: 0;
            transform: scale(0.9);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        
        .scale-in.visible {
            opacity: 1;
            transform: scale(1);
        }
        
        /* Animation du gradient */
        @keyframes gradient-shift {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }
        
        .gradient-animate {
            background: linear-gradient(270deg, #0ea5e9, #334155, #0ea5e9);
            background-size: 200% 200%;
            animation: gradient-shift 8s ease infinite;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        /* Effet hover sur les cartes */
        .service-card {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        
        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(14, 165, 233, 0.15);
        }
        
        /* Container hero pour éviter les superpositions */
        .hero-container {
            position: relative;
            z-index: 1;
        }
        
        /* Header hide/show au scroll */
        .header-hidden {
            transform: translateY(-100%);
            transition: transform 0.3s ease-in-out;
        }
        
        header {
            transition: transform 0.3s ease-in-out;
        }
        
        /* Menu mobile (burger) */
        @media (max-width: 767px) {
            .main-nav {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                flex-direction: column;
                gap: 0;
                padding: 1rem;
                background: #fff;
                border-bottom: 1px solid #e2e8f0;
                box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
                z-index: 40;
            }
            .main-nav a,
            .main-nav > * {
                padding: 0.75rem 1rem;
                border-radius: 0.5rem;
                margin-left: 0 !important; /* annule space-x-8, aligne tous les liens */
            }
            .main-nav.mobile-open {
                display: flex !important;
            }
        }
        
        /* Effet hover sur les logos d'outils */
        .tool-logo {
            display: block;
            transition: transform 0.3s ease, opacity 0.3s ease;
            opacity: 0.85;
            object-fit: contain;
        }
        
        .tool-logo:hover {
            transform: scale(1.1);
            opacity: 1;
        }
        
        /* Animation de la photo de profil */
        @keyframes float {
            0%, 100% {
                transform: translateY(0px) rotate(0deg);
            }
            50% {
                transform: translateY(-15px) rotate(2deg);
            }
        }
        
        @keyframes halo-pulse {
            0%, 100% {
                opacity: 0.4;
                transform: scale(1);
            }
            50% {
                opacity: 0.7;
                transform: scale(1.05);
            }
        }
        
        @keyframes photo-reveal {
            0% {
                opacity: 0;
                transform: scale(0.7) rotate(-15deg) translateX(-50px) translateY(20px);
                filter: blur(15px);
            }
            50% {
                opacity: 0.7;
                transform: scale(1.1) rotate(3deg) translateX(5px) translateY(-5px);
                filter: blur(3px);
            }
            100% {
                opacity: 1;
                transform: scale(1) rotate(0deg) translateX(0) translateY(0);
                filter: blur(0);
            }
        }
        
        @keyframes shadow-glow {
            0%, 100% {
                box-shadow: 0 20px 60px rgba(14, 165, 233, 0.15),
                            0 0 0 0 rgba(14, 165, 233, 0.1);
            }
            50% {
                box-shadow: 0 25px 80px rgba(14, 165, 233, 0.25),
                            0 0 40px 10px rgba(14, 165, 233, 0.15);
            }
        }
        
        .profile-photo-container {
            opacity: 0;
            transform: scale(0.7) rotate(-15deg) translateX(-50px) translateY(20px);
            filter: blur(15px);
            transition: none;
            will-change: transform, opacity, filter;
        }
        
        .profile-photo-container.visible {
            opacity: 1;
            animation: photo-reveal 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
                       float 6s ease-in-out infinite 1.2s;
        }
        
        .profile-photo-container.visible .profile-photo-border {
            animation: shadow-glow 3s ease-in-out infinite;
            animation-delay: 1.2s;
        }
        
        .profile-photo-container.visible .profile-photo-halo {
            animation: halo-pulse 4s ease-in-out infinite;
            animation-delay: 1.2s;
        }
        
        .profile-photo-container:hover {
            animation-play-state: paused;
            transform: translateY(-10px) scale(1.05) rotate(3deg);
        }
        
        .profile-photo-halo {
            opacity: 0;
            transition: opacity 0.5s ease;
        }
        
        .profile-photo-container.visible .profile-photo-halo {
            opacity: 0.6;
        }
        
        .profile-photo-border {
            transition: all 0.4s ease;
            box-shadow: 0 20px 60px rgba(14, 165, 233, 0.15),
                        0 0 0 0 rgba(14, 165, 233, 0.1);
            will-change: transform, box-shadow;
        }
        
        .profile-photo-container:hover .profile-photo-border {
            box-shadow: 0 30px 90px rgba(14, 165, 233, 0.35),
                        0 0 50px 15px rgba(14, 165, 233, 0.2);
            transform: scale(1.02);
        }
        
        .profile-photo-container:hover img {
            transform: scale(1.05);
        }
        
        /* Ombre portée supplémentaire pour plus de profondeur */
        .profile-photo-container::before {
            content: '';
            position: absolute;
            bottom: -20px;
            left: 50%;
            transform: translateX(-50%);
            width: 60%;
            height: 30px;
            background: radial-gradient(ellipse, rgba(14, 165, 233, 0.2), transparent);
            border-radius: 50%;
            opacity: 0;
            transition: opacity 0.5s ease;
            z-index: -1;
        }
        
        .profile-photo-container.visible::before {
            opacity: 1;
        }
        
        /* Badge nom avec animation */
        .profile-photo-container .slide-in-left {
            opacity: 0;
        }
        
        .profile-photo-container.visible .slide-in-left {
            opacity: 1;
        }

        /* Calculateur ROI - options questionnaire */
        .roi-option {
            display: inline-flex;
            align-items: center;
            padding: 0.5rem 1rem;
            border-radius: 9999px;
            border: 2px solid #e2e8f0;
            background: #fff;
            font-size: 0.875rem;
            font-weight: 600;
            color: #64748b;
            cursor: pointer;
            transition: border-color 0.2s, background 0.2s, color 0.2s;
        }
        .roi-option:hover {
            border-color: #0ea5e9;
            color: #0f172a;
        }
        .roi-option input:checked + span,
        .roi-option:has(input:checked) {
            border-color: #0ea5e9;
            background: #f0f9ff;
            color: #0369a1;
        }
        .roi-option:has(input:checked) {
            border-color: #0ea5e9;
            background: #f0f9ff;
        }
        .roi-option span {
            pointer-events: none;
        }
        .roi-option:has(input:checked) span {
            color: #0369a1;
        }