/* =========================================================================
   Agence SEO — feuille de style sur mesure (aucun framework, aucune police
   externe). Palette « outremer & soleil » : encre bleu nuit, bleu outremer d'accent, jaune soleil décoratif, surfaces sable.
   ========================================================================= */

:root{
  /* Palette « Ardoise & ambre » (Leads Marseille) : contrastes WCAG AA calculés
     encre #1b2030 sur blanc 16,2:1 · texte-doux #565d6d 6,6:1 (6,1:1 sur #f6f5f3)
     accent #c2410c sur blanc 5,2:1 (texte blanc sur bouton 5,2:1 à 7,3:1)
     accent-clair #fdba74 sur encre 9,6:1 · orange #f7941d / #f15a24 : décoratif uniquement */
  --encre:#1b2030;
  --encre-2:#232a3d;
  --encre-3:#3a4258;
  --texte:#232838;
  --texte-doux:#565d6d;
  --surface:#ffffff;
  --surface-2:#f6f5f3;
  --surface-3:#eeece8;
  --bord:#e7e3dc;
  --accent:#c2410c;
  --accent-clair:#fdba74;
  --accent-fonce:#9a3412;
  --accent-voile:#fff1e6;
  --corail:#f7941d;
  --corail-voile:#fff6ec;
  --orange-1:#f7941d;
  --orange-2:#f15a24;
  --ciel:#2b8fc4;
  --degrade:linear-gradient(135deg,var(--orange-1) 0%,var(--orange-2) 100%);
  --degrade-fonce:linear-gradient(135deg,#c2410c 0%,#9a3412 100%);
  --hexa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 86.6' preserveAspectRatio='none'%3E%3Cpath d='M22.00 5.20Q25.00 0.00 31.00 0.00L69.00 0.00Q75.00 0.00 78.00 5.20L97.00 38.10Q100.00 43.30 97.00 48.50L78.00 81.40Q75.00 86.60 69.00 86.60L31.00 86.60Q25.00 86.60 22.00 81.40L3.00 48.50Q0.00 43.30 3.00 38.10Z'/%3E%3C/svg%3E");
  --hexa-p:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 46.2' preserveAspectRatio='none'%3E%3Cpath d='M16.54 2.00Q20.00 0.00 23.46 2.00L36.54 9.55Q40.00 11.55 40.00 15.55L40.00 30.65Q40.00 34.65 36.54 36.65L23.46 44.20Q20.00 46.20 16.54 44.20L3.46 36.65Q0.00 34.65 0.00 30.65L0.00 15.55Q0.00 11.55 3.46 9.55Z'/%3E%3C/svg%3E");
  --alerte:#8a4b00;
  --alerte-fond:#fff6e8;
  --rayon:18px;
  --rayon-s:10px;
  --ombre:0 1px 2px rgba(27,32,48,.05), 0 8px 24px rgba(27,32,48,.06);
  --ombre-f:0 4px 10px rgba(27,32,48,.06), 0 28px 56px rgba(27,32,48,.14);
  --max:76rem;
  --pile:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --entete-h:4.5rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;font-family:var(--pile);font-size:clamp(1rem,.97rem + .15vw,1.0625rem);
  line-height:1.65;color:var(--texte);background:var(--surface);
  overflow-x:hidden;text-rendering:optimizeLegibility;
}
img,picture,svg,iframe{max-width:100%}
img{height:auto;display:block}
h1,h2,h3{line-height:1.2;color:var(--encre);letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,1.35rem + 2.4vw,3.1rem)}
h2{font-size:clamp(1.45rem,1.2rem + 1.1vw,2.1rem)}
h3{font-size:clamp(1.1rem,1.02rem + .35vw,1.3rem)}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.25rem}
a{color:var(--accent-fonce);text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
code{background:var(--surface-3);padding:.1em .35em;border-radius:4px;font-size:.9em}
.muet{color:var(--texte-doux);font-weight:400}
.a-verifier{color:var(--alerte);font-style:italic}
.ok{color:var(--accent-fonce);font-weight:600}
.ko{color:#a3261a;font-weight:600}

/* ---------------------------------------------------------- utilitaires */
.conteneur{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.conteneur--texte,.conteneur--formulaire{max-width:46rem}
.lien-evitement{
  position:absolute;left:.5rem;top:-4rem;z-index:100;background:var(--encre);color:#fff;
  padding:.7rem 1.1rem;border-radius:var(--rayon-s);transition:top .15s ease;
}
.lien-evitement:focus{top:.5rem;color:#fff}
main:focus{outline:none}

/* ---------------------------------------------------------- bandeau préprod */
.bandeau-preprod{
  background:var(--alerte-fond);color:var(--alerte);border-bottom:1px solid #f0d9b5;
  padding:.5rem clamp(1rem,4vw,2rem);font-size:.9rem;text-align:center;
}
.bandeau-preprod a{color:var(--alerte)}

/* ---------------------------------------------------------- en-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--bord)}
.entete__inner{display:flex;align-items:center;gap:1rem;min-height:var(--entete-h)}
.marque{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;color:var(--encre);text-decoration:none;flex:0 0 auto}
.marque__sigle{display:inline-flex;color:var(--encre);line-height:0}
.marque__sigle svg{width:2.1rem;height:2.1rem}
.marque__logo{width:auto;height:2.1rem;object-fit:contain}
.marque__texte{font-size:1.02rem;letter-spacing:-.01em}
.marque--pied{color:#fff;gap:.7rem}
.marque--pied .marque__sigle{color:var(--accent)}
.marque--pied .marque__sigle svg{width:2.6rem;height:2.6rem}
.marque--pied .marque__logo{height:2.6rem}
.marque--pied .marque__texte{color:#fff;font-size:1.1rem}
.marque--pied:hover .marque__texte{color:var(--accent-clair)}
.nav{margin-left:auto}
.nav__liste{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}
.nav__liste a{
  display:block;padding:.5rem .7rem;border-radius:var(--rayon-s);color:var(--texte);
  text-decoration:none;font-weight:500;font-size:.96rem;
}
.nav__liste a:hover{background:var(--surface-3);color:var(--encre)}
.nav__liste a[aria-current="page"]{background:var(--surface-3);color:var(--encre);box-shadow:inset 0 -2px 0 var(--accent)}
.entete__actions{display:flex;gap:.5rem;align-items:center;flex:0 0 auto}
.burger{display:none}

.bouton{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.62rem 1.05rem;border-radius:999px;font-weight:600;font-size:.95rem;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease;
}
.bouton--primaire{background:var(--accent);color:#fff}
.bouton--primaire:hover{background:var(--accent-fonce);color:#fff;transform:translateY(-1px);box-shadow:var(--ombre)}
.bouton--fantome{border-color:var(--bord);color:var(--encre);background:var(--surface)}
.bouton--fantome:hover{border-color:var(--encre-3);color:var(--encre);background:var(--surface-2)}
.bouton--clair{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.bouton--clair:hover{background:rgba(255,255,255,.2);color:#fff}

/* ---------------------------------------------------------- fil d'Ariane */
.ariane{background:var(--surface-2);border-bottom:1px solid var(--bord);font-size:.88rem}
.ariane__liste{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:.6rem 0}
.ariane__item{display:flex;gap:.35rem;color:var(--texte-doux)}
.ariane__sep{color:var(--bord)}

/* ---------------------------------------------------------- sections */
.section{padding-block:clamp(2.25rem,5.5vw,3.75rem)}
.section--fond{background:var(--surface-2);border-block:1px solid var(--bord)}
.section__titre{text-wrap:balance}
.section__sous-titre{font-size:1.1rem;margin-top:1.75rem}
.section__chapeau{color:var(--texte-doux);max-width:46rem;font-size:1.03rem}
.section__actions{margin-top:1.5rem}
.titre-page{margin-top:1.5rem}
.prose p{max-width:46rem}

.liste-puces{list-style:none;padding:0;display:grid;gap:.7rem;max-width:52rem}
.liste-puces li{position:relative;padding-left:1.5rem}
.liste-puces li::before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
.liste-inline{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.liste-inline li{background:var(--surface-2);border:1px solid var(--bord);border-radius:999px;padding:.25rem .7rem;font-size:.9rem}
.liste-liens{list-style:none;padding:0;display:grid;gap:.5rem}
.liste-liens__texte{color:var(--texte-doux);font-size:.92rem}
.liste-definition{list-style:none;padding:0;display:grid;gap:.5rem;max-width:46rem}
.liste-definition li{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--bord)}
@media (max-width:40rem){.liste-definition li{grid-template-columns:1fr}}

.encart{
  background:var(--surface-2);border:1px solid var(--bord);border-left:4px solid var(--accent);
  border-radius:var(--rayon-s);padding:1rem 1.15rem;max-width:52rem;
}
.encart p:last-child,.encart ul:last-child{margin-bottom:0}
.encart__titre{font-weight:700;color:var(--encre);margin-bottom:.4em}
.encart--alerte{background:var(--alerte-fond);border-color:#f0d9b5;border-left-color:var(--alerte)}

/* grilles */
.grille-cartes,.grille-services,.grille-villes{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.grille-services{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.grille-cartes{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.grille-cartes--compacte{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.grille-villes{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}

.carte,.carte-service{
  position:relative;background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);
  padding:1.1rem 1.15rem;box-shadow:var(--ombre);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.carte:hover,.carte-service:hover{transform:translateY(-2px);box-shadow:var(--ombre-f);border-color:var(--encre-3)}
.carte__visuel,.carte-service__visuel{margin:-1.1rem -1.15rem .9rem;border-radius:var(--rayon) var(--rayon) 0 0;overflow:hidden}
.carte__visuel img,.carte-service__visuel img{width:100%;aspect-ratio:16/9;object-fit:cover}
.carte__titre,.carte-service__titre{font-size:1.08rem;margin-bottom:.35em}
.carte__titre a,.carte-service__lien{text-decoration:none;color:var(--encre)}
.carte__titre a:hover,.carte-service__lien:hover{color:var(--accent-fonce);text-decoration:underline}
.carte__texte,.carte-service__texte{color:var(--texte-doux);font-size:.95rem;margin-bottom:0}
/* carte entièrement cliquable, un seul lien accessible */
.carte-service__lien::after,.carte-ville__lien::after{content:"";position:absolute;inset:0}
.carte-service__fleche,.carte-ville__fleche{position:absolute;right:1rem;bottom:.9rem;color:var(--accent);transition:transform .14s ease}
.carte-service:hover .carte-service__fleche,.carte-ville:hover .carte-ville__fleche{transform:translateX(3px)}
.carte-service:focus-within,.carte-ville:focus-within{outline:3px solid var(--accent);outline-offset:2px}

/* cartes de villes */
.carte-ville{
  position:relative;background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);
  padding:.95rem 2.2rem .95rem 1.05rem;box-shadow:var(--ombre);
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.carte-ville:hover{transform:translateY(-2px);box-shadow:var(--ombre-f);border-color:var(--encre-3)}
.carte-ville__nom{font-size:1.02rem;margin:0 0 .3em}
.carte-ville__lien{text-decoration:none;color:var(--encre)}
.carte-ville__lien:hover{color:var(--accent-fonce);text-decoration:underline}
.carte-ville__meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .35em;font-size:.84rem;color:var(--texte-doux)}
.carte-ville__cp{background:var(--surface-3);border-radius:4px;padding:0 .35rem;font-variant-numeric:tabular-nums}
.carte-ville__accroche{font-size:.9rem;color:var(--texte-doux);margin:0}
.carte-ville--bientot{opacity:.68;background:var(--surface-2);box-shadow:none}
.carte-ville--bientot:hover{transform:none;box-shadow:none;border-color:var(--bord)}
.etiquette{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-3);color:var(--texte-doux);border-radius:999px;padding:.1rem .45rem;vertical-align:middle}

/* outils de liste de villes */
.villes-outils{margin-block:1.25rem 1.75rem;padding:1rem;background:var(--surface-2);border:1px solid var(--bord);border-radius:var(--rayon)}
.villes-outils__ligne{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.champ{display:grid;gap:.3rem;margin:0}
.champ label{font-size:.85rem;font-weight:600;color:var(--encre)}
.champ input,.champ select{
  font:inherit;font-size:.95rem;padding:.5rem .65rem;border:1px solid var(--bord);
  border-radius:var(--rayon-s);background:var(--surface);color:var(--texte);min-width:0;
}
.champ input:focus-visible,.champ select:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.champ--case{display:flex;align-items:center;gap:.5rem}
.champ--case label{font-weight:500}
.villes-lettres{margin-top:.85rem}
.villes-lettres ul{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;padding:0;margin:0}
.villes-lettres button{
  font:inherit;font-size:.85rem;font-weight:600;min-width:2rem;padding:.25rem .45rem;cursor:pointer;
  border:1px solid var(--bord);background:var(--surface);color:var(--texte);border-radius:var(--rayon-s);
}
.villes-lettres button:hover{border-color:var(--encre-3)}
.villes-lettres button[aria-pressed="true"]{background:var(--encre);color:#fff;border-color:var(--encre)}
.villes-compteur{margin:.85rem 0 0;font-size:.88rem;color:var(--texte-doux)}
.villes-groupe{margin-bottom:1.75rem}
.villes-groupe__titre{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--texte-doux);border-bottom:1px solid var(--bord);padding-bottom:.4rem}
.villes-vide{color:var(--texte-doux)}

/* étapes */
.etapes{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));counter-reset:e}
.etape{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);padding:1.1rem}
.etape__num{
  display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-bottom:.6rem;
  border-radius:50%;background:var(--encre);color:#fff;font-weight:700;font-size:.95rem;
}
.etape__titre{font-size:1.02rem;margin-bottom:.3em}
.etape__texte{color:var(--texte-doux);font-size:.95rem;margin:0}

/* tableaux */
.tableau-enveloppe{overflow-x:auto;border:1px solid var(--bord);border-radius:var(--rayon);background:var(--surface)}
.tableau{width:100%;border-collapse:collapse;font-size:.94rem;min-width:30rem}
.tableau th,.tableau td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--bord);vertical-align:top}
.tableau thead th{background:var(--surface-3);color:var(--encre);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.tableau tbody tr:last-child th,.tableau tbody tr:last-child td{border-bottom:0}
.tableau tbody th{font-weight:600;color:var(--encre)}

/* FAQ */
.faq{display:grid;gap:.6rem;max-width:52rem}
.faq__item{background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon);overflow:hidden}
.faq__question{
  cursor:pointer;padding:.9rem 1.05rem;font-weight:600;color:var(--encre);list-style:none;
  display:flex;justify-content:space-between;gap:1rem;align-items:center;
}
.faq__question::-webkit-details-marker{display:none}
.faq__question::after{content:"+";font-size:1.3rem;color:var(--accent);line-height:1;flex:0 0 auto}
.faq__item[open] .faq__question::after{content:"−"}
.faq__question:hover{background:var(--surface-2)}
.faq__reponse{padding:0 1.05rem 1rem;color:var(--texte-doux)}
.faq__reponse p:last-child{margin-bottom:0}

/* figure, formulaire */
.figure{margin:0}
.figure figcaption{font-size:.88rem;color:var(--texte-doux);margin-top:.5rem}
.tally iframe{width:100%;border:0;display:block;min-height:22rem;background:transparent}

/* bandeau CTA */
.bandeau-cta{background:var(--encre-2);color:#fff;padding-block:clamp(2rem,4vw,2.75rem)}
.bandeau-cta__inner{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:space-between}
.bandeau-cta__titre{color:#fff;margin-bottom:.3em}
.bandeau-cta__texte{color:#cfd3dc;margin:0;max-width:38rem}
.bandeau-cta__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}

/* CTA sticky */
.cta-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(27,32,48,.96);
  backdrop-filter:blur(8px);border-top:1px solid var(--encre-3);
  padding:.6rem clamp(1rem,4vw,2rem);transform:translateY(0);transition:transform .2s ease,opacity .2s ease;
}
.cta-sticky[hidden]{display:none}
.cta-sticky--masque{transform:translateY(110%);opacity:0;pointer-events:none}
.cta-sticky__inner{max-width:var(--max);margin-inline:auto;display:flex;gap:1rem;align-items:center;justify-content:space-between}
.cta-sticky__texte{margin:0;color:#e6e8ee;font-weight:600;font-size:.95rem}
.cta-sticky__actions{display:flex;gap:.5rem;flex:0 0 auto}
@media (max-width:30rem){.cta-sticky__texte{display:none}.cta-sticky__actions{width:100%}.cta-sticky__actions .bouton{flex:1}}

/* simulateur */
.simulateur{display:grid;gap:1.5rem}
@media (min-width:60rem){.simulateur{grid-template-columns:1.25fr .75fr;align-items:start}}
.simulateur__form{display:grid;gap:1.25rem}
.champ-groupe{border:1px solid var(--bord);border-radius:var(--rayon);padding:1rem 1.1rem;margin:0;display:grid;gap:.7rem}
.champ-groupe legend{font-weight:700;color:var(--encre);padding-inline:.35rem;font-size:.95rem}
.simulateur__actions{margin:0}
.simulateur__resultat{
  background:var(--encre);color:#f2f3f6;border-radius:var(--rayon);padding:1.4rem;
  position:sticky;top:calc(var(--entete-h) + 1rem);
}
.simulateur__titre{color:#fff;font-size:1.1rem;margin-bottom:.4em}
.simulateur__montant{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);font-weight:800;color:#fff;margin:0 0 .3em;line-height:1.1}
.simulateur__montant .muet{font-size:.95rem;font-weight:500;color:#a9afbd}
.simulateur__secondaire{color:#cfd3dc;font-size:.95rem;margin:0 0 .4em}
.simulateur__resultat .encart{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);border-left-color:var(--accent-clair);color:#ffedd5}
.simulateur__resultat .encart code{background:rgba(0,0,0,.25);color:#fff}
.simulateur__resultat .bouton--primaire{margin-top:.6rem}

/* diagnostic */
.diagnostic-grille{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}

/* pied */
.pied{background:var(--encre);color:#cfd3dc;padding-block:clamp(2rem,4.5vw,3rem) 1.1rem;margin-bottom:4.25rem}
.pied__haut{display:grid;gap:1.75rem}
@media (min-width:56rem){.pied__haut{grid-template-columns:minmax(16rem,22rem) 1fr;gap:2.5rem}}
.pied__marque{display:grid;gap:.6rem;align-content:start}
.pied__baseline{font-size:.92rem;margin:0;max-width:24rem}
.pied__adresse{font-style:normal;font-size:.92rem;margin:0}
.pied__contact{margin:0;font-size:.95rem;display:flex;flex-wrap:wrap;gap:.4rem}
.pied__sep{color:var(--encre-3)}
.pied__reseaux{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;padding:0;margin:.15rem 0 0;font-size:.9rem}
.pied__actions{margin:.4rem 0 0}
/* Trois colonnes courtes : listes bornées, aucune liste de villes interminable */
.pied__colonnes{display:grid;gap:1.25rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.pied__col ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem;font-size:.93rem}
.pied__titre{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#fff;margin:0 0 .7em}
.pied a{color:#e6e8ee;text-decoration:none}
.pied a:hover{color:#fff;text-decoration:underline}
.pied .bouton--primaire{color:#fff}
.pied__bas{border-top:1px solid var(--encre-3);margin-top:1.75rem;padding-top:1rem;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;justify-content:space-between}
.pied__bas p{margin:0}
.pied__mention{color:#a9afbd}
@media (max-width:34rem){
  .pied__colonnes{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1rem}
  .pied__col ul{font-size:.9rem}
}

/* ---------------------------------------------------------- mobile : menu */
@media (max-width:67.49rem){
  .burger{
    display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;order:3;
    font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--encre);
    background:var(--surface);border:1px solid var(--bord);border-radius:var(--rayon-s);padding:.5rem .7rem;
  }
  .burger__barres,.burger__barres::before,.burger__barres::after{
    content:"";display:block;width:1.1rem;height:2px;background:var(--encre);position:relative;
  }
  .burger__barres::before{position:absolute;top:-6px}
  .burger__barres::after{position:absolute;top:6px}
  .nav{order:4;flex-basis:100%;margin-left:0;display:none}
  .nav.est-ouvert{display:block;padding-bottom:.75rem}
  .nav__liste{flex-direction:column;gap:.1rem}
  .nav__liste a{padding:.65rem .75rem}
  .entete__actions{order:2}
  .entete__actions .bouton--fantome{display:none}
  .entete__inner{flex-wrap:wrap;padding-block:.5rem}
}
@media (max-width:30rem){
  .marque__texte{font-size:.92rem}
  .entete__actions .bouton{font-size:.88rem;padding:.55rem .8rem}
}


/* =========================================================================
   DESIGN v3 — refonte : indigo & corail, cartes photo, menu Services
   ========================================================================= */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.icone{width:1.35rem;height:1.35rem;flex:0 0 auto}
.icone--s{width:1rem;height:1rem}
h1,h2,h3{font-weight:800;letter-spacing:-.025em}
h1{font-size:clamp(2rem,1.3rem + 2.8vw,3.4rem);line-height:1.08}
h2{font-size:clamp(1.55rem,1.2rem + 1.3vw,2.3rem);line-height:1.15}
.section__titre{position:relative}
.section__titre::before{
  content:"";display:block;width:2.25rem;height:.3rem;border-radius:99px;margin-bottom:.8rem;
  background:linear-gradient(90deg,var(--accent),var(--corail));
}
.section__chapeau{font-size:1.08rem}
a{color:var(--accent-fonce)}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* --- boutons --- */
.bouton{border-radius:12px;padding:.72rem 1.2rem;font-weight:700}
.bouton--primaire{background:var(--accent);box-shadow:0 6px 18px rgba(194,65,12,.28)}
.bouton--primaire:hover{background:var(--accent-fonce);box-shadow:0 10px 24px rgba(194,65,12,.34)}
.bouton--fantome{background:var(--surface);border-color:var(--bord);color:var(--encre)}
.bouton--fantome:hover{border-color:var(--accent);color:var(--accent-fonce);background:var(--accent-voile)}

/* --- en-tête et menu Services --- */
.entete{background:rgba(255,255,255,.94);border-bottom:1px solid var(--bord);box-shadow:0 1px 0 rgba(27,32,48,.02)}
.marque__sigle{color:var(--accent)}
.nav__liste{align-items:center;gap:.15rem}
.nav__item{position:relative}
.nav__liste .nav__lien{
  display:block;padding:.55rem .8rem;border-radius:10px;color:var(--texte);font-weight:600;font-size:.96rem;text-decoration:none;
}
.nav__liste .nav__lien:hover{background:var(--surface-2);color:var(--accent-fonce)}
.nav__liste .nav__lien[aria-current="page"],.nav__liste .nav__lien[data-actif]{color:var(--accent-fonce);background:var(--accent-voile);box-shadow:none}
.nav__declencheur{display:flex;align-items:center}
.nav__declencheur .nav__lien{padding-right:.35rem}
.nav__bascule{
  display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2.2rem;margin-left:-.15rem;
  border:0;background:transparent;color:var(--texte-doux);border-radius:8px;cursor:pointer;
}
.nav__bascule:hover{background:var(--surface-2);color:var(--accent-fonce)}
.nav__bascule .icone{transition:transform .18s ease}
.nav__item--deroulant.est-ouvert .nav__bascule .icone{transform:rotate(180deg)}
.sous-menu{
  position:absolute;left:-.5rem;top:calc(100% + .55rem);z-index:60;width:min(22rem,calc(100vw - 2rem));
  background:var(--surface);border:1px solid var(--bord);border-radius:16px;box-shadow:var(--ombre-f);
  padding:.55rem;visibility:hidden;opacity:0;transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
.sous-menu::before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:.7rem} /* pont de survol */
.nav__item--deroulant.est-ouvert .sous-menu,
html:not(.js) .nav__item--deroulant:focus-within .sous-menu,
html:not(.js) .nav__item--deroulant:hover .sous-menu{
  visibility:visible;opacity:1;transform:none;transition:opacity .16s ease,transform .16s ease,visibility 0s;
}
.sous-menu__liste{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.nav__liste .sous-menu__lien,.sous-menu__lien{
  display:flex;gap:.8rem;align-items:center;padding:.5rem .6rem;border-radius:12px;
  text-decoration:none;color:var(--texte);
}
.nav__liste .sous-menu__lien:hover,.nav__liste .sous-menu__lien:focus-visible{background:var(--surface-2);color:var(--texte)}
.nav__liste .sous-menu__lien[aria-current="page"]{background:var(--accent-voile);box-shadow:none}
.sous-menu__icone{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;
  border-radius:11px;background:var(--accent-voile);color:var(--accent);
}
.sous-menu__lien:hover .sous-menu__icone{background:var(--accent);color:#fff}
.sous-menu__textes{display:grid;gap:.1rem;min-width:0}
.sous-menu__titre{font-weight:600;color:var(--texte);font-size:.96rem}
.nav__liste .sous-menu__lien:hover .sous-menu__titre{color:var(--accent-fonce)}
.sous-menu__resume{display:none} /* menu compact : icône + titre (le résumé reste dans le HTML pour les cartes) */
.sous-menu__pied{
  display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;
  margin-top:.4rem;padding:.7rem .75rem .35rem;border-top:1px solid var(--bord);
}
.nav__liste .sous-menu__tous,.nav__liste .sous-menu__secondaire{padding:0;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;text-decoration:none}
.sous-menu__tous{color:var(--accent-fonce)}
.sous-menu__secondaire{color:var(--texte-doux)}
.sous-menu__tous:hover,.sous-menu__secondaire:hover{color:var(--accent);text-decoration:underline}

@media (max-width:67.49rem){
  .js .nav{display:none}
  .js .nav.est-ouvert{display:block}
  html:not(.js) .nav{display:block}
  .nav__liste{align-items:stretch}
  .nav__item{border-bottom:1px solid var(--bord)}
  .nav__item:last-child{border-bottom:0}
  .nav__declencheur{justify-content:space-between}
  .nav__bascule{width:2.75rem;height:2.75rem}
  .sous-menu{
    position:static;width:auto;box-shadow:none;border:0;border-radius:0;padding:0 0 .5rem;
    display:none;visibility:visible;opacity:1;transform:none;transition:none;
  }
  .sous-menu::before{display:none}
  .nav__item--deroulant.est-ouvert .sous-menu{display:block}
  html:not(.js) .sous-menu{display:block}
  .sous-menu__resume{display:none}
  .nav__liste .sous-menu__lien{align-items:center;padding:.5rem .5rem}
  .sous-menu__icone{flex-basis:2.1rem;width:2.1rem;height:2.1rem}
  .entete__actions .bouton--tel{display:none}
}

/* --- sections --- */
.section--fond{background:var(--surface-2);border:0}
.section--services{background:linear-gradient(180deg,var(--surface-2),var(--surface))}

/* --- cartes de services : photo + pastille icône --- */
.grille-services{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr))}
.carte-service{padding:0;overflow:hidden;border-radius:var(--rayon);display:flex;flex-direction:column;border-color:var(--bord)}
.carte-service:hover{transform:translateY(-4px);box-shadow:var(--ombre-f);border-color:var(--accent-clair)}
.carte-service__visuel{margin:0;border-radius:0;aspect-ratio:16/10;overflow:hidden}
.carte-service__visuel img{aspect-ratio:16/10;height:100%;transition:transform .35s ease}
.carte-service:hover .carte-service__visuel img{transform:scale(1.04)}
.carte-service__corps{position:relative;padding:1.6rem 1.2rem 1.15rem;display:flex;flex-direction:column;flex:1}
.carte-service__icone{
  position:absolute;top:-1.5rem;left:1.1rem;display:inline-flex;align-items:center;justify-content:center;
  width:3rem;height:3rem;border-radius:14px;background:var(--accent);color:#fff;
  box-shadow:0 10px 22px rgba(194,65,12,.35);border:3px solid var(--surface);
}
.carte-service__titre{font-size:1.15rem;margin:.35rem 0 .4em}
.carte-service__lien{color:var(--encre)}
.carte-service__lien:hover{color:var(--accent-fonce);text-decoration:none}
.carte-service__texte{flex:1;margin-bottom:.9rem}
.carte-service__plus{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.9rem;color:var(--accent-fonce)}
.carte-service:hover .carte-service__plus .icone{transform:translateX(3px)}
.carte-service__plus .icone{transition:transform .15s ease}
.carte-service__fleche{display:none}
.carte-service:focus-within{outline:3px solid var(--accent);outline-offset:3px}

/* --- cartes génériques (réassurance) --- */
.carte{border-radius:var(--rayon);padding:1.25rem 1.3rem}
.carte__visuel{margin:-1.25rem -1.3rem 1rem;border-radius:var(--rayon) var(--rayon) 0 0}
.carte__visuel img{aspect-ratio:16/10}
.carte:hover{border-color:var(--accent-clair)}

/* --- étapes --- */
.etape{border-radius:var(--rayon);padding:1.3rem;position:relative;overflow:hidden}
.etape::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--accent),var(--corail));opacity:.85}
.etape__num{background:var(--accent-voile);color:var(--accent-fonce);border-radius:12px;width:2.4rem;height:2.4rem}

/* --- listes, encarts, FAQ --- */
.liste-puces li::before{background:linear-gradient(135deg,var(--accent),var(--corail))}
.liste-liens a{font-weight:700}
.encart{border-radius:14px;border-left-width:5px;background:var(--surface-2)}
.encart--alerte{background:var(--corail-voile);border-color:#f5d9a8;border-left-color:#b45309;color:#5a3204}
.encart--alerte .encart__titre{color:#7a3f06}
.faq__item{border-radius:14px}
.faq__item[open]{border-color:var(--accent-clair);box-shadow:var(--ombre)}
.faq__question::after{color:var(--accent);font-weight:400}
.figure img{border-radius:var(--rayon);box-shadow:var(--ombre)}

/* --- cartes de villes --- */
.carte-ville{border-radius:14px}
.carte-ville:hover{border-color:var(--accent-clair)}
.carte-ville__cp{background:var(--accent-voile);color:var(--accent-fonce)}
.villes-outils{border-radius:var(--rayon)}
.villes-lettres button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}

/* --- bandeau CTA, CTA sticky, simulateur, pied --- */
.bandeau-cta{background:radial-gradient(120% 140% at 100% 0%,#5a2a14 0%,var(--encre-2) 45%,var(--encre) 100%)}
.bandeau-cta__texte{color:#e4e6ec}
.cta-sticky{background:rgba(27,32,48,.96);border-top-color:var(--encre-3)}
.cta-sticky__texte{color:#eef0f4}
.simulateur__resultat{border-radius:20px;background:radial-gradient(120% 120% at 100% 0%,#3b2418 0%,var(--encre) 60%)}
.simulateur__montant .muet{color:#b9bfcc}
.simulateur__secondaire{color:#e4e6ec}
.simulateur__resultat .encart{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);border-left-color:var(--corail);color:#ffedd5}
.pied{background:var(--encre);color:#e4e6ec}
.pied a{color:#eceef3}
.pied__titre{color:#fff}
.pied__mention{color:#b9bfcc}
.pied__bas{border-top-color:var(--encre-3)}
.marque--pied .marque__sigle{color:var(--accent)}
.marque--pied:hover .marque__texte{color:var(--accent-clair)}
.ariane{background:var(--surface-2)}

/* --- Variante Marseille : bouton d'appel mobile, accents soleil --- */
.bouton-appel{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:12px;
  background:var(--accent-voile);color:var(--accent-fonce);border:1px solid var(--bord);text-decoration:none}
.bouton-appel:hover{background:var(--accent);color:#fff}
.bouton--tel{display:inline-flex;align-items:center;gap:.45rem}
@media (max-width:67.49rem){.bouton-appel{display:inline-flex}}
.carte-service__icone{border-radius:12px}

/* =========================================================================
   DESIGN « HEXA » : hero clair, photos en hexagone, accents orange, animations
   ========================================================================= */
body{background:var(--surface)}
.entete{transition:box-shadow .25s ease,background-color .25s ease}
.entete.est-defile{box-shadow:0 10px 30px rgba(27,32,48,.08);background:rgba(255,255,255,.97)}
.marque__sigle svg{width:2.3rem;height:2.3rem}
.marque--entete:hover .marque__sigle svg{animation:tourne-hexa .7s ease}
.nav__liste .nav__lien{position:relative}
.nav__liste .nav__lien::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.25rem;height:2px;border-radius:2px;background:var(--degrade);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav__liste .nav__lien:hover::after,.nav__liste .nav__lien[aria-current="page"]::after{transform:scaleX(1)}
.nav__liste .nav__lien:hover{background:transparent;color:var(--accent-fonce)}
.nav__liste .nav__lien[aria-current="page"],.nav__liste .nav__lien[data-actif]{background:transparent}
.sous-menu{border-radius:20px;border-top:3px solid var(--orange-1)}
.sous-menu__icone{border-radius:0;background:var(--accent-voile);color:var(--accent-fonce);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat;height:2.8rem;transition:background .2s ease,color .2s ease}
.sous-menu__lien:hover .sous-menu__icone{background:var(--degrade-fonce);color:#fff}

/* boutons */
.bouton{border-radius:999px;position:relative;overflow:hidden;isolation:isolate}
.bouton--primaire{background:var(--degrade-fonce);color:#fff;box-shadow:0 10px 22px rgba(194,65,12,.28)}
.bouton--primaire:hover{background:var(--degrade-fonce);color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px rgba(194,65,12,.34)}
.bouton--primaire::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
.bouton--primaire:hover::after{transform:translateX(120%)}
.bouton--fantome{background:var(--surface);border:1.5px solid var(--bord);color:var(--encre)}
.bouton--fantome:hover{border-color:var(--orange-2);color:var(--accent-fonce);background:var(--accent-voile);transform:translateY(-2px)}
.bouton-appel{border-radius:0;border:0;background:var(--accent-voile);color:var(--accent-fonce);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat;height:3rem}
.bouton-appel:hover{background:var(--degrade-fonce);color:#fff}

/* titres de section */
.section__titre::before{width:2.6rem;height:.32rem;background:var(--degrade)}
.section--fond{background:var(--surface-2);position:relative;overflow:hidden}

/* ---------------------------------------------------------- Hero clair + hexagone */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--surface-2);color:var(--texte)}
.hero__decor{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero__cercle{position:absolute;border-radius:50%}
.hero__cercle--1{width:46rem;height:46rem;right:-14rem;top:-18rem;background:#fff}
.hero__cercle--2{width:34rem;height:34rem;left:-14rem;bottom:-20rem;border:1px solid rgba(241,90,36,.35);animation:respire 9s ease-in-out infinite alternate}
.hero__cercle--3{width:8rem;height:8rem;left:42%;top:6%;background:var(--accent-voile);animation:flotte 7s ease-in-out infinite alternate}
.hero.hero--hexa .hero__inner{display:grid;gap:clamp(1.75rem,4vw,3rem);padding-block:clamp(2.5rem,6vw,5rem);align-items:center}
@media (min-width:62rem){
  .hero.hero--hexa .hero__inner{grid-template-columns:1.05fr .95fr;grid-template-areas:"texte visuel"}
  .hero.hero--hexa.hero--formulaire .hero__inner{grid-template-areas:"texte visuel" "form form"}
  .hero--hexa .hero__texte{grid-area:texte}
  .hero--hexa .hero__visuel{grid-area:visuel}
  .hero--hexa .hero__formulaire{grid-area:form}
}
.hero__surtitre{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.4rem .9rem;border-radius:999px;background:var(--accent-voile);color:var(--accent-fonce);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero__surtitre::before{content:"";width:.7rem;height:.8rem;background:var(--degrade);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat}
.hero__titre{color:var(--encre);margin-bottom:.55em;text-wrap:balance}
.hero__intro{font-size:clamp(1.03rem,1rem + .3vw,1.2rem);color:var(--texte-doux);max-width:40rem}
.hero__intro strong{color:var(--encre)}
.hero__points{list-style:none;padding:0;margin:0 0 1.6rem;display:grid;gap:.5rem}
.hero__points li{position:relative;padding-left:1.7rem;color:var(--texte);font-size:.98rem;font-weight:500}
.hero__points li::before{content:"";position:absolute;left:0;top:.3em;width:1rem;height:1.15rem;background:var(--degrade);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat}
.hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:0}
.hero__visuel{margin:0;padding:clamp(1rem,3vw,2.5rem)}
/* carte formulaire */
.hero__formulaire{position:relative;background:var(--surface);color:var(--texte);border:1px solid var(--bord);border-radius:24px;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--ombre-f);display:grid;gap:1.25rem;overflow:hidden}
.hero__formulaire::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--degrade)}
.hero__formulaire-titre{font-size:clamp(1.2rem,1.1rem + .5vw,1.5rem);margin-bottom:.35em}
.hero__formulaire-intro p{color:var(--texte-doux);margin-bottom:.8rem}
.hero__formulaire-tel{font-size:.92rem}
.hero__formulaire-tel .bouton{margin-top:.5rem}
@media (min-width:62rem){
  .hero__formulaire{grid-template-columns:minmax(14rem,.75fr) 1.25fr;gap:2.5rem;align-items:start;padding:2.25rem 2.5rem}
}
/* mobile : titre, intro, PUIS formulaire, puis points, actions et photo */
@media (max-width:61.99rem){
  .hero.hero--hexa .hero__inner{display:flex;flex-direction:column;align-items:stretch}
  .hero.hero--hexa.hero--formulaire .hero__texte{display:contents}
  .hero--formulaire .hero__surtitre{order:1;align-self:flex-start}
  .hero--formulaire .hero__titre{order:2}
  .hero--formulaire .hero__intro{order:3}
  .hero--formulaire .hero__formulaire{order:4}
  .hero--formulaire .hero__points{order:5;margin-bottom:0}
  .hero--formulaire .hero__actions{order:6}
  .hero--hexa .hero__visuel{order:7;max-width:26rem;width:100%;align-self:center;padding:1rem 1.25rem}
  .hero__cercle--1{width:28rem;height:28rem;right:-12rem;top:-10rem}
}

/* ---------------------------------------------------------- composant hexagone */
.hexa{position:relative;width:100%;max-width:36rem;margin-inline:auto;aspect-ratio:100/86.6}
.hexa--moyen{max-width:26rem}
.hexa--petit{max-width:10.5rem}
.hexa__cadre,.hexa__photo{position:absolute;-webkit-mask:var(--hexa) center/100% 100% no-repeat;mask:var(--hexa) center/100% 100% no-repeat}
.hexa__cadre{inset:0;background:var(--degrade)}
.hexa__photo{inset:5.6% 4.9%;overflow:hidden;background:var(--surface-3)}
.hexa--petit .hexa__photo{inset:7% 6.2%}
.hexa__photo picture,.hexa__photo img{display:block;width:100%;height:100%}
.hexa__photo img{object-fit:cover;transform-origin:50% 50%}
.hexa--grand .hexa__photo img{animation:zoom-lent 22s ease-in-out infinite alternate}
.hexa__anneau{position:absolute;left:-6%;top:-7%;width:112%;height:114%;overflow:visible;fill:none;stroke:var(--orange-2);stroke-width:1.4;vector-effect:non-scaling-stroke;opacity:.75;pointer-events:none;animation:anneau 12s ease-in-out infinite alternate}
.hexa--petit .hexa__anneau{display:none}
.hexa__pastille{position:absolute;background:var(--degrade);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat;animation:flotte 6s ease-in-out infinite alternate}
.hexa__pastille--1{width:14%;aspect-ratio:40/46.2;right:-3%;top:6%}
.hexa__pastille--2{width:8%;aspect-ratio:40/46.2;left:-2%;bottom:14%;animation-delay:-2s;opacity:.9}
.hexa__pastille--3{width:5%;aspect-ratio:40/46.2;right:10%;bottom:-2%;background:var(--ciel);animation-delay:-4s;opacity:.85}
.hexa{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hero .hexa{will-change:transform}

/* image de section : hexagone + légende */
.figure-hexa{margin:0;display:grid;gap:1.5rem;align-items:center;justify-items:center}
.figure-hexa__legende{font-size:clamp(1.05rem,1rem + .45vw,1.35rem);font-weight:700;color:var(--encre);line-height:1.4;max-width:30rem;position:relative;padding-left:1.4rem;border-left:4px solid var(--orange-1);justify-self:start}
@media (min-width:48rem){
  .figure-hexa{grid-template-columns:minmax(0,24rem) 1fr;gap:3.5rem;justify-items:start}
  .figure-hexa .hexa{margin-inline:0}
}

/* cartes génériques (réassurance) : vignette hexagonale */
.grille-cartes{gap:1.25rem}
.carte{border-radius:22px;padding:1.6rem 1.4rem 1.4rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.carte .carte__visuel{margin:0 auto 1.1rem;border-radius:0;overflow:visible;width:100%}
.carte .carte__visuel .hexa{transition:transform .5s ease}
.carte:hover{transform:translateY(-6px);border-color:var(--accent-clair);box-shadow:var(--ombre-f)}
.carte:hover .carte__visuel .hexa{transform:rotate(-4deg) scale(1.04)}

/* cartes de services : photo + pastille hexagonale qui chevauche */
.carte-service{border-radius:22px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
.carte-service:hover{transform:translateY(-8px);border-color:var(--accent-clair);box-shadow:var(--ombre-f)}
.carte-service__visuel{position:relative}
.carte-service__visuel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(241,90,36,.22));opacity:0;transition:opacity .35s ease}
.carte-service:hover .carte-service__visuel::after{opacity:1}
.carte-service:hover .carte-service__visuel img{transform:scale(1.07)}
.carte-service__visuel img{transition:transform .6s ease}
.carte-service__icone{top:-1.9rem;width:3.3rem;height:3.8rem;border:0;border-radius:0;box-shadow:none;background:var(--degrade-fonce);color:#fff;-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.carte-service__icone .icone{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.carte-service:hover .carte-service__icone{transform:rotate(30deg)}
.carte-service:hover .carte-service__icone .icone{transform:rotate(-30deg)}
.carte-service__corps{padding-top:2.2rem}
.carte-service__plus{color:var(--accent-fonce)}

/* étapes : numéros en hexagone */
.etapes{counter-reset:none}
.etape{border-radius:22px;transition:transform .3s ease,box-shadow .3s ease}
.etape:hover{transform:translateY(-5px);box-shadow:var(--ombre-f)}
.etape::after{background:var(--degrade)}
.etape__num{width:2.6rem;height:3rem;border-radius:0;background:var(--degrade);color:var(--encre);font-size:1.15rem;font-weight:800;-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat}

/* listes, FAQ, villes */
.liste-puces li{padding-left:1.6rem}
.liste-puces li::before{width:.75rem;height:.86rem;top:.42em;border-radius:0;background:var(--degrade);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat}
.faq__item{border-radius:16px;transition:border-color .25s ease,box-shadow .25s ease}
.faq__item[open]{border-color:var(--accent-clair)}
.faq__question::after{transition:transform .25s ease}
.faq__item[open] .faq__question::after{transform:rotate(180deg)}
.faq__item[open] .faq__reponse{animation:deplie .35s ease}
.carte-ville{border-radius:16px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.carte-ville:hover{transform:translateY(-4px);border-color:var(--accent-clair)}
.carte-ville__cp{background:var(--accent-voile);color:var(--accent-fonce)}
.villes-lettres button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}
.encart{border-left-color:var(--orange-1)}

/* zones sombres */
.bandeau-cta{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(110% 140% at 100% 0%,#5a2a14 0%,var(--encre-2) 45%,var(--encre) 100%)}
.bandeau-cta::before,.bandeau-cta::after{content:"";position:absolute;z-index:-1;background:var(--degrade);-webkit-mask:var(--hexa-p) center/100% 100% no-repeat;mask:var(--hexa-p) center/100% 100% no-repeat;opacity:.9;animation:flotte 7s ease-in-out infinite alternate}
.bandeau-cta::before{width:5rem;height:5.8rem;right:6%;top:-1.5rem}
.bandeau-cta::after{width:2.4rem;height:2.8rem;right:16%;bottom:-.8rem;opacity:.6;animation-delay:-3s}
.bandeau-cta__texte{color:#e4e6ec}
.cta-sticky{background:rgba(27,32,48,.97);border-top:3px solid var(--orange-1)}
.simulateur__resultat{background:radial-gradient(120% 120% at 100% 0%,#5a2a14 0%,var(--encre) 60%)}
.pied{background:var(--encre);position:relative}
.pied::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--degrade)}
.pied a:hover{color:var(--accent-clair)}

/* ---------------------------------------------------------- animations */
@keyframes entree{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes entree-hexa{from{transform:scale(.9) rotate(-4deg)}to{transform:none}}
@keyframes anneau{from{transform:rotate(-2.5deg) scale(1)}to{transform:rotate(2.5deg) scale(1.03)}}
@keyframes flotte{from{transform:translateY(0) rotate(0)}to{transform:translateY(-12px) rotate(8deg)}}
@keyframes respire{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes zoom-lent{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes tourne-hexa{from{transform:rotate(0)}to{transform:rotate(60deg)}}
@keyframes deplie{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.hero__texte > *,.hero--formulaire .hero__formulaire{animation:entree .8s cubic-bezier(.2,.7,.2,1) both}
.hero__texte > :nth-child(2){animation-delay:.08s}
.hero__texte > :nth-child(3){animation-delay:.16s}
.hero__texte > :nth-child(4){animation-delay:.24s}
.hero__texte > :nth-child(5){animation-delay:.32s}
.hero--formulaire .hero__formulaire{animation-delay:.3s}
.hero__visuel .hexa{animation:entree-hexa 1s cubic-bezier(.2,.7,.2,1) backwards}
/* apparition au défilement (classe posée par site.js : sans JS, tout reste visible) */
.js .revele{opacity:0;transform:translateY(26px);transition:opacity .75s ease var(--delai,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--delai,0ms)}
.js .revele.est-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .revele{opacity:1;transform:none;transition:none}
  .hero__texte > *,.hero--formulaire .hero__formulaire,.hero__visuel .hexa,.hexa__anneau,.hexa__pastille,.hexa--grand .hexa__photo img,.hero__cercle,.bandeau-cta::before,.bandeau-cta::after{animation:none!important}
  .carte-service:hover,.carte:hover,.etape:hover,.carte-ville:hover{transform:none}
}
