/* =========================================================
   THÈME PREMIUM — style Palmetto
   Toutes les classes d'origine sont conservées.
   Corrections incluses :
   - ";" manquant après line-height dans .ed-hero h1
   - variables --sage et --lime qui n'étaient pas définies
   - grilles responsive des étapes (flex au lieu de grid)
========================================================= */

/* =========================================================
   1. VARIABLES
========================================================= */

:root{
  /* Couleurs */
  --pal-bg:#fbfbf7;
  --pal-bg2:#fbfbf7;
  --pal-dark:#1c2623;
  --pal-bleu:#2120bc;
  --pal-bleu-d:#17169a;
  --pal-orange:#2120bc;
  --pal-orange-d:#d9411f;
  --pal-orange-l:#ffffff;
  --pal-sand:#f1f0e8;
  --pal-sand2:#dff4ae;
  --pal-line:#e6e5db;
  --pal-text:#1c2623;
  --pal-muted:#4d5a55;

  /* Variables qui manquaient dans l'original */
  --sage:#dff4ae;
  --lime:#04894b;

  /* Typographie */
  --pal-font:'Bricolage Grotesque','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* Animation */
  --pal-ease:cubic-bezier(.22,1,.36,1);

  /* Ombres */
  --pal-shadow-sm:0 2px 6px rgba(28,38,35,.06);
  --pal-shadow-md:0 14px 34px -12px rgba(28,38,35,.18);
  --pal-shadow-lg:0 30px 60px -22px rgba(28,38,35,.28);
  --pal-shadow-blue:0 14px 30px -10px rgba(33,32,188,.45);
}

html{scroll-behavior:smooth;}
::selection{background:var(--pal-sand2);color:var(--pal-dark);}

.ed-hero *,.ed-why *,.ed-steps *,.ed-banner-wrap *,.ed-faq *,.ed-breadcrumb-wrap *{box-sizing:border-box;}

.ed-hero .container_nav,
.ed-breadcrumb-wrap.container_nav{
  width:100%;max-width:1240px;margin-left:auto;margin-right:auto;
  padding-left:20px;padding-right:20px;
}

/* =========================================================
   2. BOUTONS
========================================================= */

.ed-btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 26px;border-radius:16px;
  font-size:1rem;font-weight:700;letter-spacing:-.005em;
  line-height:1.1;
  text-decoration:none;border:none;cursor:pointer;
  transition:transform .35s var(--pal-ease), background .25s, color .25s, box-shadow .35s var(--pal-ease);
}
.ed-btn i{font-size:.85em;transition:transform .35s var(--pal-ease);}
.ed-btn:hover i{transform:translateX(4px);}
.ed-btn:active{transform:translateY(0) scale(.98);}
.ed-btn:focus-visible,
.ed-faq-q:focus-visible{outline:3px solid var(--pal-dark);outline-offset:3px;}

.ed-btn-primary,
.ed-btn-amber,
.ed-btn-dark{
  background:var(--pal-bleu);color:#fff;
  padding:13px 26px;border-radius:999px;
  font-size:.92rem;font-weight:700;
  box-shadow:var(--pal-shadow-blue);
  transition:transform .3s var(--pal-ease), background .25s, box-shadow .3s var(--pal-ease);
}
.ed-btn-primary:hover,
.ed-btn-amber:hover,
.ed-btn-dark:hover{
  background:var(--pal-bleu-d);color:#fff;
  transform:translateY(-3px);
  box-shadow:0 20px 38px -12px rgba(33,32,188,.55);
}

.ed-btn-ghost{
  background:var(--pal-sand);color:var(--pal-dark);
  box-shadow:inset 0 0 0 1.5px var(--pal-line);
}
.ed-btn-ghost:hover{
  background:var(--pal-dark);color:#fff;transform:translateY(-3px);
  box-shadow:var(--pal-shadow-md);
}

.ed-btn-sm{padding:13px 22px;font-size:.92rem;}

/* =========================================================
   3. BREADCRUMB
========================================================= */

