/* ============================================================================
   SL SYSTEM — pages.css
   Composants communs aux pages internes (chargé hors page d'accueil).
   Le chrome (tokens, en-tête, pied, boutons, .card) vit dans base.css.
   ========================================================================== */

/* Titres internes (un cran sous l'accueil) */
main h1{font-size:48px;line-height:1.06}
main h2{font-size:34px}
main h3{font-size:20px}

/* Hero de page interne */
.shero{position:relative;padding:64px 0 56px;border-bottom:1px solid var(--line);overflow:hidden}
.shero::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(63,43,150,.10) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(110% 90% at 15% 0%,#000 26%,transparent 70%);mask-image:radial-gradient(110% 90% at 15% 0%,#000 26%,transparent 70%);opacity:.8}
.shero__in{position:relative;z-index:1;max-width:820px}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--ink500);margin-bottom:16px;letter-spacing:.03em}
.crumbs a{color:var(--v600)}
.crumbs .sep{color:var(--ink300);margin:0 6px}
.shero h1 .ac{color:var(--v600)}
.shero .lead{margin:18px 0 26px;max-width:640px}
.shero__ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Bandeau centré */
.band-center{max-width:780px;margin:0 auto;text-align:center}
.band-center h2{margin:0 0 16px}

/* Icône ronde violette */
.ic{width:42px;height:42px;border-radius:var(--r-md);background:var(--v50);color:var(--v600);display:flex;align-items:center;justify-content:center;flex:none}

/* Grille de cartes décalées */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.grid3 .card:nth-child(3n+2){margin-top:28px}
.grid3 .card:nth-child(3n+3){margin-top:12px}
.card p{margin:0;font-size:15px;line-height:1.6;color:var(--ink600)}

/* Liste de fonctionnalités 2 colonnes */
.features{display:grid;grid-template-columns:1fr 1fr;gap:32px 52px}
.feat{display:flex;gap:16px;align-items:flex-start}
.feat h4{margin:0 0 5px}
.feat p{margin:0;font-size:15px;line-height:1.6;color:var(--ink600)}
.feat .fn{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--v400);flex:none;width:26px;padding-top:2px}

/* Parcours numéroté */
.steps{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-card);overflow:hidden;transform:rotate(-.6deg)}
.step{display:flex;gap:16px;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--ink100)}
.step:last-child{border-bottom:0}
.step .num{font-family:var(--mono);font-weight:700;color:var(--v600);font-size:14px;background:var(--v50);width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none}
.step h4{margin:0 0 3px}
.step p{margin:0;font-size:14px;color:var(--ink600);line-height:1.5}

/* Trio segmenté */
.trio{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-card);overflow:hidden}
.trio>div{padding:28px 26px;border-left:1px solid var(--line)}
.trio>div:first-child{border-left:0}
.trio h4{margin:0 0 8px}
.trio p{margin:0;font-size:14px;color:var(--ink600);line-height:1.55}

/* Split + rapport */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.report{border:1px solid var(--ink200);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);background:#fff;transform:rotate(.7deg)}
.report__h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--ink200);font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink700)}
.report__h .tag{color:var(--v600)}
.report__b{padding:6px 18px 10px}
.report__row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--ink100);font-size:14px;color:var(--ink700)}
.report__row:last-child{border-bottom:0}
.report__row b{font-family:var(--mono);color:var(--v700);font-size:15px}

.card__n{font-family:var(--mono);font-size:12px;color:var(--ink400);letter-spacing:.1em}

/* Checklist encartée */
.checks{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 28px;box-shadow:var(--sh-card);transform:rotate(-.6deg)}
.checks ul{margin:0;padding:0;list-style:none}
.checks li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--ink100);font-size:15px;color:var(--ink700)}
.checks li:last-child{border-bottom:0}
.checks .ck{color:var(--ok);flex:none;margin-top:1px}

/* Duo de cartes */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.duo .card:nth-child(2){margin-top:24px}

/* Schéma en flux (marque blanche) */
.flow{display:flex;align-items:stretch;gap:14px;justify-content:center;flex-wrap:wrap}
.flownode{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--sh-card);text-align:center;flex:1 1 200px;min-width:200px}
.flownode .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink400);margin-bottom:8px}
.flownode h4{margin:0 0 6px}
.flownode p{margin:0;font-size:14px;color:var(--ink600);line-height:1.5}
.flownode.mid{background:var(--v600);border-color:var(--v600);color:#fff}
.flownode.mid .k{color:rgba(255,255,255,.6)}
.flownode.mid h4{color:#fff}
.flownode.mid p{color:rgba(255,255,255,.82)}
.flowarrow{display:flex;align-items:center;color:var(--v400);flex:none}

/* Encart mise en route */
.onboard{background:#fff;border:1px solid var(--line);border-left:3px solid var(--v600);border-radius:var(--r-lg);padding:32px 34px;box-shadow:var(--sh-card);max-width:860px}
.onboard h3{margin:0 0 10px}
.onboard p{margin:0;font-size:16px;line-height:1.6;color:var(--ink600)}

/* FAQ accordéon */
.faq{max-width:820px}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;background:none;border:0;padding:20px 0;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font);font-weight:700;font-size:18px;color:var(--ink900);cursor:pointer}
.faq__q:hover{color:var(--v600)}
.faq__chev{color:var(--v600);transition:transform .25s var(--ease);flex:none}
.faq__item.open .faq__chev{transform:rotate(180deg)}
.faq__a{font-size:15px;line-height:1.6;color:var(--ink600);max-height:0;overflow:hidden;transition:max-height .32s var(--ease),padding .32s var(--ease)}
.faq__item.open .faq__a{max-height:400px;padding:0 0 20px}

/* Bloc CTA sombre */
.cta{background:var(--ink900);color:#fff;border-radius:var(--r-lg);padding:60px 48px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;max-width:760px;margin:0 auto;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;opacity:.5}
.cta>*{position:relative;z-index:1}
.cta__t{max-width:520px}
.cta h2{color:#fff;font-size:32px;margin:0}
.cta p{color:rgba(255,255,255,.7);margin:10px 0 0;font-size:16px}
.cta .btn{background:#fff;color:var(--v700);border-color:#fff}
.cta .btn:hover{background:var(--v50)}

/* Prose (pages éditoriales simples) */
.prose{max-width:720px}
.prose p{font-size:17px;line-height:1.7;color:var(--ink700);margin:0 0 18px}
.prose h2{margin:36px 0 14px}
.prose h3{margin:28px 0 10px}
.prose ul{margin:0 0 18px;padding-left:22px;color:var(--ink700);line-height:1.7}

@media(max-width:960px){
  main h1{font-size:38px}main h2{font-size:28px}
  .grid3{grid-template-columns:1fr}.grid3 .card{margin-top:0!important}
  .features{grid-template-columns:1fr;gap:24px}
  .trio{grid-template-columns:1fr}.trio>div{border-left:0;border-top:1px solid var(--line)}.trio>div:first-child{border-top:0}
  .split{grid-template-columns:1fr;gap:32px}.report{transform:none}.checks{transform:none}.steps{transform:none}
  .duo{grid-template-columns:1fr}.duo .card{margin-top:0!important}
  .flowarrow{transform:rotate(90deg)}
  .cta{padding:44px 28px}
}
@media(max-width:600px){
  main h1 br,main h2 br{display:none}
  .shero{padding:48px 0 44px}
  main h1{font-size:31px}
}
