/* ÉTANCHÉI-D — accueil, sections sous le hero (le hero = autre agent, préfixe ei-).
   Couche d'animations reprise de Demartin F / Nemelec / Com'in Clean : apparitions au scroll, cartes en relief,
   diaporama de vraies photos, projet phare, défilé de chantiers, bande « Pourquoi faire confiance » vivante (ondes d'eau),
   avis qui défilent, radar des zones, bandeaux d'appel. Chargé APRÈS /assets/eco/css/site.css, uniquement sur l'accueil.
   Tout ce qui est caché ici l'est par une classe posée par accueil.js : sans JS le site reste lisible.
   Transform / opacity / filter uniquement. AUCUN reflet qui balaie les photos (demande du 12/10/2026).
   Accent #2d9c9b : sur fond sombre (#0a2b42) il tombe à 4,41:1 -> --ea-clair #5fd6d4 (8,4:1) et --ea-clair-2 #b5f3f1 (11,9:1). */

:root{--ea-ease:cubic-bezier(.2,.8,.2,1);--ea-spring:cubic-bezier(.34,1.56,.64,1);
  --ea-clair:#5fd6d4;--ea-clair-2:#b5f3f1;--ea-sur-clair:#062a2a}
[hidden]{display:none!important}

/* ---------- 1. Apparitions au scroll : plus amples que celles du thème ([data-reveal] + .is-hidden) ---------- */
[data-reveal]{transition:opacity .85s var(--ea-ease),transform .95s var(--ea-ease),filter .85s ease}
[data-reveal].is-hidden{filter:blur(8px)}
[data-reveal].is-hidden[data-reveal="1"]{transform:translateY(46px) scale(.985)}
[data-reveal].is-hidden[data-reveal="left"]{transform:translateX(-70px) scale(.97)}
[data-reveal].is-hidden[data-reveal="right"]{transform:translateX(70px) scale(.97)}
[data-reveal].is-hidden[data-reveal="zoom"]{transform:scale(.9)}

/* entrée pivotante des cartes (services, pourquoi, avis) */
.ea-scene{perspective:1100px}
.ea-in{opacity:0;transform:perspective(1000px) rotateY(-26deg) rotateX(9deg) translateY(50px) scale(.94)}
.ea-in.ea-vu{opacity:1;transform:none;transition:opacity .8s ease,transform 1s var(--ea-ease)}

/* suite d'éléments qui arrivent l'un après l'autre (lignes ✓ de la présentation, texte des bandeaux d'appel) */
.ea-seq.ea-pre>*{opacity:0;transform:translateX(-24px)}
.ea-seq.ea-pre.ea-vu>*{opacity:1;transform:none;transition:opacity .7s ease calc(var(--i,0)*95ms),transform .85s var(--ea-ease) calc(var(--i,0)*95ms)}
.ea-seq--haut.ea-pre>*{transform:translateY(22px)}
.ea-seq.ea-pre.ea-vu>*>span[aria-hidden="true"]:first-child{animation:eaPop .7s var(--ea-spring) calc(var(--i,0)*95ms + .25s) both}

/* ---------- 2. Titres de section : filet qui se trace + trait avant le sur-titre ---------- */
.ea-tt>span:first-child::before{content:'';display:inline-block;vertical-align:middle;width:30px;height:2px;margin:-3px 12px 0 0;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ea-ease) .25s}
.ea-tt:not(.is-hidden)>span:first-child::before{transform:scaleX(1)}
.ea-tt h2::after{content:'';display:block;height:3px;width:0;margin-top:16px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--ea-clair));transition:width .9s var(--ea-ease) .45s}
.ea-tt:not(.is-hidden) h2::after{width:72px}
.ea-tt--centre h2::after{margin-inline:auto}
@media (max-width:480px){.ea-tt>span:first-child::before{display:none}}

/* ---------- 3. Cartes en relief : inclinaison + ombre (pas de reflet sur les photos) ---------- */
.ea-tilt{position:relative;transform-style:preserve-3d;will-change:transform}
.ea-tilt.ea-on{transition:transform .08s linear,box-shadow .3s,background .3s,border-color .3s!important;box-shadow:0 30px 60px -28px rgba(7,24,38,.55)}

