@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(fonts/archivo.woff2) format("woff2-variations"),url(fonts/archivo.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/public-sans.woff2) format("woff2-variations"),url(fonts/public-sans.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:italic;font-display:swap;font-weight:100 900;src:url(fonts/public-sans-italic.woff2) format("woff2-variations"),url(fonts/public-sans-italic.woff2) format("woff2")}
/* JG Concept Rénovation — feuille de style commune.
   Concept : site d'artisan sobre, photos réelles en grand, titres condensés façon enseigne, accent bleu canard. */
:root{
  --plaster:#EEF0ED;
  --sheet:#FFFFFF;
  --ink:#1B2326;
  --ink-2:#2A3438;
  --muted:#566265;
  --line:#D2D8D5;
  --canard:#0E5C66;
  --canard-deep:#0A4850;
  --canard-ink:#FFFFFF;
  --canard-soft:#E1ECEB;
  --star:#B7791F;
  --band:#0C3B41;
  --band-ink:#EEF4F3;
  --hero:#0E4E56;
  --hero-ink:#F2F7F6;
  --ochre:#E2A23A;
  --ochre-deep:#C98A22;
  --ochre-ink:#1E1A12;
  --ochre-soft:#FBF1DE;
  --t-platre:#0E5C66;
  --t-peinture:#D08A1E;
  --t-iso:#A9473B;
  --t-sols:#4F7D52;
  --font-display:"Archivo","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --font-body:"Public Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --step--1:clamp(.84rem,.82rem + .1vw,.9rem);
  --step-0:clamp(1rem,.97rem + .15vw,1.07rem);
  --step-1:clamp(1.18rem,1.08rem + .45vw,1.42rem);
  --step-2:clamp(1.65rem,1.35rem + 1.2vw,2.45rem);
  --step-3:clamp(2.25rem,1.6rem + 2.9vw,4.4rem);
  --wrap:1200px;
  --radius:6px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --plaster:#121819;--sheet:#1A2225;--ink:#E8EDEB;--ink-2:#C9D2D0;--muted:#9AA7A9;--line:#2D393C;
  --canard:#6BB8C1;--canard-deep:#8BCBD2;--canard-ink:#0A1B1E;--canard-soft:#1B3135;--star:#E0B15A;
  --band:#0A2A2E;--band-ink:#E8EDEB;--hero:#0C3A40;--hero-ink:#EEF4F3;--ochre:#E8AE4E;--ochre-deep:#F0BE68;--ochre-ink:#1E1A12;--ochre-soft:#2A2416;--t-platre:#6BB8C1;--t-peinture:#E8AE4E;--t-iso:#D97A6C;--t-sols:#8BB98D;color-scheme:dark}}
:root[data-theme="dark"]{
  --plaster:#121819;--sheet:#1A2225;--ink:#E8EDEB;--ink-2:#C9D2D0;--muted:#9AA7A9;--line:#2D393C;
  --canard:#6BB8C1;--canard-deep:#8BCBD2;--canard-ink:#0A1B1E;--canard-soft:#1B3135;--star:#E0B15A;
  --band:#0A2A2E;--band-ink:#E8EDEB;--hero:#0C3A40;--hero-ink:#EEF4F3;--ochre:#E8AE4E;--ochre-deep:#F0BE68;--ochre-ink:#1E1A12;--ochre-soft:#2A2416;--t-platre:#6BB8C1;--t-peinture:#E8AE4E;--t-iso:#D97A6C;--t-sols:#8BB98D;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--plaster);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--sheet)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--canard);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3,h4{font-family:var(--font-display);font-stretch:72%;font-weight:800;line-height:1.03;letter-spacing:-.005em;text-wrap:balance;margin:0}
h1{font-size:var(--step-3)}
h2{font-size:var(--step-2)}
h3{font-size:var(--step-1);font-stretch:82%;font-weight:750;line-height:1.18}
h4{font-size:1.05rem;font-stretch:90%;font-weight:700;line-height:1.25}
p{margin:0}
.lede{color:var(--muted);max-width:62ch;font-size:var(--step-1);line-height:1.5}
.muted{color:var(--muted)}
.section{padding-block:clamp(64px,8vw,112px)}
.section.tight{padding-top:0}
.section.white{background:var(--sheet);border-block:1px solid var(--line)}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(32px,4vw,52px);max-width:760px}
.sec-head.row{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 40px}
.sec-head.row .lede{grid-column:1}
.sec-head.row .link-arrow{grid-row:1/span 2;grid-column:2}
@media (max-width:760px){.sec-head.row{grid-template-columns:1fr}.sec-head.row .link-arrow{grid-row:auto;grid-column:1}}
.kicker{font-weight:600;color:var(--canard);font-size:var(--step--1)}

/* Boutons et liens */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:var(--radius);font:600 var(--step-0)/1 var(--font-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn-solid{background:var(--canard);color:var(--canard-ink);border-color:var(--canard)}
.btn-solid:hover{background:var(--canard-deep);border-color:var(--canard-deep)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--plaster)}
.btn-light{background:var(--band-ink);color:var(--band);border-color:var(--band-ink)}
.btn-light:hover{background:transparent;color:var(--band-ink)}
.btn-ghost-light{background:transparent;color:var(--band-ink);border-color:rgba(238,240,237,.45)}
.btn-ghost-light:hover{border-color:var(--band-ink)}
.link-arrow{font-weight:600;color:var(--canard);text-decoration:none;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.link-arrow::after{content:"";width:18px;height:2px;background:currentColor;transition:width .15s}
.link-arrow:hover::after{width:28px}

/* Bandeau d'infos */
.topbar{background:var(--band);color:var(--band-ink);font-size:.86rem}
.topbar .wrap{display:flex;gap:8px 28px;align-items:center;justify-content:space-between;min-height:40px;flex-wrap:wrap}
.topbar .tb-left{display:flex;gap:6px 26px;flex-wrap:wrap}
.topbar a{text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar span{opacity:.8}
.topbar .tb-badge{font-weight:600;opacity:1}
@media (max-width:760px){.topbar .tb-hide{display:none}}

/* En-tête */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--sheet);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:24px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;flex-shrink:1}
.brand img{height:50px;width:auto;flex-shrink:0}
.brand-name{font-family:var(--font-display);font-stretch:75%;font-weight:800;font-size:1.2rem;line-height:1.05}
.brand-name small{display:block;font-family:var(--font-body);font-weight:500;font-size:.76rem;color:var(--muted);font-stretch:100%;margin-top:2px}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav>a,.nav .dd>button{font:500 .98rem var(--font-body);color:var(--ink-2);text-decoration:none;padding:10px 14px;border-radius:var(--radius);background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav>a:hover,.nav .dd>button:hover{background:var(--plaster);color:var(--ink)}
.nav>a[aria-current="page"],.nav .dd>button.current{color:var(--canard);font-weight:600}
.nav .dd{position:relative}
.nav .dd>button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:2px}
.dd-menu{position:absolute;top:calc(100% + 8px);left:-8px;min-width:300px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 40px -18px rgba(14,30,34,.35);padding:8px;display:none}
.dd.open .dd-menu{display:grid}
.dd-menu a{display:grid;gap:2px;padding:10px 12px;border-radius:4px;text-decoration:none}
.dd-menu a:hover{background:var(--plaster)}
.dd-menu b{font-weight:600}
.dd-menu small{color:var(--muted);font-size:.84rem;line-height:1.35}
.dd-menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.head-cta{margin-left:10px}
.nav>a.btn-solid,.nav>a.btn-solid:hover{background:var(--canard);color:var(--canard-ink);min-height:46px;padding:0 20px;font-weight:600}
.nav>a.btn-solid:hover{background:var(--canard-deep)}
.menu-btn{display:none;margin-left:auto;flex-shrink:0;background:none;border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);min-height:44px;padding:0 16px;font:600 .95rem var(--font-body);cursor:pointer}
@media (max-width:1180px){
  .menu-btn{display:inline-flex;align-items:center}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--sheet);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));max-height:calc(100vh - 120px);overflow:auto}
  .nav.open{display:flex}
  .nav>a,.nav .dd>button{padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line);width:100%;justify-content:space-between}
  .dd-menu{position:static;display:none;box-shadow:none;border:0;padding:4px 0 8px 12px;min-width:0}
  .head-cta{margin:16px 0 0}
}
@media (max-width:440px){.brand-name small{display:none}.brand img{height:42px}.brand-name{font-size:1.05rem}}

