/* ============================================================
   Mobile compaction for the courses index (courses/index.html).

   Tighter hero, card grid, and CTA spacing on phones/tablets.
   Desktop layout unchanged — all rules are @media (max-width: 768px).
   ============================================================ */

@media (max-width: 768px) {

  body.courses-index-page .hero--inner.hero--photo.courses-hero {
    margin-top: 72px;
    padding: 56px 18px 44px;
  }

  body.courses-index-page .hero--inner .eyebrow {
    font-size: 0.68rem;
    margin-bottom: 8px;
  }

  body.courses-index-page .hero--inner h1 {
    font-size: clamp(1.45rem, 6.2vw, 1.85rem);
    margin-bottom: 10px;
    line-height: 1.18;
  }

  body.courses-index-page .hero--inner .lead {
    font-size: 0.92rem;
    line-height: 1.45;
    max-width: 34ch;
    margin-inline: auto;
  }

  body.courses-index-page .hero--inner .hero-actions {
    margin-top: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body.courses-index-page .hero--inner .hero-actions .btn {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }

  body.courses-index-page .content-section {
    padding-top: 24px;
    padding-bottom: 36px;
  }

  body.courses-index-page .crumb {
    font-size: 0.78rem;
    margin-bottom: 18px;
  }

  body.courses-index-page .course-group + .course-group {
    margin-top: 36px;
  }

  body.courses-index-page .course-group__head {
    margin-bottom: 14px;
    padding-bottom: 12px;
  }

  body.courses-index-page .course-group__title {
    font-size: 1.18rem;
    margin-bottom: 4px;
  }

  body.courses-index-page .course-group__sub {
    font-size: 0.88rem;
    line-height: 1.45;
  }

  body.courses-index-page .courses-grid,
  body.courses-index-page .courses-grid--compact {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.courses-index-page .course-card {
    padding: 14px 14px 12px;
  }

  body.courses-index-page .course-card--compact {
    padding: 12px 14px;
  }

  body.courses-index-page .course-card-media {
    margin: -14px -14px 12px -14px;
    aspect-ratio: 16 / 9;
  }

  body.courses-index-page .course-card--compact .course-card-media {
    margin: -12px -14px 10px -14px;
  }

  body.courses-index-page .course-tag {
    font-size: 0.64rem;
    padding: 2px 8px;
    margin-bottom: 6px;
  }

  body.courses-index-page .course-card h3 {
    font-size: 1.02rem;
    margin-bottom: 6px;
    line-height: 1.22;
  }

  body.courses-index-page .course-card--compact h3 {
    font-size: 0.98rem;
  }

  body.courses-index-page .course-who-for {
    font-size: 0.82rem;
    margin-bottom: 8px;
    line-height: 1.4;
  }

  body.courses-index-page .course-card--compact .course-who-for {
    font-size: 0.8rem;
    margin-bottom: 8px;
  }

  body.courses-index-page .course-meta {
    font-size: 0.78rem;
    margin-bottom: 6px;
    flex-wrap: wrap;
    row-gap: 2px;
  }

  body.courses-index-page .course-card__schedule-row {
    margin-bottom: 10px;
    gap: 2px;
  }

  body.courses-index-page .course-card__schedule {
    font-size: 0.8rem;
  }

  body.courses-index-page .btn-course {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 0.86rem;
  }

  body.courses-index-page .courses-section-footer {
    margin-top: 28px;
    gap: 10px;
  }

  body.courses-index-page .cta-band {
    margin-top: 32px !important;
    padding: 22px 18px;
  }

  body.courses-index-page .cta-band h2 {
    font-size: 1.15rem;
    margin-bottom: 8px;
  }

  body.courses-index-page .cta-band p {
    font-size: 0.88rem;
    line-height: 1.45;
    margin-bottom: 14px;
  }

  body.courses-index-page .cta-band .page-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body.courses-index-page .cta-band .page-actions .btn {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }
}
