/* Gate 5 homepage only. Reuses the approved Gate 2 tokens and Gate 4 components. */
.home-section{padding-block:var(--s9);scroll-margin-top:var(--s5)}
.section-heading{max-width:var(--reading);margin-bottom:var(--s7)}
.section-heading h2{margin-bottom:var(--s3)}
.section-heading p{margin:0;color:var(--secondary);font-size:1rem}
.section-action{margin-top:var(--s7)}
.level-choices,.topic-choices{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4)}
.level-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
.level-choice{min-width:0;--level-ink:var(--blue);--level-wash:var(--blue-wash)}
.level-choice--a2{--level-ink:var(--a2);--level-wash:var(--a2-wash)}
.level-choice--b1{--level-ink:var(--orange-text);--level-wash:var(--orange-wash)}
.level-choice--b2{--level-ink:var(--b2);--level-wash:var(--b2-wash)}
.level-choice-inner{height:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s1) var(--s4);align-content:start;padding:var(--s5);border-radius:var(--card-radius);border:1px solid var(--divider);background:var(--level-wash);color:var(--ink);text-decoration:none}
.level-code{color:var(--level-ink);font-weight:600;font-size:1.125rem}
.level-choice h3{font-size:1.125rem;margin:0}
.level-choice p{display:none;font-size:1rem;line-height:1.5;margin:0}
.level-availability{font-size:var(--small);font-weight:500;color:var(--secondary);margin-top:var(--s2)}
a.level-choice-inner .level-availability{color:var(--blue);text-decoration:underline;text-underline-offset:.18em}
a.level-choice-inner:hover{border-color:var(--blue)}
.topic-choices a{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:var(--primary-target);padding:var(--s4) var(--s5);border:1px solid var(--divider);border-radius:var(--radius);background:var(--surface);font-size:1rem;font-weight:500;text-decoration:none}
.topic-choices a:hover{text-decoration:underline;border-color:var(--blue)}
.home-text-link{display:inline-flex;align-items:center;gap:var(--s3);min-height:var(--target);font-size:1rem;margin-top:var(--s5)}
.home-empty{border-inline-start:var(--s1) solid var(--orange);padding:var(--s5);background:var(--surface);font-size:1rem}
.home-method{background:var(--blue-wash);margin-block:var(--s5)}
.method-steps{margin:0;padding:0 0 0 var(--s7);display:grid;gap:var(--s7)}
.method-steps li{padding-inline-start:var(--s3);min-width:0}
.method-steps li::marker{color:var(--blue);font-weight:600}
.method-steps h3{margin-bottom:var(--s3)}
.method-steps p{font-size:1rem;margin:0}
.home-homework{padding:var(--s7);border-radius:var(--card-radius);background:var(--orange-wash);border-top:var(--s1) solid var(--orange);display:grid;gap:var(--s5)}
.home-homework p:last-child{margin:0;font-size:1rem}
.home-youtube{padding-bottom:var(--s5)}
.learning-home+.site-footer{margin-top:var(--s9)}
/* Keep a small catalog's cards at the same readable width as a full row. */
@media(min-width:40rem){.learning-home .lesson-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}}
@media(min-width:60rem){.learning-home .lesson-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}}
@media(min-width:40rem){.home-section{padding-block:var(--s11)}.level-choices,.topic-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.level-choice p{display:block}.section-action{width:fit-content;max-width:100%}.method-steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));column-gap:var(--s11)}.home-homework{padding:var(--s9)}}
@media(min-width:60rem){.level-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.level-choice-inner{grid-template-columns:minmax(0,1fr);padding:var(--s6)}.level-code{grid-row:auto;width:var(--target);margin-bottom:var(--s4)}.level-availability{grid-column:auto;margin-top:var(--s4)}.home-homework{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:var(--s9)}}
/* Enlarged phone text grows naturally; decorative insets do not double with it. */
@media(max-width:39.999rem){
  .home-section{padding-block:32px}
  .home-homework{padding:20px;gap:20px}
  .level-choice-inner{padding:16px}
  .topic-choices a{padding-inline:16px}
}
/* A short landscape phone should not acquire a tall decorative split hero. */
@media(max-width:59.999rem) and (max-height:30rem){
  .hero-inner--art{display:block}
  .hero-art{display:none}
}

/* Story V2: static, responsive story discovery, with no carousel dependency. */
.home-hero .hero-copy{max-width:50rem}
.home-hero h1{font-size:1.75rem;line-height:1.25;text-wrap:balance;max-width:30ch}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
.story-card .card-body h3{font-size:1.25rem}
.story-context{font-size:1rem;line-height:1.6}
.story-level{margin-bottom:.75rem}
.practice-preview{padding:1.5rem;border:1px solid var(--divider);border-radius:var(--card-radius);background:var(--surface)}
.practice-preview>p{font-size:1rem;color:var(--secondary);margin:0}
.practice-categories{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:0 0 1.25rem;padding:0}
.practice-categories li{padding:.5rem .875rem;background:var(--blue-wash);border-radius:.5rem;font-size:1rem;color:var(--blue);font-weight:600}
.method-steps h3{text-transform:uppercase;font-size:1rem;letter-spacing:.08em}
@media(min-width:40rem){.home-hero h1{font-size:2rem}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-preview{padding:2rem}}
@media(min-width:60rem){.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.method-steps{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2.5rem}.home-hero{padding-block:2.5rem}}
