:root{--neon-green:#b4ff00;--lime-green:#8dd200;--green-mix:#6ce933;--dark-bg:#0a0a0a;--black:#000000;--gray-dark:#1a1a1a;--gray:#2a2a2a;--white:#ffffff;--shadow:rgba(180, 255, 0, 0.2);}*{margin:0;padding:0;box-sizing:border-box;}body{font-family:'Karla', sans-serif;background:var(--dark-bg);color:var(--white);line-height:1.6;overflow-x:hidden;}

/* Navigation */
nav{position:fixed;top:0;width:100%;background:rgba(10, 10, 10, 0.95);backdrop-filter:blur(10px);z-index:1000;padding:1.5rem 5% 1rem;box-shadow:0 2px 20px var(--shadow);border-bottom:3px solid var(--neon-green);}.nav-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;position:relative;}

/* Logo à cheval sur la ligne verte */
.logo{position:absolute;left:5%;bottom:-40px;z-index:1001;transition:all 0.3s ease;}.logo:hover{transform:translateY(-3px);}.logo img{height:60px;width:auto;display:block;filter:drop-shadow(0 0 20px rgba(180, 255, 0, 0.6)) drop-shadow(0 5px 15px rgba(0, 0, 0, 0.5));transition:filter 0.3s ease;}.logo:hover img{filter:drop-shadow(0 0 35px rgba(180, 255, 0, 0.9)) drop-shadow(0 8px 20px rgba(0, 0, 0, 0.7));}

/* Navigation Desktop */
.nav-links{display:flex;gap:2.5rem;list-style:none;margin-left:auto;}.nav-links a{text-decoration:none;color:var(--white);font-weight:600;transition:color 0.3s;font-size:0.95rem;letter-spacing:0.5px;}.nav-links a:hover{color:var(--neon-green);}

/* Menu Burger - Caché par défaut */
.menu-toggle{display:none;flex-direction:column;gap:6px;cursor:pointer;z-index:1002;padding:10px;position:relative;background:transparent;border:none;pointer-events:auto;-webkit-tap-highlight-color:transparent;}.menu-toggle span{width:30px;height:3px;background:var(--neon-green);transition:all 0.3s ease;border-radius:3px;pointer-events:none;}

/* Animation burger en X */
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(8px, 8px);}.menu-toggle.active span:nth-child(2){opacity:0;}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(8px, -8px);}

/* Hero Section */
.hero{margin-top:100px;min-height:90vh;display:flex;align-items:center;background:linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.7)), url('/images/hero/hero-background.jpg') center/cover no-repeat;position:relative;overflow:hidden;padding:5%;}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(180, 255, 0, 0.1), transparent);pointer-events:none;}.hero-content{max-width:1400px;margin:0 auto;position:relative;z-index:1;color:var(--white);}

/* Logo Hero */
.hero-logo-container{text-align:center;margin-bottom:2rem;opacity:0;transform:translateY(-50px) scale(0.8);animation:logoScrollIn 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;transform-origin:center top;will-change:transform, opacity;}.hero-main-logo{width:350px;max-width:80vw;height:auto;filter:drop-shadow(0 0 40px rgba(180, 255, 0, 0.5)) drop-shadow(0 15px 30px rgba(0, 0, 0, 0.7));transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);}.hero-main-logo:hover{transform:scale(1.05) rotate(2deg);filter:drop-shadow(0 0 60px rgba(180, 255, 0, 0.8)) drop-shadow(0 20px 40px rgba(0, 0, 0, 0.8));}@keyframes logoScrollIn{0%{opacity:0;transform:translateY(-50px) scale(0.8);}100%{opacity:1;transform:translateY(0) scale(1);}}.hero h1{font-family:'Playfair Display', serif;font-size:4.5rem;font-weight:900;line-height:1.1;margin-bottom:1.5rem;animation:fadeInUp 1s ease 0.3s backwards;text-shadow:0 4px 20px rgba(0, 0, 0, 0.8), 0 2px 10px rgba(0, 0, 0, 0.6);}.hero p{font-size:1.4rem;margin-bottom:2.5rem;font-weight:300;max-width:600px;animation:fadeInUp 1s ease 0.2s backwards;text-shadow:0 2px 10px rgba(0, 0, 0, 0.8);}.cta-buttons{display:flex;gap:1.5rem;animation:fadeInUp 1s ease 0.4s backwards;}.btn{padding:1rem 2.5rem;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;text-decoration:none;display:inline-block;letter-spacing:0.5px;}.btn-primary{background:var(--neon-green);color:var(--black);font-weight:700;}.btn-primary:hover{background:var(--lime-green);color:var(--black);transform:translateY(-2px);box-shadow:0 10px 30px rgba(180, 255, 0, 0.5);}.btn-secondary{background:transparent;color:var(--white);border:2px solid var(--white);}.btn-secondary:hover{background:var(--white);color:var(--forest-dark);transform:translateY(-2px);}

