/* IELTS visual refresh: compact photographic hero and coherent section headings. */
#feedback-loop {
  min-height: 520px;
  background: #f5f0e7 !important;
  scroll-margin-top: 115px;
}
#feedback-loop .feedback-photo {
  filter: saturate(1.05) contrast(.95) brightness(1.03) !important;
  opacity: 1 !important;
}
#feedback-loop .feedback-shade {
  background: linear-gradient(90deg, rgba(250,246,238,.94) 0%, rgba(250,246,238,.87) 31%, rgba(250,246,238,.38) 59%, rgba(250,246,238,.34) 100%) !important;
}
#feedback-loop .feedback-copy::before { display: none; }
#feedback-loop .feedback-content {
  padding-top: 42px;
  padding-bottom: 40px;
  gap: 30px 44px;
}
#feedback-loop .feedback-copy h2 {
  font-size: clamp(2.5rem, 4vw, 4.1rem);
  line-height: 1.02;
  margin-bottom: 14px;
}
#feedback-loop .feedback-lead { margin-bottom: 18px; font-size: 1rem; max-width: 540px; }
#feedback-loop .feedback-sequence { padding: 13px 0; }
#feedback-loop .feedback-sequence > div small { color: #344b60 !important; font-size: .7rem; line-height: 1.45; }
#feedback-loop .feedback-principle { margin-top: 13px; }
#feedback-loop .performance-margin { padding: 20px; border-radius: 12px; }
#feedback-loop .margin-label { margin-bottom: 12px; }
#feedback-loop .margin-score strong { font-size: 2.8rem; }
#feedback-loop .performance-margin h3 { margin-top: 12px; }
#feedback-loop .margin-meter { margin-top: 14px; }
#feedback-loop .feedback-to-student-area {
  margin-top: 0;
  padding: 10px 14px !important;
  background: #faf6eeeb !important;
}
@media (max-width: 950px) {
  #feedback-loop { min-height: 0; }
  #feedback-loop .feedback-shade { background: rgba(250,246,238,.8) !important; }
  #feedback-loop .feedback-content { gap: 24px; }
}
@media (max-width: 560px) {
  #feedback-loop .feedback-content { padding-top: 34px; padding-bottom: 34px; }
  #feedback-loop .feedback-copy h2 { font-size: 2.55rem; }
}
#performance-control { background: #fff !important; padding: 44px 0; scroll-margin-top: 115px; }
#performance-control::before { display: none; }
#performance-control .control-intro { display: block; margin-bottom: 26px; }
#performance-control .control-intro h2 { font-size: clamp(1.8rem, 2.7vw, 2.4rem); line-height: 1.15; color: #102c55 !important; letter-spacing: -.025em; }
#performance-control .control-intro .ielts-kicker { margin-bottom: 12px; color: #b4141d !important; }
#performance-control .control-intro > div:last-child { max-width: 850px; margin-top: 14px; }
#performance-control .control-intro .control-lead { font-size: 1rem !important; font-weight: 500; color: #344b65 !important; margin-bottom: 5px; }
#performance-control .control-intro p { font-size: .92rem; }
#performance-control .control-console { color: #f3f6fa; border-radius: 12px; box-shadow: 0 12px 35px #102c5514 !important; }
#performance-control .console-id b,
#performance-control .criterion-row > div b,
#performance-control .criterion-row > strong,
#performance-control .deep-alert strong { color: #f3f6fa; }
#performance-control .console-toolbar { min-height: 64px; padding: 12px 20px; box-sizing: border-box; }
#performance-control .console-id { flex-wrap: wrap; }
#performance-control .console-id b { font-size: .72rem; letter-spacing: .04em; }
#performance-control .console-id small { font-size: .62rem; color: #b5c5d7; font-weight: 500; }
#performance-control .console-target { font-size: .66rem; color: #bfccda; }
#performance-control .console-state { font-size: .62rem; letter-spacing: .03em; }
#performance-control .console-state button { font-size: .72rem; padding: 8px 11px; border-color: #8093aa; font-weight: 500; white-space: nowrap; }
#performance-control .console-state button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
#performance-control .console-main { grid-template-columns: 1.25fr 1fr; }
#performance-control .criteria-bank { padding: 20px; }
#performance-control .criteria-head { color: #bac9d9; font-size: .62rem; font-weight: 500; letter-spacing: .05em; }
#performance-control .criterion-row { grid-template-columns: minmax(185px,1.5fr) minmax(35px,1fr) 65px 32px; gap: 10px; min-height: 60px; }
#performance-control .criterion-row > div b { font-size: .83rem; line-height: 1.4; font-weight: 500; }
#performance-control .criterion-row > div span { color: #c3cfdd; font-size: .62rem; flex-shrink: 0; font-weight: 500; }
#performance-control .criterion-row > small { font-size: .6rem; color: #b4c4d6; font-weight: 500; letter-spacing: 0; }
#performance-control .criterion-row.is-checked > small { color: #9cdbb4; }
#performance-control .criterion-row.is-limiting > small,
#performance-control .criterion-row.is-limiting > strong { color: #ffa5a9; }
#performance-control .deep-diagnostic { padding: 20px; }
#performance-control .deep-top span, #performance-control .deep-top b { font-size: .63rem; color: #bdcddd; font-weight: 500; letter-spacing: .03em; }
#performance-control .deep-empty { color: #b8c8da; }
#performance-control .deep-empty p { font-size: .85rem; }
#performance-control .deep-alert { padding: 12px; margin-bottom: 12px; border-radius: 0 6px 6px 0; }
#performance-control .deep-alert span { font-size: .62rem; color: #ffa5a9; font-weight: 500; }
#performance-control .deep-alert strong { display: block; font-size: 1.25rem; margin-top: 5px; }
#performance-control .micro-gauge { grid-template-columns: 1fr 65px 90px; font-size: .78rem; padding: 10px 0; }
#performance-control .micro-gauge > span { color: #dde6f0; }
#performance-control .micro-gauge b { font-size: .59rem; color: #c0cedd; font-weight: 500; }
#performance-control .micro-gauge.risk b { color: #ffa5a9; }
#performance-control .teacher-decision { padding: 20px; grid-template-columns: 42px 1fr; gap: 14px; }
#performance-control .teacher-decision span { font-size: .62rem; color: #c0cfdf; font-weight: 500; }
#performance-control .teacher-decision strong { font-size: .94rem; line-height: 1.45; margin: 4px 0; }
#performance-control .teacher-decision p { color: #bdccdd; font-size: .8rem; line-height: 1.5; }
#performance-control .next-checkpoint { grid-column: 2; text-align: left; display: flex; flex-wrap: wrap; gap: 8px; }
#performance-control .next-checkpoint b { font-size: .66rem; font-weight: 500; }
#performance-control .action-plan > div, #performance-control .action-plan > a { padding: 16px; gap: 7px; }
#performance-control .action-plan span { font-size: .62rem; color: #bdccdd; font-weight: 500; }
#performance-control .action-plan b { color: #fff; font-size: .78rem; line-height: 1.45; font-weight: 500; }
#performance-control .action-plan > a { background: #b4141d; }
#performance-control .action-plan > a span { color: #fff; }
#performance-control .student-panel-preview { display: block; border: 0; border-radius: 0; padding: 0; margin-top: 18px; background: transparent; }
#performance-control .student-panel-preview > span { display: block; font-size: .62rem; font-weight: 600; margin-bottom: 6px; color: #526174; }
#performance-control .student-panel-preview p { font-size: .82rem; max-width: 900px; }
@media (max-width: 1050px) {
  #performance-control .console-main { grid-template-columns: 1fr; }
  #performance-control .criteria-bank { border-right: 0; border-bottom: 1px solid #ffffff25; }
  #performance-control .console-toolbar { grid-template-columns: 1fr auto; }
  #performance-control .console-target { display: none; }
}
@media (max-width: 560px) {
  #performance-control .console-toolbar, #performance-control .criteria-bank, #performance-control .deep-diagnostic { padding: 14px; }
  #performance-control .criterion-row { grid-template-columns: minmax(150px,1.5fr) minmax(25px,1fr) 30px; gap: 7px; padding: 6px 0; }
  #performance-control .criterion-row > small { display: none; }
  #performance-control .criterion-row > div { gap: 6px; }
  #performance-control .criterion-row > div b { font-size: .76rem; }
  #performance-control .console-state > span { display: none; }
  #performance-control .console-state button::after { content: none; }
  #performance-control .teacher-decision p { display: block; }
  #performance-control .micro-gauge { grid-template-columns: 1fr 45px 88px; gap: 6px; }
}
#individual-ielts { background: #eef2f6; padding: 42px 0; scroll-margin-top: 115px; }
#individual-ielts::before { display: none; }
#individual-ielts .individual-intro { display: block; margin-bottom: 24px; }
#individual-ielts .individual-intro h2 {
  font-size: clamp(1.8rem, 2.7vw, 2.4rem);
  line-height: 1.15;
  max-width: none;
  color: #102c55;
}
#individual-ielts .individual-intro > p { margin-top: 12px; font-size: .95rem; }
#individual-ielts .diagnostic-stage { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
#individual-ielts .diagnostic-status { padding: 0 0 16px; height: auto; min-height: 32px; border: 0; background: transparent; }
#individual-ielts .example-label { font-size: .75rem; letter-spacing: 0; color: #526174; }
#individual-ielts .diagnostic-status [data-status] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#individual-ielts .status-dot, #individual-ielts .status-line { display: none; }
#individual-ielts .replay-analysis { margin-left: auto; font-size: .75rem; font-weight: 600; padding: 8px 12px; border: 1px solid #c9d3df; border-radius: 999px; background: #fff; }
#individual-ielts .replay-analysis:focus-visible { outline: 3px solid #102c55; outline-offset: 3px; }
#individual-ielts .candidate-grid { padding: 0; grid-template-columns: 1fr 130px 1fr; }
#individual-ielts .candidate-panel { border: 1px solid #dce2e9; border-top: 3px solid #102c55; border-radius: 12px; }
#individual-ielts .candidate-panel header { padding: 18px 22px; background: #f7f8fa; }
#individual-ielts .candidate-panel header b { font-family: "Playfair Display", Georgia, serif; font-size: 1.3rem; color: #102c55; font-weight: 500; }
#individual-ielts .overall small { font-size: .6rem; font-weight: 500; margin-bottom: 4px; }
#individual-ielts .component-profile { padding: 10px 22px; }
#individual-ielts .skill-row { padding: 10px 0; font-size: .8rem; }
#individual-ielts .skill-row strong { font-size: .85rem; }
#individual-ielts .skill-row i { height: 7px; }
#individual-ielts .skill-row.weak i em, #individual-ielts .skill-row.weak-secondary i em { background: #102c55; }
#individual-ielts .skill-row.weak strong, #individual-ielts .skill-row.weak-secondary strong { color: #17263b; }
#individual-ielts .is-priority .skill-row.weak i em, #individual-ielts .is-priority .skill-row.weak-secondary i em { background: #d71920; }
#individual-ielts .is-priority .skill-row.weak strong, #individual-ielts .is-priority .skill-row.weak-secondary strong { color: #b4141d; }
#individual-ielts .priority-result { margin: 4px 22px 20px; padding: 12px 14px; border-radius: 0 8px 8px 0; background: #fff3f3; }
#individual-ielts .priority-result small { font-size: .58rem; font-weight: 600; }
#individual-ielts .priority-result strong { font-size: 1.2rem; color: #102c55; margin: 5px 0; }
#individual-ielts .priority-result p { font-size: .78rem; line-height: 1.5; color: #526174; }
#individual-ielts .same-score > b { font-size: 1.35rem; color: #102c55; }
#individual-ielts .same-score > span, #individual-ielts .same-score > small { font-size: .56rem; letter-spacing: .04em; font-weight: 500; color: #526174; }
#individual-ielts .same-score > b em { text-decoration: none; color: #78899c; }
#individual-ielts .diagnostic-payoff { margin-top: 24px; padding: 18px 0 0; background: transparent; border-top: 1px solid #d5dde7; color: #102c55; }
#individual-ielts .diagnostic-payoff h3 { font-size: 1.55rem; margin: 0; }
#individual-ielts .diagnostic-payoff p { color: #526174; font-size: .85rem; margin: 8px 0 0; }
@media (max-width: 900px) {
  #individual-ielts .candidate-grid { grid-template-columns: 1fr; gap: 16px; }
  #individual-ielts .same-score { padding: 0; }
}
#prepare-your-way .modality-grid {
  gap: 16px;
  border: 0;
}
#prepare-your-way .modality-grid > a {
  position: relative;
  box-sizing: border-box;
  padding: 24px 20px 20px;
  min-height: 280px;
  border: 1px solid #dce2e9;
  border-top: 3px solid #102c55;
  border-radius: 12px;
  background: #f7f8fa;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