/* Accueil : héro */
.home-hero{padding-block:clamp(36px,5vw,72px) clamp(56px,7vw,96px)}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.home-hero-copy{display:grid;gap:26px;min-width:0}
.home-hero h1{max-width:12ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-phone{display:grid;line-height:1.2;text-decoration:none;padding-left:6px}
.hero-phone small{color:var(--muted);font-size:.84rem}
.hero-phone b{font-family:var(--font-display);font-stretch:85%;font-weight:800;font-size:1.35rem}
.mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1/1.02;min-width:0}
.mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--line)}
.mosaic figure:first-child{grid-row:1/span 2}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic figcaption{position:absolute;left:10px;bottom:10px;right:10px;background:rgba(18,26,28,.78);color:#F2F4F2;font-size:.8rem;line-height:1.3;padding:6px 10px;border-radius:4px;width:fit-content;max-width:calc(100% - 20px)}
@media (max-width:900px){.home-hero-grid{grid-template-columns:1fr}.mosaic{aspect-ratio:4/3.4}}
@media (max-width:560px){.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;aspect-ratio:auto}.mosaic figure:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.mosaic figure:not(:first-child){aspect-ratio:1/1}}

/* Bande de garanties */
.trust{background:var(--sheet);border-block:1px solid var(--line)}
.trust-row{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:20px 32px;align-items:center;padding-block:26px}
.trust-row img{height:74px;width:auto}
.trust-item{display:grid;gap:2px;border-left:1px solid var(--line);padding-left:20px}
.trust-item b{font-family:var(--font-display);font-stretch:78%;font-weight:800;font-size:1.3rem;line-height:1.1}
.trust-item span{color:var(--muted);font-size:.9rem;line-height:1.35}
@media (max-width:980px){.trust-row{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-row img{grid-column:1/-1}.trust-item{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:12px}}

/* Cartes métiers */
.trades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.trade-card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:grid;grid-template-rows:auto 1fr;transition:border-color .15s,transform .2s}
.trade-card:hover{border-color:var(--canard);transform:translateY(-2px)}
.trade-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.trade-card div{padding:20px 20px 22px;display:grid;gap:10px;align-content:start}
.trade-card p{color:var(--muted);font-size:.95rem;line-height:1.5}
.trade-card .link-arrow{margin-top:4px}
@media (max-width:1040px){.trades{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.trades{grid-template-columns:1fr}}

/* Bloc photo + texte */
.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.feature.flip .feature-media{order:2}
.feature-media{position:relative;min-width:0}
.feature-media img{width:100%;aspect-ratio:4/3.2;object-fit:cover;border-radius:var(--radius)}
.feature-media .stamp{position:absolute;right:-12px;bottom:-18px;background:var(--canard);color:var(--canard-ink);border-radius:var(--radius);padding:14px 18px;display:grid;line-height:1.1;box-shadow:0 14px 30px -14px rgba(10,40,45,.6)}
.feature-media .stamp b{font-family:var(--font-display);font-stretch:72%;font-weight:900;font-size:2.4rem}
.feature-media .stamp span{font-size:.85rem}
.feature-body{display:grid;gap:18px;min-width:0}
.feature-body p{max-width:60ch}
.checks{list-style:none;padding:0;margin:4px 0 0;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;line-height:1.45}
.checks li::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--canard-soft) center/12px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.4l2.4 2.4L10 3.2' fill='none' stroke='%230E5C66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");margin-top:1px}
.checks b{display:block;font-weight:600}
.checks span{color:var(--muted);font-size:.95rem}
@media (max-width:860px){.feature{grid-template-columns:1fr}.feature.flip .feature-media{order:0}.feature-media .stamp{right:12px}}

