/* ============================================================
   Spinnakers Conseil — feuille de style commune aux 3 pages
   Reprise fidèle de la charte d'origine : marine, corail,
   vagues de séparation, Spartan + Fira Sans.
   Aucun script, aucun traceur, aucun cookie.
   ============================================================ */

:root{
  --marine:#2D355C;
  --marine-nuit:#232A4A;
  --corail:#EA5F43;
  --corail-vif:#FF4C01;
  --corail-pale:#FDEDE9;
  --creme:#FFFFFF;
  --encre:#2B2F44;
  --gris:#6A6F85;
  --gris-clair:#E9E6E2;

  --display:"League Spartan","Spartan",Tahoma,sans-serif;
  --texte:"Fira Sans",-apple-system,BlinkMacSystemFont,sans-serif;

  --mesure:1200px;
  --rythme:clamp(4rem,8vw,7rem);
  --arrondi:14px;
  --vague:clamp(60px,7vw,120px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--texte);
  font-size:clamp(.98rem,.95rem + .16vw,1.05rem);
  line-height:1.72;
  color:var(--encre);
  background:var(--creme);
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit}

h1,h2,h3{
  font-family:var(--display);
  font-weight:700;line-height:1.08;letter-spacing:-.015em;
  margin:0;text-wrap:balance;
}
h1{font-size:clamp(2.1rem,1.4rem + 3.4vw,3.9rem);font-weight:800}
h2{font-size:clamp(1.7rem,1.2rem + 2.2vw,2.75rem)}
h3{font-size:clamp(1.15rem,1rem + .75vw,1.5rem)}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

.enveloppe{width:min(100% - 2.5rem,var(--mesure));margin-inline:auto;position:relative;z-index:2}
.section{padding-block:var(--rythme);position:relative}
.centre{text-align:center}
.etroit{max-width:46rem;margin-inline:auto}

