/* KA English Program B2 — présentation et accès aux deux formats. */
.ka-levels { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.ka-levels a { font-size:14px; font-weight:600; padding:9px 17px; border:1px solid var(--line); border-radius:100px; background:var(--white); }
.ka-levels a[aria-current="page"] { background:var(--indigo); border-color:var(--indigo); color:var(--white); }
.ka-levels a:hover { border-color:var(--indigo); }
.b2-page-top { padding-bottom:22px; }
.b2-hero-section { padding-top:16px; }
.b2-hero { display:grid; grid-template-columns:minmax(0,335px) minmax(0,1fr); gap:64px; align-items:center; }
.b2-cover-wrap { padding:10px 0; }
.b2-cover { width:100%; height:auto; border-radius:7px; box-shadow:var(--shadow); }
.b2-badge { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.1em; color:var(--indigo); background:#e6e9ef; border-radius:100px; padding:7px 13px; }
.b2-hero h1 { font-size:clamp(34px,3.7vw,49px); margin:17px 0 12px; }
.b2-tagline { font-family:var(--serif); font-size:25px; line-height:1.3; color:var(--laterite); margin-bottom:18px; }
.b2-intro { color:var(--muted); line-height:1.7; }
.b2-level-note { font-size:14px; line-height:1.65; color:var(--muted); margin:12px 0 16px; }
.b2-highlights { list-style:none; display:flex; flex-wrap:wrap; gap:7px 18px; font-size:13px; font-weight:600; color:var(--indigo); }
.b2-highlights li::before { content:"·"; color:var(--laterite); margin-right:7px; }
.b2-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin-top:22px; }
.b2-actions .btn { font-size:14px; padding:12px 20px; justify-content:center; text-align:center; }
.b2-preview { display:inline-block; color:var(--indigo); text-decoration:underline; text-underline-offset:4px; font-weight:600; font-size:14px; margin-top:20px; }
.b2-small { font-size:12.5px; color:var(--muted); margin-top:12px; }
.b2-skills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.b2-skills article { padding:27px; background:var(--white); border:1px solid var(--line); border-radius:8px; }
.b2-card-number { font-size:12px; font-weight:700; color:var(--laterite); letter-spacing:.1em; }
.b2-skills h3 { font-size:24px; margin:14px 0 12px; color:var(--indigo); }
.b2-skills p { color:var(--muted); font-size:15px; }
.b2-program { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:46px; align-items:start; }
.b2-program h3 { font-size:26px; color:var(--indigo); margin-bottom:22px; }
.b2-unit-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin-left:24px; }
.b2-unit-list li { padding:13px 0 13px 4px; border-bottom:1px solid var(--line); font-size:14px; line-height:1.6; }
.b2-unit-list li::marker { color:var(--laterite); font-size:12px; font-weight:700; }
.b2-bonus { background:var(--white); border:1px solid var(--line); border-top:3px solid var(--gold); padding:28px; border-radius:6px; }
.b2-bonus h3 { margin:12px 0 18px; }
.b2-bonus ul { list-style:none; }
.b2-bonus li { padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.6; }
.b2-bonus li:last-child { border-bottom:0; }
.b2-bonus p { color:var(--muted); font-size:13px; margin-top:15px; }
.b2-format-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.b2-format-card { display:flex; flex-direction:column; padding:32px; border:1px solid var(--line); border-radius:9px; background:var(--white); }
.b2-format-label { font-size:11px; letter-spacing:.13em; font-weight:700; color:var(--laterite); }
.b2-format-card h3 { font-size:29px; margin:13px 0 15px; color:var(--indigo); }
.b2-format-card p { color:var(--muted); font-size:15px; }
.b2-format-card .b2-format-note { font-size:13px; margin:14px 0 22px; }
.b2-format-card .btn { align-self:flex-start; margin-top:auto; font-size:14px; text-align:center; justify-content:center; }
.b2-format-footnote { text-align:center; font-size:13px; max-width:760px; color:var(--muted); margin:25px auto 0; }
.b2-faq-wrap { max-width:850px; }
.b2-faq details { padding:19px 0; border-bottom:1px solid var(--line); }
.b2-faq summary { cursor:pointer; font-weight:600; color:var(--indigo); }
.b2-faq p { color:var(--muted); font-size:15px; margin-top:14px; }
.b2-next-step { margin-top:40px; padding:27px; background:var(--paper-2); border-radius:8px; text-align:center; }
.b2-next-step p { margin-bottom:16px; }
.b2-feature { display:grid; grid-template-columns:180px minmax(0,1fr); gap:42px; align-items:center; max-width:980px; margin:auto; }
.b2-feature-cover img { width:180px; height:auto; border-radius:5px; box-shadow:var(--shadow); }
.b2-feature h2 { font-size:clamp(29px,3vw,40px); margin:12px 0 14px; }
.b2-feature p { color:var(--muted); font-size:16px; max-width:62ch; }
.b2-feature .b2-actions { margin-top:19px; }
.b2-feature-links { display:flex; flex-wrap:wrap; gap:9px 23px; margin-top:17px; }
.b2-feature-links a { font-size:13.5px; color:var(--indigo); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.ka-vol[href]:hover { border-color:var(--indigo); box-shadow:var(--shadow); }
.ka-vol[href]:focus-visible, .ka-levels a:focus-visible, .b2-preview:focus-visible, .b2-feature a:focus-visible, .b2-hero a:focus-visible, .b2-format-card a:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
@media (max-width:900px) {
  .b2-hero { grid-template-columns:minmax(0,265px) minmax(0,1fr); gap:32px; }
  .b2-hero h1 { font-size:36px; }
  .b2-skills { grid-template-columns:1fr; gap:16px; }
  .b2-program { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:680px) {
  .b2-hero { grid-template-columns:1fr; gap:28px; }
  .b2-cover-wrap { max-width:270px; justify-self:center; }
  .b2-hero h1 { font-size:37px; }
  .b2-tagline { font-size:25px; }
  .b2-actions { align-items:stretch; }
  .b2-actions .btn { width:100%; }
  .b2-format-grid { grid-template-columns:1fr; }
  .b2-format-card { padding:24px; }
  .b2-format-card .btn { width:100%; }
  .b2-feature { grid-template-columns:1fr; gap:26px; }
  .b2-feature-cover { justify-self:center; }
  .b2-feature-cover img { width:175px; }
  .b2-unit-list { grid-template-columns:1fr; }
  .ka-levels { gap:8px; }
  .ka-levels a { font-size:12px; padding:9px 12px; }
}
