.course-section--journey { padding: 72px 0 0; background: #fff; }
.course-section--journey .content-width { width: min(1320px,calc(100% - 96px)); max-width: none; margin-inline: auto; }
.course-journey-heading { text-align: center; margin: 0 0 68px; }
.course-journey-heading h2 { margin: 0 0 16px; color: #0b2546; font-size: clamp(42px,5.3vw,76px); line-height: 1.08; letter-spacing: -.035em; font-weight: 800; text-wrap: balance; }
.course-journey-heading h2>span { color: #155fe8; }
.course-journey-heading p { margin: 0; color: #40536b; font-size: clamp(18px,2.1vw,27px); line-height: 1.5; text-wrap: balance; }
.course-tabs-layout { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 36px; }
.course-level-tabs { display: flex; flex-direction: column; border-right: 1px solid #e0e7f0; padding-right: 22px; align-self: stretch; }
.course-level-tab { position: relative; display: flex; align-items: baseline; gap: 7px; width: 100%; min-height: 145px; padding: 22px 16px; font-family: inherit; text-align: left; border: 0; background: transparent; color: #647791; cursor: pointer; transition: color .22s, background-color .22s; }
.course-level-tab span { font-size: 30px; font-weight: 500; }
.course-level-tab strong { font-size: 58px; line-height: 1; font-weight: 550; }
.course-level-tab::after { position: absolute; left: 16px; bottom: 25px; width: 40px; height: 2px; background: currentColor; content: ''; transform: scaleX(.7); transform-origin: left; transition: transform .25s; }
.course-level-tab[aria-selected=true] { color: #155fe8; }
.course-level-tab[aria-selected=true] strong,.course-level-tab[aria-selected=true] span { font-weight: 800; }
.course-level-tab[aria-selected=true]::after { transform: scaleX(1); }
.course-level-tab:hover { color: #155fe8; background: #f5f8fc; }
.course-level-tab:focus-visible,.course-tab-panel:focus-visible { outline: 3px solid #155fe8; outline-offset: 5px; }
.course-level-content { min-width: 0; }
.course-section--journey .course-tab-panel { padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; }
.course-tab-panel[hidden] { display: none; }
.course-tab-panel h3 { margin: 0; color: #0b2546; font-size: clamp(25px,2.5vw,36px); font-weight: 800; letter-spacing: -.025em; line-height: 1.3; text-wrap: balance; }
.course-tab-panel h3>span:first-child { color: #155fe8; white-space: nowrap; }
.course-title-dot { margin-inline: 9px; color: #155fe8; }
.lesson-flow { position: relative; margin-top: 34px; }
.lesson-flow-route { position: absolute; top: 74px; left: 0; width: 100%; height: 76px; overflow: visible; pointer-events: none; }
.lesson-flow-route path { fill: none; stroke: #155fe8; stroke-width: 2.5; }
.lesson-flow-route circle { fill: #f4b329; }
.lesson-flow-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; list-style: none; padding: 0; margin: 0; }
.lesson-flow-step { min-width: 0; }
.lesson-flow-icon { position: relative; display: grid; place-items: center; width: 108px; height: 108px; border-radius: 50%; margin-inline: auto; color: #0b2546; background: #f1f6fc; }
.lesson-flow-icon i { font-size: 49px; line-height: 1; }
.lesson-flow-number { display: block; margin: 28px 0 8px; color: #155fe8; font-size: 42px; line-height: 1.15; font-weight: 800; font-variant-numeric: tabular-nums; }
.lesson-flow-step h4 { margin: 0 0 12px; color: #0b2546; font-size: 21px; line-height: 1.3; font-weight: 800; letter-spacing: -.02em; }
.lesson-flow-step p { margin: 0; color: #40536b; font-size: 17px; line-height: 1.65; max-width: 29ch; }
.course-section--journey .course-topics { margin: 32px 0 0; border-top: 1px solid #d7e0ec; border-bottom: 1px solid #d7e0ec; border-radius: 0; background: transparent; }
.course-section--journey .course-topics .syllabus-toggle { display: flex; gap: 16px; min-height: 64px; padding: 12px 2px; font-size: 20px; font-weight: 750; color: #0b2546; }
.course-topics .syllabus-toggle>.bi-text-left { font-size: 28px; }
.course-topics .syllabus-toggle-icon { margin-left: auto; }
.course-section--journey .course-topics .syllabus-panel { padding: 18px 0 24px; border-top: 1px solid #e6ebf1; }
.course-section--journey .course-topics .syllabus-topic-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 34px; margin: 0; padding-left: 23px; font-size: 15px; line-height: 1.55; }
.course-consultation-strip { margin-top: 36px; background: #0b2546; color: #fff; padding: 28px 0 18px; }
.course-section--journey .course-consultation-inner { display: grid; grid-template-columns: 1.3fr auto 1fr; gap: 32px; align-items: center; }
.course-strip-price,.course-strip-free { display: flex; align-items: center; gap: 22px; }
.course-strip-price>i { font-size: 40px; }
.course-strip-price>div { border-left: 1px solid #60768f; padding-left: 22px; }
.course-strip-price strong { font-size: 32px; line-height: 1.25; font-weight: 800; white-space: nowrap; }
.course-strip-price strong>span { font-size: 23px; font-weight: 650; }
.course-strip-price p { margin: 5px 0 0; color: #cbdaf0; font-size: 16px; line-height: 1.5; }
.course-strip-cta { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 60px; padding: 15px 26px; color: #fff; background: #155fe8; border-radius: 9px; font-size: 18px; font-weight: 700; text-decoration: none; transition: background .2s,translate .2s; }
.course-strip-cta:hover { background: #084dcc; translate: 0 -2px; color: #fff; }
.course-strip-cta:focus-visible { outline: 3px solid #f4b329; outline-offset: 5px; }
.course-strip-free { border-left: 1px solid #60768f; padding-left: 28px; justify-self: end; }
.course-strip-free>i { font-size: 35px; color: #f4b329; }
.course-strip-free p { margin: 0; color: #cbdaf0; font-size: 16px; line-height: 1.45; }
.course-strip-free strong { display: block; color: #ffc74f; font-size: 20px; }
.course-strip-note { margin: 18px 0 0; text-align: center; color: #cbdaf0; font-size: 13px; line-height: 1.6; }
@media(max-width:1100px) { .course-section--journey .content-width { width: calc(100% - 56px); } .course-tabs-layout { grid-template-columns: 130px minmax(0,1fr); gap: 26px; } .course-level-tab { padding-inline: 6px; } .course-level-tab span { font-size: 24px; } .course-level-tab strong { font-size: 46px; } .course-level-tab::after { left: 6px; } .lesson-flow-steps { gap: 20px; } .lesson-flow-step h4 { font-size: 18px; } .lesson-flow-step p { font-size: 15px; } .course-section--journey .course-consultation-inner { grid-template-columns: 1fr auto; } .course-strip-free { border: 0; padding: 0; justify-self: start; grid-column: 1 / -1; } }
@media(max-width:760px) { .course-section--journey { padding-top: 48px; } .course-journey-heading { text-align: left; margin-bottom: 28px; } .course-tabs-layout { grid-template-columns: minmax(0,1fr); gap: 28px; } .course-level-tabs { flex-direction: row; padding: 0; border-right: 0; border-bottom: 1px solid #d7e0ec; } .course-level-tab { justify-content: center; min-height: 80px; padding: 15px 8px 23px; } .course-level-tab span { font-size: 22px; } .course-level-tab strong { font-size: 35px; } .course-level-tab::after { left: 50%; bottom: 10px; transform: translateX(-50%) scaleX(.7); } .course-level-tab[aria-selected=true]::after { transform: translateX(-50%) scaleX(1); } .course-tab-panel h3 { font-size: 27px; } .lesson-flow-step h4 { font-size: 17px; } .lesson-flow-icon { width: 84px; height: 84px; } .lesson-flow-icon i { font-size: 38px; } .lesson-flow-route { top: 48px; } .lesson-flow-number { font-size: 34px; } }
@media(max-width:560px) { .course-section--journey .content-width { width: calc(100% - 36px); } .course-journey-heading h2 { font-size: 40px; } .course-journey-heading p { font-size: 18px; } .lesson-flow-steps { grid-template-columns: minmax(0,1fr); gap: 28px; } .lesson-flow-route { display: none; } .lesson-flow-step { display: grid; grid-template-columns: 58px minmax(0,1fr); column-gap: 16px; } .lesson-flow-icon { grid-column: 1; grid-row: span 3; width: 58px; height: 58px; margin: 0; } .lesson-flow-icon i { font-size: 29px; } .lesson-flow-number { grid-column: 2; margin: 0 0 5px; font-size: 27px; } .lesson-flow-step h4 { grid-column: 2; font-size: 19px; margin-bottom: 8px; } .lesson-flow-step p { grid-column: 2; max-width: none; font-size: 15px; } .course-section--journey .course-topics .syllabus-toggle { font-size: 18px; } .course-section--journey .course-topics .syllabus-topic-list { grid-template-columns: minmax(0,1fr); } .course-section--journey .course-consultation-inner { grid-template-columns: minmax(0,1fr); gap: 22px; } .course-strip-price strong { font-size: 29px; } .course-strip-price strong>span { font-size: 20px; } .course-strip-price>i { font-size: 32px; } .course-strip-price>div { padding-left: 17px; } .course-strip-cta { width: 100%; font-size: 17px; } .course-strip-free { grid-column: auto; } .course-strip-note { text-align: left; } }
@media(prefers-reduced-motion:reduce) { .course-level-tab,.course-level-tab::after,.course-strip-cta { transition: none; } }


.preparation-comparison { margin-bottom: 30px; }
.preparation-comparison h4,.course-topic-heading { margin: 0 0 12px; color: #0b2546; font-size: 22px; line-height: 1.35; font-weight: 750; }
.preparation-comparison-intro { max-width: 75ch; margin: 0 0 22px; color: #40536b; font-size: 16px; line-height: 1.65; }
.preparation-levels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.preparation-level { min-width: 0; padding: 18px 0 0; border-top: 3px solid #d7e0ec; }
.preparation-level.is-current { border-color: #155fe8; }
.preparation-level-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
.preparation-level-top>strong { color: #155fe8; font-size: 20px; }
.preparation-current { color: #40536b; font-size: 12px; }
.preparation-level h5 { margin: 0 0 10px; font-size: 17px; font-weight: 750; color: #0b2546; line-height: 1.4; }
.preparation-level p { margin: 0 0 12px; color: #40536b; font-size: 15px; line-height: 1.65; }
.course-topic-heading { padding-top: 24px; border-top: 1px solid #e6ebf1; margin-bottom: 18px; }
@media(max-width:760px) { .preparation-levels { grid-template-columns: minmax(0,1fr); gap: 24px; } .preparation-comparison h4,.course-topic-heading { font-size: 20px; } }

.preparation-level p strong {
  color: #284261;
  font-weight: 500;
  background: #e8f0ff;
  padding: 1px 3px;
  border-radius: 3px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
