@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Raleway:wght@500;600;700&display=swap');
:root{--nm-white:#fff;--nm-primary:#7209b7;--nm-purple-soft:#9e12a6;--nm-pink:#f72585;--nm-magenta:#cb1c96;--nm-text:#202124;--nm-text-secondary:#5f6368;--nm-background:#fff;--nm-background-soft:#f7f7f8;--nm-background-alt:#f2f2f4;--nm-border:#e4e4e7;--nm-deep:#180625;--ink:var(--nm-text);--navy:var(--nm-deep);--blue:var(--nm-primary);--sky:var(--nm-background-alt);--gold:var(--nm-pink);--paper:var(--nm-background-soft);--line:var(--nm-border);--muted:var(--nm-text-secondary);--white:var(--nm-white);--radius:18px;--shadow:0 18px 50px rgba(32,33,36,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff;line-height:1.65;overflow-x:hidden}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.035em;line-height:1.13}h1{font-size:clamp(2.35rem,5vw,5rem);font-weight:800}h2{font-size:clamp(1.75rem,3vw,3rem);font-weight:700}h3{font-weight:700}a{color:var(--blue)}.container{max-width:1200px}.skip-link{position:fixed;z-index:9999;top:-80px;left:1rem;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.topline{font-size:.78rem;background:var(--navy);color:#c9d8e6;padding:.35rem 0}.topline a{color:#fff;text-decoration:none}.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(217,226,236,.8)}.navbar{min-height:76px}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font-family:Manrope,sans-serif;font-size:1.02rem;line-height:1}.brand small{display:block;font:500 .62rem/1.4 'DM Sans';letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:.25rem}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--ink);color:#fff;font-weight:800;border-radius:10px;letter-spacing:-.08em}.nav-link{color:var(--ink);font-weight:600;font-size:.9rem;padding:.7rem .65rem!important}.dropdown-toggle{background:none;border:0}.dropdown-menu{border:0;box-shadow:var(--shadow);border-radius:12px;padding:.6rem}.dropdown-item{border-radius:8px;padding:.55rem .8rem}.btn{border-radius:10px;font-weight:700;padding:.72rem 1.1rem}.btn-brand{background:var(--gold);color:var(--navy);border-color:var(--gold)}.btn-brand:hover,.btn-brand:focus{background:#d8a72d;border-color:#d8a72d;color:var(--navy)}.btn-ghost{border:1px solid #9fb3c3;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}.home-hero,.page-hero{position:relative;isolation:isolate;background:linear-gradient(135deg,#f4f8fa 0%,#fff 60%,#edf5f7 100%);padding:clamp(4rem,8vw,7.5rem) 0;overflow:hidden}.home-hero:before,.page-hero:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(16,42,67,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,67,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to right,transparent,#000)}.page-hero.compact{padding:4.5rem 0}.page-hero.compact h1{max-width:850px}.lead{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--muted);max-width:760px}.zone{font-weight:700;color:var(--blue);margin:1.5rem 0}.eyebrow{font-family:Manrope,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}.hero-system{position:relative;aspect-ratio:1;border:1px solid #b8ccd8;border-radius:50%;max-width:440px;margin:auto;background:radial-gradient(circle,#fff 0 31%,transparent 32%),conic-gradient(from 30deg,transparent,#d9e9ee,transparent,#f4df9c,transparent)}.hero-system:before,.hero-system:after{content:"";position:absolute;inset:15%;border:1px dashed #8cacbe;border-radius:50%}.hero-system:after{inset:32%;border-style:solid}.system-core{position:absolute;inset:36%;display:grid;place-items:center;align-content:center;background:var(--navy);color:#fff;border-radius:50%;font:800 2rem Manrope;box-shadow:0 0 0 8px rgba(255,255,255,.8)}.system-core small{font:500 .55rem DM Sans;text-transform:uppercase;letter-spacing:.08em}.node{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(16,42,67,.12);padding:.55rem .85rem;border-radius:100px;font-weight:700;font-size:.78rem}.n1{top:4%;left:35%}.n2{right:-2%;top:44%}.n3{bottom:7%;left:39%}.n4{left:-4%;top:44%}.section{padding:clamp(4rem,8vw,7rem) 0}.section-soft{background:var(--paper)}.section-dark{background:var(--navy);color:#d9e2ec}.section-dark h2{color:#fff}.section-dark .eyebrow{color:var(--gold)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end;margin-bottom:2.5rem}.section-heading p:last-child{color:var(--muted)}.service-card{display:block;height:100%;padding:1.7rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#9fb3c3}.service-card>span,.card-num{font:800 .75rem Manrope;color:var(--blue);letter-spacing:.12em}.service-card h3{margin:1.3rem 0 .6rem}.service-card p{color:var(--muted)}.service-card b{font-size:.85rem}.process{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.process li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:1rem 1.2rem;border-radius:12px;font-weight:700}.process span{color:var(--gold);margin-right:1rem}.pro-panel{padding:clamp(2rem,5vw,4rem);border:1px solid var(--line);border-radius:24px;background:linear-gradient(120deg,#fff,#edf5f7);box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}.pro-path{background:#fff;color:var(--ink);padding:1.5rem;border:1px solid var(--line);border-radius:14px;font:700 clamp(.85rem,1.6vw,1.05rem) Manrope;display:flex;gap:.7rem;align-items:center;justify-content:center;flex-wrap:wrap}.pro-path span{color:var(--gold)}.pro-path.vertical{flex-direction:column;max-width:260px;margin:auto}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.area-grid b{font:800 2rem Manrope;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:14px}.area-grid small{display:block;font:500 .72rem DM Sans;color:var(--muted)}.tech-visual{position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background-color:var(--navy);background-image:linear-gradient(30deg,transparent 49%,rgba(255,255,255,.12) 50%,transparent 51%),linear-gradient(120deg,transparent 49%,rgba(233,185,73,.5) 50%,transparent 51%),radial-gradient(circle at 30% 35%,#247ba0 0 7%,transparent 7.5%),radial-gradient(circle at 68% 65%,#e9b949 0 5%,transparent 5.5%);background-size:75px 75px,110px 110px,100% 100%,100% 100%;box-shadow:var(--shadow)}.tech-visual:before{content:"";position:absolute;inset:15%;border:2px solid rgba(255,255,255,.65);border-radius:18px}.pulse{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--gold);top:35%;left:30%;box-shadow:0 0 0 12px rgba(233,185,73,.12)}.visual-label{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;background:rgba(255,255,255,.92);padding:.8rem 1rem;border-radius:10px;font-weight:700;font-size:.8rem}.content-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.4rem);background:#fff}.content-card h2{font-size:1.55rem;margin:.9rem 0}.content-card p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:1.3rem 0 0}.check-list li{position:relative;padding:.5rem 0 .5rem 1.7rem;border-top:1px solid #edf1f4}.check-list li:before{content:"";position:absolute;left:0;top:1rem;width:8px;height:8px;background:var(--gold);border-radius:2px}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:2rem}.link-grid a{display:flex;justify-content:space-between;align-items:center;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:700;color:var(--ink)}.form-shell{padding:clamp(1.5rem,4vw,3.5rem);background:var(--paper);border:1px solid var(--line);border-radius:24px}.form-control,.form-select{border-color:#b8c7d1;border-radius:9px;padding:.75rem}.form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(22,78,114,.15)}label{font-weight:700;font-size:.88rem;margin-bottom:.35rem}.form-check-wrap{display:flex;gap:.75rem;align-items:flex-start}.form-check-wrap label{font-weight:400}.hp{position:absolute!important;left:-10000px!important}.form-status{margin:.8rem 0 0;font-weight:600;color:#2f6f44}.form-status.error{color:#a61b1b}.legal .narrow{max-width:800px}.legal h2{font-size:1.45rem;margin-top:2.5rem}.cta-band{background:var(--blue);color:#fff;padding:3.5rem 0}.cta-band h2{color:#fff}.cta-band p{margin-bottom:.5rem}footer{background:#061522;color:#aebdca;padding:4rem 0 1.5rem}footer h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:1rem}footer a{display:block;color:#dce6ee;text-decoration:none;margin:.4rem 0}.brand-light{color:#fff}.brand-light small{color:#aebdca}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #284052;margin-top:3rem;padding-top:1.2rem;font-size:.8rem}.footer-bottom a{display:inline}.mobile-actions{position:fixed;z-index:1031;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.4fr;background:#fff;box-shadow:0 -5px 20px rgba(0,0,0,.15)}.mobile-actions a{text-align:center;text-decoration:none;font-weight:700;padding:.8rem}.mobile-actions a:last-child{background:var(--gold);color:var(--navy)}:focus-visible{outline:3px solid #2f80ed;outline-offset:3px}
@media(max-width:1199px){.navbar-collapse{padding:1rem 0 1.3rem}.nav-link{padding:.6rem 0!important}.dropdown-menu{box-shadow:none;border:1px solid var(--line)}}
@media(max-width:767px){body{padding-bottom:49px}.topline .container{justify-content:center!important}.topline a{display:none}.section-heading,.pro-panel{grid-template-columns:1fr;gap:1.5rem}.area-grid{grid-template-columns:1fr 1fr}.link-grid{grid-template-columns:1fr}.home-hero,.page-hero{padding:4rem 0}.hero-system{max-width:300px}.node{font-size:.65rem}.footer-bottom{flex-direction:column}.cta-band .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Garde-fous de mise en page pour les libellés techniques longs. */
main,.row>*{min-width:0}h1,h2,h3{overflow-wrap:break-word}
@media(max-width:767px){.home-hero h1,.page-hero h1{font-size:clamp(2rem,10vw,2.7rem);max-width:340px}.home-hero .lead,.home-hero .zone{max-width:340px}.zone{overflow-wrap:anywhere}.hero-system{max-width:290px}.node{font-size:.6rem;padding:.45rem .6rem}.n2{right:0}.n4{left:0}}

/* Univers de marque partagé avec NM CLIMATECHNICS, décliné pour l’électricité. */
:root{--ink:var(--nm-text);--navy:var(--nm-deep);--paper:var(--nm-white);--mist:var(--nm-background-alt);--muted:var(--nm-text-secondary);--blue:var(--nm-primary);--gold:var(--nm-pink);--line:var(--nm-border);--radius:1.25rem;--shadow:0 22px 55px rgba(32,33,36,.12)}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.container,.container-fluid{padding-right:clamp(1.5rem,3vw,2.25rem);padding-left:clamp(1.5rem,3vw,2.25rem)}h1,h2,h3{font-family:Inter,system-ui,sans-serif}h1{font-size:clamp(3.1rem,6.5vw,6.7rem);line-height:.91;letter-spacing:-.065em;font-weight:620}h2{font-size:clamp(2.3rem,5vw,4.65rem);line-height:.98;letter-spacing:-.055em;font-weight:620}.lead-copy{font-size:clamp(1.05rem,1.8vw,1.32rem);color:var(--muted);line-height:1.6}.section{padding:clamp(4.5rem,8vw,8rem) 0}.section-mist{background:var(--mist)}.btn{border-radius:100px;padding:.78rem 1.25rem}.btn-dark{background:var(--ink);border-color:var(--ink)}.btn-brand{background:var(--gold);border-color:var(--gold)}
.hero{padding:clamp(7rem,11vw,10rem) 0 clamp(4rem,8vw,8rem)}.hero-visual{min-height:620px;position:relative}.hero-main{display:block;width:82%;height:520px;object-fit:cover;object-position:58% center;border-radius:var(--radius);margin-left:auto}.float-card{position:absolute;left:0;bottom:0;width:46%;background:var(--ink);color:#fff;padding:1.7rem;border-radius:var(--radius)}.float-card .big{font-size:2.5rem;line-height:1}.metric{border-top:1px solid var(--line);padding-top:1.1rem}.metric strong{font-size:1.18rem;display:block}.metric span{display:block;color:var(--muted);margin-top:.35rem}.photo-card{overflow:hidden;border:0;border-radius:var(--radius);background:#fff}.photo-card img{display:block;width:100%;height:330px;object-fit:cover}.photo-card .content{padding:1.6rem}.photo-card h3{font-size:1.5rem;margin:.65rem 0}.photo-card p{color:var(--muted)}.service-number,.step-num{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.14em}.arrow-link{text-decoration:none;font-weight:750}.arrow-link span{display:inline-block;transition:transform .2s}.arrow-link:hover span{transform:translateX(5px)}.split-img{display:block;width:100%;height:620px;object-fit:cover;border-radius:var(--radius)}.step{border-top:1px solid rgba(255,255,255,.35);padding-top:1.2rem}.step h3{font-size:1.15rem;margin-top:1rem}.section-dark .step-num,.section-dark .eyebrow{color:#e4a36d}.project-thumb{width:100%;height:390px;object-fit:cover;border-radius:var(--radius)}.pro-panel{grid-template-columns:1fr 1fr;border:0;background:var(--mist);box-shadow:none}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
footer{padding-top:5rem}.brand-light{font-size:clamp(1.5rem,3vw,2.5rem)}.cta-band{background:var(--ink)}
@media(max-width:991px){.hero{padding-top:5rem}.hero-visual{min-height:500px;margin-top:2rem}.hero-main{height:430px}.split-img{height:460px}.navbar-toggler{margin-left:auto}}
@media(max-width:575px){h1{font-size:clamp(2.7rem,13vw,4rem)}h2{font-size:clamp(2.15rem,10vw,3.1rem)}.hero-main{width:90%;height:370px}.hero-visual{min-height:450px}.float-card{width:68%;padding:1.2rem}.photo-card img{height:300px}.split-img,.project-thumb{height:340px}.pro-panel{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.reference-page-hero{padding:clamp(6rem,9vw,9rem) 0 5rem}.reference-page-hero h1{font-size:clamp(2.8rem,5.4vw,5.7rem)}.service-hero-img{display:block;width:100%;height:520px;object-fit:cover;border-radius:var(--radius)}
@media(max-width:991px){.service-hero-img{height:420px}}@media(max-width:575px){.reference-page-hero h1{font-size:clamp(2.4rem,11vw,3.4rem)}.service-hero-img{height:330px}}
.container,.container-fluid{width:100%}.service-area{padding:1.25rem 0;background:var(--ink);color:#fff;text-align:center;font-weight:700}
@media(max-width:575px){.nm-hero h1,.nm-hero .lead-copy{max-width:340px}.hero-visual{width:100%;max-width:340px;margin-right:auto;margin-left:auto}}

/* Identité NOVALEC MORIN : surfaces neutres et couleur réservée aux repères. */
body{color:var(--nm-text);background:var(--nm-background)}
h1,h2,h3,.brand,.eyebrow,.service-card>span,.card-num,.area-grid b{font-family:"Raleway",sans-serif}
h1,h2,h3{font-weight:500}
.topline,.section-dark,footer{background:var(--nm-deep)}
.site-header{border-bottom-color:var(--nm-border)}
.brand-mark{background:linear-gradient(135deg,var(--nm-primary),var(--nm-purple-soft));color:var(--nm-white)}
.nav-link:hover,.nav-link:focus,.nav-link.active,.dropdown-item:hover,.dropdown-item:focus,a:hover{color:var(--nm-primary)}
.btn-brand,.btn-dark{background:var(--nm-primary);border-color:var(--nm-primary);color:var(--nm-white)}
.btn-brand:hover,.btn-brand:focus,.btn-dark:hover,.btn-dark:focus{background:var(--nm-purple-soft);border-color:var(--nm-purple-soft);color:var(--nm-white)}
.btn-outline-dark,.btn-ghost{background:var(--nm-white);border-color:var(--nm-border);color:var(--nm-primary)}
.btn-outline-dark:hover,.btn-outline-dark:focus,.btn-ghost:hover,.btn-ghost:focus{background:var(--nm-background-soft);border-color:var(--nm-primary);color:var(--nm-primary)}
.home-hero,.page-hero{background:linear-gradient(135deg,var(--nm-background-soft),var(--nm-white) 62%,var(--nm-background-alt))}
.home-hero:before,.page-hero:before{background-image:linear-gradient(rgba(114,9,183,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(114,9,183,.045) 1px,transparent 1px)}
.eyebrow,.zone,.service-number,.step-num,.arrow-link,.card-num{color:var(--nm-primary)}
.service-card:hover{border-color:rgba(114,9,183,.35)}
.section-dark .eyebrow,.section-dark .step-num,.process span,.pro-path span{color:var(--nm-pink)}
.check-list li:before,.pulse{background:var(--nm-magenta)}
.pulse{box-shadow:0 0 0 12px rgba(203,28,150,.12)}
.tech-visual{background-color:var(--nm-deep);background-image:linear-gradient(30deg,transparent 49%,rgba(255,255,255,.12) 50%,transparent 51%),linear-gradient(120deg,transparent 49%,rgba(158,18,166,.45) 50%,transparent 51%),radial-gradient(circle at 30% 35%,var(--nm-primary) 0 7%,transparent 7.5%),radial-gradient(circle at 68% 65%,var(--nm-magenta) 0 5%,transparent 5.5%)}
.pro-panel,.section-mist{background:var(--nm-background-alt)}
.form-control:focus,.form-select:focus{border-color:var(--nm-primary);box-shadow:0 0 0 .2rem rgba(114,9,183,.14)}
.cta-band{background:var(--nm-primary)}
.mobile-actions a:last-child{background:var(--nm-primary);color:var(--nm-white)}
:focus-visible{outline-color:var(--nm-pink)}
@media(max-width:575px){.mobile-actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.mobile-actions a{min-width:0;padding:.78rem .45rem;font-size:.86rem;white-space:normal}}

/* Le contenu reste toujours visible si JavaScript est indisponible ou bloqué. */
.reveal{opacity:1;transform:none}
