/* Shared subpage layout (concept / reasons / faq / academy / etc.) */

.p-page {
  /* .l-main already offsets the fixed header */
  padding-top: var(--space-6);
}

.p-page__hero {
  text-align: center;
  margin-bottom: var(--space-10);
}

/*
 * Subpage hero rhythm (reasons baseline)
 * Avoid: header offset + large l-section padding stacking into a tall empty band.
 */
.p-why__hero,
.p-faq__hero,
.p-visit__hero,
.p-concept__hero,
.p-menu-detail__hero,
.p-outcall__hero,
.p-acad__hero,
.p-menu-list__hero,
.p-staff-page__hero,
.p-access-page__hero,
.p-reviews__hero,
.p-concern__hero {
  padding-block: var(--space-8) var(--space-10);
}

@media (min-width: 48rem) {
  .p-why__hero,
  .p-faq__hero,
  .p-visit__hero,
  .p-concept__hero,
  .p-menu-detail__hero,
  .p-outcall__hero,
  .p-acad__hero,
  .p-menu-list__hero,
  .p-staff-page__hero,
  .p-access-page__hero,
  .p-reviews__hero,
  .p-concern__hero {
    padding-block: var(--space-10) var(--space-12);
  }
}

/* Content section right under a page hero: tighten the join */
.p-menu-list__hero + .l-section,
.p-staff-page__hero + .l-section,
.p-access-page__hero + .l-section,
.p-reviews__hero + .l-section,
.p-faq__hero + .l-section,
.p-concern__hero + .l-section {
  padding-top: var(--space-10);
}

@media (max-width: 47.999rem) {
  .p-menu-list__hero + .l-section,
  .p-staff-page__hero + .l-section,
  .p-access-page__hero + .l-section,
  .p-reviews__hero + .l-section,
  .p-faq__hero + .l-section,
  .p-concern__hero + .l-section {
    padding-top: var(--space-8);
  }
}

.p-page__lead {
  max-width: 36rem;
  margin: var(--space-6) auto 0;
  font-size: var(--text-md);
  line-height: var(--leading-relaxed);
  color: var(--color-text-body);
}

.p-page__body {
  max-width: 40rem;
  margin-inline: auto;
}

.p-page__block + .p-page__block {
  margin-top: var(--space-12);
}

.p-page__block-title {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: 400;
  letter-spacing: var(--tracking-wide);
  color: var(--color-text);
  margin-bottom: var(--space-5);
  text-align: center;
}

.p-page__placeholder {
  padding: var(--space-8) var(--space-6);
  background-color: var(--color-cream);
  border: 1px dashed var(--color-border);
  color: var(--color-text-muted);
  text-align: center;
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
}

.p-page__cta {
  margin-top: var(--space-16);
  text-align: center;
}

/* Breadcrumb */
.c-breadcrumb {
  margin-bottom: var(--space-8);
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  color: var(--color-text-muted);
}

.c-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.c-breadcrumb__item:not(:last-child)::after {
  content: "/";
  color: var(--color-text-muted);
  margin-left: var(--space-2);
}

.c-breadcrumb__link {
  color: var(--color-brown);
  transition: color var(--duration-fast) var(--ease-out);
}

.c-breadcrumb__link:hover {
  color: var(--color-gold-text);
}

.c-breadcrumb__current {
  color: var(--color-text-body);
}

/* Section more-link row on TOP */
.p-section-more {
  margin-top: var(--space-10);
  text-align: center;
}

.p-section-teaser {
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
}


/* Subpage type & align rhythm
 * Headings / short catch → center
 * Reading body / lists / FAQ answers → left (block often max-width + centered)
 */
.p-page .l-section-header,
.p-menu-detail__section-head,
.p-outcall__section-head,
.p-why__section-head,
.p-concept__section-head,
.p-concern__section-head,
.p-faq__section-head,
.p-faq__section-title,
.p-visit__section-head,
.p-acad__section-head {
  text-align: center;
}

.p-page .c-prose,
.p-menu-detail__prose,
.p-menu-detail__lead,
.p-outcall__prose,
.p-outcall__lead,
.p-outcall__list,
.p-outcall__note,
.p-outcall__cta-note,
.p-outcall__cta-consult,
.p-why__prose,
.p-concept__prose,
.p-concern__prose,
.p-visit__prose,
.p-acad__prose,
.p-acad__soon-prose,
.c-faq__a,
.p-faq__answer,
.p-staff__message,
.p-staff-page__message,
.p-visit__checklist,
.p-visit__note:not(.p-visit__note--center),
.p-menu-detail__list,
.p-menu-detail__notice,
.p-menu-detail__fineprint,
.p-concern__list,
.p-why__notes {
  text-align: left;
}

/* Short page catches stay centered; multi-sentence page leads → left */
.p-page__lead,
.p-menu-detail__catch,
.p-outcall__catch,
.p-menu-list__lead,
.p-reviews__lead,
.p-staff-page__lead,
.p-why__lead,
.p-concept__lead,
.p-acad__lead {
  text-align: center;
}

/* Multi-paragraph page intros (reading copy) */
.p-visit__lead,
.p-faq__lead,
.p-concern__lead {
  text-align: left;
}

.p-page__cta,
.p-section-more,
.p-menu-detail__hero-cta,
.p-menu-detail__note,
.p-menu-detail__related,
.p-menu-list__more,
.p-concern__cta,
.p-visit__cta,
.p-outcall__cta {
  text-align: center;
}

@media (max-width: 47.999rem) {
  .p-page .l-container,
  .p-menu-detail .l-container,
  .p-concern .l-container {
    padding-inline: clamp(1.25rem, 5.5vw, 1.5rem);
  }

  .p-page .l-section,
  .p-menu-detail__section,
  .p-why__section,
  .p-concern .l-section {
    padding-block: clamp(3.5rem, 10vw, 4rem);
  }
}
