/* FORMAVIE - page d'accueil, charte du site alliance-vie.com */
:root{--bleu:#45BDE9;--bleu-fonce:#0B6F96;--bleu-pale:#E8F7FD;--jaune:#FFC000;--jaune-pale:#FFF6D6;--texte:#232323;--texte2:#55606A;--gris:#F5F5F5;--ligne:#E5E5E5;--blanc:#fff;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{font-family:'Nunito',system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--texte);background:var(--blanc);overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
strong{font-weight:800;}
h1,h2,h3{font-weight:800;line-height:1.15;}
h2{font-size:clamp(28px,3.4vw,40px);}
.conteneur{max-width:1160px;margin:0 auto;padding:0 24px;}
.bleu{color:var(--bleu-fonce);}
.bleu-vif{color:var(--bleu);}
.surtitre{display:block;font-weight:800;font-size:15px;color:var(--bleu-fonce);margin-bottom:10px;}
.intro{color:var(--texte2);font-size:17px;max-width:620px;margin-top:14px;}
.btn{display:inline-block;font-weight:800;font-size:16px;padding:14px 30px;border-radius:30px;border:2px solid transparent;transition:transform .15s,background .15s,box-shadow .15s;text-align:center;}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12);}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--bleu-fonce);outline-offset:3px;}
.btn-jaune{background:var(--jaune);color:var(--texte);}
.btn-contour-jaune{border-color:var(--jaune);background:transparent;color:var(--texte);}
.btn-contour{border-color:var(--bleu-fonce);color:var(--bleu-fonce);background:var(--blanc);}

/* En-tete */
.entete{position:sticky;top:0;z-index:20;background:var(--gris);transition:background-color .3s,box-shadow .3s;}
.entete.defile{background:var(--blanc);box-shadow:0 0 10px rgba(0,0,0,.3);}
.entete-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;}
.marque{display:flex;align-items:center;gap:14px;}
.marque img{width:150px;}
.marque span{font-weight:800;font-size:17px;color:var(--bleu-fonce);border-left:2px solid var(--ligne);padding-left:14px;}
.menu{display:flex;align-items:center;gap:22px;font-weight:700;}
.menu a:not(.btn):hover{color:var(--bleu-fonce);}
.menu .btn{padding:10px 24px;font-size:15px;}
.burger{display:none;background:none;border:0;cursor:pointer;padding:10px;}
.burger span{display:block;width:26px;height:3px;border-radius:2px;background:var(--bleu-fonce);margin:5px 0;}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--gris);}
.hero::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:var(--blanc);left:50%;margin-left:30px;top:-170px;}
.hero::after{content:"";position:absolute;width:150px;height:90px;left:37%;bottom:44px;background:radial-gradient(circle,var(--blanc) 7px,transparent 8px) 0 0/30px 30px;}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:96px;}
.hero .surtitre-hero{font-size:17px;margin-bottom:22px;}
.hero h1{font-size:clamp(36px,4.6vw,56px);}
.hero h1 span{color:var(--bleu);}
.hero p.texte{font-size:18px;margin-top:24px;max-width:520px;}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.hero .reserve{font-size:14px;color:var(--texte2);margin-top:22px;}
.hero-img{justify-self:center;width:min(400px,100%);border-radius:50%;background:var(--blanc);padding:12px;box-shadow:0 18px 40px rgba(0,0,0,.12);}
.hero-img img{width:100%;}

/* Sections */
.section{padding:84px 0;}
.section-gris{background:var(--gris);}
.etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px;list-style:none;}
.etape{background:var(--gris);border-radius:20px;padding:28px 24px;}
.etape .num{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--bleu);color:var(--texte);font-weight:800;font-size:19px;margin-bottom:16px;}
.etape:nth-child(even) .num{background:var(--jaune);}
.etape h3{font-size:19px;margin-bottom:8px;}
.etape p{color:var(--texte2);font-size:15px;}

.modules-tete{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
.modules-tete img{width:170px;}
.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 22px;margin-top:36px;list-style:none;}
.modules li{display:flex;align-items:center;gap:14px;background:var(--blanc);border:1px solid var(--ligne);border-radius:20px;padding:16px 20px;font-weight:700;}
.modules li::before{content:"";flex:none;width:14px;height:14px;border-radius:50%;background:var(--bleu);}
.modules li:nth-child(even)::before{background:var(--jaune);}

.avantages{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;}
.avantages-img{justify-self:center;width:min(320px,100%);border-radius:50%;background:var(--blanc);padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.1);}
.liste{list-style:none;margin-top:24px;}
.liste li{position:relative;padding:0 0 14px 36px;}
.liste li::before{content:"✓";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--jaune);font-weight:800;font-size:14px;line-height:24px;text-align:center;}

.bandeau{background:var(--bleu);padding:64px 0;}
.bandeau-in{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;}
.bandeau h2,.bandeau p{color:var(--texte);}
.bandeau p{margin-top:10px;font-size:17px;max-width:680px;}
.bandeau .actions{display:flex;flex-direction:column;gap:12px;}

/* Pied de page */
.pied{background:var(--gris);padding:48px 0 28px;}
.pied-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:center;}
.pied img{width:170px;}
.pied nav{display:flex;flex-wrap:wrap;gap:10px 26px;font-weight:700;font-size:15px;}
.pied nav a:hover{color:var(--bleu-fonce);}
.pied small{display:block;margin-top:28px;padding-top:18px;border-top:1px solid var(--ligne);color:var(--texte2);font-size:14px;}

@media (max-width:960px){
  .burger{display:block;}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;background:var(--blanc);padding:12px 24px 22px;box-shadow:0 10px 16px rgba(0,0,0,.1);}
  .menu.ouvert{display:flex;}
  .menu a:not(.btn){padding:10px 0;}
  .menu .btn{margin-top:8px;}
  .hero::before{width:320px;height:320px;left:auto;right:-110px;margin:0;top:-120px;}
  .hero::after{display:none;}
  .hero-in,.avantages{grid-template-columns:1fr;}
  .hero-in{padding-top:48px;padding-bottom:64px;}
  .etapes{grid-template-columns:repeat(2,1fr);}
  .bandeau-in{grid-template-columns:1fr;}
  .bandeau .actions{flex-direction:row;flex-wrap:wrap;}
  .section{padding:60px 0;}
}
@media (max-width:620px){
  .marque img{width:112px;}
  .marque span{font-size:15px;padding-left:10px;}
  .marque{gap:10px;}
  .etapes,.modules{grid-template-columns:1fr;}
  .modules-tete{grid-template-columns:1fr;}
  .modules-tete img{display:none;}
  .hero .actions .btn,.bandeau .actions .btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.btn{transition:none;}.btn:hover{transform:none;}}
