@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#0b2a47;--navy-2:#1f3f5b;--green:#2e9e1f;--green-bright:#3dae2b;--green-soft:#eef8eb;--ink:#19334a;--muted:#536779;--faint:#758697;--paper:#fff;--mist:#f4f8fb;--mist-2:#eaf1f6;--line:#dce6ee;--shadow:0 14px 44px rgba(11,42,71,.09);--shadow-hover:0 22px 54px rgba(11,42,71,.14);--radius:18px;--ease:all .28s cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:78px;font-size:16px}body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:'Manrope',sans-serif;line-height:1.16;color:var(--navy);font-weight:800}a{color:inherit;text-decoration:none;transition:var(--ease)}ul{list-style:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.section-padding{padding:100px 0}.text-center{text-align:center}.mb-48{margin-bottom:48px}.hidden{display:none!important}
.section-title{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;color:var(--navy);margin-bottom:14px}.section-title span{color:var(--green)}.section-subtitle{max-width:670px;margin:0 auto;color:var(--muted);font-size:1.04rem;line-height:1.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 23px;border-radius:9px;font-size:.94rem;font-weight:700;transition:var(--ease);border:1px solid transparent}.btn-primary{color:white;background:linear-gradient(135deg,var(--green-bright),var(--green));box-shadow:0 8px 18px rgba(46,158,31,.18)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(46,158,31,.25);color:#fff}.btn-secondary{color:var(--navy);border-color:#cbd8e2;background:#fff}.btn-secondary:hover,.btn-outline:hover{background:var(--mist);border-color:var(--navy-2);transform:translateY(-2px)}.btn-sm{padding:11px 19px;font-size:.87rem}.btn-lg{padding:16px 23px}.glass-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 19px rgba(11,42,71,.045);transition:var(--ease)}.glass-card:hover{border-color:#b8d4b0;transform:translateY(-4px);box-shadow:var(--shadow)}
/* Navigation */.navbar{position:fixed;z-index:1000;inset:0 0 auto;padding:17px 0;transition:var(--ease);background:rgba(255,255,255,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,230,238,.7)}.navbar .container{display:flex;align-items:center;justify-content:space-between}.navbar__logo{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-weight:800;font-size:1.25rem;color:var(--navy);letter-spacing:-.04em}.navbar__logo .logo-icon{width:42px;height:42px;object-fit:contain}.navbar__logo span{color:var(--green)}.navbar__menu{display:flex;align-items:center;gap:9px}.navbar__links{display:flex;align-items:center;gap:2px}.navbar__links a{font-size:.81rem;font-weight:600;color:#40586b;padding:9px 9px;border-radius:7px}.navbar__links a:hover,.navbar__links a.active{color:var(--green);background:var(--green-soft)}.navbar__cta{margin-left:5px}.navbar.scrolled{padding:10px 0;box-shadow:0 5px 22px rgba(11,42,71,.08)}.menu-toggle{display:none;background:transparent;padding:8px;z-index:1002}.menu-toggle span{display:block;width:25px;height:2px;margin:5px 0;border-radius:2px;background:var(--navy);transition:var(--ease)}.menu-toggle.active span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:last-child{transform:translateY(-7px) rotate(-45deg)}.menu-overlay{display:none}
/* Hero */.hero{position:relative;min-height:690px;padding:132px 0 75px;display:flex;align-items:center;overflow:hidden;background:#fff}.hero__content{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center;width:min(1160px,calc(100% - 48px));margin:auto}.hero__text{max-width:640px}.hero__badge{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 9px;border-radius:40px;color:var(--navy-2);background:#f1f7ef;border:1px solid #e0eedb;font-size:.8rem;font-weight:700;margin-bottom:23px}.hero__title{font-size:clamp(2.8rem,5.3vw,4.6rem);line-height:1.03;letter-spacing:-.06em;color:var(--navy);margin-bottom:23px}.hero__title .line-highlight{display:block;color:var(--green)}.hero__subtitle{max-width:570px;font-size:1.08rem;color:var(--muted);line-height:1.8;margin-bottom:30px}.hero__buttons{display:flex;flex-wrap:wrap;gap:12px}.hero__trust{display:flex;gap:12px;margin-top:29px}.hero__trust-item{display:flex;align-items:center;gap:9px;border-left:2px solid var(--green);padding:3px 10px;color:var(--navy)}.trust-value{font-weight:700;font-size:.92rem}.trust-label{display:none}.hero__visual{display:flex;align-items:center;justify-content:center;min-width:0}.hero__visual-inner{position:relative;width:min(100%,410px);aspect-ratio:1;display:grid;place-items:center}.hero__brandmark{position:relative;width:97%;height:97%;overflow:visible;filter:drop-shadow(0 12px 24px rgba(11,42,71,.12))}
/* Why cards */.why{background:#f5f9fb;border-block:1px solid #e8eff4}.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.why-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:29px 28px 30px;box-shadow:0 7px 23px rgba(11,42,71,.04);transition:var(--ease);overflow:hidden}.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c2dcb9}.why-card__index{position:absolute;top:20px;right:22px;color:#dfe8ee;font-family:'Manrope',sans-serif;font-weight:800;font-size:1.6rem}.why-card__icon{width:47px;height:47px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.15rem;margin-bottom:20px}.why-card h3{font-size:1.12rem;margin-bottom:10px}.why-card p{font-size:.92rem;color:var(--muted);line-height:1.7}
/* Services and client groups */.services{background:#fff}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;padding:30px 27px;min-height:252px;overflow:hidden}.service-card:before{content:'';position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(var(--green-bright),transparent);transform:scaleY(0);transform-origin:top;transition:var(--ease)}.service-card:hover:before{transform:scaleY(1)}.service-card__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);border:1px solid #e0eedb;color:var(--green);font-size:1.35rem;margin-bottom:19px;transition:var(--ease)}.service-card:hover .service-card__icon{background:var(--green);color:white}.service-card__title{font-size:1.12rem;margin-bottom:10px}.service-card__desc{font-size:.9rem;color:var(--muted);line-height:1.7}.service-card__arrow{display:inline-flex;gap:8px;align-items:center;margin-top:16px;color:var(--green);font-size:.82rem;font-weight:700;opacity:.82}.service-card__arrow:hover{gap:12px}.secteurs{background:var(--mist)}.secteurs__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:850px;margin:auto}.secteur-card{position:relative;text-align:left;padding:30px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:0 5px 18px rgba(11,42,71,.035);transition:var(--ease)}.secteur-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.secteur-card__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);color:var(--green);font-size:1.35rem;margin-bottom:19px}.secteur-card__title{font-size:1.22rem;margin-bottom:10px}.secteur-card__desc{color:var(--muted);font-size:.92rem;line-height:1.7}.secteur-card__features{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.secteur-card__features li{display:flex;align-items:center;gap:7px;color:var(--navy-2);font-size:.8rem;background:var(--mist);padding:6px 10px;border-radius:30px}.secteur-card__features li i{color:var(--green);font-size:.62rem}
/* About */.about{background:#fff}.about__content{display:block;max-width:900px;margin-inline:auto}.about__text p{color:var(--muted);line-height:1.85;margin-bottom:18px}.about__values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.value-item{display:flex;align-items:center;gap:11px;padding:14px 13px;background:var(--mist);border:1px solid #e7eef3;border-radius:11px}.value-item__icon{width:34px;height:34px;min-width:34px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green);font-size:.85rem}.value-item__text{font-size:.82rem;font-weight:700;color:var(--navy-2)}
/* Contact */.contact{background:var(--mist);border-top:1px solid #e6edf2}.contact__content{display:grid;grid-template-columns:.9fr 1.1fr;gap:23px;align-items:start}.contact__info,.contact__form-wrapper{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 20px rgba(11,42,71,.045)}.contact__info h3,.contact__form-wrapper h3{font-size:1.32rem;margin-bottom:10px}.contact__info>p{color:var(--muted);font-size:.91rem;line-height:1.7;margin-bottom:24px}.contact__details{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}.contact__detail-item{display:flex;gap:13px;align-items:center}.contact__detail-item__icon{width:42px;height:42px;min-width:42px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.contact__detail-item__text strong{display:block;color:var(--navy);font-size:.82rem}.contact__detail-item__text span{display:block;color:var(--muted);font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}.contact__zone{padding:17px;background:var(--mist);border:1px solid #e7eef3;border-radius:12px}.contact__zone-title{font-size:.75rem;color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.contact__zone-list{display:flex;flex-wrap:wrap;gap:7px}.contact__zone-list span{padding:5px 9px;border-radius:30px;background:#fff;border:1px solid #e0e9ef;color:var(--navy-2);font-size:.73rem;font-weight:600}.contact__form-wrapper h3{margin-bottom:20px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width,.form-submit{grid-column:1/-1}.form-group label{font-size:.75rem;color:var(--navy-2);font-weight:700}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #ccd9e2;border-radius:8px;padding:12px 13px;color:var(--navy);background:#fff;outline:none;font-size:.88rem;transition:var(--ease)}.form-group input::placeholder,.form-group textarea::placeholder{color:#8595a3}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(61,174,43,.12)}.form-group textarea{resize:vertical;min-height:128px}.form-group select option{color:var(--navy);background:white}.form-submit{margin-top:4px}.form-submit .btn{width:100%}.form-success{display:none;text-align:center;padding:38px 15px}.form-success.show{display:block}.form-success__icon{height:62px;width:62px;margin:0 auto 16px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.6rem}.form-success h3{margin-bottom:8px}.form-success p{color:var(--muted)}
/* Deep navy footer band */.footer{background:var(--navy);color:#fff;padding:63px 0 0}.footer .navbar__logo{color:#fff}.footer .navbar__logo span{color:#8edb77}.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.16)}.footer__brand p{max-width:280px;color:#d0dce6;font-size:.87rem;line-height:1.75;margin-top:13px}.footer__social{display:flex;gap:8px;margin-top:16px}.footer__social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:9px;display:grid;place-items:center;color:#fff}.footer__social a:hover{background:var(--green);border-color:var(--green)}.footer__col h4{font-size:.78rem;color:#fff;text-transform:uppercase;letter-spacing:1.2px;margin:6px 0 15px}.footer__col ul{display:grid;gap:9px}.footer__col ul li a{display:flex;gap:8px;align-items:center;color:#d3dee7;font-size:.83rem;overflow-wrap:anywhere}.footer__col ul li a:before{content:'›';color:#8edb77;font-weight:700}.footer__col ul li a:hover{color:#a5e58e}.footer__bottom{padding:18px 0;color:#fff;font-size:.78rem}.footer__bottom a{color:#fff}.footer__bottom p,.footer__bottom .siret{color:#fff}
/* Motion and reveal */.reveal,.reveal-left,.reveal-right{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal-left{opacity:0;transform:translateX(-22px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal-right{opacity:0;transform:translateX(22px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal.visible,.js-ready .reveal-left.visible,.js-ready .reveal-right.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.reveal-delay-6{transition-delay:.48s}}50%{transform:scale(1.035);opacity:1}}5%{opacity:1;transform:scale(1.1)}10%{opacity:.28;transform:scale(1)}15%{opacity:.85;transform:scale(1.05)}20%{opacity:.28;transform:scale(1)}}
/* Error pages */.error-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 90% 10%,#eef8eb,transparent 34%),linear-gradient(140deg,#fff,#f3f8fb)}.error-page{width:min(620px,100%);text-align:center;padding:52px 30px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.error-logo{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font:800 1.2rem 'Manrope',sans-serif;margin-bottom:28px}.error-code{font:800 clamp(5rem,17vw,8rem)/.95 'Manrope',sans-serif;letter-spacing:-.08em;color:var(--navy);text-shadow:5px 5px 0 #e8f2e3}.error-page .eyebrow{margin:18px 0 10px;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:1.7px}.error-page h1{font-size:clamp(1.6rem,5vw,2.1rem);margin-bottom:12px}.error-copy{max-width:460px;margin:0 auto 25px;color:var(--muted)}.error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.btn-outline{border:1px solid var(--line);background:white;color:var(--navy)}.error-contact{margin-top:26px;color:var(--muted);font-size:.85rem}.error-contact span{padding:0 8px;color:var(--green)}
@media(max-width:1000px){.container{width:min(100% - 40px,760px)}.navbar__links a{padding-inline:8px;font-size:.79rem}.navbar__logo{font-size:1.1rem}.navbar__logo .logo-icon{width:37px;height:37px}.hero{min-height:unset;padding:132px 0 78px}.hero__content{width:min(100% - 40px,850px);grid-template-columns:1.1fr .9fr;gap:15px}.hero__visual-inner{width:min(100%,330px)}.hero__title{font-size:clamp(2.7rem,6vw,4rem)}.footer__top{grid-template-columns:1.3fr 1fr 1fr}.footer__col:last-child{grid-column:2/4}}
@media(max-width:760px){.hero__brandmark{width:97%;height:97%}.section-padding{padding:76px 0}.container{width:calc(100% - 36px)}.navbar{padding:12px 0}.menu-toggle{display:block}.navbar__menu{position:fixed;inset:0 0 0 auto;width:min(84vw,350px);height:100dvh;background:#fff;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:92px 24px 28px;gap:14px;box-shadow:-20px 0 60px rgba(11,42,71,.14);transform:translateX(105%);transition:transform .3s ease;z-index:1001}.navbar__menu.active{transform:translateX(0)}.navbar__links{display:flex;flex-direction:column;align-items:stretch;gap:5px}.navbar__links a{display:block;font-size:.97rem;padding:12px 14px}.navbar__cta{margin:9px 0 0}.navbar__cta .btn{width:100%}.menu-overlay{display:block;position:fixed;inset:0;background:rgba(11,42,71,.28);opacity:0;pointer-events:none;z-index:1000;transition:opacity .3s}.menu-overlay.active{opacity:1;pointer-events:auto}.hero{padding:112px 0 60px}.hero__content{width:calc(100% - 36px);grid-template-columns:1fr;text-align:center;gap:30px}.hero__text{margin:auto}.hero__badge{margin-bottom:18px}.hero__title{font-size:clamp(2.65rem,10vw,4rem)}.hero__subtitle{font-size:1rem;margin:0 auto 23px}.hero__buttons,.hero__trust{justify-content:center}.hero__visual{display:flex;width:min(70vw,280px);margin:4px auto 0}.hero__visual-inner{width:100%}.hero__trust{margin-top:23px}.why__grid,.services__grid{grid-template-columns:1fr;gap:13px}.why-card{padding:24px}.service-card{min-height:unset;padding:25px}.secteurs__grid{grid-template-columns:1fr;max-width:520px}.about__content{display:block}.about__values{gap:9px}.contact__content{grid-template-columns:1fr;gap:15px}.contact__info,.contact__form-wrapper{padding:24px 20px}.footer{padding-top:45px}.footer__top{grid-template-columns:1fr 1fr;gap:28px 20px}.footer__brand{grid-column:1/-1}.footer__col:last-child{grid-column:auto}.footer__bottom{text-align:center}.js-ready .reveal,.js-ready .reveal-left,.js-ready .reveal-right{opacity:1;transform:none}}
@media(max-width:460px){.container{width:calc(100% - 30px)}.section-title{font-size:1.9rem}.hero__content{width:calc(100% - 30px)}.hero__buttons{flex-direction:column}.hero__buttons .btn{width:100%}.hero__visual{width:min(68vw,245px)}.about__values{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.form-group.full-width,.form-submit{grid-column:1}.footer__top{grid-template-columns:1fr}.footer__brand,.footer__col:last-child{grid-column:auto}.error-page{padding:38px 20px}.error-contact span{padding:0 4px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Shared interaction treatment for service, commitment and sector cards */
.interactive-card{position:relative;overflow:hidden;transition:var(--ease)}
.interactive-card:before{content:"";position:absolute;z-index:1;left:0;top:0;width:4px;height:100%;background:linear-gradient(var(--green-bright),transparent);transform:scaleY(0);transform-origin:top;transition:var(--ease);pointer-events:none}
.interactive-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c2dcb9}
.interactive-card:hover:before{transform:scaleY(1)}
.interactive-card .why-card__icon,.interactive-card .secteur-card__icon{transition:var(--ease)}
.interactive-card:hover .why-card__icon,.interactive-card:hover .secteur-card__icon{background:var(--green);color:#fff}
.footer-logo{display:block;width:180px;height:110px;object-fit:contain;object-position:left center}
.navbar__logo .logo-icon{animation:none}

/* QUALIELEC wordmark colors */
.brand-wordmark{display:inline-flex;gap:0}.brand-qual{color:#0b2c4a!important}.brand-elec{color:#2aa81a!important}.navbar__logo .brand-qual,.section-title .brand-wordmark{display:inline-flex;gap:0}.brand-qual{color:#0b2c4a!important}.navbar__logo .brand-elec,.section-title .brand-elec{color:#2aa81a!important}.footer .navbar__logo .brand-qual{color:#0b2c4a!important}.footer .navbar__logo .brand-elec{color:#2aa81a!important}
.footer-logo{background:#fff;border-radius:12px;padding:9px 12px;object-fit:contain;object-position:center}.footer .navbar__logo{gap:0}.footer-logo{width:200px;height:125px}
.contact__detail-item__text a{display:block;color:var(--muted);font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}
.contact__detail-item__text a:hover{color:var(--green)}
.contact-hours{display:grid;gap:2px;color:var(--muted);font-size:.84rem;line-height:1.55}
.footer-hours{display:grid;gap:3px;margin-top:20px;color:#d3dee7;font-size:.77rem;line-height:1.55}
.footer-hours strong{color:#fff;font-size:.8rem}
.footer__bottom .siret{margin-left:8px}

/* Le logo du hero contient une couche SVG .bolt en surimpression. */
.hero__brandmark{display:block}
#contact{scroll-margin-top:0}
