*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#1a365d;--secondary:#2d3748;--accent:#3182ce;--orange:#ed8936;--white:#ffffff;--light-gray:#f7fafc;--text-dark:#2d3748;--text-light:#4a5568;--shadow:0 10px 25px rgba(0,0,0,0.1);--gradient:linear-gradient(135deg,#1a365d 0%,#3182ce 100%)} body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-dark);overflow-x:hidden} .container{max-width:1200px;margin:0 auto;padding:0 20px} .header{background:var(--gradient);position:fixed;top:0;left:0;right:0;z-index:1000;transition:all 0.3s ease;box-shadow:var(--shadow)} .header.scrolled{background:rgba(26,54,93,0.95);backdrop-filter:blur(10px)} .nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:80px;position:relative} .header-right{display:flex;align-items:center;gap:20px} .logo{font-size:1.6rem;font-weight:bold;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:10px;transition:all 0.3s ease;position:relative;overflow:hidden} .logo:hover{transform:translateY(-2px) scale(1.05)} .logo-icon{font-size:2rem;animation:pulse 2s infinite} .logo-text{background:linear-gradient(45deg,var(--white),var(--orange),var(--white));background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 3s ease-in-out infinite} @keyframes pulse{0%,100%{transform:scale(1)} 50%{transform:scale(1.1)} } @keyframes gradient-shift{0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} } .header-contact{display:flex;align-items:center} .phone-number{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:25px;padding:10px 20px;transition:all 0.3s ease;position:relative;overflow:hidden} .phone-number::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(237,137,54,0.3),transparent);transition:left 0.6s ease} .phone-number:hover::before{left:100%} .phone-number:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-2px);box-shadow:0 8px 25px rgba(237,137,54,0.4)} .phone-icon{font-size:1.2rem;animation:ring 2s infinite} .phone-number a{color:var(--white);text-decoration:none;font-weight:600;font-size:1.1rem;transition:all 0.3s ease} @keyframes ring{0%,100%{transform:rotate(0deg)} 10%,30%{transform:rotate(-10deg)} 20%{transform:rotate(10deg)} } .urgence-btn{margin-left:15px} .btn-urgence{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#e53e3e 0%,#c53030 100%);color:var(--white);text-decoration:none;padding:12px 20px;border-radius:25px;font-weight:600;font-size:0.95rem;border:2px solid rgba(255,255,255,0.2);transition:all 0.3s ease;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(229,62,62,0.3)} .btn-urgence::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.6s ease} .btn-urgence:hover::before{left:100%} .btn-urgence:hover{background:linear-gradient(135deg,#c53030 0%,#9c2626 100%);transform:translateY(-2px);box-shadow:0 8px 25px rgba(229,62,62,0.5);border-color:rgba(255,255,255,0.4)} .btn-urgence:active{transform:translateY(0);box-shadow:0 4px 15px rgba(229,62,62,0.3)} @keyframes pulse-urgence{0%{box-shadow:0 4px 15px rgba(229,62,62,0.3)} 50%{box-shadow:0 4px 15px rgba(229,62,62,0.7),0 0 20px rgba(229,62,62,0.4)} 100%{box-shadow:0 4px 15px rgba(229,62,62,0.3)} } .btn-urgence{animation:pulse-urgence 2s infinite ease-in-out} .mobile-phone{display:none} .nav-menu{display:flex;list-style:none;gap:30px;margin:0;padding:0} .nav-menu a{color:var(--white);text-decoration:none;font-weight:500;transition:all 0.3s ease;padding:10px 0;position:relative} .nav-menu a:hover{color:var(--orange);transform:translateY(-2px)} .nav-menu a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--orange);transition:width 0.3s ease} .nav-menu a:hover::after{width:100%} .cta-button{background:var(--orange);color:var(--white);padding:12px 24px;border-radius:25px;text-decoration:none;font-weight:bold;transition:all 0.3s ease;font-size:0.95rem;box-shadow:0 4px 15px rgba(237,137,54,0.3);border:none} .cta-button:hover{background:#dd7d1f;transform:translateY(-2px);box-shadow:0 6px 20px rgba(237,137,54,0.4)} .mobile-menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;padding:8px;border-radius:4px;transition:all 0.3s ease} .mobile-menu-toggle:hover{background:rgba(255,255,255,0.1)} .dropdown-arrow{display:inline-block;margin-left:8px;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);vertical-align:middle;font-size:0.8em;opacity:0.8} .dropdown-arrow::after{content:'';display:inline-block;width:6px;height:6px;border:2px solid currentColor;border-top:none;border-left:none;transform:rotate(45deg);transition:all 0.3s ease} .mega-menu-item:hover .dropdown-arrow{opacity:1;transform:translateY(2px)} .mega-menu-item:hover .dropdown-arrow::after{transform:rotate(225deg);border-color:var(--orange)} .mega-menu-item{position:relative} .mega-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--white);border-radius:20px;box-shadow:0 25px 60px rgba(0,0,0,0.2);opacity:0;visibility:hidden;transition:all 0.4s cubic-bezier(0.165,0.84,0.44,1);z-index:1000;min-width:1200px;margin-top:15px;border:1px solid rgba(49,130,206,0.1);max-height:70vh;overflow-y:auto;overflow-x:hidden} .mega-menu::-webkit-scrollbar{width:8px} .mega-menu::-webkit-scrollbar-track{background:rgba(49,130,206,0.1);border-radius:4px} .mega-menu::-webkit-scrollbar-thumb{background:var(--orange);border-radius:4px} .mega-menu::-webkit-scrollbar-thumb:hover{background:var(--primary)} @media (max-height:800px){.mega-menu{max-height:60vh} } @media (max-height:600px){.mega-menu{max-height:50vh} } .mega-menu::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:16px;height:16px;background:var(--white);border:1px solid rgba(49,130,206,0.1);border-bottom:none;border-right:none;transform:translateX(-50%) rotate(45deg)} .mega-menu-item:hover .mega-menu,.mega-menu-item.hovering .mega-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(5px)} .mega-menu-content{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;min-height:0} .mega-menu-section{padding:35px 25px;border-right:1px solid rgba(49,130,206,0.08);transition:all 0.3s ease} .mega-menu-section:last-child{border-right:none} .mega-menu-section:hover{background:rgba(49,130,206,0.02)} .mega-menu-section h4{color:var(--primary);font-size:1.15rem;margin-bottom:20px;font-weight:700;border-bottom:3px solid var(--orange);padding-bottom:12px;display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:0.5px} .mega-menu-section ul{list-style:none;padding:0;margin:0} .mega-menu-section li{margin-bottom:0} .mega-menu-section a{color:var(--text-dark) !important;text-decoration:none;font-size:0.95rem;padding:10px 15px;display:block;transition:all 0.3s ease;border-radius:8px;margin-bottom:3px;position:relative;font-weight:500} .mega-menu-section a::after{display:none !important} .mega-menu-section a::before{content:'📍';margin-right:8px;opacity:0.6;transition:all 0.3s ease} .mega-menu-section a:hover{color:var(--orange) !important;background:linear-gradient(135deg,rgba(237,137,54,0.1),rgba(237,137,54,0.05));transform:translateX(8px);box-shadow:0 4px 15px rgba(237,137,54,0.2)} .mega-menu-section a:hover::before{content:'🏠';opacity:1} .zones-cta{grid-column:1 / -1;text-align:center;padding:25px;background:linear-gradient(135deg,var(--primary),var(--accent));margin:0} .zones-cta a{background:var(--orange);color:var(--white) !important;padding:15px 35px;border-radius:30px;text-decoration:none;font-weight:700;font-size:1.1rem;transition:all 0.3s ease;display:inline-block;box-shadow:0 8px 25px rgba(237,137,54,0.3);text-transform:uppercase;letter-spacing:0.5px} .zones-cta a:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(237,137,54,0.4);background:#dd7d1f} .hero{background:var(--gradient);min-height:100vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden} .hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(237,137,54,0.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(49,130,206,0.2) 0%,transparent 50%),linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.05) 50%,transparent 70%);animation:background-pulse 4s ease-in-out infinite} .hero::after{content:'';position:absolute;top:20%;left:10%;width:100px;height:100px;background:radial-gradient(circle,rgba(237,137,54,0.1),transparent);border-radius:50%} @keyframes background-pulse{0%,100%{opacity:1} 50%{opacity:0.8} } .hero-container{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative;z-index:2} .hero-content{animation:slideInLeft 1s ease-out} .hero-content h1{font-size:3.5rem;font-weight:bold;color:var(--white);margin-bottom:20px;line-height:1.2;animation:titleGlow 2s ease-in-out infinite alternate} @keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)} to{opacity:1;transform:translateX(0)} } @keyframes titleGlow{from{text-shadow:0 0 20px rgba(255,255,255,0.3)} to{text-shadow:0 0 30px rgba(237,137,54,0.6),0 0 40px rgba(255,255,255,0.3)} } .highlight{color:var(--orange);position:relative;display:inline-block} .highlight::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--white));animation:underlineExpand 2s ease-out 0.5s forwards} @keyframes underlineExpand{to{width:100%} } .hero-content p{font-size:1.3rem;color:rgba(255,255,255,0.9);margin-bottom:30px;animation:fadeInUp 1s ease-out 0.3s both} @keyframes fadeInUp{from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} } .hero-rating{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:15px;padding:20px;margin:30px 0;text-align:center;animation:fadeInScale 1s ease-out 0.6s both;position:relative;overflow:hidden} .hero-rating::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent);animation:shimmer 3s infinite} @keyframes fadeInScale{from{opacity:0;transform:scale(0.8)} to{opacity:1;transform:scale(1)} } @keyframes shimmer{0%{transform:rotate(0deg) translate(-50%,-50%)} 100%{transform:rotate(360deg) translate(-50%,-50%)} } .stars-display{font-size:1.8rem;margin-bottom:10px;color:#ffd700;position:relative;z-index:2} .stars-display .star{display:inline-block;animation:starTwinkle 1.5s ease-in-out infinite} .stars-display .star:nth-child(1){animation-delay:0s} .stars-display .star:nth-child(2){animation-delay:0.2s} .stars-display .star:nth-child(3){animation-delay:0.4s} .stars-display .star:nth-child(4){animation-delay:0.6s} .stars-display .star:nth-child(5){animation-delay:0.8s} @keyframes starTwinkle{0%,100%{transform:scale(1);filter:brightness(1)} 50%{transform:scale(1.2);filter:brightness(1.3)} } .rating-text{color:var(--white);font-size:1.1rem;font-weight:bold;margin-bottom:5px;position:relative;z-index:2} .rating-subtext{color:rgba(255,255,255,0.8);font-size:0.9rem;position:relative;z-index:2} .hero-buttons{display:flex;gap:20px;animation:fadeInUp 1s ease-out 0.9s both} .btn-primary,.btn-secondary,.btn-tertiary{padding:15px 30px;border-radius:30px;text-decoration:none;font-weight:bold;transition:all 0.3s ease;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px} .btn-primary{background:var(--orange);color:var(--white);box-shadow:0 8px 25px rgba(237,137,54,0.3)} .btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.6s ease} .btn-primary:hover::before{left:100%} .btn-secondary{background:transparent;color:var(--white);border:2px solid var(--white);box-shadow:0 8px 25px rgba(255,255,255,0.2)} .btn-secondary::before{content:'';position:absolute;top:0;left:0;width:0;height:100%;background:var(--white);transition:width 0.3s ease;z-index:-1} .btn-secondary:hover::before{width:100%} .btn-secondary:hover{color:var(--primary)} .btn-tertiary{background:transparent;color:var(--primary);border:2px solid var(--white);box-shadow:0 8px 25px rgba(255,255,255,0.2)} .btn-tertiary::before{content:'';position:absolute;top:0;left:0;width:0;height:100%;background:var(--white);transition:width 0.3s ease;z-index:-1} .btn-tertiary:hover::before{width:100%} .btn-tertiary:hover{color:var(--primary)} .btn-primary:hover,.btn-secondary:hover,.btn-tertiary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 35px rgba(0,0,0,0.3)} .hero-cta{display:flex;gap:20px;margin-top:30px;flex-wrap:wrap;justify-content:flex-start} .hero-visual{display:flex;justify-content:center;align-items:center;animation:slideInRight 1s ease-out 0.3s both} @keyframes slideInRight{from{opacity:0;transform:translateX(50px)} to{opacity:1;transform:translateX(0)} } .hero-image{width:100%;height:400px;background:url('../images/toitures-antoine-belgique.png');background-size:cover;background-position:center;border-radius:20px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);position:relative;overflow:hidden;box-shadow:inset 0 0 100px rgba(26,54,93,0.2)} .hero-image::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(237,137,54,0.1),transparent,rgba(49,130,206,0.1),transparent);animation:rotate 4s linear infinite} .section{padding:120px 0} .container,.features-container{max-width:1200px;margin:0 auto;padding:0 20px} .features{padding:120px 0;background:var(--white)} .services{padding:120px 0;background:var(--light-gray)} .section-title{text-align:center;margin-bottom:80px;padding-top:20px} .section-title h2{font-size:2.8rem;color:var(--primary);margin-bottom:20px;font-weight:700} .section-title p{font-size:1.25rem;color:var(--text-light);max-width:700px;margin:0 auto;line-height:1.6} .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:50px;max-width:1400px;margin:0 auto} .feature-card{background:var(--white);padding:45px 35px;border-radius:20px;text-align:center;box-shadow:var(--shadow);transition:all 0.3s ease;border:1px solid rgba(49,130,206,0.1);max-width:400px;margin:0 auto} .feature-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px rgba(0,0,0,0.2)} .feature-icon{width:80px;height:80px;background:var(--gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:2rem;color:var(--white)} .feature-card h3{font-size:1.5rem;color:var(--primary);margin-bottom:15px} .feature-card p{color:var(--text-light);line-height:1.6} .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-top:60px;max-width:1300px;margin:0 auto} .service-card{background:var(--white);padding:35px 30px;border-radius:18px;text-align:center;transition:all 0.3s ease;border:2px solid transparent;box-shadow:0 8px 25px rgba(0,0,0,0.1);max-width:320px;margin:0 auto} .service-card:hover{border-color:var(--orange);transform:translateY(-5px);box-shadow:0 15px 30px rgba(237,137,54,0.2)} .service-card .icon{font-size:3rem;margin-bottom:20px;display:block} .service-card h3{color:var(--primary);margin-bottom:15px;font-size:1.3rem} .regional-zones{padding:100px 0;background:var(--light-gray)} .zones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:40px;margin-top:60px} .zone-card{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);transition:all 0.3s ease;border:2px solid transparent} .zone-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px rgba(0,0,0,0.15);border-color:var(--orange)} .zone-header{padding:30px 25px 20px;background:var(--gradient);color:var(--white);text-align:center} .zone-icon{font-size:3rem;margin-bottom:15px;display:block} .zone-title{font-size:1.8rem;font-weight:bold;margin-bottom:10px} .zone-subtitle{font-size:1rem;opacity:0.9} .zone-content{padding:25px} .zone-stats{background:rgba(49,130,206,0.05);padding:20px;border-radius:10px;margin-bottom:20px;text-align:center} .zone-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px} .stat-item{text-align:center} .stat-number{font-size:1.8rem;font-weight:bold;color:var(--orange);display:block} .stat-label{font-size:0.85rem;color:white;margin-top:5px} .communes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:25px} .commune-item{background:var(--light-gray);padding:12px 8px;border-radius:10px;text-align:center;transition:all 0.3s ease;border:1px solid rgba(49,130,206,0.1)} .commune-item:hover{background:rgba(237,137,54,0.05);border-color:var(--orange);transform:translateY(-2px);box-shadow:0 5px 15px rgba(237,137,54,0.2)} .commune-item a{color:var(--primary);text-decoration:none;font-weight:500;font-size:0.9rem;transition:color 0.3s ease} .commune-item:hover a{color:var(--orange)} .zone-cta{text-align:center} .zone-cta a{background:var(--gradient);color:var(--white);padding:12px 25px;border-radius:20px;text-decoration:none;font-weight:bold;transition:all 0.3s ease;display:inline-block} .zone-cta a:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(49,130,206,0.3)} .service-hero{background:var(--gradient);min-height:60vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden} .wow-service-bg{background:radial-gradient(circle at 30% 70%,rgba(237,137,54,0.15) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(49,130,206,0.15) 0%,transparent 50%),var(--gradient)} .service-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.05) 50%,transparent 70%);animation:service-bg-pulse 4s ease-in-out infinite} @keyframes service-bg-pulse{0%,100%{opacity:1} 50%{opacity:0.7} } .service-title{font-size:3.2rem;font-weight:700;color:var(--white);margin-bottom:20px;line-height:1.2;text-align:center;animation:service-title-glow 3s ease-in-out infinite} .mega-gradient{background:linear-gradient(45deg,var(--white),var(--orange),var(--white));background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:mega-gradient-shift 4s ease-in-out infinite} @keyframes service-title-glow{0%,100%{text-shadow:0 0 20px rgba(255,255,255,0.3)} 50%{text-shadow:0 0 30px rgba(237,137,54,0.6),0 0 40px rgba(255,255,255,0.4)} } @keyframes mega-gradient-shift{0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} } .service-subtitle{font-size:1.4rem;color:rgba(255,255,255,0.9);margin-bottom:30px;text-align:center;animation:fadeInUp 1s ease-out 0.3s both} .service-cta{text-align:center;margin:30px 0;animation:fadeInUp 1s ease-out 0.6s both} .mega-btn{background:var(--orange);color:var(--white);padding:18px 40px;border-radius:35px;text-decoration:none;font-weight:700;font-size:1.1rem;transition:all 0.3s ease;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px;box-shadow:0 10px 30px rgba(237,137,54,0.4);display:inline-block} .mega-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left 0.6s ease} .mega-btn:hover::before{left:100%} .mega-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 40px rgba(237,137,54,0.5);background:#dd7d1f} .service-content{padding:100px 0;background:var(--white)} .service-grid{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:start} .service-main h2{font-size:2.5rem;color:var(--primary);margin-bottom:25px;font-weight:700;position:relative} .service-main h2::after{content:'';position:absolute;bottom:-10px;left:0;width:80px;height:4px;background:var(--orange);border-radius:2px} .service-main p{font-size:1.2rem;color:var(--text-light);line-height:1.7;margin-bottom:30px} .service-list{list-style:none;padding:0;margin:30px 0} .service-list li{padding:12px 0;font-size:1.1rem;color:var(--text-dark);border-bottom:1px solid rgba(49,130,206,0.1);transition:all 0.3s ease} .service-list li:hover{padding-left:10px;color:var(--orange);border-color:var(--orange)} .service-aside{background:var(--light-gray);border-radius:20px;padding:0;position:sticky;top:100px;overflow:hidden;box-shadow:0 15px 35px rgba(0,0,0,0.1)} .service-aside-block{padding:30px 25px;border-bottom:1px solid rgba(49,130,206,0.1)} .service-aside-block:last-child{border-bottom:none} .service-aside-block h3{font-size:1.4rem;color:var(--primary);margin-bottom:20px;font-weight:700;display:flex;align-items:center;gap:10px} .service-aside-block h3::before{content:'🎯';font-size:1.2rem} .service-aside-block ul{list-style:none;padding:0;margin:0} .service-aside-block li{padding:8px 0;font-size:1rem;color:var(--text-dark);transition:all 0.3s ease} .service-aside-block li:hover{color:var(--orange);padding-left:10px} .service-gallery{padding:80px 0;background:var(--light-gray)} .gallery-title{font-size:2.5rem;color:var(--primary);text-align:center;margin-bottom:50px;font-weight:700;position:relative} .gallery-title::after{content:'';position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);width:100px;height:4px;background:var(--orange);border-radius:2px} .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1000px;margin:0 auto} .gallery-img{width:100%;height:250px;object-fit:cover;border-radius:15px;transition:all 0.3s ease;box-shadow:0 10px 25px rgba(0,0,0,0.1)} .gallery-img:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,0.2)} .service-contact-cta{padding:80px 0;background:var(--gradient);text-align:center;position:relative;overflow:hidden} .service-contact-cta::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(255,255,255,0.1),transparent);animation:cta-pulse 3s ease-in-out infinite} @keyframes cta-pulse{0%,100%{opacity:1} 50%{opacity:0.7} } .service-contact-cta h2{font-size:2.5rem;color:var(--white);margin-bottom:30px;font-weight:700;position:relative;z-index:2} .cta-subtitle{font-size:1.2rem;color:rgba(255,255,255,0.9);margin-bottom:40px;position:relative;z-index:2} .cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2} .renovation-benefits{margin:40px 0;padding:35px;background:linear-gradient(135deg,var(--light-gray),rgba(49,130,206,0.05));border-radius:20px;border-left:5px solid var(--orange)} .renovation-benefits h3{font-size:1.8rem;color:var(--primary);margin-bottom:25px;font-weight:700} .renovation-process{margin:50px 0} .renovation-process h3{font-size:1.8rem;color:var(--primary);margin-bottom:30px;font-weight:700} .process-steps{display:grid;gap:25px} .process-step{display:flex;align-items:center;gap:25px;padding:25px;background:var(--white);border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,0.1);transition:all 0.3s ease;border:2px solid transparent} .process-step:hover{transform:translateX(10px);border-color:var(--orange);box-shadow:0 10px 25px rgba(237,137,54,0.2)} .step-number{background:var(--gradient);color:var(--white);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0} .step-content h4{font-size:1.3rem;color:var(--primary);margin-bottom:8px;font-weight:600} .step-content p{color:var(--text-light);font-size:1rem;line-height:1.5} .materials-section{margin:50px 0;padding:40px;background:var(--light-gray);border-radius:20px} .materials-section h3{font-size:1.8rem;color:var(--primary);margin-bottom:30px;font-weight:700;text-align:center} .materials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px} .material-card{background:var(--white);padding:25px;border-radius:15px;text-align:center;transition:all 0.3s ease;border:2px solid transparent;box-shadow:0 5px 15px rgba(0,0,0,0.1)} .material-card:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:0 15px 30px rgba(237,137,54,0.2)} .material-icon{font-size:3rem;margin-bottom:15px} .material-card h4{font-size:1.2rem;color:var(--primary);margin-bottom:10px;font-weight:600} .material-card p{color:var(--text-light);font-size:0.95rem;line-height:1.4} .intervention-zones-list{margin:15px 0} .zone-item{padding:10px 0;font-size:0.95rem;color:var(--text-dark);border-bottom:1px solid rgba(49,130,206,0.1);transition:all 0.3s ease} .zone-item:hover{color:var(--orange);padding-left:10px} .zone-cta-small{margin-top:20px;text-align:center} .btn-small{background:var(--gradient);color:var(--white);padding:10px 20px;border-radius:15px;text-decoration:none;font-size:0.9rem;font-weight:600;transition:all 0.3s ease;display:inline-block} .btn-small:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(49,130,206,0.3)} .quick-contact{margin:15px 0} .contact-item{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid rgba(49,130,206,0.1)} .contact-item:last-child{border-bottom:none} .contact-icon{font-size:1.2rem;width:30px;text-align:center} .contact-item strong{display:block;color:var(--orange);font-size:0.9rem;margin-bottom:3px} .contact-item a{color:var(--orange);text-decoration:none;font-weight:600;font-size:0.95rem} .contact-item span{color:var(--text-light);font-size:0.9rem} .highlight-block{background:linear-gradient(135deg,var(--orange),#dd7d1f);color:var(--white);border-radius:20px;position:relative;overflow:hidden} .highlight-block::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent);animation:highlight-shine 3s linear infinite} @keyframes highlight-shine{0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} } .highlight-block h3{color:var(--white) !important;margin-bottom:20px;position:relative;z-index:2} .offer-content{text-align:center;position:relative;z-index:2} .offer-title{font-size:1.8rem;font-weight:700;margin-bottom:8px} .offer-subtitle{font-size:1rem;margin-bottom:10px;opacity:0.9} .offer-condition{font-size:0.85rem;margin-bottom:20px;opacity:0.8} .offer-btn{background:var(--white);color:var(--orange);padding:12px 25px;border-radius:20px;text-decoration:none;font-weight:700;transition:all 0.3s ease;display:inline-block} .offer-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(255,255,255,0.3)} .gallery-item{position:relative;overflow:hidden;border-radius:15px} .gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.8));color:var(--white);padding:20px;transform:translateY(100%);transition:transform 0.3s ease} .gallery-item:hover .gallery-overlay{transform:translateY(0)} .gallery-overlay h4{font-size:1.1rem;margin-bottom:8px;font-weight:600} .gallery-overlay p{font-size:0.9rem;opacity:0.9} .testimonials-section{padding:80px 0;background:var(--light-gray)} .testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-top:50px} .testimonial-card{background:var(--white);padding:30px;border-radius:20px;box-shadow:0 10px 25px rgba(0,0,0,0.1);transition:all 0.3s ease;border:2px solid transparent} .testimonial-card:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:0 20px 40px rgba(237,137,54,0.2)} .testimonial-rating{font-size:1.2rem;margin-bottom:15px;color:#ffd700} .testimonial-text{font-style:italic;color:var(--text-dark);line-height:1.6;margin-bottom:20px;font-size:1rem} .testimonial-author{color:var(--primary);font-weight:600;font-size:1rem} .faq-section{padding:80px 0;background:var(--white)} .faq-grid{max-width:800px;margin:50px auto 0} .faq-item{border:2px solid rgba(49,130,206,0.1);border-radius:15px;margin-bottom:15px;overflow:hidden;transition:all 0.3s ease} .faq-item:hover{border-color:var(--orange)} .faq-question{padding:25px;background:var(--light-gray);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all 0.3s ease} .faq-question:hover{background:rgba(237,137,54,0.05)} .faq-question h4{font-size:1.1rem;color:var(--primary);margin:0;font-weight:600} .faq-toggle{font-size:1.5rem;color:var(--orange);font-weight:bold;transition:transform 0.3s ease} .faq-item.active .faq-toggle{transform:rotate(45deg)} .faq-answer{padding:0 25px;background:var(--white);max-height:0;overflow:hidden;transition:all 0.3s ease} .faq-item.active .faq-answer{padding:25px;max-height:200px} .faq-answer p{color:var(--text-light);line-height:1.6;margin:0} @media (max-width:1024px){.service-grid{grid-template-columns:1fr;gap:40px} .service-aside{position:static;order:-1} .materials-grid{grid-template-columns:repeat(2,1fr)} .gallery-grid{grid-template-columns:repeat(2,1fr)} } @media (max-width:768px){.service-title{font-size:2.5rem} .service-subtitle{font-size:1.2rem} .service-main h2{font-size:2rem} .materials-grid{grid-template-columns:1fr} .gallery-grid{grid-template-columns:1fr} .testimonials-grid{grid-template-columns:1fr} .process-step{flex-direction:column;text-align:center;gap:15px} .cta-buttons{flex-direction:column;align-items:center} .mega-btn{width:100%;max-width:300px;text-align:center} } @media (max-width:480px){.service-hero{min-height:50vh} .service-title{font-size:2rem} .service-content{padding:60px 0} .service-gallery{padding:60px 0} .testimonials-section{padding:60px 0} .faq-section{padding:60px 0} .service-contact-cta{padding:60px 0} .service-main p{font-size:1.1rem} .process-steps{gap:20px} } .fade-in-up{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease} .fade-in-up.visible{opacity:1;transform:translateY(0)} .fade-in-left{opacity:0;transform:translateX(-30px);transition:opacity 0.6s ease,transform 0.6s ease} .fade-in-left.visible{opacity:1;transform:translateX(0)} .fade-in-right{opacity:0;transform:translateX(30px);transition:opacity 0.6s ease,transform 0.6s ease} .fade-in-right.visible{opacity:1;transform:translateX(0)} .scale-in{opacity:0;transform:scale(0.8);transition:opacity 0.6s ease,transform 0.6s ease} .scale-in.visible{opacity:1;transform:scale(1)} .stats-counter{font-size:2.5rem;font-weight:700;color:var(--orange);display:block} .progress-bar{width:100%;height:8px;background:rgba(49,130,206,0.1);border-radius:4px;overflow:hidden;margin:15px 0} .progress-fill{height:100%;background:linear-gradient(90deg,var(--orange),var(--primary));border-radius:4px;width:0%;transition:width 2s ease} .progress-fill.animate{width:var(--progress-width,100%)} .floating-action{position:fixed;bottom:30px;right:30px;z-index:1000} .floating-btn{background:var(--gradient);color:var(--white);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;text-decoration:none;box-shadow:0 8px 25px rgba(26,54,93,0.4);transition:all 0.3s ease} .floating-btn:hover{transform:scale(1.1);box-shadow:0 12px 35px rgba(26,54,93,0.6)} .toast{position:fixed;top:100px;right:20px;background:var(--white);border-left:4px solid var(--orange);padding:20px;border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,0.15);transform:translateX(400px);transition:transform 0.3s ease;z-index:1001;max-width:300px} .toast.show{transform:translateX(0)} .toast-title{font-weight:600;color:var(--primary);margin-bottom:5px} .toast-message{color:var(--text-light);font-size:0.9rem} .stats-section{margin:50px 0;padding:40px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:20px;color:var(--white);text-align:center} .stats-section h3{font-size:1.8rem;margin-bottom:30px;font-weight:700;color:var(--white)} .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-top:30px} .stat-item{text-align:center} .stat-label{font-size:1rem;margin:10px 0;color:white} @media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px} .stats-counter{font-size:2rem} } @media (max-width:480px){.stats-grid{grid-template-columns:1fr} } .intervention-zones{padding:120px 0;background:linear-gradient(135deg,var(--light-gray) 0%,#f0f9ff 100%);position:relative;overflow:hidden} .intervention-zones::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 15% 85%,rgba(49,130,206,0.05) 0%,transparent 50%),radial-gradient(circle at 85% 15%,rgba(237,137,54,0.05) 0%,transparent 50%);pointer-events:none} .zones-interactive-map{position:relative;z-index:2} .belgium-regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:40px;margin-bottom:80px} .region-card{background:var(--white);border-radius:25px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,0.08);transition:all 0.4s cubic-bezier(0.165,0.84,0.44,1);border:1px solid rgba(49,130,206,0.1);position:relative} .region-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--primary),var(--accent),var(--orange));opacity:0;transition:opacity 0.3s ease} .region-card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(0,0,0,0.15)} .region-card:hover::before{opacity:1} .region-card.brussels-capital:hover::before{background:linear-gradient(90deg,#ffd700,var(--orange),#ff6b6b)} .region-card.brabant-wallon:hover::before{background:linear-gradient(90deg,var(--orange),#4ecdc4,var(--primary))} .region-card.antwerp:hover::before{background:linear-gradient(90deg,var(--primary),var(--accent),#9b59b6)} .region-card.east-flanders:hover::before{background:linear-gradient(90deg,#2ecc71,var(--accent),var(--orange))} .region-header{padding:35px 30px 25px;background:linear-gradient(135deg,var(--gradient),rgba(255,255,255,0.1));color:var(--white);display:flex;align-items:center;gap:20px;position:relative;overflow:hidden} .region-header::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent);animation:region-shimmer 4s linear infinite} @keyframes region-shimmer{0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} } .region-icon{font-size:4rem;filter:drop-shadow(0 0 15px rgba(255,255,255,0.5));animation:region-icon-pulse 3s ease-in-out infinite;position:relative;z-index:2} @keyframes region-icon-pulse{0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} } .region-info{flex:1;position:relative;z-index:2} .region-info h3{font-size:1.8rem;font-weight:700;margin-bottom:8px;text-shadow:0 2px 10px rgba(0,0,0,0.3);color:var(--primary)} .region-subtitle{font-size:1rem;opacity:0.9;margin-bottom:15px} .response-time{background:rgba(237,137,54,0.9);color:var(--white);padding:6px 15px;border-radius:20px;font-size:0.9rem;font-weight:600;display:inline-block;animation:response-glow 2s ease-in-out infinite} @keyframes response-glow{0%,100%{box-shadow:0 0 5px rgba(237,137,54,0.5)} 50%{box-shadow:0 0 20px rgba(237,137,54,0.8)} } .region-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 30px;background:rgba(49,130,206,0.02);border-bottom:1px solid rgba(49,130,206,0.1)} .stat-box{text-align:center;padding:20px 15px;background:var(--white);border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,0.05);transition:all 0.3s ease;border:1px solid rgba(49,130,206,0.05)} .stat-box:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,0.1);border-color:var(--orange)} .stat-number{display:block;font-size:1.8rem;font-weight:800;color:var(--orange);margin-bottom:5px;text-shadow:0 2px 5px rgba(237,137,54,0.2)} .stat-label{font-size:0.85rem;color:white;font-weight:600;text-transform:uppercase;letter-spacing:0.5px} .communes-detailed{padding:30px} .communes-detailed h4{color:var(--primary);font-size:1.2rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:10px} .communes-grid-detailed{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:25px} .commune-link{background:var(--light-gray);color:var(--primary);text-decoration:none;padding:12px 15px;border-radius:12px;font-weight:500;font-size:0.95rem;transition:all 0.3s ease;border:2px solid transparent;text-align:center;position:relative;overflow:hidden} .commune-link::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(237,137,54,0.1),transparent);transition:left 0.6s ease} .commune-link:hover::before{left:100%} .commune-link:hover{background:rgba(237,137,54,0.1);border-color:var(--orange);color:var(--orange);transform:translateY(-2px);box-shadow:0 8px 20px rgba(237,137,54,0.2)} .commune-link.premium{background:linear-gradient(135deg,rgba(237,137,54,0.1),rgba(49,130,206,0.1));border-color:var(--orange);font-weight:600;position:relative} .commune-link.premium::after{content:'⭐';position:absolute;top:5px;right:8px;font-size:0.8rem;animation:star-twinkle 2s ease-in-out infinite} @keyframes star-twinkle{0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.7;transform:scale(1.2)} } .commune-link.premium:hover{background:linear-gradient(135deg,rgba(237,137,54,0.2),rgba(49,130,206,0.2));transform:translateY(-3px) scale(1.02)} .region-cta{padding:25px 30px;background:linear-gradient(135deg,rgba(26,54,93,0.02),rgba(49,130,206,0.02));text-align:center;border-top:1px solid rgba(49,130,206,0.1)} .btn-region{background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--white);padding:15px 30px;border-radius:25px;text-decoration:none;font-weight:700;font-size:1.1rem;transition:all 0.3s ease;display:inline-block;box-shadow:0 8px 25px rgba(49,130,206,0.3);position:relative;overflow:hidden} .btn-region::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.6s ease} .btn-region:hover::before{left:100%} .btn-region:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 35px rgba(49,130,206,0.4)} .zones-cta-global{background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--white);padding:60px 40px;border-radius:25px;text-align:center;position:relative;overflow:hidden;margin-top:40px} .zones-cta-global::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent,rgba(237,137,54,0.1),transparent);animation:global-cta-shimmer 6s linear infinite} @keyframes global-cta-shimmer{0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} } .zones-cta-global h3{font-size:2.5rem;font-weight:800;margin-bottom:20px;text-shadow:0 3px 10px rgba(0,0,0,0.3);position:relative;z-index:2} .zones-cta-global p{font-size:1.3rem;margin-bottom:40px;opacity:0.95;position:relative;z-index:2} .global-cta-buttons{display:flex;gap:25px;justify-content:center;position:relative;z-index:2} .global-cta-buttons .btn-primary,.global-cta-buttons .btn-secondary{padding:18px 35px;font-size:1.2rem;border-radius:30px;font-weight:700;transition:all 0.3s ease;text-transform:uppercase;letter-spacing:1px} .global-cta-buttons .btn-primary{background:var(--orange);border:2px solid var(--orange)} .global-cta-buttons .btn-secondary{background:transparent;border:2px solid var(--white);color:var(--white)} .global-cta-buttons .btn-secondary:hover{background:var(--white);color:var(--primary)} @media (max-width:768px){.belgium-regions{grid-template-columns:1fr;gap:25px} .region-header{flex-direction:column;text-align:center;gap:15px;padding:25px 20px} .region-icon{font-size:3rem} .region-stats{grid-template-columns:1fr;gap:15px;padding:20px} .communes-grid-detailed{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px} .commune-link{padding:10px 12px;font-size:0.9rem} .zones-cta-global{padding:40px 20px;margin-top:30px} .zones-cta-global h3{font-size:2rem} .zones-cta-global p{font-size:1.1rem} .global-cta-buttons{flex-direction:column;gap:15px} .global-cta-buttons .btn-primary,.global-cta-buttons .btn-secondary{padding:15px 25px;font-size:1rem} } .contact{padding:100px 0;background:var(--gradient);color:var(--white)} .contact-container{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center} .contact-info h2{font-size:2.5rem;margin-bottom:20px} .contact-info p{font-size:1.2rem;margin-bottom:30px;opacity:0.9} .contact-details{display:flex;flex-direction:column;gap:20px} .contact-item{display:flex;align-items:center;gap:15px;font-size:1.1rem} .contact-item .icon{width:40px;height:40px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center} .contact-form{background:rgba(255,255,255,0.1);padding:40px;border-radius:15px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2)} .form-group{margin-bottom:20px} .form-group label{display:block;margin-bottom:8px;font-weight:500} .form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 15px;border:1px solid rgba(255,255,255,0.3);border-radius:8px;background:rgba(255,255,255,0.1);color:var(--text-dark);font-size:1rem} .form-group input::placeholder,.form-group textarea::placeholder{color:rgba(45,55,72,0.6)} .form-group textarea{height:120px;resize:vertical} .submit-btn{background:var(--orange);color:var(--white);padding:15px 30px;border:none;border-radius:8px;font-size:1rem;font-weight:bold;cursor:pointer;transition:all 0.3s ease;width:100%} .submit-btn:hover{background:#dd7d1f;transform:translateY(-2px)} .footer{background:linear-gradient(135deg,var(--secondary) 0%,var(--primary) 100%);color:var(--white);padding:80px 0 0;position:relative;overflow:hidden} .footer::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(237,137,54,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(49,130,206,0.08) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0.02) 0%,transparent 70%);animation:footer-ambiance 12s ease-in-out infinite;pointer-events:none} .footer::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--orange) 50%,transparent 100%);opacity:0.6} @keyframes footer-ambiance{0%,100%{background:radial-gradient(circle at 20% 80%,rgba(237,137,54,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(49,130,206,0.08) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0.02) 0%,transparent 70%)} 50%{background:radial-gradient(circle at 25% 75%,rgba(237,137,54,0.12) 0%,transparent 55%),radial-gradient(circle at 75% 25%,rgba(49,130,206,0.12) 0%,transparent 55%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0.04) 0%,transparent 75%)} } .footer-main{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 20px 60px;animation:footer-entrance 1.2s ease-out} @keyframes footer-entrance{from{opacity:0;transform:translateY(50px)} to{opacity:1;transform:translateY(0)} } .footer-container{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px} .footer-brand{padding-right:20px;animation:brand-float 4s ease-in-out infinite} @keyframes brand-float{0%,100%{transform:translateY(0px)} 50%{transform:translateY(-2px)} } .footer-logo{display:flex;align-items:center;gap:15px;margin-bottom:25px;font-size:1.8rem;font-weight:bold;color:var(--white);text-decoration:none;transition:all 0.3s ease} .footer-logo:hover{transform:scale(1.02);filter:drop-shadow(0 0 12px rgba(237,137,54,0.4))} .footer-logo-icon{font-size:2.5rem;filter:drop-shadow(0 0 15px rgba(237,137,54,0.8));animation:logo-pulse 2s ease-in-out infinite} @keyframes logo-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 8px rgba(237,137,54,0.6))} 50%{transform:scale(1.03);filter:drop-shadow(0 0 12px rgba(237,137,54,0.8))} } .footer-logo-text{background:linear-gradient(45deg,var(--white),var(--orange),var(--white));background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 3s ease-in-out infinite} .footer-description{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,0.9);margin-bottom:30px;animation:text-glow 4s ease-in-out infinite} @keyframes text-glow{0%,100%{text-shadow:0 0 2px rgba(255,255,255,0.2)} 50%{text-shadow:0 0 8px rgba(255,255,255,0.3)} } .footer-certifications{display:flex;flex-direction:column;gap:15px} .certification-item{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,0.1);padding:12px 15px;border-radius:25px;border:1px solid rgba(255,255,255,0.2);transition:all 0.4s ease;position:relative;overflow:hidden} .certification-item::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(237,137,54,0.3),transparent);transition:left 0.8s ease} .certification-item:hover{background:rgba(237,137,54,0.15);border-color:rgba(237,137,54,0.4);transform:translateX(5px) scale(1.01);box-shadow:0 4px 15px rgba(237,137,54,0.2)} .certification-item:hover::before{left:100%} .certification-icon{font-size:1.3rem;color:var(--orange);animation:icon-spin 8s linear infinite} @keyframes icon-spin{0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} } .certification-text{font-size:0.95rem;font-weight:500} .footer-section{position:relative;animation:section-slide-in 1s ease-out} .footer-section:nth-child(2){animation-delay:0.2s} .footer-section:nth-child(3){animation-delay:0.4s} .footer-section:nth-child(4){animation-delay:0.6s} .footer-section:nth-child(5){animation-delay:0.8s} @keyframes section-slide-in{from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} } .footer-section h3{color:var(--orange);margin-bottom:25px;font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:10px;position:relative;padding-bottom:10px;animation:title-electric 2s ease-in-out infinite} @keyframes title-electric{0%,100%{text-shadow:0 0 3px rgba(237,137,54,0.6)} 50%{text-shadow:0 0 8px rgba(237,137,54,0.8)} } .footer-section h3::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--white));border-radius:2px;animation:underline-grow 2s ease-in-out infinite} @keyframes underline-grow{0%,100%{width:40px} 50%{width:60px} } .footer-section h3 .section-icon{font-size:1.2rem;animation:icon-bounce 2s ease-in-out infinite} @keyframes icon-bounce{0%,20%,50%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-5px)} 60%{transform:translateY(-3px)} } .footer-links{list-style:none;padding:0;margin:0} .footer-links li{margin-bottom:12px;opacity:0;animation:link-appear 0.6s ease-out forwards} .footer-links li:nth-child(1){animation-delay:0.1s} .footer-links li:nth-child(2){animation-delay:0.2s} .footer-links li:nth-child(3){animation-delay:0.3s} .footer-links li:nth-child(4){animation-delay:0.4s} .footer-links li:nth-child(5){animation-delay:0.5s} .footer-links li:nth-child(6){animation-delay:0.6s} .footer-links li:nth-child(7){animation-delay:0.7s} .footer-links li:nth-child(8){animation-delay:0.8s} .footer-links li:nth-child(9){animation-delay:0.9s} .footer-links li:nth-child(10){animation-delay:1.0s} .footer-links li:nth-child(11){animation-delay:1.1s} .footer-links li:nth-child(12){animation-delay:1.2s} @keyframes link-appear{from{opacity:0;transform:translateX(-20px)} to{opacity:1;transform:translateX(0)} } .footer-links a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:1rem;transition:all 0.4s ease;display:flex;align-items:center;gap:8px;padding:8px 0;position:relative;overflow:hidden} .footer-links a::before{content:'▶';font-size:0.7rem;color:var(--orange);opacity:0;transform:translateX(-15px);transition:all 0.4s ease} .footer-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--orange),var(--white));transition:width 0.4s ease} .footer-links a:hover{color:var(--orange);transform:translateX(8px);text-shadow:0 0 5px rgba(237,137,54,0.3)} .footer-links a:hover::before{opacity:1;transform:translateX(0)} .footer-links a:hover::after{width:100%} .contact-item{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,0.1);transition:all 0.3s ease;position:relative} .contact-item:last-child{border-bottom:none} .contact-item:hover{background:rgba(255,255,255,0.05);border-radius:10px;padding:15px 10px;transform:scale(1.02)} .contact-icon{font-size:1.4rem;color:var(--orange);width:45px;height:45px;background:rgba(237,137,54,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(237,137,54,0.3);animation:icon-pulse 2s ease-in-out infinite} @keyframes icon-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(237,137,54,0.2)} 50%{transform:scale(1.02);box-shadow:0 0 0 5px rgba(237,137,54,0)} } .contact-details h4{color:var(--white);font-size:1.1rem;margin:0 0 5px 0;font-weight:600} .contact-details p{color:rgba(255,255,255,0.8);margin:0;font-size:0.95rem;line-height:1.4} .contact-details a{color:var(--white);text-decoration:none;font-weight:500;transition:color 0.3s ease} .contact-details a:hover{color:var(--orange)} .contact-value{font-size:1.1rem !important;font-weight:600 !important;color:var(--white) !important} .contact-value a{color:var(--white) !important;font-weight:600 !important} .contact-schedule{font-size:0.85rem !important;color:rgba(255,255,255,0.6) !important;margin-top:3px !important} .social-links{display:flex;gap:15px;margin-top:20px} .social-link{width:45px;height:45px;background:rgba(255,255,255,0.1);border:2px solid rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);text-decoration:none;font-size:1.3rem;transition:all 0.4s ease;position:relative;overflow:hidden} .social-link::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--orange);border-radius:50%;transform:scale(0);transition:transform 0.4s ease;z-index:-1} .social-link:hover::before{transform:scale(1)} .social-link:hover{border-color:var(--orange);transform:translateY(-3px) rotate(5deg);box-shadow:0 6px 15px rgba(237,137,54,0.3)} .footer-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);margin:50px 0 30px;position:relative} .footer-divider::before{content:'';position:absolute;top:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:0;animation:divider-glow 4s ease-in-out infinite} @keyframes divider-glow{0%,100%{opacity:0;transform:scaleX(0.3)} 50%{opacity:0.6;transform:scaleX(0.8)} } .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:30px 0;border-top:1px solid rgba(255,255,255,0.1);position:relative;z-index:2} .footer-legal{display:flex;gap:20px;flex-wrap:wrap} .footer-legal a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:0.9rem;transition:color 0.3s ease;position:relative} .footer-legal a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--orange);transition:width 0.3s ease} .footer-legal a:hover{color:var(--orange)} .footer-legal a:hover::after{width:100%} .footer-copyright{text-align:center;color:rgba(255,255,255,0.6);font-size:0.9rem} .footer-badges{display:flex;align-items:center;gap:15px;justify-content:flex-end} .footer-badge{background:rgba(255,255,255,0.1);padding:8px 15px;border-radius:20px;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.8);font-size:0.85rem;font-weight:600;display:flex;align-items:center;gap:8px} .badge-icon{font-size:1rem;color:var(--orange)} @media (max-width:768px){.mobile-menu-toggle{display:block;z-index:1001} .nav-menu{position:absolute;top:100%;left:0;right:0;background:var(--primary);flex-direction:column;padding:0;margin:0;transform:translateY(-100%);transition:all 0.3s ease;opacity:0;visibility:hidden;box-shadow:0 10px 25px rgba(0,0,0,0.2);border-radius:0 0 15px 15px;max-height:0;overflow:hidden} .nav-menu.active{transform:translateY(0);opacity:1;visibility:visible;max-height:400px} .nav-menu li{border-bottom:1px solid rgba(255,255,255,0.1)} .nav-menu li:last-child{border-bottom:none} .nav-menu a{display:block;padding:15px 20px;font-size:1.1rem;text-align:left} .nav-menu a:hover{background:rgba(255,255,255,0.1);transform:none} .nav-menu a::after{display:none} .mega-menu{position:static;opacity:1;visibility:visible;transform:none;background:rgba(26,54,93,0.95);border-radius:0;box-shadow:none;min-width:auto;margin:0;border:none;max-height:0;overflow:hidden;transition:max-height 0.3s ease} .mega-menu::before{display:none} .mega-menu-item.active .mega-menu{max-height:60vh;overflow-y:auto;overflow-x:hidden} .mega-menu-content{grid-template-columns:1fr;gap:0;padding:15px 0} .mega-menu-section{padding:15px 20px;border-right:none;border-bottom:1px solid rgba(255,255,255,0.1)} .mega-menu-section:last-child{border-bottom:none} .mega-menu-section:hover{background:rgba(255,255,255,0.05)} .mega-menu-section h4{color:var(--orange);font-size:1rem;margin-bottom:10px;border-bottom:2px solid var(--orange);padding-bottom:8px} .mega-menu-section a{color:rgba(255,255,255,0.9) !important;font-size:0.9rem;padding:8px 15px;margin-bottom:2px} .mega-menu-section a:hover{color:var(--orange) !important;background:rgba(255,255,255,0.1);transform:translateX(5px)} .zones-cta{background:rgba(237,137,54,0.2);padding:15px} .zones-cta a{padding:12px 25px;font-size:0.95rem} .nav-container{height:70px;padding:0 15px} .logo{font-size:1.4rem} .logo-text{animation:none} .header-contact{gap:10px} .phone-number{display:none} .btn-urgence{padding:8px 15px;font-size:0.85rem;border-radius:20px} .header-right{gap:10px} .cta-button{padding:8px 16px;font-size:0.85rem} .hero-container{grid-template-columns:1fr;text-align:center;gap:30px;padding:40px 15px} .hero-content h1{font-size:2.2rem} .hero-buttons{flex-direction:column;gap:15px} .btn-primary,.btn-secondary{text-align:center} .hero-cta{flex-direction:column;gap:15px;align-items:flex-start} .hero-image{height:250px;font-size:5rem} .hero-image::after{font-size:5rem} .mobile-phone{position:fixed;bottom:20px;right:20px;z-index:1000;background:var(--orange);color:var(--white);padding:15px;border-radius:50%;box-shadow:0 4px 20px rgba(237,137,54,0.4);text-decoration:none;font-size:1.5rem;animation:pulse 2s infinite;display:block} .hero-image{height:250px;font-size:5rem} .section-title h2{font-size:2rem} .features-grid{grid-template-columns:1fr;gap:25px} .services-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px} .zones-grid{grid-template-columns:1fr;gap:30px} .communes-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px} .commune-item{padding:10px 6px} .commune-item a{font-size:0.8rem} .zone-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px} .contact-container{grid-template-columns:1fr;gap:40px} .footer-container{grid-template-columns:1fr;gap:40px;text-align:center} .footer-brand{padding-right:0;text-align:center} .footer-logo{justify-content:center} .footer-certifications{align-items:center} .certification-item{justify-content:center;max-width:300px;margin:0 auto} .social-links{justify-content:center} .footer-bottom{grid-template-columns:1fr;text-align:center;gap:20px} .footer-legal{justify-content:center} .footer-badges{justify-content:center;flex-wrap:wrap} .contact-item{flex-direction:column;text-align:center;align-items:center} } @media (min-width:1400px){.container,.features-container{max-width:1300px} .features-grid{grid-template-columns:repeat(3,1fr);max-width:1200px;gap:60px} .services-grid{grid-template-columns:repeat(4,1fr);max-width:1200px;gap:50px} .section-title h2{font-size:3.2rem} .section-title p{font-size:1.3rem;max-width:800px} } @media (min-width:1600px){.features{padding:150px 0} .services{padding:150px 0} .section-title{margin-bottom:100px;padding-top:30px} } .breadcrumb{background:var(--light-gray);padding:15px 0;border-bottom:1px solid rgba(26,54,93,0.1);position:relative;z-index:10} .breadcrumb-nav{font-size:0.9rem} .breadcrumb-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:4px} .breadcrumb-item{display:flex;align-items:center;gap:4px} .breadcrumb-link{color:var(--primary);text-decoration:none;font-weight:500;font-size:0.9rem;padding:4px 8px;border-radius:6px;transition:all 0.3s ease;position:relative} .breadcrumb-link:hover{color:var(--orange);background:rgba(237,137,54,0.1);transform:translateY(-1px)} .breadcrumb-current{color:var(--text-dark);font-weight:600;font-size:0.9rem;padding:4px 8px;background:rgba(26,54,93,0.05);border-radius:6px} .breadcrumb-separator{color:var(--text-light);margin:0 4px;display:flex;align-items:center} .breadcrumb-separator svg{width:6px;height:10px} @media (max-width:768px){.breadcrumb{padding:12px 0} .breadcrumb-list{gap:2px} .breadcrumb-link,.breadcrumb-current{font-size:0.8rem;padding:3px 6px} .breadcrumb-separator{margin:0 2px} } .breadcrumb.dark{background:var(--primary);border-bottom-color:rgba(255,255,255,0.1)} .breadcrumb.dark .breadcrumb-link{color:var(--white)} .breadcrumb.dark .breadcrumb-link:hover{color:var(--orange);background:rgba(255,255,255,0.1)} .breadcrumb.dark .breadcrumb-current{color:var(--white);background:rgba(255,255,255,0.1)} .breadcrumb.dark .breadcrumb-separator{color:rgba(255,255,255,0.7)} .regional-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);color:var(--white);padding:100px 0 80px;position:relative;overflow:hidden} .regional-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0,20 L100,0 L100,80 L0,100 Z" fill="rgba(255,255,255,0.05)"/></svg>');background-size:cover} .regional-hero .hero-content{position:relative;z-index:2} .regional-hero h1{font-size:3.2rem;font-weight:700;margin-bottom:15px;text-shadow:0 2px 10px rgba(0,0,0,0.3)} .regional-hero h2{font-size:1.5rem;font-weight:400;margin-bottom:25px;opacity:0.9} .hero-features{display:flex;gap:30px;margin:30px 0;flex-wrap:wrap} .hero-feature{display:flex;align-items:center;gap:10px} .feature-item{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);border-radius:15px;padding:15px 20px;border:1px solid rgba(255,255,255,0.2);transition:all 0.3s ease} .feature-item:hover{background:rgba(255,255,255,0.25);transform:translateY(-2px)} .feature-icon{font-size:1.5rem;color:var(--orange)} .regional-services{background:var(--white)} .service-card.premium{background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);color:var(--white);transform:scale(1.05)} .service-card.premium .icon{background:rgba(255,255,255,0.2);color:var(--white);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px} .service-card.premium h3{color:var(--white) !important;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,0.3)} .service-card.premium p{color:rgba(255,255,255,0.95) !important;text-shadow:0 1px 2px rgba(0,0,0,0.2);font-weight:500} .service-card.premium .service-list li{color:rgba(255,255,255,0.9) !important;text-shadow:0 1px 2px rgba(0,0,0,0.2);font-weight:500} .service-card.premium .service-list li::before{color:var(--white) !important;text-shadow:0 1px 2px rgba(0,0,0,0.3);font-weight:bold} .service-list{list-style:none;padding:0;margin:15px 0 0 0} .service-list li{padding:5px 0;padding-left:20px;position:relative} .service-list li::before{content:'✓';position:absolute;left:0;color:var(--white);font-weight:bold} .communes{background:var(--light-gray);padding:120px 0} .communes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin-top:60px} .commune-card{background:var(--white);padding:25px 20px;border-radius:15px;text-align:center;transition:all 0.3s ease;border:2px solid transparent;box-shadow:0 5px 15px rgba(0,0,0,0.08)} .commune-card:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:0 15px 30px rgba(237,137,54,0.15)} .commune-card.featured{border-color:var(--primary);background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);color:var(--white);box-shadow:0 8px 25px rgba(49,130,206,0.3)} .commune-card h3{font-size:1.3rem;margin-bottom:10px;color:var(--primary)} .commune-card.featured h3{color:var(--white);text-shadow:0 2px 4px rgba(0,0,0,0.3);font-weight:700} .commune-card p{font-size:0.9rem;color:var(--text-light);margin-bottom:15px} .commune-card.featured p{color:rgba(255,255,255,0.95);text-shadow:0 1px 2px rgba(0,0,0,0.2);font-weight:500} .commune-info{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(49,130,206,0.1);padding-top:15px} .commune-card.featured .commune-info{border-color:rgba(255,255,255,0.2)} .postal-code{font-size:0.85rem;font-weight:600;color:var(--orange);background:rgba(237,137,54,0.1);padding:4px 8px;border-radius:12px} .commune-card.featured .postal-code{background:rgba(255,255,255,0.2);color:var(--white)} .commune-link{font-size:0.85rem;color:var(--primary);text-decoration:none;font-weight:500;transition:color 0.3s ease} .commune-link:hover{color:var(--orange)} .commune-card.featured .commune-link{color:var(--white);background:rgba(255,255,255,0.2);padding:8px 16px;border-radius:20px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,0.2);transition:all 0.3s ease} .commune-card.featured .commune-link:hover{background:rgba(255,255,255,0.3);transform:translateY(-1px)} .administrative-services{background:var(--white);padding:120px 0} .admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-top:60px} .admin-card{background:var(--light-gray);border-radius:20px;overflow:hidden;transition:all 0.3s ease;border:2px solid transparent} .admin-card:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:0 20px 40px rgba(49,130,206,0.15)} .admin-header{background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);color:var(--white);padding:25px;display:flex;align-items:center;gap:15px} .admin-icon{font-size:2rem;background:rgba(255,255,255,0.2);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center} .admin-header h3{margin:0;font-size:1.4rem;color:var(--white) !important;text-shadow:0 2px 4px rgba(0,0,0,0.3);font-weight:700} .admin-content{padding:25px} .admin-content h4{color:var(--primary);margin:0 0 15px 0;font-size:1.1rem} .admin-content ul{list-style:none;padding:0;margin:0 0 20px 0} .admin-content li{padding:8px 0;padding-left:25px;position:relative;border-bottom:1px solid rgba(49,130,206,0.1)} .admin-content li:last-child{border-bottom:none} .admin-content li::before{content:'→';position:absolute;left:0;color:var(--orange);font-weight:bold} .admin-note{background:rgba(49,130,206,0.05);padding:15px;border-radius:10px;border-left:4px solid var(--primary);margin:0;font-size:0.9rem} .regional-contact{background:var(--light-gray);margin-top:80px} .regional-contact .contact-container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:flex-start;max-width:1200px;margin:0 auto;padding:0 20px} .contact-info h3{font-size:2rem;color:var(--primary);margin-bottom:25px} .contact-details{flex:1} .contact-text{flex:1} .contact-text strong{color:var(--primary);display:block;margin-bottom:5px;font-size:1.1rem} .contact-text p{margin:0 0 5px 0;color:var(--text-dark);font-size:1rem} .contact-text a{color:var(--primary);text-decoration:none;font-weight:500} .contact-text a:hover{color:var(--orange);text-decoration:underline} .contact-text small{color:var(--text-light);font-size:0.9rem} .contact-form-container{background:var(--white);padding:40px;border-radius:20px;box-shadow:0 15px 35px rgba(0,0,0,0.1);border:1px solid rgba(49,130,206,0.1)} .contact-form .form-group{margin-bottom:20px} .contact-form .form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--orange)} .contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:15px;border:2px solid rgba(49,130,206,0.1);border-radius:10px;background:var(--white);color:var(--text-dark);font-size:1rem;transition:all 0.3s ease;box-sizing:border-box} .contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(49,130,206,0.1)} .contact-form textarea{resize:vertical;min-height:120px} .contact-form .submit-btn{background:var(--gradient);color:var(--white);padding:15px 30px;border:none;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;gap:10px;width:100%} .contact-form .submit-btn:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(49,130,206,0.3)} .submit-btn .btn-icon{font-size:1.2rem} .emergency-banner{background:linear-gradient(135deg,#dc3545 0%,#fd7e14 100%);color:var(--white);padding:20px;border-radius:15px;text-align:center;margin-top:30px} .emergency-banner h4{margin:0 0 10px 0;font-size:1.2rem} .emergency-banner p{margin:0 0 15px 0;opacity:0.9} .emergency-btn{background:var(--white);color:#dc3545;padding:12px 25px;border-radius:25px;text-decoration:none;font-weight:600;display:inline-block;transition:all 0.3s ease} .emergency-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.2)} .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px} .checkbox-group{margin:20px 0} .checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:0.95rem;line-height:1.4} .checkbox-label input[type="checkbox"]{display:none} .checkmark{width:20px;height:20px;border:2px solid var(--primary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;flex-shrink:0;margin-top:2px} .checkbox-label input[type="checkbox"]:checked + .checkmark{background:var(--primary);border-color:var(--primary)} .checkbox-label input[type="checkbox"]:checked + .checkmark::after{content:'✓';color:var(--white);font-size:0.8rem;font-weight:bold} .form-note{text-align:center;margin-top:15px;color:var(--text-light)} @media (max-width:768px){.regional-hero h1{font-size:2.5rem} .regional-hero h2{font-size:1.2rem} .hero-features{gap:15px} .hero-feature{padding:10px 15px;font-size:0.9rem} .feature-item{padding:12px 16px;font-size:0.9rem;gap:8px} .feature-icon{font-size:1.2rem} .communes-grid{grid-template-columns:1fr;gap:20px} .admin-grid{grid-template-columns:1fr} .form-row{grid-template-columns:1fr;gap:15px} .service-card.premium{transform:none} .regional-contact .contact-container{grid-template-columns:1fr;gap:40px} .contact-form-container{padding:25px} .contact-info h3{font-size:1.7rem} .emergency-banner{margin-top:20px;padding:15px} } .renovation-hero{background:linear-gradient(135deg,rgba(26,54,93,0.95) 0%,rgba(49,130,206,0.9) 50%,rgba(237,137,54,0.85) 100%),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><defs><pattern id="roofPattern" patternUnits="userSpaceOnUse" width="100" height="60"><path d="M0 30 L50 0 L100 30 L50 60 Z" fill="%23ffffff" opacity="0.05"/></pattern></defs><rect width="100%" height="100%" fill="url(%23roofPattern)"/></svg>');background-size:cover,200px 120px;background-position:center,center;min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden} .renovation-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);animation:shimmer 3s ease-in-out infinite} @keyframes shimmer{0%,100%{transform:translateX(-100%)} 50%{transform:translateX(100%)} } .renovation-content{max-width:1200px;margin:0 auto;padding:0 20px;text-align:center;position:relative;z-index:2} .renovation-badge{display:inline-block;background:rgba(255,255,255,0.15);color:white;padding:12px 24px;border-radius:50px;font-weight:600;margin-bottom:30px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2)} @keyframes float{0%,100%{transform:translateY(0px)} 50%{transform:translateY(-10px)} } .renovation-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;color:white;margin-bottom:20px;line-height:1.2;text-shadow:0 4px 20px rgba(0,0,0,0.3)} .renovation-subtitle{font-size:clamp(1.1rem,2.5vw,1.4rem);color:rgba(255,255,255,0.9);margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6} .renovation-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin:80px 0;padding:0 20px;max-width:1200px;margin-left:auto;margin-right:auto} .renovation-features .feature-card{background:white;border-radius:20px;padding:40px 30px;text-align:center;box-shadow:0 15px 35px rgba(0,0,0,0.1);transition:all 0.4s ease;position:relative;overflow:hidden} .renovation-features .feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient);transform:scaleX(0);transition:transform 0.3s ease} .renovation-features .feature-card:hover::before{transform:scaleX(1)} .renovation-features .feature-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px rgba(0,0,0,0.15)} .feature-icon{font-size:3rem;margin-bottom:20px;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.1))} .feature-title{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:15px} .feature-description{color:var(--text-light);line-height:1.7} .process-section{background:var(--light-gray);padding:80px 0} .process-timeline{max-width:1000px;margin:0 auto;padding:0 20px;position:relative} .process-timeline::before{content:'';position:absolute;left:50%;transform:translateX(-50%);width:4px;height:100%;background:var(--gradient);border-radius:2px} .process-step{display:flex;align-items:stretch;margin-bottom:80px;position:relative;min-height:120px} .process-step:nth-child(even){flex-direction:row-reverse} .process-step:nth-child(even) .step-content{text-align:right} .step-number{width:80px;height:80px;background:var(--gradient);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:bold;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;box-shadow:0 8px 20px rgba(26,54,93,0.3)} .step-content{flex:1;background:transparent;padding:30px;margin:0 70px;position:relative;display:flex;flex-direction:column;justify-content:center;max-width:calc(50% - 70px)} .process-step:nth-child(odd) .step-content{margin-left:0;margin-right:70px} .process-step:nth-child(even) .step-content{margin-left:70px;margin-right:0} .step-title{font-size:1.3rem;font-weight:700;color:var(--primary);margin-bottom:10px} .step-description{color:var(--text-light);line-height:1.6} .faq-section{padding:80px 0;background:white} .faq-container{max-width:800px;margin:0 auto;padding:0 20px} .faq-item{background:white;border:2px solid var(--light-gray);border-radius:15px;margin-bottom:20px;overflow:hidden;transition:all 0.3s ease} .faq-item:hover{border-color:var(--accent);box-shadow:0 8px 25px rgba(49,130,206,0.1)} .faq-item.active{border-color:var(--accent);box-shadow:0 8px 25px rgba(49,130,206,0.15)} .faq-question{padding:25px 30px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--light-gray);transition:all 0.3s ease} .faq-item.active .faq-question{background:linear-gradient(135deg,var(--accent),var(--primary));color:white} .faq-question h3{font-size:1.1rem;font-weight:600;color:var(--primary);margin:0;line-height:1.4;flex:1;padding-right:20px} .faq-item.active .faq-question h3{color:white} .faq-toggle{font-size:1.5rem;font-weight:bold;color:var(--accent);transition:all 0.3s ease;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:white} .faq-item.active .faq-toggle{transform:rotate(45deg);background:rgba(255,255,255,0.2);color:white} .faq-answer{padding:0 30px;max-height:0;overflow:hidden;transition:all 0.4s ease;background:white} .faq-item.active .faq-answer{max-height:200px;padding:25px 30px} .faq-answer p{color:var(--text-light);line-height:1.7;margin:0} .cta-renovation{background:var(--gradient);color:white;text-align:center;padding:80px 0;position:relative;overflow:hidden} .cta-renovation::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 70%);animation:rotate 20s linear infinite} @keyframes rotate{from{transform:rotate(0deg)} to{transform:rotate(360deg)} } .cta-content{max-width:800px;margin:0 auto;padding:0 20px;position:relative;z-index:2} .cta-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:20px} .cta-description{font-size:1.2rem;margin-bottom:40px;opacity:0.9} .btn-group{display:flex;gap:20px;justify-content:center;flex-wrap:wrap} .btn-primary-white{background:white;color:var(--primary);padding:18px 40px;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all 0.3s ease;box-shadow:0 8px 20px rgba(0,0,0,0.1);display:inline-flex;align-items:center;justify-content:center} .btn-primary-white:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,0.2);color:var(--primary)} .btn-outline-white{background:transparent;color:white;border:2px solid white;padding:16px 40px;border-radius:50px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all 0.3s ease;display:inline-flex;align-items:center;justify-content:center} .btn-outline-white:hover{background:white;color:var(--primary);transform:translateY(-3px)} @media (max-width:768px){.process-timeline::before{left:30px} .step-number{left:30px;transform:translateY(-50%);top:30px} .process-step,.process-step:nth-child(even){flex-direction:column;align-items:flex-start;margin-bottom:60px} .step-content,.process-step:nth-child(odd) .step-content,.process-step:nth-child(even) .step-content{margin:0 0 0 80px;text-align:left !important;max-width:calc(100% - 100px)} .btn-group{flex-direction:column;align-items:center} .renovation-features{grid-template-columns:1fr;gap:20px;margin:40px 0} .faq-question{padding:20px} .faq-question h3{font-size:1rem;padding-right:40px} .faq-answer,.faq-item.active .faq-answer{padding:20px} .faq-item.active .faq-answer{max-height:300px} } .services-hero{background:linear-gradient(135deg,#1a365d 0%,#3182ce 50%,#ed8936 100%);position:relative;overflow:hidden} .services-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><pattern id="grid" width="50" height="50" patternUnits="userSpaceOnUse"><path d="M 50 0 L 0 0 0 50" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');animation:gridMove 20s linear infinite} @keyframes gridMove{0%{transform:translateX(0) translateY(0)} 100%{transform:translateX(50px) translateY(50px)} } .service-card-premium{background:var(--white);border-radius:20px;padding:40px 30px;box-shadow:0 15px 40px rgba(0,0,0,0.1);transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;overflow:hidden;border:2px solid transparent;background-clip:padding-box} .service-card-premium::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--orange),var(--accent));opacity:0;transition:opacity 0.3s ease;z-index:-1} .service-card-premium:hover{transform:translateY(-15px) scale(1.02);box-shadow:0 25px 60px rgba(0,0,0,0.2);border-color:var(--orange)} .service-card-premium:hover::before{opacity:0.1} .service-icon-premium{width:80px;height:80px;background:var(--gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 25px;transition:all 0.3s ease;position:relative;overflow:hidden} .service-icon-premium::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,0.3);border-radius:50%;transition:all 0.6s ease;transform:translate(-50%,-50%)} .service-card-premium:hover .service-icon-premium::before{width:200%;height:200%} .service-card-premium:hover .service-icon-premium{transform:rotateY(360deg) scale(1.1)} .service-title-premium{font-size:1.5rem;font-weight:bold;color:var(--primary);margin-bottom:15px;text-align:center;transition:color 0.3s ease} .service-card-premium:hover .service-title-premium{color:var(--orange)} .service-description-premium{color:var(--text-light);line-height:1.6;margin-bottom:25px;text-align:center} .service-features-premium{list-style:none;margin-bottom:25px} .service-features-premium li{padding:8px 0;color:var(--text-dark);position:relative;padding-left:25px;transition:all 0.3s ease} .service-features-premium li::before{content:'✓';position:absolute;left:0;color:#28a745;font-weight:bold;transform:scale(0);animation:checkPop 0.3s ease forwards;animation-delay:calc(var(--i) * 0.1s)} @keyframes checkPop{0%{transform:scale(0) rotate(0deg)} 50%{transform:scale(1.2) rotate(10deg)} 100%{transform:scale(1) rotate(0deg)} } .service-card-premium:hover .service-features-premium li{transform:translateX(5px);color:var(--primary)} .service-price-premium{text-align:center;margin-bottom:25px;font-size:1.1rem;font-weight:bold;color:var(--orange)} .floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden} .floating-element{position:absolute;font-size:2rem;opacity:0.2} .floating-element:nth-child(1){top:10%;left:10%} .floating-element:nth-child(2){top:20%;right:10%} .floating-element:nth-child(3){bottom:30%;left:15%} .floating-element:nth-child(4){bottom:10%;right:20%} .floating-element:nth-child(5){top:50%;left:5%} .floating-element:nth-child(6){top:60%;right:5%} .expertise-showcase{background:linear-gradient(45deg,#f8f9fa,#e9ecef);position:relative} .expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:60px} .expertise-card{background:var(--white);padding:30px 25px;border-radius:15px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,0.1);transition:all 0.3s ease;position:relative;overflow:hidden} .expertise-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:4px;background:var(--gradient);transition:left 0.6s ease} .expertise-card:hover::before{left:0} .expertise-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(0,0,0,0.15)} .emergency-banner{background:linear-gradient(135deg,#dc3545,#fd7e14);color:white;padding:60px 0;text-align:center;position:relative;overflow:hidden} .emergency-banner::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient( 45deg,transparent,transparent 10px,rgba(255,255,255,0.1) 10px,rgba(255,255,255,0.1) 20px );animation:emergencyMove 3s linear infinite} @keyframes emergencyMove{0%{transform:translateX(-20px)} 100%{transform:translateX(20px)} } @keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)} 40%{transform:translateY(-10px)} 60%{transform:translateY(-5px)} } @keyframes shake{0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} } .scroll-reveal{opacity:1;transform:translateY(0);transition:all 0.6s ease} .scroll-reveal.visible{opacity:1;transform:translateY(0)} .bruxelles-hero{background:linear-gradient(135deg,#1a365d 0%,#3182ce 40%,#ed8936 100%);position:relative;overflow:hidden;min-height:100vh} .bruxelles-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="brussels-pattern" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1.5" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100%" height="100%" fill="url(%23brussels-pattern)"/></svg>');animation:patternMove 25s linear infinite} @keyframes patternMove{0%{transform:translateX(0) translateY(0)} 100%{transform:translateX(20px) translateY(20px)} } .hero-badge{background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:50px;padding:12px 20px;display:inline-flex;align-items:center;gap:10px;margin-bottom:25px} .badge-icon{font-size:1.2em;animation:pulse 2s infinite} .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0;background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border-radius:20px;padding:30px} .stat-item{text-align:center;color:white} .stat-number{font-size:2.5rem;font-weight:bold;color:var(--orange);text-shadow:0 2px 4px rgba(0,0,0,0.3)} .stat-label{font-size:0.9rem;color:white;margin-top:5px} .hero-certifications{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px} .cert-item{background:rgba(255,255,255,0.95);color:var(--primary);padding:10px 15px;border-radius:25px;display:flex;align-items:center;gap:8px;font-size:0.9rem;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,0.1)} .cert-icon{font-size:1.1em} .brussels-skyline{position:relative;height:300px;display:flex;align-items:flex-end;justify-content:center} .atomium-icon{position:absolute;top:20px;right:50px;font-size:4rem;animation:rotate 20s linear infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,0.5))} .building-icons{display:flex;align-items:flex-end;gap:15px} .building{font-size:3rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.3));transition:transform 0.3s ease} @keyframes rotate{from{transform:rotate(0deg)} to{transform:rotate(360deg)} } .communes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:50px} .commune-card{background:var(--white);border-radius:20px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,0.1);transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;overflow:hidden;border:2px solid transparent} .commune-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:4px;background:var(--gradient);transition:left 0.6s ease} .commune-card:hover::before{left:0} .commune-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 50px rgba(0,0,0,0.15);border-color:var(--orange)} .commune-card.premium{background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%);border:2px solid var(--orange);transform:scale(1.05)} .commune-card.featured{background:linear-gradient(135deg,var(--primary) 0%,var(--orange) 100%);border:2px solid var(--primary);color:var(--white);box-shadow:0 8px 25px rgba(49,130,206,0.3)} .commune-card.featured h3{color:var(--white);text-shadow:0 2px 4px rgba(0,0,0,0.3);font-weight:700} .commune-card.featured p{color:rgba(255,255,255,0.95);text-shadow:0 1px 2px rgba(0,0,0,0.2);font-weight:500} .commune-card.featured .commune-link{color:var(--white);background:rgba(255,255,255,0.2);padding:8px 16px;border-radius:20px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,0.2)} .commune-card.featured .postal-code{background:rgba(255,255,255,0.2);color:var(--white)} a.commune-card{text-decoration:none;color:inherit;display:block;transition:all 0.3s ease} a.commune-card:hover{text-decoration:none;color:inherit;transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,0.15)} a.commune-card.featured:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 50px rgba(49,130,206,0.4)} .commune-icon{font-size:3rem;text-align:center;margin-bottom:20px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2))} .commune-card h3{color:var(--primary);font-size:1.5rem;margin-bottom:10px;text-align:center} .commune-card p{color:var(--text-light);text-align:center;margin-bottom:20px} .commune-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;justify-content:center} .commune-features .feature{background:var(--light-gray);color:var(--text-dark);padding:5px 12px;border-radius:15px;font-size:0.85rem;border:1px solid #e2e8f0} .commune-link{display:block;text-align:center;color:var(--accent);text-decoration:none;font-weight:500;padding:12px;border-radius:10px;background:rgba(49,130,206,0.1);transition:all 0.3s ease} .commune-link:hover{background:var(--accent);color:white;transform:translateY(-2px)} .commune-more{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:white;border-radius:20px;padding:40px 30px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center} .more-icon{font-size:3rem;font-weight:bold;margin-bottom:15px;background:rgba(255,255,255,0.2);width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center} .commune-more h4{margin-bottom:15px;font-size:1.3rem} .commune-more p{opacity:0.9;line-height:1.5;margin-bottom:20px} .services-special-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-top:50px} .service-special-card{background:var(--white);border-radius:20px;padding:40px 30px;box-shadow:0 15px 40px rgba(0,0,0,0.1);transition:all 0.4s ease;position:relative;overflow:hidden} .service-special-card.featured{background:linear-gradient(135deg,#fff 0%,#fff3e0 100%);border:2px solid var(--orange);transform:scale(1.05)} .service-special-card:hover{transform:translateY(-15px);box-shadow:0 25px 60px rgba(0,0,0,0.2)} .service-special-icon{font-size:4rem;text-align:center;margin-bottom:25px;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.2))} .service-special-card h3{color:var(--primary);font-size:1.8rem;margin-bottom:15px;text-align:center} .service-special-card p{color:var(--text-light);text-align:center;margin-bottom:25px;line-height:1.6} .service-features{list-style:none} .service-features li{padding:10px 0;color:var(--text-dark);position:relative;padding-left:25px;transition:all 0.3s ease} .service-features li::before{content:'✓';position:absolute;left:0;color:#28a745;font-weight:bold} .contact-brussels{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:100px 0} .contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start} .contact-features{margin:40px 0} .contact-feature{display:flex;align-items:center;gap:20px;margin-bottom:25px} .feature-icon{font-size:2.5rem;background:var(--gradient);color:white;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0} .contact-feature h4{color:var(--primary);margin-bottom:5px} .contact-buttons{display:flex;gap:15px;flex-wrap:wrap} .contact-form-wrapper{background:var(--white);border-radius:20px;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,0.1)} .contact-form h3{color:var(--primary);margin-bottom:30px;text-align:center} .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px} .form-group{margin-bottom:20px} .form-group label{display:block;color:var(--text-dark);margin-bottom:8px;font-weight:500} .form-group input,.form-group select,.form-group textarea{width:100%;padding:15px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all 0.3s ease;background:var(--white)} .form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(49,130,206,0.1)} .checkbox-group{display:flex;align-items:center;gap:10px} .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;margin-bottom:0} .checkbox-mark{width:20px;height:20px;border:2px solid #e2e8f0;border-radius:4px;position:relative;transition:all 0.3s ease} .checkbox-label input:checked + .checkbox-mark{background:var(--accent);border-color:var(--accent)} .checkbox-label input:checked + .checkbox-mark::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-size:12px;font-weight:bold} .submit-btn{width:100%;padding:18px;font-size:1.1rem;font-weight:600} @media (max-width:768px){.hero-stats{grid-template-columns:repeat(2,1fr)} .contact-content{grid-template-columns:1fr;gap:40px} .form-row{grid-template-columns:1fr} .communes-grid{grid-template-columns:1fr} .services-special-grid{grid-template-columns:1fr} .hero-certifications{justify-content:center} .cert-item{font-size:0.8rem;padding:8px 12px} } .uccle-hero{background:linear-gradient(135deg,#2d5016 0%,#4a7c28 40%,#6ba83a 100%);position:relative;overflow:hidden;min-height:100vh} .uccle-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="uccle-pattern" width="25" height="25" patternUnits="userSpaceOnUse"><circle cx="12.5" cy="12.5" r="2" fill="rgba(255,255,255,0.08)"/><rect x="10" y="10" width="5" height="5" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100%" height="100%" fill="url(%23uccle-pattern)"/></svg>');animation:patternMove 30s linear infinite} .hero-features-uccle{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:30px 0} .feature-uccle{background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);border-radius:15px;padding:15px;display:flex;align-items:center;gap:10px;color:white;transition:all 0.3s ease} .feature-uccle:hover{transform:translateY(-3px);background:rgba(255,255,255,0.25)} .feature-uccle .feature-icon{font-size:1.5rem} .hero-stats-uccle{display:flex;gap:30px;margin-top:40px;justify-content:center} .stat-uccle{text-align:center;color:white;background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border-radius:15px;padding:20px 25px;min-width:100px} .stat-uccle .stat-number{font-size:2rem;font-weight:bold;color:#6ba83a;text-shadow:0 2px 4px rgba(0,0,0,0.3)} .stat-uccle .stat-label{font-size:0.9rem;color:white;margin-top:5px} .uccle-landscape{position:relative;height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column} .villa-icon{font-size:5rem;margin-bottom:20px;transition:all 0.3s ease;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.3))} .trees-icons{display:flex;gap:20px;align-items:flex-end} .tree{font-size:2.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.2));transition:all 0.3s ease} .quartiers-communes{padding:120px 0;background:linear-gradient(135deg,#f8faf6 0%,#e8f5e8 100%)} .services-communes{padding:120px 0;background:var(--white)} .about-communes{padding:120px 0;background:linear-gradient(135deg,#f8faf6 0%,#e8f5e8 100%)} .testimonials-communes{padding:120px 0;background:var(--white)} .quartiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin-top:50px} .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-top:50px} .quartier-card{background:var(--white);border-radius:15px;padding:25px;box-shadow:0 8px 25px rgba(0,0,0,0.1);transition:all 0.3s ease;position:relative;border:2px solid transparent} .quartier-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,0.15);border-color:#6ba83a} .quartier-card.premium{background:linear-gradient(135deg,#fff 0%,#f0f8e8 100%);border:2px solid #6ba83a;transform:scale(1.02)} .quartier-card h3{color:var(--primary);font-size:1.3rem;margin-bottom:8px;text-align:center} .quartier-card p{color:var(--text-light);text-align:center;margin-bottom:15px;font-size:0.9rem} .service-card{background:var(--white);padding:40px 30px;border-radius:16px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,0.08);transition:all 0.3s ease;border:1px solid #e5e7eb} .service-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,0.12);border-color:rgba(26,54,93,0.3)} .service-card .service-icon{color:var(--primary);margin-bottom:25px} .service-card h3{color:var(--primary);font-size:1.4rem;margin-bottom:15px} .service-card p{color:var(--text-light);line-height:1.6;margin-bottom:20px} .about-content{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:start} .about-text h2{color:var(--primary);margin-bottom:25px;font-size:2.2rem} .about-text > p{font-size:1.1rem;line-height:1.7;color:var(--text-light);margin-bottom:40px} .expertise-points{margin-bottom:40px} .expertise-point{display:flex;align-items:flex-start;margin-bottom:25px;gap:15px} .expertise-point .point-icon{color:var(--primary);margin-top:2px} .expertise-point h4{color:var(--primary);margin-bottom:8px;font-size:1.1rem} .expertise-point p{color:var(--text-light);line-height:1.5} .commune-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-top:40px} .commune-stat{text-align:center;padding:20px;background:rgba(107,168,58,0.1);border-radius:12px;border:1px solid rgba(107,168,58,0.3)} .commune-stat .stat-number{font-size:1.8rem;font-weight:bold;color:var(--primary);display:block} .commune-stat .stat-text{font-size:0.9rem;color:var(--text-dark);margin-top:5px} @media (max-width:768px){.about-content{grid-template-columns:1fr;gap:40px} .quartiers-grid{grid-template-columns:1fr} .services-grid{grid-template-columns:1fr} }
/* Fix for select options visibility in dark forms */
#subject option {
    color: var(--text-dark);
    background-color: var(--white);
}