.ed-breadcrumb-wrap{margin-top:20px;padding-bottom:4px;background:var(--pal-bg);}
.ed-breadcrumb{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--pal-sand);
  padding:9px 18px;border-radius:999px;
  font-size:.85rem;color:var(--pal-muted);
  box-shadow:inset 0 0 0 1px var(--pal-line);
}
.ed-breadcrumb a{color:var(--pal-muted);text-decoration:none;font-weight:500;transition:color .2s;}
.ed-breadcrumb a:hover{color:var(--pal-orange);}
.ed-breadcrumb i{font-size:.6rem;color:#9aa5a0;}
.ed-breadcrumb strong{color:var(--pal-dark);font-weight:700;}

/* =========================================================
   4. TITRES COMMUNS
========================================================= */

.ed-title{
  font-size:clamp(2.2rem,5vw,4.2rem);font-weight:800;font-stretch:88%;
  color:var(--pal-dark);
  line-height:1.2;letter-spacing:5px;
  margin:0 0 20px;
  text-wrap:balance;
}
.ed-title em{font-style:normal;color:inherit;}
.ed-title-light{color:var(--pal-dark);}
.ed-lead{font-size:1.1rem;color:var(--pal-muted);line-height:1.65;max-width:640px;margin:0;text-wrap:pretty;}
.ed-lead-light{color:var(--pal-muted);}
.ed-section-head{margin-bottom:64px;text-align:center;}
.ed-section-head .ed-title{max-width:14em;margin-left:auto;margin-right:auto;}
.ed-section-head .ed-lead{margin-left:auto;margin-right:auto;}

/* =========================================================
   5. HERO — titre centré, grande image arrondie, bouton chevauchant
========================================================= */

.ed-hero{
  position:relative;
  padding:30px 0 80px;
  background:var(--pal-bg);
  overflow:hidden;
}
.ed-hero::before,
.ed-blob,
.ed-blob-1,
.ed-blob-2,
.ed-hero-ring,
.ed-hero-visual::before{display:none;}

.ed-hero-grid{
  display:grid;grid-template-columns:1fr;gap:0;
  position:relative;z-index:2;
}
.ed-hero-content{text-align:center;padding-top:36px;}

.ed-hero h1{
  font-size:clamp(2.8rem,7.6vw,6.4rem);font-weight:800;font-stretch:86%;
  line-height:1.2;                       /* ";" manquant corrigé */
letter-spacing:5px;
  color:var(--pal-dark);
  max-width:11em;margin:0 auto 34px;
  text-wrap:balance;
}
.ed-hl{color:inherit;position:relative;}
.ed-hl::after{display:none;}

.ed-hero-text{
  font-size:1.05rem;color:var(--pal-text);line-height:1.65;
  max-width:540px;margin:0 auto 14px;
  text-wrap:pretty;
}
.ed-hero-text strong{font-weight:700;color:var(--pal-dark);}

.ed-hero-actions{
  display:flex;gap:12px;flex-wrap:wrap;justify-content:center;
  margin:30px 0 -27px;position:relative;z-index:6;
}

.ed-hero-visual{display:block;position:relative;overflow:visible;}
.ed-hero-img{
  display:block;width:100%;max-width:none;
  height:clamp(320px,50vw,640px);object-fit:cover;
  border-radius:clamp(28px,4vw,52px);
  border:0;
  box-shadow:var(--pal-shadow-lg);
  position:relative;z-index:2;
  transition:transform 1.2s var(--pal-ease);
}
.ed-hero-visual:hover .ed-hero-img{transform:scale(1.012);}

/* =========================================================
   6. SECTION AVANTAGES
========================================================= */

.ed-why{padding:70px 0 110px;background:var(--white);overflow:hidden;}
.ed-why .container{position:relative;}

.ed-why-row{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;
  align-items:center;margin-bottom:110px;
}
.ed-why-row:last-child{margin-bottom:0;}
.ed-reverse .ed-why-media{order:2;}
.ed-reverse .ed-why-body{order:1;}

.ed-why-media{position:relative;overflow:hidden;border-radius:44px;box-shadow:var(--pal-shadow-md);}
.ed-frame{display:none;}
.ed-why-media img{
  display:block;width:100%;height:480px;object-fit:cover;
  border-radius:44px;box-shadow:none;
  transition:transform 1.1s var(--pal-ease);
}
.ed-why-row:hover .ed-why-media img{transform:scale(1.05);}

.ed-why-body h3{
  font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;font-stretch:88%;
  color:var(--pal-dark);
  margin:0 0 28px;line-height:1;letter-spacing:3px;
  text-wrap:balance;
}
.ed-why-body > p{color:var(--pal-muted);line-height:1.7;font-size:1.02rem;margin:0 0 18px;}
.ed-why-body > p strong{color:var(--pal-dark);font-weight:700;}

/* Avantages */
.ed-features{display:flex;flex-direction:column;gap:7px;}
.ed-feature{display:flex;gap:16px;align-items:flex-start;}
.ed-feature-icon{
  width:44px;height:44px;flex-shrink:0;border-radius:50%;
  background:transparent;color:var(--pal-orange);
  align-items:center;justify-content:center;font-size:1rem;
  transition:background .3s, color .3s, transform .4s var(--pal-ease);display:flex;font-weight:blod;font-weight:900;
}
.ed-feature-icon i{font-weight:blod;font-weight:900;}
.ed-feature:hover .ed-feature-icon{background:var(--pal-orange);color:#fff;transform:rotate(-8deg) scale(1.05);}
.ed-feature p{margin:0;color:var(--pal-text);line-height:1.6;font-size:1rem;padding-top:2px;}
.ed-feature strong{
  font-size:1.05rem;
  color:var(--pal-dark);
}

/* Liste à coches */
.ed-checklist{
  list-style:none;margin:0 0 24px;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
}
.ed-checklist li{
  position:relative;
  background:var(--pal-sand);border-radius:20px;
  padding:16px 16px 16px 54px;
  font-size:.95rem;font-weight:500;color:var(--pal-dark);line-height:1.45;
  box-shadow:inset 0 0 0 1px transparent;
  transition:transform .4s var(--pal-ease), background .3s, box-shadow .3s;
}
.ed-checklist li:hover{
  background:#fff;transform:translateY(-3px);
  box-shadow:inset 0 0 0 2px var(--pal-dark);
}
.ed-checklist li::before{
  content:'\f00c';
  font-family:'Font Awesome 6 Free';font-weight:900;
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--pal-orange);color:#fff;font-size:.68rem;
}

/* Encadré conseil */
.ed-note{
  display:flex;align-items:flex-start;gap:14px;
  background:#e7ebf7;
  border-radius:24px;padding:20px 22px;
  color:#000000;font-size:.98rem;font-weight:500;line-height:1.6;margin-top:10px;
  box-shadow:inset 0 0 0 1px rgba(33,32,188,.12);
}
.ed-note i{
  flex-shrink:0;width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#2120bc;color:#fff;font-size:.9rem;
  box-shadow:var(--pal-shadow-blue);
}

/* =========================================================
   7. SECTION ÉTAPES — panneau arrondi, cartes claires
========================================================= */

.ed-steps{
  position:relative;
  margin:0 clamp(8px,1.6vw,24px);
  border-radius:clamp(28px,4vw,56px);
  background:var(--sage);
  padding:100px 0;overflow:hidden;
}
.ed-steps::before{display:none;}
.ed-steps-glow{display:none;}
.ed-steps .container{position:relative;z-index:2;}
.ed-steps-head{text-align:center;margin-bottom:60px;}
.ed-steps-head .ed-title{max-width:12em;margin-left:auto;margin-right:auto;}
.ed-steps-head .ed-lead{margin:0 auto;}

.ed-steps-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:16px;margin-bottom:52px;
}

