/* The course home page (index.qmd). The header band, live model, and color tokens
   come from the shared EpiModel brand (brand/brand.css); this file fits them into
   the book layout and adds the course and instructor cards. */

/* Run the page from the sidebar to the window edge, and from the top. */
body.brand-home #quarto-content main.content { grid-column: body-start / screen-end; }
@media (max-width: 991.98px) {
  body.brand-home #quarto-content main.content { grid-column: screen-start / screen-end; }
}
/* The header band carries the title, so the book's chapter heading is hidden. */
.brand-home #welcome > h1.unnumbered { display: none; }
.hero .hero-title { color: #fff; font: 700 2.7rem/1.1 var(--head-font); margin: .35rem 0 .8rem; }
.hero .hero-by { margin: 0; font-size: .95rem; opacity: .85; }
@media (max-width: 480px) { .hero .hero-title { font-size: 2.1rem; } }

.home-body { padding-top: .4rem; padding-bottom: 2rem; }
.home-body h2 { font-size: 1.6rem; border: 0; margin-top: 2.4rem; }
.home-body > section > p, .home-body > section > ul, .home-body .callout { max-width: 52rem; }
.home-body .callout { background: var(--surface); }

/* NME-I and NME-II */
.course-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 1rem; margin: 1.3rem 0 1.5rem; }
.course-card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 1rem 1.2rem 1.1rem; box-shadow: var(--shadow); }
.course-card > p { margin: 0; }
.course-card > section { flex: 1; display: flex; flex-direction: column; }
.course-card h3 { font-size: 1.3rem; margin: .15rem 0 .5rem; border: 0; }
.course-card section > p { font-size: .94rem; color: var(--ink-2); }
.course-card ol { margin: .2rem 0 1.1rem; padding-left: 2.6rem; }
.course-card li { padding: .12rem 0 .12rem .3rem; }
.course-card li::marker { content: "M" counter(list-item); font: 700 .8rem var(--head-font); color: var(--muted); }
.course-card ol a { text-decoration: none; font-weight: 600; }
.course-card ol a:hover { text-decoration: underline; }
.course-card section > p:last-child { margin: auto 0 0; padding-top: .7rem; border-top: 1px solid var(--grid); font-size: .86rem; }

/* Instructors */
.people { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; margin: 1rem 0 .5rem; }
.person { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: .9rem 1.1rem 1rem; box-shadow: var(--shadow); }
.person h3 { font-size: 1.05rem; margin: 0 0 .4rem; border: 0; }
.person h3 a { text-decoration: none; }
.person p { font-size: .9rem; color: var(--ink-2); margin: 0; }

/* Dark mode: the book's own dark palette; the header band stays as it is. */
body.quarto-dark.brand-home { background: var(--bs-body-bg); }
body.quarto-dark .home-body { --surface: #1e1e2e; --border: #313244; --grid: #313244; --ink: #cdd6f4;
  --ink-2: #bac2de; --muted: #9399b2; --accent: #a6e3a1; --shadow: none; }