/* Galerie */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font:500 .95rem var(--font-body);min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--sheet);color:var(--ink);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--plaster);border-color:var(--ink)}
.filters button span{color:var(--muted);margin-left:6px;font-variant-numeric:tabular-nums}
.filters button[aria-pressed="true"] span{color:inherit;opacity:.7}
.gallery{columns:3 260px;column-gap:18px}
.shot{break-inside:avoid;margin:0 0 24px;display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:inherit;cursor:zoom-in;font:inherit}
.shot img{width:100%;border-radius:var(--radius);background:var(--line);transition:opacity .15s}
.shot:hover img{opacity:.9}
.chip{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;align-items:start;padding-top:10px}
.chip i{grid-row:span 2;width:26px;height:26px;border-radius:3px;border:1px solid var(--line);margin-top:2px}
.chip b{font-weight:600;font-size:.95rem;line-height:1.3}
.chip small{color:var(--muted);font-size:.86rem;line-height:1.3}
.chip.plain{grid-template-columns:1fr}
.chip.plain i{display:none}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.strip .shot{margin:0}
.strip .shot img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:760px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.strip{grid-template-columns:1fr}}

dialog.viewer{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:94vh;color:#E8EDEB}
dialog.viewer::backdrop{background:rgba(8,12,13,.92)}
.viewer img{max-height:80vh;width:auto;margin-inline:auto;border-radius:4px}
.viewer-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-top:12px;flex-wrap:wrap}
.viewer-bar p{font-size:.95rem}
.viewer-bar div{display:flex;gap:8px}
.viewer button{background:#1A2225;color:#E8EDEB;border:1px solid #3a4649;border-radius:4px;min-height:44px;min-width:44px;padding:0 14px;font:600 1rem var(--font-body);cursor:pointer}

/* Étapes */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:s;border-top:2px solid var(--ink)}
.steps li{counter-increment:s;padding:20px 20px 0 0;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);font-family:var(--font-display);font-stretch:70%;font-weight:900;font-size:2.6rem;line-height:1;color:var(--canard)}
.steps b{font-weight:600}
.steps span{color:var(--muted);font-size:.95rem;line-height:1.5}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.steps,.steps.four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}}
@media (max-width:480px){.steps,.steps.four{grid-template-columns:1fr}}

