nav,nav ul{display:flex}body,nav a,nav ul a{color:var(--text-color)}#specialite div,nav ul a,nav ul li{position:relative}#specialite div h2,#specialite div p{left:2rem;right:2rem;color:var(--white);z-index:2}#contact::before,#specialite div::before{z-index:1;content:'';left:0;width:100%;top:0;height:100%}nav a,nav ul a{text-decoration:none}#contact .coordonnees,#contactForm{padding:2.5rem;border-radius:10px;box-shadow:var(--box-shadow)}#contact .coordonnees h3::after,#contactForm,header{background-color:var(--white)}#contactForm textarea,body{font-family:Arial,sans-serif}#scrollToTop,header{position:fixed;z-index:1000}#contact .coordonnees,#contact h2::after,#contactForm button,#scrollToTop,nav ul a::after{background-color:var(--primary-color)}#accueil,#contact h2,#hero,footer{text-align:center}#accueil h1,#hero h1{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}#accueil,#contact .coordonnees,#contactForm button,#hero,#hero p,#scrollToTop,#specialite div h2,#specialite div p,#specialite div strong,footer{color:var(--white)}.about-content,.service-content{grid-template-columns:1fr 1fr;display:grid}.role,.year{color:var(--primary-color)}.partner img,body,img{max-width:100%}#contact .coordonnees,#contactForm,#scrollToTop,.carousel-arrow,.org-image,.partner,.service-card,.service-image,.team-member,nav ul ul{box-shadow:var(--box-shadow)}#services-grid,*,nav ul ul li{padding:0}#contact>div{grid-template-columns:1fr}:root{--primary-color:#008C3A;--primary-dark:#006c2d;--primary-light:#00a945;--text-color:#333333;--background-light:#f5f5f5;--white:#ffffff;--transition-speed:0.3s;--transition-timing:ease;--box-shadow:0 5px 15px rgba(0,0,0,0.1);--container-padding:clamp(1rem, 5vw, 2rem);--card-width:clamp(250px, 25vw, 280px)}#contactForm input,#contactForm textarea,#specialite div div::before,#specialite div h2,#specialite div p,#specialite div::before,.specialite-img,nav a,nav ul a,nav ul a::after{transition:all var(--transition-speed) var(--transition-timing)}*{margin:0;box-sizing:border-box}body{line-height:1.6;overflow-x:hidden}header{box-shadow:0 2px 5px rgba(0,0,0,.1);width:100%;top:0}img{height:auto}#contact>div,.about-content,.service-content,.team-grid,nav{max-width:1200px}nav{margin:0 auto;padding:1rem;justify-content:space-between;align-items:center}nav img{height:50px}nav ul{list-style:none;gap:2rem}nav ul a{font-weight:500}nav ul a::after{content:'';position:absolute;width:0;height:2px;bottom:-5px;left:0}nav ul a:hover::after{width:100%}nav ul ul{display:none;position:absolute;top:100%;left:0;background:var(--white);min-width:250px;border-radius:5px;padding:.5rem 0;flex-direction:column;gap:0;z-index:1000}nav ul li:hover>ul{display:block}nav ul ul a{padding:.7rem 1.5rem;display:block;font-weight:400;font-size:.95rem;white-space:nowrap}nav ul ul a:hover{background-color:rgba(0,140,58,.1)}main{margin-top:80px}section{padding:4rem 2rem}#accueil{background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)) center/cover,url('../images/locaux/Locaux.jpg') center/cover;padding:9rem 2rem}#contact,.about-section:nth-child(2n),.service-section:nth-child(2n){background-color:var(--background-light)}#contact,.service-section{padding:6rem 2rem}#accueil h1{font-size:5rem;margin-bottom:1rem}#accueil h2{font-size:2rem}#contact h2,.service-text h2{font-size:2.5rem;color:var(--text-color)}#specialite{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}#specialite div{height:300px;border-radius:8px;overflow:hidden;cursor:pointer}#specialite div::before{position:absolute;background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.7))}#specialite div:hover::before{background:linear-gradient(rgba(0,140,58,.8),rgba(0,140,58,.95))}.specialite-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}#specialite div:hover .specialite-img,.partner:hover img{transform:scale(1.1)}#specialite div h2{position:absolute;bottom:2rem;font-size:2rem}#specialite div p{position:absolute;top:50%;transform:translateY(100%);opacity:0;line-height:1.8}#specialite div:hover h2{bottom:75%;font-size:1.8rem}#specialite div:hover p{transform:translateY(-50%);opacity:1;padding-top:1.5rem}#contact{position:relative}#contact::before{position:absolute;background:linear-gradient(135deg,rgba(0,140,58,.1) 0,rgba(0,140,58,.05) 100%)}#contact h2{margin-bottom:3rem;position:relative;z-index:2}#contact h2::after{content:'';display:block;width:80px;height:3px;margin:1rem auto}#contact>div{margin:0 auto;display:grid;position:relative;z-index:2}#contactForm div,#hero h1,.service-text h2,.service-text p{margin-bottom:1.5rem}#contact .coordonnees h3{font-size:1.5rem;margin-bottom:2rem;position:relative;padding-bottom:1rem}#contact .coordonnees h3::after{content:'';position:absolute;bottom:0;left:0;width:50px;height:2px}#contact .coordonnees p{margin:1.5rem 0;display:flex;align-items:center;gap:1rem}#contact .coordonnees p svg{width:20px;height:20px;min-width:20px;stroke:currentColor}#contact .coordonnees #lien{color:var(--white);text-decoration:none;transition:opacity .3s}#contact .coordonnees a:hover{opacity:.8}#contact .coordonnees #map{width:100%;height:70vh}#contact .coordonnees #map #zoom-message{position:absolute;top:10px;left:50%;transform:translate(-50%);background-color:rgba(55,55,55,.7);color:#fff;padding:5px 10px;border-radius:5px;font-size:14px;z-index:1000;display:block}#contactForm input,#contactForm textarea{width:100%;padding:1rem;border:1px solid #e0e0e0;border-radius:5px;font-size:1rem;background-color:#f8f8f8}#contactForm input:focus,#contactForm textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(0,140,58,.1);background-color:var(--white)}#contactForm textarea{min-height:200px;resize:none}#contactForm button{position:relative;overflow:hidden;z-index:1;padding:1rem 2.5rem;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem;font-weight:500;letter-spacing:.5px;transition:transform .3s;width:100%}#contactForm button:hover{transform:translateY(-2px)}#contactForm button:active{transform:translateY(0)}footer{background-color:var(--text-color);padding:2rem}.about-image img,.service-image img,.team-member{transition:transform .3s}#scrollToTop{bottom:20px;right:20px;width:60px;height:60px;border:none;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;transition:.3s}#scrollToTop:hover{background-color:var(--primary-dark);transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.2)}#scrollToTop.visible{display:flex}#hero{background-size:cover;background-position:center}.hero-electronique{background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('../images/menus/Electronique.jpg')}.hero-electrotechnique{background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('../images/menus/Electrotechnique.jpg')}.hero-automatisme{background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('../images/menus/Automatisme.jpg')}.hero-about{background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('../images/locaux/Locaux.jpg')}#hero h1{font-size:4rem}#hero p{font-size:1.5rem;max-width:800px;margin:0 auto}.about-text h2::after,.service-text h2::after,.service-text ul li::before,.timeline-item::before{position:absolute;background-color:var(--primary-color);content:''}.service-content{gap:clamp(2rem,5vw,4rem);margin:0 auto;padding:0 var(--container-padding);align-items:center}.service-content.reverse{direction:rtl}.service-content.reverse .service-text{direction:ltr}.service-text h2{position:relative}.about-text h2::after,.service-text h2::after{bottom:-.5rem;left:0;width:60px;height:3px}.service-text p{font-size:1.1rem;line-height:1.6}.service-text ul{list-style:none;padding:0}.service-text ul li{position:relative;padding-left:1.5rem;margin-bottom:1rem;font-size:1.1rem}.service-text ul li::before{left:0;top:.5rem;width:8px;height:8px;border-radius:50%}.service-image{overflow:hidden;border-radius:10px}.service-image img{object-fit:cover;vertical-align:middle}.service-image:hover img{transform:scale(1.05)}.about-section{padding:6rem 8rem}.about-content{margin:0 auto;gap:4rem;align-items:start}.about-text h2,.timeline-item{margin-bottom:2rem;position:relative}.about-text h2{font-size:2.5rem}.about-image img{width:100%;height:100%;object-fit:cover;border-radius:10px}.timeline{margin-top:3rem}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:2rem}.timeline-item::before{left:40px;top:0;height:100%;width:2px}.year{font-weight:700;text-align:right}.event h3,.team-member h3{margin-bottom:.5rem;color:var(--text-color)}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin:3rem auto 0}.team-member{text-align:center;background-color:var(--white);padding:2rem;border-radius:10px}.partner:hover,.service-card:hover h3,.team-member:hover{transform:translateY(-5px)}.member-photo{width:150px;height:150px;margin:0 auto 1.5rem;border-radius:50%;overflow:hidden}.member-photo img{width:100%;height:100%;object-fit:cover}.role{font-weight:500;margin-bottom:1rem}.partners-intro{text-align:center;max-width:800px;margin:0 auto 3rem;font-size:1.1rem}.partners-carousel-container{position:relative;max-width:1200px;margin:0 auto;padding:0 60px}.partners-carousel{overflow:hidden;position:relative;padding:1rem 0}.partners-track{display:flex;gap:30px;transition:transform .5s;justify-content:center;align-items:center}.partner,.partner img{transition:transform .3s}.partner{flex:0 0 300px;height:150px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:1rem}.partner a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.partner img{max-height:100%;object-fit:contain}.partner img[alt=AMADA]{width:200px!important;padding:1rem!important}.partner img[alt=Stromag]{width:160px!important;padding:1.5rem!important}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;z-index:2}.carousel-arrow:hover{background:var(--primary-dark);transform:translateY(-50%) scale(1.1)}.carousel-arrow.prev{left:0}.carousel-arrow.next{right:0}.org-chart{max-width:1200px;margin:3rem auto;padding:0 2rem}.org-image{width:100%;height:auto;border-radius:10px}.page-transition{opacity:1;transform:translateX(0);transition:opacity .4s ease-in-out,transform .4s ease-out}.page-transition.fade-in-from-left,.page-transition.fade-out-to-left{opacity:0;transform:translateX(-20px)}.page-transition.fade-in-from-right,.page-transition.fade-out-to-right{opacity:0;transform:translateX(20px)}.page-transition.fade-in{opacity:0;transform:translateX(0)}.hero-content{max-width:1200px;margin:0 auto;padding:4rem var(--container-padding);text-align:center}.hero-features{display:flex;justify-content:center;gap:clamp(1rem,3vw,2rem);margin-top:2rem;flex-wrap:wrap}.feature{display:flex;align-items:center;gap:.5rem}.feature-icon{font-size:1.5rem}.services-container{display:flex;gap:clamp(1rem,2vw,1.5rem);padding:2rem var(--container-padding);max-width:100%;margin:0 auto;scroll-snap-type:x mandatory;overflow-x:auto;justify-content:center}.service-card h3,.service-icon{margin-bottom:1rem;transition:transform .3s}#services-grid,.service-card{position:relative;overflow:hidden}.services-container::-webkit-scrollbar{display:none}.service-card{flex:0 0 var(--card-width);padding:clamp(1rem,2vw,1.5rem);background:var(--white);border-radius:1rem;text-align:center;transition:.3s;cursor:pointer}.service-card:hover{transform:translateY(-10px);box-shadow:0 10px 20px rgba(0,0,0,.15)}.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary-color);transform:scaleX(0);transform-origin:left;transition:transform .3s}.service-card:hover::before{transform:scaleX(1)}.service-icon{font-size:2.5rem}.service-card:hover .service-icon{transform:scale(1.2) rotate(360deg);transition:transform .5s}.service-card h3{position:relative;color:var(--text-color)}.service-card p{color:var(--text-secondary);line-height:1.6;opacity:.8;transition:opacity .3s}.service-card:hover p{opacity:1}#services-grid{margin:2rem 0}#services-grid::after,#services-grid::before{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:1;pointer-events:none}#services-grid::before{left:0;background:linear-gradient(to right,var(--background-light) 0,rgba(255,255,255,0) 100%)}#services-grid::after{right:0;background:linear-gradient(to left,var(--background-light) 0,rgba(255,255,255,0) 100%)}.service-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}#contact>div{max-width:min(1200px,90%);gap:2rem}#map{height:clamp(250px,40vh,400px);width:100%}