/* Adult learning: practical content with open space and readable topic rows. */
.adults-page .adult-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 24px; margin-block: 24px; }
.adults-page .adult-topics article { display: flex; flex-direction: column; min-width: 0; border-top: 1px solid var(--line); padding-top: 24px; }
.adults-page .adult-topics h3 { margin: 0 0 10px; font-size: 1.22rem; line-height: 1.3; }
.adults-page .adult-topics p { margin: 0 0 12px; }
.adults-page .adult-topics a { margin-top: auto; font-weight: 700; }
.adults-page .adult-language-list { margin-block: 28px; }
.adults-page .adult-language-list > div { display: grid; grid-template-columns: minmax(130px, .32fr) minmax(0, 1fr); gap: 16px 28px; padding-block: 22px; border-top: 1px solid var(--line); }
.adults-page .adult-language-list dt { color: var(--heading); font-weight: 800; font-size: 1.15rem; }
.adults-page .adult-language-list dd { margin: 0; line-height: 1.65; }
.adults-page .adult-lesson-steps { list-style: none; counter-reset: adult-step; margin: 28px 0; padding: 0; }
.adults-page .adult-lesson-steps li { counter-increment: adult-step; position: relative; padding: 0 0 22px 52px; }
.adults-page .adult-lesson-steps li::before { content: counter(adult-step, decimal-leading-zero); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #f3eee4; color: #0b3f51; font-weight: 800; font-variant-numeric: tabular-nums; }
.adults-page .adult-lesson-steps h3 { margin: 0 0 8px; font-size: 1.22rem; }
.adults-page .adult-lesson-steps p { margin: 0; }
.adults-page .adult-format { border-top: 1px solid var(--line); padding-top: 22px; }
.adults-page .adult-format h3 { margin-top: 0; }
/* Cream badges keep their contrast in both themes; the photo shares the lower copy's row. */
.adults-page #how-lessons-work .adult-lesson-footer { display: grid; gap: 20px; margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.adults-page #how-lessons-work .adult-lesson-copy { min-width: 0; }
.adults-page #how-lessons-work .adult-format { margin: 0; padding: 0; border: 0; }
.adults-page #how-lessons-work .adult-format { position: relative; overflow: hidden; padding: 12px 16px; border-radius: 14px; color: #f3efe4; background: #171230 url("assets/loading-pixel-sky.png") center / cover; image-rendering: pixelated; box-shadow: inset 0 0 0 1px #b9a6ff55, 0 0 18px #6f5bd833; }
/* Owner, 29 Oct: the pricing bands' pixel-sky swash, in purple and black. */
.adults-page #how-lessons-work .adult-format::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, #0c0818f0, #23195acc 60%, #0a0716e6); }
.adults-page #how-lessons-work .adult-format > * { position: relative; }
.adults-page #how-lessons-work .adult-format h3 { color: #fff8ea; }
.adults-page #how-lessons-work .adult-format a { color: #c9b8ff; }
.adults-page #how-lessons-work .adult-lesson-copy > p:last-child { margin-bottom: 0; }
.adults-page #how-lessons-work .adult-lesson-photo { min-width: 0; overflow: hidden; border-radius: 16px; }
.adults-page #how-lessons-work .adult-lesson-photo img { display: block; width: 100%; height: auto; max-height: 260px; aspect-ratio: 3 / 2; object-fit: cover; object-position: 65% center; }
@media screen and (min-width: 1000px) {
  .adults-page #how-lessons-work .adult-lesson-footer { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 22px; margin-top: auto; padding-top: 14px; }
  .adults-page #how-lessons-work .adult-lesson-copy > p:nth-last-of-type(3) { margin-bottom: 0; }
  .adults-page #how-lessons-work .adult-lesson-copy > p:nth-last-of-type(-n+2) { display: inline-block; margin: 6px 16px 0 0; vertical-align: middle; }
  /* No intrinsic image height feeds the shared frame's natural-height measurement. */
  .adults-page #how-lessons-work .adult-lesson-photo { position: relative; }
  .adults-page #how-lessons-work .adult-lesson-photo img { position: absolute; inset: 0; height: 100%; max-height: none; aspect-ratio: auto; }
}
@media (max-width: 650px) {
  .adults-page .adult-topics { grid-template-columns: 1fr; gap: 24px; }
  .adults-page .adult-language-list > div { grid-template-columns: 1fr; gap: 10px; }
}

/* Keep the four English goals equal, including inside the shared desktop frame. */
.adults-page #english-for-work .adult-topics--work { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; margin-block: 12px; }
.adults-page #english-for-work .adult-topics--work article { display: grid; grid-template-columns: minmax(0, 1fr) 96px; grid-template-rows: minmax(60px, auto) 1fr; gap: 6px 12px; align-items: start; padding-block: 12px 0; }
.adults-page #english-for-work .adult-goal-art { grid-column: 2; grid-row: 1; display: block; width: 96px; height: 60px; object-fit: contain; border-radius: 10px; }
.adults-page #english-for-work .adult-topics--work h3 { grid-column: 1; grid-row: 1; align-self: center; margin: 0; }
.adults-page #english-for-work .adult-topics--work p { grid-column: 1 / -1; margin: 0; }
.adults-page #english-for-work > :is(.adult-english-tutors, .adult-exam-note) { max-width: none; margin: 10px 0 0; }
@media (max-width: 650px) {
  .adults-page #english-for-work .adult-topics--work { grid-template-columns: 1fr; }
}

/* IELTS panel on the Adults page (owner, 28 Oct 2026: IELTS belongs inside the Adults section). */
#qualifications .ielts-section-head { display: flow-root; }
#qualifications .ielts-art { float: right; width: 200px; height: auto; margin: 0 0 14px 24px; border-radius: 12px; }
#qualifications :is(.ielts-tutors, .ielts-methods) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-block: 16px; }
#qualifications .subject-card { min-width: 0; padding: 16px 18px; border-radius: 16px; }
#qualifications .subject-card h3 { margin: 0 0 6px; font-size: 1.1rem; line-height: 1.3; }
#qualifications .subject-card p { margin: 0; line-height: 1.5; }
#qualifications .ielts-languages { margin-block: 10px 18px; }
#qualifications .ielts-languages h3 { margin: 0 0 12px; font-size: 1.05rem; }
#qualifications .ielts-language-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
#qualifications .ielts-language-chips li { display: flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: .95rem; line-height: 1.4; }
#qualifications .ielts-test-list { display: grid; gap: 10px; margin-block: 16px; }
#qualifications .ielts-test-list article { display: grid; grid-template-columns: 230px minmax(0, 1fr); padding-block: 11px; gap: 8px 20px; align-items: center; }
#qualifications .ielts-test-list h3 { margin: 0; }
#qualifications .ielts-first-session { margin-block: 16px; }
#qualifications .ielts-first-session h3:not(:first-child) { margin-top: 20px; }
#qualifications .ielts-pricing-link { margin-block: 18px; font-weight: 700; }
#qualifications > p:last-child { margin-bottom: 0; }
#qualifications .button { white-space: normal; }
@media (prefers-color-scheme: dark) {
  #qualifications .subject-card {
    --heading: #f5f0e6; --ink: #f5f0e6; --ink-rgb: 245, 240, 230;
    --line: rgba(245, 240, 230, .25); --orange-text: #ffb486;
    background: #204653; color: var(--ink);
  }
}
@media (max-width: 1000px) {
  #qualifications .ielts-art { width: 160px; margin-left: 18px; }
}
@media (max-width: 759px) {
  #qualifications :is(.ielts-tutors, .ielts-methods) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #qualifications .ielts-art { float: none; display: block; width: 160px; margin: 0 0 18px; }
  #qualifications .ielts-test-list article { grid-template-columns: minmax(0, 1fr); }
  #qualifications .ielts-language-chips li { padding-inline: 10px; }
}
@media print {
  #qualifications :is(.subject-card, .ielts-language-chips li) { break-inside: avoid; }
}
#qualifications .ielts-step-title { margin: 6px 0 4px; font-size: 1.15rem; }
#qualifications .ielts-note { margin: 12px 0 0; font-size: .95rem; }
/* The qualifications call to action shares the Previous / Next row, so it never drops below the fold. */
@media (min-width: 1000px) {
  #qualifications > p:last-child { width: max-content; max-width: 52%; margin: -56px 0 0; }
  #qualifications > p:last-child .button { border-color: transparent; background: #f3ece2; color: #0b3f51; }
}
/* Owner, 1 Nov: chip flags are SVG images; the chip gap already spaces them. */
#qualifications .ielts-language-chips .language-flag { margin-right: 0; }

/* Owner phone review, 1 Nov: no separate floated-art band above the lesson. */
@media (max-width: 767px) {
  .adults-page #how-lessons-work > .section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 72px;
    gap: 8px 12px;
    align-items: start;
    margin-bottom: 12px;
  }
  .adults-page #how-lessons-work > .section-head > .framework-panel-art {
    grid-column: 2; grid-row: 2;
    align-self: center;
    float: none; width: 72px; height: 45px; margin: 0;
    object-fit: contain;
  }
  .adults-page #how-lessons-work > .section-head > .eyebrow { grid-column: 1 / -1; grid-row: 1; margin: 0; }
  .adults-page #how-lessons-work > .section-head > h2 { grid-column: 1; grid-row: 2; margin: 0; }
  .adults-page #how-lessons-work > .section-head > p { grid-column: 1 / -1; grid-row: 3; margin: 0; }
  .adults-page #how-lessons-work .adult-lesson-steps { margin: 12px 0; }
  .adults-page #how-lessons-work .adult-lesson-steps li { padding-bottom: 16px; }
  .adults-page #how-lessons-work .adult-lesson-steps li:last-child { padding-bottom: 0; }
  .adults-page #how-lessons-work .adult-lesson-steps h3 { margin-bottom: 6px; }
}
