:root{
  --gris-clair:#C9C2B6;
  --lames:repeating-linear-gradient(180deg, rgba(227,183,160,.30) 0 1px, transparent 1px 5px);
}

h1, h2, h3, .titre-section, .carte__phrase {
  font-weight:400;
  letter-spacing:-.012em;
}

.corps > .section + .section::before{
  content:""; position:absolute; left:0; right:0; top:-4px; height:8px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='8'%3E%3Cpath d='M0 4 C4.5 0.6 4.5 0.6 9 4 S13.5 7.4 18 4' fill='none' stroke='%23E3B7A0' stroke-width='.8' stroke-opacity='.32'/%3E%3C/svg%3E") repeat-x center;
  pointer-events:none;
}

.offres, .travaux, .etapes, .avis, .questions, .contact, .qui{
  background:linear-gradient(rgba(10,10,10,.82), rgba(10,10,10,.82));
}
.offre{
  position:relative;
  background:#12100F;
  padding-top:calc(clamp(1.75rem,4vw,2.75rem) + 14px);
}
.offre p, .offre li{ color:var(--gris-clair); }

.offre::before{
  content:""; position:absolute; left:0; right:0; top:0; height:16px;
  background:var(--lames);
  border-bottom:1px solid var(--trait);
  opacity:.7;
}

.etapes__liste{
  list-style:none; margin:2.5rem 0 0; padding:0;
  display:grid; gap:clamp(1.25rem,3vw,2rem);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
}
.etapes__liste li{
  border-top:1px solid var(--trait);
  padding-top:1.5rem;
}
.etapes__liste h3{
  font-family:var(--titre);
  font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem);
  margin:1.1rem 0 .6rem; color:var(--creme);
}
.etapes__liste p{ margin:0; color:var(--gris-clair); line-height:1.65; }

.domino{
  display:grid; width:34px; height:34px; padding:6px;
  grid-template:repeat(3,1fr) / repeat(3,1fr);
  border:1px solid var(--trait); border-radius:6px;
}
.domino i{ width:5px; height:5px; border-radius:50%; background:var(--or); place-self:center; }
.domino .p-hg{ grid-area:1 / 1; }
.domino .p-hd{ grid-area:1 / 3; }
.domino .p-c{ grid-area:2 / 2; }
.domino .p-bg{ grid-area:3 / 1; }
.domino .p-bd{ grid-area:3 / 3; }

.qui__titre{ margin-bottom:.4rem; }
.qui__bascule{ display:block; width:220px; height:14px; color:var(--or); opacity:.6; margin:0 0 2rem; }
.qui .pied__zone-intro{ max-width:62ch; color:var(--gris-clair); font-size:1.05rem; line-height:1.7; }
.qui .pied__zone-grille h3{ font-family:var(--titre); color:var(--creme); }
.qui .pied__zone-grille p{ color:var(--gris-clair); }
.qui .pied__zone-appui{ color:var(--gris); }

.surtitre, .nav__cta, .menu, .bouton, .marche__figure figcaption, .google__gratuit, .offres__famille, .offre__sceau, .offre__type, .avis__depot summary, .etoiles legend, .travail__voir, .choix legend, .champ label, .pied__zone-grille h3, .pied__social-bientot, .pied__partage, .contact__tel .menu, .travail__voir { text-transform:none; letter-spacing:.01em; }
.bouton, .nav__cta { font-size:.92rem; font-weight:500; }
.offres__famille, .offre__type, .pied__zone-grille h3{ font-size:.9rem; }

.offres__apres{ color:var(--gris); max-width:56ch; margin:1.5rem 0 0; font-size:.95rem; }

.badge-demo{
  display:inline-block; vertical-align:.3em; margin-left:.5rem;
  padding:.18rem .45rem .14rem; border:1px solid var(--or); border-radius:3px;
  font-family:var(--texte); font-size:.62rem; font-weight:500; line-height:1;
  letter-spacing:.04em; color:var(--or);
}

.marche__figure .barre{ transform-box:fill-box; transform-origin:left center; transform:scaleX(0); transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .15s; }
.marche__figure .barre + text, .marche__figure rect:nth-of-type(2){ transition-delay:.3s; }
.marche__figure.est-visible .barre{ transform:scaleX(1); }
html:not(.js) .marche__figure .barre{ transform:none; }
@media (prefers-reduced-motion: reduce){ .marche__figure .barre{ transform:none; transition:none; } }

.questions__liste{ margin:2.5rem 0 0; }
.question{ border-top:1px solid var(--trait); }
.question:last-child{ border-bottom:1px solid var(--trait); }
.question summary{
  cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height:44px; padding:1.1rem 0;
}
.question summary::-webkit-details-marker{ display:none; }
.question summary::after{
  content:"+"; flex:none;
  color:var(--or); font-size:1.5rem; line-height:1;
  transition:transform .25s ease;
}
.question[open] summary::after{ transform:rotate(45deg); }
.question h3{
  font-family:var(--titre);
  font-size:clamp(1.1rem,1rem + .5vw,1.35rem);
  margin:0; color:var(--creme); line-height:1.35;
}
.question p{ margin:0 0 1.4rem; max-width:62ch; color:var(--gris-clair); line-height:1.65; }
@media (prefers-reduced-motion:reduce){ .question summary::after{ transition:none; } }
