:root{
  --titre:"Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --tuile:#1A1817;
  --ligne:rgba(242,237,227,.1);
  --haut-nav:56px;
}

h1, h2, h3, .titre-section, .carte__phrase{
  font-family:var(--titre);
  font-weight:800;
  letter-spacing:-.03em;
}
.surtitre{ display:none; }
.titre-section{
  font-size:clamp(2.2rem,1.3rem + 4.4vw,4.6rem);
  line-height:1;
  margin:0 0 1.4rem;
  text-wrap:balance;
}
.titre-centre{ text-align:center; margin-inline:auto; max-width:16ch; }
.titre-appui{ margin:0 auto 2.6rem; text-align:center; max-width:46ch; font-size:clamp(1.02rem,.95rem + .4vw,1.2rem); color:var(--gris-clair); }

.bouton{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 1.5rem;
  border-radius:999px;
  font:600 .95rem/1.2 var(--texte);
  letter-spacing:0; text-transform:none;
}
.bouton::after{ border-radius:inherit; }
.bouton--or{ background:var(--or); color:var(--noir); }
.bouton--or::after{ background:var(--or-clair); }
.bouton--or:hover{ color:var(--noir); }

.nav{
  height:var(--haut-nav);
  padding:0 var(--marge);
  gap:1.4rem;
  background:rgba(10,10,10,.94);
  -webkit-backdrop-filter:none; backdrop-filter:none;
  border-bottom:1px solid var(--ligne);
}
.nav.est-defile{ background:rgba(10,10,10,.97); border-bottom-color:var(--ligne); }
.nav__logo{ text-decoration:none; }
.nav__nom{ font:800 1.1rem/1 var(--titre); letter-spacing:.02em; color:var(--creme); }
.nav__liens{ display:none; gap:1.6rem; margin-left:auto; font-size:.9rem; }
.nav__liens a{ color:var(--gris-clair); text-decoration:none; }
.nav__liens a:hover{ color:var(--creme); }
.nav__cta{
  margin-left:auto;
  display:inline-flex; align-items:center; min-height:34px; padding:0 1rem;
  border:0; border-radius:999px;
  background:var(--or); color:var(--noir);
  font:600 .85rem/1 var(--texte); letter-spacing:0; text-transform:none;
}
.nav__cta:hover{ background:var(--or-clair); color:var(--noir); }
.nav__menu{
  min-height:40px; padding:0 .4rem;
  border:0; background:transparent; color:var(--gris-clair);
  font:500 .92rem/1 var(--texte); cursor:pointer;
}
@media (min-width:900px){
  .nav__liens{ display:flex; }
  .nav__cta{ margin-left:.4rem; }
  .nav__menu{ display:none; }
}
.menu-plein{
  position:fixed; z-index:49; inset:var(--haut-nav) 0 0 0;
  display:flex; flex-direction:column;
  padding:1rem var(--marge) calc(1.1rem + env(safe-area-inset-bottom,0px));
  background:rgba(10,10,10,.62);
  -webkit-backdrop-filter:blur(18px) saturate(115%); backdrop-filter:blur(18px) saturate(115%);
  overflow-y:auto; overscroll-behavior:contain;
  animation:menu-fondu .25s ease-out;
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){ .menu-plein{ background:rgba(10,10,10,.97); } }
.menu-plein__grille{ display:grid; grid-template-columns:1fr 1fr; gap:10px; animation:menu-monte .4s cubic-bezier(.2,.8,.2,1); }
.menu-tuile{
  display:flex; flex-direction:column; gap:.6rem; min-height:112px; padding:14px;
  border:1px solid rgba(242,237,227,.08); border-radius:20px; background:rgba(26,24,23,.88);
  color:var(--creme); text-decoration:none; transition:border-color .2s, transform .15s;
}
.menu-tuile:hover{ border-color:rgba(227,183,160,.45); }
.menu-tuile:active{ transform:scale(.98); }
.menu-tuile__icone{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:rgba(227,183,160,.13); color:var(--or); }
.menu-tuile__icone svg{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.menu-tuile strong{ font:700 1.07rem/1.1 var(--titre); letter-spacing:-.01em; }
.menu-tuile__info{ margin-top:-.35rem; font:400 .8rem/1.35 var(--texte); color:var(--gris-clair); }
.menu-tuile--large{ grid-column:1/-1; min-height:0; flex-direction:row; align-items:center; justify-content:space-between; border-color:transparent; background:var(--or); color:var(--noir); }
.menu-tuile--large:hover{ background:var(--or-clair); border-color:transparent; }
.menu-tuile--large strong{ display:block; font-size:1.13rem; }
.menu-tuile--large .menu-tuile__info{ display:block; margin-top:.3rem; color:rgba(10,10,10,.68); }
.menu-tuile__fleche{ font:500 1.4rem/1 var(--titre); }
.menu-plein__bas{ margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-top:1rem; animation:menu-monte .4s cubic-bezier(.2,.8,.2,1); }
.menu-pilule{
  display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px;
  border:1px solid rgba(227,183,160,.45); border-radius:999px; background:rgba(26,24,23,.88);
  color:var(--or); font:600 .86rem/1 var(--texte); text-decoration:none;
}
.menu-pilule:hover{ border-color:var(--or); }
.menu-pilule svg{ width:17px; height:17px; }
.menu-pilule--appel svg{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.menu-pilule--whatsapp svg{ fill:currentColor; }
@keyframes menu-fondu{ from{ opacity:0; } }
@keyframes menu-monte{ from{ transform:translateY(16px); } }
@media (prefers-reduced-motion:reduce){ .menu-plein, .menu-plein__grille, .menu-plein__bas{ animation:none; } }
html.menu-ouvert{ overflow:hidden; }
html.menu-ouvert .whatsapp, html.menu-ouvert .whatsapp.est-visible{ opacity:0; visibility:hidden; }

.carte__intro h1{
  margin:0;
  font-size:clamp(2.6rem,1.4rem + 5.6vw,5.6rem);
  line-height:.96;
  letter-spacing:-.04em;
  color:var(--creme);
  max-width:13ch;
}
.carte__sous{ margin:1.2rem 0 1.5rem; font:400 clamp(1.05rem,.95rem + .5vw,1.3rem)/1.45 var(--texte); letter-spacing:0; color:var(--gris-clair); max-width:34ch; }
.carte__actions{ display:flex; flex-wrap:wrap; gap:.7rem; }
.carte__rassure{ margin:1rem 0 0; font:400 .86rem/1.4 var(--texte); letter-spacing:0; color:var(--gris); }
.carte__phrase{ font-size:clamp(2.2rem,1.3rem + 3.6vw,4.4rem); line-height:1; letter-spacing:-.035em; }
.carte__chiffre em{ color:var(--or); }
@media (max-width:860px){
  .carte__etapes{ bottom:clamp(3.5rem,9vh,5rem); }
}

.selecteur .selecteur__grille{ display:flex; flex-direction:column; align-items:center; gap:1.6rem; text-align:center; }
.selecteur .selecteur__choix, .selecteur .selecteur__apercu{ display:contents; }
.selecteur .titre-section{ order:1; margin:0; }
.selecteur .selecteur__tel{ order:2; width:min(270px,66vw); }
.selecteur .selecteur__puces{
  order:3;
  display:flex; gap:.5rem; max-width:100%;
  overflow-x:auto; scrollbar-width:none;
  padding:.2rem .1rem; justify-content:flex-start;
}
.selecteur .selecteur__puces::-webkit-scrollbar{ display:none; }
.selecteur .puce{
  flex:none; min-height:44px; padding:.45rem 1rem;
  border-radius:999px; border:1px solid rgba(242,237,227,.2);
  background:rgba(10,10,10,.55); font-size:.92rem;
}
.selecteur .puce svg{ width:1.3rem; height:1.3rem; }
.selecteur .puce--autre{ grid-column:auto; }
.selecteur .puce[aria-checked="true"]{ background:var(--creme); border-color:var(--creme); color:var(--noir); }
.selecteur .puce[aria-checked="true"] svg{ stroke:var(--noir); }
.selecteur .selecteur__texte{ order:4; justify-items:center; padding:0; }
.selecteur .selecteur__phrase{ font:700 clamp(1.4rem,1rem + 2vw,2.2rem)/1.08 var(--titre); letter-spacing:-.025em; max-width:22ch; }
.selecteur .selecteur__actions{ order:5; justify-content:center; }
.selecteur .selecteur__actions .bouton{ padding:0 1.4rem; }
@media (min-width:900px){
  .selecteur .selecteur__puces{ flex-wrap:wrap; justify-content:center; overflow:visible; max-width:56rem; }
}

.constat{ background:transparent; }
.tuiles{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(272px,84%);
  gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory;
  margin-inline:calc(-1 * var(--marge)); padding:.3rem var(--marge) .8rem;
  scrollbar-width:none;
}
.tuiles::-webkit-scrollbar{ display:none; }
.tuiles > article, .tuiles > .marche{
  scroll-snap-align:center;
  margin:0; border:0; border-radius:28px;
  background:var(--tuile); padding:1.8rem;
  display:flex; flex-direction:column; gap:.9rem;
}
.tuiles .chiffre{ margin:0; font:800 clamp(2.4rem,1.8rem + 2.6vw,3.6rem)/1 var(--titre); letter-spacing:-.04em; color:var(--or); text-transform:none; }
.tuiles h3{ margin:0; font-size:1.45rem; line-height:1.1; letter-spacing:-.02em; color:var(--creme); }
.tuiles p:not(.chiffre){ margin:0; color:var(--gris-clair); }
.tuiles .marche h2{ font-size:1.45rem; }
.tuiles .marche__figure{ margin:.4rem 0; }
.tuiles .constat__source{ margin-top:auto; font-size:.82rem; color:var(--gris); }
.points{ display:flex; gap:.4rem; justify-content:center; margin-top:1rem; }
.points i{ width:7px; height:7px; border-radius:50%; background:rgba(242,237,227,.25); }
.points i.on{ background:var(--creme); }
@media (min-width:900px){
  .tuiles{ grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; margin:0; padding:0; }
  .points{ display:none; }
}

.google .wrap{ text-align:center; }
.google .titre-section{ margin-inline:auto; max-width:18ch; }
.eclaire .mot{ color:rgba(242,237,227,.2); transition:color .25s; }
.eclaire .mot.allume, .eclaire--fixe .mot{ color:var(--creme); }
.google__texte{ margin-inline:auto; max-width:46ch; color:var(--gris-clair); }
.google__offre{ margin:2.4rem auto 0; max-width:620px; text-align:left; padding:clamp(1.4rem,4vw,2.4rem); border:0; border-radius:28px; background:var(--tuile); }
.google__gratuit{ color:var(--or); }

.travaux .titre-section, .travaux .titre-appui{ text-align:center; margin-inline:auto; }
.travaux .travaux__grille{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,64%);
  gap:1.4rem; overflow-x:auto; scroll-snap-type:x mandatory;
  margin-inline:calc(-1 * var(--marge)); padding:.4rem var(--marge) 1rem;
  scrollbar-width:none;
}
.travaux .travaux__grille::-webkit-scrollbar{ display:none; }
.travaux .travail-bloc{ scroll-snap-align:center; display:grid; gap:.8rem; align-content:start; }
.travaux .travail{ display:grid; gap:1rem; justify-items:center; text-align:center; text-decoration:none; border:0; background:none; padding:0; }
.travail__tel{
  display:block; width:100%; aspect-ratio:600 / 1298;
  padding:.38rem; border-radius:1.9rem; background:#050505;
  border:1px solid rgba(227,183,160,.35);
  box-shadow:0 2rem 3.5rem -1.5rem rgba(0,0,0,.9);
}
.travail__tel img{ width:100%; height:100%; object-fit:cover; object-position:top; border-radius:1.5rem; }
.travaux .travail h3{ margin:0; font-size:1.2rem; letter-spacing:-.02em; }
.travaux .travail p{ margin:0; font-size:.88rem; color:var(--gris); }
.travaux .travail__pense{ text-align:left; }
@media (min-width:900px){
  .travaux .travaux__grille{ grid-auto-flow:row; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; margin:0; padding:0; }
}

.offres .titre-section{ text-align:center; margin-inline:auto; }
.offres .titre-appui{ max-width:60ch; }
.familles{ display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; padding:.2rem .1rem; margin:0 0 1.8rem; }
.familles::-webkit-scrollbar{ display:none; }
.familles button{
  flex:none; min-height:44px; padding:0 1.1rem; border-radius:999px;
  border:1px solid rgba(242,237,227,.2); background:transparent; color:var(--creme);
  font:600 .92rem/1 var(--texte); cursor:pointer;
}
.familles button[aria-selected="true"]{ background:var(--creme); border-color:var(--creme); color:var(--noir); }
@media (min-width:900px){ .familles{ justify-content:center; } }
.famille + .famille{ margin-top:3rem; }
.avec-onglets .famille + .famille{ margin-top:0; }
.famille__titre{ font-size:1.5rem; margin:0 0 1rem; }
.avec-onglets .famille__titre{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.compare-boite{ position:relative; overflow-x:auto; margin-inline:calc(-1 * var(--marge)); padding-inline:var(--marge); }
.compare{ width:100%; min-width:560px; border-collapse:separate; border-spacing:0; font-size:.93rem; }
.compare th, .compare td{ padding:.9rem .7rem; text-align:center; vertical-align:top; border-bottom:1px solid var(--ligne); }
.compare tbody th{ text-align:left; font-weight:400; color:var(--gris-clair); width:30%; }
.compare thead th{ border-bottom:0; padding-bottom:1.4rem; font-weight:400; }
.compare thead td{ border-bottom:0; }
.compare__conseil{ display:block; margin-bottom:.4rem; font:600 .76rem/1.2 var(--texte); color:var(--or); }
.compare__nom{ display:block; font:700 1.05rem/1.2 var(--titre); letter-spacing:-.01em; color:var(--creme); }
.compare__prix{ display:block; margin:.4rem 0 .15rem; font:800 clamp(1.9rem,1.5rem + 1.6vw,2.6rem)/1 var(--titre); letter-spacing:-.04em; color:var(--creme); }
.compare__sous{ display:block; margin-bottom:.9rem; font-size:.8rem; color:var(--gris); }
.compare thead .bouton{ min-height:38px; padding:0 1rem; font-size:.85rem; width:auto; margin:0; }
.compare th.conseil .bouton{ background:var(--noir); color:var(--creme); border-color:var(--noir); }
.compare td.oui{ vertical-align:middle; }
.compare td.delai{ color:var(--or); font-weight:600; }
.compare td.non{ color:rgba(242,237,227,.25); }
.compare .compare__notes td{ font-size:.82rem; color:var(--gris); text-align:left; }
.offres .offres__apres{ margin:1.6rem auto 0; max-width:62ch; text-align:center; color:var(--gris); }
.famille__seule{ max-width:620px; margin:0 auto; padding:clamp(1.4rem,4vw,2.4rem); border-radius:28px; background:var(--tuile); display:grid; gap:1rem; }
.famille__seule .compare__prix{ margin:0; }
.famille__points{ margin:0; padding-left:1.1rem; color:var(--gris-clair); display:grid; gap:.4rem; }
.famille__seule .metiers__liens{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; list-style:none; }
.famille__seule .metiers__liens a{ display:inline-flex; align-items:center; min-height:40px; padding:0 .9rem; border-radius:999px; border:1px solid rgba(242,237,227,.2); text-decoration:none; }
.famille__seule .bouton{ justify-self:start; width:auto; }

.etapes .titre-section{ text-align:center; margin-inline:auto; }
.etapes__liste{ counter-reset:etape; max-width:760px; margin:0 auto; padding:0; list-style:none; display:block; }
.etapes__liste li{
  counter-increment:etape;
  display:grid; grid-template-columns:auto 1fr; gap:.3rem 1.4rem;
  padding:1.6rem 0; border-top:1px solid var(--ligne);
}
.etapes__liste li::before{
  content:counter(etape); grid-row:span 2;
  font:800 clamp(2.6rem,2rem + 3vw,4rem)/.9 var(--titre); letter-spacing:-.04em; color:var(--or);
}
.etapes__liste .domino{ display:none; }
.etapes__liste h3{ margin:0; font-size:clamp(1.3rem,1.1rem + 1vw,1.8rem); letter-spacing:-.02em; }

.qui__bascule{ display:none; }
.qui .titre-section{ max-width:14ch; }
.zones{ margin:1.6rem 0; border-top:1px solid var(--ligne); border-bottom:1px solid var(--ligne); }
.zones summary{ display:flex; justify-content:space-between; align-items:center; min-height:52px; cursor:pointer; list-style:none; font-weight:600; color:var(--or); }
.zones summary::-webkit-details-marker{ display:none; }
.zones summary::after{ content:"+"; font-size:1.5rem; font-weight:400; }
.zones[open] summary::after{ content:"−"; }
.zones .pied__zone-grille{ padding-bottom:1.2rem; }
.qui .pied__zone-grille h3{ font-family:var(--titre); font-weight:700; letter-spacing:-.01em; }

.avis .titre-section, .questions .titre-section, .contact .titre-section{ text-align:center; margin-inline:auto; }
.avis .wrap{ max-width:760px; }
.questions__liste{ max-width:780px; margin:2rem auto 0; }
.question summary{ min-height:64px; }
.question h3{ font:700 clamp(1.05rem,1rem + .4vw,1.25rem)/1.25 var(--titre); letter-spacing:-.015em; }
.contact .contact__intro{ text-align:center; margin-inline:auto; max-width:44ch; }
.contact .formulaire{ max-width:680px; margin-inline:auto; }
.contact__delai, .contact__direct{ text-align:center; }

.pied .wrap{ display:grid; gap:1.6rem; }
@media (min-width:900px){
  .pied .wrap{ grid-template-columns:1.4fr 1fr 1.1fr .8fr; align-items:start; justify-items:start; text-align:left; }
  .pied .wrap > img{ grid-column:1; grid-row:1; }
  .pied .pied__legal{ grid-column:1; grid-row:2; }
  .pied .pied__social{ grid-column:1; grid-row:3; justify-content:flex-start; }
  .pied .pied__liens{ grid-column:2; grid-row:1 / span 3; }
  .pied .pied__liens + .pied__liens{ grid-column:3; }
  .pied .pied__liens + .pied__liens + .pied__liens{ grid-column:4; }
}
.pied .pied__liens{ display:grid; gap:.5rem; justify-items:start; }
.compare .trait{ display:inline-block; width:14px; height:1px; vertical-align:middle; background:rgba(242,237,227,.3); }
.menu-plein[hidden]{ display:none; }
.nav__logo .nav__nom{ display:inline; letter-spacing:.02em; }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.constat .titre-section{ font-size:clamp(2.2rem,1.3rem + 4.4vw,4.6rem); color:var(--noir); margin:0 auto 1.6rem; }
.travaux .travaux__grille{ grid-template-columns:none; }
.travail__tel .travail__image{ aspect-ratio:auto; height:100%; border:0; background:none; }
.travail:hover .travail__image{ transform:none; }
.travail:hover .travail__tel{ border-color:var(--or); }
@media (min-width:900px){ .travaux .travaux__grille{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.pied{ position:relative; z-index:2; background:var(--noir); }
.constat .titre-section{ font-family:var(--titre); font-weight:800; letter-spacing:-.03em; }
.compare tbody th, .compare thead td{ position:sticky; left:0; z-index:1; background:var(--noir); }
@media (min-width:900px){ .compare tbody th, .compare thead td{ position:static; background:none; } }

:root{ --gris:#ABA59A; --gris-clair:#D6CFC3; --brun:#4A3A31; }

@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  .carte__etapes{ display:grid; top:calc(50% + var(--haut-nav) / 2); transform:translateY(-50%); width:min(720px, 54vw); }
  .carte__phrase{ position:relative; grid-area:1 / 1; align-self:center; }
  .carte__intro h1{ font-size:min(5.6rem, 1.4rem + 5.6vw, 11vh); }
  .carte__phrase{ font-size:min(4.4rem, 1.3rem + 3.6vw, 8.4vh); }
}

.google, .travaux, .offres, .qui, .avis{ background:var(--noir); }
.contact{ background:linear-gradient(rgba(10,10,10,.4), rgba(10,10,10,.4)); }

.constat{ background:var(--or); color:var(--noir); }
.tuiles > article, .tuiles > .marche{ background:var(--noir); color:var(--creme); container-type:inline-size; }
.tuiles .chiffre{ font-size:min(3.6rem, 17cqi); }
.tuiles .marche h2{ color:var(--creme); }
.constat .points i{ background:rgba(10,10,10,.25); }
.constat .points i.on{ background:var(--noir); }

.google__texte.eclaire--texte{
  max-width:30ch; margin:0 auto 1.3rem;
  font:700 clamp(1.3rem,1.05rem + 1vw,1.9rem)/1.28 var(--titre); letter-spacing:-.02em;
  color:var(--creme);
}
.eclaire--texte strong{ font-weight:inherit; }
.eclaire strong .mot.allume, .eclaire--fixe strong .mot{ color:var(--or); }

.selecteur .selecteur__tel{ touch-action:pan-y; }

.bulle{
  position:relative; display:inline-block; flex:none; vertical-align:middle;
  width:1.5rem; height:1.5rem; border-radius:50%;
  background:
    radial-gradient(circle at 33% 27%, rgba(255,255,255,.95) 0 6%, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 50% 55%, rgba(250,228,216,.96) 0%, rgba(233,193,172,.9) 50%, rgba(196,146,124,.82) 100%);
  border:1px solid rgba(255,238,229,.55);
  box-shadow:inset 0 -2px 4px rgba(110,60,40,.35), inset 0 1px 2px rgba(255,255,255,.7), 0 4px 12px -3px rgba(227,183,160,.55);
}
.bulle::after{
  content:""; position:absolute; left:50%; top:46%;
  width:26%; height:48%;
  border:solid var(--noir); border-width:0 2px 2px 0;
  transform:translate(-50%,-50%) rotate(45deg);
}
.conseil .bulle{
  background:
    radial-gradient(circle at 33% 27%, rgba(255,255,255,.5) 0 6%, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 50% 55%, rgba(52,42,37,.94) 0%, rgba(18,15,14,.96) 70%, rgba(10,10,10,.98) 100%);
  border-color:rgba(10,10,10,.6);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.22), 0 4px 10px -3px rgba(10,10,10,.45);
}
.conseil .bulle::after{ border-color:var(--or); }

.compare th.conseil, .compare td.conseil{ background:var(--or); color:var(--noir); }
.compare th.conseil{ border-radius:24px 24px 0 0; padding-top:1.3rem; }
.compare tbody tr:last-child td.conseil{ border-radius:0 0 24px 24px; }
.compare td.conseil{ border-bottom-color:rgba(10,10,10,.14); }
.compare th.conseil .compare__nom, .compare th.conseil .compare__prix, .compare td.delai.conseil{ color:var(--noir); }
.compare th.conseil .compare__conseil{ display:inline-block; padding:.3rem .75rem; border-radius:999px; background:var(--noir); color:var(--or); }
.compare th.conseil .compare__sous, .compare .compare__notes td.conseil{ color:var(--brun); }
.compare td.conseil .trait{ background:rgba(10,10,10,.35); }

.cartes-offres, .cartes-offres + .points{ display:none; }
@media (max-width:899px){
  .compare-boite{ display:none; }
  .cartes-offres{
    display:grid; grid-auto-flow:column; grid-auto-columns:minmax(264px,86%);
    gap:.9rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
    margin-inline:calc(-1 * var(--marge)); padding:.4rem var(--marge) .6rem; scroll-padding-inline:var(--marge);
  }
  .cartes-offres::-webkit-scrollbar{ display:none; }
  .cartes-offres + .points{ display:flex; }
}
.carte-offre{
  scroll-snap-align:start;
  display:flex; flex-direction:column; gap:.75rem;
  padding:1.6rem 1.4rem 1.5rem; border-radius:28px;
  background:var(--tuile); color:var(--creme); text-align:left;
}
.carte-offre > *{ margin:0; }
.carte-offre__conseil{ align-self:flex-start; padding:.35rem .8rem; border-radius:999px; background:var(--noir); color:var(--or); font:600 .78rem/1.2 var(--texte); }
.carte-offre__nom{ font:700 1.2rem/1.15 var(--titre); letter-spacing:-.015em; }
.carte-offre__prix{ font:800 2.9rem/1 var(--titre); letter-spacing:-.04em; }
.carte-offre__sous{ margin-top:-.35rem; font-size:.85rem; color:var(--gris); }
.carte-offre__tout{ font-weight:600; font-size:.95rem; }
.carte-offre__liste{ list-style:none; padding:0; display:grid; gap:.65rem; font-size:.95rem; line-height:1.35; }
.carte-offre__liste li{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:.65rem; align-items:start; padding:0; }
.carte-offre__liste li::before{ content:none; }
.carte-offre__liste .bulle{ width:1.3rem; height:1.3rem; }
.carte-offre__delai{ font-weight:600; font-size:.92rem; color:var(--or); }
.carte-offre__note{ font-size:.85rem; line-height:1.45; color:var(--gris); }
.carte-offre .bouton{ margin-top:auto; width:100%; }
.carte-offre.conseil{ background:var(--or); color:var(--noir); }
.carte-offre.conseil .carte-offre__sous, .carte-offre.conseil .carte-offre__note{ color:var(--brun); }
.carte-offre.conseil .carte-offre__delai{ color:var(--noir); }
.carte-offre.conseil .bouton{ background:var(--noir); color:var(--creme); border-color:var(--noir); }

.etapes{ background:var(--or); color:var(--noir); }
.etapes .titre-section, .etapes__liste h3{ color:var(--noir); }
.etapes__liste li{ border-top-color:rgba(10,10,10,.18); }
.etapes__liste li::before{ color:var(--noir); }
.etapes__liste p{ color:var(--brun); }

.questions{ background:var(--creme); color:var(--noir); }
.questions .titre-section, .questions .question h3{ color:var(--noir); }
.questions .question, .questions .question:last-child{ border-color:rgba(10,10,10,.14); }
.questions .question p{ color:#3A332E; }
.questions .question summary::after{
  display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:50%;
  background:var(--noir); color:var(--creme); font-size:1.25rem;
}
.questions :focus-visible{ outline-color:var(--noir); }
.compare{ table-layout:fixed; }
.compare thead td{ width:31%; }
.etapes__liste li{ grid-template-columns:3.4rem minmax(0,1fr); }
.questions .question summary::after{ font:400 1.5rem/1 var(--texte); }
.carte-offre__tout{ line-height:1.35; }
.selecteur{ overflow-x:clip; }
.nav__logo, .nav__cta, .nav__menu{ position:relative; }
.nav__logo::before, .nav__cta::before, .nav__menu::before{ content:""; position:absolute; }
.nav__logo::before{ inset:-13px -8px; }
.nav__cta::before{ inset:-5px -3px; }
.nav__menu::before{ inset:-2px; }
.compare td.texte{ font-size:.9rem; line-height:1.35; vertical-align:middle; }
.pied__reseau{ display:inline-flex; align-items:center; gap:.5rem; min-height:44px; color:var(--gris-clair); font-size:.85rem; text-decoration:none; }
.pied__reseau svg{ fill:currentColor; }
.pied__reseau:hover{ color:var(--creme); }
.pied__reseau:focus-visible{ outline:2px solid var(--or); outline-offset:2px; }

.metier__tete{ padding-block:calc(var(--haut-nav) + clamp(3rem,8vw,6rem)) clamp(3rem,7vw,5rem); }
.metier__tete .wrap{ display:grid; justify-items:center; text-align:center; }
.metier__tete .surtitre, .erreur404 .surtitre{ display:block; margin:0 0 1rem; color:var(--or); font:600 .95rem/1.3 var(--texte); letter-spacing:0; text-transform:none; }
.metier__titre{ margin:0 0 1.6rem; max-width:14ch; font:800 clamp(2.5rem,1.2rem + 5.2vw,5.4rem)/.98 var(--titre); letter-spacing:-.04em; color:var(--creme); }
.metier__scene{ max-width:46ch; margin:0 auto 1rem; font-size:clamp(1.02rem,.95rem + .4vw,1.2rem); line-height:1.55; color:var(--gris-clair); }
.metier__scene strong{ font-weight:400; color:var(--creme); }
.metier__actions{ justify-content:center; gap:.7rem; margin-top:1.8rem; }

.metier__fait{ background:var(--or); color:var(--noir); }
.metier__fait .titre-section{ text-align:center; margin:0 auto 1.8rem; max-width:16ch; color:var(--noir); }
.metier__fait .metier__liste{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(272px,84%);
  gap:1rem; max-width:none; overflow-x:auto; scroll-snap-type:x mandatory;
  margin-inline:calc(-1 * var(--marge)); padding:.3rem var(--marge) .8rem;
  scrollbar-width:none;
}
.metier__fait .metier__liste::-webkit-scrollbar{ display:none; }
.metier__fait .metier__liste li{
  scroll-snap-align:center;
  display:flex; flex-direction:column; gap:.8rem;
  padding:1.8rem; border-radius:28px;
  background:var(--noir); color:var(--gris-clair); line-height:1.55;
}
.metier__fait .metier__liste li::before{ content:none; }
.metier__fait .metier__liste strong{ margin:0; font:800 1.45rem/1.1 var(--titre); letter-spacing:-.02em; color:var(--creme); }
.metier__fait .points i{ background:rgba(10,10,10,.25); }
.metier__fait .points i.on{ background:var(--noir); }
.section .metier__fait .metier__limite, .metier__fait .metier__limite{ margin:2.4rem auto 0; max-width:60ch; padding:0; border:0; text-align:center; color:var(--brun); }
.metier__fait .metier__limite strong{ font-weight:600; color:var(--noir); }
.section .metier__chiffre{ margin:2rem auto 0; max-width:760px; border:0; border-radius:28px; background:var(--noir); padding:clamp(1.6rem,4vw,2.4rem); }
.metier__chiffre p{ color:var(--gris-clair); line-height:1.6; }
.metier__chiffre strong{ display:block; margin-bottom:.6rem; font:800 clamp(1.35rem,1.1rem + 1vw,1.9rem)/1.15 var(--titre); letter-spacing:-.02em; color:var(--creme); }
.metier__chiffre .constat__source{ font-size:.82rem; color:var(--gris); }
@media (min-width:900px){
  .metier__fait .metier__liste{ grid-auto-flow:row; grid-template-columns:repeat(6,minmax(0,1fr)); overflow:visible; margin:0; padding:0; }
  .metier__fait .metier__liste li{ grid-column:span 2; }
  .metier__fait .metier__liste li:nth-child(n+4):nth-last-child(-n+2){ grid-column:span 3; }
  .metier__fait .points{ display:none; }
}

.legal{ padding-block:0; }
.legal .corps--page > .wrap{ padding-block:calc(var(--haut-nav) + clamp(3rem,7vw,5rem)) var(--respire); }
.legal__titre{ margin:0 0 1rem; font:800 clamp(2.4rem,1.4rem + 4vw,4.4rem)/1 var(--titre); letter-spacing:-.04em; text-wrap:balance; }
.legal__chapo{ border-left:0; padding-left:0; font-size:clamp(1.05rem,1rem + .4vw,1.25rem); line-height:1.55; color:var(--creme); }
.legal h2{ margin:2.8rem 0 .9rem; font:700 clamp(1.3rem,1.15rem + .7vw,1.75rem)/1.2 var(--titre); letter-spacing:-.02em; color:var(--creme); }
.legal p, .legal li{ color:var(--gris-clair); }

.erreur404 h1{ font:800 clamp(2.5rem,1.4rem + 4.4vw,4.6rem)/1 var(--titre); letter-spacing:-.04em; }
.famille__titre{ text-align:center; }
.erreur404{ display:block; min-height:0; padding-block:0; place-items:normal; }
.erreur404 .corps--page > .wrap{ min-height:100svh; display:flex; flex-direction:column; justify-content:center; align-items:center; padding-block:var(--respire); }
@media (max-width:899px){
  .tuiles{ align-items:start; }
  .tuiles > article, .tuiles > .marche{ padding:1.4rem; gap:.7rem; }
  .tuiles h3{ font-size:1.15rem; line-height:1.15; }
  .tuiles p:not(.chiffre){ font-size:.95rem; line-height:1.5; }
  .tuiles .chiffre{ font-size:min(3rem, 15cqi); }
}
@media (max-width:899px){
  .tuiles{ display:flex; flex-direction:column; align-items:stretch; gap:1rem; overflow:visible; scroll-snap-type:none; margin-inline:0; padding:0; }
  .tuiles > article, .tuiles > .marche{ position:sticky; top:68px; border:1px solid rgba(227,183,160,.28); box-shadow:0 -14px 34px rgba(10,10,10,.45); }
  .constat .points{ display:none; }
  .tuiles > [data-anim]{ opacity:1; transform:none; transition:none; }
}
.familles{ flex-wrap:wrap; justify-content:center; overflow:visible; }
.famille__lien{ margin:1.4rem 0 0; text-align:center; }
.famille__lien a{ display:inline-flex; align-items:center; min-height:44px; color:var(--or); text-underline-offset:.25em; }
@media (max-width:860px) and (max-height:720px){
  .carte__voile{ background:linear-gradient(0deg, rgba(10,10,10,.94) 0%, rgba(10,10,10,.82) 55%, rgba(10,10,10,.35) 80%, rgba(10,10,10,0) 92%); }
  .carte__molette{ display:none; }
}
.metier__prix{ max-width:46ch; margin:-.6rem auto 1.4rem; font:600 clamp(1.05rem,.98rem + .4vw,1.25rem)/1.45 var(--texte); color:var(--or); }
.avis__regles{ margin:0 0 1.4rem; }
.avis__regles summary{ display:inline-flex; align-items:center; min-height:44px; cursor:pointer; color:var(--gris-clair); font-size:.92rem; text-decoration:underline; text-underline-offset:4px; list-style:none; }
.avis__regles summary::-webkit-details-marker{ display:none; }
.avis__regles .avis__controle{ margin:.6rem 0 0; }
.prix-outils{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem 1.2rem; margin:0 0 1.4rem; }
.prix-outils__quiz{ min-height:44px; padding:0 1.2rem; border-radius:999px; border:1px solid rgba(227,183,160,.55); background:transparent; color:var(--or); font:600 .95rem/1 var(--texte); cursor:pointer; transition:transform .15s, background .2s; }
.prix-outils__quiz:hover{ background:rgba(227,183,160,.1); }
.prix-outils__quiz:active, .quiz__reponse:active, .bascule:active .bascule__rail{ transform:scale(.96); }
.bascule{ display:inline-flex; align-items:center; gap:.7rem; min-height:44px; padding:0 .3rem; border:0; background:none; color:var(--gris-clair); font:500 .95rem/1.2 var(--texte); cursor:pointer; }
.bascule b{ color:var(--or); font-weight:600; }
.bascule__rail{ position:relative; width:52px; height:30px; border-radius:999px; background:rgba(242,237,227,.14); box-shadow:inset 0 1px 2px rgba(0,0,0,.4); transition:background .25s, transform .15s; flex:none; }
.bascule__pastille{ position:absolute; top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #fff 0, var(--creme) 40%, #cfc6b8 100%); box-shadow:0 2px 6px rgba(0,0,0,.45); transition:transform .28s cubic-bezier(.3,1.4,.5,1); }
.bascule[aria-checked="true"] .bascule__rail{ background:var(--or); }
.bascule[aria-checked="true"] .bascule__pastille{ transform:translateX(22px); }
.bascule:focus-visible, .prix-outils__quiz:focus-visible, .quiz button:focus-visible{ outline:2px solid var(--or); outline-offset:3px; }
.quiz{ position:relative; max-width:640px; margin:0 auto 1.8rem; padding:1.6rem 1.4rem 1.4rem; border-radius:28px; background:var(--tuile); border:1px solid rgba(227,183,160,.22); text-align:center; animation:quiz-entre .35s cubic-bezier(.16,1,.3,1); }
@keyframes quiz-entre{ from{ opacity:0; transform:translateY(10px) scale(.98); } to{ opacity:1; transform:none; } }
.quiz__etapes{ display:flex; justify-content:center; gap:.4rem; margin-bottom:1rem; }
.quiz__etapes i{ width:28px; height:4px; border-radius:2px; background:rgba(242,237,227,.18); transition:background .3s; }
.quiz__etapes i.fait{ background:var(--or); }
.quiz__etapes i.ici{ background:var(--creme); }
.quiz__question{ margin:0 auto 1.1rem; max-width:30ch; font:800 clamp(1.25rem,1.1rem + .8vw,1.6rem)/1.15 var(--titre); letter-spacing:-.02em; color:var(--creme); outline:none; }
.quiz__choix{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }
.quiz__reponse{ min-height:48px; padding:0 1.3rem; border-radius:999px; border:0; background:rgba(242,237,227,.1); color:var(--creme); font:600 1rem/1.2 var(--texte); cursor:pointer; transition:background .2s, transform .15s; }
.quiz__reponse:hover{ background:var(--or); color:var(--noir); }
.quiz__resultat{ margin:0 auto 1.1rem; max-width:40ch; color:var(--gris-clair); line-height:1.5; outline:none; }
.quiz__resultat strong{ display:block; margin-bottom:.3rem; font:800 clamp(1.3rem,1.15rem + .8vw,1.7rem)/1.15 var(--titre); letter-spacing:-.02em; color:var(--or); }
.quiz__actions{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.6rem 1rem; }
.quiz__actions .bouton{ width:auto; }
.quiz__refaire, .quiz__fermer{ min-height:44px; padding:0 .6rem; border:0; background:none; color:var(--gris-clair); font:500 .9rem/1 var(--texte); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.quiz__fermer{ position:absolute; top:.4rem; right:.6rem; text-decoration:none; font-size:.85rem; }
.compare th.choisie, .compare td.choisie{ box-shadow:inset 2px 0 0 var(--or), inset -2px 0 0 var(--or); }
.compare th.choisie{ box-shadow:inset 2px 0 0 var(--or), inset -2px 0 0 var(--or), inset 0 2px 0 var(--or); }
.compare th.conseil.choisie, .compare td.conseil.choisie{ box-shadow:inset 2px 0 0 var(--noir), inset -2px 0 0 var(--noir); }
.carte-offre.choisie{ outline:2px solid var(--or); outline-offset:3px; animation:choisie .6s ease-out; }
.carte-offre.conseil.choisie{ outline-color:var(--creme); }
@keyframes choisie{ 0%{ transform:scale(.97); } 60%{ transform:scale(1.02); } 100%{ transform:none; } }
.roule{ font-variant-numeric:tabular-nums; }
@media (prefers-reduced-motion:reduce){ .quiz, .carte-offre.choisie{ animation:none; } .bascule__pastille, .bascule__rail{ transition:none; } }
.quiz [hidden]{ display:none !important; }
[id]{ scroll-margin-top:72px; }
.formulaire textarea{ field-sizing:content; min-height:5.5rem; }
.champ.est-valide > label::after{ content:""; display:inline-block; width:.85em; height:.45em; margin:0 0 .2em .55em; border-left:2px solid var(--or); border-bottom:2px solid var(--or); transform:rotate(-45deg); vertical-align:middle; }
@media (prefers-reduced-motion:no-preference){
  .bouton{ transition:color .35s, transform .12s ease; }
  .nav__cta, .familles button, .choix__grille label, .offre__cta, .question summary, .pied__reseau, .famille__lien a{ transition:transform .12s ease, background-color .2s, color .2s, border-color .2s; }
  .bouton:active, .nav__cta:active, .familles button:active, .choix__grille label:active, .offre__cta:active, .question summary:active, .pied__reseau:active, .famille__lien a:active{ transform:scale(.97); }
  @view-transition{ navigation:auto; }
  ::view-transition-old(root), ::view-transition-new(root){ animation-duration:.22s; }
}
.pied__contact{ display:flex; flex-wrap:wrap; gap:0 1.2rem; margin-bottom:.4rem; }
.pied__contact a{ display:inline-flex; align-items:center; min-height:44px; color:var(--creme); font-size:1rem; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:899px){ .pied__contact{ justify-content:center; } }

.champ label, .choix legend{ margin-bottom:.45rem; font:600 .92rem/1.3 var(--texte); letter-spacing:0; text-transform:none; color:var(--gris-clair); }
.champ__option{ font-size:.85em; font-weight:400; letter-spacing:0; color:var(--gris); }
.champ input, .champ textarea{ min-height:54px; padding:.85rem 1rem; border-radius:16px; border:1px solid var(--ligne); background:rgba(26,24,23,.94); color:var(--creme); font:500 16px/1.35 var(--texte); transition:border-color .2s, box-shadow .2s; }
.champ input:focus, .champ textarea:focus{ border-color:var(--or); box-shadow:0 0 0 3px rgba(227,183,160,.18); }
.champ.est-invalide input, .champ.est-invalide textarea{ border-color:#E4735F; }
.champ{ margin-bottom:1.1rem; }
.choix__grille label{ min-height:44px; padding:0 1rem; border-radius:999px; border:1px solid rgba(227,183,160,.38); background:rgba(10,10,10,.45); font-weight:600; }
.choix__grille input:checked + label{ background:var(--creme); border-color:var(--creme); color:var(--noir); }
.formulaire, .formulaire-google, .formulaire-avis{ text-align:left; }

.formulaire.conv-on > .champ, .formulaire.conv-on > .choix{ display:none; }
.formulaire.conv-on:not(.conv-finie) > .h-captcha{ height:0; min-height:0; margin:0; overflow:hidden; visibility:hidden; }
.formulaire.conv-on:not(.conv-finie) > button[type=submit]{ display:none; }
.conv{ margin:0 0 1rem; border-radius:24px; background:rgba(18,16,15,.92); border:1px solid var(--ligne); overflow:hidden; }
.conv__tete{ display:flex; align-items:center; gap:.65rem; padding:.7rem 1rem; border-bottom:1px solid var(--ligne); background:rgba(26,24,23,.96); }
.conv__tete img{ flex:none; width:34px; height:34px; border-radius:9px; }
.conv__tete b{ display:block; font:700 .95rem/1.2 var(--texte); color:var(--creme); }
.conv__tete small{ display:block; font-size:.78rem; color:var(--gris); }
.conv__fil{ display:flex; flex-direction:column; gap:.45rem; padding:1rem .8rem; }
.conv__lui, .conv__vous{ max-width:85%; margin:0; padding:.6rem .9rem; font:500 1rem/1.4 var(--texte); overflow-wrap:anywhere; }
.conv__lui{ align-self:flex-start; border-radius:20px 20px 20px 6px; background:#25211F; color:var(--creme); }
.conv__vous{ align-self:flex-end; min-height:44px; border:0; border-radius:20px 20px 6px 20px; background:var(--or); color:var(--noir); text-align:left; cursor:pointer; }
.conv__vous:hover{ background:var(--or-clair); }
.conv__vous:disabled{ cursor:default; opacity:.75; }
.conv__vous--num{ font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.conv__ecrit{ align-self:flex-start; display:flex; gap:4px; padding:.8rem .95rem; border-radius:20px 20px 20px 6px; background:#25211F; }
.conv__ecrit i{ width:6px; height:6px; border-radius:50%; background:var(--gris); }
.conv__zone{ padding:.65rem .8rem .8rem; border-top:1px solid var(--ligne); background:rgba(26,24,23,.96); }
.conv__zone:empty{ display:none; }
.conv__puces{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.conv__puces--passer{ margin-top:.5rem; }
.conv__puce{ min-height:44px; padding:0 1rem; border-radius:999px; border:1px solid rgba(227,183,160,.38); background:rgba(10,10,10,.45); color:var(--creme); font:600 .92rem/1.2 var(--texte); cursor:pointer; }
.conv__puce:hover{ border-color:var(--or); }
.conv__puce[aria-pressed="true"]{ background:var(--creme); border-color:var(--creme); color:var(--noir); }
.conv__puce--passer{ border-style:dashed; color:var(--gris-clair); }
.conv__saisie{ display:flex; align-items:flex-end; gap:.5rem; }
.conv__saisie input, .conv__saisie textarea{ flex:1; min-width:0; min-height:48px; max-height:9rem; padding:.75rem 1rem; border-radius:24px; border:1px solid var(--ligne); background:var(--noir); color:var(--creme); font:500 16px/1.3 var(--texte); resize:none; field-sizing:content; outline:none; }
.conv__saisie input:focus, .conv__saisie textarea:focus{ border-color:var(--or); box-shadow:0 0 0 3px rgba(227,183,160,.18); }
.conv__saisie [aria-invalid="true"]{ border-color:#E4735F; }
.conv__envoyer{ flex:none; display:grid; place-items:center; width:48px; height:48px; border:0; border-radius:50%; background:var(--or); color:var(--noir); cursor:pointer; }
.conv__envoyer svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.conv__aide{ margin:.4rem .4rem 0; font-size:.85rem; color:#E4735F; }
.conv__aide:empty{ display:none; }
.conv button:focus-visible, .conv input:focus-visible, .conv textarea:focus-visible{ outline:2px solid var(--or); outline-offset:2px; }
@media (prefers-reduced-motion:no-preference){
  .conv__lui, .conv__vous, .conv__zone > *{ animation:conv-pop .26s cubic-bezier(.3,1.3,.5,1); }
  .conv__fil--calme > *{ animation:none; }
  .conv__ecrit i{ animation:conv-point 1s infinite ease-in-out; }
  .conv__ecrit i:nth-child(2){ animation-delay:.15s; }
  .conv__ecrit i:nth-child(3){ animation-delay:.3s; }
  .conv__puce, .conv__vous, .conv__envoyer{ transition:transform .12s ease, background-color .2s, border-color .2s; }
  .conv__puce:active, .conv__vous:active, .conv__envoyer:active{ transform:scale(.96); }
  .formulaire.conv-finie > .h-captcha, .formulaire.conv-finie > button[type=submit]{ animation:conv-pop .35s ease-out; }
}
@keyframes conv-pop{ from{ opacity:0; transform:translateY(6px) scale(.97); } to{ opacity:1; transform:none; } }
@keyframes conv-point{ 0%,60%,100%{ opacity:.35; transform:none; } 30%{ opacity:1; transform:translateY(-3px); } }
.bouton--plein{ min-height:54px; margin-top:.4rem; border:0; background:var(--or); color:var(--noir); font-size:1rem; font-weight:700; }
.bouton--plein::after{ background:var(--or-clair); }
.bouton--plein:hover{ color:var(--noir); }
.bouton--plein:disabled{ opacity:.6; cursor:wait; }
:root{ color-scheme:dark; }
@media (pointer:coarse) and (prefers-reduced-motion:no-preference){
  .carte__molette span{ top:auto; bottom:7px; animation-name:carte-glisse; }
}
@keyframes carte-glisse{
  0%{ transform:translateY(0); opacity:0; }
  25%{ opacity:1; }
  70%{ transform:translateY(-12px); opacity:0; }
  100%{ transform:translateY(-12px); opacity:0; }
}
.avis__liste{ gap:1rem; margin:0 0 1.6rem; }
.avis__carte{ border:0; border-radius:24px; background:var(--tuile); padding:clamp(1.3rem,4vw,1.9rem); }
.avis__etoiles{ margin:0 0 .8rem; font-size:1.3rem; letter-spacing:.14em; line-height:1; color:var(--or); }
.avis__carte blockquote{ margin:0 0 1.1rem; font:500 clamp(1.05rem,1rem + .3vw,1.2rem)/1.55 var(--texte); color:var(--creme); }
.avis__carte footer{ font-size:.92rem; font-weight:600; color:var(--gris-clair); line-height:1.5; }
.avis__date{ font-size:.8rem; font-weight:400; letter-spacing:0; color:var(--gris); opacity:1; }
.avis__vide{ border:0; border-radius:24px; background:var(--tuile); padding:1.2rem 1.4rem; color:var(--gris-clair); text-align:center; }
.avis__depot{ border-top:0; padding-top:0; }
.avis__depot summary{ display:inline-flex; align-items:center; min-height:44px; padding:0; font:600 .95rem/1.3 var(--texte); letter-spacing:0; text-transform:none; color:var(--or); text-decoration:underline; text-underline-offset:4px; list-style:none; cursor:pointer; }
.avis__depot summary::-webkit-details-marker{ display:none; }
.avis__depot .formulaire-avis{ margin-top:1rem; padding:clamp(1.2rem,4vw,1.9rem); border-radius:24px; background:var(--tuile); }
.etoiles legend{ margin-bottom:.45rem; font:600 .92rem/1.3 var(--texte); letter-spacing:0; text-transform:none; color:var(--gris-clair); }
.etoiles__grille svg{ width:36px; height:36px; stroke:rgba(227,183,160,.5); }
.whatsapp{ position:fixed; z-index:40; right:calc(16px + env(safe-area-inset-right, 0px)); bottom:calc(16px + env(safe-area-inset-bottom, 0px)); display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:var(--or); color:var(--noir); box-shadow:0 10px 26px -8px rgba(0,0,0,.7), 0 0 0 1px rgba(10,10,10,.35); }
.whatsapp svg{ width:28px; height:28px; fill:currentColor; }
.whatsapp:hover{ background:var(--or-clair); }
.js .whatsapp{ opacity:0; visibility:hidden; transform:translateY(12px) scale(.9); transition:opacity .25s, transform .25s, visibility 0s .25s; }
.js .whatsapp.est-visible{ opacity:1; visibility:visible; transform:none; transition:opacity .25s, transform .25s, visibility 0s; }
.whatsapp:active{ transform:scale(.94); }
.contact__direct .contact__whatsapp{ display:inline-flex; align-items:center; gap:.55rem; min-height:48px; margin-top:.9rem; padding:0 1.2rem; border:1px solid rgba(227,183,160,.55); border-radius:999px; color:var(--or); font:600 .95rem/1 var(--texte); text-decoration:none; }
.contact__whatsapp svg{ width:20px; height:20px; fill:currentColor; }
.contact__direct .contact__whatsapp:hover{ background:rgba(227,183,160,.1); border-color:var(--or); }
@media (prefers-reduced-motion:reduce){ .js .whatsapp, .js .whatsapp.est-visible{ transition:none; transform:none; } }
.contact__direct .contact__tel{ border-radius:16px; }
.copier__bouton{ border-radius:999px; padding:.4rem .8rem; }
.guide .titre-section{ text-align:center; margin:0 auto 1.8rem; max-width:18ch; }
.guide__liste{ list-style:none; display:grid; gap:.8rem; max-width:880px; margin:0 auto; padding:0; }
@media (min-width:760px){ .guide__liste{ grid-template-columns:1fr 1fr; } }
.guide__liste + .guide__liste{ margin-top:.8rem; }
.guide__liste li:only-child{ grid-column:1 / -1; }
.guide__liste li{ padding:1.3rem 1.4rem; border-radius:24px; background:var(--tuile); color:var(--gris-clair); line-height:1.55; }
.guide__liste strong{ display:block; margin-bottom:.4rem; font:800 1.25rem/1.15 var(--titre); letter-spacing:-.02em; color:var(--creme); }
.guide .constat__source, .guide .metier__limite{ max-width:60ch; margin:1.6rem auto 0; padding:0; border:0; text-align:center; font-size:.88rem; color:var(--gris); }
.guide .metier__limite a{ color:var(--or); text-underline-offset:3px; }
.guide--or{ background:var(--or); color:var(--noir); }
.guide--or .titre-section{ color:var(--noir); }
.guide--or .guide__liste li{ background:var(--noir); }
.guide--or .constat__source, .guide--or .metier__limite{ color:var(--brun); }
.guide--or .metier__limite a{ color:var(--noir); }
