/* Homepage refinement: preserve the approved palette and illustrations. */
:root {
  --home-body-size: clamp(17px, 1.2vw, 18px);
  --home-small-size: 15px;
}
body { font-size: var(--home-body-size); line-height: 1.65; }
h2 { line-height: 1.18; }
h3 { line-height: 1.25; }
.section p, .credentials { max-width: 65ch; }
.practice-copy p { font-size: var(--home-body-size); line-height: 1.7; margin-bottom: 24px; }
.project-intro .project-credit { line-height: 1.65; }
.course-choices { gap: 16px; margin-top: 24px; }
.course-choice .button { font-size: 16px; min-height: 48px; white-space: normal; }
.hero .course-choice .choice-note { font-size: var(--home-small-size); line-height: 1.5; }
.course-info-link { font-size: 16px; min-height: 44px; padding: 8px 0; margin: 0; }
.button { min-height: 48px; }
.course-details .button { width: 100%; max-width: 320px; }
.practice-copy .approach-link:hover { background: #d9e1cf; color: #35482f; }
.schedule-head { align-items: start; }
.schedule-head > div { flex: 1 1 55%; }
.schedule-head p { flex: 1 1 35%; margin-top: 44px; }
.course-price p, .course-details p, .note, .group-times span,
.course-price .price-label { font-size: 16px; line-height: 1.65; }
.credentials { padding-left: 24px; line-height: 1.7; }
.credentials li + li { margin-top: 12px; }
.faq summary { font-size: var(--home-body-size); min-height: 48px; padding: 10px 0; }
.faq details p { line-height: 1.7; }
.small-groups-message h2 { font-weight: 400; }
footer { font-size: var(--home-small-size); line-height: 1.6; flex-wrap: wrap; }
footer a { display: inline-block; padding-block: 8px; text-underline-offset: 3px; }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 10; padding: 12px 20px; background: var(--paper); color: var(--accent); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 1000px) and (min-width: 761px) {
  header { flex-wrap: wrap; gap: 8px; }
  header nav { width: 100%; justify-content: space-between; gap: 12px; }
  html { scroll-padding-top: 160px; }
}
@media (max-width: 760px) {
  header nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  header nav a { min-height: 44px; font-size: 15px; }
  header nav .button { display: none; }
  html { scroll-padding-top: 170px; }
  .schedule-head p { margin-top: 0; }
  .course { padding: 24px 20px; }
  .course-details { align-items: stretch; }
  .course-details .button { align-self: center; }
  .welcome-below-hero { margin-top: 8px; }
  .teacher-call { margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

.contact-email { overflow-wrap: anywhere; text-underline-offset: 3px; }
.hero-art::after { display: none; }

/* Separate the small tufts from the left clump, keeping the same artwork. */
.grass-tufts:not(.grass-tufts-right) { clip-path: inset(0 56% 0 0); }
.grass-tufts.grass-tufts-right { left: 65%; clip-path: inset(0 0 0 43%); }
