/* Layout and peach theme only. Typography, cards, teachers, buttons and FAQs
   inherit the same Bootstrap and course.css components as speaking courses. */
.joi-content > .com-content-article:has(.sv-course-page) { max-width: none; }
.sv-course-page { --sv-primary: #FACAB7; --sv-link: #81503b; color: #333; }
.sv-course-page [id] { scroll-margin-top: 110px; }
.sv-course-page a:not(.btn) { color: var(--sv-link); }
.sv-course-page a:focus-visible,
.sv-course-page button:focus-visible,
.sv-course-page [tabindex]:focus-visible { outline: 3px solid var(--sv-link) !important; outline-offset: 4px; }
.sv-course-intro { padding-top: 24px; }
.sv-course-page .sv-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin-bottom: 24px; }
.sv-course-page .sv-breadcrumb a { color: #909090; }
.sv-hero { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; align-items: center; padding-bottom: 64px; }
.sv-hero .title { margin: 8px 0 24px; }
.sv-eyebrow { font-size: 14px; color: #777; margin-bottom: 8px; }
.sv-subtitle { font-size: 20px; line-height: 1.5; margin-bottom: 16px; }
.sv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.sv-course-page .sv-button { max-width: 100%; white-space: normal; border-radius: 15px; font-family: Noto Sans Variable, Noto Sans, Arial, sans-serif; }
.sv-course-page .btn-primary { background: var(--sv-primary); color: #333; }
.sv-course-page .btn-primary:hover { background: #f3b59b; }
.sv-course-page .btn-primary:active,
.sv-course-page .btn-primary:focus { background: #f3b59b; color: #333; border-color: #f3b59b; box-shadow: 0 0 0 .2rem rgb(250 202 183 / 40%); }
.sv-trial-note { font-size: 14px; color: #777; margin: 10px 0 0; }
.sv-visual img { display: block; width: auto; max-width: 100%; max-height: 240px; margin: auto; border-radius: 8px; }
.sv-facts { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 24px 0; }
.sv-fact { gap: 12px; align-items: center; justify-content: flex-start; padding: 0 24px; }
.sv-fact:first-child { border-left: 0; }
.sv-fact > .bx { flex: 0 0 auto; }
.sv-fact > div { min-width: 0; }
.sv-overview { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; margin: 48px 0; }
.sv-goals { line-height: 1.5; }
.sv-goals .goal-item { position: relative; padding-left: 24px; }
.sv-goals .goal-item .bx { position: absolute; left: 0; top: 4px; }
.sv-section { margin: 48px 0; }
.sv-feature-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; align-items: start; }
.sv-feature-title { font-size: 24px; font-weight: 700; line-height: 1.2; font-family: 'Montserrat', sans-serif; margin: 0 0 16px; }
.sv-feature { margin-bottom: 24px; }
.sv-feature:last-child { margin-bottom: 0; }
.sv-feature-layout > img { width: 100%; height: auto; border-radius: 8px; }
.sv-topic-scroll { display: block; overflow-x: auto; margin-top: 16px; }
.sv-topic-table { width: 100%; min-width: 680px; border-collapse: collapse; table-layout: fixed; font-size: 16px; line-height: 1.5; }
.sv-topic-table th, .sv-topic-table td { padding: 12px 16px; vertical-align: middle; text-align: left; border-bottom: 1px solid #dee2e6; }
.sv-topic-table thead { background: #f8f9fa; }
.sv-topic-table th:nth-child(1) { width: 22%; }
.sv-topic-table th:nth-child(2) { width: 48%; }
.sv-topic-table th:nth-child(3) { width: 30%; }
.sv-topic-table tbody tr:last-child td { border-bottom: 0; }
.sv-course-page .teacher-card-body { min-width: 0; }
.sv-qualifications { margin-bottom: 4px; }
.sv-faq > .course-title { margin-bottom: 48px; }
.sv-faq .mk-accordion { width: 83.333333%; margin: auto; }
.sv-faq .questionBox button { position: relative; padding-right: 44px; color: inherit; font: inherit; font-weight: 400; cursor: pointer; }
.sv-faq .questionBox button .bx { position: absolute; right: 16px; top: 20px; font-size: 20px; }
.sv-faq .questionBox button[aria-expanded="true"] { color: #000; }
.sv-faq .questionBox button[aria-expanded="true"] .bx { transform: rotate(180deg); }
.sv-cta { padding: 80px 24px; text-align: center; background: var(--sv-primary); border-radius: 0; margin-bottom: 0; box-shadow: 0 0 0 100vmax var(--sv-primary); clip-path: inset(0 -100vmax); }
.sv-course-page .sv-cta .btn-primary { background: #fff; color: #333; }
.sv-course-page .sv-cta .btn-primary:hover { background: #fff3ed; }
.joi-main:has(.sv-course-page) { padding-bottom: 0; }
.sv-faq .questionBox h5, .sv-faq .answerBox { color: #333; }
.sv-divider { margin: 32px 0; border: 0; border-top: 1px solid rgba(0,0,0,.125); }
.sv-companies { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; align-items: center; padding: 16px 0; }
.sv-companies img { display: block; width: 100%; max-width: 160px; height: 64px; object-fit: contain; margin: auto; filter: grayscale(1); opacity: .6; }
.sv-program { text-align: center; padding: 48px 24px; background: #f8f9fa; box-shadow: 0 0 0 100vmax #f8f9fa; clip-path: inset(0 -100vmax); }
.sv-program .course-muted { max-width: 570px; }
.sv-program > img { display: block; width: 720px; max-width: 100%; height: auto; margin: 32px auto 24px; }
.sv-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sv-story { padding: 24px; margin: 0; }
.sv-story img { border-radius: 50%; object-fit: cover; }
.sv-story figcaption { font-weight: 600; margin: 12px 0; }
.sv-story blockquote { margin: 0; font-size: 16px; line-height: 1.6; }
.lrc-course-page .joi-twide { border: 1px solid #ccc; border-radius: 8px; padding: 16px 20px; box-shadow: 0 2px 6px rgba(0,0,0,.08); background: #fff; }
.lrc-course-page .joi-twide-body { min-width: 0; }
.lrc-course-page .joi-twide-name { color: #333; font-size: 24px; }
.lrc-course-page .joi-tquals { list-style: disc; padding-left: 30px; }
.lrc-course-page .joi-twide-quals-h { font-size: 24px; font-weight: 500; line-height: 1.2; }
.lrc-course-page .joi-twide-comment { background: none; border: 0; padding: 0; color: #444; }
.lrc-course-page .joi-twide-comment ol { padding-left: 24px; }
@media (max-width: 767px) {
  .sv-companies { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .sv-companies img { height: 48px; }
  .sv-stories { grid-template-columns: 1fr; }
  .sv-course-page .sv-cta { margin-bottom: 0; padding: 48px 16px; }
}
.sv-cta p { margin-bottom: 24px; }
@media (max-width: 991px) {
  .sv-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
  .sv-fact:nth-child(3) { border-left: 0; }
  .sv-hero, .sv-overview, .sv-feature-layout { gap: 24px; }
}
@media (max-width: 767px) {
  .sv-course-intro { padding-top: 0; }
  .sv-hero, .sv-overview, .sv-feature-layout { grid-template-columns: 1fr; }
  .sv-hero { padding-bottom: 32px; }
  .sv-feature-layout > img { max-width: 420px; margin: auto; }
  .sv-faq .mk-accordion { width: 100%; }
  .sv-section, .sv-overview { margin: 32px 0; }
}
@media (max-width: 479px) {
  .sv-facts { grid-template-columns: 1fr; padding: 8px 20px; row-gap: 0; }
  .sv-fact { justify-content: flex-start; border-left: 0; border-top: 1px solid #e8eef7; padding: 16px 0; }
  .sv-fact:first-child { border-top: 0; }
  .sv-course-page .teacher-card { padding: 16px; }
}
