/* Approved 2026-08-30 desktop / mobile composition, applied to real content. */
.home-v2-page { --v2-paper: #faf7f0; --v2-surface: #fffdf9; }
.home-v2-page .hero { position: relative; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 64px; align-items: center; width: min(100% - 80px, 1240px); min-height: 0; padding: 28px 0 42px; }
.home-v2-page .hero::before { display: none; }
.home-v2-page .hero-copy { position: relative; padding: 0 0 28px; }
.home-v2-page .hero h1 { margin: 0; font-size: clamp(48px, 5.5vw, 76px); font-weight: 800; line-height: 1.12; letter-spacing: -.055em; }
.home-v2-page .hero h1 .home-hero-line { display: block; width: max-content; max-width: 100%; padding: 0; background: transparent; }
.home-v2-page .hero h1 .home-hero-line::after { content: none; }
.home-v2-page .home-hero-line em { position: relative; z-index: 0; font-style: normal; }
.home-v2-page .home-hero-line em::after { position: absolute; z-index: -1; inset: auto -3px -1px; height: 6px; border-radius: 70% 30% 60% 40%; background: #b4d500; content: ''; transform: rotate(-1.5deg); }
.home-v2-page .home-hero-line:nth-child(2) em::after { background: var(--v2-coral); transform: rotate(.7deg); }
.home-v2-page .home-hero-line:nth-child(3) em::after { background: #3054ed; }
.home-hero-doodle { width: 86px; height: 43px; margin: 20px 0 -34px 25px; }
.home-v2-page .quiz-stage { min-width: 0; min-height: 0; width: 100%; margin: 0; }
.home-v2-page .quiz-stage::before { top: 12%; right: -105px; width: 96px; height: 230px; border-radius: 2px; background: var(--v2-coral); opacity: .85; transform: rotate(18deg); clip-path: polygon(48% 0, 100% 13%, 77% 100%, 0 66%, 31% 38%); }
.home-v2-page .quiz-card { width: 100%; padding: 18px 22px 12px; border: 1px solid #cecac2; border-radius: 12px; background: var(--v2-surface); box-shadow: 1px 3px 4px rgba(17,28,25,.13); transform: none; }
.home-v2-page .quiz-card > * { transform: none; }
.home-v2-page .quiz-topline { display: flex; gap: 12px; margin-bottom: 13px; }
.home-v2-page .quiz-kicker { margin-right: auto; padding: 4px 12px; border-radius: 999px; background: #bfd917; color: #111c19; font: 700 11px/1.25 var(--font); }
.home-v2-page .focus-label { position: static; color: #d84831; font: 600 10px var(--font); letter-spacing: 0; }
.home-v2-page .question-count { color: var(--v2-ink); font: 500 10px var(--font); }
.home-v2-page .quiz-card h2 { margin: 0; font-size: 16px; line-height: 1.45; letter-spacing: -.015em; }
.home-v2-page .quiz-card blockquote { margin: 9px 0 11px; padding: 0; border: 0; background: transparent; font-size: 12px; line-height: 1.5; }
.home-v2-page .answer-list { gap: 3px; margin: 0; }
.home-v2-page .answer-row { grid-template-columns: 23px minmax(0,1fr) 20px; gap: 8px; min-height: 32px; padding: 3px 8px 3px 0; border-color: transparent; border-radius: 7px; background: transparent; font-size: 12px; }
.home-v2-page .answer-row > span { width: 22px; height: 22px; border: 1px solid #d4d0c7; border-radius: 50%; background: var(--v2-surface); font: 600 10px var(--font); }
.home-v2-page .answer-list .is-selected .answer-row { padding-left: 5px; border-color: #b5c946; background: #eef3cf; box-shadow: none; }
.home-v2-page .answer-list .is-selected .answer-row > span { border-color: #a7c010; background: #ddeb84; }
.home-v2-page .answer-list .is-selected b { background: transparent; color: #83a300; }
.home-v2-page .quiz-footer { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; margin: 12px 0 0; padding: 0; border: 0; }
.home-v2-page .home-quiz-position { color: #e64231; font: 600 11px var(--font); }
.home-v2-page .quiz-progress { height: 4px; margin: 0; border-radius: 4px; background: #eae7e1; }
.home-v2-page .quiz-progress span { width: 10%; min-width: 10px; height: 4px; background: #ff5b43; }
.home-v2-page .home-quiz-start { min-height: 44px; padding: 0 12px; border: 1px solid #2544d1; border-radius: 6px; background: linear-gradient(#3e66ff,#2849e4); color: #fff; font-size: 12px; }
.home-quiz-disclosure { margin: 7px 0 0; color: #74756f; font-size: 9px; line-height: 1.4; }
.home-v2-page .home-v2-command { margin-top: -6px; border-radius: 12px; box-shadow: 0 3px 5px rgba(17,28,25,.08); }
.home-v2-page .home-v2-command > a { grid-template-columns: 44px minmax(0,1fr); min-height: 70px; padding: 10px 24px; gap: 16px; }
.home-v2-page .home-v2-command > a > span { --icon-accent: #c9e20b; border: 0; border-radius: 0; background: transparent; }
.home-v2-page .home-v2-command strong { font-size: 14px; }
.home-v2-page .home-v2-command small { font-size: 11px; }
.home-v2-page .home-v2-gateway { padding-top: 10px; }
.home-v2-page .home-v2-gateway .home-v2-section-head { grid-template-columns: minmax(0,1fr) auto; }
.home-v2-page .home-v2-section-head { align-items: center; gap: 16px; margin-bottom: 0; }
.home-v2-page .home-v2-gateway .home-v2-section-head h2 { font-size: 16px; line-height: 1.3; letter-spacing: -.02em; }
.home-v2-page .home-v2-section-head > a { gap: 7px; }
.home-v2-page .home-v2-grade-grid { grid-template-columns: repeat(4,minmax(0,1fr)); border: 0; border-top: 1px solid var(--v2-line-strong); border-bottom: 1px solid var(--v2-line); border-radius: 0; background: transparent; }
.home-v2-page .home-v2-grade-group { grid-template-columns: 39px minmax(0,1fr); grid-template-rows: auto auto; min-height: 85px; gap: 2px 10px; padding: 9px 16px; border-top: 0; }
.home-v2-page .home-v2-grade-group::after { content: none; }
.home-v2-page .home-v2-grade-group + .home-v2-grade-group { border-left: 1px solid var(--v2-line); }
.home-v2-page .home-v2-grade-symbol { --icon-accent: #c9e20b; grid-column: 1; grid-row: 1 / 3; width: 38px; height: 48px; border: 0; border-radius: 0; background: transparent; }
.home-v2-page .home-v2-grade-group--coral .home-v2-grade-symbol { --icon-accent: #ff846d; }
.home-v2-page .home-v2-grade-group--blue .home-v2-grade-symbol { --icon-accent: #6c8aff; }
.home-v2-page .home-v2-grade-group--blue .ui-icon { transform: rotate(-45deg); }
.home-v2-page .home-v2-grade-group--exam { background: transparent; color: var(--v2-ink); }
.home-v2-page .home-v2-grade-copy { grid-column: 2; grid-row: 1; }
.home-v2-page .home-v2-grade-copy h3 { margin: 0; font-size: 13px; letter-spacing: -.02em; }
.home-v2-page .home-v2-grade-links,
.home-v2-page .home-v2-exam-links { grid-column: 2; grid-row: 2; gap: 5px; max-width: none; }
.home-v2-page .home-v2-grade-links a { width: 44px; min-width: 44px; min-height: 44px; border-radius: 50%; background: transparent; color: var(--v2-ink); }
.home-v2-page .home-v2-exam-links a { min-width: 44px; min-height: 44px; border-color: var(--v2-line); border-radius: 7px; background: transparent; color: var(--v2-ink); font-size: 11px; }
.home-v2-page .home-v2-grade-links a:hover,
.home-v2-page .home-v2-exam-links a:hover { background: var(--v2-lime-soft); }
.home-v2-page .home-v2-route { position: relative; grid-template-columns: 1fr; gap: 0; margin-top: 8px; padding: 0 30px 10px; border: 0; border-radius: 0; background: transparent; }
.home-v2-page .home-v2-route header { position: absolute; top: 6px; left: 0; }
.home-v2-page .home-v2-route h2 { font-size: 14px; letter-spacing: -.02em; }
.home-v2-page .home-v2-route ol { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 20px 20px 0 80px; }
.home-v2-page .home-v2-route li { grid-template-columns: 1fr; justify-items: center; gap: 5px; text-align: center; }
.home-v2-page .home-v2-route li:not(:last-child)::after { top: 29px; right: calc(-50% + 34px); left: calc(50% + 34px); display: block; border-top-color: #667078; }
.home-v2-page .home-v2-route-icon { z-index: 1; width: 58px; height: 58px; border: 1px solid #b9c62e; background: linear-gradient(140deg,#d7ed57,#b5cd20); box-shadow: inset 0 2px 5px rgba(255,255,255,.7); }
.home-v2-page .home-v2-route li:nth-child(2) .home-v2-route-icon { border-color: #f36b51; background: linear-gradient(140deg,#ffb4a4,#ff725a); }
.home-v2-page .home-v2-route li:nth-child(3) .home-v2-route-icon { --icon-accent: #fffdf9; border-color: #3258cf; background: linear-gradient(140deg,#879dec,#4269d3); }
.home-v2-page .home-v2-route li:nth-child(4) .home-v2-route-icon { border-color: #5d498b; background: linear-gradient(140deg,#8b6fb8,#654897); color: #fff; }
.home-v2-page .home-v2-route li div { gap: 2px; padding: 0; background: transparent; }
.home-v2-page .home-v2-route strong { font-size: 13px; }
.home-v2-route-flag { position: absolute; right: 2px; top: 27px; color: #3055dd; }
.home-v2-page .home-v2-product-grid { padding-top: 0; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.9fr); gap: 14px; }
.home-v2-page :is(.home-v2-resume,.home-v2-exam-studio,.home-v2-questions) { grid-column: auto; min-height: 0; padding: 16px; border-radius: 11px; box-shadow: 0 2px 5px rgba(17,28,25,.04); }
.home-v2-page .home-v2-product-grid article > header { align-items: center; gap: 12px; margin: -6px 0 3px; }
.home-v2-page .home-v2-product-grid h2 { font-size: 16px; line-height: 1.2; letter-spacing: -.025em; }
.home-v2-page .home-v2-product-grid header .section-kicker { display: none; }
.home-v2-page .home-v2-product-grid header > a { gap: 5px; font-size: 10px; white-space: nowrap; }
.home-v2-page .home-v2-empty-resume { min-height: 145px; padding: 14px; gap: 12px; border-style: solid; }
.home-v2-page .home-v2-empty-resume strong { font-size: 13px; }
.home-v2-page .home-v2-empty-resume p { font-size: 11px; }
.home-v2-page .home-v2-exam-studio { background: radial-gradient(at 30% 100%,#123347,transparent 80%),#051724; }
.home-v2-page .home-v2-exam-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.home-v2-page .home-v2-exam-tabs > a { min-height: 95px; padding: 11px; border-color: #f1efea; border-radius: 8px; background: #fffdf9; color: #111c19; }
.home-v2-page .home-v2-exam-tabs strong { font-size: 20px; }
.home-v2-page .home-v2-exam-tabs span { color: #5b6761; font-size: 10px; }
.home-v2-page .home-v2-exam-empty { gap: 8px; margin-top: 8px; padding-top: 7px; }
.home-v2-page .home-v2-exam-empty p { font-size: 10px; }
.home-v2-page .home-v2-questions ul { grid-template-columns: 1fr; }
.home-v2-page .home-v2-questions li { min-height: 48px; padding: 0; border-left: 0; border-top: 1px solid var(--v2-line); }
.home-v2-page .home-v2-questions li:first-child { padding: 0; border: 0; }
.home-v2-page .home-v2-ask { margin: 8px 0 0 auto; width: max-content; gap: 12px; background: #2e50eb; color: #fff; border-color: #2e50eb; }
.home-v2-support-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: 14px; width: min(100% - 40px,var(--v2-content)); margin: 14px auto 0; }
.home-v2-page .home-v2-repair,
.home-v2-page .home-v2-roles { display: block; width: auto; min-width: 0; padding: 14px; border: 1px solid var(--v2-line); border-radius: 11px; background: rgba(255,253,249,.72); }
.home-v2-page .home-v2-repair { border-color: #efc6b9; }
.home-v2-page .home-v2-repair > header,
.home-v2-page .home-v2-roles > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 9px; }
.home-v2-page .home-v2-repair > header h2,
.home-v2-page .home-v2-roles > header h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; letter-spacing: -.02em; line-height: 1.3; }
.home-v2-page .home-v2-repair > header .ui-icon { color: #f65c44; }
.home-v2-page .home-v2-repair > header > span { color: #7b6960; font-size: 9px; }
.home-v2-page .home-v2-repair-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.05fr); border-radius: 7px; border-color: #eddacf; }
.home-v2-page .home-v2-repair-grid article { min-width: 0; min-height: 0; padding: 10px; }
.home-v2-page .home-v2-repair-wrong,
.home-v2-page .home-v2-repair-right { display: block; }
.home-v2-page :is(.home-v2-repair-wrong,.home-v2-repair-right) > span { display: none; }
.home-v2-page .home-v2-repair-grid p { margin-top: 5px; font-size: 11px; line-height: 1.5; }
.home-v2-page .home-v2-repair-lesson { grid-column: 1 / 3; display: block; }
.home-v2-page .home-v2-repair-lesson > span { display: none; }
.home-v2-page .home-v2-repair-lesson strong { display: inline; margin: 0; font-size: 10px; }
.home-v2-page .home-v2-repair-lesson small { display: block; margin-bottom: 3px; }
.home-v2-page .home-v2-repair-grid a { gap: 7px; margin: 2px 0 0; font-size: 10px; }
.home-v2-page .home-v2-repair-follow { grid-column: 3; grid-row: 1 / 3; border-top: 0 !important; background: #fffaf3; }
.home-v2-page .home-v2-repair-follow strong { font-size: 12px; }
.home-v2-page .home-v2-roles > div { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.home-v2-page .home-v2-role { position: relative; grid-template-columns: 1fr; align-content: start; justify-items: start; gap: 9px; min-height: 156px; padding: 13px 10px; border-radius: 8px; }
.home-v2-page .home-v2-role > span { display: grid; place-items: center; width: 33px; height: 33px; border: 0; background: transparent; }
.home-v2-page .home-v2-role strong { font-size: 13px; }
.home-v2-page .home-v2-role small { font-size: 10px; line-height: 1.55; }
.home-v2-page .home-v2-role > b { position: absolute; right: 10px; bottom: 9px; }
.home-v2-platform-note { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 44px; width: min(100% - 40px,var(--v2-content)); margin: 35px auto 0; padding: 22px 0; border-block: 1px solid var(--v2-line); }
.home-v2-platform-note h2 { margin: 6px 0; font-size: 21px; }
.home-v2-platform-note p { margin: 0; font-size: 13px; line-height: 1.6; }
.home-v2-platform-note .proof-list { margin: 0; }
.home-v2-platform-note .section-kicker { font-size: 10px; }
.home-v2-page .home-v2-live { padding-top: 28px; }
.home-v2-page .home-v2-live .home-v2-section-head { margin-bottom: 15px; }
.home-v2-page .home-v2-live h2 { font-size: 28px; }
.home-v2-page .home-v2-task { min-height: 218px; padding: 18px; }
.home-v2-page .home-v2-task-number { margin-bottom: 15px; }
.home-v2-page .home-v2-task h3 { font-size: 18px; }
.home-v2-page .home-v2-footer-column > strong,
.home-v2-page .home-v2-footer-groups strong { color: var(--v2-ink); }
@media(max-width:1100px) {
    .home-v2-page .hero { gap: 34px; width: min(100% - 40px,1240px); }
    .home-v2-page .hero h1 { font-size: clamp(42px,5.6vw,62px); }
    .home-v2-page .home-v2-grade-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-v2-page .home-v2-grade-group:nth-child(3) { border-left: 0; border-top: 1px solid var(--v2-line); }
    .home-v2-page .home-v2-grade-group:nth-child(4) { border-top: 1px solid var(--v2-line); }
    .home-v2-page .home-v2-product-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); }
    .home-v2-page .home-v2-questions { grid-column: 1 / -1; }
    .home-v2-page .home-v2-questions ul { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
    .home-v2-page .home-v2-questions li { border-top: 0; }
    .home-v2-support-grid { grid-template-columns: minmax(0,1fr); }
    .home-v2-page .home-v2-role { grid-template-columns: 34px minmax(0,1fr); min-height: 97px; }
    .home-v2-page .home-v2-route ol { padding-left: 0; }
    .home-v2-page .home-v2-route header { position: static; }
    .home-v2-route-flag { display: none; }
}
@media(max-width:760px) {
    .home-v2-page .hero { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 18px 0 21px; }
    .home-v2-page .hero-copy { padding: 0; }
    .home-v2-page .hero h1 { font-size: clamp(30px,8.8vw,46px); line-height: 1.2; letter-spacing: -.045em; }
    .home-v2-page .home-hero-line em::after { height: 3px; bottom: 0; }
    .home-hero-doodle { display: none; }
    .home-v2-page .quiz-stage::before { display: none; }
    .home-v2-page .quiz-card { padding: 14px 16px 10px; }
    .home-v2-page .quiz-card h2 { font-size: 14px; }
    .home-v2-page .quiz-card blockquote { font-size: 11px; }
    .home-v2-page .answer-row { min-height: 30px; font-size: 11px; }
    .home-v2-page .quiz-footer { gap: 9px; }
    .home-v2-page .home-quiz-start { padding-inline: 10px; font-size: 11px; }
    .home-v2-page .home-v2-command { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 0; }
    .home-v2-page .home-v2-command > a { grid-template-columns: minmax(0,1fr); justify-items: center; align-content: start; gap: 4px; min-height: 90px; padding: 10px 3px; border-top: 0; text-align: center; }
    .home-v2-page .home-v2-command > a > span { width: 31px; height: 31px; }
    .home-v2-page .home-v2-command > a + a::before { top: 7px; bottom: 7px; display: block; }
    .home-v2-page .home-v2-command strong { font-size: 10px; font-weight: 650; line-height: 1.2; }
    .home-v2-page .home-v2-command small { display: none; }
    .home-v2-page .home-v2-grade-grid { grid-template-columns: minmax(0,1fr); border: 1px solid var(--v2-line); border-radius: 9px; }
    .home-v2-page .home-v2-grade-group { grid-template-columns: 28px 78px minmax(0,1fr); grid-template-rows: auto; min-height: 57px; gap: 6px; padding: 5px 9px; }
    .home-v2-page .home-v2-grade-group + .home-v2-grade-group { border: 0; border-top: 1px solid var(--v2-line); }
    .home-v2-page .home-v2-grade-symbol { grid-row: 1; width: 26px; height: 34px; }
    .home-v2-page .home-v2-grade-symbol svg { width: 25px; height: 30px; }
    .home-v2-page .home-v2-grade-copy h3 { font-size: 11px; }
    .home-v2-page .home-v2-grade-links,
    .home-v2-page .home-v2-exam-links { grid-column: 3; grid-row: 1; gap: 0; }
    .home-v2-page .home-v2-grade-links a { width: 100%; min-width: 0; min-height: 44px; border-color: transparent; background: transparent; font-size: 11px; }
    .home-v2-page .home-v2-grade-links a::before { position: absolute; z-index: -1; width: 24px; height: 24px; border-radius: 50%; background: var(--grade-accent); content: ''; }
    .home-v2-page .home-v2-grade-links a { position: relative; isolation: isolate; }
    .home-v2-page .home-v2-exam-links a { margin-inline: 2px; min-width: 0; font-size: 10px; }
    .home-v2-page .home-v2-route { padding: 12px 0 14px; }
    .home-v2-page .home-v2-route ol { grid-template-columns: repeat(4,minmax(0,1fr)); padding: 13px 0 0; }
    .home-v2-page .home-v2-route-icon { width: 44px; height: 44px; }
    .home-v2-page .home-v2-route-icon svg { width: 23px; height: 23px; }
    .home-v2-page .home-v2-route li:not(:last-child)::after { top: 22px; left: calc(50% + 26px); right: calc(-50% + 26px); }
    .home-v2-page .home-v2-route strong { font-size: 10px; }
    .home-v2-page .home-v2-route small { display: none; }
    .home-v2-page .home-v2-product-grid { grid-template-columns: minmax(0,1fr); }
    .home-v2-page .home-v2-questions { grid-column: 1; }
    .home-v2-page .home-v2-questions ul { grid-template-columns: minmax(0,1fr); gap: 0; }
    .home-v2-page .home-v2-questions li { border-top: 1px solid var(--v2-line); }
    .home-v2-page .home-v2-repair-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-v2-page .home-v2-repair-grid .home-v2-repair-right { border-top: 0; border-left: 1px solid var(--v2-line); }
    .home-v2-page .home-v2-repair-lesson { grid-column: 1; grid-row: 2; }
    .home-v2-page .home-v2-repair-follow { grid-column: 2; grid-row: 2; border-top: 1px solid var(--v2-line) !important; }
    .home-v2-page .home-v2-repair-lesson strong { display: block; }
    .home-v2-page .home-v2-role { grid-template-columns: 1fr; min-height: 153px; padding: 10px 8px; }
    .home-v2-page .home-v2-role small { font-size: 9px; }
    .home-v2-platform-note { grid-template-columns: minmax(0,1fr); gap: 18px; }
    .home-v2-platform-note .proof-list { gap: 0; flex-wrap: nowrap; }
    .home-v2-platform-note .proof-list li { min-width: 0; padding-inline: 10px; }
    .home-v2-platform-note .proof-list span { font-size: 9px; }
}
@media(max-width:620px) {
    .home-v2-page .hero,
    .home-v2-page .home-v2-command,
    .home-v2-page .home-v2-gateway,
    .home-v2-page .home-v2-route,
    .home-v2-page .home-v2-product-grid,
    .home-v2-support-grid,
    .home-v2-platform-note { width: min(100% - 30px,var(--v2-content)); }
    .home-v2-page .home-v2-grade-group { grid-template-columns: 26px 70px minmax(0,1fr); padding-inline: 6px; gap: 2px; }
    .home-v2-page .home-v2-footer-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* The live lesson heading must shrink and reflow rather than clip enlarged text. */
@media (max-width: 620px) {
    .home-v2-page .home-v2-live .home-v2-section-head {
        grid-template-columns: minmax(0, 1fr);
        min-width: 0;
        gap: 12px;
    }
    .home-v2-page .home-v2-live .home-v2-section-head > div {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .home-v2-page .home-v2-live .home-v2-section-head > a {
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }
}
