/* ═══════════════════════════════════════════════════════════════════
   ÉTATS POUR HABITAT — DESIGN SYSTEM · REFONTE 2026
   Direction artistique : « Révéler l'invisible »
   Extrait de la maquette flagship (docs/maquette-flagship.html)
   ═══════════════════════════════════════════════════════════════════ */

/* ══════════════ 00 · TOKENS ══════════════ */
:root{
  --encre:#0C1322;
  --encre-2:#111B30;
  --encre-3:#18233D;
  --calcaire:#F2EDE4;
  --calcaire-2:#E9E2D4;
  --craie:#FBF8F2;
  --infrarouge:#FF4E1A;
  --infrarouge-h:#FF6B3D;
  --halogene:#FFB84D;
  --scan:#5B8CFF;
  --scan-dim:rgba(91,140,255,.28);
  --grid-line:rgba(91,140,255,.10);
  --blanc:#FFFFFF;
  --texte-nuit:#C9D4EC;
  --texte-nuit-dim:#93A0BC;
  --texte-jour:#1A2233;
  --texte-jour-dim:#5B6478;
  --dpe-a:#1B8A3F;--dpe-b:#52B153;--dpe-c:#B8CF3E;--dpe-d:#F2DC3B;--dpe-e:#EDB731;--dpe-f:#E76D2C;--dpe-g:#D7263D;
  /* Arc DPE — le dégradé du logo (vert → jaune → orange → rouge), langage de l'étiquette énergie */
  --arc-dpe:linear-gradient(90deg,var(--dpe-a) 0%,var(--dpe-b) 16%,var(--dpe-c) 34%,var(--dpe-d) 52%,var(--dpe-e) 68%,var(--dpe-f) 84%,var(--dpe-g) 100%);
  --arc-dpe-v:linear-gradient(180deg,var(--dpe-a) 0%,var(--dpe-b) 16%,var(--dpe-c) 34%,var(--dpe-d) 52%,var(--dpe-e) 68%,var(--dpe-f) 84%,var(--dpe-g) 100%);
  --rampe:var(--arc-dpe); /* alias : tous les usages décoratifs héritent de l'arc du logo */
  /* Typo « Suisse premium » : grotesque contemporaine + Inter + mono instrument */
  --f-display:'Schibsted Grotesk','Inter',sans-serif;
  --f-serif:'Schibsted Grotesk','Inter',sans-serif;
  --f-sans:'Inter',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono',monospace;
  --fs-hero:clamp(2.35rem,8.6vw,6.2rem);
  --fs-h2:clamp(1.9rem,6vw,4.1rem);
  --fs-h3:clamp(1.2rem,3.4vw,1.7rem);
  --fs-body:clamp(.98rem,2.4vw,1.08rem);
  --fs-mono:clamp(.74rem,2vw,.82rem);
  --pad-x:clamp(1.25rem,5vw,4.5rem);
  --pad-sec:clamp(4.5rem,12vw,9rem);
  --r-card:1.1rem;
  --r-chip:.45rem;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-scan:cubic-bezier(.65,0,.35,1);
  --shadow-fiche:0 18px 50px -18px rgba(12,19,34,.35);
}

/* ══════════════ 01 · BASE ══════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-sans);
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--texte-jour);
  background:var(--calcaire);
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}
ul{list-style:none}
::selection{background:var(--infrarouge);color:var(--craie)}

.section{padding:var(--pad-sec) var(--pad-x);position:relative}
.section--nuit{background:var(--encre);color:var(--texte-nuit)}
.section--nuit::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 100%);
}
.section--jour{background:var(--calcaire)}
.section--craie{
  background:var(--craie);
  /* texture pierre calcaire très atténuée (MJ · prompt 6) */
  background-image:linear-gradient(rgba(251,248,242,.95),rgba(251,248,242,.95)),url(/assets/img/texture-calcaire.webp);
  background-size:auto,cover;
}
.wrap{max-width:1280px;margin:0 auto;position:relative;z-index:1}

/* Typo utilitaires */
.eyebrow{
  font-family:var(--f-mono);font-size:var(--fs-mono);font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:2.2em;height:1px;background:currentColor;opacity:.55}
.section--nuit .eyebrow{color:var(--scan)}
.section--jour .eyebrow,.section--craie .eyebrow{color:var(--infrarouge)}
.h-display{
  font-family:var(--f-display);
  font-weight:700;
  line-height:1.04;letter-spacing:-.018em;
  font-size:var(--fs-h2);
  margin:.55em 0 .5em;
}
.section--nuit .h-display{color:var(--craie)}
.serif-note{
  font-family:var(--f-serif);font-style:italic;font-weight:460;
  font-size:clamp(1.15rem,3.6vw,1.55rem);line-height:1.45;letter-spacing:.005em;
}
.section--nuit .serif-note{color:var(--texte-nuit)}
.section--jour .serif-note,.section--craie .serif-note{color:var(--texte-jour-dim)}
.lead{max-width:56ch;color:inherit}
.section--jour .lead,.section--craie .lead{color:var(--texte-jour-dim)}
.section--nuit .lead{color:var(--texte-nuit-dim)}

/* Chips fiche technique */
.chip{
  font-family:var(--f-mono);font-size:var(--fs-mono);font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  padding:.42em .8em;border-radius:var(--r-chip);
  border:1px solid currentColor;display:inline-block;white-space:nowrap;
}
.chip--plein{background:var(--infrarouge);border-color:var(--infrarouge);color:var(--craie)}