.ed-step{
  flex:0 1 calc((100% - 48px) / 4);   /* 4 cartes par ligne */
  position:relative;
  text-align:center;
  padding:28px 22px 30px;
  border-radius:32px;
  background:var(--pal-bg);
  box-shadow:var(--pal-shadow-sm);
  transition:transform .45s var(--pal-ease), box-shadow .45s var(--pal-ease);
}
.ed-step:hover{transform:translateY(-8px);box-shadow:var(--pal-shadow-md);}

.ed-step-num{
  width:46px;height:46px;border-radius:50%;
  background:var(--lime);color:#fff;
  font-weight:800;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 56px;                 /* auto = numéro centré */
  box-shadow:0 10px 20px -8px rgba(4,137,75,.55);
  transition:transform .5s var(--pal-ease);
}
.ed-step:hover .ed-step-num{transform:scale(1.1) rotate(-6deg);}
.ed-step h3{
  color:var(--pal-dark);font-size:1.3rem;font-weight:800;font-stretch:90%;
  letter-spacing:5px;
  margin:0 0 10px;
}
.ed-step p{color:var(--pal-muted);font-size:.95rem;line-height:1.6;margin:0;}
.ed-steps-cta{text-align:center;}

/* =========================================================
   8. BANNIÈRE CTA — cadre sombre + carte claire
========================================================= */