/* ---------- 4. Présentation : cadre décalé + diaporama de vraies photos ---------- */
.ea-about-img::before{content:'';position:absolute;inset:16px -14px -16px 14px;border:2px solid var(--accent);border-radius:30px;opacity:.35;z-index:0;transition:transform .9s var(--ea-ease) .3s,opacity .9s ease .3s}
.ea-about-img.is-hidden::before{opacity:0;transform:translate(-20px,-20px)}
.ea-about-img>div{position:relative;z-index:1}
@media (max-width:640px){.ea-about-img::before{inset:10px -8px -10px 8px}}

/* fondu enchaîné entre les photos (accueil.js : diapo()). Sans JS : seule la 1re photo (.is-on) est visible. */
[data-diapo]>img{opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 7s cubic-bezier(.2,.6,.2,1)}
[data-diapo]>img.is-on{opacity:1;transform:scale(1)}
.ea-diapo-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;padding:2px 6px;border-radius:30px;
  background:rgba(7,24,38,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 4px 14px -6px rgba(0,0,0,.5)}
.ea-diapo-dots button{position:relative;flex:none;width:20px;height:22px;padding:0;border:0;background:none;cursor:pointer;transition:width .45s var(--ea-ease)}
.ea-diapo-dots button::before,.ea-diapo-dots button::after{content:'';position:absolute;left:6px;right:6px;top:7px;bottom:7px;border-radius:8px}
.ea-diapo-dots button::before{background:rgba(255,255,255,.5)}
.ea-diapo-dots button.on{width:38px}
.ea-diapo-dots button.on::before{background:rgba(255,255,255,.35)}
.ea-diapo-dots button.on::after{background:var(--ea-clair);transform-origin:left;animation:eaDiapoFill var(--ea-dd,5.5s) linear forwards}
.ea-diapo.ea-hold .ea-diapo-dots button.on::after{animation-play-state:paused}
.ea-diapo-dots button:focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:8px}
@keyframes eaDiapoFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- 5. Nos services : photos 4:3 (recadrage par CSS, object-fit) ---------- */
.grille-services-accueil .hv23>div:first-child{aspect-ratio:4/3}
.grille-services-accueil .hv23 img{width:100%;height:100%;object-fit:cover}

/* ---------- 7. Nos derniers projets : piste de vraies photos (une par chantier), SANS défilement automatique ----------
   Elle ne bouge qu'aux flèches, aux points ou au doigt / à la molette (demande du 12/10/2026).
   Hauteur commune, largeur = celle de la photo (aucun recadrage). Accroche au pas près (scroll-snap). */
.ea-defile{--ea-h:340px;--ea-pad:max(24px,calc(50vw - 620px));position:relative;width:100vw;margin-left:calc(50% - 50vw);
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 var(--ea-pad);scrollbar-width:none;overscroll-behavior-x:contain;
  padding:8px var(--ea-pad) 22px;-webkit-overflow-scrolling:touch}
.ea-defile::-webkit-scrollbar{display:none}
.ea-piste{display:flex;width:max-content;align-items:stretch}
.ea-vignette{flex:none;margin:0 18px 0 0;height:var(--ea-h);border-radius:22px;overflow:hidden;background:var(--carte);cursor:zoom-in;scroll-snap-align:start;box-shadow:0 18px 36px -24px rgba(7,24,38,.55)}
.ea-vignette:last-child{margin-right:0}
.ea-vignette img{display:block;height:100%;width:auto;max-width:none;transition:transform .9s var(--ea-ease)}
@media (hover:hover){.ea-vignette:hover img{transform:scale(1.06)}}
.ea-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1240px;margin:6px auto 0}
.ea-nav-pts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ea-nav-pts button{width:9px;height:9px;padding:0;border:0;border-radius:9px;background:var(--bord);cursor:pointer;transition:width .35s var(--ea-ease),background .3s}
.ea-nav-pts button.on{width:30px;background:var(--accent)}
.ea-nav-pts button:focus-visible,.ea-nav-fl button:focus-visible{outline:2px solid var(--accent-texte);outline-offset:3px}
.ea-nav-fl{display:flex;gap:10px}
@media (max-width:640px){.ea-defile{--ea-h:270px;--ea-pad:20px}.ea-vignette{margin-right:12px;border-radius:18px}.ea-nav{padding:0 20px}}