/* Boutons */
.btn{
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--f-sans);font-weight:650;
  font-size:clamp(.92rem,2.4vw,1.02rem);letter-spacing:.01em;
  padding:1em 1.7em;border-radius:.65rem;
  transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .3s;
  position:relative;overflow:hidden;
}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn--feu{background:var(--infrarouge);color:var(--craie);box-shadow:0 12px 30px -10px rgba(255,78,26,.55)}
.btn--feu:hover{background:var(--infrarouge-h);transform:translateY(-2px)}
.btn--ligne{border:1px solid currentColor}
.btn--ligne:hover{transform:translateY(-2px)}
.btn--craie{background:var(--craie);color:var(--encre)}
.btn:active{transform:translateY(0) scale(.985)}

/* Révélations au scroll — l'état masqué n'existe que si JS est là (classe js sur <html>) */
.rvl{transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.js .rvl{opacity:0;transform:translateY(26px)}
.rvl.est-visible,.js .rvl.est-visible{opacity:1;transform:none}
.rvl-d1{transition-delay:.08s}.rvl-d2{transition-delay:.16s}.rvl-d3{transition-delay:.24s}

/* ══════════════ 02 · LOADER CALIBRATION ══════════════ */
.loader{
  position:fixed;inset:0;z-index:200;background:var(--encre);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;
  transition:opacity .5s var(--ease-out),visibility .5s;
}
.loader.est-fini{opacity:0;visibility:hidden}
.loader__logo{
  width:clamp(76px,11vw,104px);height:auto;
  animation:loader-pop .65s var(--ease-out) backwards;
}
@keyframes loader-pop{from{opacity:0;transform:scale(.85)}}
.loader__mot{
  font-family:var(--f-serif);font-style:italic;font-weight:460;
  font-size:clamp(1rem,2.6vw,1.2rem);letter-spacing:.02em;
  color:var(--texte-nuit);
  animation:loader-pop .65s var(--ease-out) .15s backwards;
}
.loader__barre{width:min(220px,55vw);height:2px;background:var(--encre-3);border-radius:2px;overflow:hidden}
.loader__barre i{display:block;height:100%;width:100%;background:var(--rampe);transform:translateX(-100%);animation:calib 1s var(--ease-scan) forwards}
@keyframes calib{to{transform:translateX(0)}}

/* ══════════════ 03 · HEADER ══════════════ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:102; /* au-dessus du menu (101) : burger accessible menu ouvert */
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.9rem var(--pad-x);
  transition:background .4s,box-shadow .4s,padding .4s;
}
.header.est-solide{background:rgba(12,19,34,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(91,140,255,.18);padding:.65rem var(--pad-x)}
.est-ouvert .header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.marque{display:flex;align-items:center;gap:.7rem;line-height:1;color:var(--craie);z-index:102}
.marque__picto{width:clamp(42px,5.5vw,50px);height:auto;flex:none;border-radius:50%;box-shadow:0 4px 14px -4px rgba(0,0,0,.5)}
.marque__txt{display:flex;flex-direction:column}
.marque__nom{font-family:var(--f-display);font-weight:700;font-size:clamp(1.02rem,3vw,1.22rem);letter-spacing:-.01em}
.marque__ss{font-family:var(--f-mono);font-size:.55rem;letter-spacing:.3em;color:var(--scan);margin-top:.4em;text-transform:uppercase}

/* Navigation hybride — liens visibles ≥1000px */
.header__nav{display:none;align-items:center;gap:clamp(1.2rem,2.5vw,2.2rem)}
.header__nav a{
  font-family:var(--f-sans);font-weight:500;font-size:.95rem;letter-spacing:.01em;
  color:var(--craie);position:relative;padding:.3em 0;
}
.header__nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--rampe);transition:right .35s var(--ease-scan);
}
.header__nav a:hover::after,.header__nav a[aria-current="page"]::after{right:0}
.header__cta{display:none;padding:.68em 1.25em;font-size:.92rem}

/* Pastille « Espace client » — signature exclusive : bordure en arc DPE */
.btn-espace{
  position:relative;display:none;align-items:center;gap:.55em;overflow:hidden;
  font-family:var(--f-sans);font-weight:650;font-size:.92rem;letter-spacing:.01em;
  color:var(--craie);padding:.66em 1.15em;border-radius:.65rem;
  border:1.5px solid transparent;
  background:linear-gradient(var(--encre-2),var(--encre-2)) padding-box,var(--arc-dpe) border-box;
  transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);
}
.btn-espace svg{width:1em;height:1em;flex:none;color:var(--halogene)}
.btn-espace::after{ /* éclat qui balaie la pastille au survol */
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(251,248,242,.16) 50%,transparent 68%);
  transform:translateX(-110%);
}
.btn-espace:hover{transform:translateY(-2px);box-shadow:0 12px 32px -14px rgba(215,38,61,.55)}
.btn-espace:hover::after{animation:eclat-espace .7s var(--ease-scan)}
.btn-espace[aria-current="page"]{box-shadow:0 0 26px -8px rgba(255,184,77,.55)}
@keyframes eclat-espace{to{transform:translateX(110%)}}
@media(min-width:1000px){.header__actions .btn-espace{display:inline-flex}}
.menu .btn-espace{display:inline-flex}
.header__actions{display:flex;align-items:center;gap:.6rem;z-index:102}
.burger{
  width:46px;height:46px;border-radius:.55rem;border:1px solid rgba(201,212,236,.3);
  display:grid;place-items:center;gap:0;position:relative;color:var(--craie);
}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease-out),top .4s var(--ease-out),opacity .3s}
.burger i:nth-child(1){top:16px}.burger i:nth-child(2){top:22px}.burger i:nth-child(3){top:28px}
.est-ouvert .burger i:nth-child(1){top:22px;transform:rotate(45deg)}
.est-ouvert .burger i:nth-child(2){opacity:0}
.est-ouvert .burger i:nth-child(3){top:22px;transform:rotate(-45deg)}