/* Avis */
.scores{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}
.score{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sheet);text-decoration:none}
.score:hover{border-color:var(--ink)}
.score b{font-family:var(--font-display);font-stretch:78%;font-weight:800;font-size:1.6rem;font-variant-numeric:tabular-nums}
.score span{font-size:.9rem;color:var(--muted);line-height:1.3}
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.review{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:grid;gap:16px;align-content:start;margin:0}
.stars{color:var(--star);letter-spacing:3px}
.review blockquote{margin:0;line-height:1.6}
.review figcaption{font-size:.92rem;color:var(--muted)}
.review figcaption b{color:var(--ink);font-weight:600}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}

/* Bande d'appel */
.cta-band{background:var(--band);color:var(--band-ink)}
.cta-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 48px;align-items:center;padding-block:clamp(48px,6vw,80px)}
.cta-band h2{color:var(--band-ink);max-width:20ch}
.cta-band p{opacity:.78;margin-top:12px;max-width:56ch}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.cta-band .wrap{grid-template-columns:1fr}}

/* En-tête des pages intérieures */
.page-hero{background:var(--sheet);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(32px,5vw,64px)}
.page-hero-grid.solo{grid-template-columns:minmax(0,1fr)}
.crumbs{font-size:.88rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.5}
.page-hero-copy{display:grid;gap:20px;min-width:0}
.page-hero-copy h1{font-size:clamp(2.1rem,1.5rem + 2.6vw,3.8rem)}
.page-hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
@media (max-width:860px){.page-hero-grid{grid-template-columns:1fr}}

/* Grille de prestations */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.svc{background:var(--sheet);padding:28px;display:grid;gap:10px;align-content:start}
.svc p{color:var(--muted);font-size:.96rem;line-height:1.55}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}

/* Encadrés */
.panel{background:var(--canard-soft);border-radius:var(--radius);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:start}
.panel h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem)}
.panel ol,.panel ul{margin:0;padding-left:1.3em;display:grid;gap:10px}
@media (max-width:820px){.panel{grid-template-columns:1fr}}
.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.tags li{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--sheet);font-size:.94rem}
.tags li.on{background:var(--canard);border-color:var(--canard);color:var(--canard-ink);font-weight:600}

/* Barres de déperdition */
.bars{display:grid;gap:14px;margin-top:8px}
.bar{display:grid;grid-template-columns:160px minmax(0,1fr) 96px;gap:14px;align-items:center;font-size:.95rem}
.bar .track{height:14px;background:var(--plaster);border-radius:999px;overflow:hidden}
.bar .fill{height:100%;background:var(--canard);border-radius:999px}
.bar b{font-variant-numeric:tabular-nums;text-align:right;font-weight:600;white-space:nowrap}
@media (max-width:520px){.bar{grid-template-columns:1fr auto}.bar .track{grid-column:1/-1;grid-row:2}}

/* FAQ */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:600;position:relative;font-size:1.04rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:26px;width:10px;height:10px;border-right:2px solid var(--canard);border-bottom:2px solid var(--canard);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.faq details p{padding:0 0 20px;color:var(--muted);max-width:66ch}
.two-col{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,80px)}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}

