/* Batch offer and responsive refinements */
html { scroll-padding-bottom: 110px; }
body { overflow-x: clip; }
main, section, .wrap, .course, .app-copy, .hero-copy { min-width: 0; }
img { max-width: 100%; }
.hero-offer { display: inline-grid; grid-template-columns: 1fr auto; gap: 7px 20px; margin-top: 25px; padding: 15px 19px; border: 1px solid #bdcb97; border-radius: 9px; background: #ecf1d9; text-align: left; }
.hero-offer > span:first-child { font-size: 9px; font-weight: 650; letter-spacing: 1.3px; }
.hero-offer strong { font-size: 23px; letter-spacing: -.7px; grid-row: 2; }
.hero-offer-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 27px; }
.hero-offer:hover { background: #e2ecc3; }
.hero-note { margin-top: 20px; }
.batch-section { padding-top: 80px; padding-bottom: 35px; }
.batch-panel { display: grid; grid-template-columns: 1.4fr 1fr; border: 1px solid #c8d3b4; border-radius: 18px; overflow: hidden; background: #f0f2e4; }
.batch-main { padding: 36px; }
.batch-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; }
.batch-label { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; }
.batch-mode { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #c4d2ab; border-radius: 30px; font-size: 10px; white-space: nowrap; }
.batch-mode > span { color: #6f8741; }
.batch-main h3 { font-size: 69px; font-weight: 500; letter-spacing: -4px; margin: 22px 0 12px; line-height: 1.15; }
.batch-main h3 > span { font: italic 54px Georgia, serif; color: #8da052; padding: 0 5px; }
.batch-intro { font-size: 13px; max-width: 440px; }
.batch-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 27px 0 23px; }
.batch-facts > div { padding: 15px 0; border-top: 1px solid #d3dcc3; min-width: 0; }
.batch-facts dt { font-size: 10px; color: #6b7a5f; margin-bottom: 7px; }
.batch-facts dd { font-size: 12px; font-weight: 600; line-height: 1.5; margin: 0; }
.batch-includes h4 { font-size: 12px; font-weight: 650; margin: 0 0 13px; }
.batch-includes ul { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 20px; list-style: none; margin: 0; padding: 0; }
.batch-includes li { font-size: 11px; line-height: 1.6; padding-left: 17px; position: relative; }
.batch-includes li::before { content: '✓'; color: #718543; position: absolute; left: 0; }
.batch-price { background: var(--green); color: var(--cream); padding: 43px 33px; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.batch-price > .eyebrow { font-size: 9px; letter-spacing: 1.2px; color: #c9dab0; }
.price-amount { font-family: Manrope, Arial, sans-serif; color: var(--lime); font-size: clamp(38px, 4.6vw, 62px); font-weight: 500; letter-spacing: -3px; line-height: 1.15; margin-top: 18px; white-space: nowrap; }
.price-amount > span { font-size: 27px; letter-spacing: -1px; margin-left: 3px; }
.price-subtitle { color: #c6d5b9; font-size: 12px; margin-top: 12px; }
.price-rule { height: 1px; background: #5f8056; opacity: .65; margin: 30px 0; }
.price-path { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 32px; }
.price-path > span { font: 32px Georgia, serif; }
.price-path small { font: 10px 'DM Sans', Arial, sans-serif; color: #b7cba6; display: block; margin-top: 7px; }
.price-path i { font-style: normal; font-size: 24px; color: #bdd489; }
.batch-enquiry { width: 100%; font-size: 12px; gap: 12px; justify-content: space-between; }
.price-secondary { text-align: center; font-size: 11px; padding: 17px 0; }
.batch-note { font-size: 10px; color: #b5c6a6; line-height: 1.75; margin-top: 8px; }
.course-bundle { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 13px 0; border-top: 1px solid #a2b08d55; font-size: 11px; }
.course-bundle > span { max-width: 145px; line-height: 1.6; }
.course-bundle > strong { white-space: nowrap; font-size: 15px; font-weight: 550; }
.course-bundle > strong > span { margin-left: 4px; }
.course-a1 .course-bundle { color: var(--lime); }
.dialog-batch { background: #e6edcf; border: 1px solid #c3d0a9; border-radius: 9px; padding: 17px; margin: 20px 0; }
.dialog-batch > span { display: block; font-size: 10px; letter-spacing: 1px; }
.dialog-batch strong { display: block; font-size: 28px; margin: 8px 0; letter-spacing: -.8px; }
.dialog-batch p { font-size: 12px; }
.mobile-batch-bar { display: none; }
dialog { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
.dialog-close { width: 44px; height: 44px; top: 5px; right: 5px; }
@media (max-width: 1100px) and (min-width: 801px) {
  .hero h1 { font-size: clamp(45px, 5.4vw, 59px); letter-spacing: -3px; }
  .batch-panel { grid-template-columns: 1.25fr 1fr; }
  .batch-main { padding: 29px; }
  .batch-price { padding: 32px 24px; }
  .batch-includes ul { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .header { gap: 16px; }
  .header nav { display: none; position: absolute; left: 16px; right: 16px; top: calc(100% - 1px); background: var(--cream); padding: 18px; border: 1px solid #ced8bd; border-radius: 12px; box-shadow: 0 15px 25px #123c2c20; }
  .header nav.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; font-size: 15px; }
  .header nav a { display: flex; align-items: center; min-height: 48px; padding: 9px 12px; border-radius: 6px; }
  .header nav a:hover { background: #e8edd9; }
  .header-cta { margin-left: auto; }
  .menu { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #d4dcc8; border-radius: 8px; background: none; font-size: 24px; }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 92px; -webkit-text-size-adjust: 100%; }
  body { padding-bottom: calc(85px + env(safe-area-inset-bottom, 0px)); }
  .header { position: sticky; top: 0; height: 76px; z-index: 20; border-bottom: 1px solid #dce3d0; padding-top: 8px; padding-bottom: 8px; }
  .hero { padding-top: 28px; min-height: 0; }
  .hero h1 { font-size: clamp(42px, 9vw, 68px); letter-spacing: -2.5px; }
  .hero-copy > p { font-size: 15px; line-height: 1.75; max-width: 440px; }
  .hero-offer { margin-top: 22px; }
  .hero-offer > span:first-child { font-size: 10px; }
  .hero-note { font-size: 12px; }
  .hero-actions { flex-wrap: wrap; gap: 12px 24px; }
  .hero-actions .button { font-size: 14px; min-height: 50px; }
  .hero-actions .text-link { font-size: 14px; min-height: 44px; }
  .hero-art { overflow: clip; }
  .hello-card { left: 5px; }
  .word-card { right: 5px; }
  .hero-art .orb-one { width: 65%; left: 24%; }
  .hero-art .orb-two { width: 60%; left: 12%; }
  .button { min-height: 48px; font-size: 14px; }
  .section-top > p, .value p, .values-four .value p, .course p, .app-copy > p, .world-card p, .method-grid p, .classroom-copy p, .faq-list p, .practice-grid > div:first-child > p { font-size: 14px; line-height: 1.75; }
  .eyebrow { font-size: 10px; }
  .section-top { margin-bottom: 28px; }
  .batch-section { padding-top: 55px; padding-bottom: 15px; }
  .batch-panel { grid-template-columns: 1fr; }
  .batch-main { padding: 30px; }
  .batch-price { padding: 32px; }
  .batch-main h3 { font-size: 61px; }
  .batch-intro { font-size: 14px; max-width: none; }
  .batch-facts dt { font-size: 12px; }
  .batch-facts dd { font-size: 14px; }
  .batch-includes h4 { font-size: 15px; }
  .batch-includes li { font-size: 13px; }
  .batch-price > .eyebrow { font-size: 10px; }
  .price-amount { font-size: 59px; }
  .price-subtitle { font-size: 14px; }
  .price-path { max-width: 390px; width: 100%; margin-left: auto; margin-right: auto; }
  .price-path small { font-size: 12px; }
  .batch-enquiry { font-size: 14px; min-height: 52px; }
  .price-secondary { font-size: 13px; min-height: 48px; display: grid; place-items: center; }
  .batch-note { font-size: 12px; }
  .course-grid { grid-template-columns: 1fr; gap: 20px; }
  .course-top { font-size: 10px; gap: 12px; }
  .pill { font-size: 9px; }
  .course-tags span { font-size: 11px; padding: 9px; }
  .course-button { font-size: 15px; min-height: 54px; }
  .course-bundle { font-size: 13px; min-height: 64px; }
  .course-bundle > strong { font-size: 18px; }
  .course-helper { flex-wrap: wrap; font-size: 13px; gap: 8px 16px; }
  .course-helper .text-link { font-size: 13px; min-height: 44px; }
  .course-links { font-size: 12px; line-height: 1.8; }
  .course-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .combined-paths { display: block; }
  .combined-paths p { font-size: 14px; }
  .path-chips { grid-template-columns: 1fr 1fr; margin-top: 20px; }
  .path-chips a { font-size: 13px; min-height: 48px; display: flex; align-items: center; padding: 12px; }
  .quiz { transform: none; }
  .quiz-heading { font-size: 9px; gap: 12px; line-height: 1.6; }
  .quiz p.quiz-label { font-size: 10px; }
  .quiz-options button { font-size: 13px; min-height: 48px; padding: 12px 8px; }
  .quiz-feedback { font-size: 13px; min-height: 42px; }
  .quiz .button { font-size: 13px; min-height: 44px; }
  .app-tabs button { min-height: 56px; font-size: 12px; }
  .app-tabs button span { font-size: 14px; }
  .app-actions > .text-link { min-height: 44px; font-size: 13px; }
  .app-disclaimer { font-size: 11px; line-height: 1.6; }
  .faq-list summary { font-size: 14px; line-height: 1.55; min-height: 58px; }
  .faq-list summary span { flex-shrink: 0; }
  .faq-cta { min-height: 44px; font-size: 13px; }
  .closing-description { font-size: 14px; }
  .closing-actions .text-link { font-size: 13px; min-height: 44px; }
  .footer-top > div { flex-wrap: wrap; gap: 8px 22px; }
  .footer-top > div > a, .back-top { min-height: 44px; font-size: 12px; display: inline-flex; align-items: center; }
  .footer-top p { font-size: 12px; }
  .footer-bottom { font-size: 10px; gap: 15px; line-height: 1.7; flex-wrap: wrap; }
  .mobile-batch-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 25; padding: 12px max(20px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px)); background: #123c2c; color: var(--cream); box-shadow: 0 -5px 24px #123c2c20; }
  .mobile-batch-price { display: flex; flex-direction: column; gap: 5px; min-height: 44px; justify-content: center; }
  .mobile-batch-price > span { font-size: 9px; letter-spacing: 1px; }
  .mobile-batch-price strong { font-size: 23px; font-weight: 600; line-height: 1.1; }
  .mobile-batch-bar .button { padding: 12px 17px; min-height: 48px; gap: 14px; font-size: 13px; }
  body:has(dialog[open]) .mobile-batch-bar { visibility: hidden; pointer-events: none; }
  dialog { width: calc(100% - 24px); max-height: calc(100dvh - 32px - env(safe-area-inset-bottom, 0px)); padding: 40px 25px 25px; }
  dialog p, dialog li { font-size: 14px; }
  .path-options button { min-height: 52px; font-size: 14px; line-height: 1.6; }
}
@media (max-width: 520px) {
  .wrap { padding-left: 20px; padding-right: 20px; }
  .header { padding-left: 16px; padding-right: 16px; }
  .header-cta { display: none; }
  .menu { margin-left: auto; }
  .hero h1 { font-size: clamp(42px, 11vw, 57px); letter-spacing: -2px; }
  .hero h1 .asterisk { font-size: 45px; margin-left: 16px; }
  .hero-copy .eyebrow { font-size: 9px; flex-wrap: wrap; letter-spacing: 1px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .text-link { align-self: center; }
  .hero-offer { display: grid; }
  .hero-art { height: 468px; max-width: 100%; }
  .hero-art .phone { top: 26px; }
  .hero-art .hello-card { top: 140px; }
  .hero-art .word-card { bottom: 65px; }
  .batch-section h2 { font-size: clamp(29px, 8vw, 38px); }
  .batch-main { padding: 24px; }
  .batch-main h3 { font-size: 58px; }
  .batch-heading-row { gap: 13px; }
  .batch-label { font-size: 8px; line-height: 1.6; }
  .batch-facts { gap: 0 16px; }
  .batch-price { padding: 30px 24px; }
  .price-amount { font-size: clamp(42px, 12.4vw, 57px); letter-spacing: -2px; }
  .price-amount > span { font-size: 23px; }
  .batch-includes ul { grid-template-columns: 1fr; }
  .course { padding-left: 23px; padding-right: 23px; }
  .course-level { font-size: 70px; }
  .course-level > span { font-size: 19px; max-width: 155px; text-align: right; }
  .course-top > span:last-child { text-align: right; }
  .app-actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .app-actions > .text-link { justify-content: center; }
  .quiz-options { grid-template-columns: 1fr; }
  .quiz-options button { text-align: left; padding-left: 16px; }
  .quiz-heading { font-size: 8px; }
  .world-card .eyebrow { font-size: 10px; }
  .method-grid { grid-template-columns: 1fr; gap: 24px; }
  .method-grid article > span { font-size: 10px; }
  .method-grid h3 { font-size: 19px; }
  .footer-top .brand { flex-basis: auto; }
  .footer-top > p { margin-left: 0; }
  .footer-top > div { flex-basis: 100%; }
  .closing { margin-left: 12px; margin-right: 12px; }
  .closing .button { font-size: 14px; width: 100%; }
  .closing-actions { align-items: stretch; }
  .closing-actions .text-link { justify-content: center; }
}
@media (max-width: 380px) {
  .batch-facts { grid-template-columns: 1fr; }
  .path-chips { grid-template-columns: 1fr; }
  .course-bundle { flex-wrap: wrap; gap: 4px; }
  .course-bundle > span { max-width: none; width: 100%; }
  .mobile-batch-bar { padding-left: 14px; padding-right: 14px; gap: 10px; }
  .mobile-batch-bar .button { padding: 11px 13px; gap: 10px; font-size: 12px; }
  .mobile-batch-price strong { font-size: 21px; }
  .batch-mode { font-size: 11px; }
}
@media (hover: none) { .button:hover { transform: none; box-shadow: none; } }
@media (prefers-reduced-motion: reduce) { .hero-art .phone, .floating-card, .marquee > div, .asterisk { animation: none; } }
/* Single-level batch pricing */
.single-course-price { margin: 0 0 18px; padding: 19px 0 0; border-top: 1px solid #a2b08d55; display: flex; justify-content: space-between; align-items: center; gap: 15px; flex-wrap: wrap; }
.single-course-price > span { font-size: 9px; letter-spacing: 1px; font-weight: 600; }
.single-course-price > strong { font: 500 32px/1.2 Manrope, Arial, sans-serif; letter-spacing: -1px; white-space: nowrap; }
.single-course-price > strong > span { font-size: 19px; margin-left: 2px; }
.course-a1 .single-course-price > strong, .course-b2 .single-course-price > strong { color: var(--lime); }
.dialog-single-price { padding: 16px 0 19px; margin-bottom: 17px; border-top: 1px solid #cbd6ba; border-bottom: 1px solid #cbd6ba; }
.dialog-single-price > span { display: block; font-size: 10px; letter-spacing: 1.2px; }
.dialog-single-price > strong { display: block; font: 550 35px/1.3 Manrope, Arial, sans-serif; margin-top: 7px; letter-spacing: -1px; }
.dialog-combined { margin-top: 25px; }
.dialog-combined .text-link { margin-top: 12px; min-height: 44px; font-size: 12px; line-height: 1.6; }
@media (max-width: 800px) {
  .single-course-price { padding-top: 20px; margin-bottom: 20px; }
  .single-course-price > span { font-size: 10px; }
  .single-course-price > strong { font-size: 32px; }
  .dialog-combined .text-link { font-size: 13px; }
}
@media (max-width: 380px) {
  .single-course-price { flex-direction: column; align-items: flex-start; gap: 10px; }
}