/* Gallery Section */
.gallery{padding:8rem 5%;background:var(--black);position:relative;}.gallery-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:1.5rem;margin-top:3rem;}.gallery-item{position:relative;overflow:hidden;border-radius:15px;aspect-ratio:4/3;cursor:pointer;transition:all 0.3s ease;border:2px solid var(--gray-dark);box-shadow:0 4px 15px rgba(0, 0, 0, 0.3);}.gallery-item:hover{transform:translateY(-8px);border-color:var(--neon-green);box-shadow:0 15px 35px var(--shadow);}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}.gallery-item:hover img{transform:scale(1.1);}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top, rgba(0,0,0,0.9), transparent);padding:2rem;transform:translateY(100%);transition:transform 0.4s ease;}.gallery-item:hover .gallery-overlay{transform:translateY(0);}.gallery-overlay h4{color:var(--neon-green);font-family:'Playfair Display', serif;font-size:1.3rem;margin-bottom:0.5rem;}.gallery-overlay p{color:var(--white);font-size:0.9rem;opacity:0.9;}

/* Services Section */
.services{padding:8rem 5%;background:var(--gray-dark);position:relative;}.services::before{content:'';position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(to bottom, var(--dark-bg), transparent);}.section-title{text-align:center;margin-bottom:5rem;}.section-title h2{font-family:'Playfair Display', serif;font-size:3.5rem;color:var(--white);margin-bottom:1rem;}.section-title p{font-size:1.2rem;color:var(--neon-green);font-weight:300;}.services-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:2.5rem;}.service-card{background:var(--gray);padding:3rem;border-radius:20px;transition:all 0.4s ease;border:2px solid var(--gray);position:relative;overflow:hidden;}.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg, var(--neon-green), var(--lime-green));transform:scaleX(0);transition:transform 0.4s ease;}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px var(--shadow);border-color:var(--neon-green);background:var(--gray-dark);}.service-card:hover::before{transform:scaleX(1);}.service-icon{font-size:3rem;margin-bottom:1.5rem;display:block;}.service-card h3{font-family:'Playfair Display', serif;font-size:1.8rem;color:var(--white);margin-bottom:1rem;}.service-card p{color:var(--white);line-height:1.8;opacity:0.85;}

/* Devis Calculator */
.devis-section{padding:8rem 5%;background:linear-gradient(135deg, var(--black), var(--gray-dark));color:var(--white);}.devis-container{max-width:900px;margin:0 auto;background:var(--gray);padding:4rem;border-radius:30px;box-shadow:0 20px 60px rgba(0,0,0,0.5);border:2px solid var(--neon-green);}.devis-container h2{font-family:'Playfair Display', serif;font-size:3rem;color:var(--neon-green);text-align:center;margin-bottom:3rem;}.form-group{margin-bottom:2rem;}.form-group label{display:block;margin-bottom:0.5rem;color:var(--white);font-weight:600;font-size:1rem;}.form-group input, .form-group select, .form-group textarea{width:100%;padding:1rem;border:2px solid var(--gray-dark);border-radius:10px;font-family:'Karla', sans-serif;font-size:1rem;transition:all 0.3s;background:var(--gray-dark);color:var(--white);}.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none;border-color:var(--neon-green);box-shadow:0 0 0 3px rgba(180, 255, 0, 0.2);}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-top:1rem;}.checkbox-item{display:flex;align-items:center;gap:0.5rem;}.checkbox-item input[type="checkbox"]{width:auto;accent-color:var(--neon-green);}.estimation{background:var(--black);color:var(--white);padding:2rem;border-radius:15px;margin-top:2rem;text-align:center;display:none;border:2px solid var(--neon-green);}.estimation.show{display:block;animation:fadeIn 0.5s;}.estimation h3{font-family:'Playfair Display', serif;font-size:2rem;margin-bottom:1rem;}.estimation p{font-size:1.2rem;color:var(--white);opacity:0.8;}.price{font-size:3rem;font-weight:900;color:var(--neon-green);margin:1rem 0;}

