/* Home — Little Blossoms Academy. Composition only; shared patterns live in components.css.
 * Architecture adapted from the client's supplied reference (layout only, all content ours). */


/* ─── Section titles: 40px desktop / 35px mobile ─── */
.sect-intro h2, .sect-tour h2, .sect-special h2, .sect-rooms h2,
.sect-reviews h2, .sect-gallery h2, .sect-faq h2, .find-panel h2 {
  font-size: clamp(2.1875rem, 1.95rem + 1vw, 2.8125rem);
}

/* ─── Intro (centred entity statement) ─── */
.sect-intro { padding-bottom: 1rem; }
.sect-intro .section__head { max-width: 760px; margin-bottom: 0; }

/* ─── Three link cards ─── */
.sect-links .cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }

/* ─── Take a virtual tour — 50/50 split, iframe embed ─── */
.sect-tour { padding-bottom: 80px; }
.sect-tour__grid { display: grid; grid-template-columns: minmax(0, 35fr) minmax(0, 65fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: center; }
.sect-tour__copy h2 { margin-bottom: 1rem; }
.sect-tour__copy p { color: var(--color-ink); max-width: 52ch; margin-bottom: 1rem; }
.sect-tour__copy .btn { margin-top: 0.5rem; }
.sect-tour__photo {
  border-radius: var(--radius-lg, 28px); overflow: hidden;
  box-shadow: 0 20px 44px -20px rgb(41 51 43 / 0.22);
}
.sect-tour__photo img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.sect-tour__actions { display: flex; gap: 0.875rem; flex-wrap: wrap; margin-top: 0.5rem; }
@media (max-width: 900px) { .sect-tour__grid { grid-template-columns: 1fr; } }

/* ─── What makes us special — dark split; waves overlay the FULL band, photo included ─── */
.sect-special { position: relative; background: var(--color-dark); }
.sect-special__band { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
.sect-special__panel {
  display: flex; align-items: center; justify-content: center;
  /* extra block padding keeps the copy clear of the overlaid waves */
  padding-block: calc(clamp(3rem, 7vh, 5rem) + clamp(2rem, 5vw, 4rem));
}
.sect-special__copy {
  width: 100%;
  padding-inline: clamp(2rem, 6vw, 3.5rem);
  padding-inline-start: clamp(1rem, 3vw, 2rem);
}
.sect-special .check-list { grid-template-columns: 1fr; }
.sect-special .check-list li { grid-template-columns: 44px 1fr; }
.sect-special__media { position: relative; }
.sect-special__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* waves sit OVER the whole band (panel + photo), so the paper edge curves the image too */
.sect-special .seam-wave { position: absolute; left: 0; right: 0; z-index: 3; pointer-events: none; }
.sect-special .seam-wave--top { top: -1px; transform: scaleY(-1); }
.sect-special .seam-wave--bottom { bottom: -1px; }
@media (max-width: 900px) {
  .sect-special__band { grid-template-columns: 1fr; }
  .sect-special__panel { flex-direction: column; }
  .sect-special__media { min-height: 340px; }
  .sect-special__copy {
    padding-inline-start: clamp(1.25rem, 5vw, 2.5rem);
    padding-inline-end: clamp(1.25rem, 5vw, 2.5rem);
  }
}

/* ─── The blossom path (four rooms) ─── */
.sect-rooms { position: relative; overflow: hidden; background: var(--color-paper); }
.sect-rooms .container { position: relative; }
.sect-rooms__head { max-width: 720px; margin-bottom: 2.1rem; }
.sect-rooms__head p { color: var(--color-muted); }
/* .rooms-grid — base layout in components.css */
.sect-rooms__cta { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem; }

/* ─── Find our centre — composition only; shared component CSS in components.css ─── */

/* ─── Reviews carousel (centred head) ─── */
.sect-reviews__head { text-align: center; max-width: 780px; margin: 0 auto 2.25rem; }
.sect-reviews__head p { color: var(--color-muted); }

/* ─── Gallery strip ─── */
.sect-gallery { background: var(--color-paper); }
.sect-gallery__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.75rem; }

/* ─── FAQ ─── */
.sect-faq { background: var(--color-paper); }