/* ---------- 8. « Pourquoi faire confiance » — bande sombre vivante (trame, ondes d'eau, halos, cartes verre) ---------- */
.ea-pourquoi{position:relative;overflow:hidden;isolation:isolate;
  --accent-texte:var(--ea-clair);--accent-texte-fonce:var(--ea-clair-2)}
.ea-pourquoi::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(95,214,212,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(95,214,212,.07) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 45%,#000 15%,transparent 78%);mask-image:radial-gradient(ellipse 70% 80% at 50% 45%,#000 15%,transparent 78%)}
.ea-pourquoi::after{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(520px circle at 12% 18%,rgba(45,156,155,.34),transparent 70%),radial-gradient(620px circle at 88% 85%,rgba(60,140,210,.28),transparent 70%);
  animation:eaDrift 20s ease-in-out infinite alternate}
@keyframes eaDrift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.08)}}
/* ondes d'eau : trois nappes qui glissent à des vitesses différentes + deux cercles qui s'ouvrent (posés par accueil.js) */
.ea-ondes{position:absolute;left:0;right:0;bottom:0;height:200px;z-index:-1;pointer-events:none;overflow:hidden}
.ea-ondes i{position:absolute;left:0;right:0;bottom:0;display:block;height:120px;background-repeat:repeat-x;background-size:1200px 120px;opacity:.9;will-change:background-position}
.ea-ondes i:nth-child(1){bottom:-6px;animation:eaOnde 34s linear infinite;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath fill='%235fd6d4' fill-opacity='.07' d='M0 60C100 20 200 20 300 60S500 100 600 60C700 20 800 20 900 60S1100 100 1200 60V120H0Z'/%3E%3Cpath fill='none' stroke='%235fd6d4' stroke-opacity='.3' stroke-width='1.5' d='M0 60C100 20 200 20 300 60S500 100 600 60C700 20 800 20 900 60S1100 100 1200 60'/%3E%3C/svg%3E")}
.ea-ondes i:nth-child(2){bottom:10px;height:100px;background-size:900px 100px;animation:eaOnde2 26s linear infinite reverse;opacity:.75;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath fill='%235fd6d4' fill-opacity='.05' d='M0 60C100 20 200 20 300 60S500 100 600 60C700 20 800 20 900 60S1100 100 1200 60V120H0Z'/%3E%3Cpath fill='none' stroke='%23b5f3f1' stroke-opacity='.22' stroke-width='1.5' d='M0 60C100 20 200 20 300 60S500 100 600 60C700 20 800 20 900 60S1100 100 1200 60'/%3E%3C/svg%3E")}
.ea-ondes i:nth-child(3){bottom:24px;height:80px;background-size:700px 80px;animation:eaOnde3 20s linear infinite;opacity:.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath fill='none' stroke='%235fd6d4' stroke-opacity='.25' stroke-width='1.5' d='M0 60C100 20 200 20 300 60S500 100 600 60C700 20 800 20 900 60S1100 100 1200 60'/%3E%3C/svg%3E")}
@keyframes eaOnde{to{background-position:-1200px 0}}
@keyframes eaOnde2{to{background-position:-900px 0}}
@keyframes eaOnde3{to{background-position:-700px 0}}
.ea-ring{position:absolute;z-index:-1;pointer-events:none;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%}
.ea-ring::before,.ea-ring::after{content:'';position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--ea-clair);opacity:0;animation:eaRing 7.5s ease-out infinite}
.ea-ring::after{animation-delay:2.5s}
.ea-ring--a{left:84%;top:26%}
.ea-ring--b{left:9%;top:78%}
.ea-ring--b::before{animation-delay:1.2s}.ea-ring--b::after{animation-delay:3.7s}
@keyframes eaRing{0%{transform:scale(.15);opacity:.55}100%{transform:scale(1.7);opacity:0}}
.ea-pause .ea-ondes i,.ea-pause .ea-ring::before,.ea-pause .ea-ring::after,.ea-pause::after{animation-play-state:paused}

.ea-pourquoi .grille-cartes{gap:20px}
.ea-pourquoi .hv09{position:relative;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.035))!important;
  border:1px solid rgba(95,214,212,.28)!important;
  box-shadow:0 22px 44px -26px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:transform .5s var(--ea-ease),background .3s,border-color .3s,box-shadow .3s!important}
