/* Page d'accueil animée */
.ac{--ac-ink:#20242b;--ac-mut:#6a6e76;--ac-line:#e6dfd2;--ac-paper:#fff;--ac-gold:#9a7637;--ac-blue:#3a6a9a;--ac-sky:#e8f0f7;--ac-sand:#f1e9da;font-family:"Times New Roman",Times,serif;overflow-x:hidden}
.ac h1,.ac h2,.ac h3{font-weight:400;margin:0}
.ac-lab{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ac-gold);margin:0 0 10px}
.ac-mut{color:var(--ac-mut)}
.ac-mini{font-size:15px;color:var(--ac-mut);margin:10px 0 0}
.ac-btn{display:inline-block;background:var(--ac-ink);color:#fff!important;text-decoration:none;padding:14px 24px;border-radius:3px;font-size:17px;position:relative;overflow:hidden;border:1px solid var(--ac-ink)}
.ac-btn::before{content:"";position:absolute;inset:0;background:var(--ac-blue);transform:translateY(101%);transition:transform .45s cubic-bezier(.65,0,.35,1)}
.ac-btn:hover::before{transform:none}.ac-btn span{position:relative}
.ac-btn.ac-o{background:transparent;color:var(--ac-ink)!important}.ac-btn.ac-o:hover{color:#fff!important}
.ac-btn.ac-plein{display:block;text-align:center;margin-top:18px}
@keyframes ac-up{to{opacity:1;transform:none}}

/* Haut */
.ac-hero{padding:50px 0 40px}
.ac-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}
.ac-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.04;margin:14px 0 18px}
.ac-hero h1 em{font-style:italic;color:var(--ac-gold)}
.ac-m{display:inline-block;opacity:0;transform:translateY(40px) rotate(3deg);animation:ac-up .9s cubic-bezier(.2,.8,.2,1) forwards}
.ac-fade{opacity:0;transform:translateY(20px);animation:ac-up 1s 1.1s forwards}
.ac-rot-l{font-size:22px;margin:0 0 24px}
.ac-rot{display:inline-block;color:var(--ac-blue);border-bottom:1px solid var(--ac-blue)}
.ac-rot span{display:inline-block;animation:ac-mot .5s}
@keyframes ac-mot{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ac-ctas{display:flex;flex-wrap:wrap;gap:12px}
.ac-scene{position:relative;height:440px;color:var(--ac-gold)}
.ac-sceau{position:absolute;right:6%;top:4%;width:150px;height:150px;animation:ac-tour 22s linear infinite}
@keyframes ac-tour{to{transform:rotate(360deg)}}
.ac-carte{position:absolute;background:var(--ac-paper);border:1px solid var(--ac-line);border-radius:4px;padding:18px 20px;box-shadow:0 18px 40px -32px rgba(0,0,0,.4);animation:ac-flot 6s ease-in-out infinite;color:var(--ac-ink)}
.ac-carte small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac-gold)}
.ac-ct{font-size:20px;margin:4px 0 6px}
.ac-c1{left:0;top:40px;width:250px}.ac-c2{left:22%;top:215px;width:270px;animation-delay:-2s}.ac-c3{right:0;bottom:10px;width:210px;animation-delay:-4s;background:var(--ac-sky)}
@keyframes ac-flot{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.ac-check{display:flex;align-items:center;gap:10px;font-size:16px;padding:5px 0}
.ac-check i{width:16px;height:16px;border:1px solid var(--ac-gold);border-radius:3px;position:relative;flex:0 0 16px}
.ac-check i::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid var(--ac-gold);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);animation:ac-coche .4s 1.6s forwards}
.ac-check:nth-child(3) i::after{animation-delay:2.2s}.ac-check:nth-child(4) i::after{animation-delay:2.8s}
@keyframes ac-coche{to{transform:rotate(45deg) scale(1)}}
.ac-jauge{height:8px;background:var(--ac-sand);border-radius:5px;overflow:hidden;margin-top:8px}.ac-jauge span{display:block;height:100%;width:0;background:var(--ac-gold);animation:ac-rempl 2.4s 1.2s ease forwards}
@keyframes ac-rempl{to{width:82%}}

/* Bandeau */
.ac-bande{border-top:1px solid var(--ac-line);border-bottom:1px solid var(--ac-line);overflow:hidden;white-space:nowrap;padding:16px 0;background:var(--ac-paper)}
.ac-bande div{display:inline-block;animation:ac-def 40s linear infinite;font-size:24px}
.ac-bande span{margin:0 26px}.ac-bande b{font-weight:400;color:var(--ac-gold)}
@keyframes ac-def{to{transform:translateX(-50%)}}

