/* ============================================================
   Mooventis, Couche article SEO/GEO
   Étend styles.css (mêmes variables) pour les pages de contenu.
   ============================================================ */

.article-page{min-height:100vh;background:var(--bg)}
.article-hero{padding:130px 0 40px;position:relative}
.article-shell{width:min(calc(100% - 40px),860px);margin-inline:auto}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.82rem;color:var(--muted2);margin-bottom:26px}
.crumbs a{color:var(--muted);transition:color .2s}
.crumbs a:hover{color:var(--cyan)}
.crumbs span{opacity:.5}
.article-tag{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:999px;padding:9px 14px;color:#cbd6ff;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:22px}
.article-tag .live-dot{width:8px;height:8px}
.article-hero h1{font-family:var(--display);font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.0;letter-spacing:-.05em;margin:0 0 22px;max-width:18ch}
.article-lead{color:var(--muted);font-size:clamp(1.08rem,1.6vw,1.32rem);line-height:1.75;max-width:64ch;margin:0}

.article-body{padding:30px 0 40px}
.article-body h2{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1.1;margin:54px 0 16px}
.article-body h3{font-size:1.22rem;margin:34px 0 10px;color:#eef2ff}
.article-body p{color:var(--muted);line-height:1.9;font-size:1.06rem;margin:0 0 18px}
.article-body ul,.article-body ol{color:var(--muted);line-height:1.85;font-size:1.05rem;padding-left:1.25em;margin:0 0 20px}
.article-body li{margin-bottom:10px}
.article-body li::marker{color:var(--cyan)}
.article-body strong{color:#f6f8ff}
.article-body a{color:var(--cyan);border-bottom:1px solid rgba(97,239,255,.28);transition:border-color .2s}
.article-body a:hover{border-color:var(--cyan)}

.callout{border:1px solid var(--line2);background:linear-gradient(135deg,rgba(127,145,255,.1),rgba(195,131,255,.07));border-radius:24px;padding:24px 26px;margin:30px 0}
.callout strong{display:block;color:var(--cyan);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.callout p{margin:0;color:#dbe4ff}

.formula{font-family:var(--display);background:rgba(7,13,31,.7);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px 22px;margin:22px 0;color:#eef2ff;font-size:1.05rem;line-height:1.6;letter-spacing:-.01em;overflow-x:auto}
.formula em{color:var(--cyan);font-style:normal}

.kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}
.kpi-strip div{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:20px}
.kpi-strip b{display:block;font-family:var(--display);font-size:1.5rem;color:#fff;margin-bottom:6px}
.kpi-strip small{color:var(--muted2);font-size:.85rem;line-height:1.5}

/* Q/R bloc (cohérent avec les <details> de l'index) */
.qa{display:grid;gap:14px;margin:24px 0}
.qa details{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:0 22px}
.qa summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:700;color:#eef2ff;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:"+";position:absolute;right:0;color:var(--cyan);font-size:1.4rem;line-height:1}
.qa details[open] summary:after{content:"×"}
.qa details p{margin:0;padding:0 0 20px;color:var(--muted);line-height:1.75}

/* Maillage en cluster (cartes liées) */
.cluster{margin:46px 0 10px}
.cluster h2{margin-bottom:20px}
.cluster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cluster-grid a{display:block;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s}
.cluster-grid a:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 20px 50px rgba(97,239,255,.1)}
.cluster-grid span{display:block;color:var(--cyan);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.cluster-grid strong{display:block;font-size:1.12rem;margin-bottom:6px}
.cluster-grid em{font-style:normal;color:var(--muted);font-size:.95rem;line-height:1.5}

/* Bandeau de conversion (réutilisé sur chaque page) */
.cta-band{position:relative;overflow:hidden;border-radius:34px;padding:50px 34px;text-align:center;margin:54px 0 10px;background:linear-gradient(135deg,rgba(127,145,255,.14),rgba(195,131,255,.1));border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.35)}
.cta-band h2{margin:0 auto 14px;max-width:24ch}
.cta-band p{color:var(--muted);max-width:52ch;margin:0 auto 24px}
.cta-band .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-band small{display:block;margin-top:14px;color:var(--muted2)}

.article-foot{padding:10px 0 90px;color:var(--muted2);font-size:.9rem}
.article-foot a{color:var(--muted)}

@media(max-width:760px){
  .kpi-strip{grid-template-columns:1fr}
  .cluster-grid{grid-template-columns:1fr}
  .cta-band .btn{width:100%}
}

/* FAQ : sommaire, transitions, accordeons polis */
.faq-toc{border:1px solid var(--line2);background:linear-gradient(135deg,rgba(127,145,255,.08),rgba(195,131,255,.05));border-radius:24px;padding:22px 26px;margin:30px 0 10px}
.faq-toc strong{display:block;color:var(--cyan);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}
.faq-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
.faq-toc a{display:inline-block;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:9px 16px;font-size:.92rem;color:#eef2ff;transition:border-color .2s,background .2s,transform .2s}
.faq-toc a:hover{border-color:var(--cyan);background:rgba(97,239,255,.08);transform:translateY(-1px)}
.qa-intro{color:var(--muted);font-size:1.02rem;line-height:1.7;margin:0 0 18px;max-width:64ch}
.article-body h2[id]{scroll-margin-top:24px}
.qa details{transition:border-color .25s,background .25s}
.qa details:hover{border-color:var(--line2);background:rgba(255,255,255,.06)}
.qa summary:after{transition:transform .2s}
.qa details[open] summary{color:var(--cyan)}
.qa details[open] p{animation:qaIn .3s ease}
@keyframes qaIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