.ed-banner-wrap{
  margin:100px clamp(8px,1.6vw,24px) 0;
  padding:clamp(18px,3vw,40px) 0;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(4,137,75,.28), transparent 60%),
    var(--pal-dark);
  border-radius:clamp(28px,4vw,56px);
}
.ed-banner{
  position:relative;overflow:hidden;
  background:var(--pal-bg);
  border-radius:clamp(24px,3vw,40px);padding:clamp(32px,5vw,64px);
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  box-shadow:var(--pal-shadow-lg);
}
.ed-banner-circle{position:absolute;border-radius:50%;pointer-events:none;}
.ed-banner-circle.c1{width:280px;height:280px;top:-150px;right:-60px;background:var(--pal-orange-l);}
.ed-banner-circle.c2{width:140px;height:140px;bottom:-70px;right:28%;background:var(--pal-sand);}
.ed-banner-content{position:relative;z-index:2;max-width:640px;}
.ed-banner h2{
  font-size:clamp(2rem,4vw,3.2rem);font-weight:800;font-stretch:88%;color:var(--pal-dark);
  margin:0 0 16px;line-height:.98;letter-spacing:5px;
  text-wrap:balance;
}
.ed-banner p{color:var(--pal-text);font-size:1.08rem;line-height:1.65;margin:0;}
.ed-banner .ed-btn{position:relative;z-index:2;flex-shrink:0;}

/* =========================================================
   9. FAQ
========================================================= */

.ed-faq{padding:50px 0 120px;background:var(--pal-bg);}
.ed-faq-grid{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start;
}
.ed-faq-head{position:sticky;top:100px;}

.ed-faq-item{
  background:var(--pal-sand);border-radius:28px;
  margin-bottom:12px;overflow:hidden;
  transition:background .3s, box-shadow .3s, transform .4s var(--pal-ease);
}
.ed-faq-item:hover{transform:translateY(-2px);}
.ed-faq-item.active{background:#fff;box-shadow:inset 0 0 0 2px var(--pal-dark), var(--pal-shadow-md);}

.ed-faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;
  background:none;border:none;cursor:pointer;text-align:left;
  padding:24px 26px;
  font-size:1.15rem;font-weight:700;color:var(--pal-dark);line-height:1.3;
  letter-spacing:-.005em;
}
.ed-faq-icon{
  width:38px;height:38px;flex-shrink:0;border-radius:50%;
  background:var(--pal-bg);color:var(--pal-dark);
  display:flex;align-items:center;justify-content:center;font-size:.8rem;
  transition:transform .45s var(--pal-ease), background .3s, color .3s;
}
.ed-faq-item.active .ed-faq-icon{background:var(--pal-orange);color:#fff;transform:rotate(180deg);}

.ed-faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--pal-ease);}
.ed-faq-a p{margin:0;padding:0 26px 26px;font-size:1rem;color:var(--pal-muted);line-height:1.7;}
.ed-faq-item.active .ed-faq-a{max-height:400px;}

/* =========================================================
   10. ANIMATION AU SCROLL
========================================================= */

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--pal-ease), transform .8s var(--pal-ease);}
.reveal.visible{opacity:1;transform:none;}