/* Entreprise */
.portrait{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,5vw,72px);align-items:start}
.portrait figure{margin:0}
.portrait figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 15%;border-radius:var(--radius)}
.portrait figcaption{font-size:.88rem;color:var(--muted);margin-top:10px}
.story{display:grid;gap:18px;min-width:0}
.story p{max-width:64ch}
.story blockquote{margin:8px 0;padding:4px 0 4px 22px;border-left:3px solid var(--canard);font-family:var(--font-display);font-stretch:85%;font-weight:650;font-size:var(--step-1);line-height:1.35;max-width:48ch}
@media (max-width:860px){.portrait{grid-template-columns:1fr}.portrait figure{max-width:440px}}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.timeline li{position:relative;padding:0 0 26px 28px;display:grid;gap:4px}
.timeline li::before{content:"";position:absolute;left:-8px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--sheet);border:3px solid var(--canard)}
.timeline b{font-family:var(--font-display);font-stretch:78%;font-weight:800;font-size:1.25rem}
.timeline span{color:var(--muted)}
.brands{display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--font-display);font-stretch:80%;font-weight:700;font-size:1.15rem;color:var(--ink-2)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,72px);align-items:start}
.coords{display:grid;gap:4px;background:var(--band);color:var(--band-ink);border-radius:var(--radius);padding:clamp(24px,3vw,36px)}
.coord{display:grid;gap:2px;padding-block:14px;border-bottom:1px solid rgba(238,240,237,.14)}
.coord:last-child{border-bottom:0}
.coord span{font-size:.85rem;opacity:.65}
.coord b,.coord a{font-family:var(--font-display);font-stretch:85%;font-weight:700;font-size:1.3rem;text-decoration:none;line-height:1.3;overflow-wrap:anywhere}
.coord a:hover{text-decoration:underline;text-underline-offset:4px}
.form{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form h2{grid-column:1/-1;font-size:clamp(1.5rem,1.25rem + 1vw,2rem)}
.form .full{grid-column:1/-1}
.form label{display:grid;gap:6px;font-weight:600;font-size:.93rem}
.form label i{font-style:normal;font-weight:400;color:var(--muted);display:inline}
.form label .lbl{display:block}
.form input,.form select,.form textarea{font:400 1rem var(--font-body);color:var(--ink);background:var(--plaster);border:1px solid var(--line);border-radius:var(--radius);min-height:50px;padding:10px 14px;width:100%}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--canard);outline-offset:1px;background:var(--sheet)}
.form .note{font-size:.86rem;color:var(--muted);max-width:44ch}
.form-done{grid-column:1/-1;background:var(--canard-soft);border-radius:var(--radius);padding:14px 16px;font-size:.95rem}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:540px){.form{grid-template-columns:1fr}}

/* Texte légal */
.legal{max-width:760px;display:grid;gap:14px}
.legal h2{font-size:1.6rem;margin-top:24px}
.legal p,.legal li{color:var(--ink-2)}

/* Pied de page */
.foot{background:var(--band);color:var(--band-ink);padding-block:clamp(48px,6vw,72px) 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:36px 48px}
.foot h4{font-size:1.02rem;margin-bottom:14px;color:var(--band-ink)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot a{text-decoration:none;opacity:.8}
.foot a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.foot-brand{display:grid;gap:16px;align-content:start}
.foot-brand .row{display:flex;gap:14px;align-items:center}
.foot-brand img.logo{height:54px;width:auto}
.foot-brand img.rge{height:64px;width:auto;background:#fff;border-radius:4px;padding:4px}
.foot-brand p{opacity:.75;max-width:40ch;font-size:.95rem}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(238,240,237,.14);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.86rem;opacity:.7}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}

.mobile-call{display:none}
@media (max-width:640px){
  .mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;gap:8px;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:var(--sheet);border-top:1px solid var(--line)}
  .mobile-call .btn{flex:1;min-height:48px;padding:0 10px}
  body{padding-bottom:78px}
}

/* ===== Ambiance couleur ===== */
.btn-ochre{background:var(--ochre);color:var(--ochre-ink);border-color:var(--ochre)}
.btn-ochre:hover{background:var(--ochre-deep);border-color:var(--ochre-deep)}
.topbar{background:var(--band)}
.topbar .tb-badge{color:var(--ochre)}

/* Héro d'accueil en bleu canard */
.home-hero{background:var(--hero);color:var(--hero-ink);position:relative;overflow:hidden}
.home-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:linear-gradient(90deg,var(--t-platre) 0 25%,var(--t-peinture) 25% 50%,var(--t-iso) 50% 75%,var(--t-sols) 75% 100%)}
.home-hero h1{color:var(--hero-ink)}
.home-hero .lede{color:var(--hero-ink);opacity:.85}
.home-hero .hero-phone small{color:var(--hero-ink);opacity:.7}
.home-hero .hero-phone b{color:var(--hero-ink)}
.home-hero .btn-solid{background:var(--ochre);border-color:var(--ochre);color:var(--ochre-ink)}
.home-hero .btn-solid:hover{background:var(--ochre-deep);border-color:var(--ochre-deep)}
.home-hero .mosaic figure{box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.hero-pill{display:inline-flex;align-items:center;gap:10px;justify-self:start;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 14px 6px 8px;font-size:.88rem;font-weight:500}
.hero-pill i{width:10px;height:10px;border-radius:50%;background:var(--ochre)}

/* Pages intérieures : bandeau teinté */
.page-hero{background:var(--canard-soft);border-bottom:0;position:relative}
.page-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--tone,var(--canard))}
.page-hero .crumbs a{color:var(--canard)}
body.t-platre{--tone:var(--t-platre)}
body.t-peinture{--tone:var(--t-peinture)}
body.t-iso{--tone:var(--t-iso)}
body.t-sols{--tone:var(--t-sols)}

