:root{--red:#e10600;--red2:#c90000;--ink:#111318;--muted:#62666d;--line:#e7e8eb;--soft:#f7f8f9;--radius:16px;--shadow:0 14px 38px rgba(20,24,32,.08);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:900px}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:9999;background:#fff;padding:10px;top:8px;left:8px}.dgv2-icon{width:22px;height:22px;display:inline-block;vertical-align:middle}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;flex:0 0 205px}.brand img,.custom-logo{display:block;width:205px;height:auto}.desktop-nav{margin-left:auto}.desktop-nav ul{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}.desktop-nav a{text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.02em;position:relative}.desktop-nav a:hover,.desktop-nav .is-active{color:var(--red)}.desktop-nav .is-active:after{content:"";position:absolute;height:2px;background:var(--red);left:0;right:0;bottom:-14px}.header-actions{display:flex;align-items:center;gap:14px}.icon-link{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;font-size:9px;font-weight:800;text-transform:uppercase}.icon-link .dgv2-icon{width:19px;height:19px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.02em}.btn-primary{background:var(--red);color:#fff;box-shadow:0 7px 18px rgba(225,6,0,.2)}.btn-primary:hover{background:var(--red2)}.btn-white{background:#fff;color:var(--red)}.header-cta{min-height:44px;padding:0 18px}.menu-toggle{display:none;background:transparent;border:0;padding:8px}.mobile-nav{display:none}.hero{overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff 0%,#fff 58%,#fafafa 100%)}.hero-grid{min-height:540px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:40px}.eyebrow{margin:0 0 12px;color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.hero h1{max-width:720px;font-size:clamp(44px,5vw,70px);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase;margin:0 0 22px}.hero h1 span{color:var(--red)}.hero-lead{max-width:650px;font-size:18px;color:#30343a;margin:0 0 26px}.trade-search{display:grid;grid-template-columns:1fr 58px;max-width:620px;border:1px solid #dfe1e4;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 9px 26px rgba(20,24,32,.05)}.trade-search input{border:0;outline:0;padding:0 18px;font-size:15px;height:56px}.trade-search button{border:0;background:var(--red);color:#fff;cursor:pointer}.trust-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}.trust-row span{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.trust-row .dgv2-icon{width:18px;height:18px}.hero-visual{position:relative;align-self:end;height:510px}.hero-visual img{position:absolute;z-index:2;right:8%;bottom:0;max-height:500px;width:auto}.blueprint{position:absolute;inset:50px -100px 20px 0;opacity:.34;background-image:linear-gradient(30deg,transparent 49%,#d8dade 50%,transparent 51%),linear-gradient(150deg,transparent 49%,#d8dade 50%,transparent 51%);background-size:110px 70px;border:1px solid #eceef0}.devy-note{position:absolute;z-index:3;left:5%;top:32%;max-width:155px;font-size:18px;font-family:"Segoe Print","Comic Sans MS",cursive;transform:rotate(-5deg)}.section{padding:72px 0}.section-soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{text-align:center;max-width:760px;margin:0 auto 32px}.section-head h2,.region-section h2,.cta-card h2{font-size:clamp(27px,3vw,40px);line-height:1.08;text-transform:uppercase;letter-spacing:-.025em;margin:0 0 10px}.section-head p{margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.category-card{min-height:148px;border:1px solid #dddfe2;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:16px;text-decoration:none;transition:.18s ease}.category-card:hover{transform:translateY(-3px);border-color:#f1aaa7;box-shadow:var(--shadow)}.category-card strong{text-transform:uppercase;font-size:12px;line-height:1.25}.category-icon{color:var(--red)}.category-icon .dgv2-icon{width:42px;height:42px;stroke-width:1.7}.text-link{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-size:13px;font-weight:800;text-decoration:none;margin-top:24px}.text-link .dgv2-icon{width:16px}.centered{display:flex;width:max-content;margin-left:auto;margin-right:auto}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;position:relative}.process-card{text-align:center;position:relative;padding:10px 26px}.process-card>b{position:absolute;top:0;left:10px;width:32px;height:32px;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:50%}.process-card>span{color:var(--red)}.process-card .dgv2-icon{width:54px;height:54px}.process-card h3{text-transform:uppercase;font-size:15px;margin:16px 0 6px}.process-card p{color:var(--muted);font-size:13px;margin:0}.center{text-align:center;margin-top:30px}.benefit-grid,.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.benefit-grid>div,.stats-grid>div{min-height:120px;background:#fff;border:1px solid #dfe1e3;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}.benefit-grid strong,.stats-grid strong{font-size:22px;color:var(--red);text-transform:uppercase}.benefit-grid span,.stats-grid span{font-size:12px;color:#34383e;margin-top:6px}.trade-chips{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.trade-chips a,.region-buttons a{border:1px solid #dfe1e4;border-radius:7px;background:#fff;padding:10px 12px;text-align:center;font-size:12px;font-weight:700;text-decoration:none}.trade-chips a:hover,.region-buttons a:hover{border-color:#eeaaa7;color:var(--red)}.region-section{background:#fff}.region-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}.region-map{min-height:320px;display:grid;place-items:center}.map-shape{width:min(100%,470px);aspect-ratio:1.55;background:linear-gradient(135deg,#f32b23,#cb0000);clip-path:polygon(9% 51%,17% 28%,31% 27%,40% 16%,57% 18%,66% 30%,85% 28%,94% 50%,85% 66%,71% 69%,62% 86%,47% 75%,30% 82%,20% 68%);position:relative;box-shadow:inset 0 0 0 3px rgba(255,255,255,.28)}.map-shape span{position:absolute;color:#fff;font-size:14px;font-weight:900}.map-shape span:nth-child(1){left:35%;top:45%}.map-shape span:nth-child(2){left:62%;top:35%}.map-shape span:nth-child(3){left:12%;top:65%}.map-shape span:nth-child(4){left:52%;top:65%}.map-shape span:nth-child(5){left:67%;top:21%}.map-shape span:nth-child(6){left:20%;top:24%}.region-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.partner-placeholder{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.partner-placeholder>div{min-height:112px;background:#fff;border:1px solid #dfe1e3;border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.partner-placeholder strong{font-size:14px}.partner-placeholder span{font-size:10px;color:var(--muted);margin-top:5px}.stats-section{padding-top:58px}.cta-section{padding:18px 0 0}.cta-card{min-height:210px;background:linear-gradient(110deg,#b80000,#ef1710);color:#fff;border-radius:15px 15px 0 0;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:30px;padding:10px 42px;overflow:hidden}.cta-card img{align-self:end;max-height:205px;width:auto}.cta-card p{margin:0;max-width:640px}.cta-card>div:last-child{display:flex;flex-direction:column;align-items:center;gap:8px}.cta-card small{font-size:11px}.site-footer{background:#14171b;color:#fff;padding:58px 0 18px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:44px}.footer-brand img{width:220px;background:#fff;border-radius:5px;padding:5px}.footer-brand p{max-width:260px;color:#aeb2b8;font-size:13px}.site-footer h3{font-size:12px;text-transform:uppercase;margin:0 0 14px}.site-footer a{display:block;color:#c8cbd0;text-decoration:none;font-size:12px;margin:7px 0}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #2b2f35;margin-top:38px;padding-top:16px;display:flex;justify-content:space-between;color:#8e949c;font-size:11px}.footer-bottom div{display:flex;gap:18px}.footer-bottom a{display:inline;margin:0}.generic-main{padding:90px 0;min-height:55vh}.generic-main h1{text-transform:uppercase;font-size:clamp(34px,5vw,60px)}.entry-content{font-size:17px}.entry-content img{border-radius:12px}
@media(max-width:1100px){.desktop-nav{display:none}.desktop-only{display:none}.menu-toggle{display:inline-grid;place-items:center}.header-actions{margin-left:auto}.mobile-nav{position:absolute;left:0;right:0;top:78px;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px 22px;box-shadow:0 14px 30px rgba(0,0,0,.08)}.mobile-nav.is-open{display:block}.mobile-nav a{display:block;padding:12px 4px;text-decoration:none;font-weight:800}.mobile-nav hr{border:0;border-top:1px solid var(--line)}.category-grid{grid-template-columns:repeat(3,1fr)}.trade-chips{grid-template-columns:repeat(4,1fr)}.partner-placeholder{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.3fr repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.header-inner{height:66px;gap:12px}.brand{flex-basis:145px}.brand img,.custom-logo{width:145px}.header-cta{font-size:10px;min-height:38px;padding:0 12px}.mobile-nav{top:66px}.hero-grid{grid-template-columns:1fr;min-height:auto;gap:0;padding-top:38px}.hero h1{font-size:41px}.hero-lead{font-size:15px}.hero-visual{height:330px;margin-top:10px}.hero-visual img{max-height:320px;right:1%}.blueprint{inset:50px -80px 0 16%}.devy-note{display:none}.trade-search{grid-template-columns:1fr 54px}.trust-row{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:12px}.trust-row span{font-size:10px}.section{padding:50px 0}.section-head{text-align:left;margin-bottom:24px}.section-head h2,.region-section h2,.cta-card h2{font-size:28px}.category-grid{grid-template-columns:1fr 1fr;gap:10px}.category-card{min-height:126px;padding:12px}.category-card strong{font-size:10px}.category-icon .dgv2-icon{width:36px;height:36px}.process-grid{grid-template-columns:1fr;gap:8px}.process-card{text-align:left;padding:12px 12px 12px 72px;min-height:118px}.process-card>b{left:2px;top:18px}.process-card>span{position:absolute;left:40px;top:14px}.process-card .dgv2-icon{width:30px;height:30px}.process-card h3{margin-top:3px}.benefit-grid,.stats-grid{grid-template-columns:1fr 1fr}.benefit-grid>div,.stats-grid>div{min-height:112px}.trade-chips{grid-template-columns:1fr 1fr}.region-grid{grid-template-columns:1fr;gap:20px}.region-map{min-height:240px}.region-grid>div:last-child{order:-1}.partner-placeholder{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.partner-placeholder>div{min-width:180px;scroll-snap-align:start}.cta-card{grid-template-columns:105px 1fr;padding:18px 18px 0;gap:15px}.cta-card img{grid-row:1/3;max-height:165px}.cta-card>div:last-child{grid-column:2;align-items:flex-start;padding-bottom:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}.footer-bottom div{flex-wrap:wrap}.generic-main{padding:58px 0}}
@media(max-width:430px){.hero h1{font-size:36px}.hero-visual{height:300px}.hero-visual img{max-height:290px}.category-card strong{font-size:9.5px}.cta-card{grid-template-columns:88px 1fr}.cta-card img{max-height:150px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
/* v0.2.0 refinements */
@media(min-width:1181px){.desktop-nav{display:block!important}.desktop-only{display:flex!important}.menu-toggle{display:none!important}.header-inner{gap:18px}.brand{flex-basis:190px}.brand img,.custom-logo{width:190px}.desktop-nav ul{gap:16px}.desktop-nav a{font-size:10.5px}.header-actions{gap:10px}.header-cta{padding:0 14px}}
@media(max-width:1180px){.desktop-nav{display:none}.desktop-only{display:none}.menu-toggle{display:inline-grid;place-items:center}.header-actions{margin-left:auto}}
.devy-note{left:-8%;top:30%;max-width:175px;text-align:right}.devy-note span{color:var(--red);font-size:28px;margin-left:6px}.hero-visual img{right:2%}
.trade-finder{max-width:760px;margin:34px auto 0;text-align:center;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.trade-finder>strong{display:block;margin-bottom:12px}.trade-search.compact{margin:0 auto;max-width:620px}.trade-finder small{display:block;color:var(--muted);margin-top:9px}
.region-map-clean{min-height:300px;background:linear-gradient(145deg,#fff,#f5f6f7);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:center}.swiss-label{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:18px}.canton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.canton-grid a{background:#fff;border:1px solid #dfe1e4;border-radius:10px;text-decoration:none;padding:18px 12px;display:flex;flex-direction:column;gap:3px}.canton-grid strong{font-size:22px;color:var(--red)}.canton-grid span{font-size:11px;font-weight:700}.canton-grid a:hover{border-color:#eeaaa7;transform:translateY(-2px)}
.footer-brand img{width:240px;background:transparent!important;border-radius:0!important;padding:0!important}.footer-grid-v2{grid-template-columns:1.45fr repeat(4,1fr)}.social-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.social-row span{font-size:10px;border:1px solid #3a3f46;border-radius:999px;padding:6px 9px;color:#d7d9dc}.footer-search{display:grid;grid-template-columns:1fr 38px;margin-top:14px;border:1px solid #3a3f46;border-radius:7px;overflow:hidden}.footer-search input{min-width:0;height:38px;border:0;background:#1d2126;color:#fff;padding:0 10px;outline:0;font-size:11px}.footer-search button{border:0;background:var(--red);color:#fff}.footer-search .dgv2-icon{width:16px}.footer-contact{border-top:1px solid #2b2f35;margin-top:34px;padding-top:18px;display:flex;gap:24px;flex-wrap:wrap}.footer-contact a,.footer-contact span{color:#c8cbd0;font-size:12px;text-decoration:none}.footer-bottom{margin-top:18px}
@media(max-width:1100px){.footer-grid-v2{grid-template-columns:1.3fr repeat(2,1fr)}}
@media(max-width:760px){.devy-note{display:none}.canton-grid{grid-template-columns:repeat(2,1fr)}.region-grid>div:last-child{order:0}.footer-contact{gap:12px;flex-direction:column}.footer-grid-v2{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.footer-grid-v2{grid-template-columns:1fr}}

/* v0.3.0 — desktop navigation, hero note, real map, live partner logos, compact footer */
@media (min-width:900px){
  .desktop-nav{display:block!important;min-width:0;flex:1}
  .desktop-nav ul{gap:clamp(8px,1vw,16px);justify-content:center}
  .desktop-nav a{font-size:clamp(8.5px,.78vw,10.5px);white-space:nowrap}
  .menu-toggle{display:none!important}
  .header-inner{gap:10px}
  .brand{flex-basis:clamp(150px,15vw,190px)}
  .brand img,.custom-logo{width:clamp(150px,15vw,190px)}
  .header-actions{gap:8px;margin-left:0}
  .header-cta{padding:0 12px;font-size:10px;white-space:nowrap}
}
@media (min-width:900px) and (max-width:1199px){
  .desktop-only{display:none!important}
}
@media (min-width:1200px){
  .desktop-only{display:flex!important}
}
@media (max-width:899px){
  .desktop-nav,.desktop-only{display:none!important}
  .menu-toggle{display:inline-grid!important;place-items:center}
  .header-actions{margin-left:auto}
}

.hero-visual{overflow:visible}
.devy-note{left:-210px;top:35%;width:155px;max-width:none;text-align:right;z-index:3;pointer-events:none}
.devy-note-text{display:block;line-height:1.32}
.devy-arrow{display:block;color:var(--red);font-size:30px;line-height:1;margin:4px -2px 0 0;transform:rotate(12deg)}
.hero-visual img{right:0}
@media(max-width:1050px){.devy-note{left:-145px;width:120px;font-size:15px}}
@media(max-width:899px){.devy-note{display:none}}

.region-map-real{min-height:0;border:0;background:transparent;padding:0;display:block}
.swiss-map-svg{width:100%;max-width:560px;margin:auto}
.swiss-map-svg svg{display:block;width:100%;height:auto;max-height:390px}
.swiss-map-svg .dg-romandie-canton{cursor:pointer;transition:filter .18s ease,opacity .18s ease}
.swiss-map-svg .dg-romandie-canton:hover,.swiss-map-svg .dg-romandie-canton:focus{filter:brightness(.85);outline:none;opacity:.94}
.map-legend{display:flex;justify-content:center;gap:18px;margin-top:8px;color:var(--muted);font-size:11px}
.map-legend span{display:flex;align-items:center;gap:6px}
.map-legend i{width:12px;height:12px;border-radius:3px;background:#e9ecef;border:1px solid #d6d9dc}
.map-legend i.is-romandie{background:var(--red);border-color:var(--red)}

.partner-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:stretch}
.partner-logo-card{min-height:112px;background:#fff;border:1px solid #dfe1e3;border-radius:10px;padding:16px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.partner-logo-card:hover{transform:translateY(-2px);border-color:#e7aaa7;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.partner-logo-card img{display:block;max-width:100%;width:auto;max-height:72px;object-fit:contain}
.partner-empty{grid-column:1/-1;text-align:center;color:var(--muted);margin:0;padding:24px}
@media(max-width:1100px){.partner-logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.partner-logos{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.partner-logo-card{min-width:170px;scroll-snap-align:start}}

.site-footer{padding:34px 0 14px}
.footer-grid-v3{display:grid;grid-template-columns:1.35fr .8fr 1fr .8fr 1fr 1.1fr;gap:28px;align-items:start}
.footer-brand img{display:block;width:220px;max-width:100%;height:auto;background:transparent!important;padding:0!important;border-radius:0!important;margin:0 0 12px}
.footer-brand p{margin:0;max-width:230px;line-height:1.55}
.social-row{display:flex;gap:9px;margin-top:15px}
.social-row a{width:34px;height:34px;border:1px solid #3b4046;border-radius:50%;display:grid;place-items:center;margin:0;color:#fff;background:#1b1f24}
.social-row a:hover{border-color:#fff;background:#fff;color:#171a1e}
.social-row .dgv2-icon{width:17px;height:17px}
.footer-details>a,.footer-location{display:flex!important;align-items:flex-start;gap:8px;color:#c8cbd0;font-size:12px;margin:8px 0}
.footer-details .dgv2-icon{width:16px;height:16px;flex:0 0 16px;margin-top:1px}
.footer-search{max-width:220px}
.footer-bottom{margin-top:26px;padding-top:14px;align-items:center}
.footer-bottom .legal-link{display:inline;margin:0;font-size:11px;color:#c8cbd0}
@media(max-width:1180px){.footer-grid-v3{grid-template-columns:1.4fr repeat(3,1fr)}.footer-details{grid-column:auto}}
@media(max-width:760px){.site-footer{padding-top:28px}.footer-grid-v3{grid-template-columns:1fr 1fr;gap:24px}.footer-brand{grid-column:1/-1}.footer-brand img{width:205px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:9px}}
@media(max-width:430px){.footer-grid-v3{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

/* v0.4.0 — accueil resserré sur la maquette validée */
:root{--max:1380px}
@media(min-width:760px){
  .desktop-nav{display:block!important;flex:1;min-width:0}
  .menu-toggle{display:none!important}
  .header-inner{height:72px;gap:12px}
  .brand{flex:0 0 168px}
  .brand img,.custom-logo{width:168px}
  .desktop-nav ul{gap:clamp(9px,1.15vw,22px);justify-content:center}
  .desktop-nav a{font-size:clamp(8.3px,.72vw,11px);white-space:nowrap}
  .header-actions{gap:8px;margin-left:0}
  .header-cta{min-height:42px;padding:0 14px;font-size:9.8px;white-space:nowrap}
}
@media(min-width:760px) and (max-width:1180px){.desktop-only{display:none!important}}
@media(min-width:1181px){.desktop-only{display:flex!important}}
@media(max-width:759px){
  .desktop-nav,.desktop-only{display:none!important}.menu-toggle{display:inline-grid!important;place-items:center}.header-actions{margin-left:auto}
}

.hero-grid{min-height:470px;grid-template-columns:1.02fr .98fr;gap:28px}
.hero h1{font-size:clamp(38px,4.1vw,60px);max-width:640px;margin-bottom:16px}
.hero-lead{font-size:16px;max-width:590px;margin-bottom:20px}
.trade-search{max-width:560px}.trade-search input{height:50px}.trade-search{grid-template-columns:1fr 52px}
.trust-row{margin-top:18px;gap:16px}.trust-row span{font-size:10px}
.hero-visual{height:445px}
.hero-visual img{right:0;max-height:430px}
.blueprint{inset:58px -80px 28px 70px;background-size:92px 62px;opacity:.28}
.devy-note{left:0;top:38%;width:150px;max-width:150px;text-align:left;transform:rotate(-5deg);font-size:17px;line-height:1.3}
.devy-note-text{display:block}.devy-note-text,.devy-note span{color:#25282d!important;font-size:17px!important;margin:0!important}
.devy-arrow{font-size:28px!important;color:#25282d!important;text-align:right;margin:4px 3px 0 0!important;transform:rotate(-20deg)}
@media(min-width:760px) and (max-width:1040px){.hero-visual img{max-height:360px;right:-10px}.devy-note{left:-8px;top:39%;width:115px;font-size:14px}.devy-note-text,.devy-note span{font-size:14px!important}.blueprint{left:32px}.hero-grid{grid-template-columns:1.1fr .9fr}}

.section{padding:48px 0}.section-head{margin-bottom:24px}.section-head h2,.region-section h2,.cta-card h2{font-size:clamp(24px,2.45vw,34px)}
.category-grid{gap:12px}.category-card{min-height:126px;gap:10px;padding:13px}.category-icon .dgv2-icon{width:36px;height:36px}.category-card strong{font-size:11px}
.process-grid{gap:20px}.process-card{padding:8px 18px}.process-card .dgv2-icon{width:46px;height:46px}.process-card h3{font-size:13px;margin:12px 0 5px}.process-card p{font-size:12px}
.benefits-section{padding-top:38px;padding-bottom:42px}.benefit-grid>div{min-height:108px;position:relative;padding:14px 12px}.benefit-icon{color:#222;margin-bottom:5px}.benefit-icon .dgv2-icon{width:24px;height:24px}.benefit-grid strong{font-size:19px}.benefit-grid span{font-size:11px}
.trade-chips{gap:7px}.trade-chips a{padding:7px 9px;font-size:11px}.trade-finder{margin-top:20px;padding:16px;background:#fff}.trade-finder small{display:none}.trade-search.compact input{height:44px}.trade-search.compact{grid-template-columns:1fr 46px}

.region-section{padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.region-grid{gap:42px;grid-template-columns:1fr 1.05fr}.region-map{min-height:0}.swiss-map-svg{max-width:500px}.swiss-map-svg svg{max-height:300px}
.swiss-map-svg svg path,.swiss-map-svg svg polygon,.swiss-map-svg svg g[id]{transition:fill .18s ease,opacity .18s ease}
.swiss-map-svg svg [id]{opacity:1}
.swiss-map-svg svg #VD,.swiss-map-svg svg #FR,.swiss-map-svg svg #GE,.swiss-map-svg svg #VS,.swiss-map-svg svg #NE,.swiss-map-svg svg #JU{fill:var(--red)!important;stroke:#fff!important;stroke-width:1!important;cursor:pointer}
.swiss-map-svg svg :is(path,polygon):not(#VD):not(#FR):not(#GE):not(#VS):not(#NE):not(#JU){ }
.map-legend{display:none}.region-buttons{margin-top:18px}.region-buttons a{padding:8px 11px;font-size:10px}

.partner-logos{gap:10px}.partner-logo-card{min-height:96px;padding:12px}.partner-logo-card img{max-height:62px}.section#partenaires,.section-soft#partenaires{padding-top:38px;padding-bottom:38px}

.proof-section{padding:34px 0}.proof-grid{display:grid;grid-template-columns:1.1fr 1.9fr;gap:34px;align-items:stretch}.review-panel .eyebrow{text-align:left;margin-bottom:10px}.review-card{height:100%;min-height:126px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px 18px;display:flex;flex-direction:column;justify-content:center}.review-stars{color:var(--red);font-size:15px;letter-spacing:2px}.review-card p{font-size:12px;margin:7px 0;color:#34383d}.review-card strong{font-size:12px}.review-card small{font-size:10px;color:var(--muted);margin-top:3px}.review-card-empty p{margin-bottom:0}.live-stats{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}.live-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;border-right:1px solid var(--line)}.live-stats span{color:var(--red)}.live-stats .dgv2-icon{width:28px;height:28px}.live-stats strong{font-size:22px;color:var(--red);margin-top:6px}.live-stats small{font-size:10px;max-width:100px;color:#333}

.cta-section{padding-top:8px}.cta-card{min-height:178px;grid-template-columns:160px 1fr auto;padding:8px 30px;border-radius:12px 12px 0 0}.cta-card img{max-height:175px}.cta-card h2{font-size:28px}.cta-card p{font-size:13px}.cta-card .btn{min-width:210px}

.site-footer{padding:26px 0 10px}.footer-grid-v3{grid-template-columns:1.35fr .8fr 1fr .8fr 1fr 1.05fr;gap:22px}.footer-brand img{width:210px!important;max-height:58px;object-fit:contain;object-position:left center;margin-bottom:8px!important}.footer-brand p{font-size:11px;max-width:220px}.site-footer h3{font-size:10.5px;margin-bottom:9px}.site-footer a{font-size:10.5px;margin:5px 0}.social-row{margin-top:10px}.social-row a{width:30px;height:30px}.footer-details>a,.footer-location{font-size:10.5px!important;margin:6px 0}.footer-search{margin-top:8px}.footer-search input{height:32px}.footer-search{grid-template-columns:1fr 32px}.footer-bottom{margin-top:18px;padding-top:11px;font-size:10px}.footer-bottom .legal-link{font-size:10px}

@media(max-width:759px){
  .hero-grid{padding-top:28px}.hero h1{font-size:36px}.hero-visual{height:300px}.hero-visual img{max-height:290px}.devy-note{display:none}
  .section{padding:42px 0}.category-card{min-height:118px}.proof-grid{grid-template-columns:1fr}.live-stats{grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--line)}.live-stats>div{min-height:100px;border-bottom:1px solid var(--line)}
  .cta-card{grid-template-columns:95px 1fr;padding:14px 16px 0}.cta-card img{max-height:145px}.cta-card>div:last-child{grid-column:2}.footer-grid-v3{grid-template-columns:1fr 1fr;gap:20px}.footer-brand{grid-column:1/-1}.footer-brand img{width:190px!important}.footer-bottom{flex-direction:column;align-items:flex-start;gap:7px}
}
@media(max-width:430px){.footer-grid-v3{grid-template-columns:1fr}.footer-brand{grid-column:auto}.live-stats strong{font-size:20px}}

/* v0.5.0 — corrections desktop d'après la maquette validée du 14.08.2026 */
@media (min-width:621px){
  .site-header .wrap{width:min(calc(100% - 34px),1440px)}
  .header-inner{height:64px!important;gap:14px!important}
  .brand{flex:0 0 205px!important}
  .brand img,.custom-logo{width:205px!important;max-height:50px;object-fit:contain}
  .desktop-nav{display:block!important;flex:1!important;min-width:0!important;margin-left:14px!important}
  .desktop-nav ul{display:flex!important;justify-content:center!important;gap:clamp(12px,1.55vw,28px)!important;white-space:nowrap!important}
  .desktop-nav a{font-size:clamp(9px,.68vw,11px)!important;letter-spacing:.01em!important}
  .desktop-nav .is-active:after{bottom:-12px!important}
  .header-actions{margin-left:auto!important;gap:12px!important;flex:0 0 auto!important}
  .desktop-only{display:flex!important}
  .icon-link{font-size:8px!important;min-width:74px!important}
  .header-cta{min-height:38px!important;padding:0 16px!important;font-size:10px!important}
  .menu-toggle{display:none!important}
}
@media (max-width:620px){
  .desktop-nav,.desktop-only{display:none!important}
  .menu-toggle{display:inline-grid!important;place-items:center!important}
  .header-actions{margin-left:auto!important}
  .header-inner{height:64px!important}
  .brand{flex:0 0 150px!important}.brand img,.custom-logo{width:150px!important}
}

/* Hero : Devy et son texte ne se touchent plus */
.hero-grid{min-height:430px!important;grid-template-columns:1.08fr .92fr!important}
.hero-visual{height:410px!important;overflow:visible!important}
.hero-visual img{right:0!important;bottom:0!important;max-height:390px!important;z-index:2!important}
.devy-note{left:-18%!important;top:27%!important;width:170px!important;max-width:170px!important;z-index:5!important;transform:rotate(-4deg)!important;text-align:left!important;pointer-events:none}
.devy-note-text{font-size:16px!important;line-height:1.45!important}
.devy-arrow{display:block!important;font-size:26px!important;margin:4px 0 0 68px!important;transform:rotate(22deg)!important}
.blueprint{inset:55px -30px 25px 80px!important;opacity:.18!important}
@media (min-width:621px) and (max-width:940px){
  .devy-note{left:-8%!important;top:26%!important;width:128px!important}.devy-note-text{font-size:13px!important}.devy-arrow{font-size:22px!important;margin-left:46px!important}
  .hero-visual img{max-height:345px!important}.hero-visual{height:360px!important}
}
@media(max-width:620px){.devy-note{display:none!important}}

/* Carte Suisse romande compacte */
.region-grid{grid-template-columns:420px 1fr!important;gap:48px!important;align-items:center!important}
.region-map{min-height:0!important;align-self:center!important}
.swiss-map-svg{width:100%!important;max-width:390px!important;margin:0 auto!important}
.swiss-map-svg svg{display:block!important;width:100%!important;height:auto!important;max-height:235px!important}
.region-section{padding:34px 0!important}
.region-buttons{margin-top:14px!important}
@media(max-width:900px){.region-grid{grid-template-columns:1fr!important}.swiss-map-svg{max-width:340px!important}.region-grid>div:last-child{text-align:center}.region-buttons{justify-content:center}}

/* Logos partenaires : tuiles basses et logos contenus */
.partner-logos{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.partner-logo-card{height:82px!important;min-height:82px!important;max-height:82px!important;padding:9px!important;overflow:hidden!important}
.partner-logo-card img{display:block!important;width:auto!important;height:auto!important;max-width:125px!important;max-height:48px!important;object-fit:contain!important;margin:auto!important}
@media(max-width:900px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){.partner-logos{display:flex!important}.partner-logo-card{min-width:145px!important}}

/* Footer beaucoup plus compact */
.site-footer{padding:22px 0 8px!important}
.footer-grid-v3{grid-template-columns:1.3fr .8fr 1fr .75fr .95fr 1.1fr!important;gap:24px!important;align-items:start!important}
.footer-brand{min-width:0!important}
.footer-brand img{width:205px!important;height:auto!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important;background:transparent!important;border:0!important;padding:0!important;margin:0 0 8px!important}
.footer-brand p{font-size:11px!important;line-height:1.45!important;margin:0!important;max-width:225px!important}
.social-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px!important;margin-top:10px!important;align-items:center!important}
.social-row a{display:grid!important;place-items:center!important;flex:0 0 29px!important;width:29px!important;height:29px!important;margin:0!important;border-radius:50%!important}
.site-footer h3{font-size:10px!important;margin:0 0 8px!important}.site-footer a{font-size:10.5px!important;line-height:1.25!important;margin:5px 0!important}
.footer-details>a,.footer-location{font-size:10.5px!important;margin:5px 0!important;gap:6px!important}
.footer-search{max-width:190px!important;margin-top:7px!important}.footer-search input{height:29px!important;font-size:10.5px!important}.footer-search button{height:29px!important}
.footer-bottom{margin-top:15px!important;padding-top:9px!important;font-size:9.5px!important;min-height:28px!important}
@media(max-width:900px){.footer-grid-v3{grid-template-columns:1.35fr repeat(3,1fr)!important}.footer-details{grid-column:auto!important}}
@media(max-width:700px){.footer-grid-v3{grid-template-columns:1fr 1fr!important;gap:18px!important}.footer-brand{grid-column:1/-1!important}.footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}}
@media(max-width:430px){.footer-grid-v3{grid-template-columns:1fr!important}.footer-brand{grid-column:auto!important}}

/* =========================================================
   v0.6.0 — correction structurelle + anti-cache
   Référence desktop validée 14.08.2026
   ========================================================= */

/* HEADER — desktop réel dès 900px */
@media (min-width:900px){
  .site-header .wrap{width:min(calc(100% - 48px),1380px)!important}
  .header-inner{height:64px!important;display:grid!important;grid-template-columns:220px minmax(430px,1fr) auto!important;align-items:center!important;gap:18px!important}
  .brand{display:flex!important;flex:none!important;width:220px!important;min-width:220px!important}
  .brand img,.brand .custom-logo-link img,.custom-logo{width:220px!important;max-width:220px!important;height:auto!important;max-height:48px!important;object-fit:contain!important}
  .desktop-nav{display:block!important;margin:0!important;min-width:0!important}
  .desktop-nav ul{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(12px,1.4vw,24px)!important;list-style:none!important;margin:0!important;padding:0!important;white-space:nowrap!important}
  .desktop-nav li{margin:0!important;padding:0!important}
  .desktop-nav a{display:block!important;font-size:clamp(9px,.67vw,11px)!important;line-height:1!important;font-weight:800!important;text-transform:uppercase!important;text-decoration:none!important;letter-spacing:.01em!important}
  .desktop-nav .is-active:after{bottom:-14px!important}
  .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;margin:0!important;min-width:max-content!important}
  .desktop-only{display:flex!important}
  .icon-link{font-size:8px!important;min-width:70px!important;line-height:1.05!important}
  .icon-link .dgv2-icon{width:18px!important;height:18px!important}
  .header-cta{min-height:38px!important;height:38px!important;padding:0 15px!important;font-size:10px!important;border-radius:7px!important;white-space:nowrap!important}
  .menu-toggle{display:none!important}
  .mobile-nav{display:none!important}
}
@media (max-width:899px){
  .desktop-nav,.desktop-only{display:none!important}
  .menu-toggle{display:inline-grid!important;place-items:center!important}
  .header-inner{height:64px!important;display:flex!important;gap:12px!important}
  .brand{flex:0 1 190px!important}
  .brand img,.custom-logo{width:190px!important;max-height:46px!important}
  .header-actions{margin-left:auto!important}
  .header-cta{min-height:38px!important;padding:0 14px!important;font-size:10px!important}
}

/* HERO — texte séparé de Devy */
@media (min-width:900px){
  .hero-grid{min-height:430px!important;grid-template-columns:1.05fr .95fr!important;gap:54px!important}
  .hero-visual{height:410px!important;overflow:visible!important}
  .hero-visual img{right:2%!important;bottom:0!important;max-height:385px!important;width:auto!important;z-index:3!important}
  .devy-note{left:-150px!important;top:31%!important;width:150px!important;max-width:150px!important;text-align:right!important;z-index:5!important;transform:rotate(-3deg)!important}
  .devy-note-text{font-size:15px!important;line-height:1.48!important;display:block!important}
  .devy-arrow{display:block!important;font-size:25px!important;line-height:1!important;margin:3px 2px 0 auto!important;transform:rotate(12deg)!important;width:max-content!important}
  .blueprint{inset:55px -20px 30px 95px!important;opacity:.13!important}
}
@media (max-width:899px){.devy-note{display:none!important}}

/* CARTE — petite, centrée, sans étirer la section */
.region-section{padding:32px 0!important}
.region-grid{grid-template-columns:360px minmax(0,1fr)!important;gap:48px!important;align-items:center!important}
.region-map{min-height:0!important;height:auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}
.swiss-map-svg{width:320px!important;max-width:320px!important;margin:0 auto!important;overflow:hidden!important}
.swiss-map-svg svg{display:block!important;width:320px!important;max-width:320px!important;height:auto!important;max-height:205px!important;margin:auto!important}
.map-legend{display:none!important}
@media(max-width:899px){
  .region-grid{grid-template-columns:1fr!important;gap:18px!important;text-align:center!important}
  .swiss-map-svg,.swiss-map-svg svg{width:290px!important;max-width:290px!important;max-height:185px!important}
  .region-buttons{justify-content:center!important}
}

/* PARTENAIRES — logos nettement plus petits */
.partner-logos{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;align-items:center!important}
.partner-logo-card{height:76px!important;min-height:76px!important;max-height:76px!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border:1px solid #e0e2e5!important;border-radius:9px!important;overflow:hidden!important}
.partner-logo-card img{display:block!important;width:auto!important;height:auto!important;max-width:112px!important;max-height:42px!important;object-fit:contain!important;margin:auto!important}
@media(max-width:899px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:560px){.partner-logos{display:flex!important;overflow-x:auto!important}.partner-logo-card{min-width:135px!important}}

/* FOOTER — compact, logo transparent, réseaux sur une ligne */
.site-footer{padding:20px 0 7px!important;background:#14171b!important}
.footer-grid-v3{display:grid!important;grid-template-columns:1.25fr .82fr 1fr .72fr .92fr 1.05fr!important;gap:20px!important;align-items:start!important}
.footer-brand{min-width:0!important}
.footer-brand img{display:block!important;width:190px!important;max-width:190px!important;height:auto!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 8px!important;box-shadow:none!important}
.footer-brand p{font-size:10.5px!important;line-height:1.4!important;max-width:210px!important;margin:0!important;color:#c6cbd1!important}
.social-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin:10px 0 0!important}
.social-row a{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;flex:0 0 28px!important;border:1px solid #59606a!important;border-radius:50%!important;padding:0!important;margin:0!important;color:#fff!important}
.social-row .dgv2-icon{width:15px!important;height:15px!important}
.site-footer h3{font-size:9.5px!important;line-height:1.1!important;margin:1px 0 8px!important}
.site-footer a{font-size:10px!important;line-height:1.18!important;margin:4px 0!important}
.footer-details>a,.footer-location{font-size:10px!important;line-height:1.18!important;margin:4px 0!important;gap:5px!important}
.footer-details .dgv2-icon,.footer-location .dgv2-icon{width:15px!important;height:15px!important;flex:0 0 15px!important}
.footer-search{max-width:185px!important;margin-top:6px!important}
.footer-search input{height:28px!important;font-size:10px!important;padding:0 8px!important}
.footer-search button{height:28px!important;width:31px!important;padding:0!important}
.footer-bottom{margin-top:12px!important;padding-top:8px!important;min-height:24px!important;font-size:9px!important;line-height:1.15!important;align-items:center!important}
.footer-bottom a{font-size:9px!important;margin:0!important}
@media(max-width:1020px){.footer-grid-v3{grid-template-columns:1.2fr repeat(3,1fr)!important}.footer-details{grid-column:auto!important}}
@media(max-width:760px){.footer-grid-v3{grid-template-columns:1fr 1fr!important;gap:16px!important}.footer-brand{grid-column:1/-1!important}.footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:5px!important}}
@media(max-width:430px){.footer-grid-v3{grid-template-columns:1fr!important}.footer-brand{grid-column:auto!important}}


/* =========================================================
   v0.7.0 — HEADER DESKTOP: une seule ligne, sans retour
   ========================================================= */
@media (min-width: 1050px){
  .site-header{height:72px!important;min-height:72px!important;overflow:visible!important}
  .site-header .wrap.header-inner{
    width:min(calc(100% - 32px),1460px)!important;
    max-width:1460px!important;
    height:72px!important;
    min-height:72px!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .brand{
    flex:0 0 250px!important;
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
    margin:0!important;
  }
  .brand img,.brand .custom-logo-link img,.custom-logo{
    width:250px!important;max-width:250px!important;max-height:54px!important;
  }
  .desktop-nav{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  .desktop-nav ul{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(12px,1.15vw,22px)!important;
    white-space:nowrap!important;
  }
  .desktop-nav a{font-size:clamp(9px,.67vw,11px)!important;white-space:nowrap!important}
  .header-actions{
    position:static!important;
    float:none!important;
    clear:none!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  .header-actions .desktop-only{display:flex!important;flex:0 0 auto!important}
  .header-actions .icon-link{min-width:72px!important;max-width:82px!important;font-size:7.5px!important;white-space:nowrap!important}
  .header-actions .header-cta{flex:0 0 auto!important;white-space:nowrap!important;margin:0!important}
  .menu-toggle{display:none!important}
  .mobile-nav{display:none!important}
}
@media (min-width:900px) and (max-width:1049px){
  .site-header .wrap.header-inner{display:flex!important;flex-flow:row nowrap!important;height:68px!important}
  .brand{flex:0 0 205px!important;width:205px!important;min-width:205px!important}
  .brand img,.brand .custom-logo-link img,.custom-logo{width:205px!important;max-width:205px!important}
  .desktop-nav{display:block!important;flex:1 1 auto!important;min-width:0!important}
  .desktop-nav ul{gap:10px!important}
  .desktop-nav a{font-size:8.5px!important}
  .header-actions{display:flex!important;flex-flow:row nowrap!important;flex:0 0 auto!important;margin:0!important;gap:8px!important}
  .desktop-only{display:none!important}
  .menu-toggle{display:none!important}
}

/* v0.7.3 — hero architectural backdrop + compact services */
.hero-visual{position:relative!important;isolation:isolate!important}
.hero-visual .blueprint{
  position:absolute!important;
  inset:7% -2% 4% -20%!important;
  z-index:0!important;
  background-image:url('../img/hero-house.svg')!important;
  background-repeat:no-repeat!important;
  background-position:center bottom!important;
  background-size:contain!important;
  opacity:.58!important;
  pointer-events:none!important;
}
.hero-visual img{position:relative!important;z-index:2!important}
#services.section{padding-bottom:28px!important}
#services .category-grid{margin-bottom:0!important}
@media(max-width:899px){
  .hero-visual .blueprint{inset:12% -12% 5% -12%!important;opacity:.44!important;background-position:center bottom!important}
  #services.section{padding-bottom:22px!important}
}


/* v0.7.3 — keep architectural sketch clear of the search area */
.hero-copy{position:relative!important;z-index:5!important}
.hero-visual{overflow:hidden!important}
.hero-visual .blueprint{
  inset:7% -2% 4% 12%!important;
  background-position:right bottom!important;
  background-size:96% auto!important;
}
@media(max-width:899px){
  .hero-visual .blueprint{
    inset:12% -10% 5% 18%!important;
    background-position:right bottom!important;
    background-size:100% auto!important;
  }
}

/* =========================================================
   v0.8.0 — TROUVER UN PRO
   ========================================================= */
.directory-page{background:#fff}.directory-hero{background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);border-bottom:1px solid #eceff2;overflow:hidden}.directory-hero-grid{min-height:520px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:50px;padding-top:54px;padding-bottom:38px}.directory-hero h1{font-size:clamp(38px,4vw,64px);line-height:.98;letter-spacing:-.04em;max-width:760px;margin:8px 0 18px}.directory-lead{font-size:19px;line-height:1.55;color:#454a50;max-width:720px;margin-bottom:25px}.directory-devy{width:min(100%,390px);justify-self:center;align-self:end;filter:drop-shadow(0 16px 18px rgba(0,0,0,.08))}.directory-search{max-width:740px}.directory-searchbox{position:relative;display:flex;background:#fff;border:1px solid #d9dde2;border-radius:12px;box-shadow:0 10px 35px rgba(14,18,22,.06)}.directory-searchbox input{width:100%;height:66px;padding:0 78px 0 22px;border:0!important;outline:0!important;background:transparent;font-size:17px}.directory-searchbox>button{position:absolute;right:-1px;top:-1px;width:68px;height:68px;border:0;border-radius:0 12px 12px 0;background:#e10600;color:#fff;display:grid;place-items:center;cursor:pointer}.directory-searchbox>button .dgv2-icon{width:27px;height:27px}.directory-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:#fff;border:1px solid #e0e3e7;border-radius:12px;box-shadow:0 16px 45px rgba(0,0,0,.13);overflow:hidden}.directory-suggestions a{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;color:#11171d;border-bottom:1px solid #f0f1f2;text-decoration:none}.directory-suggestions a:last-child{border-bottom:0}.directory-suggestions a:hover{background:#fafafa}.directory-suggestions strong,.directory-suggestions small{display:block}.directory-suggestions small{font-size:11px;color:#6c7278;margin-top:2px}.pro-no-result{padding:14px 16px}.pro-no-result strong,.pro-no-result small{display:block}.pro-no-result small{color:#6c7278;margin-top:3px}.directory-reassurance{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px}.directory-reassurance span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.directory-reassurance .dgv2-icon{width:19px;height:19px}
.directory-categories{padding-top:54px!important;padding-bottom:58px!important}.directory-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1120px;margin:28px auto 0}.directory-category-card{min-height:96px;display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:14px;padding:17px 18px;border:1px solid #e0e3e6;border-radius:13px;background:#fff;color:#11171d;text-decoration:none;transition:.18s ease}.directory-category-card:hover{transform:translateY(-2px);border-color:#e10600;box-shadow:0 10px 28px rgba(0,0,0,.06)}.directory-cat-icon{width:50px;height:50px;border-radius:12px;background:#fff2f1;color:#e10600;display:grid;place-items:center}.directory-cat-icon .dgv2-icon{width:28px;height:28px}.directory-category-card strong{display:block;font-size:15px;text-transform:uppercase}.directory-category-card small{display:block;color:#666e75;margin-top:5px;line-height:1.3}.directory-category-card>.dgv2-icon{width:20px;height:20px;color:#9da2a7}
.directory-trades{padding-top:54px!important;padding-bottom:54px!important}.directory-trade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:26px}.directory-trade-grid a{min-height:66px;padding:11px 13px;border:1px solid #e0e3e6;border-radius:9px;background:#fff;color:#15191d;text-decoration:none;display:flex;flex-direction:column;justify-content:center}.directory-trade-grid a:hover{border-color:#e10600}.directory-trade-grid strong{font-size:13px}.directory-trade-grid small{font-size:10px;color:#7b8187;margin-top:3px}.directory-fallback{margin-top:30px;padding:24px 26px;background:#171a1e;color:#fff;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:30px}.directory-fallback strong{font-size:19px}.directory-fallback p{margin:5px 0 0;color:#cfd3d7;max-width:730px}.directory-fallback .btn{flex:0 0 auto}
.directory-regions{padding-top:54px!important;padding-bottom:60px!important}.directory-region-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.directory-region-grid h2{font-size:38px;margin:5px 0 10px}.directory-region-grid p{color:#60676e}.directory-map{max-width:500px;justify-self:center}.directory-map svg{width:100%;height:auto;display:block}.directory-map .dg-romandie-canton{fill:#e10600!important;cursor:pointer;transition:.2s}.directory-map .dg-romandie-canton:hover{fill:#b90500!important}
@media(max-width:980px){.directory-hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:38px}.directory-devy{width:260px}.directory-category-grid{grid-template-columns:1fr}.directory-trade-grid{grid-template-columns:repeat(3,1fr)}.directory-region-grid{grid-template-columns:1fr}.directory-map{max-width:420px}.directory-fallback{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.directory-hero-grid{gap:12px;padding-bottom:28px}.directory-hero h1{font-size:40px}.directory-lead{font-size:16px}.directory-searchbox input{height:58px;font-size:14px;padding-left:15px}.directory-searchbox>button{width:60px;height:60px}.directory-devy{width:210px}.directory-reassurance{gap:12px 18px}.directory-category-card{grid-template-columns:44px 1fr 20px;min-height:82px;padding:13px}.directory-cat-icon{width:42px;height:42px}.directory-category-card strong{font-size:12px}.directory-category-card small{font-size:10px}.directory-trade-grid{grid-template-columns:1fr 1fr}.directory-trade-grid a{min-height:62px}.directory-region-grid h2{font-size:30px}}
@media(max-width:420px){.directory-trade-grid{grid-template-columns:1fr}.directory-reassurance span{font-size:11px}}

/* =========================================================
   v0.9.0 — PAGES MÉTIERS
   ========================================================= */
.profession-page{background:#fff}.profession-hero{border-bottom:1px solid #eceff2;background:linear-gradient(180deg,#fff,#fafbfc);overflow:hidden}.profession-hero-grid{min-height:500px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);align-items:center;gap:52px;padding-top:42px;padding-bottom:34px}.profession-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:#777;margin-bottom:20px}.profession-breadcrumb a{color:#555;text-decoration:none}.profession-breadcrumb strong{color:#111}.profession-copy h1{font-size:clamp(40px,4.2vw,66px);line-height:.98;letter-spacing:-.045em;max-width:820px;margin:7px 0 18px}.profession-lead{font-size:18px;line-height:1.55;color:#4e545a;max-width:720px}.profession-actions{display:flex;align-items:center;gap:20px;margin-top:25px}.profession-back{font-weight:800;color:#111;text-decoration:none;font-size:12px}.profession-back:hover{color:#e10600}.profession-trust{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.profession-trust span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.profession-trust .dgv2-icon{width:19px;height:19px}.profession-visual{position:relative;height:430px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.profession-sketch{position:absolute;inset:12% 0 3% 4%;background:url('../img/hero-house.svg') no-repeat right bottom/92% auto;opacity:.42;pointer-events:none}.profession-visual img{position:relative;z-index:2;max-height:410px;width:auto;filter:drop-shadow(0 18px 18px rgba(0,0,0,.08))}
.profession-services{padding:58px 0!important}.profession-two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.profession-two-col h2,.profession-region-layout h2{font-size:clamp(30px,3vw,44px);line-height:1.05;margin:6px 0 15px}.profession-two-col p,.profession-region-layout p{color:#626970;line-height:1.6}.profession-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profession-service-grid>div{min-height:62px;padding:14px 16px;border:1px solid #e0e3e6;border-radius:10px;background:#fff;display:flex;align-items:center;gap:11px;font-weight:750}.profession-service-grid .dgv2-icon{width:19px;height:19px;color:#e10600;flex:0 0 auto}
.profession-how{padding:56px 0!important}.profession-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.profession-steps article{position:relative;background:#fff;border:1px solid #e1e4e7;border-radius:13px;padding:28px 24px 24px;min-height:230px}.profession-steps article>b{position:absolute;right:18px;top:15px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e10600;color:#fff}.profession-steps article>.dgv2-icon{width:34px;height:34px;color:#e10600}.profession-steps h3{font-size:18px;margin:18px 0 8px}.profession-steps p{color:#676e74;line-height:1.5;font-size:13px}
.profession-regions{padding:56px 0!important}.profession-region-layout{display:grid;grid-template-columns:1fr 440px;gap:60px;align-items:center}.profession-region-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px;max-width:560px}.profession-region-buttons a{border:1px solid #dfe2e5;border-radius:8px;padding:11px 12px;text-align:center;font-size:11px;font-weight:850;text-transform:uppercase;color:#15191d;text-decoration:none}.profession-region-buttons a:hover{border-color:#e10600;color:#e10600}.profession-map svg{display:block;width:100%;height:auto;max-height:280px}.profession-map .dg-romandie-canton{fill:#e10600!important}
.profession-related{padding:50px 0!important}.profession-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.profession-related-grid a{display:grid;grid-template-columns:1fr 22px;gap:5px 12px;align-items:center;padding:15px 16px;border:1px solid #e0e3e6;border-radius:10px;background:#fff;color:#15191d;text-decoration:none}.profession-related-grid strong{font-size:13px}.profession-related-grid small{grid-column:1;font-size:10px;color:#747b81}.profession-related-grid .dgv2-icon{grid-column:2;grid-row:1/3;width:18px;height:18px;color:#999}.profession-related-grid a:hover{border-color:#e10600}.profession-related-grid a:hover .dgv2-icon{color:#e10600}
@media(max-width:900px){.profession-hero-grid{grid-template-columns:1fr;gap:12px;min-height:auto}.profession-visual{height:300px}.profession-visual img{max-height:285px}.profession-two-col,.profession-region-layout{grid-template-columns:1fr}.profession-region-layout{gap:24px}.profession-map{max-width:430px;margin:auto}.profession-steps{grid-template-columns:1fr}.profession-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.profession-hero-grid{padding-top:30px}.profession-copy h1{font-size:39px}.profession-lead{font-size:16px}.profession-actions{align-items:flex-start;flex-direction:column;gap:12px}.profession-trust{gap:11px 16px}.profession-visual{height:245px}.profession-visual img{max-height:235px}.profession-service-grid{grid-template-columns:1fr}.profession-region-buttons{grid-template-columns:1fr 1fr}.profession-related-grid{grid-template-columns:1fr}}

/* =========================================================
   v1.0.0 — RÉGIONS + MÉTIER × CANTON
   ========================================================= */
.region-page-v100,.profession-region-page-v100,.regions-index-v100{background:#fff}.region-hero-v100{background:linear-gradient(180deg,#fff,#fafbfc);border-bottom:1px solid #eceff2}.region-hero-grid-v100{min-height:460px;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:60px;align-items:center;padding-top:42px;padding-bottom:38px}.region-hero-grid-v100 h1,.region-index-hero-v100 h1{font-size:clamp(40px,4vw,64px);line-height:1;letter-spacing:-.04em;margin:8px 0 18px}.region-lead-v100{font-size:18px;line-height:1.55;color:#596168;max-width:720px}.region-hero-map-v100{position:relative;max-width:430px;justify-self:center}.region-hero-map-v100 svg{width:100%;height:auto;display:block;max-height:285px}.region-hero-map-v100 .dg-romandie-canton{fill:#e10600!important}.region-hero-map-v100>span{position:absolute;right:0;top:0;width:48px;height:48px;border-radius:50%;background:#e10600;color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 24px rgba(225,6,0,.18)}
.region-trades-v100{padding:56px 0!important}.region-trade-grid-v100{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:26px}.region-trade-grid-v100 a{position:relative;min-height:76px;padding:14px 38px 14px 15px;border:1px solid #e1e4e7;border-radius:10px;background:#fff;color:#15191d;text-decoration:none;display:flex;flex-direction:column;justify-content:center}.region-trade-grid-v100 a:hover{border-color:#e10600;box-shadow:0 9px 22px rgba(0,0,0,.05)}.region-trade-grid-v100 strong{font-size:13px}.region-trade-grid-v100 small{font-size:10px;color:#747b81;margin-top:4px}.region-trade-grid-v100 .dgv2-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#aaa}.region-trade-grid-v100 a:hover .dgv2-icon{color:#e10600}
.region-cities-v100{padding:50px 0!important}.region-city-layout-v100{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}.region-city-layout-v100 h2{font-size:clamp(30px,3vw,44px);line-height:1.05;margin:6px 0 12px}.region-city-layout-v100 p{color:#656c72;line-height:1.6}.region-city-tags-v100{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.region-city-tags-v100 span{padding:14px 12px;border:1px solid #dfe3e6;border-radius:9px;background:#fff;text-align:center;font-weight:800;font-size:12px}.region-how-v100{padding:52px 0!important}
.region-index-hero-v100{padding:62px 0 50px;background:linear-gradient(180deg,#fff,#fafbfc);border-bottom:1px solid #eceff2}.region-index-hero-v100 p{font-size:17px;color:#5f666d;max-width:760px}.region-index-grid-v100{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.region-index-grid-v100 a{position:relative;display:grid;grid-template-columns:54px 1fr 22px;grid-template-rows:auto auto;gap:3px 14px;align-items:center;padding:20px;border:1px solid #e0e3e6;border-radius:12px;color:#11171d;text-decoration:none;background:#fff}.region-index-grid-v100 b{grid-row:1/3;width:48px;height:48px;border-radius:12px;background:#fff1f0;color:#e10600;display:grid;place-items:center;font-size:16px}.region-index-grid-v100 strong{font-size:17px}.region-index-grid-v100 small{font-size:10px;color:#777}.region-index-grid-v100>.dgv2-icon{grid-column:3;grid-row:1/3;width:18px;height:18px}.region-index-grid-v100 a:hover{border-color:#e10600}
@media(max-width:980px){.region-hero-grid-v100{grid-template-columns:1fr;gap:20px}.region-hero-map-v100{max-width:360px}.region-trade-grid-v100{grid-template-columns:repeat(3,1fr)}.region-city-layout-v100{grid-template-columns:1fr}.region-index-grid-v100{grid-template-columns:1fr 1fr}}
@media(max-width:660px){.region-hero-grid-v100{padding-top:30px;min-height:auto}.region-hero-grid-v100 h1,.region-index-hero-v100 h1{font-size:39px}.region-lead-v100{font-size:16px}.region-hero-map-v100{max-width:290px}.region-trade-grid-v100{grid-template-columns:1fr 1fr}.region-city-tags-v100{grid-template-columns:1fr 1fr}.region-index-grid-v100{grid-template-columns:1fr}}
@media(max-width:420px){.region-trade-grid-v100{grid-template-columns:1fr}}

/* v1.1.0 — Localités */
.region-city-tags-v100 a{padding:14px 12px;border:1px solid #dfe3e6;border-radius:9px;background:#fff;text-align:center;font-weight:800;font-size:12px;color:#15191d;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;transition:.18s ease}.region-city-tags-v100 a .dgv2-icon{width:14px;height:14px}.region-city-tags-v100 a:hover{border-color:#e10600;color:#e10600;transform:translateY(-1px)}
.city-page-v110,.profession-city-page-v110{background:#fff}.city-hero-v110{background:linear-gradient(180deg,#fff,#fafbfc);border-bottom:1px solid #eceff2}.city-hero-grid-v110{min-height:465px;display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:64px;align-items:center;padding-top:42px;padding-bottom:38px}.city-hero-grid-v110 h1{font-size:clamp(42px,4.2vw,66px);line-height:1;letter-spacing:-.045em;margin:8px 0 18px}.city-lead-v110{font-size:18px;line-height:1.55;color:#596168;max-width:720px}.city-visual-v110{height:380px;position:relative;overflow:hidden}.city-visual-v110 .profession-sketch{position:absolute;inset:30px 10px 20px 0}.city-visual-v110 img{position:absolute;right:5px;bottom:0;max-height:365px;width:auto;z-index:2}.city-trades-v110{padding:54px 0!important}.city-local-v110{padding:52px 0!important}.profession-city-hero-v110{border-bottom:1px solid #eceff2}.city-context-v110{padding:52px 0!important}.city-context-card-v110{border:1px solid #dfe3e6;border-radius:14px;background:#fff;padding:28px;display:flex;flex-direction:column;gap:9px;box-shadow:0 8px 24px rgba(18,24,30,.04)}.city-context-card-v110 strong{font-size:28px}.city-context-card-v110 span{color:#626970}.city-context-card-v110 a{margin-top:8px;color:#e10600;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:6px}.city-context-card-v110 .dgv2-icon{width:16px;height:16px}
@media(max-width:900px){.city-hero-grid-v110{grid-template-columns:1fr;gap:10px;min-height:auto}.city-visual-v110{height:300px;max-width:520px;width:100%;margin:auto}.city-visual-v110 img{max-height:290px}}
@media(max-width:620px){.city-hero-grid-v110{padding-top:30px}.city-hero-grid-v110 h1{font-size:39px}.city-lead-v110{font-size:16px}.city-visual-v110{height:245px}.city-visual-v110 img{max-height:235px}.region-city-tags-v100 a{padding:12px 8px}}


/* v1.2.0 — Annuaire partenaires */
.partners-hero,.partner-profile-hero{padding:72px 0 58px;background:linear-gradient(180deg,#fff 0%,#fafafa 100%)}
.partners-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:48px;align-items:center}.partners-hero h1,.partner-profile-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.02;margin:.15em 0 .25em}.partner-filter-bar{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(170px,.7fr) minmax(150px,.6fr);gap:16px;align-items:end;margin-bottom:28px}.partner-filter-bar label{display:block;font-size:13px;font-weight:800;margin:0 0 7px;color:#3f3f3f}.partner-filter-bar input,.partner-filter-bar select{width:100%;height:48px;border:1px solid #ddd;border-radius:12px;background:#fff;padding:0 14px;font:inherit}.partner-search-field{position:relative}.partner-search-field .dgv2-icon{position:absolute;width:19px;left:15px;top:15px;color:#777}.partner-search-field input{padding-left:45px}.partner-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.partner-directory-card{background:#fff;border:1px solid #ececec;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.035);overflow:hidden}.partner-directory-card[hidden]{display:none}.partner-card-main{display:grid;grid-template-columns:72px 1fr 22px;gap:15px;align-items:center;padding:18px;color:inherit;text-decoration:none;min-height:112px}.partner-card-main>.dgv2-icon{width:20px;color:#d71920}.partner-card-logo{width:72px;height:72px;border-radius:13px;border:1px solid #eee;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.partner-card-logo img{max-width:88%;max-height:88%;object-fit:contain}.partner-card-logo span,.partner-profile-logo span{font-size:32px;font-weight:900;color:#d71920}.partner-card-main h2{font-size:17px;line-height:1.2;margin:0 0 6px}.partner-card-main strong{display:block;font-size:13px;color:#d71920;margin-bottom:5px}.partner-card-main p{margin:0;color:#707070;font-size:13px}.partner-no-result,.partner-empty-state{text-align:center;padding:30px;background:#fff;border-radius:16px}.partner-profile-grid{display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:center}.partner-profile-logo{width:180px;height:180px;border-radius:24px;background:#fff;border:1px solid #eee;box-shadow:0 12px 34px rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;overflow:hidden}.partner-profile-logo img{max-width:88%;max-height:88%;object-fit:contain}.partner-profile-activity{font-size:21px;font-weight:800;color:#d71920;margin:0 0 12px}.partner-profile-meta{display:flex;gap:18px;flex-wrap:wrap;color:#555}.partner-profile-meta span{display:flex;align-items:center;gap:7px}.partner-profile-meta .dgv2-icon{width:18px;color:#d71920}.partner-profile-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr);gap:44px}.partner-profile-content h3{margin-top:30px}.partner-tags{display:flex;gap:8px;flex-wrap:wrap}.partner-tags span{background:#f5f5f5;border:1px solid #e8e8e8;border-radius:999px;padding:8px 12px;font-size:13px}.partner-trust-card{background:#fafafa;border:1px solid #e8e8e8;border-radius:18px;padding:24px}.partner-trust-card h3{margin:0 0 18px}.partner-trust-card>div{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid #e7e7e7}.partner-trust-card>div.is-ok{display:block;color:#227a42;font-weight:700}.partner-trust-card p{font-size:13px;color:#666;margin:18px 0 0}.partner-quote-box{display:flex;justify-content:space-between;gap:28px;align-items:center}.partner-quote-box h2{margin:.1em 0 .25em}
@media(max-width:980px){.partner-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-filter-bar{grid-template-columns:1fr 1fr}.partner-filter-bar>div:first-child{grid-column:1/-1}.partners-hero-grid{grid-template-columns:1fr 280px}}
@media(max-width:720px){.partners-hero{padding:42px 0 34px}.partners-hero-grid{grid-template-columns:1fr}.partners-hero-grid .profession-visual{display:none}.partner-filter-bar,.partner-directory-grid,.partner-profile-content{grid-template-columns:1fr}.partner-filter-bar>div:first-child{grid-column:auto}.partner-card-main{grid-template-columns:60px 1fr 18px}.partner-card-logo{width:60px;height:60px}.partner-profile-grid{grid-template-columns:92px 1fr;gap:20px}.partner-profile-logo{width:92px;height:92px;border-radius:18px}.partner-profile-hero h1{font-size:34px}.partner-profile-meta{display:grid;gap:8px}.partner-quote-box{display:grid}.partner-quote-box .btn{width:100%;text-align:center}}

/* v1.3.0 — Comment ça marche + FAQ */
.how-hero-v130,.faq-hero-v130{background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);border-bottom:1px solid #eceff2}.how-hero-grid-v130{min-height:470px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:56px;align-items:center;padding-top:44px;padding-bottom:38px}.how-hero-v130 h1,.faq-hero-v130 h1{font-size:clamp(42px,4.8vw,67px);line-height:1;letter-spacing:-.045em;margin:8px 0 18px}.how-lead-v130,.faq-lead-v130{font-size:18px;line-height:1.6;color:#596168;max-width:760px}.how-hero-actions-v130{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}.how-secondary-link-v130{display:inline-flex;align-items:center;gap:5px;color:#15191d;text-decoration:none;font-weight:800;font-size:13px}.how-secondary-link-v130 .dgv2-icon{width:16px;height:16px;color:#e10600}.how-steps-v130{padding:64px 0!important}.how-step-grid-v130{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.how-step-grid-v130 article{position:relative;background:#fff;border:1px solid #e4e7ea;border-radius:16px;padding:30px 25px 28px;box-shadow:0 12px 30px rgba(18,24,30,.035)}.how-step-number-v130{position:absolute;right:17px;top:13px;font-size:54px;line-height:1;font-weight:900;color:#f1f2f3}.how-step-icon-v130{width:52px;height:52px;border-radius:14px;background:#fff1f0;color:#e10600;display:grid;place-items:center;margin-bottom:19px}.how-step-icon-v130 .dgv2-icon{width:26px;height:26px}.how-step-grid-v130 h3{font-size:20px;margin:0 0 10px}.how-step-grid-v130 p{color:#686f75;line-height:1.6;margin:0}.how-details-v130{padding:62px 0!important}.how-details-grid-v130{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.how-details-grid-v130 h2,.how-for-pros-v130 h2,.faq-help-v130 h2{font-size:clamp(30px,3.4vw,47px);line-height:1.07;letter-spacing:-.03em;margin:7px 0 14px}.how-details-grid-v130>div>p,.how-for-pros-v130 p,.faq-help-v130 p{color:#626970;line-height:1.65}.how-checks-v130{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.how-checks-v130 span{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e7e9;border-radius:11px;padding:13px 14px;font-size:12px}.how-checks-v130 .dgv2-icon{width:19px;height:19px;color:#e10600;flex:0 0 auto}.how-panel-v130{background:#15191d;color:#fff;border-radius:18px;padding:28px 30px;box-shadow:0 18px 40px rgba(0,0,0,.10)}.how-panel-v130 h3{font-size:22px;margin:0 0 14px}.how-panel-v130 ol{list-style:none;margin:0;padding:0;counter-reset:step}.how-panel-v130 li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;gap:0 12px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}.how-panel-v130 li:last-child{border-bottom:0}.how-panel-v130 li:before{content:counter(step);grid-row:1/3;width:28px;height:28px;border-radius:50%;background:#e10600;display:grid;place-items:center;font-weight:900;font-size:11px}.how-panel-v130 li b{font-size:13px}.how-panel-v130 li span{font-size:11px;color:#bdc3c8;margin-top:4px;line-height:1.5}.how-for-pros-v130{padding:62px 0!important}.how-split-v130{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.how-pro-card-v130{display:grid;gap:11px}.how-pro-card-v130>div{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:3px 13px;padding:17px 18px;border:1px solid #e1e4e7;border-radius:12px;background:#fff}.how-pro-card-v130 .dgv2-icon{grid-row:1/3;width:28px;height:28px;color:#e10600;align-self:center}.how-pro-card-v130 strong{font-size:14px}.how-pro-card-v130 span{font-size:11px;color:#6b7177;line-height:1.45}
.faq-hero-v130{padding:64px 0 54px}.faq-hero-grid-v130{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:center}.faq-search-wrap-v130{background:#fff;border:1px solid #e3e5e7;border-radius:16px;padding:22px;box-shadow:0 12px 32px rgba(0,0,0,.04)}.faq-search-wrap-v130 label{font-size:12px;font-weight:900;display:block;margin-bottom:8px}.faq-search-v130{position:relative}.faq-search-v130 .dgv2-icon{position:absolute;left:15px;top:14px;width:20px;height:20px;color:#777}.faq-search-v130 input{width:100%;height:49px;border:1px solid #d9dde0;border-radius:11px;padding:0 14px 0 45px;font:inherit}.faq-search-wrap-v130 p{font-size:11px;color:#777;margin:8px 0 0}.faq-content-v130{padding:58px 0!important}.faq-grid-v130{max-width:900px;margin:0 auto;display:grid;gap:10px}.faq-item-v130{border:1px solid #e0e3e5;border-radius:12px;background:#fff;overflow:hidden}.faq-item-v130[hidden]{display:none}.faq-item-v130 button{width:100%;border:0;background:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;font:inherit;cursor:pointer;color:#15191d}.faq-item-v130 button span{font-size:15px;font-weight:850}.faq-item-v130 button b{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:grid;place-items:center;background:#fff1f0;color:#e10600;font-size:20px;line-height:1}.faq-item-v130.is-open{border-color:#e10600}.faq-answer-v130{padding:0 20px 18px}.faq-answer-v130 p{margin:0;color:#646b71;line-height:1.65;font-size:14px}.faq-empty-v130{text-align:center;padding:40px 20px}.faq-empty-v130 p{color:#666}.faq-help-v130{padding:48px 0!important}.faq-help-card-v130{display:flex;align-items:center;justify-content:space-between;gap:38px;background:#fff;border:1px solid #e2e5e7;border-radius:16px;padding:30px 34px}.faq-help-card-v130 h2{margin-bottom:7px}.faq-help-card-v130 p{margin:0}.faq-help-actions-v130{display:flex;gap:10px;flex:0 0 auto}
@media(max-width:900px){.how-hero-grid-v130,.how-details-grid-v130,.how-split-v130,.faq-hero-grid-v130{grid-template-columns:1fr}.how-hero-grid-v130{min-height:auto}.how-hero-grid-v130 .profession-visual{display:none}.how-step-grid-v130{grid-template-columns:1fr}.faq-hero-v130{padding:44px 0 38px}.faq-help-card-v130{align-items:flex-start;flex-direction:column}.faq-help-actions-v130{width:100%;flex-wrap:wrap}}
@media(max-width:600px){.how-hero-v130 h1,.faq-hero-v130 h1{font-size:39px}.how-lead-v130,.faq-lead-v130{font-size:16px}.how-checks-v130{grid-template-columns:1fr}.how-panel-v130{padding:22px 20px}.faq-help-actions-v130{display:grid;grid-template-columns:1fr;width:100%}.faq-help-actions-v130 .btn{text-align:center}.faq-item-v130 button{padding:16px}.faq-answer-v130{padding:0 16px 16px}}

/* v1.4.0 — Demande de devis */
.dgv2-quote-page{background:#fff;color:#1f1f1f}.dgv2-quote-hero{padding:58px 0 44px;background:linear-gradient(180deg,#fff 0,#fafafa 100%);border-bottom:1px solid #eee}.dgv2-quote-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:42px;align-items:center}.dgv2-eyebrow{display:inline-block;color:#e10600;font-size:13px;font-weight:800;letter-spacing:.14em;margin-bottom:10px}.dgv2-quote-hero h1{font-size:clamp(34px,4vw,54px);line-height:1.04;margin:0 0 16px;letter-spacing:-.035em}.dgv2-quote-hero p{font-size:18px;line-height:1.65;max-width:720px;color:#595959;margin:0}.dgv2-quote-trust{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;font-size:14px;font-weight:700}.dgv2-quote-trust span{color:#353535}.dgv2-quote-sidecard{background:#171717;color:#fff;padding:24px 26px;border-radius:20px;box-shadow:0 18px 45px rgba(0,0,0,.12)}.dgv2-quote-sidecard strong{font-size:20px}.dgv2-quote-sidecard p{font-size:14px;color:#d2d2d2;margin-top:8px;line-height:1.55}.dgv2-quote-section{padding:46px 0 70px}.dgv2-quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:34px;align-items:start}.dgv2-quote-main{min-width:0}.dgv2-quote-aside{display:grid;gap:16px;position:sticky;top:94px}.dgv2-quote-help{border:1px solid #ececec;border-radius:16px;padding:20px;background:#fafafa}.dgv2-quote-help h3{margin:0 0 8px;font-size:18px}.dgv2-quote-help p{font-size:14px;color:#666;line-height:1.55;margin:0 0 12px}.dgv2-quote-help a{display:block;color:#e10600;text-decoration:none;font-weight:750;margin-top:5px}.dgv2-quote-unavailable{padding:28px;border:1px solid #ececec;border-radius:18px;background:#fafafa}
/* Override the Business Portal public form so it matches the public V2 site. */
.dgv2-quote-page .dgqr-wrap{max-width:none!important;margin:0!important}.dgv2-quote-page .dgqr-form{background:#fff!important;color:#1f1f1f!important;border:1px solid #ececec!important;border-radius:22px!important;padding:30px!important;box-shadow:0 15px 45px rgba(0,0,0,.07)!important}.dgv2-quote-page .dgqr-progress{color:#333!important;margin-bottom:26px!important}.dgv2-quote-page .dgqr-progress i{background:#eee!important}.dgv2-quote-page .dgqr-progress em{background:#e10600!important}.dgv2-quote-page .dgqr-step h2{color:#1f1f1f!important;font-size:26px!important;margin-bottom:22px!important}.dgv2-quote-page .dgqr-grid label,.dgv2-quote-page .dgqr-step>label{color:#333!important;font-weight:700!important}.dgv2-quote-page .dgqr-form input,.dgv2-quote-page .dgqr-form select,.dgv2-quote-page .dgqr-form textarea{background:#f7f7f7!important;color:#222!important;border:1px solid #dedede!important;border-radius:12px!important;padding:13px 14px!important}.dgv2-quote-page .dgqr-form input::placeholder,.dgv2-quote-page .dgqr-form textarea::placeholder{color:#919191!important}.dgv2-quote-page .dgqr-form input:focus,.dgv2-quote-page .dgqr-form select:focus,.dgv2-quote-page .dgqr-form textarea:focus{border-color:#e10600!important;box-shadow:0 0 0 3px rgba(225,6,0,.10)!important}.dgv2-quote-page .dgqr-form select option{background:#fff!important;color:#222!important}.dgv2-quote-page .dgqr-form small{color:#777!important}.dgv2-quote-page .dgqr-box,.dgv2-quote-page .dgqr-review{background:#fafafa!important;color:#333!important;border:1px solid #e5e5e5!important}.dgv2-quote-page .dgqr-privacy{background:#fff7f7!important;color:#333!important;border:1px solid #f2b5b3!important}.dgv2-quote-page .dgqr-checks label{color:#333!important}.dgv2-quote-page .dgqr-final{color:#666!important}.dgv2-quote-page .dgqr-back{background:#f1f1f1!important;color:#333!important;border:1px solid #ddd!important}.dgv2-quote-page .dgqr-next,.dgv2-quote-page .dgqr-submit{background:#e10600!important;color:#fff!important}.dgv2-quote-page .dgqr-actions button{border-radius:11px!important;padding:13px 20px!important}.dgv2-quote-page .dgqr-success{background:#f1fff5!important;color:#1e552d!important;border-color:#b6dec2!important}.dgv2-quote-page .dgqr-error{background:#fff4f4!important;color:#7a1f1f!important;border-color:#edbcbc!important}
@media(max-width:900px){.dgv2-quote-hero-grid,.dgv2-quote-layout{grid-template-columns:1fr}.dgv2-quote-aside{position:static;grid-template-columns:1fr 1fr}.dgv2-quote-sidecard{max-width:520px}.dgv2-quote-hero{padding-top:38px}}
@media(max-width:650px){.dgv2-quote-hero{padding:30px 0 28px}.dgv2-quote-section{padding:26px 0 48px}.dgv2-quote-aside{grid-template-columns:1fr}.dgv2-quote-page .dgqr-form{padding:18px!important;border-radius:16px!important}.dgv2-quote-page .dgqr-step h2{font-size:22px!important}.dgv2-quote-trust{gap:8px 14px}.dgv2-quote-sidecard{display:none}}

/* =========================================================
   v1.6.0 — PERFORMANCE + RESPONSIVE FINAL
   ========================================================= */
html{overflow-x:hidden}body{overflow-x:clip}
img{max-width:100%;height:auto}
.site-header,.hero,.section,.site-footer{contain:layout style}
.section:not(#services),.region-section,.stats-section,.cta-section{content-visibility:auto;contain-intrinsic-size:700px}
.hero-visual img,.profession-visual img,.city-visual-v110 img,.directory-devy{object-fit:contain}
.partner-logo-card img,.partner-card-logo img,.partner-profile-logo img{object-fit:contain;max-width:100%;max-height:100%}
.trade-search input,.directory-searchbox input,.footer-search input,.faq-search-v130 input{min-width:0}
.btn,.menu-toggle,.trade-search button,.directory-searchbox>button,.faq-item-v130 button{touch-action:manipulation}

/* Tablet: keep hierarchy compact without squeezing cards. */
@media (min-width:701px) and (max-width:1049px){
  .wrap{width:min(calc(100% - 32px),var(--max))}
  .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:24px;min-height:500px}
  .hero h1{font-size:clamp(40px,5.2vw,56px)}
  .hero-visual{height:455px}
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .benefit-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trade-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
  .region-grid{gap:34px}
  .cta-card{grid-template-columns:160px 1fr auto;padding-inline:28px}
  .cta-card img{max-height:185px}
}

/* Mobile: no horizontal overflow, larger tap targets, compact hero/footer. */
@media (max-width:700px){
  :root{--radius:14px}
  .wrap{width:min(calc(100% - 24px),var(--max))}
  .site-header{backdrop-filter:none;background:#fff}
  .header-inner{height:64px!important;min-height:64px!important}
  .brand{flex:0 1 142px!important;min-width:0!important}
  .brand img,.brand .custom-logo-link img,.custom-logo{width:142px!important;max-width:142px!important;height:auto!important}
  .header-actions{gap:6px!important}
  .header-cta{min-height:36px!important;padding:0 10px!important;font-size:9px!important;border-radius:7px!important}
  .menu-toggle{width:38px;height:38px;padding:7px!important}
  .mobile-nav{top:64px!important;max-height:calc(100dvh - 64px);overflow:auto;-webkit-overflow-scrolling:touch}

  .hero-grid{padding-top:28px!important}
  .hero h1{font-size:clamp(34px,10.8vw,44px)!important;line-height:1.01!important}
  .hero-lead{font-size:15px!important;line-height:1.55!important}
  .trade-search{grid-template-columns:minmax(0,1fr) 52px!important;width:100%!important}
  .trade-search input{height:52px!important;font-size:14px!important;padding:0 14px!important}
  .trust-row{grid-template-columns:1fr 1fr!important;gap:10px 12px!important}
  .hero-visual{height:270px!important;margin-top:4px!important}
  .hero-visual img{max-height:265px!important;right:0!important}
  .hero-visual .blueprint{inset:10% -6% 4% 24%!important;opacity:.38!important}

  .section{padding:42px 0!important}
  #services.section{padding-bottom:18px!important}
  .section-head{margin-bottom:20px!important}
  .section-head h2,.region-section h2,.cta-card h2{font-size:clamp(25px,8vw,31px)!important}
  .category-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .category-card{min-height:118px!important;padding:11px 9px!important}
  .category-icon .dgv2-icon{width:33px!important;height:33px!important}
  .benefit-grid,.stats-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .trade-chips{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .trade-chips a,.region-buttons a{min-height:44px;display:grid;place-items:center}
  .region-map,.swiss-map-svg{min-height:0!important}
  .swiss-map-svg{width:min(100%,300px)!important;margin-inline:auto!important}
  .partner-logos{gap:9px!important}
  .partner-logo-card{min-height:86px!important;padding:10px!important}

  .cta-section{padding-top:8px!important}
  .cta-card{grid-template-columns:82px 1fr!important;gap:12px!important;min-height:180px!important;padding:14px 14px 0!important;border-radius:13px 13px 0 0!important}
  .cta-card img{max-height:145px!important}
  .cta-card h2{font-size:23px!important;margin-bottom:6px!important}
  .cta-card p{font-size:12px!important;line-height:1.45!important}
  .cta-card>div:last-child{grid-column:2!important;align-items:stretch!important;gap:5px!important;padding-bottom:14px!important}
  .cta-card .btn{min-height:42px!important;width:100%!important}

  .site-footer{padding:24px 0 10px!important}
  .footer-grid-v3{grid-template-columns:1fr 1fr!important;gap:16px 18px!important}
  .footer-brand{grid-column:1/-1!important}
  .footer-brand img{width:190px!important;max-width:70vw!important}
  .footer-brand p{margin:8px 0 0!important}
  .footer-bottom{margin-top:12px!important;padding-top:8px!important}
}

@media (max-width:430px){
  .trust-row{grid-template-columns:1fr 1fr!important;gap:10px 12px!important}
  .category-grid,.benefit-grid,.stats-grid,.trade-chips{grid-template-columns:1fr 1fr!important}
  .footer-grid-v3{grid-template-columns:1fr!important}
  .footer-brand{grid-column:auto!important}
  .cta-card{grid-template-columns:72px 1fr!important}
  .cta-card img{max-height:132px!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* v1.8.3 — toutes les vignettes interactives */
.category-grid a,
.directory-category-grid a,
.trade-chips a,
.directory-trade-grid a,
.region-buttons a,
.profession-region-buttons a,
.profession-related-grid a,
.region-trade-grid-v100 a,
.region-city-tags-v100 a,
.region-index-grid-v100 a,
.category-prof-grid-v180 a,
.partner-directory-grid a,
.partner-logos a { cursor:pointer; position:relative; z-index:1; }
.category-grid a > *,
.directory-category-grid a > *,
.trade-chips a > *,
.directory-trade-grid a > *,
.region-buttons a > *,
.profession-region-buttons a > *,
.profession-related-grid a > *,
.region-trade-grid-v100 a > *,
.region-city-tags-v100 a > *,
.region-index-grid-v100 a > *,
.category-prof-grid-v180 a > *,
.partner-directory-grid a > * { pointer-events:none; }

/* v1.8.4 — toutes les vignettes sont de vrais liens cliquables */
[data-dgv2-clickable="1"]{cursor:pointer!important;position:relative;}
[data-dgv2-clickable="1"]>*{pointer-events:none;}

/* v1.8.5 — category pages: proper service cards */
.category-hero-v180{padding:54px 0 44px;background:#fff;border-bottom:1px solid var(--line)}
.category-hero-grid-v180{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:34px;align-items:center}
.category-hero-v180 h1{font-size:clamp(38px,4.3vw,58px);line-height:1.03;letter-spacing:-.035em;margin:0 0 12px}
.category-lead-v180{max-width:800px;margin:0;color:var(--muted);font-size:17px}
.category-hero-icon-v180{width:92px;height:92px;border-radius:22px;background:#fff2f1;color:var(--red);display:grid;place-items:center;justify-self:end}
.category-hero-icon-v180 .dgv2-icon{width:45px;height:45px}
.category-prof-grid-v180{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1120px;margin:0 auto}
.category-prof-grid-v180>a{min-height:126px;padding:20px;border:1px solid #dfe2e5;border-radius:14px;background:#fff;text-decoration:none;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:14px;align-content:center;box-shadow:0 5px 18px rgba(20,24,32,.025);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.category-prof-grid-v180>a:hover{transform:translateY(-3px);border-color:#efa5a2;box-shadow:0 12px 28px rgba(20,24,32,.07)}
.category-prof-icon-v180{grid-row:1/3;width:42px;height:42px;border-radius:11px;background:#fff2f1;color:var(--red);display:grid;place-items:center;align-self:center}
.category-prof-icon-v180 .dgv2-icon{width:20px;height:20px}
.category-prof-grid-v180 strong{display:block;font-size:16px;line-height:1.2;text-decoration:none}
.category-prof-grid-v180 small{display:block;margin-top:6px;color:#747a80;font-size:12px;line-height:1.35;text-decoration:none}
.category-search-v180{max-width:1120px;margin:22px auto 0;padding:20px 22px;border:1px solid #e1e4e7;border-radius:14px;background:#fff;display:grid;grid-template-columns:minmax(240px,.75fr) minmax(360px,1.25fr);gap:26px;align-items:center}
.category-search-v180 strong{font-size:15px}.category-search-v180 p{margin:4px 0 0;color:var(--muted);font-size:13px}.category-search-v180 .trade-search{max-width:none;width:100%}
.category-regions-v180{padding:58px 0}.category-region-buttons-v180{justify-content:center}
@media(max-width:900px){.category-prof-grid-v180{grid-template-columns:repeat(2,minmax(0,1fr))}.category-search-v180{grid-template-columns:1fr}.category-hero-grid-v180{grid-template-columns:1fr 80px}}
@media(max-width:600px){.category-hero-v180{padding:34px 0 28px}.category-hero-grid-v180{grid-template-columns:1fr}.category-hero-icon-v180{display:none}.category-lead-v180{font-size:15px}.category-prof-grid-v180{grid-template-columns:1fr;gap:10px}.category-prof-grid-v180>a{min-height:98px;padding:15px}.category-search-v180{padding:16px}.category-search-v180 .trade-search{grid-template-columns:1fr 54px}}

/* v1.8.6 — Parcours guidé catégorie → métier → prestation → canton → ville → devis */
.profession-funnel-v186 .section-head{max-width:820px;margin:0 auto 28px;text-align:center}
.profession-service-choice-grid-v186{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1040px;margin:0 auto}
.profession-service-choice-grid-v186>a{min-height:88px;border:1px solid #dde2e6;border-radius:14px;background:#fff;color:#15191d;text-decoration:none;padding:18px 20px;display:grid;grid-template-columns:24px 1fr 18px;align-items:center;gap:12px;font-weight:850;transition:.18s ease;box-shadow:0 5px 16px rgba(22,30,38,.025)}
.profession-service-choice-grid-v186>a .dgv2-icon{width:20px;height:20px;color:#e10600}
.profession-service-choice-grid-v186>a .dgv2-icon:last-child{width:15px;height:15px;color:#7a8086}
.profession-service-choice-grid-v186>a:hover,.profession-service-choice-grid-v186>a.is-selected{border-color:#e10600;color:#e10600;box-shadow:0 10px 28px rgba(225,6,0,.08);transform:translateY(-1px)}
.profession-choice-v186{padding:54px 0!important}
.profession-direct-cta-v186{padding:38px 0 54px!important}
.profession-direct-card-v186{border:1px solid #e0e4e7;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(20,26,32,.04);padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.profession-direct-card-v186 h2{font-size:clamp(27px,2.8vw,39px);line-height:1.08;margin:5px 0 8px}
.profession-direct-card-v186 p{margin:0;color:#626970}
.profession-summary-v186{padding:52px 0!important}
.profession-summary-grid-v186{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.profession-summary-grid-v186>div{border:1px solid #e0e4e7;border-radius:14px;background:#fff;padding:19px 20px;display:grid;gap:5px;min-height:92px;align-content:center}
.profession-summary-grid-v186 small{text-transform:uppercase;letter-spacing:.08em;color:#737a81;font-size:10px;font-weight:850}
.profession-summary-grid-v186 strong{font-size:15px;line-height:1.25}
.profession-final-cta-v186{padding:52px 0 62px!important}
.profession-final-card-v186{background:#fff;border:1px solid #dfe3e6;border-radius:20px;padding:38px 42px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:38px;box-shadow:0 12px 36px rgba(18,24,30,.05)}
.profession-final-card-v186 h2{font-size:clamp(30px,3.2vw,44px);line-height:1.05;margin:6px 0 12px}
.profession-final-card-v186 p{color:#626970;max-width:760px;line-height:1.6}
.profession-final-button-v186{min-width:245px;min-height:58px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
@media(max-width:900px){.profession-service-choice-grid-v186{grid-template-columns:1fr 1fr}.profession-summary-grid-v186{grid-template-columns:repeat(2,minmax(0,1fr))}.profession-final-card-v186{grid-template-columns:1fr}.profession-final-button-v186{justify-self:start}.profession-direct-card-v186{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.profession-service-choice-grid-v186{grid-template-columns:1fr}.profession-summary-grid-v186{grid-template-columns:1fr}.profession-final-card-v186,.profession-direct-card-v186{padding:24px 20px}.profession-final-button-v186{width:100%;min-width:0}}

/* v1.8.7 — fil d’Ariane visuel cohérent */
.dgv2-breadcrumb-v187,.profession-breadcrumb{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 18px;font-size:11px;font-weight:750;color:#7a8087;
}
.dgv2-breadcrumb-v187 a,.profession-breadcrumb a{color:#535a61;text-decoration:none;transition:color .15s ease}
.dgv2-breadcrumb-v187 a:hover,.profession-breadcrumb a:hover{color:#e10600}
.dgv2-breadcrumb-v187 span,.profession-breadcrumb span{color:#b7bcc2}
.dgv2-breadcrumb-v187 strong,.profession-breadcrumb strong{color:#16191d;font-weight:850}
@media(max-width:600px){.dgv2-breadcrumb-v187,.profession-breadcrumb{font-size:10px;gap:6px;margin-bottom:14px}}

/* v1.8.8 — Comment ça marche rebuilt as native V2 page */
.how-page-v188{background:#fff}.how-hero-v188{padding:68px 0 54px;overflow:hidden}.how-hero-grid-v188{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:54px}.how-hero-copy-v188 h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:14px 0 22px;max-width:850px}.how-hero-copy-v188 h1 span{color:#e10600}.how-lead-v188{font-size:20px;line-height:1.65;color:#5d6570;max-width:760px}.how-hero-actions-v188{display:flex;align-items:center;gap:25px;margin-top:30px;flex-wrap:wrap}.how-secondary-link-v188{display:inline-flex;gap:7px;align-items:center;font-weight:800;color:#111820;text-decoration:none}.how-secondary-link-v188 .dgv2-icon{width:18px;height:18px}.how-hero-devy-v188{position:relative;min-height:430px;display:flex;align-items:flex-end;justify-content:center}.how-hero-devy-v188>img{position:relative;z-index:2;max-height:430px;width:auto;max-width:100%;object-fit:contain}.how-hero-devy-v188 .profession-sketch{position:absolute;inset:8% -12% 0 0;opacity:.65;z-index:1}.how-process-v188{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.how-four-grid-v188{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px}.how-card-v188{position:relative;background:#fff;border:1px solid #e0e4e8;border-radius:20px;padding:32px 25px 26px;min-height:310px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.how-card-v188:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(17,24,32,.08);border-color:#f0b0ad}.how-num-v188{position:absolute;top:-17px;left:24px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e10600;color:#fff;font-size:17px;font-weight:900;box-shadow:0 7px 18px rgba(225,6,0,.22)}.how-icon-v188{width:54px;height:54px;border-radius:15px;background:#fff1f0;color:#e10600;display:grid;place-items:center;margin:9px 0 20px}.how-icon-v188 .dgv2-icon{width:28px;height:28px}.how-card-v188 h3{font-size:22px;line-height:1.15;margin:0 0 13px}.how-card-v188 p{color:#5e6670;line-height:1.6;margin:0 0 20px}.how-card-v188 small{display:inline-block;font-weight:800;color:#e10600;margin-top:auto}.how-process-cta-v188{text-align:center;margin-top:34px}.how-after-v188{padding-top:80px;padding-bottom:80px}.how-after-grid-v188{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr);gap:55px;align-items:center}.how-after-grid-v188 h2{font-size:clamp(34px,4vw,54px);line-height:1.05;margin:12px 0 20px;letter-spacing:-.035em}.how-after-grid-v188>div>p{font-size:18px;line-height:1.7;color:#606873}.how-checks-v188{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}.how-checks-v188 span{display:flex;align-items:center;gap:10px;font-size:15px}.how-checks-v188 .dgv2-icon{width:22px;height:22px;color:#e10600;flex:0 0 22px}.how-summary-card-v188{background:#111820;color:#fff;border-radius:24px;padding:38px;box-shadow:0 20px 60px rgba(17,24,32,.12)}.how-summary-card-v188 .eyebrow{color:#ff514c}.how-summary-card-v188 h3{font-size:31px;line-height:1.12;margin:10px 0 17px}.how-summary-card-v188 p{color:#c5cbd2!important;font-size:16px!important;margin-bottom:26px}.how-summary-card-v188 .btn{box-shadow:none}
@media(max-width:1000px){.how-hero-grid-v188{grid-template-columns:1fr}.how-hero-devy-v188{min-height:330px}.how-hero-devy-v188>img{max-height:340px}.how-four-grid-v188{grid-template-columns:repeat(2,minmax(0,1fr))}.how-after-grid-v188{grid-template-columns:1fr}}
@media(max-width:640px){.how-hero-v188{padding:38px 0 28px}.how-hero-copy-v188 h1{font-size:42px}.how-lead-v188{font-size:17px}.how-hero-devy-v188{min-height:265px}.how-hero-devy-v188>img{max-height:280px}.how-four-grid-v188{grid-template-columns:1fr;gap:26px}.how-card-v188{min-height:auto;padding:29px 22px 23px}.how-after-v188{padding:55px 0}.how-checks-v188{grid-template-columns:1fr}.how-summary-card-v188{padding:28px}.how-summary-card-v188 h3{font-size:27px}}

/* v1.9.0 — mobile vignette consistency audit */
@media (max-width:700px){
  /* Rich cards: one clean column on phones */
  .directory-category-grid,
  .directory-trade-grid,
  .category-prof-grid-v180,
  .profession-service-choice-grid-v186,
  .profession-related-grid,
  .region-trade-grid-v100,
  .region-index-grid-v100,
  .partner-directory-grid,
  .how-four-grid-v188{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  /* Compact location / keyword tiles may stay two columns */
  .category-grid,
  .trade-chips,
  .benefit-grid,
  .stats-grid,
  .region-buttons,
  .profession-region-buttons,
  .region-city-tags-v100,
  .category-region-buttons-v180{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  /* Flex containers forced into predictable mobile grids */
  .region-buttons,
  .profession-region-buttons,
  .category-region-buttons-v180{
    display:grid!important;
    width:100%!important;
  }

  /* Uniform tap targets and text wrapping */
  .category-card,
  .directory-category-card,
  .directory-trade-grid>a,
  .category-prof-grid-v180>a,
  .profession-service-choice-grid-v186>a,
  .profession-related-grid>a,
  .region-trade-grid-v100>a,
  .region-city-tags-v100>a,
  .region-index-grid-v100>a,
  .partner-directory-card,
  .trade-chips>a,
  .region-buttons>a,
  .profession-region-buttons>a{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .category-card strong,
  .directory-category-card strong,
  .directory-trade-grid strong,
  .category-prof-grid-v180 strong,
  .profession-service-choice-grid-v186 strong,
  .profession-related-grid strong,
  .region-trade-grid-v100 strong,
  .region-index-grid-v100 strong,
  .partner-card-main h2,
  .trade-chips a,
  .region-buttons a,
  .profession-region-buttons a,
  .region-city-tags-v100 a{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
  }

  /* Rich profession cards: icon + content stay aligned */
  .category-prof-grid-v180>a{
    grid-template-columns:42px minmax(0,1fr)!important;
    min-height:96px!important;
  }
  .profession-service-choice-grid-v186>a{
    grid-template-columns:24px minmax(0,1fr) 18px!important;
    min-height:72px!important;
    padding:15px 16px!important;
  }
  .region-trade-grid-v100>a,
  .region-index-grid-v100>a{
    min-height:72px!important;
  }
  .partner-card-main{
    grid-template-columns:56px minmax(0,1fr) 18px!important;
    gap:12px!important;
  }
  .partner-card-logo{width:56px!important;height:56px!important}

  /* No mobile card should be clipped by parent containers */
  .section,.section-soft,.directory-categories,.directory-trades,
  .profession-funnel-v186,.category-page-v180,.region-section{
    overflow:visible!important;
  }
}

@media (max-width:430px){
  /* Keep tiny screens readable: only compact tiles stay two-up */
  .category-grid,
  .trade-chips,
  .benefit-grid,
  .stats-grid,
  .region-buttons,
  .profession-region-buttons,
  .region-city-tags-v100,
  .category-region-buttons-v180{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .category-card{min-height:108px!important}
  .category-card strong{font-size:9.5px!important;line-height:1.25!important}
}

/* v1.9.2 — Mobile homepage process visual fix */
@media (max-width:620px){
  #fonctionnement.section{padding:42px 0 46px!important;overflow:visible!important}
  #fonctionnement .wrap{width:min(calc(100% - 30px),var(--max))!important}
  #fonctionnement .section-head{text-align:center!important;margin:0 auto 22px!important}
  #fonctionnement .section-head h2{font-size:27px!important;line-height:1.08!important;margin:0!important;white-space:normal!important}
  #fonctionnement .process-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  #fonctionnement .process-card{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:4px!important;
    align-items:center!important;
    min-height:0!important;
    padding:17px 16px!important;
    text-align:left!important;
    background:#fff!important;
    border:1px solid #e1e4e7!important;
    border-radius:14px!important;
    position:relative!important;
  }
  #fonctionnement .process-card>b{
    position:absolute!important;
    left:10px!important;
    top:10px!important;
    z-index:2!important;
    width:27px!important;
    height:27px!important;
    font-size:12px!important;
    line-height:27px!important;
  }
  #fonctionnement .process-card>span{
    position:static!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:48px!important;
    height:48px!important;
    display:grid!important;
    place-items:center!important;
    color:var(--red)!important;
  }
  #fonctionnement .process-card .dgv2-icon{width:34px!important;height:34px!important}
  #fonctionnement .process-card h3{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  #fonctionnement .process-card p{
    grid-column:2!important;
    grid-row:2!important;
    margin:0!important;
    padding:0!important;
    font-size:12.5px!important;
    line-height:1.45!important;
  }
  #fonctionnement .center{margin-top:20px!important;text-align:center!important}
  #fonctionnement .center .btn{width:min(100%,330px)!important;min-height:52px!important}
}


/* v1.9.4 — Category reassurance badges: one line on mobile */
@media (max-width:700px){
  .category-page-v180 .trust-row{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;max-width:100%!important;margin-top:18px!important;overflow:visible!important}
  .category-page-v180 .trust-row span{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;gap:4px!important;margin:0!important;padding:0!important;font-size:9px!important;line-height:1.1!important;white-space:nowrap!important;word-break:normal!important}
  .category-page-v180 .trust-row .dgv2-icon{width:15px!important;height:15px!important;flex:0 0 15px!important}
}
@media (max-width:360px){
  .category-page-v180 .trust-row{gap:5px!important}
  .category-page-v180 .trust-row span{font-size:8.2px!important;gap:3px!important}
  .category-page-v180 .trust-row .dgv2-icon{width:14px!important;height:14px!important;flex-basis:14px!important}
}

/* v1.9.5 — mobile home hero: Devy readable again */
@media (max-width:700px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .hero-copy{min-width:0!important;width:100%!important}
  .hero-visual{
    display:flex!important;
    position:relative!important;
    width:100%!important;
    height:300px!important;
    min-height:300px!important;
    margin:8px 0 0!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .hero-visual img{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    height:292px!important;
    max-height:292px!important;
    max-width:82vw!important;
    margin:0 auto!important;
    object-fit:contain!important;
    z-index:2!important;
    flex:0 0 auto!important;
  }
  .hero-visual .blueprint{
    inset:8% 0 0 0!important;
    background-position:center bottom!important;
    background-size:95% auto!important;
  }
}
@media (max-width:390px){
  .hero-visual{height:270px!important;min-height:270px!important}
  .hero-visual img{height:262px!important;max-height:262px!important}
}


/* v1.9.6 — robust mobile Devy: dedicated mobile render */
.hero-mobile-devy-v196{display:none}
@media (max-width:760px){
  .hero-mobile-devy-v196{display:flex!important;justify-content:center!important;align-items:flex-end!important;width:100%!important;height:250px!important;margin:8px 0 14px!important;overflow:hidden!important;position:relative!important}
  .hero-mobile-devy-v196 img{display:block!important;position:static!important;width:auto!important;height:245px!important;max-height:245px!important;max-width:88vw!important;object-fit:contain!important;margin:0 auto!important}
  .hero .hero-visual{display:none!important}
}
@media (max-width:390px){
  .hero-mobile-devy-v196{height:225px!important}
  .hero-mobile-devy-v196 img{height:220px!important;max-height:220px!important}
}


/* v1.9.7 — mobile hero composition: Devy guides toward the search field */
.hero-mobile-guide-v197{display:none}
.hero-desktop-search-v197{display:grid}
@media (max-width:760px){
  /* Kill every legacy mobile/desktop Devy render in the hero. */
  .hero-mobile-devy-v196{display:none!important}
  section.hero .hero-visual{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  section.hero .hero-visual *{display:none!important}

  .hero-desktop-search-v197{display:none!important}
  .hero-mobile-guide-v197{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:315px!important;
    margin:4px 0 8px!important;
    overflow:visible!important;
  }
  .hero-mobile-guide-devy-v197{
    display:block!important;
    position:absolute!important;
    right:-16px!important;
    top:0!important;
    width:255px!important;
    height:315px!important;
    z-index:2!important;
    pointer-events:none!important;
    overflow:visible!important;
  }
  .hero-mobile-guide-devy-v197 img{
    display:block!important;
    width:auto!important;
    height:310px!important;
    max-height:310px!important;
    max-width:none!important;
    margin:0!important;
    object-fit:contain!important;
    transform:rotate(1.5deg)!important;
    transform-origin:60% 90%!important;
  }
  .hero-mobile-guide-search-v197{
    display:grid!important;
    position:absolute!important;
    left:0!important;
    top:116px!important;
    z-index:5!important;
    width:72%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    box-shadow:0 10px 28px rgba(20,24,32,.10)!important;
  }
  .hero-mobile-guide-search-v197 input{
    min-width:0!important;
    width:100%!important;
    padding:0 13px!important;
    font-size:13px!important;
    height:54px!important;
  }
  .hero-mobile-guide-search-v197 button{height:54px!important}
}
@media (max-width:430px){
  .hero-mobile-guide-v197{height:292px!important}
  .hero-mobile-guide-devy-v197{right:-22px!important;width:235px!important;height:292px!important}
  .hero-mobile-guide-devy-v197 img{height:288px!important;max-height:288px!important}
  .hero-mobile-guide-search-v197{top:108px!important;width:70%!important;grid-template-columns:minmax(0,1fr) 52px!important}
  .hero-mobile-guide-search-v197 input{font-size:12px!important;height:52px!important;padding:0 11px!important}
  .hero-mobile-guide-search-v197 button{height:52px!important}
}
@media (max-width:360px){
  .hero-mobile-guide-v197{height:270px!important}
  .hero-mobile-guide-devy-v197{right:-24px!important;width:218px!important;height:270px!important}
  .hero-mobile-guide-devy-v197 img{height:266px!important;max-height:266px!important}
  .hero-mobile-guide-search-v197{top:98px!important;width:69%!important;grid-template-columns:minmax(0,1fr) 48px!important}
  .hero-mobile-guide-search-v197 input{font-size:11px!important;height:50px!important}
  .hero-mobile-guide-search-v197 button{height:50px!important}
}


/* v1.9.8 — single-source hero: exactly one Devy and one search form */
.hero-layout-v198{
  min-height:540px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  grid-template-areas:
    "eyebrow visual"
    "title visual"
    "lead visual"
    "search visual"
    "trust visual";
  column-gap:40px;
  align-content:center;
  align-items:center;
}
.hero-eyebrow-v198{grid-area:eyebrow;align-self:end}
.hero-title-v198{grid-area:title}
.hero-lead-v198{grid-area:lead}
.hero-search-v198{grid-area:search}
.hero-trust-v198{grid-area:trust}
.hero-visual-v198{grid-area:visual;position:relative;align-self:end;height:510px;overflow:hidden}
.hero-visual-v198 img{position:absolute;z-index:2;right:2%;bottom:0;max-height:500px;width:auto;object-fit:contain}
.hero-visual-v198 .blueprint{position:absolute;inset:50px -100px 20px 0;opacity:.34;background-image:linear-gradient(30deg,transparent 49%,#d8dade 50%,transparent 51%),linear-gradient(150deg,transparent 49%,#d8dade 50%,transparent 51%);background-size:110px 70px;border:1px solid #eceef0}
@media(max-width:760px){
  .hero-v198{overflow:hidden!important}
  .hero-layout-v198{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"eyebrow" "title" "lead" "visual" "search" "trust"!important;
    gap:0!important;
    padding-top:38px!important;
  }
  .hero-title-v198{font-size:41px!important;margin-bottom:22px!important}
  .hero-lead-v198{font-size:15px!important;margin-bottom:8px!important}
  .hero-visual-v198{
    display:flex!important;
    position:relative!important;
    height:330px!important;
    min-height:330px!important;
    width:100%!important;
    margin:0!important;
    justify-content:flex-end!important;
    align-items:flex-end!important;
    overflow:hidden!important;
  }
  .hero-visual-v198 img{
    display:block!important;
    position:absolute!important;
    right:-4px!important;
    bottom:0!important;
    height:322px!important;
    max-height:322px!important;
    width:auto!important;
    max-width:82vw!important;
    object-fit:contain!important;
    z-index:2!important;
  }
  .hero-visual-v198 .blueprint{display:none!important}
  .hero-search-v198{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    margin:0 0 12px!important;
  }
  .hero-search-v198 input{min-width:0!important;width:100%!important}
  .hero-trust-v198{margin-top:10px!important}
  /* Obsolete legacy blocks are impossible to show if stale markup survives in cache. */
  .hero-mobile-guide-v197,.hero-mobile-devy-v196,.hero-desktop-search-v197,.hero-grid>.hero-visual{display:none!important}
}
@media(max-width:430px){
  .hero-title-v198{font-size:36px!important}
  .hero-visual-v198{height:300px!important;min-height:300px!important}
  .hero-visual-v198 img{height:294px!important;max-height:294px!important;right:-8px!important}
}

/* v1.9.9 — mobile hero cleanup: no grid background, new Devy pose */
.hero-v198,.hero-layout-v198,.hero-visual-v198{background-image:none!important}
.hero-visual-v198 .blueprint,.hero-v198 .blueprint{display:none!important;background:none!important;border:0!important}
@media(max-width:760px){
  .hero-visual-v198{height:315px!important;min-height:315px!important;justify-content:center!important;overflow:hidden!important;background:#fff!important}
  .hero-visual-v198 img{position:absolute!important;right:3%!important;left:auto!important;bottom:-4px!important;height:310px!important;max-height:310px!important;max-width:76vw!important;object-fit:contain!important;transform:none!important}
}
@media(max-width:430px){
  .hero-visual-v198{height:292px!important;min-height:292px!important}
  .hero-visual-v198 img{right:4%!important;height:288px!important;max-height:288px!important;max-width:78vw!important}
}

/* V1.10.3 — Mobile canton tiles: exactly 3 columns x 2 rows */
@media (max-width:760px){
  .region-buttons,
  .profession-region-buttons,
  .category-region-buttons-v180{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .region-buttons>a,
  .profession-region-buttons>a,
  .category-region-buttons-v180>a{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:8px 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
}
@media (max-width:360px){
  .region-buttons>a,
  .profession-region-buttons>a,
  .category-region-buttons-v180>a{
    font-size:11px!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
}
/* v1.10.5 — logos partenaires légèrement agrandis */
.partner-logo-card img{max-width:145px!important;max-height:56px!important;}
@media(max-width:560px){
  .partner-logo-card img{max-width:128px!important;max-height:54px!important;}
}

/* v1.10.6 — précision période des statistiques */
.live-stats .stats-launch-note{grid-column:1/-1;margin:0;padding:10px 14px 2px;text-align:center;font-size:10px;line-height:1.4;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:760px){.live-stats .stats-launch-note{padding:12px 10px 0;font-size:10px}}

/* v1.10.7 — partner logos: visual enlargement inside homepage tiles.
   Some uploaded logo files contain large transparent/white margins, so max-width alone
   does not visibly enlarge the artwork. Scale the image itself while clipping to card. */
#partenaires .partner-logo-card{overflow:hidden!important;}
#partenaires .partner-logo-card img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  transform:scale(1.38)!important;
  transform-origin:center center!important;
}
@media(max-width:560px){
  #partenaires .partner-logo-card img{
    transform:scale(1.55)!important;
  }
}


/* v1.10.8 — stats launch note: full-width, max two lines on mobile */
.live-stats .stats-launch-note{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:12px 14px 2px!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.35!important;
  color:var(--muted)!important;
  border-top:1px solid var(--line)!important;
}
@media(max-width:760px){
  .live-stats .stats-launch-note{
    display:block!important;
    width:100%!important;
    padding:12px 4px 0!important;
    font-size:12px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
}


/* v1.10.9 — HARD FIX partner logo scale + stats note width */
#partenaires .dgv2-partner-logo-v1109{overflow:hidden!important;}
#partenaires .dgv2-partner-img-v1109{transform:scale(1.75)!important;transform-origin:center!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.live-stats>.dgv2-stats-note-v1109{grid-column:1 / -1!important;width:100%!important;max-width:100%!important;justify-self:stretch!important;align-self:stretch!important;margin:0!important;padding:12px 10px 2px!important;text-align:center!important;font-size:12px!important;line-height:1.35!important;box-sizing:border-box!important;}
@media(max-width:760px){
  #partenaires .dgv2-partner-img-v1109{transform:scale(1.95)!important;}
  .live-stats>.dgv2-stats-note-v1109{grid-column:1 / -1!important;width:100%!important;max-width:none!important;font-size:12px!important;line-height:1.35!important;padding:12px 8px 0!important;text-align:center!important;}
}


/* v1.11.1 — footer mobile: compact two-column layout */
@media(max-width:760px){
  .site-footer .footer-grid-v3{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:20px 18px!important;
    align-items:start!important;
  }
  .site-footer .footer-brand{
    grid-column:1 / -1!important;
  }
  .site-footer .footer-about,
  .site-footer .footer-services,
  .site-footer .footer-regions,
  .site-footer .footer-professionals{
    min-width:0!important;
  }
  .site-footer .footer-details{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:3px!important;
    min-width:0!important;
  }
  .site-footer .footer-details h3{
    grid-column:1 / -1!important;
  }
  .site-footer .footer-details>a,
  .site-footer .footer-details>.footer-location{
    min-width:0!important;
    margin:4px 0!important;
  }
  .site-footer .footer-search{
    width:100%!important;
    max-width:100%!important;
  }
}
@media(max-width:430px){
  .site-footer .footer-grid-v3{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:18px 14px!important;
  }
  .site-footer .footer-brand{
    grid-column:1 / -1!important;
  }
  .site-footer .footer-details{
    grid-column:1 / -1!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .site-footer h3{font-size:10px!important;}
  .site-footer a,
  .site-footer .footer-location{font-size:10.5px!important;}
}

/* v1.11.3 — CTA Devy points toward the quote button */
.cta-card > img{
  transform:scaleX(-1);
  transform-origin:center bottom;
  object-fit:contain;
}
@media(max-width:760px){
  .cta-card > img{
    transform:scaleX(-1);
    object-position:center bottom;
  }
}


/* v1.11.4 — homepage CTA: larger Devy, native right-pointing pose */
.home .cta-card > img,
body.home .cta-card > img{
  transform:none!important;
  transform-origin:center bottom!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
@media(max-width:760px){
  .home .cta-card,
  body.home .cta-card{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:8px!important;
    padding:12px 14px 0!important;
  }
  .home .cta-card > img,
  body.home .cta-card > img{
    width:150px!important;
    max-width:none!important;
    height:auto!important;
    max-height:220px!important;
    align-self:end!important;
    justify-self:start!important;
    grid-row:1 / 3!important;
  }
  .home .cta-card > div:last-child,
  body.home .cta-card > div:last-child{
    grid-column:2!important;
    align-items:stretch!important;
  }
}
@media(max-width:430px){
  .home .cta-card,
  body.home .cta-card{grid-template-columns:135px minmax(0,1fr)!important;}
  .home .cta-card > img,
  body.home .cta-card > img{width:135px!important;max-height:205px!important;}
}


/* v1.12.0 — popup partenaires, ajoutée par JS uniquement */
.dgv2-js-partner-modal[hidden]{display:none!important}
.dgv2-js-partner-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:18px}
.dgv2-js-partner-backdrop{position:absolute;inset:0;border:0;background:rgba(10,13,18,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.dgv2-js-partner-panel{position:relative;z-index:2;width:min(560px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:24px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.dgv2-js-partner-close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:50%;background:#f1f2f4;color:#111;font-size:30px;line-height:1;cursor:pointer}
.dgv2-js-partner-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;padding-right:38px}
.dgv2-js-partner-logo{width:96px;height:96px;border:1px solid #e7e7e7;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:38px;font-weight:900;color:#d71920}
.dgv2-js-partner-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:7px}
.dgv2-js-partner-kicker{font-size:12px;letter-spacing:.12em;font-weight:900;color:#d71920;margin-bottom:5px}
.dgv2-js-partner-copy h2{margin:0 0 7px;font-size:27px;line-height:1.08;color:#111}
.dgv2-js-partner-activity{display:block;color:#c92328;font-size:16px;line-height:1.35}
.dgv2-js-partner-location{margin:8px 0 0;color:#777;font-size:16px}
.dgv2-js-partner-actions{display:flex;gap:14px;align-items:center;margin-top:24px}
.dgv2-js-partner-full{font-weight:800;color:#222;text-decoration:none}
.dgv2-js-partner-full:hover{text-decoration:underline}
body.dgv2-partner-modal-open{overflow:hidden}
@media(max-width:720px){
  .dgv2-js-partner-modal{padding:0;place-items:end center}
  .dgv2-js-partner-panel{width:100%;max-height:min(78vh,720px);border-radius:24px 24px 0 0;padding:22px 18px 18px}
  .dgv2-js-partner-head{grid-template-columns:78px minmax(0,1fr);gap:14px;padding-right:30px}
  .dgv2-js-partner-logo{width:78px;height:78px;border-radius:15px}
  .dgv2-js-partner-copy h2{font-size:22px}
  .dgv2-js-partner-activity,.dgv2-js-partner-location{font-size:14px}
  .dgv2-js-partner-actions{display:grid;gap:10px}
  .dgv2-js-partner-actions .btn{width:100%;text-align:center}
  .dgv2-js-partner-full{text-align:center;padding:7px}
}

/* v1.12.3 — footer mobile toujours en 2 colonnes */
@media (max-width:760px){
  .site-footer .footer-grid-v3{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:18px 20px!important;
    align-items:start!important;
  }

  /* Le bloc identité reste en tête sur toute la largeur. */
  .site-footer .footer-brand{
    grid-column:1 / -1!important;
    min-width:0!important;
  }

  /* Tous les blocs de navigation restent ensuite en 2 colonnes. */
  .site-footer .footer-about,
  .site-footer .footer-services,
  .site-footer .footer-regions,
  .site-footer .footer-professionals{
    grid-column:auto!important;
    min-width:0!important;
  }

  /* Contact sur toute la largeur, mais son contenu est lui-même en 2 colonnes. */
  .site-footer .footer-details{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:18px!important;
    row-gap:7px!important;
    min-width:0!important;
  }
  .site-footer .footer-details h3{
    grid-column:1 / -1!important;
    margin-bottom:4px!important;
  }
  .site-footer .footer-details>a,
  .site-footer .footer-details>.footer-location{
    min-width:0!important;
    margin:0!important;
  }

  .site-footer .footer-search{
    width:100%!important;
    max-width:none!important;
  }

  .site-footer .footer-bottom{
    width:min(calc(100% - 40px),var(--max))!important;
  }
}

/* Empêche les anciennes règles <=430px de repasser le footer sur une seule colonne. */
@media (max-width:430px){
  .site-footer .footer-grid-v3{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:16px 14px!important;
  }
  .site-footer .footer-brand{
    grid-column:1 / -1!important;
  }
  .site-footer .footer-details{
    grid-column:1 / -1!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px 12px!important;
  }
  .site-footer h3{
    font-size:10px!important;
  }
  .site-footer a,
  .site-footer .footer-location{
    font-size:10.5px!important;
  }
}

/* =========================================================
   V1.13.0 — CONSOLIDATION DES CORRECTIFS FRONT-END
   ========================================================= */

/* Le hero ne doit jamais afficher de motif/quadrillage parasite. */
.dgv2-hero,
.dgv2-hero::before,
.dgv2-hero::after{
  background-image:none!important;
}

/* Devy : aucun retournement CSS. La pose est celle du fichier source. */
.dgv2-hero__devy img,
.dgv2-hero-devy img,
.dgv2-hero img[src*="devy-welcome"],
.dgv2-cta img[src*="devy-present"],
.dgv2-cta-devy,
.dgv2-cta-devy img{
  transform:none!important;
  filter:none!important;
}

/* Une seule barre de recherche visible dans le hero. */
.dgv2-hero .dgv2-search + .dgv2-search,
.dgv2-hero .dgv2-searchbar + .dgv2-searchbar,
.dgv2-hero form[role="search"] + form[role="search"]{
  display:none!important;
}

/* Logos partenaires : utiliser réellement l'espace disponible dans les cartes. */
.dgv2-partner-logo img,
.dgv2-partner-card__logo img,
.dgv2-home-partner-logo img,
.partner-logo img{
  width:88%!important;
  height:88%!important;
  max-width:88%!important;
  max-height:88%!important;
  object-fit:contain!important;
}

/* Texte des statistiques : largeur complète et lisibilité stable. */
.dgv2-stats-note,
.dgv2-stats__note{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Les éléments de réassurance restent en deux colonnes sur mobile. */
@media (max-width:760px){
  .dgv2-trust,
  .dgv2-benefits,
  .dgv2-hero__benefits{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:12px 16px!important;
  }
  .dgv2-trust > *,
  .dgv2-benefits > *,
  .dgv2-hero__benefits > *{
    min-width:0!important;
  }

  /* Titres principaux : fortement visibles, mais sans débordement horizontal. */
  .dgv2-page h1,
  .dgv2-home h1,
  .dgv2-category h1,
  main h1.dgv2-title{
    font-size:clamp(32px,8.2vw,46px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Les 6 cantons restent strictement sur deux rangées. */
  .dgv2-cantons,
  .dgv2-regions-grid,
  .dgv2-canton-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }

  /* Footer : navigation strictement en deux colonnes. */
  .site-footer .footer-grid-v3{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:18px 20px!important;
    align-items:start!important;
  }
  .site-footer .footer-brand{
    grid-column:1 / -1!important;
    min-width:0!important;
  }
  .site-footer .footer-about,
  .site-footer .footer-services,
  .site-footer .footer-regions,
  .site-footer .footer-professionals{
    grid-column:auto!important;
    min-width:0!important;
  }
  .site-footer .footer-details{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px 18px!important;
  }
  .site-footer .footer-details h3{
    grid-column:1 / -1!important;
  }
}

/* Même structure sur les très petits téléphones : ne jamais revenir à 1 colonne. */
@media (max-width:430px){
  .site-footer .footer-grid-v3{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:16px 14px!important;
  }
  .site-footer .footer-details{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px 12px!important;
  }
  .dgv2-cantons,
  .dgv2-regions-grid,
  .dgv2-canton-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Les modales partenaires doivent être réellement cachées tant qu'elles
   ne sont pas ouvertes, quelle que soit une ancienne règle de display. */
[hidden],
.dgv2-partner-modal[hidden],
.dgv2-modal[hidden]{
  display:none!important;
}


/* V1.13.1 — CTA mobile : bouton uniquement, largeur réduite */
@media (max-width:760px){
  .dgv2-cta .dgv2-btn,
  .dgv2-cta a[class*="btn"],
  .dgv2-cta a[class*="button"]{
    width:auto!important;
    max-width:100%!important;
    display:inline-flex!important;
    padding-left:24px!important;
    padding-right:24px!important;
    justify-content:center!important;
  }
}


/* v1.13.5 — dessin architectural discret derrière Devy uniquement */
.dgv2-hero{
  position:relative;
  isolation:isolate;
}
.dgv2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:url("../img/hero-house-v135.webp");
  background-repeat:no-repeat;
  background-position:center 48%;
  background-size:min(980px, 88vw) auto;
  opacity:.58;
}
@media (max-width:767px){
  .dgv2-hero::before{
    background-position:center 46%;
    background-size:auto 62%;
    opacity:.48;
  }
}

/* V1.13.6 — dessin architectural derrière le premier Devy (sélecteur réel) */
.hero-visual-v198{
  position:relative!important;
  background:#fff!important;
}
.hero-visual-v198::before{
  content:""!important;
  position:absolute!important;
  inset:6% -4% 0 2%!important;
  z-index:1!important;
  pointer-events:none!important;
  background-image:url("../img/hero-house-v135.webp")!important;
  background-repeat:no-repeat!important;
  background-position:center bottom!important;
  background-size:contain!important;
  opacity:.72!important;
}
.hero-visual-v198 img{
  z-index:2!important;
}

@media (max-width:767px){
  .hero-visual-v198::before{
    inset:8% -14% 0 -8%!important;
    background-position:center bottom!important;
    background-size:cover!important;
    opacity:.58!important;
  }
}

/* V1.13.7 — HERO : architecture derrière Devy, conforme à la maquette validée */
.hero-v198{
  overflow:hidden!important;
}
.hero-layout-v198{
  position:relative!important;
}
.hero-visual-v198{
  position:relative!important;
  overflow:visible!important;
  background:transparent!important;
  isolation:isolate!important;
}
.hero-visual-v198::before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  pointer-events:none!important;
  left:-26%!important;
  right:-18%!important;
  top:8%!important;
  bottom:0!important;
  background-image:url("../img/hero-house-v137.webp")!important;
  background-repeat:no-repeat!important;
  background-position:center bottom!important;
  background-size:contain!important;
  opacity:.82!important;
}
.hero-visual-v198 img{
  position:absolute!important;
  z-index:2!important;
  right:1%!important;
  bottom:0!important;
  max-height:500px!important;
  width:auto!important;
  object-fit:contain!important;
  transform:none!important;
}

/* Aucun texte ou flèche décorative autour de Devy. */
.hero-visual-v198 .devy-caption,
.hero-visual-v198 .devy-arrow,
.hero-v198 .devy-caption,
.hero-v198 .devy-arrow{
  display:none!important;
}

@media (max-width:760px){
  .hero-visual-v198{
    overflow:hidden!important;
    background:transparent!important;
  }
  .hero-visual-v198::before{
    left:-18%!important;
    right:-22%!important;
    top:7%!important;
    bottom:0!important;
    background-position:center bottom!important;
    background-size:cover!important;
    opacity:.66!important;
  }
  .hero-visual-v198 img{
    z-index:2!important;
  }
}

/* V1.13.8 — HERO conforme à la maquette validée : maison réelle derrière Devy */
.hero-visual-v198::before,
.hero-visual-v198::after{
  content:none!important;
  display:none!important;
  background:none!important;
}

.hero-visual-v198{
  position:relative!important;
  overflow:visible!important;
  background:transparent!important;
  isolation:isolate!important;
}

/* Maison : grande, légère, derrière Devy, occupant le blanc de droite */
.hero-visual-v198 .hero-house-v138{
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  left:-34%!important;
  right:auto!important;
  bottom:0!important;
  width:142%!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  opacity:.68!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Devy : même pose et même taille qu'actuellement */
.hero-visual-v198 .hero-devy-v138{
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  right:1%!important;
  left:auto!important;
  bottom:0!important;
  width:auto!important;
  height:auto!important;
  max-height:500px!important;
  max-width:92%!important;
  object-fit:contain!important;
  transform:none!important;
}

/* Aucun texte / aucune flèche décorative */
.hero-v198 .devy-caption,
.hero-v198 .devy-arrow{
  display:none!important;
}

@media (max-width:760px){
  .hero-visual-v198{
    overflow:hidden!important;
  }
  .hero-visual-v198 .hero-house-v138{
    left:-48%!important;
    bottom:0!important;
    width:172%!important;
    opacity:.48!important;
  }
  .hero-visual-v198 .hero-devy-v138{
    right:3%!important;
    height:310px!important;
    max-height:310px!important;
    max-width:76vw!important;
  }
}

@media (max-width:430px){
  .hero-visual-v198 .hero-house-v138{
    left:-55%!important;
    width:185%!important;
    opacity:.45!important;
  }
  .hero-visual-v198 .hero-devy-v138{
    right:4%!important;
    height:288px!important;
    max-height:288px!important;
    max-width:78vw!important;
  }
}

/* V1.13.9 — suppression totale de l'image du premier hero */
.hero-v198 .hero-layout-v198{
  grid-template-columns:1fr!important;
}
.hero-v198 .hero-visual-v198,
.hero-v198 .hero-house-v138,
.hero-v198 .hero-devy-v138{
  display:none!important;
}

/* =========================================================
   V1.14.0 — HERO ACCUEIL VALIDÉ
   Texte à gauche + maison architecturale + Devy bras croisés
   ========================================================= */
.hero-v198{
  overflow:hidden!important;
  background:#fff!important;
}
.hero-v198 .hero-layout-v198{
  min-height:540px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr)!important;
  grid-template-areas:
    "eyebrow visual140"
    "title visual140"
    "lead visual140"
    "search visual140"
    "trust visual140"!important;
  column-gap:26px!important;
  align-content:center!important;
  align-items:center!important;
}
.hero-v198 .hero-eyebrow-v198{grid-area:eyebrow!important}
.hero-v198 .hero-title-v198{grid-area:title!important}
.hero-v198 .hero-lead-v198{grid-area:lead!important}
.hero-v198 .hero-search-v198{grid-area:search!important}
.hero-v198 .hero-trust-v198{grid-area:trust!important}

.hero-v198 .hero-visual-v140{
  grid-area:visual140!important;
  display:block!important;
  position:relative!important;
  align-self:stretch!important;
  min-height:540px!important;
  overflow:visible!important;
  background:transparent!important;
}

/* Maison : grande et très claire, comme sur la maquette */
.hero-v198 .hero-house-v140{
  display:block!important;
  position:absolute!important;
  z-index:1!important;
  width:122%!important;
  max-width:none!important;
  height:auto!important;
  left:-20%!important;
  right:auto!important;
  bottom:4px!important;
  opacity:.74!important;
  object-fit:contain!important;
  transform:none!important;
  pointer-events:none!important;
}

/* Devy : devant la maison, centré dans la zone droite */
.hero-v198 .hero-devy-v140{
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  width:auto!important;
  height:500px!important;
  max-height:500px!important;
  max-width:72%!important;
  right:18%!important;
  left:auto!important;
  bottom:0!important;
  object-fit:contain!important;
  transform:none!important;
  filter:none!important;
}

/* Neutralisation des anciens visuels/pseudo-fonds du hero */
.hero-v198 .hero-visual-v198,
.hero-v198 .hero-house-v138,
.hero-v198 .hero-devy-v138{
  display:none!important;
}
.hero-v198 .hero-visual-v140::before,
.hero-v198 .hero-visual-v140::after{
  content:none!important;
  display:none!important;
}

/* Tablettes */
@media (max-width:980px) and (min-width:761px){
  .hero-v198 .hero-layout-v198{
    grid-template-columns:minmax(0,1fr) minmax(360px,.88fr)!important;
    column-gap:12px!important;
  }
  .hero-v198 .hero-house-v140{
    width:132%!important;
    left:-27%!important;
    opacity:.68!important;
  }
  .hero-v198 .hero-devy-v140{
    height:455px!important;
    max-height:455px!important;
    right:12%!important;
  }
}

/* Mobile : même identité visuelle, en empilement propre */
@media (max-width:760px){
  .hero-v198 .hero-layout-v198{
    min-height:0!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "title"
      "lead"
      "visual140"
      "search"
      "trust"!important;
    gap:0!important;
    padding-top:38px!important;
  }
  .hero-v198 .hero-visual-v140{
    min-height:360px!important;
    height:360px!important;
    width:100%!important;
    overflow:hidden!important;
    margin:0!important;
  }
  .hero-v198 .hero-house-v140{
    width:145%!important;
    left:-22%!important;
    bottom:0!important;
    opacity:.52!important;
  }
  .hero-v198 .hero-devy-v140{
    height:346px!important;
    max-height:346px!important;
    max-width:72vw!important;
    right:12%!important;
    bottom:0!important;
  }
}
@media (max-width:430px){
  .hero-v198 .hero-visual-v140{
    height:330px!important;
    min-height:330px!important;
  }
  .hero-v198 .hero-house-v140{
    width:158%!important;
    left:-31%!important;
    opacity:.48!important;
  }
  .hero-v198 .hero-devy-v140{
    height:318px!important;
    max-height:318px!important;
    max-width:76vw!important;
    right:8%!important;
  }
}

/* V1.14.1 — Devy propre + contenu du hero toujours au premier plan */
.hero-v198 .hero-layout-v198{
  position:relative!important;
}

.hero-v198 .hero-eyebrow-v198,
.hero-v198 .hero-title-v198,
.hero-v198 .hero-lead-v198,
.hero-v198 .hero-search-v198,
.hero-v198 .hero-trust-v198{
  position:relative!important;
  z-index:10!important;
}

.hero-v198 .hero-visual-v140{
  z-index:1!important;
}

.hero-v198 .hero-house-v140{
  z-index:1!important;
}

.hero-v198 .hero-devy-v140{
  z-index:2!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}

/* Empêche l'image de passer au-dessus du texte même si elle déborde légèrement. */
.hero-v198 .hero-visual-v140{
  pointer-events:none!important;
}

/* V1.14.6 — état actif navigation */
.nav a.active,
.nav-link.active,
.site-nav a.active{
  color:var(--red)!important;
}
.nav a.active::after,
.nav-link.active::after,
.site-nav a.active::after{
  transform:scaleX(1)!important;
  opacity:1!important;
}


/* V1.14.7 — état actif robuste de "Comment ça marche" */
body.page-comment-ca-marche .site-header a[href*="/comment-ca-marche"],
body.page-comment-ca-marche .site-header a[href*="comment-ca-marche"],
body.page-id-0 .site-header a[href*="/comment-ca-marche"]{
  color:var(--red)!important;
  position:relative!important;
}
body.page-comment-ca-marche .site-header a[href*="/comment-ca-marche"]::after,
body.page-comment-ca-marche .site-header a[href*="comment-ca-marche"]::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-12px!important;
  height:2px!important;
  background:var(--red)!important;
  transform:none!important;
  opacity:1!important;
  display:block!important;
}



/* v1.14.9 — Trouver un pro : dessin architectural derrière le contenu du hero uniquement. */
.directory-hero-with-architecture{position:relative;isolation:isolate;background:#fff}
.directory-hero-with-architecture .directory-architecture-bg{position:absolute;z-index:0;right:0;top:0;width:62%;height:100%;pointer-events:none;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;opacity:.62}
.directory-hero-with-architecture .directory-architecture-bg img{width:100%;height:100%;object-fit:contain;object-position:right center;display:block}
.directory-hero-with-architecture .directory-hero-grid{position:relative;z-index:2}
.directory-hero-with-architecture .directory-devy{position:relative;z-index:3}
@media(max-width:800px){
  .directory-hero-with-architecture .directory-architecture-bg{width:100%;opacity:.34;align-items:flex-end}
  .directory-hero-with-architecture .directory-architecture-bg img{object-position:center bottom}
}


/* V1.15.1 — Trouver un pro : fond architectural fiable */
.directory-hero-with-architecture .directory-architecture-bg{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:.58!important;
}
.directory-hero-with-architecture .directory-architecture-bg img{
  display:block!important;
  position:absolute!important;
  right:-2%!important;
  bottom:-2%!important;
  width:68%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
.directory-hero-with-architecture .directory-hero-grid{
  position:relative!important;
  z-index:2!important;
}
.directory-hero-with-architecture .directory-devy{
  position:relative!important;
  z-index:3!important;
}
@media(max-width:800px){
  .directory-hero-with-architecture .directory-architecture-bg{
    opacity:.34!important;
  }
  .directory-hero-with-architecture .directory-architecture-bg img{
    width:120%!important;
    right:-28%!important;
    bottom:0!important;
  }
}


/* =========================================================
   V1.15.2 — Trouver un pro : parcours guidé sur une seule page
   ========================================================= */
[data-pro-flow] .directory-category-card,
.flow-trade-card,
.flow-region-card,
.flow-city-card{
  font-family:inherit;
}
.flow-step[hidden]{display:none!important}
.flow-search{
  width:min(100%,760px);
  height:58px;
  margin:0 auto 28px;
  display:flex;
  align-items:center;
  gap:11px;
  background:#fff;
  border:1px solid #d9dde2;
  border-radius:12px;
  padding:0 18px;
  box-shadow:0 8px 28px rgba(14,18,22,.045);
}
.flow-search-icon{display:grid;place-items:center;color:#737980;flex:0 0 auto}
.flow-search-icon .dgv2-icon{width:21px;height:21px}
.flow-search input{
  width:100%;
  height:100%;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--ink);
  font-size:16px;
}
.flow-search input::placeholder{color:#8a8f95}
.flow-option{cursor:pointer}
.directory-category-card.flow-option{
  appearance:none;
  width:100%;
  text-align:left;
  color:inherit;
}
.flow-option.is-selected{
  border-color:var(--red)!important;
  box-shadow:0 0 0 2px rgba(225,6,0,.10),0 12px 32px rgba(14,18,22,.08)!important;
}
.flow-option.is-selected .dgv2-icon{color:var(--red)}

.flow-trade-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.flow-trade-card{
  appearance:none;
  min-height:118px;
  border:1px solid #dde1e5;
  border-radius:14px;
  background:#fff;
  padding:18px;
  text-align:left;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  gap:6px 12px;
  color:var(--ink);
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.flow-trade-card:hover{
  transform:translateY(-3px);
  border-color:#ef9b98;
  box-shadow:0 12px 30px rgba(14,18,22,.07);
}
.flow-trade-card strong{font-size:16px;line-height:1.2}
.flow-trade-card small{grid-column:1;color:#747a80;font-size:11px}
.flow-trade-card>.dgv2-icon{grid-column:2;grid-row:1/3;align-self:center;width:19px;height:19px}

.flow-region-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.flow-region-card{
  appearance:none;
  min-height:112px;
  border:1px solid #dde1e5;
  border-radius:14px;
  background:#fff;
  padding:18px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  color:var(--ink);
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.flow-region-card:hover{
  transform:translateY(-3px);
  border-color:#ef9b98;
  box-shadow:0 12px 30px rgba(14,18,22,.07);
}
.flow-region-code{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#fff1f0;color:var(--red);
  font-size:13px;font-weight:900;
}
.flow-region-card strong{font-size:17px;text-align:left}
.flow-region-card>.dgv2-icon{width:19px;height:19px}

.flow-city-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.flow-city-card{
  appearance:none;
  min-height:78px;
  border:1px solid #dde1e5;
  border-radius:12px;
  background:#fff;
  padding:15px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ink);
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.flow-city-card:hover{
  transform:translateY(-2px);
  border-color:#ef9b98;
  box-shadow:0 10px 26px rgba(14,18,22,.06);
}
.flow-city-card .dgv2-icon{width:19px;height:19px;color:var(--red)}
.flow-city-card strong{font-size:14px;text-align:left}
.flow-empty{
  padding:22px;
  text-align:center;
  color:#747a80;
  border:1px dashed #d7dbe0;
  border-radius:12px;
  background:#fff;
}

.flow-summary-section{padding-bottom:82px!important}
.flow-summary{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:12px;
  margin:0 auto 30px;
  width:min(100%,1080px);
}
.flow-summary-item{
  flex:1 1 0;
  min-width:0;
  min-height:96px;
  border:1px solid #dde1e5;
  border-radius:14px;
  background:#fff;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  box-shadow:0 8px 26px rgba(14,18,22,.04);
}
.flow-summary-item small{
  color:#747a80;
  text-transform:uppercase;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}
.flow-summary-item strong{font-size:16px;line-height:1.2}
.flow-summary-arrow{
  align-self:center;
  color:var(--red);
  font-size:25px;
  font-weight:800;
}
.flow-final-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.flow-quote-btn{
  min-width:260px;
  justify-content:center;
}
.flow-final-action small{color:#747a80;font-size:12px}

@media(max-width:980px){
  .flow-trade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .flow-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .flow-search{height:54px;margin-bottom:20px}
  .flow-trade-grid,
  .flow-region-grid,
  .flow-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .flow-trade-card{min-height:104px;padding:14px}
  .flow-region-card{min-height:90px;padding:13px;gap:9px}
  .flow-region-code{width:40px;height:40px;font-size:11px}
  .flow-region-card strong{font-size:14px}
  .flow-city-card{min-height:68px;padding:12px}
  .flow-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .flow-summary-arrow{display:none}
  .flow-summary-item{min-height:82px;padding:14px}
}


/* v1.15.4 — Demande de devis : mêmes marges horizontales que les autres pages */
.dgv2-quote-page .dgv2-container{
  width:min(calc(100% - 40px),var(--max))!important;
  max-width:var(--max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media (min-width:701px) and (max-width:1049px){
  .dgv2-quote-page .dgv2-container{width:min(calc(100% - 32px),var(--max))!important}
}
@media (max-width:700px){
  .dgv2-quote-page .dgv2-container{width:min(calc(100% - 24px),var(--max))!important}
}


/* =========================================================
   V1.15.5 — Comment ça marche : maison architecturale derrière Devy + texte
   Modification limitée au hero de cette page.
   ========================================================= */
.how-hero-architecture-v155{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#fff!important;
}
.how-hero-architecture-v155 .how-house-bg-v155{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:.55!important;
}
.how-hero-architecture-v155 .how-house-bg-v155 img{
  position:absolute!important;
  display:block!important;
  width:67%!important;
  max-width:none!important;
  height:auto!important;
  right:-3%!important;
  bottom:-2%!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
.how-hero-architecture-v155 .how-hero-grid-v188{
  position:relative!important;
  z-index:2!important;
}
.how-hero-architecture-v155 .how-hero-copy-v188{
  position:relative!important;
  z-index:4!important;
}
.how-hero-architecture-v155 .how-hero-devy-v188{
  position:relative!important;
  z-index:3!important;
}
.how-hero-architecture-v155 .how-hero-devy-v188 .profession-sketch{
  display:none!important;
}

@media(max-width:800px){
  .how-hero-architecture-v155 .how-house-bg-v155{
    opacity:.34!important;
  }
  .how-hero-architecture-v155 .how-house-bg-v155 img{
    width:115%!important;
    right:-28%!important;
    bottom:0!important;
  }
}


/* V1.15.6 — CTA rouge identique sur toutes les pages qui l'utilisent */
.cta-section .cta-card{
  min-height:210px!important;
  background:linear-gradient(110deg,#b80000,#ef1710)!important;
  color:#fff!important;
  border-radius:15px 15px 0 0!important;
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:30px!important;
  padding:10px 42px!important;
  overflow:hidden!important;
}
.cta-section .cta-card>img{
  align-self:end!important;
  max-height:205px!important;
  width:auto!important;
}
.cta-section .cta-card h2{
  color:#fff!important;
  margin:0 0 10px!important;
}
.cta-section .cta-card p{
  color:#fff!important;
  margin:0!important;
  max-width:640px!important;
}
.cta-section .cta-card>div:last-child{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
}
.cta-section .cta-card small{
  color:#fff!important;
  font-size:11px!important;
}
@media(max-width:700px){
  .cta-section .cta-card{
    grid-template-columns:82px 1fr!important;
    gap:14px!important;
    padding:16px 18px 12px!important;
  }
  .cta-section .cta-card>img{
    max-height:150px!important;
  }
  .cta-section .cta-card>div:last-child{
    grid-column:1/-1!important;
    width:100%!important;
  }
  .cta-section .cta-card .btn{
    width:100%!important;
    justify-content:center!important;
  }
}


/* V1.15.7 — Nos partenaires : hero architectural + popup limité */
.partners-hero-architecture-v157{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#fff!important;
}
.partners-hero-architecture-v157 .partners-house-bg-v157{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:.54!important;
}
.partners-hero-architecture-v157 .partners-house-bg-v157 img{
  position:absolute!important;
  display:block!important;
  width:68%!important;
  max-width:none!important;
  height:auto!important;
  right:-3%!important;
  bottom:-4%!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
.partners-hero-architecture-v157 .partners-hero-grid{
  position:relative!important;
  z-index:2!important;
}
.partners-hero-architecture-v157 .partners-hero-grid>div:first-child{
  position:relative!important;
  z-index:4!important;
}
.partners-hero-architecture-v157 .profession-visual{
  position:relative!important;
  z-index:3!important;
}
.partners-hero-architecture-v157 .profession-visual .profession-sketch{
  display:none!important;
}
.dgv2-js-partner-notice{
  margin:18px 0 0!important;
  padding:14px 16px!important;
  border:1px solid #f0c8c6!important;
  border-radius:12px!important;
  background:#fff2f1!important;
  color:#4b4f54!important;
  font-size:13px!important;
  line-height:1.5!important;
  text-align:left!important;
}
.dgv2-js-partner-notice::before{
  content:"ⓘ";
  color:#d71920;
  font-weight:900;
  margin-right:7px;
}
.dgv2-js-partner-full{display:none!important}
@media(max-width:800px){
  .partners-hero-architecture-v157 .partners-house-bg-v157{opacity:.32!important}
  .partners-hero-architecture-v157 .partners-house-bg-v157 img{
    width:118%!important;
    right:-30%!important;
    bottom:0!important;
  }
}

/* V1.15.8 — FAQ enrichie et organisée */
.faq-grid-v130{max-width:960px!important;gap:34px!important}.faq-group-v158[hidden]{display:none!important}.faq-group-title-v158{font-size:25px;margin:0 0 14px;padding-bottom:11px;border-bottom:3px solid #e10600;display:inline-block}.faq-group-items-v158{display:grid;gap:10px}

/* V1.15.9 — À propos / Swiss Made / Contact */
.info-hero-v159{position:relative;isolation:isolate;overflow:hidden;padding:72px 0 58px;background:#fff}.info-house-v159{position:absolute;inset:0;z-index:0;opacity:.52;pointer-events:none}.info-house-v159 img{position:absolute;width:68%;max-width:none;right:-3%;bottom:-5%}.info-hero-grid-v159{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}.info-hero-copy-v159{z-index:4}.info-hero-copy-v159 h1{font-size:clamp(38px,5vw,62px);line-height:1.02;margin:.15em 0 .25em}.info-hero-copy-v159>p:last-child{max-width:720px;font-size:18px;color:#666}.info-devy-v159{z-index:3;display:flex;justify-content:center;align-items:flex-end;height:300px}.info-devy-v159 img{max-height:300px;width:auto}.info-intro-v159{display:grid;grid-template-columns:1.35fr .65fr;gap:55px;align-items:center}.info-intro-v159 h2,.info-values-v159 h2,.swiss-note-v159 h2{font-size:clamp(30px,4vw,46px)}.info-intro-v159 p{line-height:1.75;color:#60656a}.info-highlight-v159,.swiss-mark-v159{border:1px solid #eee;border-radius:18px;padding:30px;background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.05)}.info-highlight-v159>strong{color:#d71920;text-transform:uppercase;font-size:12px}.info-highlight-v159>span{display:block;font-size:27px;font-weight:900;margin:8px 0}.info-card-grid-v159{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-card-grid-v159 article{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:24px;min-height:205px}.info-card-grid-v159 article>span{color:#d71920;font-weight:900}.info-card-grid-v159 p{color:#676c71}.info-values-v159{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.info-checks-v159{display:grid;grid-template-columns:1fr 1fr;gap:14px}.info-checks-v159 p{display:flex;gap:12px;margin:0;padding:18px;border:1px solid #eee;border-radius:14px}.info-checks-v159 b{color:#d71920}.swiss-mark-v159{text-align:center}.swiss-mark-v159>strong{display:block;color:#d71920;font-size:76px;line-height:1;font-weight:950}.swiss-mark-v159>span{display:block;font-weight:900;letter-spacing:.12em;margin:8px}.swiss-note-v159{max-width:820px;text-align:center}.swiss-note-v159>div{border:1px solid #eee;border-radius:18px;padding:34px;background:#fafafa}.contact-grid-v159{display:grid;grid-template-columns:.7fr 1.3fr;gap:42px;align-items:start}.contact-details-v159>a,.contact-location-v159{display:flex;align-items:center;gap:14px;color:#222;text-decoration:none;padding:15px 0;border-bottom:1px solid #eee}.contact-details-v159 .dgv2-icon{width:23px;color:#d71920}.contact-details-v159 span{display:flex;flex-direction:column}.contact-form-card-v159{border:1px solid #e7e7e7;border-radius:18px;padding:30px;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.045)}.contact-form-card-v159 form{display:grid;gap:16px}.contact-form-card-v159 label{display:grid;gap:7px;font-weight:800;font-size:13px}.contact-form-card-v159 input,.contact-form-card-v159 select,.contact-form-card-v159 textarea{width:100%;border:1px solid #d9dde1;border-radius:11px;padding:13px 14px;background:#fff;font:inherit}.contact-fields-v159{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-consent-v159{display:flex!important;flex-direction:row;align-items:flex-start;font-weight:500!important}.contact-consent-v159 input{width:auto!important}.contact-success-v159{border:1px solid #bfe3c7;background:#f2fbf4;border-radius:12px;padding:15px;margin-bottom:20px}
@media(max-width:850px){.info-card-grid-v159{grid-template-columns:1fr 1fr}.info-intro-v159,.info-values-v159,.contact-grid-v159{grid-template-columns:1fr}}
@media(max-width:620px){.info-hero-grid-v159{grid-template-columns:1fr}.info-house-v159{opacity:.3}.info-house-v159 img{width:120%;right:-35%;bottom:0}.info-devy-v159{height:190px}.info-devy-v159 img{max-height:190px}.info-card-grid-v159,.info-checks-v159,.contact-fields-v159{grid-template-columns:1fr}}


/* V1.16.0 — navigation : ajout À propos, Swiss Made et Contact */
@media (min-width:1050px){
  .desktop-nav ul{
    gap:16px!important;
  }
  .desktop-nav a{
    font-size:11px!important;
  }
}

/* V1.16.1 — À propos : fondateur + histoire de Devy */
.about-founder-grid-v161,.about-devy-grid-v161{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.35fr);gap:64px;align-items:center}
.about-founder-photo-v161{max-width:430px}
.about-founder-photo-v161 img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;box-shadow:0 18px 50px rgba(20,25,35,.12)}
.about-founder-copy-v161 h2,.about-devy-copy-v161 h2{font-size:clamp(32px,4vw,54px);line-height:1.03;margin:8px 0 22px}
.about-founder-copy-v161 p,.about-devy-copy-v161 p{font-size:17px;line-height:1.75;max-width:760px}
.about-devy-grid-v161{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}
.about-devy-image-v161{display:flex;justify-content:center;align-items:flex-end;min-height:470px}
.about-devy-image-v161 img{display:block;max-height:520px;max-width:100%;width:auto;mix-blend-mode:normal}
.about-devy-quote-v161{margin-top:26px;padding:22px 26px;border-left:4px solid #e21d2d;background:#fff;border-radius:0 16px 16px 0;font-size:18px;line-height:1.55;box-shadow:0 10px 30px rgba(20,25,35,.06)}
@media(max-width:820px){
 .about-founder-grid-v161,.about-devy-grid-v161{grid-template-columns:1fr;gap:30px}
 .about-founder-photo-v161{max-width:330px;margin:auto}
 .about-devy-image-v161{min-height:0;order:-1}
 .about-devy-image-v161 img{max-height:390px}
}

/* V1.16.3 — À propos : Devy fourni par l'utilisateur, affiché tel quel */
.about-devy-image-v161 img{
  mix-blend-mode:normal!important;
  filter:none!important;
  opacity:1!important;
}

/* V1.16.6 — CTA rouge strictement identique sur toutes les pages */
body .cta-section{padding:18px 0 0!important;margin:0!important}
body .cta-section .cta-card{min-height:210px!important;background:linear-gradient(110deg,#b80000,#ef1710)!important;color:#fff!important;border-radius:15px 15px 0 0!important;display:grid!important;grid-template-columns:210px minmax(0,1fr) 245px!important;align-items:center!important;gap:30px!important;padding:10px 42px!important;overflow:hidden!important}
body .cta-section .cta-card>img,body.home .cta-section .cta-card>img{transform:none!important;align-self:end!important;justify-self:center!important;width:auto!important;max-width:190px!important;height:auto!important;max-height:205px!important;object-fit:contain!important;object-position:center bottom!important;grid-row:auto!important}
body .cta-section .cta-card h2{color:#fff!important;font-size:clamp(27px,3vw,40px)!important;line-height:1.08!important;margin:0 0 10px!important}
body .cta-section .cta-card p{color:#fff!important;font-size:13px!important;margin:0!important;max-width:640px!important}
body .cta-section .cta-card>div:last-child{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:8px!important;width:100%!important}
body .cta-section .cta-card>div:last-child .btn{width:100%!important;min-width:0!important}
body .cta-section .cta-card small{color:#fff!important;font-size:11px!important;text-align:center!important}
.dgv2-install-app{display:none!important}.dgv2-install-app.is-available{display:inline-flex!important}
.cta-card .dgv2-install-app{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:none!important}
.footer-install-wrap{margin-top:14px}.site-footer .footer-install-wrap .btn{display:none;width:max-content;min-height:40px;padding:0 14px;margin:0;border:1px solid #50555d;color:#fff;background:#24282e;font-size:10px}.site-footer .footer-install-wrap .btn.is-available{display:inline-flex!important}
.mobile-nav .mobile-install-app{margin:12px 18px 18px;width:calc(100% - 36px)}
@media(max-width:700px){body .cta-section .cta-card{grid-template-columns:100px minmax(0,1fr)!important;gap:12px!important;min-height:190px!important;padding:14px 16px 12px!important}body .cta-section .cta-card>img,body.home .cta-section .cta-card>img{width:100px!important;max-width:100px!important;max-height:160px!important;grid-row:1/3!important}body .cta-section .cta-card h2{font-size:23px!important}body .cta-section .cta-card>div:last-child{grid-column:2!important;padding-bottom:2px!important}}
@media(max-width:430px){body .cta-section .cta-card{grid-template-columns:82px minmax(0,1fr)!important;padding-inline:12px!important}body .cta-section .cta-card>img,body.home .cta-section .cta-card>img{width:82px!important;max-width:82px!important;max-height:145px!important}}


/* V2.0 — intégrations Business Portal */
.contact-form-card-v159 .dgcf-wrap{max-width:none!important;margin:0!important}
.contact-form-card-v159 .dgcf-form{
  background:#fff!important;color:#222!important;border:0!important;
  box-shadow:none!important;padding:0!important;border-radius:0!important
}
.contact-form-card-v159 .dgcf-head h2{color:#222!important}
.contact-form-card-v159 .dgcf-head p{color:#666!important}
.contact-form-card-v159 .dgcf-grid label{color:#222!important}
.contact-form-card-v159 .dgcf-form input,
.contact-form-card-v159 .dgcf-form select,
.contact-form-card-v159 .dgcf-form textarea{
  background:#fff!important;color:#222!important;border:1px solid #d9dde1!important
}
.contact-form-card-v159 .dgcf-form select option{background:#fff!important;color:#222!important}
.contact-form-card-v159 .dgcf-privacy{
  background:#fafafa!important;color:#222!important;border:1px solid #e3e5e7!important
}
.contact-form-card-v159 .dgcf-privacy p,.contact-form-card-v159 .dgcf-check{color:#555!important}
.contact-form-card-v159 .dgcf-submit{background:#e10600!important}
.contact-form-card-v159 .dgcf-success,.contact-form-card-v159 .dgcf-error{
  background:#fff!important;color:#222!important
}
.dgv2-integration-unavailable{
  padding:22px;border:1px solid #e10600;border-radius:14px;background:#fff6f5;color:#333
}
.partner-application-head-v200{padding-bottom:28px}
.partner-application-head-v200 h1{font-size:clamp(36px,5vw,60px);line-height:1.04;margin:12px 0 16px}
.partner-application-head-v200>div>p:last-child{max-width:760px;color:#60656a;font-size:17px;line-height:1.65}
.partner-application-wrap-v200{max-width:940px}


/* V2.0.2 — page Devenir partenaire alignée sur le design du site */
.partner-hero-v202{position:relative}
.partner-hero-actions-v202{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.partner-login-link-v202,.partner-summary-link-v202{display:inline-flex;align-items:center;gap:7px;color:#1f2328;font-weight:800;text-decoration:none;font-size:13px}
.partner-login-link-v202 svg,.partner-summary-link-v202 svg{width:14px;height:14px}
.partner-benefits-v202 .section-head{max-width:780px}
.partner-benefit-grid-v202{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}
.partner-benefit-grid-v202 article{background:#fff;border:1px solid #e4e6e8;border-radius:20px;padding:26px;box-shadow:0 12px 32px rgba(20,24,32,.06)}
.partner-benefit-grid-v202 article>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#fff1f0;color:#d90000;font-size:18px;font-weight:900;margin-bottom:20px}
.partner-benefit-grid-v202 article>span svg{width:24px;height:24px}
.partner-benefit-grid-v202 h3{font-size:18px;margin:0 0 9px}.partner-benefit-grid-v202 p{margin:0;color:#666b72;line-height:1.6;font-size:14px}
.partner-process-grid-v202{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.partner-process-grid-v202 article{background:#fff;border:1px solid #e1e4e7;border-radius:18px;padding:28px}
.partner-process-grid-v202 b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e10600;color:#fff;margin-bottom:18px}
.partner-process-grid-v202 h3{font-size:18px;margin:0 0 8px}.partner-process-grid-v202 p{margin:0;color:#676c73;line-height:1.65}
.partner-form-section-v202{padding-top:78px}
.partner-form-layout-v202{display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);gap:54px;align-items:start}
.partner-form-intro-v202{position:sticky;top:110px}
.partner-form-intro-v202 h2{font-size:clamp(30px,3vw,45px);line-height:1.06;margin:8px 0 16px}.partner-form-intro-v202>p{color:#656a71;line-height:1.7}
.partner-form-points-v202{display:grid;gap:11px;margin-top:26px}.partner-form-points-v202 span{font-weight:750;font-size:14px}
.partner-application-wrap-v202{min-width:0}
.partner-application-wrap-v202 .dgpa-wrap{max-width:none!important;margin:0!important;color:#20242a!important}
.partner-application-wrap-v202 .dgpa-form{background:#fff!important;color:#20242a!important;border:1px solid #e1e4e7!important;border-radius:22px!important;padding:30px!important;box-shadow:0 18px 48px rgba(22,27,34,.08)!important}
.partner-application-wrap-v202 .dgpa-progress{color:#25292e!important;margin-bottom:28px!important}.partner-application-wrap-v202 .dgpa-progress i{background:#eceff2!important}.partner-application-wrap-v202 .dgpa-progress em{background:#e10600!important}
.partner-application-wrap-v202 .dgpa-step h2{color:#1d2126!important;font-size:25px!important}
.partner-application-wrap-v202 .dgpa-grid label,.partner-application-wrap-v202 .dgpa-step>label{color:#25292e!important;font-size:13px!important}
.partner-application-wrap-v202 .dgpa-form input,.partner-application-wrap-v202 .dgpa-form select,.partner-application-wrap-v202 .dgpa-form textarea{background:#f8f9fa!important;color:#20242a!important;border:1px solid #d9dde1!important;border-radius:11px!important;min-height:48px!important}
.partner-application-wrap-v202 .dgpa-form textarea{min-height:120px!important}
.partner-application-wrap-v202 .dgpa-form input::placeholder,.partner-application-wrap-v202 .dgpa-form textarea::placeholder{color:#92979d!important}
.partner-application-wrap-v202 .dgpa-form select option{background:#fff!important;color:#20242a!important}
.partner-application-wrap-v202 .dgpa-form small{color:#777d84!important}
.partner-application-wrap-v202 .dgpa-trades{background:#f8f9fa!important;border-color:#d9dde1!important}.partner-application-wrap-v202 .dgpa-trades label{color:#2d3238!important}
.partner-application-wrap-v202 .dgpa-model{background:#f5f6f7!important;border-color:#dfe2e5!important;color:#20242a!important}
.partner-application-wrap-v202 .dgpa-privacy{background:#fff7f6!important;border-color:#e10600!important;color:#20242a!important}
.partner-application-wrap-v202 .dgpa-checks label{color:#2a2f35!important}
.partner-application-wrap-v202 .dgpa-review{background:#f6f7f8!important;border-color:#dfe2e5!important;color:#20242a!important}
.partner-application-wrap-v202 .dgpa-back{background:#fff!important;color:#25292e!important;border:1px solid #cfd3d7!important}
.partner-application-wrap-v202 .dgpa-next,.partner-application-wrap-v202 .dgpa-submit{background:#e10600!important;color:#fff!important}
.partner-application-wrap-v202 .dgpa-success{background:#f2fbf5!important;color:#1f5130!important;border-color:#b9dfc4!important}
.partner-application-wrap-v202 .dgpa-error{background:#fff3f2!important;color:#8b1611!important;border-color:#efb8b5!important}
.partner-final-v202{padding:0 0 70px}.partner-final-card-v202{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#17191e;color:#fff;border-radius:22px;padding:34px 40px}.partner-final-card-v202 .eyebrow{color:#ff4b45}.partner-final-card-v202 h2{margin:5px 0 8px;font-size:30px}.partner-final-card-v202 p{margin:0;color:#c1c5cb;max-width:720px}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #cfd3d8;border-radius:11px;color:#1f2328;background:#fff;font-weight:800;text-decoration:none}
.btn-outline:hover{border-color:#e10600;color:#c90000}
.dgv2-dual-cta-v202{display:flex!important;justify-content:center;gap:12px;flex-wrap:wrap}
.partner-directory-actions-v202{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.contact-partner-box-v202{margin-top:22px;padding:20px;border-radius:16px;background:#f6f7f8;border:1px solid #e1e4e7;display:grid;gap:7px}.contact-partner-box-v202 span{color:#6a7077;font-size:13px}.contact-partner-box-v202 .btn{width:max-content;margin-top:5px}
.partner-summary-link-v202{margin-top:14px;color:#ba0000}
.mobile-partner-cta-v202{background:#17191e!important;color:#fff!important;border-radius:10px!important;margin:8px 14px!important;text-align:center!important;font-weight:850!important}
.dgv2-floating-partner-v202{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;align-items:center;gap:9px;background:#17191e;color:#fff;text-decoration:none;border-radius:999px;padding:9px 15px 9px 9px;box-shadow:0 12px 28px rgba(0,0,0,.18);font-size:12px}
.dgv2-floating-partner-v202 span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e10600;font-size:10px;font-weight:900}.dgv2-floating-partner-v202 strong{white-space:nowrap}
.dgv2-floating-partner-v202:hover{transform:translateY(-2px)}
@media(max-width:900px){
 .partner-benefit-grid-v202{grid-template-columns:repeat(2,minmax(0,1fr))}
 .partner-form-layout-v202{grid-template-columns:1fr;gap:28px}
 .partner-form-intro-v202{position:static}
 .partner-process-grid-v202{grid-template-columns:1fr}
 .partner-final-card-v202{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
 .partner-benefit-grid-v202{grid-template-columns:1fr}
 .partner-application-wrap-v202 .dgpa-form{padding:18px!important;border-radius:16px!important}
 .partner-hero-actions-v202{align-items:flex-start;flex-direction:column}
 .dgv2-floating-partner-v202{right:12px;bottom:12px;padding-right:11px}.dgv2-floating-partner-v202 strong{display:none}
}


/* V2.0.3 — harmonisation renforcée du formulaire partenaire avec le design public */
.partner-application-page-v202{background:#fff}
.partner-application-page-v202 .info-hero-v159{background:#fff;border-bottom:1px solid var(--line)}
.partner-application-page-v202 .dgpa-form,.partner-application-page-v202 .dgpa-step,.partner-application-page-v202 .dgpa-grid{font-family:inherit!important}
.partner-application-page-v202 .dgpa-form *{box-sizing:border-box}
.partner-application-page-v202 .dgpa-form button{font-family:inherit!important;font-weight:850!important;letter-spacing:.01em!important;box-shadow:none!important}
.partner-application-page-v202 .dgpa-next,.partner-application-page-v202 .dgpa-submit{border:0!important;border-radius:8px!important;min-height:48px!important;padding:0 22px!important;text-transform:uppercase!important;font-size:12px!important}
.partner-application-page-v202 .dgpa-back{border-radius:8px!important;min-height:48px!important;padding:0 22px!important;text-transform:uppercase!important;font-size:12px!important}
.partner-application-page-v202 .dgpa-form input:focus,.partner-application-page-v202 .dgpa-form select:focus,.partner-application-page-v202 .dgpa-form textarea:focus{outline:none!important;border-color:#e10600!important;box-shadow:0 0 0 3px rgba(225,6,0,.09)!important}
.partner-application-page-v202 .dgpa-form input[type=checkbox],.partner-application-page-v202 .dgpa-form input[type=radio]{accent-color:#e10600!important;min-height:auto!important}
.partner-application-page-v202 .dgpa-actions{gap:10px!important;margin-top:24px!important}
@media(max-width:650px){.partner-application-page-v202 .dgpa-actions button{width:100%!important}}

/* v2.0.4 — CTA Devenir partenaire dans la navigation principale */
.header-partner-cta-v204{height:42px;padding:0 14px;white-space:nowrap;border-color:var(--red);color:var(--red);font-size:10.5px;text-transform:uppercase;font-weight:900}
.header-partner-cta-v204:hover{background:var(--red);color:#fff}
@media(max-width:1180px){.header-partner-cta-v204{display:none!important}}

/* v2.1.0 — Navigation géographique canton > district/région > commune > localité */
.geo-hero-v210{padding:56px 0 46px;background:#fff;border-bottom:1px solid #eceff2}.geo-hero-v210 h1{font-size:clamp(36px,4vw,56px);line-height:1.06;margin:10px 0 16px;max-width:900px}.geo-lead-v210{font-size:19px;line-height:1.6;color:#4d5359;max-width:790px}.geo-card-grid-v210{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.geo-card-v210{position:relative;display:grid;grid-template-columns:30px 1fr 20px;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:112px;padding:20px 22px;background:#fff;border:1px solid #e0e4e8;border-radius:18px;color:#151515;text-decoration:none;transition:.18s ease}.geo-card-v210:hover{border-color:#ed1515;transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.06)}.geo-card-v210 strong{font-size:17px;line-height:1.25}.geo-card-v210 small{grid-column:2;color:#70767c;margin-top:4px}.geo-card-v210>svg{grid-column:3;grid-row:1/3;width:17px;color:#969ca2}.geo-pin-v210{grid-row:1/3;color:#e50909}.geo-pin-v210 svg{width:22px;height:22px}.geo-locality-tags-v210{display:flex;flex-wrap:wrap;gap:12px}.geo-locality-tags-v210 a{display:inline-flex;align-items:center;gap:8px;padding:13px 16px;border:1px solid #dfe3e7;border-radius:999px;background:#fff;color:#151515;text-decoration:none}.geo-locality-tags-v210 a:hover{border-color:#ed1515}.geo-locality-tags-v210 svg{width:15px}.geo-region-v210 .section-head{max-width:780px}
@media(max-width:900px){.geo-card-grid-v210{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.geo-hero-v210{padding:38px 0 32px}.geo-lead-v210{font-size:17px}.geo-card-grid-v210{grid-template-columns:1fr}.geo-card-v210{min-height:92px;padding:17px 18px}}

/* v2.3.0 — Parcours progressif : vraies cartes + recherche des localités */
#main.category-funnel-v230 .dgv2-choice-grid-v220{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  max-width:1120px;
}
#main.category-funnel-v230 button.dgv2-choice-card-v220{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative!important;
  width:100%!important;
  min-height:112px!important;
  margin:0!important;
  padding:20px 22px!important;
  border:1px solid #e0e3e7!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#15171a!important;
  box-shadow:0 5px 20px rgba(20,24,32,.035)!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  text-align:left!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:1.2!important;
  cursor:pointer!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
#main.category-funnel-v230 button.dgv2-choice-card-v220:hover,
#main.category-funnel-v230 button.dgv2-choice-card-v220:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#ef8f8f!important;
  box-shadow:0 12px 28px rgba(20,24,32,.075)!important;
  outline:none!important;
}
#main.category-funnel-v230 button.dgv2-choice-card-v220.is-selected{
  border-color:#e50909!important;
  background:#fff7f7!important;
  box-shadow:0 0 0 3px rgba(229,9,9,.08),0 8px 22px rgba(20,24,32,.055)!important;
}
#main.category-funnel-v230 .dgv2-choice-icon-v220,
#main.category-funnel-v230 .category-prof-icon-v180{
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  background:#fff1f1!important;
  color:#e50909!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-row:auto!important;
  align-self:center!important;
  margin:0!important;
}
#main.category-funnel-v230 .dgv2-choice-icon-v220 svg,
#main.category-funnel-v230 .category-prof-icon-v180 svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
}
#main.category-funnel-v230 .dgv2-choice-copy-v230{
  display:block!important;
  min-width:0!important;
}
#main.category-funnel-v230 .dgv2-choice-card-v220 strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#15171a!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.22!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
}
#main.category-funnel-v230 .dgv2-choice-card-v220 small{
  display:block!important;
  grid-column:auto!important;
  margin:5px 0 0!important;
  color:#737980!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
}
#main.category-funnel-v230 .dgv2-canton-card-v220 strong,
#main.category-funnel-v230 .dgv2-canton-card-v220 small{
  grid-column:2!important;
}
#main.category-funnel-v230 .dgv2-canton-card-v220 small{
  margin-top:4px!important;
}
#main.category-funnel-v230 .dgv2-work-card-v220,
#main.category-funnel-v230 .dgv2-canton-card-v220,
#main.category-funnel-v230 .dgv2-local-card-v220{
  min-height:98px!important;
}
#main.category-funnel-v230 .dgv2-selection-head-v220{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}
#main.category-funnel-v230 button.dgv2-change-v220{
  -webkit-appearance:none!important;
  appearance:none!important;
  flex:0 0 auto!important;
  margin:2px 0 0!important;
  padding:10px 16px!important;
  border:1px solid #dfe2e6!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#34383d!important;
  font:700 13px/1.2 inherit!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
#main.category-funnel-v230 button.dgv2-change-v220:hover{
  color:#e50909!important;
  border-color:#e50909!important;
}
#main.category-funnel-v230 .dgv2-locality-tools-v230{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 20px;
  max-width:1120px;
}
#main.category-funnel-v230 .dgv2-locality-search-v230{
  flex:1 1 620px;
  max-width:680px;
  height:54px;
  padding:0 16px;
  border:1px solid #dfe3e7;
  border-radius:15px;
  background:#fff;
  display:flex;
  align-items:center;
  gap:11px;
  box-shadow:0 4px 16px rgba(20,24,32,.025);
}
#main.category-funnel-v230 .dgv2-locality-search-v230 span{
  width:20px;
  height:20px;
  color:#e50909;
  flex:0 0 auto;
}
#main.category-funnel-v230 .dgv2-locality-search-v230 svg{width:20px;height:20px;display:block}
#main.category-funnel-v230 .dgv2-locality-search-v230 input{
  appearance:none;
  width:100%;
  height:100%;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#17191c!important;
  box-shadow:none!important;
  font:600 15px/1.2 inherit!important;
}
#main.category-funnel-v230 .dgv2-locality-search-v230 input::placeholder{color:#8c9198;opacity:1}
#main.category-funnel-v230 .dgv2-locality-count-v230{
  color:#737980;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
#main.category-funnel-v230 .dgv2-locality-grid-v220 [hidden]{display:none!important}

@media(max-width:900px){
  #main.category-funnel-v230 .dgv2-choice-grid-v220{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  #main.category-funnel-v230 .dgv2-choice-grid-v220{grid-template-columns:1fr!important;gap:11px!important}
  #main.category-funnel-v230 button.dgv2-choice-card-v220{min-height:88px!important;padding:15px 16px!important;border-radius:15px!important;grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important}
  #main.category-funnel-v230 .dgv2-choice-icon-v220,
  #main.category-funnel-v230 .category-prof-icon-v180{width:38px!important;height:38px!important;border-radius:12px!important}
  #main.category-funnel-v230 .dgv2-choice-card-v220 strong{font-size:16px!important}
  #main.category-funnel-v230 .dgv2-selection-head-v220{display:block}
  #main.category-funnel-v230 button.dgv2-change-v220{margin:-10px 0 22px!important}
  #main.category-funnel-v230 .dgv2-locality-tools-v230{display:block;margin-bottom:16px}
  #main.category-funnel-v230 .dgv2-locality-search-v230{max-width:none;width:100%}
  #main.category-funnel-v230 .dgv2-locality-count-v230{display:block;margin:9px 3px 0}
}

/* v2.4.0 — Vignettes métiers : types de travaux propres, sans doublons, sur 1–2 lignes */
#main.category-funnel-v230 .category-prof-grid-v180 .dgv2-choice-card-v220{
  min-height:112px!important;
  padding:18px 20px!important;
  align-content:center!important;
}
#main.category-funnel-v230 .category-prof-grid-v180 .dgv2-choice-card-v220 small{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  max-height:2.7em!important;
  line-height:1.35!important;
  font-size:13px!important;
  font-weight:600!important;
  color:#6f757b!important;
}
@media(max-width:600px){
  #main.category-funnel-v230 .category-prof-grid-v180 .dgv2-choice-card-v220{min-height:104px!important;padding:16px!important}
  #main.category-funnel-v230 .category-prof-grid-v180 .dgv2-choice-card-v220 strong{font-size:17px!important}
  #main.category-funnel-v230 .category-prof-grid-v180 .dgv2-choice-card-v220 small{font-size:12.5px!important}
}


/* v2.5.0 — Correction réelle des vignettes métiers + compacité mobile */
#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250{
  min-height:104px!important;
  padding:17px 18px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:4px!important;
  align-content:center!important;
  align-items:center!important;
}
#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250 .category-prof-icon-v180{
  grid-column:1!important;
  grid-row:1 / 3!important;
  align-self:center!important;
}
#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250 > strong{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  margin:0!important;
  font-size:17px!important;
  line-height:1.2!important;
}
#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250 > small{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  max-height:2.7em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  color:#6f757b!important;
}
@media(max-width:620px){
  #main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250{
    min-height:96px!important;
    padding:15px 16px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  #main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250 > strong{font-size:16px!important}
  #main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250 > small{font-size:12px!important}
}
\n\n/* v2.6.0 — cache busting + cartes métiers réellement compactes + recherche types de travaux */\n#main.category-funnel-v230 .dgv2-work-tools-v260{display:flex!important;margin-bottom:20px!important}\n#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250{\n  min-height:96px!important;height:auto!important;padding:16px 18px!important;\n  display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto auto!important;\n  column-gap:14px!important;row-gap:4px!important;align-items:center!important;align-content:center!important;\n}\n#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250>.category-prof-icon-v180{grid-column:1!important;grid-row:1/3!important}\n#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250>strong{grid-column:2!important;grid-row:1!important;margin:0!important;align-self:end!important}\n#main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250>small{\n  grid-column:2!important;grid-row:2!important;margin:0!important;padding:0!important;width:auto!important;min-width:0!important;\n  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;\n  overflow:hidden!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;\n  max-height:2.7em!important;line-height:1.35!important;\n}\n@media(max-width:620px){\n #main.category-funnel-v230 .category-prof-grid-v180 button.dgv2-profession-card-v250{min-height:92px!important;padding:14px 15px!important;grid-template-columns:38px minmax(0,1fr)!important;column-gap:12px!important}\n #main.category-funnel-v230 .dgv2-work-tools-v260{display:block!important}\n}\n
/* v2.7.0 — SEO local */
.seo-local-content-v270{padding-bottom:10px}
.seo-local-tags-v270{display:flex;flex-wrap:wrap;gap:10px}
.seo-local-tags-v270 a{display:inline-flex;align-items:center;padding:11px 15px;border:1px solid #e1e4e8;border-radius:999px;background:#fff;color:#222;text-decoration:none;font-weight:700;font-size:14px}
.seo-local-tags-v270 a:hover{border-color:#e50909;color:#e50909}

/* v2.8.0 — Pages SEO métier × district */
.seo-district-grid-v280{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.seo-district-card-v280{padding:18px;border:1px solid #e0e3e7;border-radius:15px;background:#fff;display:flex;flex-direction:column;gap:7px}
.seo-district-card-v280 strong{font-size:16px}.seo-district-card-v280 small{color:#6b7178;line-height:1.45}
@media(max-width:900px){.seo-district-grid-v280{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.seo-district-grid-v280{grid-template-columns:1fr}}

/* v3.1.0 — Enrichissement pages locales */
.seo-local-context-grid-v310{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
.seo-local-context-grid-v310 p{font-size:16px;line-height:1.75;color:#4e545a}
.seo-local-summary-v310{border:1px solid #e0e3e7;border-radius:18px;padding:22px;background:#fff;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 28px rgba(0,0,0,.04)}
.seo-local-summary-v310 strong{font-size:18px;margin-bottom:4px}.seo-local-summary-v310 span{color:#5d636a}.seo-local-summary-v310 .btn{margin-top:10px;text-align:center}
.seo-nearby-grid-v310{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.seo-nearby-grid-v310 a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;border:1px solid #e0e3e7;border-radius:13px;background:#fff;color:#222;text-decoration:none;font-weight:700}
.seo-nearby-grid-v310 a:hover{border-color:#e50909;color:#e50909}.seo-nearby-grid-v310 svg{width:16px;height:16px}
.seo-faq-v310{display:grid;gap:10px;max-width:900px}.seo-faq-v310 details{border:1px solid #e0e3e7;border-radius:14px;background:#fff;padding:0 18px}.seo-faq-v310 summary{cursor:pointer;font-weight:800;padding:17px 0}.seo-faq-v310 p{margin:0 0 18px;color:#555c63;line-height:1.65}
@media(max-width:850px){.seo-local-context-grid-v310{grid-template-columns:1fr}.seo-local-summary-v310{max-width:none}.seo-nearby-grid-v310{grid-template-columns:1fr}}

/* v3.2.0 — Partenaires contextuels */
.seo-partner-grid-v320{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.seo-partner-card-v320{border:1px solid #e0e3e7;border-radius:18px;background:#fff;padding:18px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 8px 26px rgba(0,0,0,.035)}
.seo-partner-logo-v320{width:58px;height:58px;flex:0 0 58px;border-radius:14px;border:1px solid #eceef0;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.seo-partner-logo-v320 img{width:100%;height:100%;object-fit:contain;padding:5px}.seo-partner-logo-v320 span{font-size:22px;font-weight:900;color:#e50909}
.seo-partner-body-v320{min-width:0;display:flex;flex-direction:column;gap:3px}.seo-partner-body-v320 strong{font-size:16px;line-height:1.25}.seo-partner-body-v320 span{color:#34383d;font-size:14px}.seo-partner-body-v320 small{color:#747a81}.seo-partner-body-v320 p{font-size:13px;line-height:1.45;color:#646a70;margin:7px 0 0}
@media(max-width:1000px){.seo-partner-grid-v320{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.seo-partner-grid-v320{grid-template-columns:1fr}}

/* v3.4.0 — Maillage SEO intelligent */
.seo-links-v340{padding-top:34px;padding-bottom:34px}
.seo-links-groups-v340{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.seo-links-group-v340{border:1px solid #e0e3e7;border-radius:16px;background:#fff;padding:18px}
.seo-links-group-v340>strong{display:block;font-size:15px;margin-bottom:11px}
.seo-links-group-v340>div{display:flex;flex-wrap:wrap;gap:8px}
.seo-links-group-v340 a{display:inline-block;padding:8px 11px;border-radius:999px;background:#f4f5f6;color:#272b30;text-decoration:none;font-size:13px;font-weight:700}
.seo-links-group-v340 a:hover{background:#fff0f0;color:#d90000}
@media(max-width:760px){.seo-links-groups-v340{grid-template-columns:1fr}}

/* v3.5.0 — Refonte visuelle globale des pages SEO locales */

/* Sections */
.seo-locality-page-v310 .section,
.seo-district-page-v280 .section,
.profession-region-page-v100 .section{position:relative}
.seo-locality-page-v310 .section-head,
.seo-district-page-v280 .section-head,
.profession-region-page-v100 .section-head{max-width:900px;margin-left:auto;margin-right:auto;text-align:center}
.seo-locality-page-v310 .section-head h2,
.seo-district-page-v280 .section-head h2,
.profession-region-page-v100 .section-head h2{margin-bottom:10px}

/* Types de travaux = vraies vignettes */
.seo-local-tags-v270{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px!important;
  max-width:1100px;
  margin:24px auto 0;
}
.seo-local-tags-v270 a{
  min-height:82px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px 14px!important;
  border:1px solid #e1e4e8!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#202327!important;
  text-decoration:none!important;
  font-weight:800!important;
  font-size:14px!important;
  line-height:1.3;
  box-shadow:0 7px 22px rgba(0,0,0,.035);
  transition:.18s ease;
}
.seo-local-tags-v270 a:before{
  content:"›";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;height:28px;
  flex:0 0 28px;
  margin-right:10px;
  border-radius:9px;
  background:#fff0f0;
  color:#e50909;
  font-size:23px;
  line-height:1;
}
.seo-local-tags-v270 a:hover{
  border-color:#e50909!important;
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(229,9,9,.08);
}

/* Localités proches */
.seo-nearby-grid-v310{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  max-width:1100px;
  margin:24px auto 0;
}
.seo-nearby-grid-v310 a{
  min-height:76px;
  padding:15px 16px!important;
  border-radius:16px!important;
  border:1px solid #e1e4e8!important;
  background:#fff!important;
  box-shadow:0 6px 20px rgba(0,0,0,.03);
  color:#24282d!important;
  font-weight:800!important;
  line-height:1.3;
}
.seo-nearby-grid-v310 a:hover{
  border-color:#e50909!important;
  color:#e50909!important;
  transform:translateY(-1px);
}

/* Communes sur pages district */
.seo-district-grid-v280{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.seo-district-card-v280{
  min-height:120px;
  justify-content:center;
  padding:20px!important;
  border-radius:18px!important;
  box-shadow:0 7px 24px rgba(0,0,0,.035);
  position:relative;
  overflow:hidden;
}
.seo-district-card-v280:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:#e50909;
}
.seo-district-card-v280 strong{font-size:17px!important}
.seo-district-card-v280 small{margin-top:4px}

/* FAQ en cartes */
.seo-faq-v310{
  max-width:980px!important;
  margin:24px auto 0;
  gap:12px!important;
}
.seo-faq-v310 details{
  border:1px solid #e0e3e7!important;
  border-radius:16px!important;
  box-shadow:0 5px 18px rgba(0,0,0,.025);
  overflow:hidden;
}
.seo-faq-v310 summary{
  position:relative;
  padding:18px 52px 18px 18px!important;
  list-style:none;
}
.seo-faq-v310 summary::-webkit-details-marker{display:none}
.seo-faq-v310 summary:after{
  content:"+";
  position:absolute;
  right:16px;top:50%;
  transform:translateY(-50%);
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:#fff0f0;
  color:#e50909;
  font-size:20px;font-weight:900;
}
.seo-faq-v310 details[open] summary:after{content:"–"}

/* Continuer votre recherche = groupes de vignettes */
.seo-links-groups-v340{
  max-width:1100px;
  margin:22px auto 0;
  gap:16px!important;
}
.seo-links-group-v340{
  padding:20px!important;
  border-radius:18px!important;
  box-shadow:0 7px 24px rgba(0,0,0,.03);
}
.seo-links-group-v340>strong{
  font-size:16px!important;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#454a50;
  margin-bottom:14px!important;
}
.seo-links-group-v340>div{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px!important;
}
.seo-links-group-v340 a{
  display:flex!important;
  align-items:center;
  min-height:54px;
  padding:11px 13px!important;
  border:1px solid #e6e8eb;
  border-radius:12px!important;
  background:#fafafa!important;
  line-height:1.25;
}
.seo-links-group-v340 a:before{
  content:"›";
  color:#e50909;
  font-size:20px;
  font-weight:900;
  margin-right:9px;
}
.seo-links-group-v340 a:hover{
  background:#fff4f4!important;
  border-color:#ffd1d1;
}

/* Partenaires */
.seo-partner-grid-v320{gap:16px!important}
.seo-partner-card-v320{
  border-radius:18px!important;
  padding:20px!important;
  box-shadow:0 8px 26px rgba(0,0,0,.045)!important;
  transition:.18s ease;
}
.seo-partner-card-v320:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.065)!important}

/* Bloc résumé recherche */
.seo-local-summary-v310{
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.045)!important;
}
.seo-local-summary-v310 span{
  padding:8px 10px;
  background:#f6f7f8;
  border-radius:9px;
}

/* CTA */
.profession-direct-card-v186{
  border-radius:20px!important;
  border:1px solid #e2e4e7!important;
  box-shadow:0 8px 28px rgba(0,0,0,.035);
}

/* Anciennes listes de villes sur pages cantonales */
.region-city-tags-v100{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px!important;
}
.region-city-tags-v100 a{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  min-height:66px;
  padding:14px 16px!important;
  border:1px solid #e1e4e8!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#262a2e!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.region-city-tags-v100 a:hover{border-color:#e50909!important;color:#e50909!important}

/* Mobile */
@media(max-width:1000px){
  .seo-local-tags-v270,.seo-nearby-grid-v310{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .seo-district-grid-v280,.region-city-tags-v100{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .seo-local-tags-v270,.seo-nearby-grid-v310,
  .seo-district-grid-v280,.region-city-tags-v100{grid-template-columns:1fr!important}
  .seo-local-tags-v270 a{min-height:66px;justify-content:flex-start;text-align:left}
  .seo-nearby-grid-v310 a{min-height:62px}
  .seo-links-group-v340>div{grid-template-columns:1fr!important}
  .seo-links-groups-v340{grid-template-columns:1fr!important}
  .seo-partner-card-v320{padding:16px!important}
}

/* v3.6.0 — contenu éditorial SEO */
.dgv2-seo-context-v360{padding-top:24px!important;padding-bottom:24px!important}
.dgv2-seo-context-card-v360{max-width:1050px;margin:0 auto;background:#fff;border:1px solid #e1e4e8;border-radius:18px;padding:22px 24px;box-shadow:0 7px 24px rgba(0,0,0,.03)}
.dgv2-seo-context-card-v360 p{margin:0 0 12px;color:#555c63;line-height:1.7;font-size:15px}
.dgv2-seo-context-card-v360 p:first-child{color:#24282d;font-size:17px;font-weight:800}
.dgv2-seo-context-card-v360 p:last-child{margin-bottom:0}
@media(max-width:650px){.dgv2-seo-context-card-v360{padding:18px}.dgv2-seo-context-card-v360 p{font-size:14px}.dgv2-seo-context-card-v360 p:first-child{font-size:16px}}


/* v4.5.8 — Page Paiement publique */
.payment-section-v458{padding-top:54px!important;padding-bottom:54px!important}.payment-wrap-v458{max-width:980px}.payment-fallback-v458{overflow:hidden;border:1px solid #e7e7e7;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.08)}.payment-fallback-v458>div:first-child{padding:28px;background:#1f1f1f;color:#fff;border-bottom:4px solid #ff0101}.payment-fallback-v458 h2{margin:5px 0 8px;color:#fff}.payment-fallback-v458 p{margin:0;color:#c9c9c9}.payment-fallback-grid-v458{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:24px;background:#f5f5f5}.payment-fallback-grid-v458 a{display:grid;grid-template-columns:1fr 22px;gap:4px 10px;align-items:center;min-height:100px;padding:18px;border:1px solid #dedede;border-radius:14px;background:#fff;color:#171717;text-decoration:none}.payment-fallback-grid-v458 a:hover{border-color:#ff0101;transform:translateY(-2px)}.payment-fallback-grid-v458 strong{font-size:17px}.payment-fallback-grid-v458 span{grid-column:1;color:#777;font-size:12px}.payment-fallback-grid-v458 b{grid-column:2;grid-row:1/3;color:#ff0101;font-size:22px}.payment-fallback-note-v458{padding:15px 20px!important;text-align:center;color:#777!important;font-size:11px}.payment-trust-v458{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.payment-trust-v458>div{display:grid;grid-template-columns:42px 1fr;gap:3px 12px;padding:20px;border-radius:16px;background:#fff;border:1px solid #e8e8e8}.payment-trust-v458 span{grid-row:1/3;display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:#ff0101;color:#fff;font-weight:900}.payment-trust-v458 strong{font-size:14px}.payment-trust-v458 small{color:#777;line-height:1.4}@media(max-width:760px){.payment-section-v458{padding:32px 0!important}.payment-fallback-v458{border-radius:16px}.payment-fallback-v458>div:first-child{padding:20px 16px}.payment-fallback-grid-v458{grid-template-columns:1fr;padding:14px}.payment-fallback-grid-v458 a{min-height:78px}.payment-trust-v458{grid-template-columns:1fr;gap:10px}}

/* v4.5.9 — Paiement en vignettes cohérentes avec le site */
.payment-page-v459 .payment-hero-v459{padding-top:48px;padding-bottom:42px;border-bottom:1px solid #eee}
.payment-page-v459 .payment-hero-v459 .info-hero-copy-v159 h1{max-width:760px}
.payment-page-v459 .payment-section-v459{padding:44px 0 62px;background:#f6f7f8}
.payment-wrap-v459{max-width:1050px}
.payment-grid-v459{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.payment-card-v459{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:15px;min-height:110px;padding:18px 20px;background:#fff;border:1px solid #e2e4e7;border-radius:20px;color:#202124;text-decoration:none;box-shadow:0 8px 24px rgba(20,24,32,.035);transition:.18s ease}
.payment-card-v459:hover,.payment-card-v459:focus-visible{border-color:#e10707;background:#fff;box-shadow:0 10px 26px rgba(225,7,7,.08);transform:translateY(-1px);outline:none}
.payment-icon-v459{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:17px;background:#fff0f0;color:#e10707;font-size:22px;font-weight:950;flex:0 0 58px}
.payment-icon-v459 svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.payment-icon-twint-v459{background:#111;color:#fff;font-size:24px}
.payment-icon-paypal-v459{background:#eef5ff;color:#153b8d;font-size:25px}
.payment-copy-v459{display:flex;min-width:0;flex-direction:column;gap:5px}
.payment-copy-v459 strong{font-size:18px;line-height:1.2}
.payment-copy-v459 small{font-size:13px;line-height:1.45;color:#747980}
.payment-arrow-v459{display:flex;align-items:center;justify-content:center;color:#e10707;font-size:29px;line-height:1;font-weight:500}
.payment-card-bank-v459{grid-column:1/-1}
.payment-safe-v459{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;margin-top:20px;padding:18px 20px;border:1px solid #e2e4e7;border-radius:18px;background:#fff}
.payment-safe-icon-v459{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#fff0f0;color:#e10707}
.payment-safe-icon-v459 svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.payment-safe-v459 strong{font-size:14px}
.payment-safe-v459 p{margin:4px 0 0;color:#747980;font-size:12px;line-height:1.5}
@media(max-width:760px){
  .payment-page-v459 .payment-hero-v459{padding:26px 0 22px}
  .payment-page-v459 .payment-hero-v459 .info-hero-grid-v159{display:block}
  .payment-page-v459 .payment-hero-v459 .payment-devy-v459{display:none}
  .payment-page-v459 .payment-hero-v459 .info-house-v159{opacity:.12}
  .payment-page-v459 .payment-hero-v459 .info-hero-copy-v159 h1{font-size:34px;line-height:1.05;margin:.2em 0 .35em}
  .payment-page-v459 .payment-hero-v459 .info-hero-copy-v159>p:last-child{font-size:15px;line-height:1.5}
  .payment-page-v459 .payment-section-v459{padding:20px 0 38px}
  .payment-grid-v459{grid-template-columns:1fr;gap:10px}
  .payment-card-v459,.payment-card-bank-v459{grid-column:auto;grid-template-columns:50px minmax(0,1fr) 20px;min-height:84px;padding:14px 15px;gap:12px;border-radius:16px}
  .payment-icon-v459{width:50px;height:50px;flex-basis:50px;border-radius:14px;font-size:20px}
  .payment-icon-v459 svg{width:23px;height:23px}
  .payment-copy-v459 strong{font-size:16px}
  .payment-copy-v459 small{font-size:12px}
  .payment-arrow-v459{font-size:25px}
  .payment-safe-v459{grid-template-columns:42px 1fr;margin-top:12px;padding:14px;border-radius:15px}
  .payment-safe-icon-v459{width:42px;height:42px;border-radius:12px}
}

/* v4.5.16 — Footer legal/documentation spacing */
.footer-bottom-links{display:inline-flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.footer-bottom-links .legal-link{display:inline-block!important;margin:0!important}
.footer-legal-separator{display:inline-block;color:#8e949c;line-height:1}
@media(max-width:760px){.footer-bottom-links{gap:8px!important}}