/* Menu plein écran */
.menu{
  position:fixed;inset:0;z-index:101;background:var(--encre);
  padding:calc(5.5rem + env(safe-area-inset-top)) var(--pad-x) 2.5rem;
  display:flex;flex-direction:column;justify-content:space-between;
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .65s var(--ease-scan),visibility .65s;
}
.est-ouvert .menu{clip-path:inset(0 0 0 0);visibility:visible}
.menu::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.menu__liens{display:flex;flex-direction:column;gap:.15em;position:relative}
.menu__lien{
  display:flex;align-items:baseline;gap:.8em;color:var(--craie);
  font-family:var(--f-display);font-weight:640;
  font-size:clamp(1.8rem,7.5vw,3.2rem);line-height:1.22;letter-spacing:-.015em;
  opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),color .3s;
}
.menu__lien:hover{color:var(--halogene)}
.menu__lien small{font-family:var(--f-mono);font-size:.42em;font-weight:400;letter-spacing:.18em;color:var(--scan)}
.est-ouvert .menu__lien{opacity:1;transform:none}
.est-ouvert .menu__lien:nth-child(1){transition-delay:.15s}.est-ouvert .menu__lien:nth-child(2){transition-delay:.21s}
.est-ouvert .menu__lien:nth-child(3){transition-delay:.27s}.est-ouvert .menu__lien:nth-child(4){transition-delay:.33s}
.est-ouvert .menu__lien:nth-child(5){transition-delay:.39s}.est-ouvert .menu__lien:nth-child(6){transition-delay:.45s}
/* Liens secondaires du menu */
.menu__secondaire{
  position:relative;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:2rem;
  opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out) .5s,transform .5s var(--ease-out) .5s;
}
.est-ouvert .menu__secondaire{opacity:1;transform:none}
.menu__secondaire a{
  font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--texte-nuit-dim);padding:.4em 0;transition:color .3s;
}
.menu__secondaire a:hover{color:var(--halogene)}

.menu__pied{position:relative;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end;font-family:var(--f-mono);font-size:var(--fs-mono);color:var(--texte-nuit-dim);letter-spacing:.1em}
.menu__pied a{color:var(--craie)}
.menu__pied .btn{font-family:var(--f-sans)}