/* Contact Section */
.contact{padding:8rem 5%;background:var(--dark-bg);}.contact-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;}.contact-info h2{font-family:'Playfair Display', serif;font-size:3rem;color:var(--neon-green);margin-bottom:2rem;}.contact-info p{font-size:1.2rem;color:var(--white);margin-bottom:3rem;line-height:1.8;opacity:0.85;}.contact-method{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--gray);border-radius:15px;transition:all 0.3s;border:2px solid transparent;}.contact-method:hover{transform:translateX(10px);border-color:var(--neon-green);}.contact-method-icon{font-size:2rem;}.contact-method-text h4{color:var(--white);margin-bottom:0.3rem;}.contact-method-text p{color:var(--neon-green);margin:0;font-size:1rem;}.contact-form{background:var(--gray);padding:3rem;border-radius:20px;box-shadow:0 10px 40px var(--shadow);border:2px solid var(--neon-green);}.whatsapp-btn{display:flex;align-items:center;justify-content:center;gap:1rem;background:#25D366;color:white;padding:1.5rem;border-radius:15px;text-decoration:none;font-size:1.2rem;font-weight:600;margin-top:2rem;transition:all 0.3s;}.whatsapp-btn:hover{background:#20BA5A;transform:scale(1.05);box-shadow:0 10px 30px rgba(37, 211, 102, 0.3);}

/* Social Links */
.social-section{padding:5rem 5%;background:var(--gray-dark);color:var(--white);text-align:center;}.social-section h3{font-family:'Playfair Display', serif;font-size:2.5rem;margin-bottom:2rem;color:var(--white);}.social-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;}.social-link{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:1.5rem;background:var(--black);border-radius:15px;text-decoration:none;color:var(--white);transition:all 0.3s;min-width:150px;border:2px solid var(--black);box-shadow:0 4px 15px rgba(0, 0, 0, 0.2);}.social-link:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0, 0, 0, 0.3);}.social-link:hover .social-icon{transform:scale(1.15);}.social-link.facebook:hover{background:#1877F2;border-color:#1877F2;color:white;}.social-link.instagram:hover{background:linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);border-color:#e1306c;color:white;}.social-link.youtube:hover{background:#FF0000;border-color:#FF0000;color:white;}.social-link.facebook:hover .social-icon, .social-link.instagram:hover .social-icon, .social-link.youtube:hover .social-icon{fill:white;}.social-icon{width:50px;height:50px;transition:all 0.3s ease;}

/* Footer */
footer{background:var(--gray-dark);color:var(--white);padding:3rem 5%;text-align:center;}footer p{margin:0.5rem 0;opacity:0.9;}

/* WhatsApp Floating Button */
.whatsapp-float{position:fixed;bottom:30px;right:30px;width:70px;height:70px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37, 211, 102, 0.4);z-index:999;transition:all 0.3s ease;text-decoration:none;animation:pulse 2s infinite;}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37, 211, 102, 0.6);}.whatsapp-float svg{width:40px;height:40px;fill:white;}@keyframes pulse{0%, 100%{transform:scale(1);}50%{transform:scale(1.05);}}

/* Testimonials hover */
.testimonial-card:hover{border-color:var(--neon-green) !important;transform:translateY(-5px);box-shadow:0 10px 30px rgba(180, 255, 0, 0.2);}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

/* ============================================
   RESPONSIVE MOBILE
   ============================================ */
