/* Booking page — "Request an Appointment" layout (no online calendar).
   The hero reuses the shared split page-header + .hero-figure pattern. */

.book-section { background: var(--bg); padding-top: 56px; padding-bottom: 64px; }

/* Facts (duration / fee / payment) beside the request card */
.book-details { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.fact-list { list-style: none; margin: 0; padding: 6px 0 0; display: grid; gap: 34px; }
.fact-list li { display: grid; grid-template-columns: 64px 1fr; gap: 26px; align-items: start; }
.fact-list .ic {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--accent-tint); color: var(--ink-soft);
  display: flex; align-items: center; justify-content: center;
  font-family: "Cormorant Garamond", serif; font-size: 30px; line-height: 1;
}
.fact-list .ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.fact-list strong { display: block; font-size: 17px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.fact-list span { display: block; font-size: 17px; color: var(--ink-soft); line-height: 1.6; }

.request-card { background: var(--accent-tint); border-radius: 24px; padding: 40px 36px 36px; }
.request-card h2 { font-size: clamp(30px, 3vw, 38px); line-height: 1.15; margin-bottom: 14px; }
.request-card p { color: var(--ink-soft); font-size: 16px; line-height: 1.7; margin-bottom: 26px; }
.request-card .btn { display: flex; width: 100%; }
.contact-lines { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; }
.contact-lines li { display: flex; align-items: center; gap: 14px; font-size: 16px; color: var(--ink); }
.contact-lines svg { flex: 0 0 auto; width: 22px; height: 22px; fill: none; stroke: var(--ink-soft); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.contact-lines a:hover { color: var(--accent-deep); }

/* Three reassurance points */
.book-features {
  margin-top: 56px; padding-top: 48px; border-top: 1px solid var(--rule);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; text-align: center;
}
.book-features .ic {
  width: 80px; height: 80px; margin: 0 auto 22px; border-radius: 50%;
  background: var(--accent-tint); color: var(--ink-soft);
  display: flex; align-items: center; justify-content: center;
}
.book-features .ic svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.book-features h3 { font-size: 26px; margin-bottom: 10px; }
.book-features p { color: var(--ink-soft); font-size: 16px; line-height: 1.6; max-width: 30ch; margin: 0 auto; }

/* Closing quote band — a lighter wash of the hero band tone */
.book-quote { background: rgba(217, 211, 206, 0.45); text-align: center; padding-top: 56px; padding-bottom: 56px; }
.book-quote p {
  font-family: "Cormorant Garamond", serif; font-style: italic;
  font-size: clamp(28px, 3.4vw, 40px); line-height: 1.3; color: var(--ink);
  max-width: 30ch; margin: 0 auto 26px;
}
.book-quote .hair { margin: 0 auto; }

@media (max-width: 960px) {
  .book-details { grid-template-columns: 1fr; gap: 40px; }
  .book-features { grid-template-columns: 1fr; gap: 36px; }
}
