*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--fond);
  color:var(--encre);
  font:400 1.0625rem/1.65 var(--texte);
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%}
picture{display:contents}
[hidden]{display:none!important}
img{height:auto}
a{color:var(--accent-clair);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--titre);font-weight:700;margin:0;text-wrap:balance;line-height:1.06}
p{margin:0;text-wrap:pretty}
ul,ol,dl{margin:0;padding:0;list-style:none}
section{scroll-margin-top:120px}
h2[id],h3[id]{scroll-margin-top:120px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--accent-clair);
  outline-offset:3px;
  border-radius:2px;
}
.contenu{max-width:var(--large);margin-inline:auto;padding-inline:var(--gouttiere)}
.saut{position:absolute;left:-9999px;top:0}
.saut:focus{left:1rem;top:1rem;z-index:999;background:var(--accent);color:var(--accent-texte);padding:.7rem 1rem;border-radius:var(--r);text-decoration:none}
#contenu{scroll-margin-top:var(--entete-h,150px)}
#contenu:focus{outline:none}
.visuellement-masque{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.a-confirmer{
  display:inline-block;padding:0 .35em;border-radius:var(--r);
  background:var(--lueur);color:var(--or);
  font-family:var(--texte);font-weight:600;font-size:.9em;font-style:normal;
  border:1px dashed var(--or-trait);white-space:nowrap;
}
:root{
  --te-0:1.0625rem;
  --te-1:clamp(1.25rem,1.1913rem + .2504vw,1.4167rem);
  --te-2:clamp(1.5rem,1.3631rem + .5843vw,1.8889rem);
  --te-3:clamp(1.75rem,1.4794rem + 1.1546vw,2.5185rem);
  --te-4:clamp(2rem,1.5218rem + 2.0402vw,3.358rem);
}
h1{font-size:var(--te-4);letter-spacing:-.03em;line-height:1.02}
h2{font-size:var(--te-3);letter-spacing:-.02em;line-height:1.1}
h3{font-size:var(--te-1);letter-spacing:-.012em;line-height:1.25}
.insecable{white-space:nowrap}
.lead{font-size:clamp(1.02rem,1.35vw,1.18rem);color:var(--encre-douce);max-width:64ch;line-height:1.6}
.prose{max-width:68ch}
.prose p,.prose li,.lead p{max-width:66ch}
.prose p + p{margin-top:1.05rem}
.prose h2,.prose h3{margin-top:2rem;margin-bottom:.75rem}
.prose ul,.prose ol{padding-left:1.25rem;margin:.75rem 0}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li + li{margin-top:.35rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--titre);font-weight:700;font-size:1.0625rem;letter-spacing:.005em;
  padding:.95rem 1.55rem;border-radius:var(--r);border:1px solid transparent;
  text-decoration:none;cursor:pointer;
  text-align:center;
  transition:border-color 160ms var(--sortie),color 160ms var(--sortie),box-shadow 160ms var(--sortie);
}
a.btn--plein,.btn--plein{background:var(--accent);color:var(--accent-texte);font-weight:700}
.btn:active,.avis-carte__lien:active{filter:brightness(.88)}
.btn--vide{position:relative;isolation:isolate;background:transparent;color:var(--encre);border-color:var(--or-bord)}
.btn--vide::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--or-profond);transform:scaleX(0);transform-origin:left;
  transition:transform 300ms var(--sortie);pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .btn--plein:hover,.pied a.btn--plein:hover{box-shadow:0 0 0 4px var(--lueur);color:var(--accent-texte)}
  .btn--vide:hover,.pied a.btn--vide:hover{border-color:var(--or-profond);color:var(--fond-creux)}
  .btn--vide:hover::before{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){
  .btn,.btn::before{animation:none;transition:none}
}
.btn--fin{padding:.7rem 1.1rem;font-size:.95rem}
.btn--large{font-size:1.12rem;padding:1.1rem 2rem}
@media (max-width:374px){.btn--large{padding-inline:1rem}}
.btn svg{width:1.05em;height:1.05em;flex:none}
.champ{ position:relative; margin-bottom:14px }
.champ__etiquette,.champ__intitule{
  display:block; margin-bottom:6px;
  font-family:var(--titre); font-weight:600; font-size:var(--t14); letter-spacing:.02em;
  color:var(--encre);
}
.champ__saisie{
  display:block; width:100%; min-height:48px; padding:12px 14px;
  border:1px solid var(--bord-ui); border-radius:var(--r);
  background-color:var(--fond-creux); color:var(--encre);
  font-family:var(--texte); font-size:var(--t17); line-height:1.4;
  -webkit-appearance:none; appearance:none;
  transition:border-color var(--duree-survol) var(--courbe);
}
.champ__saisie--grande{ min-height:56px; font-size:var(--t19) }
.champ__saisie::placeholder{ color:var(--encre-douce); opacity:.8 }
.champ__saisie:focus{ border-color:var(--accent-clair); outline:none }
.champ__saisie:focus-visible{ outline:2px solid var(--accent-clair); outline-offset:3px }
.champ__zone{ min-height:132px; resize:vertical }
select.champ__saisie{ padding-right:2.5rem }
.champ__aide{ margin-top:6px; font-size:var(--t14); color:var(--encre-douce); line-height:1.5 }
.champ__erreur{ display:none; margin-top:6px; font-size:var(--t14); color:var(--erreur); line-height:1.5 }
.champ__saisie:user-invalid{ border-color:var(--erreur); background-color:var(--erreur-fond) }
.champ__saisie:user-invalid ~ .champ__erreur{ display:block }
.champ__erreur.est-visible{ display:block }
.consentement{ display:flex; gap:12px; align-items:flex-start; margin-top:18px;
               font-size:var(--t14); line-height:1.5; color:var(--encre-douce) }