/* ══════════════ 04 · HERO ══════════════ */
.hero{
  min-height:min(100svh,56rem);display:flex;flex-direction:column;justify-content:flex-end;
  padding:calc(6rem + env(safe-area-inset-top)) var(--pad-x) 0;
  background:var(--encre);color:var(--texte-nuit);position:relative;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(130% 100% at 50% 100%,#000 40%,transparent 100%);
}
.hero::after{ /* halo thermique bas */
  content:"";position:absolute;left:50%;bottom:-30%;width:140%;height:60%;transform:translateX(-50%);
  background:radial-gradient(50% 60% at 50% 100%,rgba(255,78,26,.18),transparent 70%);
  pointer-events:none;
}
.hero__grille{position:relative;z-index:1;max-width:1280px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:2.2rem}
.hero__texte{max-width:820px}
.hero__eyebrow{color:var(--scan)}
.hero__h1{
  font-family:var(--f-display);font-weight:700;
  font-size:calc(var(--fs-hero) * .92);line-height:1.04;letter-spacing:-.02em;color:var(--craie);
  margin:.45em 0 .4em;
}
.hero__h1 .mot-scan{font-style:italic;font-weight:640}
.hero__h1 .mot-scan{
  background:var(--rampe);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__note{max-width:52ch}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.9rem}
.hero__ctas .btn--ligne{color:var(--craie);border-color:rgba(201,212,236,.35)}
.hero__ctas .btn--ligne:hover{border-color:var(--halogene);color:var(--halogene)}

/* Coupe diagnostique — scène hero */
.coupe-scene{position:relative;margin:1.5rem calc(var(--pad-x) * -1) 0;padding:0 var(--pad-x)}
.coupe{position:relative;width:100%;max-width:940px;margin:0 auto}
.coupe svg{width:100%;height:auto;overflow:visible}
.coupe .trait{stroke:var(--scan);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.coupe .trait--fin{stroke-width:1;opacity:.45}
.coupe .sol{stroke:var(--texte-nuit-dim);stroke-width:1.4;stroke-dasharray:2 7}
.coupe .cote{stroke:var(--texte-nuit-dim);stroke-width:1;opacity:.6}
.coupe .cote-txt{font-family:var(--f-mono);font-size:11px;fill:var(--texte-nuit-dim);letter-spacing:.14em}
.coupe .zone-chaude{opacity:0;transition:opacity .8s var(--ease-out)}
.coupe.est-scanne .zone-chaude{opacity:1}

/* Ligne de balayage */
.scanline{
  position:absolute;top:-4%;bottom:-4%;width:2px;left:0;
  background:linear-gradient(180deg,transparent,var(--halogene) 30%,var(--infrarouge) 70%,transparent);
  box-shadow:0 0 22px 4px rgba(255,120,50,.45);
  opacity:0;pointer-events:none;
}
.coupe.est-scanne .scanline{animation:balayage 2.2s var(--ease-scan) forwards}
@keyframes balayage{
  0%{left:0;opacity:0}
  8%{opacity:1}
  92%{opacity:1}
  100%{left:100%;opacity:0}
}

/* Hotspots */
.spot{cursor:pointer}
.spot circle.coeur{fill:var(--infrarouge)}
.spot circle.onde{fill:none;stroke:var(--infrarouge);stroke-width:1.5;opacity:0;transform-origin:center;transform-box:fill-box}
.coupe.est-scanne .spot circle.onde{animation:pulse 2.6s ease-out infinite}
.spot:nth-of-type(2) circle.onde{animation-delay:.4s}.spot:nth-of-type(3) circle.onde{animation-delay:.8s}
.spot:nth-of-type(4) circle.onde{animation-delay:1.2s}.spot:nth-of-type(5) circle.onde{animation-delay:1.6s}
.spot:nth-of-type(6) circle.onde{animation-delay:2s}
@keyframes pulse{0%{transform:scale(.4);opacity:.8}70%{transform:scale(2.4);opacity:0}100%{opacity:0}}
.spot .tag{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;fill:var(--texte-nuit);opacity:0;transition:opacity .5s .2s}
.coupe.est-scanne .spot .tag{opacity:.9}
.spot.est-actif circle.coeur{fill:var(--halogene)}
.spot.est-actif .tag{fill:var(--halogene);opacity:1}

/* Bandeau départements défilant */
.ticker{
  position:relative;z-index:1;margin-top:2.5rem;border-top:1px solid rgba(91,140,255,.22);
  overflow:hidden;padding:1rem 0 calc(1rem + env(safe-area-inset-bottom));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ticker__file{display:flex;gap:3.2rem;width:max-content;animation:defile 26s linear infinite}
.ticker__file span{font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--texte-nuit-dim);white-space:nowrap;display:flex;align-items:center;gap:3.2rem}
.ticker__file b{color:var(--halogene);font-weight:500}
@keyframes defile{to{transform:translateX(-50%)}}

/* ══════════════ 05 · PREUVES ══════════════ */
.preuves{display:grid;grid-template-columns:1fr;gap:1px;background:var(--calcaire-2);border-radius:var(--r-card);overflow:hidden;border:1px solid var(--calcaire-2)}
.preuve{background:var(--craie);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}
.preuve__val{font-family:var(--f-display);font-weight:700;font-size:clamp(1.6rem,5.5vw,2.3rem);line-height:1;color:var(--texte-jour)}
.preuve__val em{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:.62em;color:var(--infrarouge)}
.preuve__lbl{font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--texte-jour-dim)}

/* ══════════════ 06 · FICHES DECK (coupe interactive) ══════════════ */
.deck{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:1.5rem var(--pad-x) 2rem;margin:0 calc(var(--pad-x) * -1);
  scrollbar-width:none;
}
.deck::-webkit-scrollbar{display:none}
.fiche{
  scroll-snap-align:center;flex:0 0 min(82vw,340px);
  background:var(--encre-2);border:1px solid rgba(91,140,255,.22);border-radius:var(--r-card);
  padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:.9rem;
  transition:border-color .4s,transform .4s var(--ease-out),background .4s;
}
.fiche.est-active{border-color:var(--halogene);background:var(--encre-3);transform:translateY(-6px)}
.fiche__tete{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.fiche__idx{font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.2em;color:var(--scan)}
.fiche__nom{font-family:var(--f-display);font-weight:660;font-size:1.35rem;color:var(--craie);line-height:1.15}
.fiche__txt{font-size:.92rem;color:var(--texte-nuit-dim);line-height:1.6;flex:1}
.fiche__pied{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}
.fiche .chip{color:var(--halogene);border-color:rgba(255,184,77,.5);font-size:.68rem}
.fiche__lien{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;color:var(--craie);display:inline-flex;gap:.5em;align-items:center;text-transform:uppercase}
.fiche__lien:hover{color:var(--halogene)}
/* Desktop : les 6 fiches en grille complète (le carrousel coupé à droite ne vit que sur mobile/tablette) */
@media(min-width:1000px){
  .deck{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;overflow:visible;margin:0;padding:1.8rem 0 0;scroll-snap-type:none}
  .fiche{width:auto}
}

/* ══════════════ 07 · INDEX DIAGNOSTICS ══════════════ */
.catalogue{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:2.5rem}
.presta{
  position:relative;background:var(--craie);border:1px solid var(--calcaire-2);border-radius:var(--r-card);
  padding:1.35rem 1.3rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s;overflow:hidden;
}
.presta::before{ /* liseré arc DPE gauche */
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--arc-dpe-v);
  transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease-scan);
}
.presta:hover{transform:translateX(4px);box-shadow:var(--shadow-fiche);border-color:transparent}
.presta:hover::before{transform:scaleY(1)}
.presta__idx{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.16em;color:var(--infrarouge);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}
.presta__corps h3{font-family:var(--f-display);font-weight:650;font-size:1.18rem;color:var(--texte-jour);margin-bottom:.25em}
.presta__corps p{font-size:.88rem;color:var(--texte-jour-dim);line-height:1.5}
.presta__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}
.presta__meta .chip{color:var(--texte-jour-dim);border-color:var(--calcaire-2);font-size:.66rem}
.presta__fleche{width:34px;height:34px;border-radius:50%;border:1px solid var(--calcaire-2);display:grid;place-items:center;color:var(--texte-jour);transition:background .3s,color .3s,border-color .3s}
.presta:hover .presta__fleche{background:var(--infrarouge);border-color:var(--infrarouge);color:var(--craie)}

