:root{--accent:#1f1d1c;--accent2:#EA0203;--gold:#ff6a5f;--soft:#e8edf0;--cream:#f6f7f5;--ink:#16212a;}
/* Modèle « premium » couvreurs — la palette (:root) est ajoutée en tête par template_premium.py.
   Motif : la pente de toit (bord oblique) sur l'en-tête de chaque page. Une seule famille : Archivo,
   dont la largeur variable sert de voix aux titres (étendue) et reste normale pour le texte. */
:root{
  --line:color-mix(in srgb,var(--ink) 14%,transparent);
  --muted:color-mix(in srgb,var(--ink) 68%,#fff);
  --tint:color-mix(in srgb,var(--accent2) 9%,#fff);
  --w:1180px;--r:6px;
  --pente:clamp(28px,5vw,72px);
  --shadow:0 1px 2px rgba(22,33,42,.06),0 18px 40px -22px rgba(22,33,42,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:60px}
body.pm{margin:0;background:var(--cream);color:var(--ink);font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-size:1.0625rem;line-height:1.6;font-stretch:100%;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-stretch:112%;line-height:1.08;letter-spacing:-.012em;text-wrap:balance}
h1{font-size:clamp(2.25rem,3.8vw + 1rem,4.1rem);font-weight:760;line-height:1.02}
h2{font-size:clamp(1.65rem,1.6vw + 1.1rem,2.5rem);font-weight:720}
h3,.h3{font-size:1.2rem;font-weight:660;font-stretch:106%;line-height:1.25}
.h3{font-size:clamp(1.25rem,.8vw + 1rem,1.55rem);margin-bottom:20px}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--accent2);outline-offset:3px;border-radius:2px}
.hp{display:none}

/* Bandeau maquette (identique aux autres modèles) */
.moon-bar{position:sticky;top:0;z-index:60;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:9px 16px;background:#0f1320;color:#e9ecf5;font-size:.86rem;line-height:1.4}
.moon-bar strong{color:#fff}
.moon-bar__cta{background:#e9ecf5;color:#0f1320;padding:6px 12px;border-radius:999px;text-decoration:none;font-weight:600;white-space:nowrap}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent2);color:#fff;border:2px solid var(--accent2);border-radius:var(--r);padding:12px 20px;font:inherit;font-weight:650;font-stretch:106%;text-decoration:none;cursor:pointer;line-height:1.2;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:color-mix(in srgb,var(--accent2) 86%,#000);border-color:color-mix(in srgb,var(--accent2) 86%,#000)}
.btn--sm{padding:9px 16px;font-size:.95rem}
.btn--big{padding:17px 28px;font-size:1.06rem}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{background:#fff;border-color:var(--ink)}
.btn--line{background:transparent;color:var(--ink);border-color:currentColor}
.btn--light{color:#fff}
.btn--line:hover{background:rgba(255,255,255,.1);border-color:currentColor}
.btn:disabled{opacity:.7;cursor:wait}

/* En-tête */
.hd{position:relative;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.hd__in{display:flex;align-items:center;gap:24px;min-height:76px}
.hd__cta,.hd__tel{white-space:nowrap;flex-shrink:0}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-width:0}
.logo__mark{flex:none;display:grid;place-items:center;width:46px;height:46px;background:var(--accent);color:#fff;font-weight:800;font-stretch:125%;font-size:.95rem;letter-spacing:.02em;clip-path:polygon(0 18%,50% 0,100% 18%,100% 100%,0 100%);padding-top:6px}
.logo__mark--moon{background:#0f1320}
.logo__img{flex:none;width:46px;height:46px;border-radius:50%;object-fit:contain}
.logo__txt{display:flex;flex-direction:column;font-weight:720;font-stretch:112%;font-size:1.08rem;line-height:1.15}
.logo__txt small{font-weight:450;font-stretch:100%;font-size:.82rem;color:var(--muted)}
.nav{display:flex;align-items:center;gap:4px}
.nav>a,.dd>summary{padding:10px 12px;text-decoration:none;font-weight:550;border-radius:var(--r);cursor:pointer}
.nav>a:hover,.dd>summary:hover{background:var(--soft)}
.nav>a[aria-current],.dd>summary.is-cur{box-shadow:inset 0 -3px 0 var(--accent2);border-radius:0}
.dd{position:relative}
.dd>summary{list-style:none;display:flex;align-items:center;gap:6px}
.dd>summary::-webkit-details-marker{display:none}
.dd>summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}
.dd[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.dd__panel{position:absolute;top:calc(100% + 8px);left:0;min-width:290px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:8px;display:grid}
.dd__panel a{padding:10px 12px;text-decoration:none;border-radius:4px}
.dd__panel a:hover,.dd__panel a[aria-current]{background:var(--soft)}
.hd__tel{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:650;white-space:nowrap}
.hd__tel svg{color:var(--accent2)}
.mnav{display:none}
.mnav>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);font-weight:600;cursor:pointer}
.mnav>summary::-webkit-details-marker{display:none}
.mnav>summary span,.mnav>summary span::before,.mnav>summary span::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.mnav>summary span::before,.mnav>summary span::after{content:"";position:absolute;left:0}
.mnav>summary span::before{top:-6px}.mnav>summary span::after{top:6px}
.mnav__panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:12px 20px 20px;display:grid;max-height:75vh;overflow:auto}
.mnav__panel a{padding:12px 0;text-decoration:none;border-bottom:1px solid var(--line);font-weight:550}
.mnav__panel .mnav__group{margin:14px 0 0;font-size:.85rem;color:var(--muted)}
.mnav__panel .btn{margin-top:16px;border-bottom:2px solid var(--accent2)}
@media (max-width:999px){.nav,.hd__tel,.hd__cta{display:none}.mnav{display:block}.hd__in{min-height:68px;gap:12px}}

/* Accueil : en-tête photo avec la pente */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--accent);color:#fff;min-height:min(84vh,760px)}
.hero__txt{display:flex;align-items:center;justify-content:flex-end}
.hero__inner{max-width:600px;padding:72px 48px 80px 20px;width:100%}
.hero__kicker{font-weight:600;color:color-mix(in srgb,var(--gold) 80%,#fff);margin-bottom:18px;font-size:1.02rem}
.hero h1{margin-bottom:22px}
.hero__lead{font-size:1.16rem;line-height:1.55;color:rgba(255,255,255,.88);max-width:52ch;margin-bottom:30px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero__note{display:flex;align-items:center;gap:10px;margin:26px 0 0;font-size:.95rem;color:rgba(255,255,255,.85)}
.hero__note--ink{color:var(--ink)}
.hero__media{position:relative;clip-path:polygon(var(--pente) 0,100% 0,100% 100%,0 100%);margin-left:calc(var(--pente) * -1)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stars{display:inline-flex;gap:1px;color:var(--gold)}
.stars svg{fill:currentColor;stroke:none}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero__media{order:-1;height:min(58vw,420px);margin:0;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--pente)),0 100%)}
  .hero__inner{padding:28px 20px 56px;max-width:none}
}

/* Bande de confiance */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.trust__list li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:24px 20px;border-left:1px solid var(--line)}
.trust__list li:first-child{border-left:0;padding-left:0}
.trust__list svg{grid-row:span 2;color:var(--accent2)}
.trust__list .stars{grid-row:span 2}
.trust__list .stars svg{color:var(--gold)}
.trust__list strong{font-stretch:110%;font-weight:700;line-height:1.2}
.trust__list span{font-size:.9rem;color:var(--muted);line-height:1.3}
@media (max-width:700px){.trust__list{grid-template-columns:1fr 1fr}.trust__list li{padding:18px 8px;border-left:0;border-top:1px solid var(--line)}.trust__list li:nth-child(-n+2){border-top:0}.trust__list li:first-child{padding-left:8px}.trust__list .stars{grid-column:1/-1;grid-row:auto;margin-bottom:4px}}

/* Sections */
.sec{padding:clamp(64px,8vw,112px) 0}
.sec--soft{background:var(--soft)}
.sec--ink{background:var(--ink);color:#fff}
.sec__head{max-width:720px;margin-bottom:clamp(32px,4vw,52px)}
.sec__head h2{margin-bottom:14px}
.sec__head--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.sec__sub{color:var(--muted);font-size:1.08rem;margin:0}
.lnk{display:inline-flex;align-items:center;gap:6px;font-weight:650;color:var(--accent2);text-decoration:none}
.lnk:hover{text-decoration:underline}

/* Prestations */
.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,3vw,40px) 28px}
.svc{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.svc__img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--soft)}
.svc__img--ic{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:clamp(20px,3vw,32px);color:var(--accent2);background:var(--tint);border:1px solid color-mix(in srgb,var(--accent2) 18%,transparent)}
.svc__img--ic>svg{transition:transform .4s ease}
.svc:hover .svc__img--ic>svg{transform:scale(1.08)}
.svc__pts{display:flex;flex-direction:column;gap:10px;color:var(--ink,#1d232a);font-size:.98rem;line-height:1.35}
.svc__pt{display:flex;gap:10px;align-items:flex-start}
.svc__pt svg{flex:none;margin-top:2px;color:var(--accent2)}
.svc__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.svc:hover .svc__img img{transform:scale(1.03)}
.svc__body{display:flex;flex-direction:column;padding-top:18px}
.svc__t{font-size:1.32rem;font-weight:700;font-stretch:112%;line-height:1.2;margin-bottom:8px}
.svc__x{color:var(--muted)}
.svc__more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-weight:650;color:var(--accent2)}
/* nombre impair de prestations : la première occupe deux colonnes, photo à gauche */
.svc--wide{grid-column:span 2;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}
.svc--wide .svc__img{aspect-ratio:16/10}
.svc--wide .svc__t{font-size:clamp(1.4rem,1vw + 1rem,1.85rem)}
@media (max-width:700px){.svc--wide{grid-column:auto;display:flex}.svc--wide .svc__img{aspect-ratio:4/3}}

/* Pourquoi nous */
.why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px);align-items:start}
.why__head h2{margin-bottom:18px}
.why__head p{color:rgba(255,255,255,.78);font-size:1.1rem;margin-bottom:28px}
.why__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:36px 40px}
.why__list li{border-top:2px solid var(--accent2);padding-top:18px}
.why__list h3{margin-bottom:8px}
.why__list p{margin:0;color:rgba(255,255,255,.75)}
.why__list--light{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.why__list--light p{color:var(--muted)}
@media (max-width:860px){.why{grid-template-columns:minmax(0,1fr)}.why__list{grid-template-columns:minmax(0,1fr)}}

/* Avis */
.rvs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}
.rv{margin:0;background:#fff;border-radius:var(--r);padding:28px 26px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.sec:not(.sec--soft) .rv{background:var(--soft);box-shadow:none}
.rv blockquote{margin:16px 0 20px;flex:1}
.rv blockquote p{margin:0;font-size:1.06rem;line-height:1.55}
.rv blockquote p::before{content:"« "}.rv blockquote p::after{content:" »"}
.rv figcaption{font-weight:650;display:flex;flex-direction:column;line-height:1.3}
.rv figcaption span{font-weight:400;font-size:.88rem;color:var(--muted)}

/* Réalisations (accueil) */
.tz{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(150px,240px));gap:14px}
.tz__i{display:block;overflow:hidden;border-radius:var(--r);background:var(--soft)}
.tz__i img{width:100%;height:100%;object-fit:cover}
.tz__i--0{grid-row:span 2}
.tz__i--3{grid-column:span 2}
@media (max-width:700px){.tz{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:150px}.tz__i--0{grid-column:span 2;grid-row:auto}.tz__i--3{grid-column:span 2}}

