:root{--ink:#112638;--ink2:#294252;--teal:#00a99d;--blue:#0768ca;--pale:#edfaf8;--line:#dfe9ec;--bg:#f8fafb;--white:#fff;--shadow:0 16px 40px rgba(17,38,56,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}h1,h2,h3,.logo-text{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.14}h1{font-size:clamp(2.35rem,5.4vw,4.75rem);letter-spacing:-.045em;margin:0 0 25px}h2{font-size:clamp(1.8rem,3.3vw,3rem);letter-spacing:-.032em;margin:0 0 16px}h3{font-size:1.28rem;margin:0 0 10px}p{margin:0 0 18px}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 42px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.topbar{background:var(--ink);color:#d7f6f5;font-size:.8rem;padding:7px 0}.topbar .container{display:flex;justify-content:space-between;gap:15px}.site-header{position:sticky;z-index:20;top:0;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:27px;min-height:82px}.brand{display:flex;align-items:center;text-decoration:none;font-weight:800;white-space:nowrap;gap:9px}.brand-icon{background:linear-gradient(145deg,#00c1af,#0768ca);color:white;display:grid;place-items:center;width:41px;height:41px;border-radius:13px;font-size:23px;box-shadow:0 4px 15px #00a99d40}.logo-text{font-size:1.55rem;letter-spacing:-.055em}.logo-text span{color:var(--teal)}.nav{display:flex;flex:1;align-items:center;justify-content:center;gap:18px}.nav a{font-weight:700;font-size:.88rem;text-decoration:none;color:var(--ink2)}.nav a:hover,.link:hover{color:var(--teal)}.header-cta{font-size:.89rem}.menu-toggle{display:none;background:#eef8f7;border:0;padding:11px;border-radius:9px;font-weight:800}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;cursor:pointer;border-radius:13px;padding:14px 22px;font-weight:800;line-height:1.25;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(120deg,#00a99d,#008b8d);color:#fff;box-shadow:0 8px 25px #00a99d3d}.btn-blue{background:var(--blue);color:#fff}.btn-outline{border:1.5px solid #b8d5d5;color:var(--ink);background:white}.btn-dark{background:var(--ink);color:white}.hero{background:radial-gradient(circle at 82% 15%,#d7faf4 0,#f5fefd 35%,#fff 65%);padding:75px 0 65px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:55px}.eyebrow{display:inline-flex;color:#087e7e;background:#e8f8f5;border-radius:50px;padding:7px 14px;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800;margin-bottom:21px}.hero h1 em{font-style:normal;color:var(--teal)}.lede{font-size:1.17rem;color:#415d67;line-height:1.7;max-width:670px}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.hero-logo{background:white;padding:14px;border-radius:30px;box-shadow:0 27px 90px #13383e1a;border:1px solid #e4f4f2;transform:rotate(-1.2deg)}.hero-logo img{display:block;width:100%;border-radius:19px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.stat{border-top:1px solid #bddbdc;padding-top:14px;font-size:.86rem;color:#4b6770}.stat strong{font-family:system-ui;font-size:1.4rem;color:var(--ink);display:block}.section{padding:85px 0}.section-muted{background:var(--bg)}.section-head{max-width:780px;margin-bottom:33px}.section-head p{color:#506a72}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.card{border:1px solid var(--line);background:white;border-radius:20px;padding:27px;box-shadow:0 6px 25px #13293608}.card p,.card li{color:#536871}.card a.link{font-weight:800;color:#037f81;text-decoration:none}.icon-bubble{display:grid;place-items:center;width:47px;height:47px;background:#e8f8f5;color:#008c88;font-size:22px;border-radius:14px;margin-bottom:18px}.card:hover{border-color:#addfdd}.service-card h3 a{text-decoration:none}.service-card h3 a:hover{color:var(--teal)}.service-card p{min-height:78px}.card-foot{margin-top:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.dark-panel{background:linear-gradient(140deg,#112638,#183b4e);border-radius:26px;padding:40px;color:white}.dark-panel h2{color:white}.dark-panel p{color:#cee0e6}.dark-panel .eyebrow{background:#1e5964;color:#92f6ec}.pill-links{display:flex;flex-wrap:wrap;gap:10px}.pill-links a{border:1px solid #cfe6e6;border-radius:50px;padding:9px 16px;font-size:.92rem;text-decoration:none;background:white;font-weight:700}.pill-links a:hover{border-color:var(--teal);color:var(--teal)}.step{display:flex;gap:15px;padding:19px 0;border-bottom:1px solid #dce9ea}.step:last-child{border:0}.step .number{font-family:system-ui;font-size:1.45rem;color:#00a99d;font-weight:800}.step h3{margin:0 0 4px}.step p{margin:0}.page-hero{background:linear-gradient(120deg,#f0fffc,#eff7fd);padding:65px 0}.page-hero h1{max-width:950px}.page-hero .lede{max-width:800px}.breadcrumbs{color:#557177;font-size:.87rem;margin-bottom:22px}.breadcrumbs a{text-decoration:none}.breadcrumbs span{margin:0 7px}.article{max-width:850px}.article p{font-size:1.07rem}.article h2{margin-top:36px}.info{background:#edfaf8;border-left:4px solid var(--teal);padding:18px 22px;border-radius:8px;margin:25px 0}.faq details{border:1px solid var(--line);border-radius:13px;margin-bottom:10px;padding:16px 20px;background:white}.faq summary{font-weight:800;cursor:pointer}.faq p{margin:12px 0 0;color:#486068}.form-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:30px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:17px}.field label{font-weight:700}.field input,.field textarea,.field select{border-radius:10px;border:1px solid #bfd1d7;background:white;padding:12px 13px;font:inherit;color:var(--ink);width:100%}.field textarea{min-height:130px}.field small{color:#52676e}.tiny{font-size:.84rem;color:#587078}.footer{background:var(--ink);color:#c9dadd;padding:70px 0 27px}.footer .brand{color:white}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:25px}.footer a{display:block;text-decoration:none;color:#d8e5e8;margin:8px 0;font-size:.92rem}.footer a:hover{color:#4fe3d9}.footer h3{color:white;font-size:1.05rem}.footer-bottom{padding-top:24px;margin-top:34px;border-top:1px solid #325061;font-size:.8rem;color:#adc4c9}.fixed-actions{position:fixed;z-index:19;bottom:14px;right:14px;display:flex;flex-direction:column;gap:8px}.fixed-actions a{display:flex;align-items:center;justify-content:center;border-radius:50px;padding:11px 16px;color:white;font-weight:800;text-decoration:none;box-shadow:0 4px 22px #0002;font-size:.86rem}.fixed-call{background:#006bcf}.fixed-wa{background:#118564}.notice{border:1px solid #ffd987;background:#fff8e7;color:#6e530e;border-radius:12px;padding:15px;margin-bottom:24px}.small-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.small-grid a{padding:13px 16px;border-radius:12px;border:1px solid var(--line);text-decoration:none;font-weight:750;display:block}.small-grid a:hover{border-color:var(--teal)}.tag{display:inline-block;border:1px solid #c4e7e4;color:#087b79;background:#f0fbf9;border-radius:999px;padding:6px 12px;margin:0 8px 8px 0;font-size:.85rem}.kicker{letter-spacing:.09em;font-weight:800;color:#008d87;font-size:.76rem;text-transform:uppercase}.city-note{font-size:.95rem;color:#496774}.contrast-panel{background:#e9f9f8;border-radius:18px;padding:25px}.map-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.map-list a{border:1px solid #cce4e3;background:white;border-radius:15px;padding:17px;text-decoration:none}.map-list b{display:block;font-size:1rem}.map-list span{color:#557275;font-size:.83rem}.section-tight{padding:45px 0}.skip{position:absolute;top:-100px;left:10px;padding:8px;background:white;z-index:100}.skip:focus{top:10px}
@media(max-width:1020px){.nav{gap:12px}.nav a{font-size:.78rem}.header-cta{display:none}.hero-grid{gap:24px}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(100% - 30px,620px)}.topbar{font-size:.68rem}.topbar .container{flex-wrap:wrap}.header-inner{min-height:68px;justify-content:space-between}.logo-text{font-size:1.34rem}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 10px 22px #0002}.nav.is-open{display:flex}.nav a{font-size:1rem;padding:7px 4px}.hero{padding:49px 0}.hero-grid,.split,.form-layout{grid-template-columns:1fr}.hero-logo{max-width:500px;justify-self:center}.hero h1{font-size:clamp(2.3rem,8vw,3.6rem)}.grid,.grid-2,.grid-4,.footer-grid,.map-list{grid-template-columns:1fr}.section{padding:58px 0}.page-hero{padding:50px 0}.stats{gap:8px}.stat{font-size:.77rem}.stat strong{font-size:1.15rem}.fixed-actions{bottom:10px;right:10px}.fixed-actions a{padding:9px 11px;font-size:.77rem}.footer-grid{gap:12px}.dark-panel{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Premium 2027 evolution: typography, Retina visuals, SEO-driven deep pages. */
body{font-size:16px;letter-spacing:-.009em}
.hero{background:radial-gradient(circle at 86% 18%,#a9eee7 0,#e1fbf7 26%,#f4fcfc 58%,#fff 100%)}
.hero h1{font-weight:850;max-width:720px;line-height:1.08}
.hero .eyebrow{max-width:660px;line-height:1.65}
.hero-logo{box-shadow:0 30px 90px #023d4655,0 0 0 7px #ffffffaa;transform:rotate(-1deg)}
.hero-logo img{aspect-ratio:1205/705;object-fit:contain}
.logo-text{letter-spacing:-.045em}
.site-header{box-shadow:0 8px 25px #062e4510}
.choice-panel{display:flex;flex-direction:column;min-height:235px;background:white;padding:27px;border-radius:24px;border:1px solid #d9eceb;text-decoration:none;color:var(--ink);box-shadow:0 9px 27px #11263809;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.choice-panel:hover{transform:translateY(-4px);border-color:#47c6bb;box-shadow:0 22px 46px #003f4918}
.choice-panel h3{font-size:1.4rem;margin:10px 0 0}
.choice-panel p{color:#476574;font-size:.99rem;flex:1}
.choice-n{font-weight:900;color:#049992;letter-spacing:.17em;font-size:.83rem}
.choice-cta{color:#0069bd;font-weight:850;margin-top:15px}
.section-choices{background:linear-gradient(180deg,#f3fbf9,white);padding:66px 0}
.grid-3-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.section-editorial{padding:68px 0;border-top:1px solid #e2eeee}
.editorial-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,.85fr);gap:55px;align-items:start}
.editorial-layout .article h2{margin-top:0}
.editorial-layout .article p{font-size:1.06rem;line-height:1.82;color:#3e5965}
.side-links{position:sticky;top:110px;padding:24px}
.side-links a{display:block;text-decoration:none;border-bottom:1px solid #e1eeed;padding:12px 0;font-weight:750;color:#037f81}
.side-links a:last-child{border-bottom:0}
.side-links h3{font-size:1.17rem}
@media(max-width:760px){.grid-3-choices,.editorial-layout{grid-template-columns:1fr}.choice-panel{min-height:0}.section-editorial{padding:47px 0}.side-links{position:static}.hero-logo{transform:none}.hero h1{font-size:clamp(2.35rem,8vw,3.6rem)}.fixed-actions{bottom:9px;right:9px}.fixed-actions a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.choice-panel{transition:none}.choice-panel:hover{transform:none}}

/* Phase 3 : profondeur éditoriale et modules indicatifs avec source validable. */
.deep-local{background:linear-gradient(180deg,#fff,#f7fcfb);border-top:1px solid #e4efee}
.deep-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);gap:34px;align-items:start}
.deep-layout .article h3{margin:27px 0 12px;font-size:1.35rem}
.deep-layout .article p{font-size:1.05rem;line-height:1.82;color:#354e5b}
.local-side{position:sticky;top:110px}
.related-services{display:grid;gap:6px;margin:14px 0 24px}
.related-services a{display:block;padding:8px 0;border-bottom:1px solid #dce9e9;color:#036e83;text-decoration:none;font-weight:700}
.module-section{padding:65px 0}
.module-section .section-head{max-width:850px}
.module-card{border:1px solid #cce7e5;border-radius:26px;padding:30px;background:linear-gradient(145deg,#fff,#f0fbf9);box-shadow:0 18px 44px #0c536015}
.module-card-eta{background:linear-gradient(145deg,#fff,#f1f7ff);border-color:#d1e2f4}
.module-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px}
.module-form{display:grid;gap:6px}
.module-form .field{margin:0 0 8px}
.module-form .field label{display:block;font-size:.93rem;font-weight:750}
.module-form select,.module-form input{margin-top:6px;font-size:1rem;min-height:48px}
.module-form button{min-height:48px;margin-top:6px}
.module-result{background:#fff;border:1px solid #dbebef;border-radius:19px;padding:25px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.module-figure{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:850;line-height:1.15;color:#09485b;margin:12px 0 18px}
.module-result p:not(.module-figure){color:#476472}
.module-result .tiny{font-size:.79rem;margin:18px 0 0}
.module-card .btn{white-space:normal;text-align:center}
@media(max-width:760px){.deep-layout,.module-columns{grid-template-columns:1fr}.local-side{position:static}.module-card{padding:17px}.module-result{padding:20px}.module-section{padding:47px 0}.module-figure{font-size:1.7rem}}


/* ====== PHASE 4 / PREMIUM 2027 : visual language, interaction and mobile ====== */
:root{--ink:#0b2332;--ink2:#25495b;--teal:#008f85;--blue:#075eb6;--pale:#ecfaf7;--bg:#f4f8fa;--line:#dce8eb;--shadow:0 20px 65px rgba(9,47,60,.09)}
html{scroll-padding-top:104px}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-weight:800;text-wrap:balance}p{text-wrap:pretty}
.container{width:min(1220px,calc(100% - 48px))}
.topbar{background:#0b2332;color:#d7f6f5;padding:9px 0;font-size:.76rem;letter-spacing:.015em}
.topbar .container{align-items:center}
.top-status{display:inline-flex;align-items:center;gap:10px;font-weight:750}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none;background:#2ddcc8;box-shadow:0 0 0 4px rgba(45,220,200,.14)}
.top-region{color:#b9d5dc}
.site-header{background:rgba(255,255,255,.97);box-shadow:0 6px 28px rgba(6,39,53,.06);border-color:rgba(20,93,105,.10)}
.header-inner{gap:18px;min-height:90px}
.brand{gap:9px;flex-shrink:0;align-items:center;position:relative;padding:8px 0 18px}
.brand-icon{background:linear-gradient(145deg,#0b3345,#087e8b);box-shadow:0 8px 25px rgba(1,120,131,.21);width:43px;height:43px;border-radius:14px;padding:4px}
.brand-icon svg{width:100%;height:100%}
.logo-text{font-size:1.35rem;font-weight:900;letter-spacing:-.05em}
.brand-subtitle{position:absolute;left:52px;bottom:10px;color:#53717b;font-size:.55rem;letter-spacing:.12em;font-weight:900}
.nav{gap:13px;justify-content:flex-end}
.nav a{font-size:.81rem;position:relative;font-weight:770;white-space:nowrap}
.nav a[aria-current="page"],.nav a:hover{color:#008f85}
.nav a[aria-current="page"]:after{content:"";position:absolute;bottom:-9px;left:0;width:100%;height:3px;border-radius:5px;background:#008f85}
.header-cta{white-space:nowrap;padding:13px 14px;border-radius:12px;font-size:.83rem;background:#065cb7}
.header-wa{display:none;text-decoration:none;border:1px solid #b9e5de;background:#eefbf7;color:#07614e;border-radius:12px;padding:12px;font-weight:800;font-size:.8rem}
.btn{min-height:49px;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;letter-spacing:-.015em}
.btn-blue{background:#055db7;box-shadow:0 12px 26px rgba(0,91,187,.18)}.btn-primary{background:linear-gradient(135deg,#00a99d,#00776f);box-shadow:0 12px 26px rgba(0,137,125,.15)}.btn-outline{background:rgba(255,255,255,.97)}
.btn:hover{box-shadow:0 17px 29px rgba(0,73,100,.16);filter:saturate(1.08)}
.hero{background:radial-gradient(circle at 72% 15%,rgba(13,226,209,.18) 0,transparent 26%),linear-gradient(145deg,#effdfb 0,#f6fcff 56%,#e8f4fa 100%);padding:83px 0 66px;position:relative}
.hero:before{content:"";position:absolute;pointer-events:none;inset:0;background-image:linear-gradient(rgba(3,98,112,.029) 1px,transparent 1px),linear-gradient(90deg,rgba(3,98,112,.029) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000)}
.hero-grid{position:relative;grid-template-columns:1.09fr .91fr;gap:45px}
.hero h1{font-size:clamp(2.55rem,4.55vw,4.9rem);line-height:1.075;letter-spacing:-.052em;margin-bottom:23px}
.hero h1 em{display:block;font-size:.66em;line-height:1.35;margin-top:12px;color:#026e79;font-weight:790;letter-spacing:-.032em}
.hero-emphasis{color:#078a87}
.hero .eyebrow{letter-spacing:.105em;font-size:.72rem;border:1px solid #b5e8e1;background:#eafffa;color:#005e67}
.hero .lede{font-size:1.14rem;line-height:1.72;max-width:650px;color:#3d5f6b}
.hero .btn-row{margin-top:29px}
.hero-product{position:relative;transform:rotate(-1deg);padding:12px;background:rgba(255,255,255,.88);border:1px solid #fff;box-shadow:0 30px 85px rgba(7,64,77,.18),0 0 0 7px #ffffff66;isolation:isolate}
.hero-product:before{content:"";position:absolute;inset:-26px -22px 28px 22px;border:2px solid #7aded1;border-radius:35px;z-index:-1;transform:rotate(5deg);opacity:.55}
.hero-product picture img{border-radius:20px 20px 7px 7px;aspect-ratio:1205/705;object-fit:contain}
.hero-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px 4px}
.hero-photo-caption p{font-size:.85rem;margin:0;line-height:1.5;color:#4e6b75;text-align:right}
.hero-photo-caption strong{color:#123847}
.visual-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#d9f6f0;color:#016c69;font-size:.7rem;font-weight:800;white-space:nowrap}
.hero-caption-row{grid-column:1/-1;display:flex;gap:16px;align-items:center;color:#466a78;font-size:.8rem;font-weight:760;letter-spacing:.03em;padding-top:13px;border-top:1px solid rgba(14,96,113,.18)}
.hero-caption-mark{color:#02867d;font-weight:900}
.hero-caption-sep{color:#009f92}
.stats{margin-top:43px;gap:12px}
.stat{border:1px solid #d2e8e6;border-radius:15px;background:#ffffffa8;padding:14px 14px;font-size:.75rem;position:relative;min-height:92px}
.stat strong{font-size:1.05rem;font-weight:850;letter-spacing:-.03em;margin-bottom:4px;padding-left:16px}
.stat-check{position:absolute;top:13px;left:12px;color:#009c8d;font-weight:900}
.section{padding:88px 0}
.section-choices{padding:80px 0;background:linear-gradient(180deg,#f6fcfb,#fff)}
.section-head{margin-bottom:39px}
.section-head .eyebrow{margin-bottom:15px}
.section-head h2{font-size:clamp(1.95rem,3.5vw,3.4rem)}
.section-head p{font-size:1.075rem;line-height:1.75}
.choice-panel{padding:30px;background:linear-gradient(145deg,#fff,#f8fcfc);border-radius:23px;min-height:245px;position:relative;overflow:hidden}
.choice-panel:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#07b5a5,#006cc4);opacity:0;transition:opacity .2s}
.choice-panel:hover:before,.choice-panel:focus-visible:before{opacity:1}
.choice-panel:nth-child(2){background:linear-gradient(145deg,#fff,#f2f9ff)}
.choice-panel:nth-child(3){background:linear-gradient(145deg,#0c2d3c,#154b59);color:white}
.choice-panel:nth-child(3) p{color:#dbecf0}
.choice-panel:nth-child(3) .choice-n{color:#79e4dd}
.choice-panel:nth-child(3) .choice-cta{color:#9df5e8}
.choice-cta{margin-top:auto}
.card{border:1px solid #d7e7e9;box-shadow:0 10px 36px rgba(10,59,68,.045)}
.service-card{transition:transform .18s,box-shadow .18s,border-color .18s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(5,57,73,.12)}
.quality-section{background:#0d2d3d;color:#fff;position:relative;overflow:hidden}
.quality-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 10%,rgba(0,198,187,.25),transparent 48%);pointer-events:none}
.quality-section .container{position:relative}
.quality-section .section-head .eyebrow{background:#175b63;color:#b2fff3}
.quality-section .section-head p{color:#c4e1e5}
.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quality-grid article{border:1px solid #315966;border-radius:22px;padding:29px;background:rgba(255,255,255,.045)}
.quality-index{color:#76eee0;font-weight:900;letter-spacing:.15em;font-size:.75rem;display:inline-flex;margin-bottom:26px}
.quality-grid h3{color:white;font-size:1.25rem}
.quality-grid p{color:#c6dce1;line-height:1.7;margin:0}
.page-hero{padding:72px 0 61px;background:radial-gradient(ellipse at 85% 2%,rgba(0,178,188,.18),transparent 37%),linear-gradient(130deg,#ebfcf7,#f4f8fe)}
.page-hero[data-univers="chauffage"]{background:radial-gradient(ellipse at 85% 2%,rgba(5,120,200,.17),transparent 37%),linear-gradient(130deg,#ecf9ff,#f4fbfc)}
.page-hero[data-univers="plomberie"]{background:radial-gradient(ellipse at 85% 2%,rgba(0,188,155,.19),transparent 37%),linear-gradient(130deg,#eafdf8,#f3faff)}
.page-hero .container{position:relative}
.page-hero .container:after{content:"";position:absolute;right:5px;top:30px;width:190px;height:190px;border-radius:40%;border:34px solid rgba(0,166,169,.065);pointer-events:none;transform:rotate(20deg)}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.3rem);max-width:980px;position:relative;z-index:1}
.page-hero .lede{max-width:760px}
.page-hero .btn-row{position:relative;z-index:1}
.hero-mini-stats{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:31px;padding-top:18px;border-top:1px solid #cfe4e5;font-size:.83rem;color:#4f6971}
.hero-mini-stats b{color:#10394b;display:inline-block;margin-right:4px}
.breadcrumbs{position:relative;z-index:1}
.cross-trade{background:#0d2d3d;border-radius:22px;padding:35px;margin-top:12px;margin-bottom:60px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:white}
.cross-trade h2{font-size:clamp(1.5rem,2.5vw,2.5rem);margin-bottom:10px}
.cross-trade p{color:#d6e9ec;margin:0}
.cross-trade .eyebrow{background:#19545a;color:#abf8eb}
.cross-trade .btn{flex-shrink:0}
.module-section{padding:74px 0;scroll-margin-top:100px}
.module-card{border-radius:25px;padding:34px;background:linear-gradient(130deg,#ffffff,#e8f9f7);box-shadow:0 25px 65px rgba(1,88,97,.085)}
.module-card-eta{background:linear-gradient(135deg,#ffffff,#edf6ff)}
.module-form{gap:7px}
.module-form .field label{font-size:.9rem;color:#254252}
.module-form select,.module-form input{height:52px;border-radius:13px;background:#fff;border:1px solid #b8d2d6;transition:border-color .15s,box-shadow .15s}
.module-form select:focus,.module-form input:focus{border-color:#028d94;box-shadow:0 0 0 4px rgba(4,170,159,.11);outline:none}
.module-form button{margin-top:8px;width:100%}
.module-result{background:white;border-color:#d9e9e8;border-radius:20px;padding:30px;box-shadow:0 10px 30px rgba(12,60,68,.035)}
.module-result .kicker{margin-bottom:12px}
.module-figure{margin:13px 0 17px;font-size:clamp(1.65rem,3vw,2.3rem);color:#0a374d}
.result-state{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:900;letter-spacing:.015em;color:#776013;background:#fff5d9;padding:7px 11px;border-radius:50px}
.result-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#b8870b}
.result-state-confirmed{background:#e1f8f0;color:#06684e}.result-state-confirmed:before{background:#008d75}
.module-result .btn{margin-top:6px;width:100%}
.fixed-actions{display:none}
@media (min-width:861px) and (max-width:1240px){.header-inner{gap:12px}.nav{gap:10px}.logo-text{font-size:1.17rem}.brand-subtitle{font-size:.46rem}.header-cta{font-size:.74rem;padding:12px 10px}.nav a{font-size:.75rem}}
@media(max-width:1080px){.header-cta{display:none}.nav{gap:10px}.header-inner{gap:13px}}
@media(max-width:860px){
 .container{width:min(100% - 34px,720px)}
 .topbar .container{justify-content:center}.top-region{display:none}
 .header-inner{min-height:72px;justify-content:space-between}
 .logo-text{font-size:1.27rem}
 .brand{padding:8px 0 16px}
 .brand-subtitle{bottom:8px;font-size:.51rem}
 .menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #cae7e4;background:#f1faf9;color:#0b3b45;min-height:44px;padding:8px 12px}
 .menu-bars{display:grid;gap:4px}.menu-bars i{width:17px;height:2px;border-radius:4px;background:#0b5961;display:block}
 .nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;box-shadow:0 18px 32px rgba(9,44,54,.14);border-top:1px solid #dbeeed;padding:15px 20px 24px;gap:4px;max-height:calc(100vh - 102px);overflow-y:auto;z-index:5}
 .nav.is-open{display:flex}
 .nav a{font-size:.99rem;padding:12px 10px;border-radius:9px;white-space:normal}
 .nav a[aria-current="page"]:after{display:none}
 .nav a:hover,.nav a[aria-current="page"]{background:#eff9f6;color:#006f6d}
 .hero{padding:54px 0 48px}
 .hero-grid{grid-template-columns:1fr;gap:35px}
 .hero-caption-row{grid-column:1}
 .hero h1{font-size:clamp(2.5rem,7vw,4rem)}
 .hero-product{justify-self:center;width:min(100%,600px);transform:none}
 .hero-product:before{display:none}
 .quality-grid{grid-template-columns:1fr;gap:13px}
 .quality-grid article{padding:21px}
 .quality-index{margin-bottom:14px}
 .grid-3-choices{grid-template-columns:1fr}
 .cross-trade{flex-direction:column;align-items:flex-start}
 .cross-trade .btn{width:100%}
 .section{padding:65px 0}
 .fixed-actions{display:flex;flex-direction:row;bottom:0;left:0;right:0;gap:8px;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(255,255,255,.97);border-top:1px solid #d8e6e7;box-shadow:0 -10px 30px rgba(7,42,54,.1);z-index:21}
 .fixed-actions a{flex:1;min-height:50px;border-radius:12px;font-size:.91rem;box-shadow:none}
 .fixed-call{background:#005ebf}.fixed-wa{background:#06846c}
 .footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
}
@media(max-width:760px){.page-hero{padding:48px 0}.page-hero h1{font-size:clamp(2.15rem,8vw,3.45rem)}.page-hero .container:after{opacity:.45;width:110px;height:110px;border-width:19px}.hero-mini-stats{font-size:.76rem}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:12px 9px;font-size:.69rem;min-height:82px}.stat strong{font-size:.83rem}.stat-check{left:5px;top:11px}.hero-photo-caption{flex-direction:column;align-items:flex-start}.hero-photo-caption p{text-align:left}.section-head p{font-size:1rem}.module-columns{grid-template-columns:1fr}.module-card{padding:19px}.module-result{padding:19px}.hero .btn-row .btn{width:100%}.page-hero .btn-row .btn{width:100%}}
@media(max-width:360px){.stats{grid-template-columns:1fr}.stat{min-height:0}.logo-text{font-size:1.05rem}.brand-subtitle{font-size:.42rem}.brand-icon{width:36px;height:36px}.brand-subtitle{left:46px}}
@media(prefers-reduced-motion:reduce){.service-card,.choice-panel,.btn{transition:none!important}.service-card:hover,.choice-panel:hover,.btn:hover{transform:none}}

.brand-icon img{display:block;width:100%;height:100%;object-fit:contain}

/* Phase 4.1 — official user-supplied logo replaces the alternate water-drop identity. */
.site-header .header-inner{min-height:114px;gap:16px}
.site-header a.brand-official{padding:0;position:static;flex:0 0 auto;max-width:190px;line-height:0;gap:0}
.official-logo-image{display:block;width:190px;height:auto;max-width:100%;object-fit:contain}
.site-header .brand-official picture{display:block}
.site-header .nav{gap:15px;justify-content:center}
.footer a.brand-official{padding:4px 8px;display:inline-block;background:#fff;border-radius:12px;line-height:0;box-shadow:0 6px 18px #0001;width:190px;max-width:100%;}
.footer .brand-official .official-logo-image{width:100%}
/* The top-right homepage artwork is now a meaningful service selection, not a duplicate logo. */
.hero-selection{align-self:center;position:relative;padding:27px;background:linear-gradient(155deg,#ffffff 3%,#f1fbfb 100%);border:1px solid #cbe7e6;border-radius:28px;box-shadow:0 28px 74px rgba(4,54,70,.13),0 0 0 7px #ffffff8c}
.hero-selection:before{content:"";position:absolute;inset:-17px -15px 24px 25px;border:2px solid #7aded1;border-radius:34px;z-index:-1;transform:rotate(3deg);opacity:.58;pointer-events:none}
.hero-selection-intro{padding:5px 5px 16px}
.hero-selection-intro .selection-overline{color:#00796f;font-size:.68rem;letter-spacing:.145em;font-weight:900}
.hero-selection-intro h2{font-size:clamp(1.8rem,2.4vw,2.45rem);margin:10px 0 12px;line-height:1.12;letter-spacing:-.04em;color:#123343}
.hero-selection-intro p{font-size:.98rem;color:#536d75;line-height:1.58;margin:0}
.hero-service-stack{display:grid;gap:12px;margin-top:11px}
.hero-service-tile{display:flex;align-items:center;gap:15px;padding:19px 17px;border-radius:16px;background:#fff;border:1px solid #cce8e5;text-decoration:none;box-shadow:0 6px 19px #003b480d;transition:transform .18s,border-color .18s,box-shadow .18s}
.hero-service-tile:hover{transform:translateY(-2px);border-color:#00a99d;box-shadow:0 11px 26px #003b481a}
.hero-service-heating{border-color:#d3e3f1;background:linear-gradient(120deg,#fff,#f4f9ff)}
.hero-service-icon{width:50px;height:50px;flex:0 0 50px;border-radius:14px;display:grid;place-items:center;font-size:1.48rem;background:#ddf7f2;color:#005b64}
.hero-service-heating .hero-service-icon{background:#e4f0ff;color:#0c64a8}
.hero-service-copy{display:grid;gap:3px;flex:1;min-width:0}
.hero-service-kicker{font-size:.64rem;font-weight:800;letter-spacing:.06em;color:#05817b}
.hero-service-heating .hero-service-kicker{color:#216daa}
.hero-service-copy strong{font-size:1.27rem;line-height:1.2;color:#113849}
.hero-service-copy>span:last-child{font-size:.81rem;color:#526b76;line-height:1.3}
.hero-service-arrow{font-size:1.35rem;color:#006e78;font-weight:850;align-self:flex-start}
.hero-selection-bottom{border-top:1px solid #daecec;margin:22px 1px 2px;padding-top:15px;display:flex;align-items:flex-start;gap:9px}
.hero-selection-status{flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:6px;background:#00a99d;box-shadow:0 0 0 4px #d6f6e9}
.hero-selection-bottom p{color:#536872;font-size:.82rem;line-height:1.5;margin:0}
.hero-selection-bottom strong{display:block;color:#173b4c;font-size:.87rem}
@media(min-width:861px) and (max-width:1240px){.site-header .header-inner{gap:11px}.site-header a.brand-official{max-width:174px}.site-header .brand-official .official-logo-image{width:174px}.site-header .nav{gap:10px}.site-header .nav a{font-size:.77rem}}
@media(max-width:860px){
 .site-header .header-inner{min-height:98px;gap:10px}
 .site-header a.brand-official{max-width:165px}
 .site-header .brand-official .official-logo-image{width:165px}
 .site-header .nav{top:100%;}
 .hero-selection{width:min(100%,620px);justify-self:center}
 .hero-selection:before{display:none}
}
@media(max-width:480px){
 .site-header .header-inner{min-height:92px}
 .site-header a.brand-official{max-width:151px}
 .site-header .brand-official .official-logo-image{width:151px}
 .hero-selection{padding:18px;border-radius:21px}
 .hero-service-tile{padding:16px 12px;gap:10px}
 .hero-service-icon{width:41px;height:41px;flex-basis:41px;font-size:1.16rem}
 .hero-service-copy strong{font-size:1.12rem}
 .hero-service-kicker{font-size:.57rem}
 .hero-service-copy>span:last-child{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.hero-service-tile{transition:none}.hero-service-tile:hover{transform:none}}
@media(min-width:1081px) and (max-width:1180px){.site-header .header-inner{gap:8px}.site-header .nav{gap:7px}.site-header .nav a{font-size:.74rem}}
/* Prevent page-hero decorative pseudo-element from increasing document width near 1100px. */
.page-hero{overflow:hidden}

/* PHASE 5 — design system refinement and 3-step diagnostic. User-provided logo is untouched. */
:root{--ring:#087fd2;--round:22px}
html{scroll-padding-top:132px}
body{font-feature-settings:'kern' 1;-webkit-font-smoothing:antialiased}
.btn{min-height:48px;letter-spacing:-.01em}
.nav a{position:relative;transition:color .15s ease}
.nav a[aria-current="page"],.nav a:hover{color:#006c78}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#00a99d;border-radius:4px}
.page-hero .btn-row{margin-top:24px}
.section-head{max-width:820px}
.card,.choice-panel,.hero-service-tile,.map-list a{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.card:focus-within,.choice-panel:focus-within,.hero-service-tile:focus-visible,.map-list a:focus-visible{border-color:var(--teal);box-shadow:0 0 0 4px #00a99d20}
.hero{padding:50px 0 49px;background:radial-gradient(circle at 78% 20%,#d4f8f2,#eefaf9 40%,#fff 76%)}
.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:42px}
.hero .eyebrow{font-size:.7rem;padding:7px 12px;margin-bottom:16px;letter-spacing:.08em}
.hero h1{font-size:clamp(2.55rem,4.5vw,4.05rem);letter-spacing:-.05em;margin-bottom:17px;line-height:1.09}
.hero .lede{font-size:1.07rem;line-height:1.59;max-width:620px;margin-bottom:0}
.hero .btn-row{margin-top:21px;align-items:center}
.hero .btn-row .btn{min-height:53px;padding:13px 17px}
.hero .hero-secondary-link{display:inline-flex;align-items:center;color:#006e77;font-size:.91rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.hero .stats{margin-top:23px;gap:12px}
.hero .stat{font-size:.77rem;line-height:1.3;min-height:0}
.hero .stat strong{font-size:1.08rem;margin-bottom:4px}
.hero-selection{padding:21px;border-radius:23px}
.hero-selection-intro h2{font-size:clamp(1.45rem,2.25vw,2.05rem)}
.hero-selection-intro p{font-size:.86rem}
.hero-service-tile{padding:15px 13px}
.hero-service-icon{width:42px;height:42px;flex-basis:42px}
.hero-service-copy strong{font-size:1.12rem}
.hero-selection-bottom{margin-top:14px}
.quick-request{display:inline-flex;gap:8px;align-items:center;margin:18px 0 0;color:#006a76;font-size:.92rem;font-weight:800;text-underline-offset:4px}
.quick-request:hover{color:#00475a}
/* step-by-step: no extra network request, no misleading quotation */
.express-section{padding:68px 0;background:linear-gradient(135deg,#112b3d 0%,#113e50 62%,#065e65 100%);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.express-section:before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid #ffffff15;top:-170px;left:-150px;box-shadow:0 0 0 72px #ffffff05;pointer-events:none;z-index:-1}
.express-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:54px}
.express-intro{max-width:415px}
.express-intro .eyebrow{background:#124d58;color:#b4f8ee}
.express-intro h2{font-size:clamp(2rem,3.65vw,3.28rem);line-height:1.13}
.express-intro h2 span{color:#6ee9da}
.express-intro p{color:#d2e8ec;font-size:1.05rem;line-height:1.7}
.express-points{display:grid;gap:10px;margin:28px 0}
.express-points span{font-weight:750;color:#e6fbf8}
.express-intro .express-note{font-size:.84rem;color:#a9c8d0;margin-top:30px}
.express-card{scroll-margin-top:120px;background:#fff;color:#112b3d;border:1px solid #d2e9e9;border-radius:25px;padding:29px;box-shadow:0 24px 65px #02151a40;min-width:0}
.express-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:15px}
.express-overline{font-size:.75rem;color:#067f7b;letter-spacing:.12em;font-weight:850}
.express-counter{font-size:.82rem;color:#566e76;font-weight:760}
.express-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;gap:7px;margin:0 0 23px}
.express-progress li{display:flex;gap:7px;align-items:center;font-size:.75rem;font-weight:780;color:#657b82;border-bottom:3px solid #dce7e9;padding-bottom:12px;white-space:nowrap}
.express-progress li span{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:#eef3f4;color:#4b6a75;font-size:.73rem}
.express-progress li.is-current{color:#006f78;border-color:#00a99d}
.express-progress li.is-current span{background:#00786f;color:white}
.express-progress li.is-done{border-color:#4cc5b7;color:#31625f}
.express-progress li.is-done span{background:#ddf7ee;color:#087e71}
.express-step{margin:0;border:0;padding:0;min-width:0}
.express-step[hidden]{display:none!important}
.express-step legend{font-size:1.31rem;line-height:1.25;font-weight:850;margin-bottom:18px;letter-spacing:-.027em}
.express-step legend:focus{outline:none}
.express-trades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:22px}
.express-trade{border:1.5px solid #d1e3e6;border-radius:15px;padding:13px 9px;display:flex;gap:7px;align-items:center;cursor:pointer;min-width:0}
.express-trade:has(input:checked){border-color:#00897f;background:#effcf8;box-shadow:0 0 0 2px #20baab16}
.express-trade:focus-within{outline:2px solid #087fd2;outline-offset:2px}
.express-trade input{accent-color:#00897f;width:16px;height:16px;flex:0 0 16px;margin:0 0 0 3px}
.express-trade-symbol{font-size:1.05rem;color:#00897f;line-height:1}
.express-trade strong,.express-trade small{display:block;line-height:1.28}
.express-trade strong{font-size:.94rem}
.express-trade small{font-size:.71rem;color:#61727c;margin-top:3px}
.express-label{display:block;font-weight:790;font-size:.91rem;margin:0 0 7px}
.express-optional{font-weight:500;color:#647c82}
.express-form select,.express-form input,.express-form textarea{display:block;width:100%;max-width:100%;min-height:49px;border:1px solid #bdced5;background:#fff;color:#183647;border-radius:11px;padding:10px 12px;font:inherit;font-size:1rem;margin:0 0 7px}
.express-form textarea{resize:vertical;min-height:68px}
.express-fields{display:grid;grid-template-columns:.88fr 1.12fr;gap:12px;margin-bottom:10px}
.express-help{font-size:.82rem;line-height:1.5;color:#5a747c;margin:9px 0 17px}
.express-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:17px;flex-wrap:wrap}
.express-actions .btn{min-height:47px;padding:11px 17px;font-size:.9rem}
.express-actions .btn-blue{background:#0866bd}
.express-final{justify-content:stretch}
.express-final .btn{flex:1 1 auto;white-space:normal;text-align:center}
.express-summary{border:1px solid #d6e9e6;background:#f3fbf9;padding:13px 17px;border-radius:14px;margin-bottom:17px}
.express-summary>div{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #d7e7e6;font-size:.87rem;align-items:baseline}
.express-summary>div:last-child{border:0}
.express-summary span{color:#516a71;flex:0 0 26%}
.express-summary strong{text-align:right;font-weight:810;overflow-wrap:anywhere}
/* Shared visual polish and conversion throughout the existing 46 pages */
.site-header .header-inner{min-height:102px}
.site-header a.brand-official{max-width:180px}
.site-header .brand-official .official-logo-image{width:180px}
.footer .brand-official .official-logo-image{width:100%}
.footer-grid{align-items:start}
.fixed-actions a{min-height:47px}
@media(min-width:861px) and (max-width:1210px){.site-header .header-inner{gap:9px}.site-header .nav{gap:9px}.site-header .nav a{font-size:.76rem}.site-header a.brand-official{max-width:162px}.site-header .brand-official .official-logo-image{width:162px}}
@media(max-width:1040px){.express-layout{gap:24px}.express-card{padding:23px}.hero-grid{gap:25px}}
@media(max-width:860px){.site-header .header-inner{min-height:82px}.site-header a.brand-official{max-width:158px}.site-header .brand-official .official-logo-image{width:158px}.nav a[aria-current="page"]::after{display:none}.nav a[aria-current="page"]{background:#e8f8f5;border-radius:9px}.express-layout{grid-template-columns:1fr;gap:26px}.express-intro{max-width:730px}.express-intro .express-note{margin:13px 0 0}.express-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.express-points span{font-size:.79rem}.express-intro h2{font-size:2.3rem}.express-section{padding:48px 0}.hero{padding:38px 0 35px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero .stats{display:none}.hero-selection{max-width:none}}
@media(max-width:760px){
 html{scroll-padding-top:100px}
 .site-header .header-inner{min-height:78px}
 .site-header a.brand-official{max-width:146px}
 .site-header .brand-official .official-logo-image{width:146px}
 .topbar .top-region{display:none}
 .topbar{padding:5px 0;font-size:.73rem}
 .hero{padding:24px 0 25px}
 .hero .eyebrow{font-size:.6rem;letter-spacing:.045em;padding:7px 10px;margin-bottom:13px}
 .hero h1{font-size:clamp(2.05rem,8.6vw,3.15rem);margin:0 0 13px;line-height:1.075;letter-spacing:-.047em}
 .hero .lede{font-size:.97rem;line-height:1.48}
 .hero .btn-row{margin-top:17px;gap:9px}
 .hero .btn-row .btn{width:auto;flex:1;min-width:0;min-height:49px;padding:11px 10px;font-size:.91rem}
 .hero .hero-secondary-link{flex:0 0 100%;justify-content:center;font-size:.85rem;margin-top:1px}
 .hero-selection{padding:13px 14px;border-radius:17px;box-shadow:0 10px 25px #0b556d12}
 .hero-selection-intro{padding:3px 3px 11px}
 .hero-selection-intro h2{font-size:1.23rem;line-height:1.22;margin:4px 0 4px}
 .hero-selection-intro p{display:none}
 .hero-service-stack{gap:9px;margin-top:1px}
 .hero-service-tile{min-height:68px;padding:10px 11px}
 .hero-service-icon{width:35px;height:35px;flex-basis:35px;font-size:1rem;border-radius:10px}
 .hero-service-copy strong{font-size:.98rem}
 .hero-service-copy>span:last-child{font-size:.71rem}
 .hero-selection-bottom{display:none}
 .express-section{padding:40px 0}
 .express-intro h2{font-size:2rem;margin:0 0 10px}
 .express-intro p{font-size:.97rem;line-height:1.5;margin:0 0 9px}
 .express-points{grid-template-columns:1fr;gap:3px;margin:12px 0}
 .express-points span{font-size:.81rem}
 .express-intro .express-note{font-size:.77rem;margin-top:8px}
 .express-card{padding:19px 15px;border-radius:18px}
 .express-fields{grid-template-columns:1fr;gap:6px}
 .express-progress li{font-size:.69rem;gap:5px}
 .express-step legend{font-size:1.2rem}
 .express-trades{gap:7px}
 .express-trade{padding:10px 6px;gap:5px}
 .express-trade strong{font-size:.79rem}
 .express-trade small{font-size:.63rem}
 .express-trade-symbol{display:none}
 .express-final .btn{flex:1 1 42%;font-size:.82rem}
 .express-final .btn:first-child{flex:0 0 100%}
 .quick-request{margin:14px 0 0}
}
@media(max-width:360px){.hero h1{font-size:2.02rem}.hero .btn-row .btn{font-size:.81rem}.express-progress li{font-size:.64rem}.express-trade small{display:none}}
@media(prefers-reduced-motion:reduce){.nav a,.card,.choice-panel,.hero-service-tile,.map-list a{transition:none!important}html{scroll-behavior:auto}}

/* Phase 6: contextual educational / trust content */
.local-practical{margin-top:26px;padding:23px 25px;border-left:4px solid var(--teal);background:#f0faf8;border-radius:12px}
.local-practical h3{margin:0 0 8px}
.local-practical p{margin:0}
.article ul{padding-left:1.3rem;margin:0 0 22px}
.article li{margin-bottom:11px;color:#39535e;line-height:1.75}
.article a:not(.btn){color:#006e93;text-underline-offset:3px}
.article a:not(.btn):hover{color:#008f84}
.section .card h2 a{text-decoration:none;color:var(--ink)}
.section .card h2 a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.local-practical{padding:18px}}


/* Phase 7 — intent routing, lead-qualification UX and mobile conversion */
.intent-strip{background:#ffffff;border-top:1px solid #e4efef;border-bottom:1px solid #dce9e9;padding:34px 0 29px}
.intent-strip-home{background:linear-gradient(125deg,#ffffff 5%,#f1fbfa 100%)}
.intent-strip-head{display:flex;align-items:center;justify-content:space-between;gap:23px;margin-bottom:18px}
.intent-strip-head h2{font-size:clamp(1.33rem,2.15vw,1.9rem);letter-spacing:-.025em;margin:2px 0 6px}
.intent-strip-head p{color:#4c6572;margin:0;font-size:.94rem;max-width:770px;line-height:1.45}
.intent-overline{display:block;color:#007f79;font-weight:860;font-size:.72rem;letter-spacing:.10em}
.intent-phone{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none;border:1px solid #b5dad8;border-radius:12px;color:#075568;padding:12px 17px;font-weight:800;background:#f6fffd}
.intent-phone:hover{border-color:#04998c;background:#e5fbf6}
.intent-phone span{font-variant-numeric:tabular-nums}
.intent-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.intent-card{display:flex;gap:12px;align-items:center;text-decoration:none;padding:17px 15px;border-radius:15px;border:1px solid #d2e7e7;background:#fff;min-width:0;box-shadow:0 4px 15px #123c4510;transition:transform .15s,border-color .15s,box-shadow .15s}
.intent-card:hover{transform:translateY(-2px);border-color:#5bcbbf;box-shadow:0 7px 20px #123c4520}
.intent-icon{width:43px;height:43px;flex:none;background:#e5faf6;color:#017976;border-radius:12px;display:grid;place-items:center;font-size:1.45rem;font-weight:900}
.intent-heat .intent-icon{background:#e8f2ff;color:#0768ca}
.intent-install .intent-icon{background:#eef2f6;color:#3c576b}
.intent-card strong,.intent-card small{display:block;line-height:1.35}
.intent-card strong{font-size:.93rem;font-weight:850;color:#103b49}
.intent-card small{font-size:.78rem;margin-top:4px;color:#526975}
.intent-arrow{margin-left:auto;color:#0c817d;font-size:1.25rem}
.intent-disclaimer{font-size:.74rem;color:#627780;margin:14px 0 0;line-height:1.4}
.intent-disclaimer a{color:#14688b;text-underline-offset:2px}
.context-callout{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:23px 25px;background:linear-gradient(125deg,#effbf7,#eff6ff);border:1px solid #c9e9e7;border-radius:16px;margin:0 0 36px}
.context-callout strong{display:block;font-size:1.14rem;line-height:1.38;margin:4px 0;color:#103746}
.context-callout p{margin:0;color:#4c6672;font-size:.91rem;line-height:1.55}
.context-label{font-size:.69rem;color:#007c75;letter-spacing:.11em;font-weight:850}
.context-callout .btn{white-space:nowrap;flex-shrink:0}
@media(max-width:860px){.intent-strip{padding:23px 0}.intent-strip-head{flex-direction:column;align-items:stretch;gap:12px}.intent-phone{align-self:flex-start}.intent-card-grid{grid-template-columns:1fr;gap:8px}.intent-card{padding:12px 13px}.intent-icon{width:38px;height:38px;font-size:1.25rem}.intent-card small{font-size:.76rem}.context-callout{flex-direction:column;align-items:stretch}.context-callout .btn{white-space:normal}}
@media(max-width:760px){.intent-strip-home{padding-top:22px}.intent-strip-head h2{font-size:1.42rem}.intent-strip-head p{font-size:.87rem}.intent-phone{width:100%;min-height:45px;font-size:.88rem}.intent-card{min-height:66px}.context-callout{margin-bottom:25px;padding:17px}}
@media(prefers-reduced-motion:reduce){.intent-card{transition:none!important}}

/* Phase 9: readable editorial sections, local navigation and contact summary. */
.seo-toc{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:21px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.seo-toc>span{font-weight:800;color:#476472}.seo-toc a{font-weight:750;color:#036e83;text-underline-offset:4px;min-height:32px;display:inline-flex;align-items:center}
.seo-section .seo-article{max-width:930px}.seo-article h2{margin-top:0}.seo-article h3{margin-top:28px;line-height:1.35}.seo-article p{color:#354e5b;line-height:1.82}
.seo-article a:not(.btn):not(.link){color:#006b83;text-underline-offset:3px}.seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.seo-grid .card{padding:24px}.seo-grid h3{margin-top:0}.seo-grid p{font-size:.97rem}.seo-faq{margin-top:32px}.seo-faq h3{margin-bottom:18px}.seo-faq summary{line-height:1.5}.seo-faq details{overflow-wrap:anywhere}
.contact-result{margin-top:24px}.contact-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:#354e5b;background:#f2f9f8;padding:18px;border-radius:12px}.contact-result[hidden]{display:none}.seo-toc a:focus-visible{outline-offset:5px}
@media(max-width:860px){.seo-grid{grid-template-columns:1fr}.seo-toc{gap:9px 14px}.seo-toc>span{width:100%}.seo-article h3{font-size:1.2rem}}

/* WhatsApp — couleur de marque et contraste lisible. */
a.btn[href^="https://wa.me/"],a.header-wa[href^="https://wa.me/"],a.fixed-wa[href^="https://wa.me/"],a.hero-secondary-link[href^="https://wa.me/"]{background:#25D366!important;background-image:none!important;border-color:#25D366!important;color:#111b21!important;box-shadow:0 8px 24px rgba(37,211,102,.18)}
a.btn[href^="https://wa.me/"]:hover,a.header-wa[href^="https://wa.me/"]:hover,a.fixed-wa[href^="https://wa.me/"]:hover,a.hero-secondary-link[href^="https://wa.me/"]:hover{background:#20bd5a!important;border-color:#20bd5a!important;color:#111b21!important}
a.btn[href^="https://wa.me/"]:focus-visible,a.header-wa[href^="https://wa.me/"]:focus-visible,a.fixed-wa[href^="https://wa.me/"]:focus-visible,a.hero-secondary-link[href^="https://wa.me/"]:focus-visible{outline:3px solid #075e54;outline-offset:3px}
a.hero-secondary-link[href^="https://wa.me/"]{padding:11px 18px;border-radius:12px;text-decoration:none!important}

/* Logo footer transparent 20261012 */
.footer a.brand-official{background:transparent;box-shadow:none}