/* ══════════════ 08 · JAUGE DPE ══════════════ */
.dpe{display:flex;flex-direction:column;gap:2.2rem}
.dpe__echelle{display:flex;flex-direction:column;gap:.45rem;max-width:560px}
.classe{
  display:flex;align-items:center;gap:1rem;border:none;text-align:left;
  border-radius:.6rem;padding:.55rem .7rem;transition:background .3s,transform .3s var(--ease-out);
}
.classe:hover{background:rgba(91,140,255,.08)}
.classe__lettre{
  width:44px;height:44px;flex:none;border-radius:.55rem;display:grid;place-items:center;
  font-family:var(--f-display);font-weight:750;font-size:1.25rem;color:var(--encre);
  transition:transform .35s var(--ease-out),box-shadow .35s;
  clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%);width:56px;
}
.classe__lbl{font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.14em;color:var(--texte-nuit-dim);text-transform:uppercase;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.classe.est-choisie .classe__lbl{opacity:1;transform:none;color:var(--craie)}
.classe.est-choisie .classe__lettre{transform:scale(1.14);box-shadow:0 8px 24px -6px rgba(0,0,0,.5)}
.classe[data-c="A"]{--c:var(--dpe-a)}.classe[data-c="A"] .classe__lettre{width:56px}
.classe[data-c="B"]{--c:var(--dpe-b)}.classe[data-c="B"] .classe__lettre{width:66px}
.classe[data-c="C"]{--c:var(--dpe-c)}.classe[data-c="C"] .classe__lettre{width:76px}
.classe[data-c="D"]{--c:var(--dpe-d)}.classe[data-c="D"] .classe__lettre{width:86px}
.classe[data-c="E"]{--c:var(--dpe-e)}.classe[data-c="E"] .classe__lettre{width:96px}
.classe[data-c="F"]{--c:var(--dpe-f)}.classe[data-c="F"] .classe__lettre{width:106px}
.classe[data-c="G"]{--c:var(--dpe-g)}.classe[data-c="G"] .classe__lettre{width:116px}
.classe .classe__lettre{background:var(--c)}

/* ── Animation « équaliseur DPE » ──
   Les 7 barres partent de zéro et s'allongent en cascade (l'étiquette énergie qui se dessine),
   puis un curseur file de A à G et se pose sur D, où le verdict s'écrit. */
.js .dpe--attente .classe{opacity:0;transform:translateX(-18px)}
.dpe--attente:not(.est-anime) .classe__lettre{width:34px!important}
.dpe.est-anime .classe{
  opacity:1;transform:none;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);
}
.dpe.est-anime .classe:nth-child(1){transition-delay:0s}
.dpe.est-anime .classe:nth-child(2){transition-delay:.07s}
.dpe.est-anime .classe:nth-child(3){transition-delay:.14s}
.dpe.est-anime .classe:nth-child(4){transition-delay:.21s}
.dpe.est-anime .classe:nth-child(5){transition-delay:.28s}
.dpe.est-anime .classe:nth-child(6){transition-delay:.35s}
.dpe.est-anime .classe:nth-child(7){transition-delay:.42s}
/* Croissance des barres par ANIMATION (et non transition) : le délai en cascade
   n'affecte ainsi jamais les transitions du curseur (scale/halo), qui restent instantanées. */