/* Une couleur par métier */
.trade-card{border-top:5px solid var(--tc,var(--canard))}
.trade-card:nth-child(1){--tc:var(--t-platre)}
.trade-card:nth-child(2){--tc:var(--t-peinture)}
.trade-card:nth-child(3){--tc:var(--t-iso)}
.trade-card:nth-child(4){--tc:var(--t-sols)}
.trade-card:hover{border-color:var(--tc);border-top-color:var(--tc)}
.trade-card .link-arrow{color:var(--tc)}
.trade-card h3{color:var(--ink)}

/* Garanties */
.trust{background:var(--sheet)}
.trust-item b{color:var(--canard)}

/* Étapes : chiffres ocre */
.steps{border-top-color:var(--canard)}
.steps li::before{color:var(--ochre-deep)}

/* Avis sur fond chaud */
#avis.section.white{background:var(--ochre-soft);border-color:transparent}
.review{border-color:transparent;box-shadow:0 12px 30px -22px rgba(60,40,10,.45)}
.score{border-color:transparent}

/* Tampon et encadrés */
.feature-media .stamp{background:var(--ochre);color:var(--ochre-ink)}
.panel{background:var(--ochre-soft);border-left:5px solid var(--ochre)}
.tags li.on{background:var(--ochre);border-color:var(--ochre);color:var(--ochre-ink)}
.filters button[aria-pressed="true"]{background:var(--canard);border-color:var(--canard);color:var(--canard-ink)}

/* Bande d'appel en canard */
.cta-band{background:var(--canard)}
.cta-band h2,.cta-band p{color:var(--canard-ink)}
.cta-band p{opacity:.85}
.cta-band .btn-light{background:var(--ochre);border-color:var(--ochre);color:var(--ochre-ink)}
.cta-band .btn-light:hover{background:var(--ochre-deep);border-color:var(--ochre-deep);color:var(--ochre-ink)}
.cta-band .btn-ghost-light{color:var(--canard-ink);border-color:rgba(255,255,255,.5)}
.cta-band .btn-ghost-light:hover{border-color:var(--canard-ink)}

/* Pied de page */
.foot h4{color:var(--ochre)}
.coords{background:var(--hero)}
.timeline li::before{border-color:var(--ochre)}
.checks li::before{background-color:var(--ochre-soft)}

