/* ============================================================
   96-pages — small additions for the utility pages (contact, FAQ,
   request an appointment, privacy, accessibility, city pages).
   These pages reuse 00-inthero, 23-prose, 18-faq, 50-wwt-grid and
   55-cond-proof markup; this file only adds a prose + facts-rail
   layout, a photo figure, booking-option cards, the beat paragraph
   and background variants. Every selector is scoped under a
   .sec-96-* root class.
   ============================================================ */

/* Hero: same CTA spacing the condition hero uses */
.sec-96-pages-hero .eyebrow { margin-bottom: 1rem; }
.sec-96-pages-hero__note {
  margin-top: 1rem;
  max-width: 52ch;
  font-size: 0.88rem;
  color: var(--text-on-ink-dim);
}
@media (max-width: 560px) {
  .sec-96-pages-hero .sec-00-inthero__meta .btn { width: 100%; }
}

/* Prose sections get vertical rhythm (23-prose ships none of its own) */
.sec-96-pages { background: var(--bone); }
.sec-96-pages--alt { background: var(--bone-2); }
.sec-96-pages--white { background: var(--white); }

/* Children of the prose wrap are capped at 68ch; layout blocks opt out */
.sec-96-pages .sec-23-prose__wrap > .sec-96-pages__cols,
.sec-96-pages .sec-23-prose__wrap > .sec-96-pages__options {
  max-width: none;
}

.sec-96-pages__cols {
  display: grid;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.sec-96-pages__cols > div > * { max-width: 68ch; }
@media (min-width: 960px) {
  .sec-96-pages__cols { grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr); }
  .sec-96-pages__rail { position: sticky; top: calc(var(--nav-h) + 1.5rem); }
}

.sec-96-pages__figure {
  margin: 0 0 1.5rem;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}
.sec-96-pages__figure img { display: block; width: 100%; height: auto; }

.sec-96-pages__facts {
  background: var(--white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  padding: 0.4rem 1.4rem;
}
.sec-96-pages__fact {
  display: grid;
  gap: 0.2rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid hsl(15 10% 20% / 0.1);
}
.sec-96-pages__fact:last-child { border-bottom: 0; }
.sec-96-pages__fact dt {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-strong);
}
.sec-96-pages__fact dd {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--text-on-bone);
}
.sec-96-pages .sec-96-pages__fact a { text-decoration: none; }

/* The one buying-identity / consequence beat per page */
.sec-96-pages p.beat {
  padding-left: 1.1rem;
  border-left: 3px solid var(--accent);
  font-style: italic;
}

.sec-96-pages__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.8rem;
}
.sec-96-pages .sec-96-pages__ctas a.btn { text-decoration: none; }
.sec-96-pages .sec-96-pages__ctas a.btn--solid { color: var(--accent-on); }

/* Request page: two ways to book */
.sec-96-pages__options {
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.6rem);
  margin-top: 1.6rem;
}
@media (min-width: 820px) {
  .sec-96-pages__options { grid-template-columns: 1fr 1fr; }
}
.sec-96-pages__option {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  padding: clamp(1.4rem, 2.4vw, 2rem);
}
.sec-96-pages__option h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin-bottom: 0.7rem;
}
.sec-96-pages__option .sec-96-pages__ctas { margin-top: auto; padding-top: 1.4rem; }

/* City/contact link grids on bone with white cards */
.sec-96-pages-grid.sec-50-wwt-grid { background: var(--white); }

/* Proof quote + closing line (city pages, contact) */
.sec-96-pages-close { background: var(--bone); }
.sec-96-pages-close__inner {
  max-width: 46rem;
  margin: clamp(2.5rem, 5vw, 4rem) auto 0;
  text-align: center;
}
.sec-96-pages-close__inner:first-child { margin-top: 0; }
.sec-96-pages-close__inner h2 { font-size: var(--fs-h3); }
.sec-96-pages-close__inner p {
  margin-top: 0.9rem;
  color: var(--text-on-bone-dim);
}
.sec-96-pages-close .sec-96-pages__ctas { justify-content: center; }
.sec-96-pages__option .sec-96-pages__facts {
  margin-top: 1rem;
  background: var(--bone);
  box-shadow: none;
}