/* Décalage en cascade pour les grilles */
.ed-steps-grid .reveal:nth-child(2){transition-delay:.08s;}
.ed-steps-grid .reveal:nth-child(3){transition-delay:.16s;}
.ed-steps-grid .reveal:nth-child(4){transition-delay:.24s;}
.ed-advice-grid .reveal:nth-child(2){transition-delay:.1s;}
.ed-advice-grid .reveal:nth-child(3){transition-delay:.2s;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}

/* =========================================================
   11. SECTION CONSEILS (cartes avec image)
========================================================= */

.ed-advice{
  padding:100px 0 110px;
  background:var(--pal-bg);
  color:var(--pal-text);
}
.ed-advice *{box-sizing:border-box;}

.ed-advice-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
}

.ed-advice-card{
  display:flex;flex-direction:column;
}

/* Image */
.ed-advice-thumb{
  position:relative;overflow:hidden;
  aspect-ratio:4 / 3.4;
  border-radius:36px;
  background:var(--pal-sand);
  margin-bottom:22px;
  box-shadow:var(--pal-shadow-sm);
  transition:box-shadow .5s var(--pal-ease), transform .5s var(--pal-ease);
}
.ed-advice-card:hover .ed-advice-thumb{box-shadow:var(--pal-shadow-md);transform:translateY(-4px);}
.ed-advice-thumb img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .9s var(--pal-ease);
}
.ed-advice-card:hover .ed-advice-thumb img{transform:scale(1.07);}

/* Étiquette */
.ed-advice-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  background:var(--pal-orange);color:#fff;
  padding:7px 14px;border-radius:999px;
  font-size:.78rem;font-weight:700;line-height:1;
  box-shadow:0 8px 18px -8px rgba(4,137,75,.6);
}

/* Texte */
.ed-advice-body{display:flex;flex-direction:column;flex:1;padding:0 6px;}
.ed-advice-body h3{
  font-size:1.35rem;font-weight:800;line-height:1.15;letter-spacing:-.005em;
  color:var(--pal-dark);margin:0 0 10px;
  transition:color .3s;
}
.ed-advice-card:hover .ed-advice-body h3{color:var(--pal-orange);}
.ed-advice-body p{
  font-size:1rem;line-height:1.6;color:var(--pal-muted);
  margin:0 0 18px;
}

/* Auteur */
.ed-advice-author{
  margin-top:auto;
  display:inline-flex;align-items:center;gap:8px;
  font-size:.86rem;font-weight:600;color:var(--pal-muted);
}
.ed-advice-author i{color:var(--pal-orange);font-size:1rem;}

/* =========================================================
   12. TITRES H4 DANS LES BLOCS "WHY"
========================================================= */

.ed-why-body h4{
  font-size:1.15rem !important;
  font-weight:800 !important;
  line-height:1.2;
  letter-spacing:5px;
  color:var(--pal-dark) !important;
  margin:0 0 6px !important;
}

/* Paragraphes qui suivent un h4 */
.ed-why-body h4 + p{
  font-size:.97rem !important;
  line-height:1.65;
  color:var(--pal-muted) !important;
}

/* ---------------------------------------------------------
   Pastilles : Garage / Sous-sol / Vide sanitaire / Local technique
--------------------------------------------------------- */
.ed-subspace-list{
  display:flex;flex-wrap:wrap;gap:10px;
  margin:4px 0 0;
}
.ed-subspace-item{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--pal-sand);
  color:var(--pal-dark);
  padding:11px 18px 11px 12px;
  border-radius:999px;
  font-size:.92rem;font-weight:600;line-height:1;
  box-shadow:inset 0 0 0 1px var(--pal-line);
  transition:background .3s, color .3s, transform .4s var(--pal-ease), box-shadow .3s;
}
.ed-subspace-item i{
  width:30px;height:30px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--pal-orange-l);color:var(--pal-orange);
  font-size:.8rem;
  transition:background .3s, color .3s;
}
.ed-subspace-item:hover{
  background:var(--pal-dark);color:#fff;transform:translateY(-3px);
  box-shadow:var(--pal-shadow-md);
}
.ed-subspace-item:hover i{background:var(--pal-orange);color:#fff;}

/* ---------------------------------------------------------
   Grille des critères analysés
--------------------------------------------------------- */
.ed-criteria-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin-top:10px;
}
.ed-criteria-item{
  display:flex;align-items:center;gap:12px;
  background:var(--pal-sand);
  border-radius:18px;
  padding:14px 16px;
  font-size:.92rem;font-weight:500;line-height:1.35;
  color:var(--pal-dark);
  transition:transform .4s var(--pal-ease), background .3s, box-shadow .3s;
}
.ed-criteria-item i{
  width:24px;height:24px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--pal-orange);color:#fff;
  font-size:.62rem;
}
.ed-criteria-item:hover{
  background:#fff;
  box-shadow:inset 0 0 0 2px var(--pal-dark);
  transform:translateY(-3px);
}

