/* Landing du Kit stratégie email Ori'Mailing (complète landing.css, même charte). */
.esq-hero { padding: 64px 0 88px; border-bottom: 2px solid var(--bleu-nuit); }
.esq-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.esq-hero h1 { font-size: clamp(36px, 4.6vw, 64px); font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; margin: 18px 0 22px; }
.esq-hero h1 .marker { background: var(--bleu-electrique); color: var(--beige); padding: 0 8px; display: inline-block; transform: rotate(-1deg); }
.esq-lead { font-size: 19px; line-height: 1.6; color: var(--bleu-nuit); margin: 0 0 12px; max-width: 34em; }
.esq-sub { font-size: 16px; color: var(--fg-muted); margin: 0 0 28px; max-width: 34em; }
.esq-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; }
.esq-link { font-weight: 700; color: var(--bleu-nuit); text-underline-offset: 4px; }
.esq-note { margin-top: 18px; font-size: 13px; color: var(--fg-muted); }

/* Média d'en-tête : vidéo (format 16:9 ou vertical) ou visuel de remplacement */
.esq-media { margin: 0; }
.esq-video, .esq-mock { display: block; width: 100%; border: 3px solid var(--bleu-nuit); box-shadow: 10px 10px 0 var(--bleu-electrique); background: var(--bleu-nuit); }
.esq-video { max-height: 78vh; object-fit: contain; }
.esq-media figcaption { margin-top: 16px; font-size: 13px; color: var(--fg-muted); text-align: center; }
.esq-mock { color: var(--beige); padding: 22px 24px 26px; }
.esq-mock-head { display: flex; align-items: center; gap: 6px; padding-bottom: 14px; margin-bottom: 8px; border-bottom: 1px solid rgba(242, 241, 230, .2); }
.esq-mock-head span { width: 10px; height: 10px; border-radius: 50%; background: rgba(242, 241, 230, .35); }
.esq-mock-head b { margin-left: 10px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.esq-mock ol { list-style: none; margin: 0; padding: 0; }
.esq-mock li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(242, 241, 230, .12); font-weight: 600; }
.esq-mock li i { font-style: normal; display: grid; place-items: center; width: 34px; height: 34px; flex: none; border: 2px solid var(--beige); font-size: 13px; }
.esq-mock li.done i { background: var(--beige); color: var(--bleu-nuit); }
@media (prefers-reduced-motion: no-preference) {
  .esq-mock li { animation: esq-in .5s both; }
  .esq-mock li:nth-child(2) { animation-delay: .25s; } .esq-mock li:nth-child(3) { animation-delay: .5s; }
  .esq-mock li:nth-child(4) { animation-delay: .75s; } .esq-mock li:nth-child(5) { animation-delay: 1s; }
}
@keyframes esq-in { from { opacity: 0; transform: translateX(-10px); } }

/* Cartes */
.esq-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.esq-card { background: var(--beige); border: 2px solid var(--bleu-nuit); box-shadow: var(--brut-shadow); padding: 28px; }
.esq-card h3 { font-size: 20px; margin: 0 0 10px; }
.esq-card p { margin: 0 0 12px; color: var(--fg-muted); font-size: 15px; line-height: 1.6; }

/* Étapes (section sombre) */
.esq-steps { list-style: none; margin: 0 auto; padding: 0; max-width: 860px; }
.esq-steps li { display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 22px 0; border-top: 1px solid rgba(242, 241, 230, .2); }
.esq-steps h3 { margin: 4px 0 6px; font-size: 20px; }
.esq-steps p { margin: 0; opacity: .82; line-height: 1.6; }
.esq-num { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid var(--beige); font-weight: 700; font-size: 20px; }

/* Ce que vous recevez */
.esq-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; }
.esq-split h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; margin: 14px 0 14px; }
.esq-split p { color: var(--fg-muted); margin: 0 0 26px; }
.esq-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--bleu-nuit); }
.esq-list li { position: relative; padding: 16px 0 16px 38px; border-bottom: 1px solid rgba(31, 36, 70, .18); font-weight: 600; line-height: 1.5; }
.esq-list li::before { content: '✓'; position: absolute; left: 0; top: 14px; width: 26px; height: 26px; display: grid; place-items: center; background: var(--bleu-electrique); color: var(--beige); font-size: 13px; }

/* FAQ */
.esq-faq { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.esq-faq details { background: var(--beige); border: 2px solid var(--bleu-nuit); box-shadow: var(--brut-shadow); }
.esq-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 18px 22px; font-weight: 600; font-size: 17px; }
.esq-faq summary::-webkit-details-marker { display: none; }
.esq-faq summary span { color: var(--bleu-electrique); font-size: 24px; font-weight: 700; transition: transform .2s; }
.esq-faq details[open] summary span { transform: rotate(45deg); }
.esq-faq details p { margin: 0; padding: 0 22px 22px; color: var(--fg-muted); line-height: 1.6; }
.esq-cta-final { flex-wrap: wrap; gap: 16px; }

@media (max-width: 960px) {
  .esq-hero-grid, .esq-split { grid-template-columns: 1fr; gap: 40px; }
  .esq-cards { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
}
@media (max-width: 560px) {
  .esq-hero { padding: 36px 0 64px; }
  .esq-steps li { grid-template-columns: 44px 1fr; gap: 14px; }
  .esq-num { width: 40px; height: 40px; font-size: 17px; }
  .esq-video, .esq-mock { box-shadow: 6px 6px 0 var(--bleu-electrique); }
}