/* ---------- les vagues de separation ---------- */
/*
   Principe : la vague vit DANS la section A et porte la couleur de la section B
   qui la jouxte. Sa partie pleine doit donc toucher B pour que le raccord soit
   invisible : en bas pour .vague-bas, en haut pour .vague-haut.

   Les silhouettes d'origine sont reprises telles quelles, mais converties en
   MASQUES : la couleur vient de --vague-couleur, ce qui permet n'importe quelle
   combinaison de sections sans multiplier les fichiers.
*/
.vague{
  position:absolute;left:0;width:100%;
  height:var(--vague);z-index:4;pointer-events:none;
  display:none;                       /* affichee seulement si les masques sont geres */
  background-color:var(--vague-couleur,#fff);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-position:center;mask-position:center;
}
/* Sans support des masques, pas de vague du tout : un bord droit, jamais un pave
   de couleur. Degradation propre plutot que defaut visible. */
@supports ((-webkit-mask-size:100% 100%) or (mask-size:100% 100%)){
  .vague{display:block}
}
.vague-bas{bottom:-1px}
.vague-haut{top:-1px}

.vb-1{-webkit-mask-image:url("img/masque-bas-1.png");mask-image:url("img/masque-bas-1.png")}
.vb-2{-webkit-mask-image:url("img/masque-bas-2.png");mask-image:url("img/masque-bas-2.png")}
.vh-1{-webkit-mask-image:url("img/masque-haut-1.png");mask-image:url("img/masque-haut-1.png")}
.vh-2{-webkit-mask-image:url("img/masque-haut-2.png");mask-image:url("img/masque-haut-2.png")}

/* couleurs de raccord */
.vc-corail{--vague-couleur:var(--corail)}
.vc-blanc{--vague-couleur:var(--creme)}
.vc-marine{--vague-couleur:var(--marine)}
.vc-pale{--vague-couleur:var(--corail-pale)}

/* ---------- fonds de section ---------- */
.fond-corail{background:var(--corail);color:#fff}
.fond-corail h1,.fond-corail h2,.fond-corail h3{color:#fff}
.fond-marine{background:var(--marine);color:rgba(255,255,255,.92)}
.fond-marine h1,.fond-marine h2,.fond-marine h3{color:#fff}
.fond-pale{background:var(--corail-pale)}

/* ---------- surtitre ---------- */
.surtitre{
  font-family:var(--display);font-size:.78rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--corail);
  margin:0 0 .9rem;
}
.fond-corail .surtitre,.fond-marine .surtitre{color:#FFD9CF}

/* ---------- boutons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--display);font-weight:600;font-size:1rem;
  letter-spacing:.01em;
  padding:.85rem 1.7rem;border-radius:6px;
  text-decoration:none;border:2px solid transparent;
  transition:transform .25s cubic-bezier(.2,.8,.3,1),background .25s,color .25s,box-shadow .25s;
}
.btn::after{content:"›";font-size:1.15em;line-height:0;transform:translateY(-1px)}
.btn:hover{transform:translateY(-2px)}
.btn-corail{background:var(--corail);color:#fff;box-shadow:0 8px 22px -10px rgba(234,95,67,.9)}
.btn-corail:hover{background:var(--corail-vif)}
.btn-marine{background:var(--marine);color:#fff}
.btn-marine:hover{background:var(--marine-nuit)}
.btn-blanc{background:#fff;color:var(--corail)}
.btn-blanc:hover{background:#fff;color:var(--corail-vif)}
.btn-cadre{background:#fff;border-color:var(--corail);color:var(--corail)}
.btn-cadre:hover{background:var(--corail);color:#fff}
.btn-ligne{border-color:var(--marine);color:var(--marine)}
.btn-ligne:hover{background:var(--marine);color:#fff}
.btn-ligne-blanc{border-color:rgba(255,255,255,.75);color:#fff}
.btn-ligne-blanc:hover{background:#fff;color:var(--corail)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.centre .actions{justify-content:center}

/* ---------- en-tete ---------- */
.entete{
  position:sticky;top:0;z-index:60;background:#fff;
  border-bottom:1px solid var(--gris-clair);
}
.entete-in{display:flex;align-items:center;gap:1.6rem;padding-block:.8rem}
.logo img{width:clamp(150px,17vw,196px)}
.nav{display:flex;align-items:center;gap:1.9rem;margin-left:auto;
  font-family:var(--display);font-weight:600;font-size:1rem}
.nav a{text-decoration:none;color:var(--marine);position:relative;padding-block:.25rem;white-space:nowrap}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-2px;height:3px;width:0;background:var(--corail);transition:width .3s}
.nav a:not(.btn):hover::after{width:100%}
.nav a[aria-current]{color:var(--corail)}
.nav a[aria-current]::after{width:100%}
.nav .btn{padding:.7rem 1.35rem;font-size:.95rem}
.sociaux-entete{display:flex;gap:.55rem}
.sociaux-entete a{
  width:30px;height:30px;display:grid;place-items:center;border-radius:6px;
  background:var(--corail);color:#fff;transition:background .25s,transform .25s;
}
.sociaux-entete a:hover{background:var(--corail-vif);transform:translateY(-2px)}
.sociaux-entete svg{width:14px;height:14px;fill:currentColor}
@media(max-width:1000px){.lien-nav{display:none}}
@media(max-width:620px){.sociaux-entete{display:none}}

/* ---------- banniere ---------- */
.banniere{position:relative;overflow:hidden;background:var(--marine);color:#fff;
  padding-block:clamp(4rem,9vw,7.5rem) calc(var(--vague) + clamp(3rem,6vw,5rem))}
.banniere-fond{position:absolute;inset:0;z-index:0}
.banniere-fond img{width:100%;height:100%;object-fit:cover}
.banniere-fond::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(28,34,62,.55) 0%,rgba(28,34,62,.3) 45%,rgba(28,34,62,.08) 100%)}
.banniere h1{color:#fff;font-size:clamp(2.3rem,1.4rem + 4.1vw,4.4rem);
  text-shadow:0 2px 18px rgba(20,25,48,.55)}
.banniere-texte{max-width:41rem}
.chapeau{font-size:clamp(1.02rem,.96rem + .4vw,1.22rem);color:#fff;margin-top:1.5rem;max-width:36rem;
  text-shadow:0 1px 12px rgba(20,25,48,.6)}

/* ---------- les 4 cartes ---------- */
.cartes{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));margin-top:3rem}
.carte{
  background:#fff;border-radius:var(--arrondi);overflow:hidden;
  display:flex;flex-direction:column;color:var(--encre);
  box-shadow:0 14px 34px -22px rgba(30,35,60,.55);
  transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;
}
.carte:hover{transform:translateY(-6px);box-shadow:0 26px 48px -26px rgba(30,35,60,.6)}
.carte-img{aspect-ratio:16/10;overflow:hidden;background:var(--marine)}
.carte-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.3,1)}
.carte:hover .carte-img img{transform:scale(1.06)}
.carte-corps{padding:1.5rem 1.4rem 1.7rem;display:flex;flex-direction:column;flex:1}
.carte h3{color:var(--corail);text-transform:uppercase;font-size:1.02rem;letter-spacing:.01em;margin-bottom:.8rem;line-height:1.25}
.carte p{font-size:.92rem;color:var(--gris);line-height:1.66}
.carte .btn{align-self:flex-start;margin-top:1.4rem;padding:.7rem 1.4rem;font-size:.78rem}