@media (max-width:768px){
    /* Navigation mobile */
    nav{padding:0.8rem 5%;}
    
    /* Logo centré en mobile */
    .logo{bottom:-40px;left:50%;transform:translateX(-50%);}.logo img{height:80px;}
    
    /* Afficher le burger */
    .menu-toggle{display:flex;position:relative;z-index:1002;}
    
    /* Menu mobile */
    .nav-links{position:fixed;top:0;right:-100%;width:80%;max-width:400px;height:100vh;background:rgba(10, 10, 10, 0.98);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:right 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);z-index:1001;border-left:3px solid var(--neon-green);padding:2rem;box-shadow:-10px 0 30px rgba(0, 0, 0, 0.5);}
    
    /* Menu ouvert */
    .nav-links.active{right:0;}
    
    /* Liens mobile */
    .nav-links li{width:100%;text-align:center;opacity:0;transform:translateX(50px);transition:all 0.3s ease;}
    
    .nav-links.active li{opacity:1;transform:translateX(0);}
    
    .nav-links.active li:nth-child(1){transition-delay:0.1s;}
    .nav-links.active li:nth-child(2){transition-delay:0.2s;}
    .nav-links.active li:nth-child(3){transition-delay:0.3s;}
    .nav-links.active li:nth-child(4){transition-delay:0.4s;}
    .nav-links.active li:nth-child(5){transition-delay:0.5s;}
    
    .nav-links a{font-size:1.4rem;font-weight:700;padding:1rem 2rem;border-radius:10px;display:block;}
    
    .nav-links a:hover{background:var(--neon-green);color:var(--black);}
    
    /* Overlay sombre */
    body.menu-open::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.7);z-index:1000;animation:fadeIn 0.3s;}
    
    body.menu-open{overflow:hidden;}
    
    /* Hero */
    .hero{margin-top:80px;}
    .hero-main-logo{width:180px;}
    .hero h1{font-size:2.5rem;}
    .hero p{font-size:1.1rem;}
    .cta-buttons{flex-direction:column;}
    
    /* Sections */
    .section-title h2{font-size:2.5rem;}
    .services-grid{grid-template-columns:1fr;}
    .contact-container{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1rem;}
    
    /* Formulaires */
    .devis-container{padding:2rem 1.5rem;}
    .devis-container h2{font-size:2rem;}
    .contact-form{padding:2rem 1.5rem;}
    .contact-form h3{font-size:1.5rem !important;}
    .form-group label{font-size:0.9rem;}
    .form-group input, .form-group select, .form-group textarea{font-size:16px;padding:0.8rem;}
    
    /* WhatsApp float */
    .whatsapp-float{width:60px;height:60px;bottom:20px;right:20px;}
    .whatsapp-float svg{width:35px;height:35px;}
}

/* Très petits écrans */
@media (max-width:480px){
    .logo{bottom:-35px;}
    .logo img{height:60px;}
    .hero{margin-top:70px;}
    .hero-main-logo{width:150px;}
    .hero h1{font-size:2rem;}
    .devis-container{padding:1.5rem 1rem;}
    .devis-container h2{font-size:1.8rem;}
    .contact-form{padding:1.5rem 1rem;}
    .contact-form h3{font-size:1.3rem !important;margin-bottom:1.5rem !important;}
    .nav-links{width:90%;}
    .nav-links a{font-size:1.2rem;}
}

/* Consent checkbox fix */
.form-group label[style*="display:flex"]{display:flex !important;align-items:flex-start !important;gap:0.5rem !important;}.form-group label[style*="display:flex"] span{flex:1 !important;max-width:100% !important;word-wrap:break-word !important;overflow-wrap:break-word !important;}.form-group input[type="checkbox"]{flex-shrink:0 !important;width:20px !important;height:20px !important;min-width:20px !important;margin-top:0.2rem !important;}

@media (max-width:768px){
    .form-group label span{font-size:0.75rem !important;line-height:1.3 !important;}
    .form-group input[type="checkbox"]{width:18px !important;height:18px !important;min-width:18px !important;}
}

@media (max-width:480px){
    .form-group label span{font-size:0.7rem !important;}
    .form-group input[type="checkbox"]{width:16px !important;height:16px !important;min-width:16px !important;}
}

/* Contact methods cliquables */
a.contact-method{cursor:pointer;transition:all 0.3s ease;}
a.contact-method:hover{transform:translateX(10px);opacity:0.9;}
a.contact-method:hover .contact-method-icon{transform:scale(1.2);}