/* Homepage teaching information: keep existing navigation and article styles. */
.home-teaching-upgrade :where(.ht-comparison,.ht-school,.ht-planner,.ht-dialogue) { color:#173b32; }
.home-teaching-upgrade :where(.ht-comparison,.ht-planner) { background:#edf2e9; }
.home-teaching-upgrade :where(.ht-school,.ht-dialogue) { background:#fffefa; }
.home-teaching-upgrade :where(.ht-question-box h3,.ht-step-list h3,.ht-example-heading h3,.ht-parent-question h3,.ht-compare-table,.ht-dialogue-steps) { word-break:keep-all; overflow-wrap:anywhere; }
.home-teaching-upgrade .ht-intro-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:36px; margin-bottom:30px; }
.home-teaching-upgrade .ht-intro-grid .hc-heading { margin:0; }
.home-teaching-upgrade .ht-definition { padding:16px 18px; background:#fffefa; border-left:3px solid #6d9166; border-radius:0 12px 12px 0; }
.home-teaching-upgrade .ht-definition strong { display:block; margin-bottom:6px; color:#255b42; }
.home-teaching-upgrade .ht-photo { min-width:0; margin:0; }
.home-teaching-upgrade .ht-intro-grid > .ht-photo { width:100%; max-width:390px; justify-self:end; }
.home-teaching-upgrade .ht-photo img { display:block; width:100%; height:auto; border:1px solid #dae2d5; border-radius:18px; background:#f7f8f2; }
.home-teaching-upgrade .ht-photo figcaption { margin-top:10px; font-size:12px; line-height:1.8; color:#53675c; word-break:keep-all; overflow-wrap:anywhere; }
.home-teaching-upgrade .ht-compare-table { width:100%; border-collapse:separate; border-spacing:0; border:1px solid #c6d3c0; border-radius:16px; overflow:hidden; table-layout:fixed; background:#fffefa; font-size:14px; line-height:1.8; }
.home-teaching-upgrade .ht-compare-table caption { padding:0 0 12px; text-align:left; font-size:13px; color:#47604f; }
.home-teaching-upgrade .ht-compare-table :where(th,td) { vertical-align:top; padding:18px 20px; text-align:left; border:0; border-bottom:1px solid #dbe3d5; }
.home-teaching-upgrade .ht-compare-table thead th { background:#244e3b; color:#fffefa; font-size:16px; font-weight:750; }
.home-teaching-upgrade .ht-compare-table thead th:first-child { width:16%; }
.home-teaching-upgrade .ht-compare-table tbody th { font-size:14px; font-weight:800; color:#25563d; background:#f4f7ee; }
.home-teaching-upgrade .ht-compare-table tbody td + td { border-left:1px solid #dbe3d5; background:#f8faef; }
.home-teaching-upgrade .ht-compare-table tbody tr:last-child > * { border-bottom:0; }
.home-teaching-upgrade .ht-mobile-label { display:none; }
.home-teaching-upgrade .ht-note { margin-top:16px; font-size:13px; line-height:1.85; color:#4a6254; word-break:keep-all; overflow-wrap:anywhere; }
.home-teaching-upgrade .ht-question-box { margin-top:28px; padding:24px; background:#fffefa; border:1px solid #d4dfce; border-radius:16px; }
.home-teaching-upgrade .ht-question-box h3 { margin:0; font-size:19px; line-height:1.6; }
.home-teaching-upgrade .ht-question-box ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:18px 0 0; }
.home-teaching-upgrade .ht-question-box li { min-width:0; font-size:14px; line-height:1.9; }
.home-teaching-upgrade .ht-question-box strong { display:block; margin-bottom:5px; color:#265a41; }
.home-teaching-upgrade .ht-school-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:34px; align-items:center; }
.home-teaching-upgrade .ht-step-list { display:grid; gap:18px; list-style:none; padding:0; margin:0; }
.home-teaching-upgrade .ht-step-list li { display:flex; align-items:flex-start; gap:14px; }
.home-teaching-upgrade .ht-step-number { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:38px; height:38px; border-radius:50%; background:#e8eee0; color:#32664a; font-size:13px; font-weight:800; }
.home-teaching-upgrade .ht-step-list h3 { font-size:17px; line-height:1.6; margin:2px 0 5px; }
.home-teaching-upgrade .ht-step-list p { font-size:14px; line-height:1.85; margin:0; word-break:keep-all; overflow-wrap:anywhere; }
.home-teaching-upgrade .ht-exam-check { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:28px; padding:18px 20px; border-radius:12px; background:#f0f5e9; font-size:13px; line-height:1.7; }
.home-teaching-upgrade .ht-exam-check strong { margin-right:9px; font-size:14px; }
.home-teaching-upgrade .ht-exam-check span { padding:5px 11px; background:#fffefa; border:1px solid #d1dec9; border-radius:7px; }
.home-teaching-upgrade .ht-planner-example { background:#fffefa; border:1px solid #d1deca; border-radius:18px; overflow:hidden; }
.home-teaching-upgrade .ht-example-heading { padding:24px 26px 18px; border-bottom:1px solid #dce4d6; }
.home-teaching-upgrade .ht-example-heading h3 { font-size:20px; line-height:1.6; margin:0; }
.home-teaching-upgrade .ht-example-heading p { font-size:13px; line-height:1.85; margin:8px 0 0; color:#53675c; }
.home-teaching-upgrade .ht-record-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.home-teaching-upgrade .ht-record-grid > div { padding:24px; min-width:0; }
.home-teaching-upgrade .ht-record-grid > div + div { border-left:1px solid #dce4d6; }
.home-teaching-upgrade .ht-record-grid dt { color:#285b43; font-size:17px; font-weight:800; line-height:1.6; }
.home-teaching-upgrade .ht-record-grid dt span { display:block; color:#64805c; font-size:12px; margin-bottom:5px; }
.home-teaching-upgrade .ht-record-grid dd { font-size:14px; line-height:1.9; margin:12px 0 0; word-break:keep-all; overflow-wrap:anywhere; }
.home-teaching-upgrade .ht-parent-question { max-width:820px; margin-top:26px; }
.home-teaching-upgrade .ht-parent-question h3 { font-size:19px; line-height:1.6; }
.home-teaching-upgrade .ht-parent-question p { margin:10px 0 0; font-size:14px; line-height:1.9; word-break:keep-all; overflow-wrap:anywhere; }
.home-teaching-upgrade .ht-dialogue-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:38px; align-items:center; }
.home-teaching-upgrade .ht-dialogue-grid .hc-heading { margin-bottom:22px; }
.home-teaching-upgrade .ht-dialogue-steps { padding-left:21px; margin:0; font-size:14px; line-height:1.9; }
.home-teaching-upgrade .ht-dialogue-steps li + li { margin-top:14px; }
.home-teaching-upgrade .ht-dialogue-steps strong { display:block; color:#255b42; }
.home-teaching-upgrade .ht-source-note { margin-top:34px; font-size:12px; line-height:1.9; color:#53675c; }
.home-teaching-upgrade .ht-source-note a { display:inline-flex; align-items:center; min-height:44px; color:#255c42; text-underline-offset:3px; }
@media (max-width:1020px) {
  .home-teaching-upgrade .ht-intro-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:24px; }
  .home-teaching-upgrade .ht-compare-table :where(th,td) { padding:15px 16px; }
  .home-teaching-upgrade .ht-school-grid { align-items:start; gap:24px; }
  .home-teaching-upgrade .ht-record-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-teaching-upgrade .ht-record-grid > div:nth-child(3) { border-left:0; }
  .home-teaching-upgrade .ht-record-grid > div:nth-child(n+3) { border-top:1px solid #dce4d6; }
  .home-teaching-upgrade .ht-dialogue-grid { grid-template-columns:minmax(0,1fr); }
  .home-teaching-upgrade .ht-dialogue-grid > .ht-photo { max-width:570px; }
}
@media (max-width:760px) {
  .home-teaching-upgrade .ht-intro-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .home-teaching-upgrade .ht-intro-grid > .ht-photo { max-width:420px; justify-self:start; }
  .home-teaching-upgrade .ht-school-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
  .home-teaching-upgrade .ht-school-grid > .ht-photo { max-width:520px; }
  .home-teaching-upgrade .ht-question-box ul { grid-template-columns:minmax(0,1fr); gap:16px; }
}
@media (max-width:640px) {
  .home-teaching-upgrade .ht-compare-table { display:block; border:0; background:transparent; border-radius:0; overflow:visible; }
  .home-teaching-upgrade .ht-compare-table caption { display:block; font-size:12px; line-height:1.8; }
  .home-teaching-upgrade .ht-compare-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .home-teaching-upgrade .ht-compare-table tbody { display:grid; gap:12px; }
  .home-teaching-upgrade .ht-compare-table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #cbd8c5; border-radius:13px; overflow:hidden; background:#fffefa; }
  .home-teaching-upgrade .ht-compare-table tbody th { grid-column:1/-1; padding:12px 15px; border-bottom:1px solid #dbe3d5; font-size:15px; background:#e1ead8; }
  .home-teaching-upgrade .ht-compare-table tbody td { min-width:0; padding:14px 13px; font-size:13px; line-height:1.9; border:0; }
  .home-teaching-upgrade .ht-compare-table tbody td + td { border-left:1px solid #dbe3d5; }
  .home-teaching-upgrade .ht-mobile-label { display:block; margin-bottom:7px; color:#255b42; font-size:12px; line-height:1.7; font-weight:800; }
  .home-teaching-upgrade .ht-question-box { padding:21px 18px; }
  .home-teaching-upgrade .ht-step-list h3 { font-size:16px; }
  .home-teaching-upgrade .ht-step-list li { gap:11px; }
  .home-teaching-upgrade .ht-exam-check { align-items:flex-start; padding:16px; gap:8px; }
  .home-teaching-upgrade .ht-exam-check strong { width:100%; margin-right:0; }
  .home-teaching-upgrade .ht-example-heading { padding:21px 18px 18px; }
  .home-teaching-upgrade .ht-example-heading h3 { font-size:18px; }
  .home-teaching-upgrade .ht-record-grid { grid-template-columns:minmax(0,1fr); }
  .home-teaching-upgrade .ht-record-grid > div { padding:19px; }
  .home-teaching-upgrade .ht-record-grid > div + div { border-left:0; border-top:1px solid #dce4d6; }
  .home-teaching-upgrade .ht-record-grid dt span { display:inline; margin-right:10px; }
  .home-teaching-upgrade .ht-record-grid dd { margin-top:9px; }
  .home-teaching-upgrade .ht-dialogue-grid { gap:25px; }
}