.consentement__mot{ flex:1 1 auto }
.consentement a{ color:var(--accent-clair); text-decoration:underline; text-underline-offset:2px }
.champ__case{
  flex:0 0 auto; width:22px; height:22px; margin:1px 0 0;
  border:1px solid var(--bord-ui); border-radius:var(--r);
  background-color:var(--fond-creux); -webkit-appearance:none; appearance:none;
  position:relative; cursor:pointer;
}
.champ__case:focus-visible{ outline:2px solid var(--accent-clair); outline-offset:2px }
.champ__case:checked{ border-color:var(--accent); background-color:var(--accent) }
.champ__case:checked::after{
  content:""; position:absolute; left:7px; top:3px; width:5px; height:10px;
  border:solid var(--accent-texte); border-width:0 2px 2px 0; transform:rotate(45deg);
}
.pilule{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  min-height:48px; padding:.85rem 1.6rem;
  border:1px solid transparent; border-radius:var(--r);
  background-color:var(--accent); color:var(--accent-texte);
  font-family:var(--titre); font-weight:700; font-size:var(--t17); letter-spacing:.005em;
  text-decoration:none; cursor:pointer;
  transition:filter var(--duree-survol) var(--courbe), background-color var(--duree-survol) var(--courbe);
}
.pilule:hover{ filter:brightness(1.08) }
.pilule:active{ filter:brightness(.88) }
.pilule:focus-visible{ outline:2px solid var(--accent-clair); outline-offset:3px }
.pilule[aria-disabled="true"],.pilule:disabled{ opacity:.42; pointer-events:none }
.pilule--encre{ background-color:var(--surface-haute); color:var(--encre); border-color:var(--bord-ui) }
.pilule--encre:hover{ border-color:var(--accent-clair) }
.actions{ display:flex; justify-content:center; align-items:center; gap:18px; flex-wrap:wrap }
.encart{
  padding:14px 16px; border-radius:var(--r);
  background-color:var(--accent-sourd); border:1px solid var(--accent-trait);
  color:var(--encre); font-size:var(--t14); line-height:1.5;
}
.encart a{ color:var(--accent-clair); text-decoration:underline; text-underline-offset:2px }
.bandeau{
  margin:0;
  background:var(--fond-creux);border-bottom:1px solid var(--trait);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--encre-douce);font-weight:600;
  padding:.55rem var(--gouttiere);text-align:center;
}
:root{--barre:70px;--filet-h1:72px;--barre-marge:.6rem;--entete-h:calc(var(--barre) + 8px)}
html.entete-logotype{--barre:114px;--filet-h1:88px;--barre-marge:.81rem}
@media (max-width:980px){
  :root{--barre:60px;--entete-h:120px}
  html.entete-logotype{--barre:78px;--barre-marge:.5rem;--entete-h:166px}
}
.entete__theme{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  min-height:44px;min-width:44px;padding:0;margin:0;
  border:1px solid var(--trait-fort);border-radius:var(--r);background:transparent;
  color:var(--encre);cursor:pointer;
  transition:border-color var(--duree-survol) var(--courbe);
}
.entete__theme[hidden]{display:none}
.entete__theme:hover{border-color:var(--or-bord)}
.entete__theme:focus-visible{outline:2px solid var(--accent-clair);outline-offset:2px}
.entete__theme-picto{width:20px;height:20px;flex:none}
.entete__theme[aria-pressed="true"] .entete__theme-picto{transform:scaleX(-1)}
.entete__theme--menu{
  width:100%;min-height:48px;justify-content:flex-start;gap:.6rem;
  border:0;border-radius:0;font-family:var(--titre);font-weight:600;font-size:1.02rem;
}
.entete__theme--menu:focus-visible{outline-offset:-2px}
@media (max-width:768px){.entete__in > .entete__theme{display:none!important}}
@media (min-width:769px){.menu-entete__theme{display:none}}
.entete{
  position:sticky;top:0;z-index:var(--z-entete);
  background:var(--fond-creux);
  background-image:radial-gradient(38% 150% at 0% 52%,var(--lueur),transparent 68%);
  border-bottom:1px solid var(--trait);
}
@media (min-width:769px){
  :where(a[href],button,input,select,textarea,summary,[tabindex],use){scroll-margin-top:calc(var(--entete-h,107px) + 12px)}
}
.entete__in{display:flex;align-items:center;gap:1.5rem;min-height:70px;padding-block:var(--barre-marge)}
.entete .btn{white-space:nowrap}
.marque{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--encre);margin-right:auto;min-width:0}
.marque__logo{height:36px;width:auto;flex:none}
.marque__logo--horizontal{height:88px}
.marque__bloc{display:flex;flex-direction:column;min-width:0}
.marque__mot{font-family:var(--titre);font-weight:700;font-size:1.3rem;letter-spacing:.02em;white-space:nowrap}
.marque__mot b{color:var(--accent-clair);font-weight:700}
.marque__sous{font-size:.72rem;color:var(--encre-douce);letter-spacing:.09em;text-transform:uppercase}
.nav{display:flex;gap:1.6rem}
.nav a{color:var(--encre-douce);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .14s ease-out}
.nav a:hover,.nav a[aria-current="page"]{color:var(--or-etat)}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.45em;text-decoration-color:var(--accent-clair);text-decoration-thickness:2px}
.nav a.btn--plein,.nav a.btn--plein:hover{color:var(--accent-texte)}
.entete__tel{color:var(--encre);text-decoration:none;font-family:var(--titre);font-weight:600;font-size:1.02rem;white-space:nowrap}
.entete__tel:hover{color:var(--or)}
@media (max-width:980px){
  .entete__in{flex-wrap:wrap;row-gap:0;min-height:0;padding-block:.5rem}
  .nav{
    order:3;flex-basis:100%;
    gap:1.15rem;padding-top:0;margin-top:.2rem;
    border-top:1px solid var(--trait);
    overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav a{
    font-size:.88rem;white-space:nowrap;padding-block:0;
    display:inline-flex;align-items:center;min-height:44px;
  }
  .marque__sous{display:none}
}
@media (max-width:560px){
  html.entete-logotype{--entete-h:148px}
  .entete__tel{
    display:inline-flex;align-items:center;min-height:44px;
    font-size:.94rem;letter-spacing:-.01em;
  }
  .entete__in{gap:.5rem;min-height:60px}
  .entete .btn--fin{padding:.62rem .9rem;font-size:.92rem}
  .long{display:none}
  .court{text-transform:capitalize}
  .marque__mot{font-size:1.15rem}
  .marque__logo{height:30px}
  .marque__logo--horizontal{height:76.75px}
  html.entete-logotype .entete__in{padding-block:.3rem}
}
.shot{
  margin:0;position:relative;overflow:hidden;
  background:var(--fond-creux);border:1px solid var(--trait);border-radius:var(--r);
}
.shot img{width:100%;height:100%;object-fit:cover}
.shot__tag{
  position:absolute;left:0;right:0;bottom:0;
  background:var(--fond-creux);
  border-top:1px solid var(--accent-trait);
  padding:.45rem .7rem .5rem;
  font-size:.72rem;line-height:1.45;
  color:var(--encre-douce);
}
.heros{
  position:relative;overflow:hidden;
  background:var(--fond-creux);
  border-bottom:1px solid var(--trait);
  padding-block:clamp(2.5rem,6vw,4.5rem) 0;
}
.heros::before{
  content:"";position:absolute;inset:auto -10% 12% 38%;height:70%;
  background:radial-gradient(58% 60% at 50% 50%,var(--accent-sourd),transparent 70%);
  pointer-events:none;z-index:0;
}
.heros__filigrane{
  position:absolute;top:clamp(.5rem,3vw,2.5rem);left:50%;transform:translateX(-50%);
  margin:0;z-index:0;pointer-events:none;user-select:none;white-space:nowrap;
  font-family:var(--titre);font-weight:700;font-size:clamp(5rem,19vw,17rem);line-height:.8;
  letter-spacing:.02em;color:var(--encre);opacity:.045;
}
.heros .contenu{position:relative;z-index:1}
.heros__grille{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.heros__lieu{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--titre);font-weight:600;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--accent-clair);margin-bottom:1.4rem;
}
.heros__lieu::before{content:"";width:26px;height:1px;background:var(--accent-clair);flex:none}
.heros h1{
  margin-bottom:1.35rem;
  text-transform:uppercase;letter-spacing:-.025em;text-wrap:balance;line-height:.98;
}
.heros__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
:root{--fil-h:clamp(2.5rem,6vw,4.5rem)}
.heros--pli{
  display:flex;flex-direction:column;justify-content:flex-start;
  min-height:calc(100vh - var(--entete-h) - var(--fil-h));
  min-height:calc(100svh - var(--entete-h) - var(--fil-h));
}
.heros--pli > .contenu{width:100%}
main > .heros--pli:first-child{
  min-height:calc(100vh - var(--entete-h));
  min-height:calc(100svh - var(--entete-h));
}
@media (max-width:734px){
  .heros--devis.heros--pli,
  main > .heros--devis.heros--pli{min-height:0}
  .heros--devis.heros--pli{padding-block:.75rem .25rem}
  .heros--devis.heros--nu > .contenu > :last-child{margin-bottom:.5rem}
  .heros--devis .heros__actions{gap:.5rem 1.25rem}
  .heros--devis .lead{margin-bottom:.5rem}
}
.heros--nu > .contenu > :last-child{margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.heros--nu::after{
  content:"";position:absolute;bottom:0;z-index:var(--z-texte);pointer-events:none;
  left:calc((100% - min(100%, var(--large))) / 2 + var(--gouttiere));
  width:1px;height:clamp(2.5rem,9vh,5rem);
  background:linear-gradient(to bottom,transparent,var(--or));
}
.heros--devis-court.heros--pli,
main > .heros--devis-court.heros--pli{min-height:0;padding-block-end:.5rem}
.heros--devis-court.heros--nu > .contenu > :last-child{margin-bottom:.75rem}
.heros--devis-court .heros__actions{margin-top:.75rem}
.heros--devis-court .heros__actions .btn{display:none}
.heros--devis-court .heros__actions .btn--whatsapp{display:inline-flex;width:auto}
.heros--devis-court.heros--nu::after{display:none}
.heros--pli h1{max-width:22ch}
.heros .heros__actions{align-items:center;gap:1rem 1.5rem}
.heros__tel{
  font-family:var(--titre);font-weight:700;font-size:1.05rem;letter-spacing:.01em;
  color:var(--encre);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em;
  text-decoration-color:var(--bord-ui);
  display:inline-flex;align-items:center;min-height:44px;padding-block:.55rem;
  transition:color var(--duree-survol) var(--sortie),text-decoration-color var(--duree-survol) var(--sortie);
}
.heros__tel:hover{color:var(--accent-clair);text-decoration-color:var(--accent-clair)}
.sect__intro{margin-bottom:clamp(2rem,4vw,3rem)}
.prose + .sect__tete,.appel + .sect__tete{margin-top:clamp(3rem,6vw,4.5rem)}
.sect > .contenu > .autres:first-child{margin-top:0}
.heros__media{aspect-ratio:16/11;min-height:280px}
.heros__mecanique{margin:0;position:relative}
.heros__mecanique img{
  display:block;width:calc(100% + 6vw);max-width:none;height:auto;
  margin-inline:-1vw -5vw;
}
@media (max-width:900px){
  .heros__mecanique img{width:100%;margin-inline:0}
  .heros__filigrane{font-size:clamp(3.4rem,22vw,7rem)}
}
.faits{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  border-top:1px solid var(--trait);margin-top:clamp(2.5rem,5vw,4rem);
}
.faits > div{padding:1.4rem 1.5rem 1.5rem 0;border-right:1px solid var(--trait)}
.faits > div:last-child{border-right:0}
.faits dt{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--encre-douce);margin-bottom:.4rem;font-weight:600}
.faits dd{margin:0;font-family:var(--titre);font-weight:600;font-size:1.02rem;line-height:1.35}
.faits a{color:inherit;text-decoration:none}
.faits a:hover{color:var(--accent-clair)}
@media (max-width:980px){
  .heros__grille{grid-template-columns:1fr}
  .heros__media{order:-1;aspect-ratio:16/10;min-height:0}
  .faits > div{border-right:0;border-bottom:1px solid var(--trait);padding-right:0}
  .faits > div:last-child{border-bottom:0}
}
.sect{padding-block:var(--section);border-bottom:1px solid var(--trait)}
.sect--creuse{background:var(--fond-creux)}
.sect__tete{max-width:64ch;margin-bottom:clamp(2.25rem,4vw,3.5rem)}
.sect__tete .lead{margin-top:1.1rem}
.surtitre{
  font-family:var(--titre);font-weight:600;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--accent-clair);margin-bottom:.9rem;display:block;
}
.garanties{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.25rem}
.gar{
  background:var(--surface);border:1px solid var(--trait);border-radius:var(--r-l);
  padding:1.5rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;
}
.gar__cle{
  font-family:var(--titre);font-weight:700;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.05;
  color:var(--accent-clair);letter-spacing:-.015em;
}
.gar__cle small{font-size:.5em;letter-spacing:.02em;margin-left:.15em}
.gar p{font-size:.95rem;color:var(--encre-douce)}
.gar__note{
  margin-top:auto;padding-top:.9rem;border-top:1px dashed var(--trait);
  font-size:.8rem;line-height:1.5;color:var(--encre-douce);
}
.coches{border-top:1px solid var(--trait);margin-top:1.75rem}
.coches li{
  display:grid;grid-template-columns:auto 1fr;gap:0 .9rem;
  padding:1.05rem 0;border-bottom:1px solid var(--trait);
  font-size:.98rem;color:var(--encre-douce);line-height:1.6;
}
.coches li strong{color:var(--encre);font-weight:600}
.coches svg{width:19px;height:19px;color:var(--accent-clair);margin-top:.22rem;flex:none}
.note{background:var(--surface);border:1px solid var(--trait);border-radius:var(--r-l);padding:clamp(1.35rem,2.5vw,2rem)}
.note__titre{font-family:var(--titre);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-clair);margin-bottom:.35rem}
.note__objet{font-family:var(--titre);font-weight:700;font-size:1.13rem;margin-bottom:1.35rem;line-height:1.3}
.lignes li{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;padding:.68rem 0;border-bottom:1px dashed var(--trait)}
.lignes span:first-child{color:var(--encre-douce);font-size:.97rem}
.lignes span:last-child{font-family:var(--titre);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.15rem;padding-top:1.15rem;border-top:1px solid var(--trait-fort)}
.total dt{font-family:var(--titre);font-weight:700;font-size:1.05rem}
.total dd{margin:0;font-family:var(--titre);font-weight:700;font-size:1.6rem;color:var(--accent-clair);font-variant-numeric:tabular-nums}
.note__pied{margin-top:1rem;font-size:.85rem;line-height:1.55;color:var(--encre-douce)}
.devis__grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (max-width:900px){.devis__grille{grid-template-columns:1fr}}
.alt{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding-block:clamp(2.5rem,5vw,4rem);
}
.alt__media{aspect-ratio:4/3}
.alt--inverse .alt__media{order:2}
.alt h3{margin-bottom:1rem}
.alt p{color:var(--encre-douce)}
.alt p + p{margin-top:.9rem}
.alt--filet{border-top:1px solid var(--trait)}
@media (max-width:900px){
  .alt{grid-template-columns:1fr;gap:1.75rem}
  .alt--inverse .alt__media{order:0}
}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}
.carte{
  background:var(--surface);border:1px solid var(--trait);border-radius:var(--r-l);
  overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .16s var(--sortie),background-color .16s var(--sortie);
}
.carte:hover{border-color:var(--trait-fort);background:var(--surface-haute)}
.carte .shot{border:0;border-radius:0;border-bottom:1px solid var(--trait);aspect-ratio:4/3}
.carte__corps{padding:1.2rem 1.25rem 1.4rem;display:flex;flex-direction:column;gap:.55rem}
.carte p{font-size:.94rem;color:var(--encre-douce)}
.carte__picto{width:34px;height:34px;color:var(--accent-clair);margin-bottom:.35rem}
.autres{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:0 2rem;margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--trait)}
.autres > div{padding:1.35rem 0;border-bottom:1px solid var(--trait)}
.autres dt{font-family:var(--titre);font-weight:700;font-size:1.05rem;margin-bottom:.3rem}
.autres dd{margin:0;color:var(--encre-douce);font-size:.94rem;line-height:1.6}
.autres + .prose{margin-top:clamp(1.5rem,3vw,2.25rem)}
.hors{
  margin-top:clamp(1.75rem,3vw,2.5rem);
  display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;
  background:var(--surface);border:1px solid var(--trait);border-radius:var(--r);
  padding:1.25rem 1.35rem;max-width:82ch;
}
.hors svg{width:22px;height:22px;color:var(--accent-clair);margin-top:.15rem;flex:none}
.hors p{font-size:.97rem;color:var(--encre-douce);line-height:1.6}
.hors strong{color:var(--encre);font-weight:600}
.deroule__grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.temps{counter-reset:t;border-top:1px solid var(--trait)}
.temps li{
  counter-increment:t;display:grid;grid-template-columns:auto 1fr;gap:0 1.25rem;
  padding:1.6rem 0;border-bottom:1px solid var(--trait);
}
.temps li::before{
  content:counter(t,decimal-leading-zero);
  font-family:var(--titre);font-weight:700;font-size:1.05rem;color:var(--accent-clair);
  grid-row:span 2;padding-top:.15rem;
}
.temps h3{margin-bottom:.45rem}
.temps p{color:var(--encre-douce);font-size:1rem}
.deroule__media{aspect-ratio:4/5;position:relative}
@media (min-width:901px){
  .deroule__media{position:sticky;top:calc(var(--barre) + 30px)}
}
@media (max-width:900px){
  .deroule__grille{grid-template-columns:1fr}
  .deroule__media{aspect-ratio:4/3;order:-1}
}
.qr{border-top:1px solid var(--trait);max-width:78ch}
.qr > div{padding:1.4rem 0;border-bottom:1px solid var(--trait)}
.qr dt{font-family:var(--titre);font-weight:700;font-size:1.1rem;margin-bottom:.5rem;line-height:1.3}
.qr dd{margin:0;color:var(--encre-douce);line-height:1.65}
.rdv{background:var(--fond-creux)}
.rdv__grille{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(1.75rem,3.5vw,3rem);align-items:start}
@media (max-width:900px){.rdv__grille{grid-template-columns:1fr}}
.appel{
  background:var(--surface);border:1px solid var(--accent-trait);border-radius:var(--r-l);
  padding:clamp(1.5rem,3.5vw,2.5rem);
}
.appel h3{margin-bottom:.9rem}
.appel > h2{margin-bottom:.9rem}
.appel > p{color:var(--encre-douce)}
.appel__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}
.agree{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.1rem,3vw,2.25rem)}
.agree__lien,.agree-bande__lien{display:block;flex:none}
.agree__logo{display:block;width:64px;height:64px}
.agree__dire{flex:1 1 30ch;min-width:0;max-width:62ch}
.agree__dire > p + p{margin-top:.85rem}
.agree__dire > p{color:var(--encre-douce)}
.agree__dire > h2{margin-bottom:.75rem}
.agree__dire > .agree__actions{margin-top:1.5rem}
.agree-bande{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.7rem 1.35rem;
  padding:1.15rem var(--gouttiere);
  background:var(--fond-creux);
  border-block:1px solid var(--trait);
  text-align:center;
}
.agree-bande__logo{display:block;width:40px;height:40px}
.agree-bande p{margin:0;color:var(--encre-douce);font-size:.95rem}
@media (max-width:734px){
  .heros__actions,.appel__actions{align-items:stretch}
  .heros__actions .btn,.appel__actions .btn{width:100%;justify-content:center}
}
.attendu{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 2rem;
  margin-top:1.75rem;border-top:1px solid var(--trait);
}
.attendu > div{padding:1.1rem 0;border-bottom:1px solid var(--trait)}
.attendu dt{font-family:var(--titre);font-weight:700;font-size:.98rem;margin-bottom:.25rem}
.attendu dd{margin:0;font-size:.9rem;color:var(--encre-douce);line-height:1.55}
.promesse{
  margin-top:1.75rem;background:var(--fond-creux);border:1px solid var(--accent-trait);border-radius:var(--r);
  padding:1.1rem 1.2rem;font-size:.97rem;line-height:1.6;color:var(--encre);max-width:70ch;
}
.promesse strong{font-weight:600}
.lpd{margin-top:1.4rem;font-size:.85rem;line-height:1.65;color:var(--encre-douce);max-width:74ch}
.aside{display:grid;gap:1.25rem}
.aside__bloc{background:var(--surface);border:1px solid var(--trait);border-radius:var(--r-l);padding:1.35rem 1.4rem}
.aside__bloc h3{margin-bottom:.5rem}
.aside__bloc p{font-size:.94rem;color:var(--encre-douce);line-height:1.65}
.aside__tel{
  display:inline-block;margin-top:.8rem;
  font-family:var(--titre);font-weight:700;font-size:1.35rem;
  color:var(--encre);text-decoration:none;letter-spacing:.01em;
}
.aside__tel:hover{color:var(--accent-clair)}
.aside__photo{aspect-ratio:4/3}
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:1.25rem}
.chiffre{
  background:var(--surface);border:1px solid var(--trait);border-radius:var(--r-l);
  padding:1.4rem 1.35rem 1.5rem;
}
.chiffre__cle{
  display:block;
  font-family:var(--titre);font-weight:700;
  font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1.04;letter-spacing:-.02em;
  color:var(--accent-clair);font-variant-numeric:tabular-nums;
}
.chiffre__cle small{font-size:.44em;letter-spacing:.03em;margin-left:.2em;font-weight:600}
.chiffre dd{margin:.6rem 0 0;font-size:.94rem;line-height:1.55;color:var(--encre-douce)}
.liaison{
  margin:clamp(2.1rem,4vw,2.9rem) 0 clamp(1.5rem,3vw,2rem);
  max-width:64ch;
  padding-left:1.15rem;border-left:2px solid var(--accent-trait);
  font-size:clamp(1.02rem,1.35vw,1.15rem);line-height:1.6;color:var(--encre);
}
.liaison strong{font-weight:600}
.pied{position:relative;background:var(--fond);padding-block:clamp(3rem,6vw,4.5rem) 0}
.pied::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--or-filet)}
.pied__marque{margin-bottom:clamp(1.75rem,3.5vw,2.75rem)}
.pied__logo{width:176px;height:auto}
.pied__logo--vertical-A{width:132px}
@media (max-width:560px){.pied__logo{width:148px}.pied__logo--vertical-A{width:112px}}
.pied__grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:clamp(1.75rem,4vw,3rem)}
.pied .pied__col{font-family:var(--titre);font-weight:600;font-size:.78rem;line-height:1.12;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-douce);margin-bottom:1rem}
.pied li{margin-bottom:.5rem;font-size:.94rem;color:var(--encre-douce)}
.pied a{color:var(--encre-douce);text-decoration:none;transition:color .14s ease-out}
.pied a.btn--plein,.nav a.btn--plein{color:var(--accent-texte)}
.pied a:not(.btn):hover{color:var(--or)}
.pied a.btn--vide{color:var(--encre)}
.pied .btn{white-space:nowrap}
@media (min-width:901px) and (max-width:960px){.pied .btn{padding-inline:.8rem}}
.pied__ident{font-size:.94rem;color:var(--encre-douce);line-height:1.75;font-style:normal}
.pied__ident strong{display:block;font-family:var(--titre);font-size:1.25rem;color:var(--encre);margin-bottom:.6rem;letter-spacing:.01em;font-weight:700}
.pied__tel{font-family:var(--titre);font-weight:700;font-size:1.3rem;color:var(--encre)!important;display:inline-block;margin-bottom:.5rem}
.pied__tel:hover{color:var(--or)!important}
.pied__horaires{margin-top:.85rem;line-height:1.6}
.horaires li{display:flex;flex-wrap:wrap;gap:.25rem .75rem;justify-content:space-between;padding:.35rem 0;border-bottom:1px dashed var(--trait)}
.horaires li:last-child{border-bottom:0}
.horaires span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.pied__bas{margin-top:clamp(2.5rem,5vw,3.5rem);border-top:1px solid var(--trait);padding-block:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem 2rem;font-size:.83rem;color:var(--encre-douce)}
@media (max-width:900px){.pied__grille{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pied__grille{grid-template-columns:1fr}}
@media (max-width:734px){
  .pied li{margin-bottom:0}
  .pied nav ul li > a:not(.btn),
  .pied__ident > a:not(.btn),
  .pied__ident .pied__tel{
    display:inline-flex;align-items:center;min-height:44px;
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.shot img,.travail__vue img,.geste__vue img,.questions__vue img,
.bandeau-vue img,.presta-bloc__vue img,.merci-vue img,.sortie__fond img{
  filter:sepia(.16) hue-rotate(-12deg) saturate(1.12);
}
.scene{
  --defil:0px;
  position:relative;isolation:isolate;
  min-height:86vh;min-height:86svh;
  display:flex;align-items:flex-end;
  background:var(--fond-creux);
  border-bottom:1px solid var(--trait);
  overflow:hidden;
}
.scene__fond{position:absolute;inset:0;margin:0}
.scene__lointain{position:absolute;inset:0}
.scene__fond img{
  width:100%;height:100%;object-fit:cover;object-position:64% 42%;z-index:var(--z-fond);
  filter:sepia(.22) hue-rotate(-14deg) saturate(1.18) brightness(.94);
}
.scene__voile{
  position:absolute;inset:0;z-index:var(--z-fond);pointer-events:none;
  background:radial-gradient(64% 58% at 3% 0%,var(--lueur),transparent 64%);
}
.scene__sujet{position:absolute;inset:0;z-index:var(--z-sujet);pointer-events:none}
.scene__sujet img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 42%;
  filter:sepia(.22) hue-rotate(-14deg) saturate(1.18) brightness(.94);
}
.scene::after{
  content:"";
  position:absolute;inset:0;z-index:var(--z-premier);pointer-events:none;
  background:linear-gradient(to top,var(--fond) 0%,transparent 32%);
}
.scene__in{position:relative;isolation:isolate;z-index:var(--z-scene-texte);width:100%;padding-block:clamp(2.25rem,5vh,4rem)}
.scene h1{
  font-size:clamp(2.1rem,4.6vw,4.3rem);
  line-height:.94;letter-spacing:-.03em;text-transform:uppercase;
  max-width:20ch;margin:0;
}
.scene h1::after{
  content:"";display:block;width:var(--filet-h1);height:3px;
  background:var(--metal);margin-top:clamp(1rem,2vw,1.6rem);transform-origin:left;
}
.scene__chapeau{margin-top:clamp(1.1rem,2vw,1.6rem)}
.scene__promesse{
  margin-top:clamp(1.1rem,2vw,1.6rem);max-width:38ch;
  font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.55;color:var(--encre-douce);
}
.scene__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:clamp(1.6rem,3vw,2.4rem)}
.scene__tel{
  font-family:var(--titre);font-weight:700;font-size:1.05rem;letter-spacing:.01em;
  color:var(--encre);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em;
  text-decoration-color:var(--bord-ui);
  display:inline-flex;align-items:center;min-height:44px;padding-block:.55rem;
  transition:color var(--duree-survol) var(--sortie),text-decoration-color var(--duree-survol) var(--sortie);
}
.scene__tel:hover{color:var(--accent-clair);text-decoration-color:var(--accent-clair)}
@media (max-width:760px){
  .scene{min-height:76vh;min-height:76svh}
  .scene__fond img{object-position:58% 46%}
  .scene__sujet img{object-position:58% 46%}
  .scene__voile{background:radial-gradient(86% 40% at 6% 0%,var(--lueur),transparent 62%)}
  .scene::after{background:linear-gradient(to top,var(--fond) 0%,transparent 20%)}
  .scene__in::before{background:var(--fond-creux)}
  .scene h1{max-width:none}
}
@media (prefers-reduced-motion:no-preference){
  .scene__lointain{transform:translateY(calc(var(--defil) * -.31))}
  .scene__voile{transform:translateY(calc(var(--defil) * -.17))}
  .scene__sujet{transform:translateY(calc(var(--defil) * -.20))}
  .scene h1::after{animation:cinema-filet 700ms var(--sortie) 1 backwards}
}
@media (prefers-reduced-motion:reduce){
  .scene__lointain,.scene__voile,.scene__sujet,.scene__fond img,.scene__sujet img,.scene h1::after{
    transform:none;animation:none;transition:none;
  }
}
.preuve{
  display:grid;grid-template-columns:repeat(12,1fr);gap:1px;
  background:var(--trait);border-bottom:1px solid var(--trait);
}
.tuile{
  background:var(--fond);min-width:0;
  padding:clamp(1.35rem,2.6vw,2.05rem) clamp(1.2rem,2.2vw,1.8rem);
  display:flex;flex-direction:column;gap:.5rem;
}
.tuile--devis {grid-column:span 4}
.tuile--lavage{grid-column:span 4}
.tuile--quand {grid-column:span 4}
.tuile dt{
  display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;
  font-family:var(--titre);font-weight:600;
  font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--encre-douce);
}
.tuile dd{margin:0;font-size:.97rem;line-height:1.55;color:var(--encre)}
.tuile__cle{
  display:block;font-family:var(--titre);font-weight:700;
  font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.08;letter-spacing:-.02em;
  color:var(--encre);font-variant-numeric:tabular-nums;margin-bottom:.3rem;
}
.tuile__etoiles{display:flex;gap:.26rem;margin-bottom:.35rem}
.tuile__etoiles svg{width:25px;height:25px;color:var(--accent-clair);flex:none}
.tuile__picto{width:25px;height:25px;color:var(--accent-clair);margin-bottom:.15rem}
.tuile a{color:var(--accent-clair)}
.tuile a:hover{color:var(--encre)}
@media (max-width:900px){
  .preuve{grid-template-columns:repeat(2,1fr)}
  .tuile--devis,.tuile--lavage{grid-column:span 1}
  .tuile--quand{grid-column:span 2}
}
@media (max-width:520px){
  .preuve{grid-template-columns:1fr}
  .tuile,.tuile--devis,.tuile--lavage,.tuile--quand{grid-column:span 1}
}
.travaux{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.5rem);
}
.travail{
  position:relative;background:var(--surface);min-width:0;grid-column:span 2;
  border:1px solid var(--trait);border-radius:var(--r-l);overflow:hidden;
  display:flex;flex-direction:column;
  transition:background-color .18s var(--sortie);
}
.travail:first-child{grid-column:span 4;grid-row:span 2}
.travail:first-child .travail__vue{flex:1;aspect-ratio:auto;min-height:20rem}
.travail:first-child .travail__vue img{position:absolute;inset:0}
.travail:first-child .travail__corps{padding:clamp(1.4rem,3vw,2rem)}
.travail:first-child h3{max-width:24ch}
.travail:nth-child(2) .travail__vue,.travail:nth-child(3) .travail__vue{aspect-ratio:16/7}
.travail:hover{background:var(--surface-haute)}
.travail__vue{position:relative;margin:0;overflow:hidden;aspect-ratio:3/2;background:var(--fond-creux)}
.travail__vue img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--sortie),filter .18s var(--sortie);
  filter:saturate(.92);
}
.travail:hover .travail__vue img{transform:scale(1.035);filter:sepia(.16) hue-rotate(-12deg) saturate(1.24)}
.travail__picto{
  position:absolute;left:.7rem;top:.7rem;z-index:var(--z-texte);
  width:40px;height:40px;border-radius:var(--r);
  background:var(--fond-creux);border:1px solid var(--or-trait);
  display:flex;align-items:center;justify-content:center;
}
.travail__picto svg{width:22px;height:22px;color:var(--or)}
.travail__corps{padding:clamp(1.05rem,2vw,1.35rem) clamp(1.1rem,2vw,1.4rem) clamp(1.3rem,2.2vw,1.6rem);display:flex;flex-direction:column;gap:.5rem}
.travail h3 a{color:var(--encre);text-decoration:none}
.travail h3 a::after{content:"";position:absolute;inset:0}
.travail:hover h3 a{color:var(--accent-clair)}
.travail p{font-size:.93rem;line-height:1.5;color:var(--encre-douce);margin-top:auto}
.suite{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:clamp(1.75rem,3vw,2.5rem);
  font-family:var(--titre);font-weight:700;font-size:1.02rem;color:var(--accent-clair);
  text-decoration:none;border-bottom:1px solid var(--accent-trait);padding-bottom:.25rem;
  transition:border-color var(--duree-survol) var(--sortie);
}
.suite:hover{border-bottom-color:var(--accent-clair)}
.suite svg{transition:transform 160ms var(--sortie)}
@media (prefers-reduced-motion:no-preference){.suite:hover svg{transform:translateX(.3rem)}}
.suite svg{width:.95em;height:.95em}
@media (min-width:700px) and (max-width:940px){
  .travaux{grid-template-columns:repeat(2,minmax(0,1fr))}
  .travail{grid-column:auto}
  .travail:first-child,.travail:last-child{
    grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  }
  .travail:first-child .travail__vue{aspect-ratio:3/2;min-height:0}
  .travail:first-child .travail__corps,.travail:last-child .travail__corps{justify-content:center}
  .travail:first-child p,.travail:last-child p{margin-top:0}
}
@media (max-width:699px){
  .travaux{
    grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;
    gap:1rem;padding:4px 4px 12px;scroll-padding-inline-end:4px;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x proximity;scroll-padding-inline:4px;
    scrollbar-color:var(--or-trait) var(--fond-creux);scrollbar-width:thin;
  }
  .travail,.travail:first-child{grid-column:auto;grid-row:auto;scroll-snap-align:start}
  .travail .travail__vue,.travail:first-child .travail__vue{aspect-ratio:16/9;min-height:0;flex:none}
  .travail:first-child .travail__corps{padding:1.05rem 1.1rem 1.3rem}
}
.gestes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem)}
.geste{display:flex;flex-direction:column;gap:1rem;min-width:0}
.geste__vue{
  position:relative;margin:0;overflow:hidden;aspect-ratio:4/3;
  border-radius:var(--r-l);background:var(--fond-creux);border:1px solid var(--trait);
}
.geste__vue img{width:100%;height:100%;object-fit:cover}
.geste__vue .geste__rang{
  position:absolute;left:.5rem;bottom:.35rem;z-index:var(--z-texte);
  margin:0;padding:0 .22em;
  font-family:var(--titre);font-weight:700;
  font-size:clamp(3.2rem,6vw,4.8rem);line-height:.82;letter-spacing:-.045em;
  color:var(--encre);font-variant-numeric:tabular-nums;
  text-shadow:0 2px 18px var(--fond-creux);
}
.geste__vue .geste__rang::after{
  content:"";position:absolute;left:.22em;right:.22em;bottom:.02em;height:4px;
  background:var(--accent);
}
.geste p{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.5;color:var(--encre)}
@media (max-width:860px){.gestes{grid-template-columns:1fr;gap:2rem}.geste__vue{aspect-ratio:16/9}}
.zonage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.zonage__chiffre{
  display:block;margin-top:clamp(1.6rem,3vw,2.4rem);
  font-family:var(--titre);font-weight:700;
  font-size:clamp(4.5rem,11vw,8rem);line-height:.82;letter-spacing:-.045em;
  color:var(--encre);font-variant-numeric:tabular-nums;
}
.zonage__chiffre small{display:block;font-size:.17em;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-clair);margin-top:.9rem;font-weight:600}
.zonage p{color:var(--encre-douce);font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.6;max-width:46ch;margin-top:1.4rem}
.zonage .btn{margin-top:1.8rem}
.plan{
  position:relative;margin:0;overflow:hidden;
  border-radius:var(--r-l);border:1px solid var(--trait);background:var(--fond-creux);
  max-width:420px;margin-inline:auto;width:100%;
}
.plan img{width:100%;height:auto;display:block}
.plan__calque{position:absolute;inset:0;width:100%;height:100%}
.plan__calque .zone{fill:transparent;stroke:transparent}
.plan__calque .zone--vive{
  fill:var(--accent);fill-opacity:.5;
  stroke:var(--accent-clair);stroke-width:4;
}
@media (prefers-reduced-motion:no-preference){
  .plan__calque{animation:ab-pulse 7s var(--courbe) infinite}
}
@keyframes ab-pulse{
  0%,100%{opacity:.58}
  22%    {opacity:1}
  55%    {opacity:.58}
}
@media (prefers-reduced-motion:reduce){
  .plan__calque .zone--vive{animation:none;fill-opacity:.5}
}
@media (max-width:900px){
  .zonage{grid-template-columns:1fr;gap:2.25rem}
  .plan{order:-1;max-width:300px}
}
.questions__grille{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.replis{border-top:1px solid var(--trait)}
.repli{border-bottom:1px solid var(--trait)}
.repli > summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:baseline;gap:1rem;justify-content:space-between;
  padding:1.3rem 0;
  font-family:var(--titre);font-weight:700;font-size:clamp(1.02rem,1.5vw,1.16rem);
  line-height:1.3;color:var(--encre);
  transition:color var(--duree-survol) var(--sortie);
}
.repli > summary::-webkit-details-marker{display:none}
.repli > summary:hover{color:var(--accent-clair)}
.repli > summary::after{
  content:"+";flex:none;font-weight:700;font-size:1.35rem;line-height:1;
  color:var(--accent-clair);
}
.repli[open] > summary::after{content:"–"}
.repli__corps{padding:0 0 1.4rem;color:var(--encre-douce);line-height:1.7;max-width:70ch}
.questions__vue{
  position:relative;margin:0;overflow:hidden;
  border-radius:var(--r-l);border:1px solid var(--trait);background:var(--fond-creux);
  aspect-ratio:3/2;
}
.questions__vue img{width:100%;height:100%;object-fit:cover}
@media (min-width:901px){.questions__vue{position:sticky;top:104px}}
@media (max-width:900px){
  .questions__grille{grid-template-columns:1fr}
  .questions__vue{order:-1;aspect-ratio:16/9}
}
.sortie{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--fond-creux);border-top:1px solid var(--or-trait);
  padding-block:clamp(4rem,9vw,7.5rem);
}
.sortie__fond{position:absolute;inset:0;margin:0}
.sortie__fond img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;z-index:var(--z-fond)}
.sortie__voile{
  position:absolute;inset:0;z-index:var(--z-voile);pointer-events:none;
  background:
    linear-gradient(to right,var(--fond-creux) 0 42%,transparent 92%),
    linear-gradient(to top,var(--fond-creux) 0 8%,transparent 60%);
}
.sortie .contenu{position:relative;z-index:var(--z-texte)}
.sortie__titre{max-width:20ch}
.sortie__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:clamp(1.75rem,3vw,2.5rem)}
@media (max-width:760px){
  .sortie{padding-block:clamp(9rem,34vw,12rem) clamp(2.75rem,8vw,4rem)}
  .sortie__voile{background:linear-gradient(to top,var(--fond-creux) 0 52%,transparent 96%)}
}
.bandeau-vue{
  position:relative;margin:clamp(1.75rem,3vw,2.5rem) 0 0;overflow:hidden;
  border-radius:var(--r-l);border:1px solid var(--trait);background:var(--fond-creux);
  aspect-ratio:16/6;
}
.bandeau-vue img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.bandeau-vue{aspect-ratio:16/9}}
.presta-bloc{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.75rem,4vw,3.25rem);align-items:start;
  padding-block:clamp(2.25rem,4.5vw,3.5rem);
  border-top:1px solid var(--trait);
}
.presta-bloc:first-of-type{border-top:0;padding-top:0}
.presta-bloc--inverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.presta-bloc--inverse .presta-bloc__vue{order:2}
.presta-bloc__vue{
  position:relative;margin:0;overflow:hidden;
  border-radius:var(--r-l);border:1px solid var(--trait);background:var(--fond-creux);
  aspect-ratio:3/2;
}
.presta-bloc__vue img{width:100%;height:100%;object-fit:cover}
.presta-bloc__mot{min-width:0;display:flex;flex-direction:column;gap:.9rem}
.presta-bloc__picto{width:32px;height:32px;color:var(--or)}
.presta-bloc__mot p{color:var(--encre-douce);line-height:1.65;max-width:62ch}
@media (min-width:941px){.presta-bloc__vue{position:sticky;top:calc(var(--barre) + 34px)}}
@media (max-width:940px){
  .presta-bloc{grid-template-columns:1fr;gap:1.5rem}
  .presta-bloc--inverse .presta-bloc__vue{order:0}
}
.merci-vue{
  position:relative;margin:clamp(1.75rem,3vw,2.5rem) 0 0;overflow:hidden;
  border-radius:var(--r-l);border:1px solid var(--trait);background:var(--fond-creux);
  aspect-ratio:3/2;max-width:560px;
}
.merci-vue img{width:100%;height:100%;object-fit:cover}
.merci-check{--trait-long:1;width:3rem;height:3rem;margin-bottom:1.25rem;color:var(--or)}
@media (prefers-reduced-motion:no-preference){
  .merci-check path{animation:cinema-dessin 800ms var(--sortie) 1}
}
@media (prefers-reduced-motion:reduce){
  .merci-check,.merci-check path{stroke-dashoffset:0;animation:none;transition:none;transform:none}
}
.fil{--cinema-x:-16px;--cinema-y:0px}
.pied::before{transform-origin:left}
@media (prefers-reduced-motion:no-preference){
  .cinema-attente{
    opacity:0;transform:translate(var(--cinema-x,0px),var(--cinema-y,16px));
  }
  .cinema-entre{animation:cinema-entree var(--duree-entree) var(--sortie) var(--cinema-delai,0ms) 1 backwards}
  .cinema-filet-attente::before{transform:scaleX(0)}
  .cinema-filet-entre::before{animation:cinema-filet var(--duree-entree) var(--sortie) 1 backwards}
  .cinema-dessin-pret :is(path,circle,ellipse,line,polyline,polygon,rect){
    stroke-dasharray:var(--trait-long);stroke-dashoffset:var(--trait-long);
  }
  .cinema-dessine :is(path,circle,ellipse,line,polyline,polygon,rect){
    stroke-dashoffset:0;animation:cinema-dessin 700ms var(--sortie) var(--cinema-delai,0ms) 1 backwards;
  }
}
@keyframes cinema-entree{
  from{opacity:0;transform:translate(var(--cinema-x,0px),var(--cinema-y,16px))}
  to{opacity:1;transform:none}
}
@keyframes cinema-filet{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cinema-dessin{from{stroke-dashoffset:var(--trait-long)}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  .cinema-attente,.cinema-entre{opacity:1;transform:none;animation:none;transition:none}
  .cinema-filet-attente::before,.cinema-filet-entre::before{transform:none;animation:none;transition:none}
  .cinema-dessin-pret *,.cinema-dessine *{stroke-dasharray:none;stroke-dashoffset:0;animation:none;transition:none}
}
.article,.article-liste{padding-block:clamp(2.5rem,5vw,4rem)}
.article__in{max-width:74ch;margin-inline:auto}
.fil{margin-bottom:clamp(1.25rem,2.5vw,1.75rem)}
.fil ol{display:flex;flex-wrap:wrap;gap:.15rem .55rem;font-size:.83rem;line-height:1.5}
.fil li{display:flex;align-items:baseline;gap:.55rem;color:var(--encre-douce)}
.fil li:not(:last-child)::after{content:"›";color:var(--encre-douce);opacity:.7}
.fil a{color:var(--encre-douce);text-decoration:none}
.fil__racine::before{content:attr(data-libelle)}
.fil a:hover{color:var(--accent-clair);text-decoration:underline}
.fil [aria-current="page"]{color:var(--or-etat)}
.fil-bande{display:flex;align-items:center;min-height:var(--fil-h)}
.fil-bande > .contenu{width:100%}
.fil--page{margin-bottom:0}
.fil-bande + .heros{padding-block-start:0}
:root{--titre-air:clamp(1.25rem,3.5vw,3rem)}
.fil:not(.fil--page){margin-bottom:var(--titre-air)}
.fil-bande + .heros,
main > .heros:first-child,
main > .heros--devis.heros--pli,
.fil-bande + .heros--devis.heros--pli{padding-block-start:var(--titre-air)}
.heros--pli.heros--nu,
main > .heros--pli.heros--nu:first-child{min-height:0}
.article__titre{letter-spacing:-.025em;line-height:1.04}
.article__dates{
  margin-top:.9rem;font-family:var(--titre);font-weight:600;
  font-size:.86rem;letter-spacing:.02em;color:var(--encre-douce);
}
.article__resume{margin-top:1.15rem;color:var(--encre);font-size:clamp(1.06rem,1.5vw,1.22rem)}
.article__vue{
  position:relative;margin:clamp(1.75rem,3vw,2.5rem) 0 0;overflow:hidden;
  border-radius:var(--r-l);border:1px solid var(--trait);background:var(--fond-creux);
  aspect-ratio:16/9;
}
.article__vue img{width:100%;height:100%;object-fit:cover}
.article__corps{margin-top:clamp(1.75rem,3vw,2.5rem);max-width:74ch;line-height:1.72}
.article__corps h2{
  margin-top:clamp(2rem,3.5vw,2.75rem);margin-bottom:.7rem;
}
.article__corps h2:first-child{margin-top:0}
.article__corps h3{
  margin-top:1.75rem;margin-bottom:.5rem;
}
.article__corps p{color:var(--encre-douce)}
.article__corps li{color:var(--encre-douce)}
.article__corps strong{color:var(--encre);font-weight:600}
.article__appel{margin-top:clamp(2.25rem,4vw,3rem)}
.article__appel h2{margin-bottom:.7rem}
.article__retour{margin-top:1.5rem;font-size:.94rem}
.blog-liste{margin-top:clamp(1.75rem,3vw,2.5rem);border-top:1px solid var(--trait)}
.blog-item{padding-block:clamp(1.35rem,2.5vw,1.85rem);border-bottom:1px solid var(--trait)}
.blog-item__titre{line-height:1.22}
.blog-item__titre a{color:var(--encre);text-decoration:none}
.blog-item__titre a:hover{color:var(--accent-clair);text-decoration:underline;text-underline-offset:4px}
.blog-item__dates{
  margin-top:.5rem;font-family:var(--titre);font-weight:600;
  font-size:.8rem;letter-spacing:.02em;color:var(--encre-douce);
}
.blog-item__mot{margin-top:.55rem;color:var(--encre-douce);line-height:1.65;max-width:70ch}
.article-liste .heros__actions{margin-top:clamp(1.75rem,3vw,2.5rem)}
.renvoi{
  display:inline-flex;align-items:baseline;gap:.4rem;margin-top:.6rem;
  font-family:var(--titre);font-weight:600;font-size:.95rem;
  color:var(--accent-clair);text-decoration:none;
}
.renvoi:hover{text-decoration:underline;text-underline-offset:4px}
.renvoi::after{content:"→"}
#conseils .renvoi::after,#advice .renvoi::after{
  content:"";flex:none;align-self:center;width:.95em;height:.95em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.prose,.article__corps{max-width:62ch}
.champ__aide{max-width:58ch}
.lire-aussi{max-width:62ch}
.bandeau-vue--colonne{margin-top:0}
.scene{background:var(--grain-demo),var(--fond)}
.scene.demo-sujet-charge .scene__fond img{mask-image:linear-gradient(145deg,var(--fond) 0 34%,transparent 55%)}
.scene::before{
  content:"";position:absolute;inset:0;z-index:var(--z-halo);pointer-events:none;
  background:radial-gradient(ellipse at 78% 35%,var(--halo-demo),transparent 64%);
}
.scene__voile{
  z-index:var(--z-median);inset:8% -10% 20% 22%;
  background:linear-gradient(145deg,transparent 38%,var(--or-trait) 49%,var(--fond-creux) 51% 63%,transparent 76%);
  border-top:1px solid var(--trait-fort);
}
.scene__in::before{
  content:"";position:absolute;inset:-24px 0 0;z-index:-1;pointer-events:none;
  background:linear-gradient(to right,var(--fond-creux) 0 72%,transparent 100%);
}
.scene h1::after{width:min(100%,12ch)}
@media (prefers-reduced-motion:no-preference){
  .scene::before{transform:translateY(calc(var(--defil) * -.25))}
  .scene.demo-defile :is(.scene__lointain,.scene__voile,.scene__sujet){will-change:transform}
}
@media (max-width:760px){
  .scene__in::before{background:linear-gradient(to top,var(--fond-creux) 0 94%,transparent)}
  .scene__in{padding-block:1.5rem 2rem}
  .scene h1{font-size:clamp(1.35rem,6.8vw,2.6rem)}
  .scene__sujet img{object-position:58% 46%;transform:translateY(-100px)}
}
.zonage{perspective:1200px;perspective-origin:75% 100%}
.zonage .plan{
  overflow:visible;transform-origin:50% 100%;border-top-color:var(--or-voile);
  box-shadow:0 10px 0 -3px var(--surface-haute),var(--ombre-plaque);
}
.zonage .plan img,.zonage .plan picture{border-radius:inherit}
.zonage .plan::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(155deg,var(--or-trait),transparent 26%);
  border-top:1px solid var(--trait-fort);
}
@media (min-width:941px) and (prefers-reduced-motion:no-preference){
  .zonage .plan{transform:rotateX(24deg);transition:transform 500ms var(--sortie)}
  .zonage:hover .plan,.zonage:focus-within .plan,.zonage:active .plan{transform:rotateX(0deg)}
}
.demo-stack{position:relative;isolation:isolate}
.demo-stack > .sect{
  --plaque-p:0;position:relative;background-color:var(--fond);
  border-top:1px solid var(--trait-fort);box-shadow:var(--ombre-plaque);
  transform-origin:50% 0;
}
.demo-stack > .sect--creuse{background-color:var(--fond-creux)}
@media (min-width:941px) and (prefers-reduced-motion:no-preference){
  .demo-stack.demo-stack-active > .sect{
    position:sticky;top:var(--plaque-top,var(--entete-h));
    transform:scale(calc(1 - var(--plaque-p) * .04));
  }
  .demo-stack > .sect::after{
    content:"";position:absolute;inset:0;pointer-events:none;background:var(--fond-creux);
    opacity:calc(var(--plaque-p) * .035);
  }
  .demo-stack > .sect:focus-within{transform:none}
}
@media (min-width:941px){
  .travaux{perspective:1200px;gap:1.5rem;align-items:stretch}
  .travail{
    --profondeur:-40px;--inclinaison:5deg;
    transform:translateZ(var(--profondeur)) rotateX(var(--inclinaison));
    transform-origin:50% 100%;border-top-color:var(--trait-fort);
    box-shadow:0 16px 26px -16px var(--halo-demo);
    transition:transform 220ms var(--sortie);
  }
  .travail:first-child{--profondeur:0px;--inclinaison:0deg}
  .travail:nth-child(3),.travail:nth-child(5){--profondeur:-80px;--inclinaison:9deg;box-shadow:var(--ombre-plaque)}
  .travail:nth-child(4){grid-column:span 4}
  .travail:last-child{
    grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    --profondeur:0px;--inclinaison:0deg;
  }
  .travail:last-child .travail__vue{aspect-ratio:16/7}
  .travail:last-child .travail__corps{justify-content:center}
  .travail:last-child p{margin-top:0}
}
.travail::before{
  content:"";position:absolute;inset:0;z-index:var(--z-voile);pointer-events:none;
  border:1px solid var(--or-bord);border-radius:inherit;
  box-shadow:0 14px 30px -12px var(--halo-demo);opacity:0;transition:opacity 220ms var(--sortie);
}
.travail__vue img{transition:transform 220ms var(--sortie)}
@media (hover:hover) and (pointer:fine){
  .travail:hover{transform:translateZ(0) rotateX(0);box-shadow:var(--ombre-plaque)}
  .travail:hover::before{opacity:1}
  .travail:hover .travail__vue img{transform:scale(1.04)}
}
.travail:focus-within{transform:translateZ(0) rotateX(0);box-shadow:var(--ombre-plaque)}
.travail:focus-within::before{opacity:1}
@media (prefers-reduced-motion:reduce){
  .travail:hover,.travail:focus-within{transform:translateZ(var(--profondeur,0px)) rotateX(var(--inclinaison,0deg))}
  .travail:hover .travail__vue img{transform:none}
}
@media (min-width:941px) and (prefers-reduced-motion:no-preference){
  .presta-bloc{--croise:0px;--croise-sens:1;perspective:1200px;align-items:center}
  .presta-bloc--inverse{--croise-sens:-1}
  .presta-bloc__vue{
    position:relative;top:auto;
    transform:translateX(calc(var(--croise) * .06 * var(--croise-sens))) translateY(calc(var(--croise) * -.12)) rotateY(calc(8deg * var(--croise-sens)));
    box-shadow:var(--ombre-plaque);border-top-color:var(--trait-fort);
  }
  .presta-bloc__mot{transform:translateX(calc(var(--croise) * -.05 * var(--croise-sens)))}
}
.presta-bloc__picto :is(path,circle,ellipse,line,polyline,polygon,rect){stroke-width:2.25}
.presta-bloc .cinema-dessine :is(path,circle,ellipse,line,polyline,polygon,rect){animation-duration:700ms}
body,.sect,.heros,.devis-form{background-image:var(--grain-demo)}
.sect__tete,.heros h1{position:relative}
.sect__tete::after,.heros h1::after{
  content:"";position:absolute;left:0;bottom:-16px;width:min(72%,18rem);height:1px;
  background:var(--metal);transform-origin:left;pointer-events:none;
}
.btn{position:relative}
.btn::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:0 8px 16px -6px var(--halo-demo),0 16px 32px -10px var(--ombre-zone);
  opacity:0;transition:opacity 160ms var(--sortie);
}
.btn:focus-visible::after{opacity:1}
.btn--vide::before{background:var(--surface-haute)}
@media (hover:hover) and (pointer:fine){
  .btn:hover::after{opacity:1}
  .btn--vide:hover,.pied a.btn--vide:hover{color:var(--encre)}
}
@media (prefers-reduced-motion:no-preference){
  .demo-filet-pret::after{transform:scaleX(0)}
  .demo-filet-vu::after{animation:cinema-filet 700ms var(--sortie) 1 backwards}
}
.demo-stack.demo-stack-clavier > .sect{position:relative;top:auto;transform:none}
.demo-stack.demo-stack-clavier > .sect::after{display:none}
@media (prefers-reduced-motion:reduce){
  .presta-bloc__vue{position:relative;top:auto}
}
@media (max-width:768px){.entete{position:static}}
@media (max-width:734px){
  .cibles-44 .fil a{display:inline-block;padding-block:14px;margin-block:-14px;position:relative;z-index:2}
  .cibles-44 .fil ol{row-gap:.9rem}
  .cibles-44 .renvoi{min-height:44px;align-items:center}
  .cibles-44 .suite{padding-top:.8rem;margin-top:calc(clamp(1.75rem,3vw,2.5rem) - .8rem)}
  .cibles-44 .agree-bande__lien{padding:2px;margin:-2px}
  .cibles-44 .article__retour a,
  .cibles-44 dd a,
  .cibles-44 a.avis__source{padding-block:14px}
  .cibles-44 dd a{position:relative}
  .cibles-44 .pied__bas{row-gap:0;align-items:center}
  .cibles-44 .fil-bande{padding-block:10px}
  .cibles-44 .pied__bas > a,
  .cibles-44 .pied__bas > span > a{display:inline-flex;align-items:center;min-height:44px}
}

.bandeau-vue img[src*="/assets/assurance-"]{object-position:50% 78%}