/* Apparitions */
.ac-rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.ac-rv.vu{opacity:1;transform:none}
.ac-d1{transition-delay:.12s}.ac-d2{transition-delay:.24s}.ac-d3{transition-delay:.36s}

.ac-sec{padding:80px 16px}
.ac-titre{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.ac-titre h2,.ac-prem h2,.ac-livre h2{font-size:clamp(28px,4vw,44px);line-height:1.1}
.ac-titre .ac-mut{max-width:360px;margin:0}
.ac-choix{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ac-ch{position:relative;background:var(--ac-paper);border:1px solid var(--ac-line);border-radius:4px;padding:22px;text-decoration:none;color:var(--ac-ink);overflow:hidden;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .4s,border-color .4s}
.ac-ch::before{content:"";position:absolute;inset:0;background:var(--ac-sky);transform:scaleY(0);transform-origin:bottom;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.ac-ch:hover{transform:translateY(-6px);border-color:var(--ac-gold)}.ac-ch:hover::before{transform:scaleY(1)}
.ac-ch > *{position:relative}
.ac-n{font-size:14px;color:var(--ac-gold)}
.ac-ch h3{font-size:24px;line-height:1.15}
.ac-fl{font-size:15px;color:var(--ac-mut)}

/* Premium */
.ac-prem{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ac-liste{padding:0;margin:16px 0 24px}.ac-liste li{list-style:none;padding:10px 0;border-bottom:1px solid var(--ac-line)}
.ac-offres{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ac-off{display:block;border:1px solid var(--ac-line);background:var(--ac-paper);padding:18px;text-decoration:none;color:var(--ac-ink);border-radius:4px;transition:border-color .3s,transform .3s}
.ac-off:hover{border-color:var(--ac-ink);transform:translateY(-3px)}
.ac-off strong{display:block;font-weight:400;font-size:34px;line-height:1.1;margin:2px 0}
.ac-off .ac-mut{font-size:15px}
.ac-off.ac-rec{border-color:var(--ac-blue);box-shadow:inset 0 3px 0 var(--ac-blue)}
.ac-demo{background:var(--ac-paper);border:1px solid var(--ac-line);border-radius:4px;padding:26px;box-shadow:0 30px 60px -40px rgba(0,0,0,.4)}
.ac-demo-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ac-line);padding-bottom:10px;margin-bottom:6px}
.ac-q{font-size:22px;margin:6px 0 16px}
.ac-rep{display:block;width:100%;text-align:left;font:inherit;font-size:17px;background:#faf8f3;color:var(--ac-ink);border:1px solid var(--ac-line);border-radius:3px;padding:12px 14px;margin:8px 0;cursor:pointer;transition:background .3s,border-color .3s,transform .3s}
.ac-rep:hover{transform:translateX(4px)}
.ac-rep.ok{background:#e9f4ec;border-color:#5f9a72}.ac-rep.ko{background:#fbecea;border-color:#c97b6b;animation:ac-non .4s}
@keyframes ac-non{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.ac-pts{font-size:15px;color:var(--ac-mut);display:flex;justify-content:space-between;margin-top:10px}

/* Compteurs */
.ac-compt{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;padding:0 16px 80px}
.ac-compt strong{display:block;font-weight:400;font-size:clamp(36px,5vw,56px);line-height:1}
.ac-compt span{color:var(--ac-mut);font-size:16px}

/* Livre */
.ac-livre{background:var(--ac-sand)}
.ac-livre-in{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center;padding:80px 16px}
.ac-pile{position:relative;height:380px;perspective:1000px}
.ac-couv,.ac-couv-img{position:absolute;left:50%;top:50%;width:220px;margin:-165px 0 0 -110px;transform:rotateY(-18deg) rotateX(6deg);transition:transform .2s ease-out;box-shadow:0 40px 60px -35px rgba(0,0,0,.55)}
.ac-couv{aspect-ratio:2/3;background:linear-gradient(165deg,#fbf7ee,#e3d5ba);border:1px solid #d6c7aa;padding:20px;display:flex;flex-direction:column;justify-content:space-between;color:#22252c}
.ac-couv small{font-size:11px;letter-spacing:.16em;color:#9a7637}.ac-couv b{font-weight:400;font-size:24px;line-height:1.15}
.ac-couv.ac-ar{transform:rotateY(-18deg) rotateX(6deg) translate(18px,12px);background:#e7dcc6;z-index:0}
.ac-couv-img{height:auto}
.ac-stock{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:#9b3f28;margin-left:12px}
.ac-stock i{width:8px;height:8px;border-radius:50%;background:#c4573a;animation:ac-pouls 1.6s infinite}
@keyframes ac-pouls{0%{box-shadow:0 0 0 0 rgba(196,87,58,.5)}100%{box-shadow:0 0 0 10px rgba(196,87,58,0)}}

/* Questions et actualités */
.ac-faqs{border-top:1px solid var(--ac-ink);max-width:900px}
.ac-faqs a{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--ac-line);text-decoration:none;color:var(--ac-ink);font-size:20px}
.ac-faqs em{font-style:normal;font-size:15px;color:var(--ac-gold);white-space:nowrap;transition:transform .35s}
.ac-faqs a:hover em{transform:translateX(5px)}
.ac-actus{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ac-act{display:block;text-decoration:none;color:var(--ac-ink)}
.ac-act .ac-lab{display:block;margin:0 0 6px}
.ac-img{aspect-ratio:16/10;background:var(--ac-sky);margin-bottom:14px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;color:var(--ac-mut);letter-spacing:.2em;font-size:13px}
.ac-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.ac-act:hover .ac-img img{transform:scale(1.04)}
.ac-act h3{font-size:21px;line-height:1.25;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;display:inline;transition:background-size .45s}
.ac-act:hover h3{background-size:100% 1px}

/* Fin */
.ac-cit{text-align:center;max-width:820px;margin:0 auto}
.ac-cit blockquote{margin:0;font-size:clamp(24px,3.4vw,36px);line-height:1.3;font-style:italic}
.ac-l{background:linear-gradient(#e6d3ad,#e6d3ad) no-repeat 0 92%/0 30%;transition:background-size 1.4s .3s}
.ac-cit.vu .ac-l{background-size:100% 30%}
.ac-res{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.ac-res a{border:1px solid var(--ac-line);border-radius:3px;padding:8px 18px;font-size:15px;text-decoration:none;color:var(--ac-ink);transition:background .3s,color .3s}
.ac-res a:hover{background:var(--ac-ink);color:#fff}

@media (max-width:900px){.ac-hero-grid,.ac-livre-in,.ac-prem{grid-template-columns:1fr}.ac-scene{height:360px}.ac-choix,.ac-compt{grid-template-columns:1fr 1fr}.ac-actus{grid-template-columns:1fr}}
@media (max-width:520px){.ac-choix,.ac-offres{grid-template-columns:1fr}.ac-c1{width:210px}.ac-c2{width:230px;left:8%}.ac-c3{width:180px}.ac-sceau{width:110px;height:110px}.ac-pile{height:320px}.ac-sec{padding:56px 16px}.ac-faqs a{font-size:18px}}
@media (prefers-reduced-motion:reduce){.ac *,.ac *::before,.ac *::after{animation:none!important;transition:none!important}.ac-m,.ac-fade,.ac-rv{opacity:1!important;transform:none!important}.ac-check i::after{transform:rotate(45deg) scale(1)}.ac-jauge span{width:82%}}

/* Téléphones et tablettes : défilement fluide (on coupe les animations en boucle, coûteuses sur mobile) */
.ac-bande div{will-change:transform;transform:translate3d(0,0,0)}
@keyframes ac-def{to{transform:translate3d(-50%,0,0)}}
@media (max-width:900px),(hover:none){
  .ac{overflow-x:clip}
  .ac-carte{animation:none;box-shadow:0 10px 24px -20px rgba(0,0,0,.35)}
  .ac-sceau{animation:none}
  .ac-stock i{animation:none}
  .ac-bande div{animation-duration:60s}
  .ac-rv{transform:none;transition:opacity .6s}
  .ac-ch,.ac-off,.ac-rep{transition:none}
  .ac-ch:hover,.ac-off:hover{transform:none}
  .ac-couv,.ac-couv-img{transition:none}
}

/* Le mot qui change ne doit pas faire bouger la page : hauteur réservée */
.ac-rot{white-space:nowrap}
.ac-rot-l{min-height:2.9em}
@media (min-width:901px){.ac-rot-l{min-height:1.5em}}
html{overflow-anchor:auto}
/* Le mot qui change sur sa propre ligne, de hauteur fixe : plus aucun décalage */
.ac-rot{display:block;height:1.35em;line-height:1.35em;overflow:hidden;width:max-content;max-width:100%}
.ac-rot-l{min-height:0}
@media (min-width:901px){.ac-rot{display:inline-block;vertical-align:bottom;min-width:9.5em}}
