/* Page d'accueil : sections bien séparées, animations au scroll (le menu est dans menu.css) */
.accueil .entete + .wrap{padding-top:18px}
/* Mise en page : la page n'est plus une longue suite de texte */
.accueil .wrap{max-width:1040px;padding:18px 16px 60px}
.accueil .rule{display:none}
.accueil .hero{position:relative;overflow:hidden;border-radius:28px;padding:34px 20px 30px;margin:0 0 20px;background:linear-gradient(180deg,var(--carte),var(--fond));box-shadow:var(--ombre)}
.accueil .hero::before{content:"";position:absolute;width:320px;height:320px;right:-120px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(217,43,31,.14),transparent 70%);animation:flotte 9s ease-in-out infinite}
.accueil .hero > *{position:relative}
.accueil .hero h1{max-width:18ch}
.accueil .hero p{max-width:44ch}
.accueil .hero .logo{animation:pop .7s cubic-bezier(.2,.8,.2,1) both}
.accueil .hero .btn{min-height:56px;font-size:17px}
.accueil .hero .sci{margin-top:14px;font-size:.92rem}
.accueil .cta .btn{animation:halo 2.8s ease-out 1.2s infinite}

.accueil .section{position:relative;margin:0 0 20px;padding:30px 20px 26px;border-radius:26px;background:var(--papier);border:1px solid var(--ligne);box-shadow:var(--ombre)}
.accueil .section.fond-carte{background:var(--carte);border-color:transparent}
.accueil .section.fond-nuit{background:var(--texte);color:var(--fond);border-color:transparent}
.accueil .section.fond-nuit .kicker,.accueil .section.fond-nuit .note{color:rgba(242,238,235,.7)}
.accueil .section.fond-nuit .btn{background:var(--fond);color:var(--texte)}
.accueil .section.fond-nuit .suite{color:#fff}
.accueil .section.fond-nuit .accroche{color:var(--fond)}
.accueil .section .kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}
.accueil .section .kicker::before{content:"";width:22px;height:2px;background:var(--rouge);border-radius:2px}
.accueil .section .titre-page{font-family:var(--titre);text-transform:none;letter-spacing:0;font-weight:500;font-size:clamp(28px,6vw,40px);line-height:1.1;margin:6px 0 16px}
.accueil .section-tete{max-width:62ch;margin-bottom:18px}
.accueil .section-tete p{margin:0}
.accueil .section .methode li{border-top:0;background:rgba(255,255,255,.55);border-radius:18px;padding:16px;margin-bottom:10px}
.accueil .section.fond-carte .methode li{background:var(--papier)}

/* Grilles sur grand écran */
.accueil .grille-niveaux{display:grid;gap:14px}
.accueil .grille-niveaux .niveau{margin:0;display:flex;flex-direction:column;background:var(--carte);transition:transform .25s ease,box-shadow .25s ease}
.accueil .grille-niveaux .niveau ul{flex:1}
.accueil .section.fond-carte .grille-niveaux .niveau{background:var(--papier)}
.accueil .essai-lien{margin:10px 0 0}
@media (hover:hover){.accueil .niveau:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(74,52,38,.16)}}
.accueil .formules{display:grid;gap:14px}
.accueil .formules .resume{margin:0;background:var(--papier)}
.accueil .etapes{display:grid;gap:12px}
@media (min-width:760px){
  .accueil .wrap{padding:24px 24px 70px}
  .accueil .section{padding:44px 44px 38px;border-radius:32px}
  .accueil .hero{padding:56px 40px 48px;border-radius:36px}
  .accueil .grille-niveaux{grid-template-columns:1fr 1fr}
  .accueil .formules{grid-template-columns:1fr 1fr}
  .accueil .etapes{grid-template-columns:repeat(3,1fr)}
  .accueil .etapes li{display:block}
  .accueil .etapes .n{display:block;margin-bottom:6px}
  .accueil .section.faq details{max-width:760px}
}
@media (min-width:1000px){.accueil .grille-niveaux{grid-template-columns:repeat(3,1fr)}}
.accueil .section.faq details{border-color:var(--ligne)}
.accueil .pied{margin-top:34px}

/* Animations au scroll : visibles sans JavaScript, masquées seulement une fois le script actif */
.js .rv{opacity:0;transform:translateY(34px)}
.js .rv.vu{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.js .rv-gauche{transform:translateX(-40px)}
.js .rv-zoom{transform:scale(.94)}
.js .section.rv.vu .n{animation:pop .6s cubic-bezier(.2,.8,.2,1) calc(var(--d,0ms) + 200ms) backwards}
@keyframes flotte{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,24px)}}
@keyframes pop{0%{transform:scale(.55);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
@keyframes halo{0%,100%{box-shadow:0 0 0 0 rgba(242,238,235,.5)}55%{box-shadow:0 0 0 12px rgba(242,238,235,0)}}
/* Barre de progression de lecture */
.progres{position:fixed;top:0;left:0;height:3px;width:100%;z-index:100;background:var(--rouge);transform:scaleX(0);transform-origin:left;pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .js .rv,.js .rv.vu{opacity:1!important;transform:none!important;transition:none!important}
  .accueil .hero::before,.accueil .hero .logo,.accueil .cta .btn,.js .section.rv.vu .n{animation:none!important}
  .js .menu,.menu-voile,.burger i{transition:none!important}
}