/* ---------------------------------------------------------
   Cartes solutions
--------------------------------------------------------- */
.ed-solutions-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  margin:20px 0;
}

.ed-solution-card{
  position:relative;
  background:var(--pal-sand);
  border-radius:28px;
  padding:26px 24px 28px;
  transition:transform .45s var(--pal-ease), background .3s, box-shadow .3s;
}
.ed-solution-card:hover{
  background:#fff;
  box-shadow:inset 0 0 0 2px var(--pal-dark), var(--pal-shadow-md);
  transform:translateY(-6px);
}

/* Titre + icône (les !important passent devant la règle .ed-why-body h4 si le bloc y est imbriqué) */
.ed-solution-card h4{
  display:flex;align-items:center;gap:14px;
  font-size:1.15rem !important;
  font-weight:800 !important;
  line-height:1.2;
  letter-spacing:5px;
  color:var(--pal-dark) !important;
  margin:0 0 14px !important;
}
.ed-solution-card h4 i{
  width:46px;height:46px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--pal-orange);color:#fff;
  font-size:1.05rem;
  box-shadow:0 10px 20px -8px rgba(4,137,75,.55);
  transition:transform .45s var(--pal-ease);
}
.ed-solution-card:hover h4 i{transform:rotate(-10deg) scale(1.08);}

.ed-solution-card p{
  margin:0 !important;
  font-size:.97rem !important;
  line-height:1.65;
  color:var(--pal-muted) !important;
}

/* ---------------------------------------------------------
   Grille de points à cocher
--------------------------------------------------------- */
.ed-check-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin:20px 0;
}

.ed-check-item{
  display:flex;align-items:center;gap:12px;
  background:var(--pal-sand);
  border-radius:18px;
  padding:14px 16px;
  font-size:.93rem;font-weight:500;line-height:1.35;
  color:var(--pal-dark);
  transition:transform .4s var(--pal-ease), background .3s, box-shadow .3s;
}
.ed-check-item i{
  width:24px;height:24px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--pal-orange);color:#fff;
  font-size:.62rem;
  transition:transform .4s var(--pal-ease);
}
.ed-check-item:hover{
  background:#fff;
  box-shadow:inset 0 0 0 2px var(--pal-dark);
  transform:translateY(-3px);
}
.ed-check-item:hover i{transform:scale(1.15) rotate(-8deg);}

/* =========================================================
   13. SECTION USAGES / TIPS
========================================================= */

.ed-tips{
  padding:100px 0 110px;
  background:var(--pal-bg);
  color:var(--pal-text);
}
.ed-tips *{box-sizing:border-box;}

.ed-usage-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
  max-width:980px;margin:0 auto;
}

.ed-usage-card{
  position:relative;
  background:var(--pal-sand);
  border-radius:36px;
  padding:44px 36px 40px;
  transition:transform .45s var(--pal-ease), background .3s, box-shadow .3s;
}
.ed-usage-card:hover{
  background:#fff;
  box-shadow:inset 0 0 0 2px var(--pal-dark), var(--pal-shadow-md);
  transform:translateY(-6px);
}

.ed-usage-icon{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--pal-orange);color:#fff;
  font-size:1.5rem;
  margin-bottom:56px;
  box-shadow:0 14px 26px -10px rgba(4,137,75,.6);
  transition:transform .5s var(--pal-ease);
}
.ed-usage-card:hover .ed-usage-icon{transform:rotate(-10deg) scale(1.08);}