@keyframes barre-pousse{from{width:34px}}
.dpe.est-anime .classe__lettre{animation:barre-pousse .55s var(--ease-scan) backwards}
.dpe.est-anime .classe:nth-child(1) .classe__lettre{animation-delay:.05s}
.dpe.est-anime .classe:nth-child(2) .classe__lettre{animation-delay:.14s}
.dpe.est-anime .classe:nth-child(3) .classe__lettre{animation-delay:.23s}
.dpe.est-anime .classe:nth-child(4) .classe__lettre{animation-delay:.32s}
.dpe.est-anime .classe:nth-child(5) .classe__lettre{animation-delay:.41s}
.dpe.est-anime .classe:nth-child(6) .classe__lettre{animation-delay:.5s}
.dpe.est-anime .classe:nth-child(7) .classe__lettre{animation-delay:.59s}
.classe.est-scannee .classe__lettre{
  transform:scale(1.22);
  box-shadow:0 0 34px 2px var(--c);
  transition:transform .12s var(--ease-out),box-shadow .12s;
}
.classe.est-scannee .classe__lbl{opacity:1;transform:none;color:var(--craie)}
.dpe__verdict{transition:box-shadow .5s}
.dpe__verdict.est-ecrit{box-shadow:0 0 0 1px rgba(255,184,77,.4),0 0 44px -18px var(--halogene)}
.dpe__verdict.est-ecrit li{animation:verdict-ligne .5s var(--ease-out) backwards}
.dpe__verdict.est-ecrit li:nth-child(1){animation-delay:.05s}
.dpe__verdict.est-ecrit li:nth-child(2){animation-delay:.18s}
.dpe__verdict.est-ecrit li:nth-child(3){animation-delay:.31s}
@keyframes verdict-ligne{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dpe__verdict{
  background:var(--encre-2);border:1px solid rgba(91,140,255,.22);border-radius:var(--r-card);
  padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;min-height:230px;
}
.dpe__verdict .eyebrow{color:var(--halogene)}
.dpe__verdict h3{font-family:var(--f-display);font-weight:660;font-size:1.45rem;color:var(--craie)}
.dpe__verdict p{color:var(--texte-nuit-dim);font-size:.95rem}
.dpe__verdict ul{display:flex;flex-direction:column;gap:.55rem;margin-top:.2rem}
.dpe__verdict li{display:flex;gap:.7em;font-size:.9rem;color:var(--texte-nuit)}
.dpe__verdict li::before{content:"→";color:var(--infrarouge);font-family:var(--f-mono);flex:none}

/* ══════════════ 09 · PROCESSUS ══════════════ */
.etapes{display:grid;grid-template-columns:1fr;gap:0;margin-top:2.5rem;counter-reset:etape}
.etape{
  position:relative;padding:1.8rem 0 1.8rem 4.2rem;border-top:1px solid var(--calcaire-2);counter-increment:etape;
}
.etape:last-child{border-bottom:1px solid var(--calcaire-2)}
.etape::before{
  content:"0" counter(etape);position:absolute;left:0;top:1.7rem;
  font-family:var(--f-mono);font-size:.8rem;letter-spacing:.1em;color:var(--infrarouge);
}
.etape::after{
  content:"";position:absolute;left:.35rem;top:3.6rem;bottom:1rem;width:1px;
  background:linear-gradient(180deg,var(--infrarouge),transparent);opacity:.35;
}
.etape:last-child::after{display:none}
.etape h3{font-family:var(--f-display);font-weight:650;font-size:1.25rem;margin-bottom:.4em}
.etape p{font-size:.93rem;color:var(--texte-jour-dim);max-width:46ch}
.etape .chip{margin-top:.8rem;color:var(--texte-jour-dim);border-color:var(--calcaire-2);font-size:.6rem}

/* ══════════════ 10 · ZONES ══════════════ */
.zones{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-top:2.5rem}
.zone{
  background:var(--encre-2);border:1px solid rgba(91,140,255,.2);border-radius:var(--r-card);
  padding:1.5rem 1.3rem;display:flex;flex-direction:column;gap:.7rem;
  transition:border-color .4s,transform .4s var(--ease-out);
}
.zone:hover{border-color:var(--halogene);transform:translateY(-4px)}
.zone__num{
  font-family:var(--f-display);font-weight:700;font-size:clamp(2.4rem,9vw,3.6rem);line-height:1;
  /* arc DPE vertical : chaque numéro affiche tout le spectre vert → rouge */
  background:linear-gradient(178deg,#2FA84F 0%,#B8CF3E 26%,#F2DC3B 46%,#E76D2C 62%,#D7263D 78%);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.zone__nom{font-family:var(--f-display);font-weight:640;font-size:1.12rem;color:var(--craie)}
.zone__villes{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;color:var(--texte-nuit-dim);line-height:1.9;text-transform:uppercase}
.zones__note{margin-top:1.4rem;font-family:var(--f-mono);font-size:var(--fs-mono);color:var(--texte-nuit-dim);letter-spacing:.06em}
.zones__note b{color:var(--halogene);font-weight:500}

/* ══════════════ 11 · DEVIS EXPRESS ══════════════ */
.devis{max-width:760px;margin:2.5rem auto 0;background:var(--craie);border:1px solid var(--calcaire-2);border-radius:var(--r-card);padding:clamp(1.4rem,4vw,2.4rem);box-shadow:var(--shadow-fiche)}
.devis__tete{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px dashed var(--calcaire-2);padding-bottom:1.1rem;margin-bottom:1.4rem}
.devis__tete .eyebrow{color:var(--texte-jour-dim)}
.devis__tete .chip{color:var(--infrarouge);border-color:var(--infrarouge)}
.champ{margin-bottom:1.35rem}
.champ__lbl{display:block;font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--texte-jour-dim);margin-bottom:.6rem}
.segments{display:flex;flex-wrap:wrap;gap:.5rem}
.seg{
  padding:.65em 1.05em;border:1px solid var(--calcaire-2);border-radius:.55rem;background:var(--calcaire);
  font-size:.85rem;font-weight:500;color:var(--texte-jour-dim);
  transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease-out);
}
.seg:hover{border-color:var(--texte-jour-dim)}
.seg.est-choisi{background:var(--encre);border-color:var(--encre);color:var(--craie);transform:translateY(-1px)}
.entree,.zone-txt{
  width:100%;padding:.9em 1em;border:1px solid var(--calcaire-2);border-radius:.55rem;
  background:var(--calcaire);font:inherit;font-size:.95rem;color:var(--texte-jour);
  transition:border-color .3s,box-shadow .3s;
}
.entree:focus,.zone-txt:focus{outline:none;border-color:var(--infrarouge);box-shadow:0 0 0 3px rgba(255,78,26,.15)}
.zone-txt{min-height:90px;resize:vertical}
.devis__duo{display:grid;grid-template-columns:1fr;gap:1rem}
.devis__envoi{width:100%;justify-content:center;margin-top:.4rem}
.devis__rgpd{font-size:.72rem;color:var(--texte-jour-dim);margin-top:.9rem;line-height:1.55}
.devis__ok{display:none;text-align:center;padding:2rem 0;flex-direction:column;gap:.8rem;align-items:center}
.devis__ok.est-visible{display:flex}
.devis__ok svg{width:52px;height:52px;color:var(--dpe-a)}

/* ══════════════ 12 · DUO EXPERTS ══════════════ */
.duo{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2.5rem}
.expert{
  background:var(--encre-2);border:1px solid rgba(91,140,255,.2);border-radius:var(--r-card);
  padding:1.6rem 1.4rem;display:flex;gap:1.2rem;align-items:flex-start;
}
.expert__badge{
  flex:none;width:64px;height:64px;border-radius:.8rem;display:grid;place-items:center;
  background:var(--rampe);color:var(--craie);
  font-family:var(--f-display);font-weight:700;font-size:1.35rem;
}
.expert h3{font-family:var(--f-display);font-weight:650;font-size:1.3rem;color:var(--craie)}
.expert .role{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.2em;color:var(--scan);text-transform:uppercase;margin:.3em 0 .7em}
.expert p{font-size:.9rem;color:var(--texte-nuit-dim);line-height:1.6}
.duo__citation{grid-column:1/-1;text-align:center;padding:2rem 1rem 0;font-size:clamp(1.25rem,4.4vw,1.8rem)}
.duo__citation cite{display:block;font-family:var(--f-mono);font-style:normal;font-size:var(--fs-mono);letter-spacing:.22em;color:var(--scan);margin-top:1rem;text-transform:uppercase}

/* ══════════════ 13 · FAQ ══════════════ */
.faq{max-width:820px;margin:2.5rem auto 0}
.qa{border-top:1px solid var(--calcaire-2)}
.qa:last-child{border-bottom:1px solid var(--calcaire-2)}
.qa__q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.3rem .2rem;text-align:left;
  font-family:var(--f-sans);font-weight:600;font-size:1.05rem;color:var(--texte-jour);
}
.qa__q .croix{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--calcaire-2);position:relative;transition:transform .4s var(--ease-out),background .3s,border-color .3s}
.qa__q .croix::before,.qa__q .croix::after{content:"";position:absolute;top:50%;left:50%;width:11px;height:1.6px;background:currentColor;transform:translate(-50%,-50%)}
.qa__q .croix::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa.est-ouverte .croix{transform:rotate(45deg);background:var(--infrarouge);border-color:var(--infrarouge);color:var(--craie)}
.qa__r{max-height:0;overflow:hidden;transition:max-height .55s var(--ease-scan)}
.qa__r p{padding:0 .2rem 1.4rem;color:var(--texte-jour-dim);font-size:.93rem;max-width:64ch}