/* Zone */
.zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start}
.zone h2{margin-bottom:14px}
@media (max-width:860px){.zone{grid-template-columns:minmax(0,1fr)}}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips a{display:inline-block;padding:9px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:550}
.chips a:hover{border-color:var(--accent2);color:var(--accent2)}

/* Bandeau d'appel */
.cta{background:var(--accent);color:#fff;padding:clamp(56px,7vw,88px) 0}
.cta__in{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{margin-bottom:10px}
.cta p{margin:0;color:rgba(255,255,255,.82);max-width:56ch}
.cta__btns{display:flex;flex-wrap:wrap;gap:12px}
.cta .btn--line{color:#fff}

/* En-tête des pages intérieures : la même pente */
.phead{background:var(--accent);color:#fff;padding:clamp(40px,6vw,80px) 0 calc(clamp(56px,7vw,96px) + var(--pente));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--pente)),0 100%);margin-bottom:calc(var(--pente) * -1)}
.phead+.sec{padding-top:calc(clamp(64px,8vw,112px) + var(--pente) * .5)}
.phead__in{max-width:var(--w)}
.phead h1{max-width:18ch;margin-bottom:20px}
.phead__lead{font-size:1.16rem;color:rgba(255,255,255,.88);max-width:62ch;margin-bottom:28px}
.phead .hero__note{color:rgba(255,255,255,.85)}
.phead--tight{padding-top:clamp(32px,4vw,56px);padding-bottom:calc(32px + var(--pente))}
.phead--tight h1{margin-bottom:12px}
.phead--done{min-height:60vh;display:flex;align-items:center;margin-bottom:0}
.phead--done .btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.phead--done .btn--ghost:hover{background:rgba(255,255,255,.1)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.92rem;color:rgba(255,255,255,.72);margin-bottom:28px}
.crumbs a{color:#fff}

/* Pages prestation */
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:center}
.split--top{align-items:start}
.prose{max-width:62ch}
.prose h2{margin-bottom:22px}
.ticks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:14px}
.ticks li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.ticks svg{color:#fff;background:var(--accent2);border-radius:50%;padding:3px;margin-top:3px}
.split__fig{margin:0}
.split__img{width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}
.split__fig figcaption{font-size:.88rem;color:var(--muted);margin-top:10px}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}.split__img{aspect-ratio:4/3}}
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,5vw,72px);align-items:start}
.faq h2{margin-bottom:14px}
@media (max-width:860px){.faq{grid-template-columns:minmax(0,1fr)}}
.faq__list{display:grid;gap:10px}
.faq__i{background:#fff;border-radius:var(--r);border:1px solid var(--line)}
.faq__i summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;font-weight:650;font-stretch:104%;position:relative}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary::after{content:"";position:absolute;right:24px;top:50%;width:9px;height:9px;border:solid var(--accent2);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq__i[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq__i p{padding:0 22px 22px;margin:0;color:var(--muted)}

/* Pages communes */
.rows{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.row{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;text-decoration:none}
.row:hover{border-color:var(--accent2)}
.row__img{width:96px;height:72px;object-fit:cover;border-radius:4px}
.row strong{display:block;font-stretch:106%;line-height:1.25;margin-bottom:2px}
.row span span{display:block;font-size:.92rem;color:var(--muted);line-height:1.4}
.row__go{color:var(--accent2);margin-right:8px}
@media (max-width:520px){.row{grid-template-columns:72px 1fr}.row__img{width:72px;height:60px}.row__go{display:none}}

/* Galerie + visionneuse (CSS seul, :target) */
.gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:28px 20px}
.gl__i{margin:0}
.gl__i a{display:block;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.gl__i img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease}
.gl__i a:hover img{transform:scale(1.02)}
.gl__i figcaption{font-size:.92rem;color:var(--muted);padding:8px 2px 0}
.lb{position:fixed;inset:0;z-index:100;display:none;place-items:center;background:rgba(12,16,20,.93);padding:56px 64px}
.lb:target{display:grid}
.lb__bg{position:absolute;inset:0}
.lb figure{position:relative;margin:0;max-width:100%;text-align:center;color:#fff}
.lb figure img{max-height:80vh;width:auto;margin:0 auto;border-radius:4px}
.lb figcaption{margin-top:12px;color:rgba(255,255,255,.85)}
.lb__nav,.lb__close{position:absolute;color:#fff;text-decoration:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);font-size:2rem;line-height:1}
.lb__nav:hover,.lb__close:hover{background:rgba(255,255,255,.24)}
.lb__prev{left:10px;top:50%;transform:translateY(-50%)}
.lb__next{right:10px;top:50%;transform:translateY(-50%)}
.lb__close{top:12px;right:12px}
@media (max-width:600px){.lb{padding:64px 10px}.lb__prev,.lb__next{top:auto;bottom:12px;transform:none}}

/* Garanties */
.engs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.eng:last-child:nth-child(odd){grid-column:1/-1}
@media (max-width:760px){.engs{grid-template-columns:minmax(0,1fr)}}
.eng{display:grid;grid-template-columns:auto 1fr;gap:18px;background:#fff;border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.eng svg{color:var(--accent2)}
.eng h3{margin-bottom:8px}
.eng p{margin:0;color:var(--muted)}
.note{display:flex;gap:10px;align-items:center;margin:28px 0 0;color:var(--muted)}
.tips{list-style:none;counter-reset:t;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:36px 48px}
.tips li{counter-increment:t;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto 1fr;column-gap:16px;align-content:start}
.tips li::before{content:counter(t);grid-row:span 2;width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;font-weight:750;font-stretch:115%;color:var(--accent)}
.tips h3{margin:8px 0}
.tips p{margin:0;color:var(--muted)}

/* Devis guidé */
.sec--form{background:var(--soft)}
.devis{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:900px){.devis{grid-template-columns:minmax(0,1fr)}}
.qf{background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:clamp(22px,3.5vw,40px)}
.qf--plain{box-shadow:var(--shadow)}
.prog{display:none;list-style:none;margin:0 0 32px;padding:0;counter-reset:s;grid-template-columns:repeat(4,1fr);gap:8px}
.qf.is-js .prog{display:grid}
.prog li{counter-increment:s;font-size:.88rem;color:var(--muted);padding-top:12px;border-top:4px solid var(--soft);font-weight:550}
.prog li::before{content:counter(s) ". "}
.prog li.is-done{border-top-color:color-mix(in srgb,var(--accent2) 45%,#fff)}
.prog li.is-cur{border-top-color:var(--accent2);color:var(--ink);font-weight:700}
.step{border:0;margin:0 0 36px;padding:0;min-width:0}
.qf.is-js .step{margin:0;animation:stepin .28s ease both}
.step[hidden]{display:none}
@keyframes stepin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.step legend{font-size:clamp(1.4rem,1.2vw + 1rem,1.9rem);font-weight:720;font-stretch:112%;line-height:1.15;margin-bottom:22px;padding:0;outline:none}
.step__help{color:var(--muted);margin:-8px 0 18px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:12px}
.opts--col{grid-template-columns:minmax(0,1fr)}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;inset:0;margin:0;pointer-events:none}
.opt__box{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}
.opt__box svg{color:var(--accent);margin-bottom:4px}
.opt__box strong{font-stretch:106%;line-height:1.25}
.opt__box small{font-size:.88rem;color:var(--muted);line-height:1.35}
.opt:hover .opt__box{border-color:color-mix(in srgb,var(--accent2) 55%,#fff)}
.opt input:checked+.opt__box{border-color:var(--accent2);background:var(--tint);box-shadow:0 0 0 1.5px var(--accent2)}
.opt input:checked+.opt__box svg{color:var(--accent2)}
.opt input:focus-visible+.opt__box{outline:3px solid var(--accent2);outline-offset:2px}
.opt--row .opt__box{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}
.opt--row .opt__box svg{grid-row:span 2;margin:0}
.step__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.qf:not(.is-js) .js-next,.qf:not(.is-js) .js-prev,.qf:not(.is-js) .step__nav>span{display:none}
.fld{display:grid;gap:6px;font-weight:600;font-size:.95rem;margin-top:16px}
.fld input,.fld textarea,.fld select,.slots input{font:inherit;font-weight:400;font-size:1rem;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent2) 22%,transparent)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:560px){.grid2{grid-template-columns:minmax(0,1fr)}}
.picker{display:none}
.qf.has-dt .picker{display:block}
.qf.has-dt .slots{display:none}
.slots{display:grid;gap:10px}
.slots label{display:grid;gap:4px;font-size:.92rem;font-weight:600}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:30px 20px;border:2px dashed color-mix(in srgb,var(--accent) 35%,#fff);border-radius:8px;background:var(--cream);cursor:pointer}
.drop:hover,.drop:focus-within{border-color:var(--accent2);background:var(--tint)}
.drop svg{color:var(--accent2);margin-bottom:6px}
.drop small{color:var(--muted)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop.is-full{display:none}
.thumbs{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.thumbs:empty{display:none}
.thumbs li{position:relative}
.thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
.thumbs button{position:absolute;right:6px;bottom:6px;font:inherit;font-size:.8rem;padding:4px 8px;border:0;border-radius:4px;background:rgba(22,33,42,.82);color:#fff;cursor:pointer}
.recap{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 8px}
.recap:empty{display:none}
.recap span{background:var(--soft);border-radius:4px;padding:5px 10px;font-size:.88rem;font-weight:550}
.qf__err{color:#a3261b;font-weight:600;margin:16px 0 0}
.devis__side{position:sticky;top:64px}
.assure{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:20px}
.assure li{display:grid;grid-template-columns:auto 1fr;gap:14px}
.assure svg{color:var(--accent2);margin-top:2px}
.assure strong{display:block;font-stretch:106%}
.assure span{color:var(--muted);font-size:.95rem}
.devis__alt{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}
.devis__alt a{font-weight:700}
.devis__alt small{color:var(--muted);flex-basis:100%}
.demo-note{font-size:.88rem;color:var(--muted);background:#fff;border-left:3px solid var(--gold);padding:12px 14px;border-radius:0 var(--r) var(--r) 0}

/* Offre */
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(36px,5vw,72px);align-items:start}
@media (max-width:900px){.offer{grid-template-columns:minmax(0,1fr)}}
.price{background:#fff;border-radius:8px;box-shadow:var(--shadow);border-top:5px solid var(--accent2);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.price__from{margin:0;font-weight:600;color:var(--muted)}
.price__big{margin:0;font-size:clamp(3rem,5vw + 1rem,4.6rem);font-weight:800;font-stretch:118%;line-height:1;letter-spacing:-.02em}
.price__then{margin:12px 0 0;font-size:1.06rem}
.price__fine{margin:12px 0 22px;font-size:.9rem;color:var(--muted)}
.price .btn{width:100%;margin-top:8px}
.offer h2{margin-bottom:24px}
.incl{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.incl li{display:grid;grid-template-columns:auto 1fr;gap:14px}
.incl svg{color:var(--accent2);margin-top:3px}
.incl strong{display:block;font-stretch:106%}
.incl span{color:var(--muted)}
.honest{max-width:760px;border-left:4px solid var(--gold);padding:4px 0 4px 24px;margin-bottom:48px}
.honest h2{margin-bottom:14px}
.cmp{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.cmp__row{display:grid;grid-template-columns:minmax(90px,.7fr) 1fr 1.2fr;border-top:1px solid var(--line)}
.cmp__row:first-child{border-top:0}
.cmp__row>span{padding:14px 16px;font-size:.95rem}
.cmp__row>span:first-child{font-weight:650}
.cmp__row>span:last-child{background:var(--tint)}
.cmp__row--h>span{font-weight:700;font-stretch:110%}
@media (max-width:560px){.cmp__row>span{padding:12px 10px;font-size:.86rem}}
.callback{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.callback h2{margin-bottom:16px}
.callback__direct a{font-weight:650}
@media (max-width:860px){.callback{grid-template-columns:minmax(0,1fr)}}

/* Pied de page */
.ft{background:var(--ink);color:rgba(255,255,255,.78);font-size:.95rem;padding-top:64px}
.ft a{color:#fff;text-decoration:none}
.ft a:hover{text-decoration:underline}
.ft__grid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:40px;padding-bottom:48px}
.ft__grid p{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.ft__grid svg{flex:none;margin-top:3px;color:var(--gold)}
.ft__name{font-size:1.25rem;font-weight:720;font-stretch:112%;color:#fff;margin-bottom:16px!important}
.ft__h{font-weight:700;color:#fff;margin-bottom:14px!important}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft__towns{grid-template-columns:1fr 1fr;column-gap:16px}
.ft__links{flex-wrap:wrap;gap:16px!important;margin-top:18px!important}
.ft__links a{text-decoration:underline;text-underline-offset:3px}
.ft__small{font-size:.86rem}
.ft__bottom{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:28px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem}
@media (max-width:860px){.ft__grid{grid-template-columns:minmax(0,1fr)}.ft__towns{grid-template-columns:1fr 1fr}}

/* Barre d'appel mobile */
.mbar{display:none}
@media (max-width:860px){
  body.pm{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .mbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(22,33,42,.3)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:var(--r);font-weight:700;text-decoration:none}
  .mbar__call{background:var(--accent);color:#fff}
  .mbar__quote{background:var(--accent2);color:#fff}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
