*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{overflow-x:hidden}img,svg{max-width:100%;height:auto;display:block}body{font-family:Poppins,sans-serif;background-color:#f9f9f9;color:#1e1e1e}header{position:fixed;top:20px;left:50%;transform:translateX(-50%);width:90%;max-width:1200px;padding:8px 20px;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 32px 0 rgba(31,38,135,0.1);border-radius:12px;z-index:10000;transition:all 0.3s ease}header.scrolled{padding:4px 20px;background:rgba(255,255,255,0.25);box-shadow:0 8px 24px rgba(31,38,135,0.2)}nav{display:flex;justify-content:space-between;align-items:center}.logo{height:56px;width:auto;object-fit:contain}.site-logo{margin:0}nav ul{display:flex;list-style:none;gap:20px}nav ul li a{color:#00365a;text-decoration:none;font-size:15px;transition:color 0.3s ease}nav ul li a:hover{color:#f57c00}.site-logo,nav ul li a{text-shadow:0 1px 2px rgba(0,0,0,0.1)}nav ul li a.active{color:#f57c00;font-weight:bold}nav ul li a.active::after{content:'';display:block;margin:auto;width:40%;height:2px;background-color:#f57c00;margin-top:5px}nav ul li a:focus,.btn-primary:focus,#contact button[type="submit"]:focus{outline:2px solid #f57c00;outline-offset:2px}.btn-primary{display:inline-block;margin-top:10px;padding:14px 32px;background-color:#f57c00;color:#ffffff;font-weight:700;font-size:16px;text-decoration:none;border-radius:8px;transition:background-color 0.3s ease,transform 0.2s ease}.btn-primary:hover{background-color:#e6b800;transform:translateY(-2px)}.hero{background:linear-gradient(to bottom right,rgba(0,0,0,0.6),rgba(0,78,124,0.7)),url('../images/hero-accueil.svg') center/cover no-repeat;color:white;text-align:center;padding:200px 20px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}.hero h1{font-size:40px;font-weight:bold;background:linear-gradient(90deg,#004e7c,#f57c00,#004e7c);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradientAnimation 4s ease infinite}@keyframes gradientAnimation{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.hero p{font-size:18px;max-width:600px;margin-left:auto;margin-right:auto;margin-top:24px;margin-bottom:40px}.hero-bg-transport-hydrocarbures{background-image:url('../images/transport.svg')}.hero-bg-reprofilage-routes{background-image:url('../images/reprofilage.svg')}.hero-bg-transport-routier{background-image:url('../images/transport-routier.svg')}.hero-bg-construction-batiments{background-image:url('../images/construction.svg')}.hero-bg-travaux-publics{background-image:url('../images/travaux-publics.svg')}.hero-bg-entrepots-conteneurs{background-image:url('../images/entrepot.svg')}
.hero.hero-404{min-height:55vh}
.btn-primary.btn-404{margin-top:20px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#004E7C;color:#FFFFFF;padding:12px 20px;border-radius:0 0 8px 0;text-decoration:none;font-weight:600}
.skip-link:focus{left:0}
.form-message{display:none;margin-top:16px;padding:14px 18px;border-radius:8px;font-size:15px;font-weight:500;line-height:1.5}
.form-message.visible{display:block}
.form-message.success{background-color:#E6F4EA;color:#1E7B34;border:1px solid #A8D5B5}
.form-message.error{background-color:#FBEAEA;color:#C0392B;border:1px solid #E6A9A9}.back-link{display:inline-block;margin-bottom:15px;color:#004e7c;font-size:14px;text-decoration:none;font-weight:600}.presentation-text--intro{max-width:900px;margin:0 auto}.avantage-text{text-align:center}.section-lead{max-width:700px;margin:-10px auto 25px;color:#444;font-size:17px}.section-lead--narrow{max-width:600px;margin:-10px auto 25px;color:#444;font-size:17px}.services-lead{margin-top:-20px;margin-bottom:30px;color:#444;font-size:17px}.contact-lead{text-align:center;max-width:600px;margin:-10px auto 30px;color:#444}#pourquoi-nous,#devenir-partenaire,#ambition,#cta-contact,#cta-services{text-align:center}.services-more-link{text-align:center;margin-top:35px}.map-container{margin-top:30px}.map-container iframe{border:0}section{max-width:1100px;margin:60px auto;padding:0 20px}section h2{font-family:Montserrat,sans-serif;font-size:28px;margin-bottom:30px;color:#004e7c}.presentation-section{opacity:0;transform:translateY(60px);transition:opacity 1s ease-out,transform 1s ease-out;will-change:opacity,transform;padding-top:30px;max-width:1100px;margin:60px auto;padding:0 20px}.presentation-section.visible{opacity:1;transform:translateY(0)}.presentation-content{display:flex;gap:40px;align-items:stretch;flex-wrap:wrap;justify-content:space-between}.presentation-text{flex:1 1 400px;font-size:18px;line-height:1.7;color:#1c1c1c;background-color:#ffffff;box-shadow:0 4px 10px rgba(0,0,0,0.06);padding:25px;border-radius:15px}.liste-services-integres{margin:0 0 18px 22px;padding:0}.liste-services-integres li{margin-bottom:8px}.sous-titre{font-size:20px;font-weight:500;color:#555;margin-bottom:25px;font-family:Montserrat,sans-serif}.presentation-image{flex:1 1 400px;max-width:500px;display:flex;align-items:center;justify-content:center}.presentation-image img{max-width:100%;height:auto;border-radius:15px;box-shadow:0 4px 10px rgba(0,0,0,0.06)}@media (max-width:1024px){.presentation-content{flex-direction:column;gap:30px}.presentation-text,.presentation-image{flex:1 1 100%;max-width:100%}.presentation-image img{width:100%;height:auto}.presentation-text{text-align:center}.sous-titre{font-size:18px}}@media (max-width:600px){.presentation-text{font-size:16px;padding:20px}.sous-titre{font-size:16px}.presentation-image img{border-radius:10px}}.partenaires{background-color:#004e7c;padding:60px 20px;opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease;animation:fadeInUp 1s ease forwards;border-radius:20px}.partenaires.visible{opacity:1;transform:translateY(0)}.partenaires .titre-section{font-size:32px;color:#f57c00;text-align:center;margin-bottom:40px;position:relative}.partenaires .titre-section::after{content:'';display:block;width:80px;height:4px;background:#f57c00;margin:15px auto 0;border-radius:2px}.logos-partenaires{display:flex;justify-content:flex-start;align-items:center;gap:30px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:10px 10px 20px}.logos-partenaires::-webkit-scrollbar{height:6px}.logos-partenaires::-webkit-scrollbar-thumb{background:#f57c00;border-radius:3px}.logos-partenaires::-webkit-scrollbar-track{background:rgba(255,255,255,0.1)}.carte-partenaire{flex:0 0 auto;width:100px;height:80px;background-color:white;padding:16px;border-radius:16px;box-shadow:0 4px 15px rgba(0,0,0,0.08);display:flex;justify-content:center;align-items:center;scroll-snap-align:start;opacity:0;transform:translateY(20px);transition:opacity 0.4s ease,transform 0.4s ease}.carte-partenaire img{max-width:100%;max-height:60px;object-fit:contain;display:block;margin:0 auto;filter:grayscale(100%);transition:filter 0.3s ease}.carte-partenaire:hover{transform:scale(1.05) rotateZ(-1deg) translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.12)}.carte-partenaire:hover img{filter:none}@media (hover:none){.carte-partenaire img{filter:none}}@media (min-width:1200px){.logos-partenaires{flex-wrap:wrap;justify-content:center;overflow-x:visible}.carte-partenaire{flex:0 1 100px}}@media (max-width:1024px){.logos-partenaires{gap:16px;padding-left:10px;padding-right:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.carte-partenaire{scroll-snap-align:start;flex:0 0 auto;width:90px;height:70px;padding:10px}.carte-partenaire img{max-height:45px}.partenaires .titre-section{font-size:24px}}@media (hover:none){.carte-partenaire:hover{transform:none;box-shadow:0 4px 15px rgba(0,0,0,0.08)}.carte-partenaire:hover img{filter:none}}.carte-partenaire.visible{opacity:1;transform:scale(1.05) translateY(0);transition:opacity 0.6s ease,transform 0.6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}.performances-section{background:linear-gradient(135deg,#004e7c 0%,#0071b3 100%);color:white;padding:80px 20px;margin:80px auto;border-radius:20px;position:relative;overflow:hidden}.titre-performances{text-align:center}.performances-section::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"><circle cx="20" cy="20" r="2" fill="rgba(255,193,7,0.1)"/><circle cx="80" cy="30" r="1.5" fill="rgba(255,193,7,0.08)"/><circle cx="40" cy="70" r="1" fill="rgba(255,193,7,0.06)"/><circle cx="90" cy="80" r="2.5" fill="rgba(255,193,7,0.1)"/></svg>') repeat;animation:float 20s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-10px) rotate(180deg)}}.performances-section h2{color:white;font-size:36px;margin-bottom:50px;position:relative;z-index:2}.performances-section h2::after{content:'';display:block;width:80px;height:4px;background:linear-gradient(90deg,#f57c00,#ffb74d);margin:15px auto;border-radius:2px}.performances-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;position:relative;z-index:2}.performance-card{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:15px;padding:30px 25px;text-align:center;transition:all 0.3s ease;position:relative;overflow:hidden}.performance-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,193,7,0.1),transparent);transition:left 0.5s ease}.performance-card:hover::before{left:100%}.performance-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,0.2);border-color:rgba(255,193,7,0.3)}.performance-icon{font-size:50px;color:#f57c00;margin-bottom:20px;transition:transform 0.3s ease}.performance-card:hover .performance-icon{transform:scale(1.1) rotate(5deg)}.performance-number{font-size:48px;font-weight:700;color:#f57c00;margin-bottom:10px;font-family:Montserrat,sans-serif;text-shadow:2px 2px 4px rgba(0,0,0,0.3)}.performance-label{font-size:18px;font-weight:500;margin-bottom:15px;color:white}.performance-description{font-size:14px;color:#f1f1f1;line-height:1.5}.counter{display:inline-block}.performance-quote{background:rgba(255,255,255,0.05);border-left:4px solid #f57c00;padding:25px;margin-top:50px;border-radius:10px;text-align:center;position:relative;z-index:2}.performance-quote p{font-size:18px;font-style:italic;margin-bottom:15px;color:#f1f1f1}.performance-quote cite{font-size:16px;color:#f57c00;font-weight:600}@media (max-width:768px){.performances-section{padding:60px 15px;margin:40px 0}.performances-section h2{font-size:28px;margin-bottom:40px}.performances-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.performance-card{padding:25px 20px}.performance-number{font-size:36px}.performance-label{font-size:16px}}.services-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.service-box{background-color:white;border-radius:12px;padding:30px 20px;box-shadow:0 8px 20px rgba(0,0,0,0.05);text-align:center;transition:transform 0.3s ease,box-shadow 0.3s ease;display:flex;flex-direction:column;justify-content:flex-start;height:100%}.service-box:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(0,0,0,0.1)}.service-box h3{font-size:20px;margin-bottom:10px;color:#004e7c;flex-shrink:0}.service-link:hover h3{color:#f57c00}.service-box p{font-size:15px;color:#444;flex-grow:1;display:flex;align-items:flex-start;text-align:left}.service-icon{font-size:40px;color:#004e7c;margin-bottom:15px;transition:transform 0.3s ease,color 0.3s ease}.service-link{text-decoration:none;color:inherit;display:block;transition:transform 0.3s ease}.service-link:hover .service-box{transform:scale(1.02);box-shadow:0 0 12px rgba(0,0,0,0.1)}.service-link:hover .service-icon{color:#f57c00}footer{background-color:#1e1e1e;color:#f9f9f9;text-align:center;padding:30px;font-size:14px}#contact{max-width:900px;margin:60px auto 80px;padding:0 30px;opacity:0;filter:blur(3px);transform:translateY(40px);transition:opacity 0.7s ease-out,transform 0.7s ease-out;will-change:opacity,transform}#contact.visible{filter:blur(0);opacity:1;transform:translateY(0)}#contact h2{color:#004e7c;font-family:Montserrat,sans-serif;font-size:32px;margin-bottom:30px;text-align:center}#contact form{background:#fff;border-radius:12px;box-shadow:0 6px 15px rgba(0,0,0,0.1);width:100%;padding:40px 35px;box-sizing:border-box}#contact label{display:block;margin-bottom:8px;font-weight:600;color:#004e7c;font-size:16px}#contact input[type="text"],#contact input[type="email"],#contact textarea{width:100%;padding:14px 18px;margin-bottom:22px;font-size:16px;border:1.5px solid #ccc;border-radius:8px;transition:border-color 0.3s ease,box-shadow 0.3s ease}#contact input[type="text"]:focus,#contact input[type="email"]:focus,#contact textarea:focus{border-color:#004e7c;box-shadow:0 0 8px rgba(0,78,124,0.3);outline:none}#contact textarea{resize:vertical;min-height:120px}#contact button[type="submit"]{width:100%;padding:15px 0;background-color:#f57c00;color:#ffffff;border:none;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;transition:background-color 0.3s ease}#contact button[type="submit"]:hover{background-color:#e6b800}.contact-details{display:flex;justify-content:space-around;flex-wrap:wrap;gap:30px;margin-top:40px;padding:25px 20px;background-color:#ffffff;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,0.08)}.contact-item{display:flex;align-items:flex-start;gap:15px;min-width:250px;opacity:0;transform:translateY(30px);transition:opacity 0.5s ease-out,transform 0.5s ease-out;will-change:opacity,transform}.contact-item.visible{opacity:1;transform:translateY(0)}.contact-item i{font-size:28px;color:#004e7c;margin-top:3px;transition:transform 0.3s ease,color 0.3s ease}.contact-item:hover i{transform:scale(1.2);color:#f57c00}.contact-item a{color:#004e7c;text-decoration:none;font-weight:600;transition:color 0.3s ease}.contact-item a:hover{color:#f57c00}.contact-item strong{font-family:Montserrat,sans-serif;font-size:15px}#btn-top{position:fixed;bottom:30px;right:30px;display:none;background-color:#004e7c;color:white;border:none;padding:12px 16px;font-size:20px;border-radius:50%;cursor:pointer;box-shadow:0 4px 8px rgba(0,0,0,0.2);transition:background-color 0.3s ease;z-index:1000}#btn-top:hover{background-color:#0071b3}@media (max-width:768px){nav ul{flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:center;padding-left:0;margin-top:10px}nav{flex-wrap:wrap;justify-content:space-between}.presentation-content{flex-direction:column;text-align:center}.presentation-image,.presentation-text{flex:1 1 100%;width:100%;height:auto;max-width:100%}.services-container{grid-template-columns:1fr}#contact form{padding:25px 20px}.contact-details{flex-direction:column;align-items:center}.hero h1{font-size:28px}.hero{padding:110px 20px 60px}.btn-primary{padding:10px 20px;font-size:16px}}@media (max-width:480px){.hero{padding:100px 16px 50px}.hero h1{font-size:24px}.hero p{font-size:17px}section h2{font-size:24px}section{padding:0 16px}}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;gap:2px;width:44px;height:44px;z-index:10001;border-radius:8px}.menu-toggle:focus-visible{outline:2px solid #004e7c;outline-offset:2px}.menu-toggle span{width:25px;height:3px;background-color:#004e7c;border-radius:2px;transition:all 0.3s ease;margin:3px auto;display:block}.menu-toggle.active span:nth-child(1){transform:rotate(60deg) translate(10px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-60deg) translate(10px,-5px)}@media (max-width:768px){.menu-toggle{display:flex}.nav-links{display:none;flex-direction:column;position:absolute;top:70px;right:20px;left:20px;background:white;padding:20px;gap:8px;box-shadow:0 8px 16px rgba(0,0,0,0.1);border-radius:12px;z-index:9999}.nav-links.show{display:flex}.nav-links li a{display:block;padding:12px 10px;color:#004e7c;font-weight:bold}}html{scroll-behavior:smooth;scroll-padding-top:100px}.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.faq{max-width:800px;margin:0 auto}.faq details{background-color:white;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,0.06);padding:18px 25px;margin-bottom:15px}.faq summary{font-family:Montserrat,sans-serif;font-weight:600;font-size:17px;color:#004e7c;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';font-size:22px;color:#f57c00;margin-left:15px;flex-shrink:0;transition:transform 0.3s ease}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{margin-top:12px;color:#444;font-size:15px;line-height:1.6}