/* ---------- duo texte / image ---------- */
.duo{display:grid;gap:clamp(2.2rem,5vw,4.5rem);align-items:center;grid-template-columns:1fr}
@media(min-width:920px){
  .duo{grid-template-columns:1fr 1fr}
  .duo-inverse .duo-media{order:-1}
}
.duo-media img{width:100%;border-radius:var(--arrondi)}

/* ---------- citation ---------- */
.citation-boite{
  background:#fff;border-radius:var(--arrondi);
  padding:clamp(2.2rem,5vw,3.4rem);text-align:center;
  max-width:52rem;margin-inline:auto;
  box-shadow:0 24px 54px -34px rgba(0,0,0,.5);
}
.citation-boite blockquote{margin:0;font-family:var(--display);font-weight:700;
  font-size:clamp(1.3rem,1rem + 1.7vw,2.15rem);line-height:1.26;color:var(--marine)}
.citation-boite blockquote em{color:var(--corail);font-style:normal;display:block}
.citation-boite cite{display:block;margin-top:1.1rem;font-style:normal;font-size:.92rem;color:var(--gris);font-family:var(--texte)}

/* ---------- etapes numerotees ---------- */
.etapes{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));margin-top:2.8rem;counter-reset:e}
.etape{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--arrondi);padding:2rem 1.7rem;position:relative;counter-increment:e}
.etape::before{content:"0" counter(e);position:absolute;top:.7rem;right:1.2rem;
  font-family:var(--display);font-weight:800;font-size:2.8rem;color:#fff;opacity:.16;line-height:1}
.etape h3{margin-bottom:.7rem;max-width:14em}
.etape p{font-size:.93rem;color:rgba(255,255,255,.82)}

/* ---------- valeurs ---------- */
.valeurs{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));margin-top:2.8rem}
.valeur{background:#fff;border-radius:var(--arrondi);padding:2.1rem 1.7rem;
  box-shadow:0 14px 34px -24px rgba(30,35,60,.5);text-align:center}
.valeur h3{color:var(--corail);margin-bottom:.8rem}
.valeur p{font-size:.93rem;color:var(--gris)}

/* ---------- chiffres ---------- */
.chiffres{display:grid;gap:2.4rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2.6rem;text-align:center}
.chiffre .val{font-family:var(--display);font-weight:800;font-size:clamp(3.4rem,2rem + 7vw,6rem);
  color:var(--corail-vif);line-height:1;display:block}
.chiffre p{margin-top:.7rem;font-size:.97rem}