/* ===== Ajouts : WhatsApp, simulateur, articles, villes, chantiers ===== */
.btn-wa{background:#1F8A4C;color:#fff;border-color:#1F8A4C}
.btn-wa:hover{background:#18713E;border-color:#18713E}
.wa-line{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#1F8A4C;text-decoration:none}
:root[data-theme="dark"] .wa-line{color:#6FD39A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wa-line{color:#6FD39A}}
.wa-ico{width:20px;height:20px;flex-shrink:0}
.mobile-call .btn{font-size:.92rem}

.form input[type="file"]{padding:10px;min-height:auto;background:var(--sheet);border-style:dashed;cursor:pointer}
.form .hint{font-weight:400;color:var(--muted);font-size:.85rem}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Simulateur */
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
.sim-q{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,32px);display:grid;gap:22px}
.sim-q fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.sim-q legend{font-weight:700;margin-bottom:6px;font-size:1.02rem}
.opt{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:var(--plaster)}
.opt:has(input:checked){border-color:var(--canard);background:var(--canard-soft)}
.opt input{accent-color:var(--canard);width:18px;height:18px;margin:0;flex-shrink:0}
.sim-r{position:sticky;top:110px;display:grid;gap:14px}
.sim-r h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.aid{background:var(--sheet);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:grid;gap:6px}
.aid.yes{border-left-color:#2F8A57}
.aid.maybe{border-left-color:var(--ochre)}
.aid.no{border-left-color:var(--line);opacity:.75}
.aid header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.aid h3{font-size:1.15rem}
.aid .badge{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.aid.yes .badge{background:#DDF1E4;color:#1E5E39}
.aid.maybe .badge{background:var(--ochre-soft);color:#7A5209}
.aid.no .badge{background:var(--plaster);color:var(--muted)}
:root[data-theme="dark"] .aid.yes .badge{background:#163323;color:#8FE0B0}
:root[data-theme="dark"] .aid.maybe .badge{color:var(--ochre)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .aid.yes .badge{background:#163323;color:#8FE0B0}:root:not([data-theme="light"]) .aid.maybe .badge{color:var(--ochre)}}
.aid p{color:var(--muted);font-size:.95rem;line-height:1.5}
.sim-note{font-size:.86rem;color:var(--muted)}
@media (max-width:860px){.sim{grid-template-columns:1fr}.sim-r{position:static}}

/* Articles */
.article{max-width:740px;display:grid;gap:18px}
.article h2{font-size:clamp(1.45rem,1.2rem + .9vw,1.9rem);margin-top:22px}
.article p,.article li{line-height:1.7}
.article ul,.article ol{margin:0;padding-left:1.3em;display:grid;gap:8px}
.article .box{background:var(--ochre-soft);border-left:5px solid var(--ochre);border-radius:var(--radius);padding:18px 20px}
.article table{border-collapse:collapse;width:100%;font-size:.95rem}
.article th,.article td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.article th{font-weight:700;background:var(--sheet)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.meta{font-size:.9rem;color:var(--muted)}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:grid;grid-template-rows:auto 1fr}
.post img{width:100%;aspect-ratio:16/10;object-fit:cover}
.post div{padding:20px;display:grid;gap:10px;align-content:start}
.post p{color:var(--muted);font-size:.95rem}
.post:hover{border-color:var(--canard)}
@media (max-width:900px){.posts{grid-template-columns:1fr}}

/* Villes */
.towns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.town{display:grid;gap:4px;padding:18px 20px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}
.town:hover{border-color:var(--canard)}
.town b{font-family:var(--font-display);font-stretch:80%;font-weight:800;font-size:1.25rem}
.town span{color:var(--muted);font-size:.92rem}
@media (max-width:820px){.towns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.towns-grid{grid-template-columns:1fr}}

/* Fiches chantier */
.facts-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--sheet);overflow:hidden}
.facts-row div{padding:18px 20px;border-right:1px solid var(--line);display:grid;gap:4px}
.facts-row div:last-child{border-right:0}
.facts-row span{font-size:.85rem;color:var(--muted)}
.facts-row b{font-weight:600}
@media (max-width:760px){.facts-row{grid-template-columns:1fr 1fr}.facts-row div:nth-child(2){border-right:0}.facts-row div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.case{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:grid;grid-template-rows:auto 1fr}
.case img{width:100%;aspect-ratio:4/3;object-fit:cover}
.case div{padding:18px 20px;display:grid;gap:8px;align-content:start}
.case small{color:var(--muted)}
.case:hover{border-color:var(--canard)}
@media (max-width:900px){.cases{grid-template-columns:1fr}}
.review-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}

.nav>a,.nav .dd>button,.head-cta,.brand-name small{white-space:nowrap}
.strip.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:440px){.strip.two{grid-template-columns:1fr}}
.foot-grid.five{grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr))}
.foot li{overflow-wrap:anywhere}
@media (max-width:1040px){.foot-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-grid.five .foot-brand{grid-column:1/-1}}
@media (max-width:480px){.foot-grid.five{grid-template-columns:1fr}}

/* ===== Zone d'intervention ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.commune-list{list-style:none;margin:0;padding:0;columns:3 170px;column-gap:24px}
.commune-list li{break-inside:avoid;padding:5px 0;border-bottom:1px solid var(--line);font-size:.95rem;line-height:1.35}
.commune-list a{text-decoration:none;display:block}
.commune-list a:hover b{color:var(--canard);text-decoration:underline}
.commune-list b{font-weight:600}
.commune-list span{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.zone-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:center}
.zone-search{display:grid;gap:16px;align-content:start}
.zone-search input{font:400 1.05rem var(--font-body);color:var(--ink);background:var(--sheet);border:2px solid var(--line);border-radius:var(--radius);min-height:54px;padding:10px 16px;width:100%}
.zone-search input:focus{outline:none;border-color:var(--canard)}
.z-res{min-height:3.2em;padding:14px 16px;border-radius:var(--radius);background:var(--sheet);border:1px solid var(--line)}
.z-res.ok{background:#E3F3E9;border-color:#9ED0B0;color:#174A2C}
.z-res.ko{background:var(--ochre-soft);border-color:var(--ochre)}
:root[data-theme="dark"] .z-res.ok{background:#163323;border-color:#2F6B47;color:#BFEACF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .z-res.ok{background:#163323;border-color:#2F6B47;color:#BFEACF}}
.z-res a{font-weight:600}
.legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.9rem;color:var(--muted)}
.legend li{display:flex;align-items:center;gap:8px}
.legend i{width:12px;height:12px;border-radius:50%;display:inline-block;background:var(--canard)}
.legend i.d63{background:var(--ochre)}
.legend i.hub{background:var(--sheet);border:3px solid var(--ink)}
.zone-map-wrap{min-width:0}
.zone-map{width:100%;height:auto;display:block;max-width:640px;margin-inline:auto}
.zone-map .ring{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 5}
.zone-map circle.ring:first-of-type{fill:var(--canard-soft);stroke:var(--canard);stroke-dasharray:none;stroke-opacity:.5}
.zone-map .ring-l{fill:var(--muted);font:500 13px var(--font-body)}
.zone-map .dot{fill:var(--canard);opacity:.85}
.zone-map .dot.d63{fill:var(--ochre-deep)}
.zone-map .dot.hub{stroke:var(--ink);stroke-width:2;opacity:1}
.zone-map a:hover .dot,.zone-map a:focus .dot{opacity:1;stroke:var(--ink);stroke-width:2}
.zone-map .center{fill:var(--ink)}
.zone-map .lbl{fill:var(--ink);font:600 13px var(--font-body);paint-order:stroke;stroke:var(--plaster);stroke-width:4px;stroke-linejoin:round}
.zone-map .lbl.strong{font-size:16px;font-weight:800}
@media (max-width:860px){.zone-grid{grid-template-columns:1fr}}
.bands{display:grid;gap:36px}
.band h3{display:flex;gap:12px;align-items:baseline;margin-bottom:12px}
.band h3 span{font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--muted);font-stretch:100%}
.town-all{background:var(--canard);border-color:var(--canard);color:var(--canard-ink)}
.town-all span{color:var(--canard-ink);opacity:.85}
.town-all:hover{background:var(--canard-deep)}
.az{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}
.az h3 a{text-decoration:none}
.az h3 a:hover{color:var(--canard)}
.az ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.az li{color:var(--muted);font-size:.95rem;padding-left:14px;position:relative}
.az li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:1px;background:var(--ochre)}
@media (max-width:900px){.az{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.az{grid-template-columns:1fr}}
.local-line{border-top:1px solid var(--line);padding-top:28px;display:grid;gap:10px;max-width:900px}
.local-line h2{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)}
.local-line p{color:var(--muted);line-height:1.7}
.local-line a{color:var(--canard)}

/* ===== Logo plus visible ===== */
.head-row{min-height:96px}
.brand{gap:14px}
.brand img{height:76px;width:auto;filter:drop-shadow(0 4px 10px rgba(14,30,34,.18))}
.brand-name{font-size:1.32rem}
.foot-brand img.logo{height:84px}
html{scroll-padding-top:120px}
@media (max-width:1180px){.head-row{min-height:84px}.brand img{height:64px}}
@media (max-width:440px){.head-row{min-height:76px}.brand img{height:56px}.brand-name{font-size:1.02rem}}
@media (min-width:1181px){.brand-name{display:none}.brand img{height:82px}}

.trade-card:nth-child(2) .link-arrow{color:#94600F}
:root[data-theme="dark"] .trade-card:nth-child(2) .link-arrow{color:var(--t-peinture)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .trade-card:nth-child(2) .link-arrow{color:var(--t-peinture)}}
/* Avant / après */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:920px;margin-inline:auto}
.ba figure{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--surface-2,#e9e5dc)}
.ba img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.ba-tag{position:absolute;left:14px;top:14px;background:#1d2326;color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.ba-tag.after{background:var(--ochre,#E3A33B);color:#1d2326}
@media (max-width:600px){.ba{gap:8px}.ba-tag{left:8px;top:8px;font-size:.72rem;padding:4px 9px}}
/* Avant / après dans le haut de l'accueil */
.hero-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;text-decoration:none;color:inherit}
.hero-ba figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--line);aspect-ratio:3/4.4;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.hero-ba img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hero-ba:hover img{transform:scale(1.03)}
.hero-ba .ba-tag{position:absolute;left:12px;top:12px}
.hero-ba-cap{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;align-items:baseline;font-size:.92rem;opacity:.9}
.hero-ba-cap b{color:var(--ochre);font-weight:600}
@media (max-width:560px){.hero-ba{gap:8px}.hero-ba figure{aspect-ratio:3/4}.hero-ba .ba-tag{left:8px;top:8px}}
.hero-ba .ba-fig{display:block;min-width:0;text-decoration:none}
.hero-ba figure.small{aspect-ratio:4/3}
.hero-ba figure{aspect-ratio:3/3.6}
.hero-ba-cap{text-decoration:none;color:inherit}
@media (max-width:560px){.hero-ba figure{aspect-ratio:3/3.8}.hero-ba figure.small{aspect-ratio:4/3}}