/* ══════════════ 15 · FOOTER ══════════════ */
.footer{background:var(--encre);color:var(--texte-nuit-dim);padding:0 var(--pad-x) 2rem;border-top:1px solid rgba(91,140,255,.15)}

/* Bandeau CTA du footer */
.footer__appel{
  max-width:1280px;margin:0 auto;padding:2.6rem 0;
  display:flex;flex-direction:column;gap:1.4rem;
  border-bottom:1px solid rgba(91,140,255,.14);
}
.footer__appel-titre{font-family:var(--f-display);font-weight:660;font-size:clamp(1.4rem,4vw,2rem);line-height:1.1;color:var(--craie)}
.footer__appel-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.footer__appel-actions .btn--ligne{color:var(--craie);border-color:rgba(201,212,236,.35)}

.footer__grille{max-width:1280px;margin:2.8rem auto 0;display:grid;grid-template-columns:1fr;gap:2.2rem}
.footer h4{font-family:var(--f-mono);font-size:var(--fs-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--scan);margin-bottom:1.1rem;font-weight:500}
.footer__nap p{font-size:.9rem;line-height:1.9}
.footer__nap a{color:var(--craie)}
.footer__nap .marque{margin-bottom:1rem}
.footer ul{display:flex;flex-direction:column;gap:.55rem}
.footer ul.footer__2col{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .9rem}
.footer ul a{font-size:.85rem;color:var(--texte-nuit-dim);transition:color .3s}
.footer ul a:hover{color:var(--halogene)}
.footer__legal{max-width:1280px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(91,140,255,.12);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em}
.footer__legal a{color:var(--texte-nuit-dim)}
.footer__legal a:hover{color:var(--craie)}

/* Bascule accordéon des colonnes (activée < 760px) */
.footer__toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;
  padding:0;text-align:left;cursor:default;
}
.footer__croix{position:relative;width:22px;height:22px;flex:none;display:none}
.footer__croix::before,.footer__croix::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s var(--ease-out)}
.footer__croix::after{transform:translate(-50%,-50%) rotate(90deg)}
nav.est-deplie .footer__croix::after{transform:translate(-50%,-50%) rotate(0deg)}

/* ══════════════ 16 · BARRE APPEL MOBILE ══════════════ */
.barre-appel{
  position:fixed;left:.8rem;right:.8rem;bottom:calc(.8rem + env(safe-area-inset-bottom));z-index:90;
  display:flex;gap:.6rem;
  transform:translateY(140%);transition:transform .5s var(--ease-scan);
}
.barre-appel.est-visible{transform:none}
.barre-appel .btn{flex:1;justify-content:center;padding:1em;box-shadow:0 16px 40px -12px rgba(12,19,34,.6)}
.barre-appel .btn--nuit{background:var(--encre);color:var(--craie);border:1px solid rgba(201,212,236,.25)}

