:root {
	--ghor-ink: #172033;
	--ghor-muted: #586174;
	--ghor-line: #dce2ea;
	--ghor-soft: #f5f7fb;
	--ghor-brand: #304fb5;
	--ghor-brand-soft: #edf1ff;
	--ghor-good: #127a50;
	--ghor-good-soft: #eaf8f1;
	--ghor-bad: #b33a45;
	--ghor-bad-soft: #fff0f1;
}

.ghor-esl-lesson { color: var(--ghor-ink); font-size: 17px; line-height: 1.7; max-width: 920px; margin: 0 auto; }
.ghor-esl-lesson *, .ghor-esl-lesson *::before, .ghor-esl-lesson *::after { box-sizing: border-box; }
.ghor-esl-lesson h2, .ghor-esl-lesson h3, .ghor-esl-lesson h4 { color: var(--ghor-ink); line-height: 1.25; }
.ghor-lesson-hero { background: linear-gradient(135deg, #192a67, #365bd0); color: #fff; padding: clamp(24px, 5vw, 48px); border-radius: 18px; margin: 0 0 24px; }
.ghor-lesson-hero h2 { color: #fff; font-size: clamp(28px, 4vw, 42px); margin: 6px 0 12px; }
.ghor-lesson-hero p { margin: 0; max-width: 720px; }
.ghor-eyebrow { color: var(--ghor-brand); font-size: 12px; font-weight: 800; letter-spacing: .09em; margin: 0 0 6px; text-transform: uppercase; }
.ghor-lesson-hero .ghor-eyebrow { color: #dce5ff; }
.ghor-panel { background: #fff; border: 1px solid var(--ghor-line); border-radius: 14px; margin: 18px 0; padding: clamp(20px, 4vw, 30px); }
.ghor-panel > :first-child { margin-top: 0; }
.ghor-panel > :last-child { margin-bottom: 0; }
.ghor-warmup { background: #fff8e8; border-color: #f0d58c; }
.ghor-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ghor-two-col .ghor-panel { margin: 0; }
.ghor-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ghor-chips span { background: var(--ghor-brand-soft); border: 1px solid #cad4ff; border-radius: 999px; color: #263f99; font-size: 14px; font-weight: 700; padding: 5px 11px; }
.ghor-teach { background: var(--ghor-soft); }
.ghor-formula { align-items: center; background: #172033; border-radius: 10px; color: #fff; display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 22px 0; padding: 18px 20px; }
.ghor-formula span { color: #bfc9e2; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ghor-formula strong { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 17px; }
.ghor-example-grid { display: grid; gap: 14px; }
.ghor-example { border-left: 4px solid var(--ghor-brand); background: var(--ghor-soft); border-radius: 8px; padding: 14px 16px; }
.ghor-example p { margin: 5px 0; }
.ghor-example span { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .06em; min-width: 52px; text-transform: uppercase; }
.ghor-before { color: var(--ghor-bad); text-decoration-color: rgba(179,58,69,.45); }
.ghor-after { color: var(--ghor-good); }
.ghor-reading { border-left: 6px solid #9c67d8; font-size: 18px; }
.ghor-section-heading { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.ghor-section-heading h3 { margin-top: 0; }
.ghor-score { background: var(--ghor-brand-soft); border-radius: 999px; color: var(--ghor-brand); flex: 0 0 auto; font-size: 13px; font-weight: 800; padding: 7px 11px; }
.ghor-check { border-top: 1px solid var(--ghor-line); padding: 20px 0; }
.ghor-question { margin-top: 0; }
.ghor-options { display: grid; gap: 9px; }
.ghor-options button, .ghor-reset { appearance: none; background: #fff; border: 1px solid #bfc8d7; border-radius: 9px; color: var(--ghor-ink); cursor: pointer; font: inherit; padding: 11px 14px; text-align: left; transition: border-color .15s, background .15s, transform .15s; }
.ghor-options button:hover:not(:disabled), .ghor-options button:focus-visible { border-color: var(--ghor-brand); background: var(--ghor-brand-soft); transform: translateY(-1px); }
.ghor-options button.is-correct { background: var(--ghor-good-soft); border-color: var(--ghor-good); color: #0c5e3c; }
.ghor-options button.is-incorrect { background: var(--ghor-bad-soft); border-color: var(--ghor-bad); color: #8d2731; }
.ghor-feedback { border-radius: 8px; margin: 12px 0 0; padding: 10px 12px; }
.ghor-feedback.is-correct { background: var(--ghor-good-soft); color: #0c5e3c; }
.ghor-feedback.is-incorrect { background: var(--ghor-bad-soft); color: #8d2731; }
.ghor-reset { background: var(--ghor-brand); border-color: var(--ghor-brand); color: #fff; font-weight: 700; text-align: center; }
.ghor-practice-item { border-top: 1px solid var(--ghor-line); padding: 16px 0; }
.ghor-practice-item details, .ghor-produce details { background: var(--ghor-soft); border-radius: 8px; padding: 10px 13px; }
.ghor-practice-item summary, .ghor-produce summary { color: var(--ghor-brand); cursor: pointer; font-weight: 700; }
.ghor-produce { border: 2px solid #7f91d8; box-shadow: 0 8px 28px rgba(38,63,153,.08); }
.ghor-support { background: #fff8e8; border-radius: 8px; margin: 16px 0; padding: 12px 14px; }
.ghor-review { background: #f1f8f5; border-color: #b7dfcc; }
.ghor-review label { align-items: flex-start; display: flex; gap: 9px; margin: 10px 0; }
.ghor-review input { margin-top: 7px; }
.ghor-exit { border-top: 1px solid #b7dfcc; margin-top: 18px; padding-top: 18px; }
.ghor-complete-note { color: var(--ghor-muted); font-size: 14px; }
.ghor-esl-course-card { background: linear-gradient(135deg, #f7f9ff, #edf1ff); border: 1px solid #ccd6ff; border-radius: 18px; color: var(--ghor-ink); max-width: 760px; overflow: hidden; padding: clamp(24px, 5vw, 42px); }
.ghor-esl-course-card h3 { color: var(--ghor-ink); font-size: clamp(24px, 3vw, 34px); line-height: 1.2; margin: 6px 0 12px; }
.ghor-esl-course-card ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 20px 0; padding: 0; }
.ghor-esl-course-card li { background: #fff; border: 1px solid #dce2f7; border-radius: 999px; font-size: 14px; font-weight: 700; padding: 6px 11px; }
.ghor-esl-course-card__button { background: var(--ghor-brand); border-radius: 9px; color: #fff !important; display: inline-block; font-weight: 800; padding: 11px 18px; text-decoration: none !important; }
.ghor-esl-course-card__button:hover, .ghor-esl-course-card__button:focus-visible { background: #213a91; color: #fff; }

@media (max-width: 680px) {
	.ghor-two-col { grid-template-columns: 1fr; }
	.ghor-section-heading { display: block; }
	.ghor-score { display: inline-block; }
	.ghor-esl-lesson { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.ghor-esl-lesson * { scroll-behavior: auto !important; transition: none !important; }
}