#prepare-your-way .modality-grid > a > span {
  color: #65758a;
  font-size: .62rem;
  letter-spacing: .09em;
}
#prepare-your-way .modality-grid h3 {
  font-size: 1.4rem;
  line-height: 1.15;
  min-height: 3.22rem;
  margin: 18px 0 10px;
  color: #102c55;
}
#prepare-your-way .modality-grid > a > b {
  color: #52647a;
  font-size: .72rem;
  font-weight: 500;
}
#prepare-your-way .modality-grid > a > p {
  font-size: .85rem;
  line-height: 1.55;
  margin: 16px 0 22px;
  color: #526174;
}
#prepare-your-way .modality-grid > a > strong {
  display: block;
  padding-top: 15px;
  border-top: 1px solid #dfe4eb;
  font-size: .76rem;
  font-weight: 600;
}
#prepare-your-way .modality-grid > a:hover {
  background: #fff;
  border-color: #9eacbd;
  border-top-color: #d71920;
  box-shadow: 0 8px 24px #102c5510;
}
#prepare-your-way .modality-grid > a:focus-visible {
  outline: 3px solid #102c55;
  outline-offset: 4px;
}
@media (max-width: 560px) {
  #prepare-your-way .modality-grid > a { min-height: 0; }
  #prepare-your-way .modality-grid h3 { min-height: 0; margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #prepare-your-way .modality-grid > a { transition: none; }
}
#prepare-your-way {
  scroll-margin-top: 115px;
  padding: 38px 0 48px !important;
}
#prepare-your-way .ielts-section-head {
  display: block !important;
  max-width: none;
  margin: 0 0 26px;
}
#prepare-your-way .ielts-section-head .ielts-kicker {
  margin: 0 0 10px;
}
#prepare-your-way .ielts-section-head h2 {
  font-size: clamp(1.8rem, 2.7vw, 2.4rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em;
  margin: 0;
  max-width: none;
}
#prepare-your-way .ielts-section-head > p:not(.ielts-kicker) {
  margin: 12px 0 0 !important;
  font-size: .95rem;
  line-height: 1.5;
  max-width: 680px;
}
.ielts-hero.ielts-hero-compact {
  background: #102c55 !important;
  padding: 48px 0 !important;
  border-bottom: 1px solid #dfe3e8;
}
.ielts-hero-compact .hero-study-photo {
  background-image: url('/assets/images/ielts/ielts-hero-study-ielts-screen.png');
  filter: saturate(.9) contrast(1.05) brightness(.9);
  background-position: center 54%;
}
.ielts-hero-compact .hero-study-wash {
  background: linear-gradient(90deg, rgba(10,28,49,.91), rgba(10,28,49,.70) 43%, rgba(10,28,49,.12) 78%, rgba(10,28,49,.16));
}
.ielts-hero-compact .ielts-hero-copy h1,
.ielts-hero-compact .ielts-hero-copy h1 span { color: #fff !important; }
.ielts-hero-compact .ielts-hero-copy .ielts-lead {
  color: #d6dee8 !important;
  font-weight: 400;
  text-shadow: none;
}
.ielts-hero-compact .ielts-kicker { color: #ffb5b8 !important; }
.ielts-hero-compact .ielts-hero-grid {
  min-height: 0 !important;
  grid-template-columns: 1.2fr 0.8fr !important;
  gap: 48px !important;
}
.ielts-hero-compact .ielts-kicker { margin-bottom: 12px; }
.ielts-hero-compact .ielts-hero-copy h1 {
  font-size: clamp(2.5rem, 3.6vw, 3.6rem) !important;
  line-height: 1 !important;
  letter-spacing: -.035em;
}
.ielts-hero-compact .ielts-hero-copy h1 span { color: #fff !important; }
.ielts-hero-compact .ielts-lead {
  max-width: 590px;
  font-size: 1rem;
  line-height: 1.55;
  margin: 14px 0 0;
}
.ielts-hero-compact .ielts-tags { margin-top: 14px; gap: 6px; }
.ielts-hero-compact .ielts-tags span {
  border-color: #ffffff66;
  color: #fff;
  background: #10243ce6;
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 5px 11px;
}
.ielts-hero-compact .ielts-actions { margin-top: 17px; flex-wrap: wrap; }
.ielts-hero-compact .ielts-actions a:not(.ielts-primary) {
  color: #fff;
  text-underline-offset: 4px;
}
.ielts-hero-compact .ielts-actions a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 5px;
}
.ielts-hero-compact .ielts-actions .ielts-test-pill {
  display: inline-block;
  padding: 11px 16px;
  border: 1px solid #ffffff99;
  border-radius: 999px;
  background: #10243ce6;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}
.ielts-hero-compact .ielts-actions .ielts-test-pill:hover {
  background: #243f60;
  border-color: #fff;
}
.ielts-hero-compact .score-console {
  width: 100%;
  box-sizing: border-box;
  max-width: 380px !important;
  padding: 20px !important;
  border-radius: 12px;
  box-shadow: 0 8px 24px #102c5509 !important;
}
.ielts-hero-compact .console-top { padding-bottom: 12px; }
.ielts-hero-compact .score-row { padding-top: 9px; padding-bottom: 9px; }
.ielts-hero-compact .console-analysis { padding: 12px 0; }
@media (max-width: 760px) {
  .ielts-hero-compact .hero-study-wash { background: rgba(10,28,49,.72); }
  .ielts-hero.ielts-hero-compact { padding: 54px 0 !important; }
  .ielts-hero-compact .ielts-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .ielts-hero-compact .ielts-hero-copy h1 { font-size: clamp(2.5rem, 8vw, 3.2rem) !important; }
  .ielts-hero-compact .score-console { max-width: none !important; margin: 0 !important; }
  .ielts-hero-compact .ielts-actions { flex-direction: row; align-items: center; gap: 16px; }
}

/* Light performance panel; animation classes and timing remain unchanged. */
#performance-control .control-console { background: #fff; color: #17263b; }
#performance-control .console-toolbar { background: #102c55; }
#performance-control .criteria-bank { background: #fff; border-color: #dce3eb; }
#performance-control .criteria-head { color: #52647a; }
#performance-control .criterion-row { border-color: #e5eaf0; }
#performance-control .criterion-row > div b,
#performance-control .criterion-row > strong { color: #102c55; }
#performance-control .criterion-row > div span { color: #52647a; border-color: #cdd7e2; background: #f3f6f9; }
#performance-control .criterion-row > small { color: #52647a; }
#performance-control .criterion-row > i { background: #e8edf3; }
#performance-control .criterion-row > i em { background: #274f7c; }
#performance-control .criterion-row.is-checked > small { color: #2b6b4b; }
#performance-control .criterion-row.is-checked > div span { color: #2b6b4b; border-color: #b5d1c2; background: #f1f7f3; }
#performance-control .criterion-row.is-limiting { background: #fff0f1; }
#performance-control .criterion-row.is-limiting > small,
#performance-control .criterion-row.is-limiting > strong,
#performance-control .criterion-row.is-limiting > div span { color: #b4141d; }
#performance-control .criterion-row.is-limiting > div span { border-color: #e6b5ba; background: #fff6f6; }
#performance-control .criterion-row.is-limiting > i em { background: #d71920; }
#performance-control .deep-diagnostic { background: #f3f6fa; }
#performance-control .deep-top { border-color: #dce3eb; }
#performance-control .deep-top span, #performance-control .deep-top b { color: #52647a; }
#performance-control .deep-empty { color: #52647a; }
#performance-control .deep-empty span { color: #102c55; opacity: .35; }
#performance-control .deep-alert { background: #fff0f1; }
#performance-control .deep-alert span { color: #b4141d; }
#performance-control .deep-alert strong { color: #102c55; }
#performance-control .micro-gauge { border-color: #dce3eb; }
#performance-control .micro-gauge > span { color: #344b65; }
#performance-control .micro-gauge b { color: #52647a; }
#performance-control .micro-gauge i { background: #dfe6ef; }
#performance-control .micro-gauge i em { background: #52759c; }
#performance-control .micro-gauge.risk b { color: #b4141d; }
#performance-control .micro-gauge.risk i em { background: #d71920; }
#performance-control .teacher-decision { background: #eaf1f8; border-color: #d5e0eb; }
#performance-control .teacher-avatar { background: #102c55; color: #fff; }
#performance-control .teacher-decision span { color: #52647a; }
#performance-control .teacher-decision strong { color: #102c55 !important; }
#performance-control .teacher-decision p { color: #405873; }
#performance-control .next-checkpoint b { color: #a91823; }
#performance-control .action-plan { border-color: #dce3eb; background: #fff; }
#performance-control .action-plan > div { border-color: #dce3eb; }
#performance-control .action-plan span { color: #52647a; }
#performance-control .action-plan b { color: #102c55; }
#performance-control .action-plan > a span, #performance-control .action-plan > a b { color: #fff; }

/* Compact individual-profile comparison without changing animation behavior. */
#individual-ielts { padding: 30px 0; }
#individual-ielts .individual-intro { margin-bottom: 12px; }
#individual-ielts .individual-intro > p { margin-top: 8px; }
#individual-ielts .diagnostic-status { min-height: 28px; padding-bottom: 10px; }
#individual-ielts .candidate-panel header { padding: 12px 18px; }
#individual-ielts .overall strong { font-size: 1.8rem; }
#individual-ielts .component-profile { padding: 6px 18px; }
#individual-ielts .skill-row { padding: 8px 0; }
#individual-ielts .priority-result { margin: 2px 18px 14px; padding: 9px 12px; }
#individual-ielts .priority-result strong { margin: 3px 0; font-size: 1.12rem; }
#individual-ielts .priority-result p { font-size: .78rem; line-height: 1.4; }
#individual-ielts .diagnostic-payoff { margin-top: 16px; padding-top: 13px; }
#individual-ielts .diagnostic-payoff h3 { font-family: inherit; font-size: .95rem; font-weight: 500; line-height: 1.5; }
#individual-ielts .diagnostic-payoff p { display: none; }
@media (min-width: 901px) {
  #individual-ielts .individual-intro { padding-right: 145px; }
  #individual-ielts .diagnostic-status { margin-top: -37px; min-height: 36px; padding-bottom: 14px; justify-content: flex-end; }
  #individual-ielts .example-label { display: none; }
}
#individual-ielts .diagnostic-stage { overflow: visible; }

/* Compact workspace: content-sized tabs and horizontal sample cards. */
#ielts-workspace { padding: 32px 0; scroll-margin-top: 115px; background: #f1f4f7 !important; }
#ielts-workspace::before { display: none; }
#ielts-workspace .workspace-intro { display: block; margin-bottom: 18px; }
#ielts-workspace .workspace-intro h2 { font-size: clamp(1.8rem, 2.7vw, 2.4rem); line-height: 1.15; letter-spacing: -.025em; }
#ielts-workspace .workspace-intro > p { margin-top: 10px; max-width: 950px; font-size: .9rem; line-height: 1.5; }
#ielts-workspace .workspace-shell { border-radius: 12px; box-shadow: 0 10px 30px #102c550c !important; }
#ielts-workspace .workspace-bar { height: 48px; padding: 0 16px; }
#ielts-workspace .workspace-brand small { color: #52647a; font-size: .58rem; }
#ielts-workspace .workspace-tabs { background: #edf2f7; padding: 0 12px; }
#ielts-workspace .workspace-tabs button { padding: 10px 16px; font-size: .78rem; font-weight: 500; color: #405873; }
#ielts-workspace .workspace-tabs button.is-active { color: #102c55; font-weight: 600; }
#ielts-workspace button:focus-visible, #ielts-workspace a:focus-visible { outline: 3px solid #102c55; outline-offset: -3px; }
#ielts-workspace .workspace-panels { min-height: 0; }
#ielts-workspace .workspace-panel { padding: 12px; }
#ielts-workspace .workspace-panel.is-active { gap: 12px; grid-template-columns: 1.5fr 1fr; }
#ielts-workspace .profile-card, #ielts-workspace .workspace-side > div,
#ielts-workspace .feedback-inbox, #ielts-workspace .teacher-note-card,
#ielts-workspace .practice-list, #ielts-workspace .student-toolkit,
#ielts-workspace .progress-view, #ielts-workspace .progress-summary { padding: 12px 14px; border-radius: 9px; }
#ielts-workspace .panel-title { padding-bottom: 8px; gap: 10px; flex-wrap: wrap; }
#ielts-workspace .panel-title span { font-size: .62rem; font-weight: 600; }
#ielts-workspace .panel-title small { font-size: .62rem; color: #52647a; }
#ielts-workspace .profile-row { padding-top: 8px; padding-bottom: 8px; font-size: .78rem; }
#ielts-workspace .profile-row > b { font-weight: 500; }
#ielts-workspace .profile-row > span { font-size: .58rem; font-weight: 500; }
#ielts-workspace .workspace-side { gap: 8px; }
#ielts-workspace .recommended > b { font-size: 1.08rem; margin: 4px 0; }
#ielts-workspace .recommended p { margin: 4px 0 7px; font-size: .74rem; }
#ielts-workspace .recommended button { font-size: .72rem; font-weight: 600; }
#ielts-workspace .mini-status { gap: 6px; }
#ielts-workspace .mini-status > div { padding: 4px 7px; }
#ielts-workspace .mini-status b { display: inline; font-size: 1rem; margin-right: 5px; }
#ielts-workspace .mini-status small { font-size: .58rem; color: #52647a; }
#ielts-workspace .feedback-inbox blockquote { font-size: 1.2rem; line-height: 1.4; margin: 14px 0; }
#ielts-workspace .teacher-note-card p, #ielts-workspace .student-toolkit p, #ielts-workspace .progress-summary p { font-size: .78rem; }
#ielts-workspace .practice-list > a, #ielts-workspace .practice-list > button { grid-template-columns: 100px 1fr; gap: 6px 12px; padding: 9px 0; }
#ielts-workspace .practice-list > a small, #ielts-workspace .practice-list > button small { grid-column: 2; font-size: .68rem; }
#ielts-workspace .progress-view > p { font-size: .78rem; margin: 8px 0 0; }
#ielts-workspace .free-taste { grid-template-columns: 1.05fr repeat(3, 1fr) !important; gap: 10px !important; margin-top: 12px !important; }
#ielts-workspace .free-taste > div { padding: 4px 10px 4px 0 !important; }
#ielts-workspace .free-taste > a, #ielts-workspace .free-taste > button {
  min-height: 106px !important;
  box-sizing: border-box;
  padding: 14px 12px 14px 105px !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
#ielts-workspace .free-taste > a::before, #ielts-workspace .free-taste > button::before {
  left: 12px; top: 16px; right: auto; width: 82px; height: 72px;
}
#ielts-workspace .free-taste > a[href*="vocabulary-checker"]::before { padding: 13px 5px; font-size: .6rem; letter-spacing: 0; }
#ielts-workspace .free-taste > a[href*="vocabulary-checker"]::after { top: 63px; left: 19px; font-size: .43rem; letter-spacing: .03em; }
#ielts-workspace .free-taste > button[data-tool="timer"]::before { align-items: start; padding-top: 10px; font-size: 1.35rem; line-height: 1.2; }
#ielts-workspace .free-taste > button[data-tool="timer"]::after { top: 65px; left: 53px; font-size: .43rem; letter-spacing: .04em; }
#ielts-workspace .free-taste > button[data-tool="prompt"]::before { content: "TASK TYPE\A OPINION"; white-space: pre; padding: 9px 6px; font-size: .53rem; letter-spacing: .03em; line-height: 1.6; }
#ielts-workspace .free-taste > button[data-tool="prompt"]::after { top: 66px; left: 18px; font-size: .4rem; letter-spacing: .02em; }
#ielts-workspace .free-taste > a b, #ielts-workspace .free-taste > button b { font-size: .78rem !important; line-height: 1.35; }
#ielts-workspace .free-taste > a small, #ielts-workspace .free-taste > button small { font-size: .65rem !important; }
#ielts-workspace .free-taste > button[data-tool="timer"]:has(> span) { padding-left: 16px !important; }
#ielts-workspace .free-taste > button[data-tool="timer"]:has(> span)::before,
#ielts-workspace .free-taste > button[data-tool="timer"]:has(> span)::after { content: none; }
#ielts-workspace .free-taste > button[data-tool="timer"] > span { color: #102c55; font-size: 1.35rem; font-variant-numeric: tabular-nums; }
@media (max-width: 1000px) {
  #ielts-workspace .free-taste { grid-template-columns: repeat(3, 1fr) !important; }
  #ielts-workspace .free-taste > div { grid-column: 1/-1 !important; }
  #ielts-workspace .free-taste > div p { max-width: none; }
}
@media (max-width: 900px) {
  #ielts-workspace .workspace-panel.is-active { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  #ielts-workspace .free-taste { grid-template-columns: 1fr !important; }
  #ielts-workspace .free-taste > div { grid-column: auto !important; }
}
@media (max-width: 560px) {
  #ielts-workspace .workspace-tabs button { padding: 10px 12px; }
  #ielts-workspace .practice-list > a, #ielts-workspace .practice-list > button { grid-template-columns: 1fr; }
  #ielts-workspace .practice-list > a small, #ielts-workspace .practice-list > button small { grid-column: 1; }
}

/* A human introduction to the four next steps. */
#ielts-starting-point { padding: 38px 0; background: #fff; scroll-margin-top: 115px; }
#ielts-starting-point .starting-intro { margin-bottom: 22px; }
#ielts-starting-point h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.8rem,2.7vw,2.4rem); line-height: 1.15; font-weight: 500; letter-spacing: -.025em; margin: 0; color: #102c55; }
#ielts-starting-point .starting-intro > p:last-child { margin: 10px 0 0; color: #526174; font-size: .94rem; line-height: 1.5; }
#ielts-starting-point .starting-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 24px; align-items: stretch; }
#ielts-starting-point .starting-photo { margin: 0; border-radius: 12px; overflow: hidden; min-height: 320px; position: relative; background: #f4eee5; }
#ielts-starting-point .starting-photo img { display: block; position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#ielts-starting-point .starting-links { display: grid; gap: 10px; }
#ielts-starting-point .starting-links a { display: grid; grid-template-columns: 44px 1fr 22px; gap: 14px; align-items: center; padding: 14px 18px; border: 1px solid #dce3eb; border-radius: 10px; color: #102c55; background: #f7f9fb; text-decoration: none; transition: background .18s, border-color .18s; }
#ielts-starting-point .starting-icon { display: grid; place-items: center; height: 42px; background: #eaf0f7; border-radius: 10px; }
#ielts-starting-point .starting-icon svg { width: 24px; height: 24px; }
#ielts-starting-point .starting-choice { display: grid; gap: 5px; }
#ielts-starting-point .starting-choice b { font-size: .98rem; font-weight: 600; line-height: 1.35; }
#ielts-starting-point .starting-choice em { font-style: normal; color: #b4141d; font-size: .8rem; line-height: 1.4; }
#ielts-starting-point .starting-arrow { font-size: 1.2rem; color: #b4141d; }
#ielts-starting-point .starting-links a:hover { border-color: #a9b8ca; background: #edf2f8; }
#ielts-starting-point .starting-links a:focus-visible { outline: 3px solid #102c55; outline-offset: 3px; }
@media (max-width: 760px) {
  #ielts-starting-point .starting-grid { grid-template-columns: 1fr; gap: 16px; }
  #ielts-starting-point .starting-photo { min-height: 0; aspect-ratio: 3/2; }
}
@media (max-width: 420px) {
  #ielts-starting-point .starting-links a { padding: 12px; gap: 10px; grid-template-columns: 36px 1fr 18px; }
  #ielts-starting-point .starting-icon { height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  #ielts-starting-point .starting-links a { transition: none; }
}

/* Native, keyboard-accessible FAQ after the starting-point choices. */
#ielts-faq { padding: 38px 0; background: #f3f6f9; scroll-margin-top: 115px; }
#ielts-faq .faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 44px; align-items: start; }
#ielts-faq h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.8rem,2.7vw,2.4rem); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; margin: 0; color: #102c55; }
#ielts-faq .faq-intro > p:last-child { font-size: .94rem; line-height: 1.5; margin: 12px 0 0; color: #526174; max-width: 320px; }
#ielts-faq .faq-list { border: 1px solid #dce3eb; border-radius: 12px; background: #fff; overflow: hidden; }
#ielts-faq details + details { border-top: 1px solid #e1e7ee; }
#ielts-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; cursor: pointer; list-style: none; font-size: .94rem; font-weight: 500; line-height: 1.4; color: #102c55; }
#ielts-faq summary::-webkit-details-marker { display: none; }
#ielts-faq summary:hover { background: #f7f9fc; }
#ielts-faq summary:focus-visible { outline: 3px solid #102c55; outline-offset: -3px; }
#ielts-faq .faq-toggle { position: relative; width: 16px; height: 16px; flex: 0 0 16px; color: #b4141d; }
#ielts-faq .faq-toggle::before, #ielts-faq .faq-toggle::after { content: ""; position: absolute; background: currentColor; }
#ielts-faq .faq-toggle::before { height: 2px; width: 12px; top: 7px; left: 2px; }
#ielts-faq .faq-toggle::after { width: 2px; height: 12px; left: 7px; top: 2px; }
#ielts-faq details[open] .faq-toggle::after { display: none; }
#ielts-faq details[open] summary { color: #a91823; }
#ielts-faq .faq-answer { padding: 0 20px 18px; }
#ielts-faq .faq-answer p { margin: 0; font-size: .9rem; line-height: 1.65; color: #40536a; }
#ielts-faq .faq-answer a { color: #a91823; text-underline-offset: 3px; }
@media(max-width: 800px) {
  #ielts-faq .faq-layout { grid-template-columns: 1fr; gap: 22px; }
  #ielts-faq .faq-intro > p:last-child { max-width: none; }
}
/* A quieter, welcoming enquiry form. */
.ielts-contact form {
  padding: 28px !important;
  border-radius: 20px !important;
  border-color: #e1e6ec !important;
  box-shadow: 0 16px 44px #102c5510 !important;
}
.ielts-contact label {
  color: #42546a;
  font-weight: 600;
  gap: 7px;
  margin-bottom: 15px;
}
.ielts-contact .two { gap: 16px; }
.ielts-contact input:not([type="checkbox"]),
.ielts-contact select,
.ielts-contact textarea {
  font-family: inherit;
  font-weight: 400 !important;
  color: #48596d !important;
  background-color: #f8fafc;
  border: 1px solid #dce3eb;
  border-radius: 10px;
  padding: 11px 13px;
  line-height: 1.45;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.ielts-contact select {
  appearance: none;
  padding-right: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2368798b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
}
.ielts-contact select option { font-weight: 400; color: #48596d; background: #fff; }
.ielts-contact input::placeholder,
.ielts-contact textarea::placeholder { color: #718095; opacity: 1; font-weight: 400; }
.ielts-contact input:not([type="checkbox"]):focus,
.ielts-contact select:focus,
.ielts-contact textarea:focus {
  outline: none;
  background-color: #fff;
  border-color: #6d89a5;
  box-shadow: 0 0 0 3px #dfe8f2;
}
.ielts-contact textarea { resize: vertical; min-height: 94px; }
.ielts-contact .consent { align-items: flex-start; font-size: .76rem !important; line-height: 1.55; color: #607087; }
.ielts-contact .consent input { flex: 0 0 auto; margin: 3px 2px 0 0; accent-color: #102c55; }
.ielts-contact button[type="submit"] { font-size: .9rem; font-weight: 600; padding: 14px 20px; cursor: pointer; transition: background-color .18s ease; }
.ielts-contact button[type="submit"]:hover { background: #b81722; }
.ielts-contact button[type="submit"]:focus-visible { outline: 3px solid #6d89a5; outline-offset: 3px; }
.ielts-contact .contact-reassurance b { font-weight: 500; line-height: 1.5; }
@media (max-width: 600px) {
  .ielts-contact form { padding: 20px !important; border-radius: 16px !important; }
}
/* Keep every workspace tab visible on narrow phones. */
@media (max-width: 420px) {
  .ielts-workspace .workspace-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible !important;
  }
  .ielts-workspace .workspace-tabs button {
    min-width: 0 !important;
    width: 100%;
    justify-content: center;
  }
}
/* Warm photographic treatment shared with the IELTS Online hero. */
.ielts-hero.ielts-hero-compact { background:#423b35 !important; }
.ielts-hero-compact .hero-study-photo { filter:saturate(1.05) contrast(1.02); }
.ielts-hero-compact .hero-study-wash {
  background:linear-gradient(90deg,rgba(51,43,37,.94),rgba(60,49,40,.80) 43%,rgba(72,58,46,.18) 78%,rgba(89,69,48,.12));
}
.ielts-hero-compact .ielts-hero-copy .ielts-lead { color:#f0e8df !important; }
.ielts-hero-compact .ielts-kicker { color:#eadfd2 !important; }
.ielts-hero-compact .ielts-tags span,
.ielts-hero-compact .ielts-actions .ielts-test-pill {
  background:rgba(51,43,37,.7);
  border-color:#c7b9a8;
  color:#f5eee6;
}
.ielts-hero-compact .ielts-actions .ielts-test-pill:hover { background:#66574a; }
@media(max-width:760px) {
  .ielts-hero-compact .hero-study-wash { background:rgba(51,43,37,.8); }
}