.ea-pourquoi .hv09:hover{background:linear-gradient(160deg,rgba(95,214,212,.2),rgba(255,255,255,.05))!important;border-color:rgba(95,214,212,.6)!important}
.ea-pourquoi .hv09>i.ea-fil{position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--ea-clair),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ea-ease) .5s}
.ea-pourquoi .ea-in.ea-vu .hv09>i.ea-fil{transform:scaleX(1)}
.ea-pourquoi .hv09>span:first-of-type{position:relative;width:52px!important;height:52px!important;
  background:linear-gradient(145deg,var(--ea-clair-2),var(--ea-clair))!important;color:var(--ea-sur-clair)!important;
  box-shadow:0 0 0 6px rgba(95,214,212,.14),0 10px 24px -8px rgba(45,156,155,.8);
  transition:transform .5s var(--ea-spring)}
.ea-pourquoi .hv09>span:first-of-type::after{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid var(--ea-clair);pointer-events:none;animation:eaRingIc 2.8s ease-out infinite}
.ea-pourquoi .ea-in:nth-child(2) .hv09>span:first-of-type::after{animation-delay:.7s}
.ea-pourquoi .ea-in:nth-child(3) .hv09>span:first-of-type::after{animation-delay:1.4s}
.ea-pourquoi .ea-in:nth-child(4) .hv09>span:first-of-type::after{animation-delay:2.1s}
.ea-pourquoi .ea-in.ea-vu .hv09>span:first-of-type{animation:eaPop .8s var(--ea-spring) .45s both}
.ea-pourquoi .hv09:hover>span:first-of-type{transform:scale(1.12) rotate(-8deg)}
@keyframes eaRingIc{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@keyframes eaPop{0%{transform:scale(.2);opacity:0}100%{transform:scale(1);opacity:1}}
.ea-pourquoi .hv09 h3{letter-spacing:-.01em}
.ea-pourquoi .hv09 p{color:rgba(255,255,255,.86)!important}
/* 2 x 2 en mobile : moins de scroll vertical */
@media (max-width:480px){
  .ea-pourquoi .grille-cartes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
  .ea-pourquoi .hv09{padding:18px 14px!important;gap:10px!important;border-radius:20px!important}
  .ea-pourquoi .hv09>span:first-of-type{width:44px!important;height:44px!important}
  .ea-pourquoi .hv09 h3{font-size:15.5px!important}
  .ea-pourquoi .hv09 p{font-size:13.5px!important;line-height:1.5!important}
  .ea-ondes{height:140px}
}

/* ---------- Témoignage client : vidéo 16:9 et citation ---------- */
.ea-temoignage{overflow:hidden;--accent-texte:#1d7372;--accent-texte-fonce:#155b5a}
.ea-temoignage-grille{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:56px;align-items:center}
.ea-temoignage-media{position:relative;min-width:0;aspect-ratio:16/9;overflow:hidden;border-radius:28px;background:var(--carte);box-shadow:0 22px 38px -22px rgba(10,43,66,.38)}
.ea-temoignage-media video{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.ea-temoignage-play{position:absolute;left:50%;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:88px;height:88px;padding:0;border:0;border-radius:50%;background:#1d7372;color:#fff;box-shadow:0 12px 30px rgba(7,24,38,.38);cursor:pointer;transform:translate(-50%,-50%);transition:background .25s,transform .3s var(--ea-spring),box-shadow .25s}
.ea-temoignage-play span{display:block;width:0;height:0;margin-left:6px;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:21px solid currentColor}
.ea-temoignage-play:hover{background:#155b5a;transform:translate(-50%,-50%) scale(1.08);box-shadow:0 16px 34px rgba(7,24,38,.46)}
.ea-temoignage-play:focus-visible{outline:3px solid #fff;outline-offset:-7px;box-shadow:0 0 0 4px #1d7372,0 16px 34px rgba(7,24,38,.46)}
.ea-temoignage-texte{min-width:0}
.ea-temoignage-intro{margin-top:8px;font-size:15.5px;line-height:1.75;color:var(--texte-doux)}
.ea-temoignage-citation{position:relative;margin:18px 0 0;padding:24px 24px 22px;border-left:4px solid var(--accent);border-radius:0 20px 20px 0;background:var(--fond-2);color:var(--titre)}
.ea-temoignage-citation p{font-size:clamp(18px,2vw,22px);font-weight:700;line-height:1.45}
.ea-temoignage-citation p+p{margin-top:8px}
.ea-temoignage-citation footer{margin-top:16px;color:#1d7372;font-size:14px;font-weight:700}
.ea-temoignage-citation cite{font-style:normal}
@media (max-width:767px){
  .ea-temoignage{padding:80px 24px!important}
  .ea-temoignage-grille{grid-template-columns:minmax(0,1fr);gap:34px}
  .ea-temoignage-texte{order:1}
  .ea-temoignage-media{order:2;width:100%;border-radius:22px}
  .ea-temoignage-play{width:72px;height:72px}
  .ea-temoignage-play span{border-top-width:11px;border-bottom-width:11px;border-left-width:18px}
  .ea-temoignage-citation{padding:20px 20px 18px}
}

/* ---------- 9. Avis clients : cartes de même style, 5 étoiles qui s'allument, défilement automatique doux ---------- */
.ea-avis-sec{position:relative;overflow:hidden}
.ea-avis-sec::before{content:'';position:absolute;right:max(24px,calc(50% - 600px));top:34px;width:150px;height:150px;pointer-events:none;opacity:.08;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23268483' d='M9.6 4C5.4 5.2 3 8.6 3 13v7h8v-8H7.2c0-2.4 1.1-3.9 3.4-4.8L9.6 4zm10 0c-4.2 1.2-6.6 4.6-6.6 9v7h8v-8h-3.8c0-2.4 1.1-3.9 3.4-4.8L19.6 4z'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:rotate(8deg)}
.ea-avis-sec>div{position:relative}
@media (max-width:640px){.ea-avis-sec::before{width:96px;height:96px;top:22px;right:14px}}
[data-testi-track]{touch-action:pan-y}
.ea-avis{position:relative;overflow:hidden;
  transition:transform .5s var(--ea-ease),box-shadow .35s,border-color .3s!important}
.ea-avis>div[style*="flex:1"]{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.ea-avis:hover{border-color:var(--accent)!important;box-shadow:0 30px 50px -24px rgba(10,43,66,.35)!important}
.ea-avis::before{content:'';position:absolute;top:22px;right:22px;width:40px;height:40px;opacity:.14;pointer-events:none;transition:transform .6s var(--ea-spring),opacity .3s;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23268483' d='M9.6 4C5.4 5.2 3 8.6 3 13v7h8v-8H7.2c0-2.4 1.1-3.9 3.4-4.8L9.6 4zm10 0c-4.2 1.2-6.6 4.6-6.6 9v7h8v-8h-3.8c0-2.4 1.1-3.9 3.4-4.8L19.6 4z'/%3E%3C/svg%3E") center/contain no-repeat}
.ea-avis:hover::before{opacity:.3;transform:rotate(-10deg) scale(1.15)}
/* 5 étoiles (tous les avis) : dessinées en CSS, elles s'allument l'une après l'autre */
.ea-stars{width:104px;height:19px;flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.8 19'%3E%3Cpath fill='%23f5b301' d='M10.4 1l2.6 5.9 6.4.6-4.8 4.3 1.4 6.3-5.6-3.3-5.6 3.3 1.4-6.3L1.4 7.5l6.4-.6z'/%3E%3C/svg%3E") left center/20.8px 19px repeat-x;
  clip-path:inset(0 100% 0 0);transition:clip-path 1s linear .6s}
.ea-vu .ea-stars,.ea-sans-js .ea-stars{clip-path:inset(0 0 0 0)}
html:not(.ea-js) .ea-stars{clip-path:none}
/* défilement automatique : jauge dans le point actif (pause au survol / au doigt / hors écran) */
.testi-dot{position:relative;overflow:hidden}
.ea-auto .testi-dot.active{background:color-mix(in srgb,var(--accent) 24%,var(--bord))}
.ea-auto .testi-dot.active::after{content:'';position:absolute;inset:0;background:var(--accent);transform-origin:left;animation:eaDotFill var(--ea-d,7s) linear forwards}
.ea-auto.ea-hold .testi-dot.active::after{animation-play-state:paused}
@keyframes eaDotFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- 10. Bandeaux d'appel : vraie photo de chantier à gauche (sujet dans le tiers gauche), texte à droite ---------- */
.ea-appel>img.ea-appel-photo{position:absolute;left:0;top:0;bottom:0;width:62%;height:100%;object-fit:cover;object-position:var(--ea-pos,30% 50%);
  animation:eaKen 24s ease-in-out infinite alternate;transform-origin:25% 45%}
@keyframes eaKen{from{transform:scale(1)}to{transform:scale(1.07)}}
/* voile : transparent sur le sujet (tiers gauche), plein derrière le texte */
.ea-appel>div:nth-child(2){background:linear-gradient(90deg,rgba(var(--overlay-rgb),0) 0%,rgba(var(--overlay-rgb),0) 30%,rgba(var(--overlay-rgb),.82) 52%,rgb(var(--overlay-rgb)) 68%)!important}
/* sur-titre : accent clair sur le fond sombre (#2d9c9b y est à 4,4:1) */
.ea-appel span[style*="color:var(--accent)"]{color:var(--ea-clair)!important}
@media (max-width:640px){
  .ea-appel{flex-direction:column;align-items:stretch;min-height:0!important}
  .ea-appel>img.ea-appel-photo{position:relative;width:100%;height:250px;object-position:var(--ea-pos-m,30% 50%);transform-origin:30% 40%}
  .ea-appel>div:nth-child(2){background:linear-gradient(180deg,rgba(var(--overlay-rgb),0) 0,rgba(var(--overlay-rgb),0) 120px,rgb(var(--overlay-rgb)) 250px,rgb(var(--overlay-rgb)) 100%)!important}
  .ea-appel>div:nth-child(3){margin-left:0!important;padding:28px 24px 34px!important}
}

/* ---------- 11. Zones desservies : bande sombre, radar à gauche, communes en pastilles (liens vers /seo/) ----------
   Même animation que Demartin F (demande expresse de Wakny, 12/10/2026) : le radar se trace, les communes arrivent
   l'une après l'autre. La classe .ea-zh (cachée) n'est posée que par accueil.js, juste avant d'observer : sans JS tout est visible. */
.ea-zone{position:relative;overflow:hidden;isolation:isolate;--accent-texte:var(--ea-clair);box-shadow:inset 0 -1px 0 rgba(95,214,212,.16)}
.ea-zone::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(640px circle at 16% 62%,rgba(45,156,155,.30),transparent 70%),radial-gradient(520px circle at 92% 8%,rgba(60,140,210,.2),transparent 70%)}
.ea-zone-intro{font-size:16px;line-height:1.65;color:rgba(255,255,255,.86)}
.ea-zone-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:56px;align-items:center}
.ea-radar{position:relative;width:100%;max-width:420px;aspect-ratio:1;margin:0 auto}
.ea-radar svg{display:block;width:100%;height:100%;overflow:visible}
.ea-radar circle{fill:none;stroke:var(--ea-clair);stroke-width:1.6}
.ea-radar circle.r{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ea-ease)}
.ea-radar circle.r1{transition-delay:.2s}
.ea-radar circle.r2{transition-delay:.5s;opacity:.7}
.ea-radar circle.r3{transition-delay:.8s;opacity:.45}
.ea-radar circle.rp{stroke-width:1.4;transform-box:fill-box;transform-origin:center;opacity:0;animation:eaRadar 4.8s ease-out 1.6s infinite}
@keyframes eaRadar{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.24);opacity:0}}
.ea-zh .ea-radar circle.r{stroke-dashoffset:1}
.ea-ctr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-weight:800;font-size:16px;text-align:center;
  transition:opacity .6s ease 1.1s,transform .8s var(--ea-spring) 1.1s}
.ea-zh .ea-ctr{opacity:0;transform:translate(-50%,-50%) scale(.5)}
.ea-ctr b{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--ea-clair);color:var(--ea-sur-clair);box-shadow:0 0 0 10px rgba(95,214,212,.22)}
.ea-ctr svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ea-pills{display:flex;flex-wrap:wrap;gap:12px}
.ea-city{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:40px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:15px;font-weight:600;line-height:1.2;
  transition:background .3s,color .3s,transform .45s var(--ea-spring),border-color .3s,opacity .5s ease,box-shadow .3s}
.ea-city svg{display:block;width:15px;height:15px;flex:none;fill:none;stroke:var(--ea-clair);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.ea-city:hover,.ea-city:focus-visible{background:var(--ea-clair);border-color:var(--ea-clair);color:var(--ea-sur-clair);transform:translateY(-4px) scale(1.06)}
.ea-city:hover svg,.ea-city:focus-visible svg{stroke:var(--ea-sur-clair)}
.ea-city:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ea-zh .ea-city{opacity:0;transform:translateY(14px) scale(.9)}
.ea-zone.ea-zgo .ea-city{transition-delay:0s,0s,calc(var(--i,0)*70ms + 1.2s),0s,calc(var(--i,0)*70ms + 1.2s),0s}
@media (max-width:900px){
  .ea-zone-grid{grid-template-columns:1fr;gap:34px}
  .ea-radar{max-width:300px}
}
@media (max-width:640px){
  .ea-radar{max-width:230px}
  .ea-ctr{font-size:14px}
  .ea-ctr b{width:46px;height:46px;box-shadow:0 0 0 8px rgba(95,214,212,.22)}
  .ea-ctr svg{width:22px;height:22px}
  .ea-pills{gap:10px}
  .ea-city{padding:10px 15px;font-size:14px}
}

/* ---------- Mouvement réduit : tout est coupé ---------- */
@media (prefers-reduced-motion:reduce){
  [data-reveal]{transition:none!important;filter:none!important}
  .ea-in,.ea-seq.ea-pre>*{opacity:1!important;transform:none!important;transition:none!important}
  .ea-temoignage-play,.ea-temoignage-play:hover{transform:translate(-50%,-50%)!important;transition:none!important}
  .ea-pourquoi::after,.ea-pourquoi .hv09>span:first-of-type::after,.ea-appel>img.ea-appel-photo{animation:none!important}
  .ea-ondes i,.ea-ring{animation:none!important}
  .ea-ring{display:none}
  .ea-pourquoi .hv09>i.ea-fil{transform:scaleX(1)!important;transition:none!important}
  .ea-tt>span:first-child::before{transform:scaleX(1)!important;transition:none!important}
  .ea-tt h2::after{width:72px!important;transition:none!important}
  [data-diapo]>img{transform:none!important;transition:none!important}
  .ea-diapo-dots{display:none!important}
  .ea-defile{scroll-behavior:auto}
  .ea-stars{clip-path:none!important;transition:none!important}
  .ea-radar circle,.ea-ctr,.ea-city{transition:none!important}
  .ea-radar circle.rp{animation:none!important;opacity:0}
  .ea-zh .ea-radar circle.r{stroke-dashoffset:0!important}
  .ea-zh .ea-ctr{opacity:1!important;transform:translate(-50%,-50%)!important}
  .ea-zh .ea-city{opacity:1!important;transform:none!important}
  .ea-about-img::before{opacity:.35!important;transform:none!important;transition:none!important}
}