.ed-usage-card h3{
  font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:800;
  line-height:1.05;letter-spacing:5px;
  color:var(--pal-dark);
  margin:0 0 14px;
}
.ed-usage-card p{
  margin:0;
  font-size:1rem;line-height:1.7;
  color:var(--pal-muted);
}

/* =========================================================
   14. HERO ANIMÉ (zoom image + effet machine à écrire)
   Pour la section <section class="hero"> avec .hero-img / .hero-bg
========================================================= */

.hero-img{
  position:relative;overflow:hidden;
  border-radius:clamp(24px,3.4vw,48px);
  min-height:420px;
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  z-index:-2;
  transform:scale(1.25);
  animation:heroZoomOut 2.4s var(--pal-ease) forwards;
  transition:transform 1.2s ease;
}
.hero-img::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.08));
}
.hero-img:hover .hero-bg{transform:scale(1.08);}
@keyframes heroZoomOut{from{transform:scale(1.25);}to{transform:scale(1);}}

.hero-content{position:relative;z-index:1;}

.caret{
  display:inline-block;width:2px;height:1em;margin-left:3px;
  vertical-align:-.12em;background:currentColor;
  animation:blink .7s steps(1) infinite;
}
@keyframes blink{50%{opacity:0;}}

.hero-actions{
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease, transform .8s ease;
}
.hero-actions.show{opacity:1;transform:none;}

@media (prefers-reduced-motion: reduce){
  .hero-bg{animation:none;transform:none;}
  .caret{animation:none;}
  .hero-actions{opacity:1;transform:none;}
}

/* =========================================================
   15. RESPONSIVE
========================================================= */

@media (max-width: 1200px){
  .ed-step{flex:0 1 calc((100% - 32px) / 3);}   /* 3 cartes par ligne */
  .ed-why-row{gap:56px;}
}

@media (max-width: 992px){
	.ed-title{font-size:23px;}
  .ed-why{padding:20px;}
  .ed-why-row{grid-template-columns:1fr;gap:40px;margin-bottom:80px;}
  .ed-reverse .ed-why-media,
  .ed-reverse .ed-why-body{order:initial;}
  .ed-why-media img{height:400px;}

  .ed-faq-grid{grid-template-columns:1fr;gap:36px;}
  .ed-faq-head{position:static;}

  .ed-banner{flex-direction:column;align-items:flex-start;}
  .ed-advice{padding:20px;}
  .ed-advice-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
  .ed-tips{padding:80px 0;}
}

@media (max-width: 768px){
  .ed-steps{padding:76px 0;}
  .ed-step{flex:0 1 calc((100% - 16px) / 2);}   /* 2 cartes par ligne */
  .ed-step-num{margin-bottom:36px;}
  .ed-solutions-grid{grid-template-columns:1fr;}
  .ed-usage-grid{grid-template-columns:1fr;}
  .ed-usage-icon{margin-bottom:36px;}
}

@media (max-width: 576px){
  .ed-advice-grid{grid-template-columns:1fr;gap:36px;}
  .ed-advice-thumb{border-radius:28px;}
  .ed-hero{padding:16px 0 56px;}
  .ed-hero-content{padding-top:24px;}
  .ed-hero-actions{flex-direction:column;align-items:center;margin-bottom:-27px;}
  .ed-hero-actions .ed-btn{width:min(100%,320px);}
  .ed-hero-actions .ed-btn-ghost{display:none;}

  .ed-step{flex:1 1 100%;}                      /* 1 carte par ligne */
  .ed-checklist{grid-template-columns:1fr;}
  .ed-banner .ed-btn{width:100%;}
  .ed-banner-wrap{margin-top:70px;}
  .ed-faq{padding:20px;}

  .ed-why-media,
  .ed-why-media img{border-radius:32px;}
  .ed-why-media img{height:300px;}

  .ed-criteria-grid{grid-template-columns:1fr;}
  .ed-subspace-item{font-size:.88rem;}
  .ed-check-grid{grid-template-columns:1fr;}
  .ed-usage-card{border-radius:28px;padding:32px 26px;}

  .hero-img{min-height:340px;}
}