/* ══════════════ 17 · RESPONSIVE ≥760px ══════════════ */
@media(min-width:760px){
  .footer__appel{flex-direction:row;align-items:center;justify-content:space-between}
  .footer__appel-actions{flex:none}
  .footer__grille{grid-template-columns:1fr 1fr;gap:2.5rem}
  .preuves{grid-template-columns:repeat(4,1fr)}
  .catalogue{grid-template-columns:repeat(2,1fr)}
  .zones{grid-template-columns:repeat(4,1fr)}
  .duo{grid-template-columns:1fr 1fr}
  .devis__duo{grid-template-columns:1fr 1fr}
  .dpe{flex-direction:row;align-items:stretch;gap:3rem}
  .dpe__echelle{flex:1}
  .dpe__verdict{flex:1;align-self:stretch}
  .etapes{grid-template-columns:repeat(4,1fr);gap:2rem}
  .etape{padding:2.2rem 0 0;border-top:1px solid var(--calcaire-2);border-bottom:none!important}
  .etape::before{top:.9rem}
  .etape::after{left:auto;right:-1rem;top:1.15rem;bottom:auto;width:2rem;height:1px;background:linear-gradient(90deg,var(--infrarouge),transparent)}
  .barre-appel{display:none}
}
/* Navigation hybride : liens visibles, burger masqué */
@media(min-width:1000px){
  .header__nav{display:flex}
  .header__cta{display:inline-flex}
  .burger{display:none}
  .menu{display:none}
}
@media(min-width:1080px){
  .footer__grille{grid-template-columns:1.5fr 1.2fr 1fr 1fr}
  .hero__grille{flex-direction:row;align-items:flex-end;gap:3rem}
  .hero__texte{flex:1.1}
  .coupe-scene{flex:1;margin:0;padding:0}
  .catalogue{grid-template-columns:repeat(3,1fr)}
  .presta{grid-template-columns:auto 1fr;grid-template-rows:auto auto}
  .presta__meta{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;margin-top:.4rem}
}

/* Hero mobile : le titre et les CTA arrivent dès le premier écran */
@media(max-width:759px){
  .hero{min-height:0;justify-content:flex-start;padding-top:calc(6.5rem + env(safe-area-inset-top))}
}

/* ══════════════ 18 · MOBILE COMPACT (<760px) ══════════════
   Objectif : un accueil court et fluide au pouce, sans rien retirer du site. */
.cabinet__lien{display:none}
.faq__tout{display:none}
@media(max-width:759px){
  :root{--pad-sec:clamp(3.2rem,10vw,9rem)}
  .preuves{grid-template-columns:1fr 1fr}
  .preuve{padding:1.2rem 1.1rem}

  /* Catalogue des 12 diagnostics : carrousel horizontal */
  .catalogue{
    display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;
    margin:2rem calc(var(--pad-x) * -1) 0;padding:0 var(--pad-x) 1.2rem;
    scrollbar-width:none;
  }
  .catalogue::-webkit-scrollbar{display:none}
  .catalogue .presta{flex:0 0 min(78vw,320px);scroll-snap-align:center;grid-template-columns:auto 1fr;grid-template-rows:auto auto}
  .catalogue .presta__meta{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;margin-top:.4rem}

  /* Méthode resserrée */
  .etape{padding:1rem 0 1rem 3.2rem}
  .etape::before{top:.9rem}
  .etape p{font-size:.9rem}
  .etape .chip{margin-top:.5rem;font-size:.66rem}

  /* Jauge DPE resserrée */
  .dpe{gap:1.5rem}
  .dpe__echelle{gap:.3rem}
  .classe{padding:.4rem .6rem}
  .dpe__verdict{min-height:0;padding:1.4rem 1.3rem}

  /* Formulaire devis resserré */
  .champ{margin-bottom:1rem}
  .zone-txt{min-height:70px}
  .devis__duo{gap:.6rem}

  /* Cabinet : la citation porte le message, les portraits vivent sur leur page */
  #cabinet .expert{display:none}
  #cabinet .duo__citation{padding:0 0 .5rem;text-align:left}
  #cabinet .cabinet__lien{display:inline-flex}

  /* FAQ : 4 questions + lien vers la page complète */
  #faq .qa:nth-child(n+5){display:none}
  #faq .qa:nth-child(4){border-bottom:1px solid var(--calcaire-2)}
  #faq .faq__tout{display:inline-flex;margin-top:1.5rem}

  /* Footer accordéons */
  .footer nav{border-bottom:1px solid rgba(91,140,255,.14)}
  .footer nav h4{margin:0}
  .footer nav ul,.footer nav ul.footer__2col{display:none;padding:.2rem 0 1.2rem}
  .footer nav.est-deplie ul{display:flex}
  .footer nav.est-deplie ul.footer__2col{display:grid}
  .footer__toggle{padding:1.05rem 0;cursor:pointer}
  .footer__croix{display:block}
  .footer__grille{gap:0;margin-top:1.4rem}
  .footer__nap{margin-bottom:1.8rem}
}

/* ══════════════ 19 · ACCESSIBILITÉ ══════════════ */
:focus-visible{outline:2px solid var(--infrarouge);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .rvl{opacity:1;transform:none}
  .js .dpe--attente .classe{opacity:1;transform:none}
  .coupe .zone-chaude{opacity:1}
  .spot .tag{opacity:.9}
}