/* ---------- gros zero ---------- */
.zero{font-family:var(--display);font-weight:800;color:var(--corail);
  font-size:clamp(7rem,4rem + 13vw,14rem);line-height:.86;letter-spacing:-.04em}
.zero small{font-size:.24em;vertical-align:super;letter-spacing:0}

/* ---------- listes ---------- */
.listing{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;gap:.75rem}
.listing li{position:relative;padding-left:1.9rem;font-size:.97rem}
.listing li::before{content:"";position:absolute;left:0;top:.58em;width:10px;height:10px;
  background:var(--corail);border-radius:2px;transform:rotate(45deg)}

/* ---------- agrements ---------- */
.agrements{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.6rem}
.agrements li{position:relative;padding-left:1.8rem;font-size:.92rem;color:var(--gris)}
.agrements li::before{content:"✓";position:absolute;left:0;top:0;color:var(--corail);font-weight:700}

/* ---------- contact ---------- */
.coord{list-style:none;padding:0;margin:0;display:grid;gap:1.25rem}
.coord a,.coord span{display:flex;gap:.95rem;align-items:flex-start;text-decoration:none;font-size:1.02rem;transition:color .25s}
.coord a:hover{color:var(--corail)}
.coord .picto{flex:none;width:21px;color:var(--corail);margin-top:.2rem}
.fond-marine .coord a,.fond-marine .coord span{color:#fff}
.fond-marine .coord .picto{color:#FFB9A8}
.fond-marine .coord a:hover{color:#FFB9A8}

.encart{background:var(--corail-pale);border-radius:var(--arrondi);padding:clamp(1.8rem,4vw,2.6rem)}
.encart h3{color:var(--marine);margin-bottom:.9rem}
.encart p{color:var(--gris);font-size:.97rem}

/* ---------- reseaux ---------- */
.reseaux{display:flex;gap:.7rem;margin-top:2rem}
.reseaux a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  background:var(--corail);color:#fff;transition:background .25s,transform .25s}
.reseaux a:hover{background:var(--corail-vif);transform:translateY(-3px)}
.reseaux svg{width:18px;height:18px;fill:currentColor}

/* ---------- pied de page ---------- */
.pied{background:#fff;border-top:1px solid var(--gris-clair);padding-block:3.4rem 2rem}
.pied-grille{display:grid;gap:2.6rem;grid-template-columns:1fr}
@media(min-width:840px){.pied-grille{grid-template-columns:1.4fr 1fr}}
.pied-logo{width:190px;margin-bottom:1.4rem}
.pied h3{color:var(--marine);font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.2rem}
.pied .listing li{font-size:.9rem;color:var(--gris)}
.mentions{margin-top:2.8rem;padding-top:1.8rem;border-top:1px solid var(--gris-clair);
  font-size:.74rem;line-height:1.68;color:#8A8FA3}
.mentions p{margin-bottom:.9em}
.mentions strong{color:#6A6F85;font-weight:600}
.mentions a{color:var(--corail)}
.pied-bas{margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--gris-clair);
  display:flex;flex-wrap:wrap;gap:.9rem;justify-content:space-between;font-size:.78rem;color:#8A8FA3}

/* ---------- barre mobile ---------- */
.barre-mobile{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:.55rem;
  padding:.6rem .7rem;background:rgba(45,53,92,.97);border-top:1px solid rgba(255,255,255,.14)}
.barre-mobile .btn{flex:1;justify-content:center;padding:.85rem .8rem;font-size:.78rem}
@media(max-width:700px){.barre-mobile{display:flex}body{padding-bottom:4.6rem}}

/* ---------- entree en scene ---------- */
@keyframes monte{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.anim{animation:monte .8s cubic-bezier(.2,.75,.3,1) both}
.d1{animation-delay:.05s}.d2{animation-delay:.16s}.d3{animation-delay:.27s}.d4{animation-delay:.38s}
@media(prefers-reduced-motion:reduce){
  .anim{animation:none}html{scroll-behavior:auto}.btn:hover,.carte:hover{transform:none}
}

/* ---------- accessibilite ---------- */
.saut{position:absolute;left:-9999px;top:0;z-index:100;background:var(--corail);color:#fff;
  padding:.8rem 1.3rem;text-decoration:none;font-family:var(--display);font-weight:600}
.saut:focus{left:.5rem;top:.5rem}
a:focus-visible,button:focus-visible{outline:3px solid var(--corail);outline-offset:3px;border-radius:3px}


/* ---------- accroche "À partir de 100 €/mois" ---------- */
.accroche-sur{font-family:var(--display);font-weight:700;color:#fff;
  font-size:clamp(1.3rem,1rem + 1.3vw,2rem);margin:0}
/* le selecteur porte .fond-corail pour passer devant `.fond-corail h2{color:#fff}` */
.fond-corail h2.accroche-montant,.accroche-montant{
  font-family:var(--display);font-weight:800;color:var(--marine);
  font-size:clamp(2.1rem,1.2rem + 4vw,4rem);line-height:1.04;letter-spacing:-.02em;margin:.1em 0}
.accroche-suite{font-family:var(--display);font-weight:700;color:#fff;
  font-size:clamp(1.15rem,.95rem + 1vw,1.7rem);margin:0}

/* ---------- vignette video ---------- */
.video{max-width:820px;width:100%;margin:0 auto;display:block;position:relative;
  border:0;padding:0;background:none;cursor:pointer;font:inherit;
  border-radius:4px;overflow:hidden;box-shadow:0 22px 50px -26px rgba(0,0,0,.6)}
.video img{width:100%;display:block;transition:transform .6s cubic-bezier(.2,.8,.3,1)}
.video:hover img{transform:scale(1.03)}
.video::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:0;height:0;border-style:solid;border-width:32px 0 32px 54px;
  border-color:transparent transparent transparent var(--corail);
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));transition:transform .25s;
}
.video:hover::after{transform:translate(-50%,-50%) scale(1.08)}
.video-legende{color:#fff;font-family:var(--display);font-weight:600;
  font-size:clamp(1rem,.95rem + .35vw,1.2rem);margin-top:1.6rem;text-align:center}

/* ============================================================
   MISE EN CONFORMITE AVEC LES MAQUETTES
   ============================================================ */

/* ---------- section en photo pleine largeur ---------- */
.section-photo{position:relative;overflow:hidden;color:#fff;isolation:isolate}
.section-photo .fond{position:absolute;inset:0;z-index:0}
.section-photo .fond img{width:100%;height:100%;object-fit:cover}
.section-photo .fond::after{content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(30,38,72,.86) 0%,rgba(30,38,72,.7) 50%,rgba(30,38,72,.55) 100%)}
.section-photo h1,.section-photo h2,.section-photo h3{color:#fff}
.section-photo p{color:rgba(255,255,255,.93)}
.section-photo .surtitre{color:#fff;font-weight:400;letter-spacing:0;
  text-transform:none;font-size:clamp(1.05rem,.95rem + .5vw,1.4rem);margin-bottom:.2rem}

/* ---------- titre en deux tons ---------- */
.titre-2t{display:block}
.titre-2t .t2{display:block;color:var(--corail-vif)}
.fond-corail .titre-2t .t2,.titre-2t.sur-corail .t2{color:var(--marine)}
.trait{width:210px;height:2px;background:rgba(255,255,255,.45);border:0;margin:1.6rem auto 0}

/* ---------- citation : chevauchement + filigrane ---------- */
.citation-zone{position:relative;z-index:5;margin-block:calc(var(--rythme) * -.55) 0}
.citation-boite{position:relative;overflow:hidden}
.citation-boite::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(330px,62%);aspect-ratio:1/.92;
  background:url("img/logo-filigrane.svg") center/contain no-repeat;
  opacity:.07;z-index:0;pointer-events:none;
}
.citation-boite blockquote,.citation-boite cite{position:relative;z-index:1}

/* ---------- coins arrondis decoratifs ---------- */
.coin{position:absolute;width:clamp(120px,16vw,280px);aspect-ratio:1/1;z-index:1;pointer-events:none}
.coin-hd{top:0;right:0;border-bottom-left-radius:100%}
.coin-bg{bottom:0;left:0;border-top-right-radius:100%}
.coin-hg{top:0;left:0;border-bottom-right-radius:100%}
.c-corail{background:var(--corail)}
.c-marine{background:var(--marine)}

/* ---------- image detouree ---------- */
.detoure{filter:drop-shadow(0 26px 34px rgba(0,0,0,.28))}

/* ---------- pictos dans les boutons ---------- */
.btn svg{width:17px;height:17px;flex:none;fill:currentColor}
.btn:has(svg)::after{display:none}

/* ---------- fenetre video ---------- */
.modale{border:0;padding:0;background:transparent;max-width:min(1180px,92vw);width:100%}
.modale::backdrop{background:rgba(14,18,36,.9)}
.modale-cadre{position:relative;aspect-ratio:16/9;width:100%;background:#000;border-radius:4px;overflow:hidden}
.modale-cadre iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Le bouton vit DANS le cadre : un enfant en position negative hors du <dialog>
   se fait rogner par son overflow. */
.modale{overflow:visible}
.modale-fermer{
  position:absolute;top:.75rem;right:.75rem;z-index:3;
  background:rgba(12,16,32,.72);border:0;border-radius:999px;color:#fff;cursor:pointer;
  font-family:var(--display);font-weight:600;font-size:.92rem;
  display:flex;align-items:center;gap:.45rem;padding:.55rem 1.05rem;
  backdrop-filter:blur(6px);transition:background .25s,color .25s;
}
.modale-fermer:hover{background:var(--corail);color:#fff}
.modale-fermer svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.6;stroke-linecap:round}

/* ---------- section "Et combien ça coûte ?" ----------
   Le corail occupe toute la largeur. L'angle superieur gauche est un simple
   quart de disque marine, qui prolonge la section marine du dessus.
   Pas de bande marine sur toute la hauteur : elle se terminait a plat sur la
   photo du dessous, ce qui produisait un decrochement net et disgracieux. */
.cout{background:var(--corail);color:#fff;position:relative;overflow:hidden;
  padding-block:clamp(2.8rem,5.5vw,4.5rem)}
.cout-angle{
  position:absolute;top:0;left:0;z-index:1;pointer-events:none;
  width:clamp(90px,15vw,260px);aspect-ratio:1/1;
  background:var(--marine);border-bottom-right-radius:100%;
}
.cout-in{position:relative;z-index:2;width:min(100% - 3rem,1040px);margin-inline:auto}
.cout-grille{
  display:grid;gap:clamp(.5rem,2.5vw,2rem);align-items:center;
  grid-template-columns:1fr;margin-top:clamp(1rem,2.5vw,1.8rem);
}
@media(min-width:880px){.cout-grille{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}}
.cout-zero{
  font-family:var(--display);font-weight:800;color:var(--marine);
  font-size:clamp(8.5rem,7rem + 13vw,18rem);line-height:.78;letter-spacing:-.055em;
  text-align:center;display:block;white-space:nowrap;
}
.cout-zero sup{font-size:.26em;letter-spacing:-.01em;vertical-align:baseline;
  position:relative;top:-1.55em;margin-left:.02em}
.cout h2{color:#fff}
.cout p{font-size:clamp(1rem,.96rem + .3vw,1.12rem)}
.cout .note{font-size:.85rem;color:rgba(255,255,255,.82);margin-top:1.8rem}

/* ---------- fenêtre de prise de rendez-vous ----------
   Calendly a besoin de hauteur, pas d'un cadre 16:9. */
.modale-rdv{max-width:min(1000px,94vw)}
.modale-rdv .modale-cadre{aspect-ratio:auto;height:min(78vh,760px);background:#fff}
