/* A shared finishing layer for the public Earth pages.
   Page-specific compositions and the public Foundations layout stay intact. */
:root {
  --font-serif: var(--serif, Georgia, serif);
  --font-sans: var(--sans, Arial, sans-serif);
  --earth-body-size: 16px;
  --earth-body-leading: 1.85;
  --earth-action-corners: 24px 0 24px 0;
}

/* Regular narrative copy shares one readable rhythm. Italic decks, quotations,
   labels, captions, and footnotes retain their individual typographic roles. */
.home-photography #philosophy .prose,
.home-photography #michele .prose,
.home-photography .home-apothecary .home-apothecary-body,
.home-photography #practice .intro-text,
.home-photography #practice .care-topics .detail-body p,
.home-photography #medicine .medicine-copy > p:not(.eyebrow),
.home-photography #medicine .medicine-note p,
.home-photography .walls-text-only .walls-panel > p:not(.eyebrow):not(.walls-signature),
.home-photography #stillness .stillness-copy > p:not(.eyebrow) {
  font-family: var(--font-sans);
  font-size: var(--earth-body-size);
  line-height: var(--earth-body-leading);
  text-wrap: pretty;
}

/* The text-only private-care invitation sits on one quiet central axis. */
.home-photography .walls-text-only .walls-panel {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}
.home-photography .walls-text-only .walls-panel > .eyebrow {
  margin: 0 auto 22px;
  text-wrap: balance;
}
.home-photography .walls-text-only .walls-panel > h2 {
  margin: 0 auto 24px;
}
.home-photography .walls-text-only .walls-panel > p:not(.eyebrow):not(.walls-signature) {
  max-width: 56ch;
  margin-inline: auto;
  text-wrap: balance;
}
.home-photography .walls-text-only .walls-panel > .walls-signature {
  margin: 24px auto 0;
  text-wrap: balance;
}
.home-photography .walls-text-only .walls-panel > .text-link {
  justify-content: center;
  gap: 22px;
  margin-top: 24px;
}
.home-photography .walls-text-only .walls-panel > small {
  max-width: 440px;
  margin: 24px auto 0;
  text-wrap: balance;
}
@media (max-width: 560px) {
  .home-photography .walls-text-only .walls-panel > p:not(.eyebrow):not(.walls-signature) {
    max-width: 34ch;
  }
  .home-photography .walls-text-only .walls-panel > small {
    max-width: 290px;
  }
}

/* Balance only public editorial headings. Existing deliberate line breaks,
   font sizes, widths, and the Foundations course composition are preserved. */
:where(.home-photography, .interior-page, .service-page, .shop-page) main :is(h1, h2) {
  text-wrap: balance;
}

/* One responsive arch for the portraits already designed with an arch.
   Editorial photographs, the square Training portrait, covers and films keep
   the proportions selected for their content. */
.arch-portrait img,
.experience-grid > figure img,
.gathering-values figure img {
  border-radius: 999px 999px 0 0;
}

.home-apothecary figure img {
  border-radius: 0;
}

/* Keep the subject comfortably inside tall crops of landscape photographs. */
.peri-guide-hero img[src$="dr-michele-burklund-floral-blouse.webp"] {
  object-position: 35% center;
}
.portrait-frame img[src$="my-philosophy-01-00.webp"] {
  object-position: 35% 30%;
}

/* Repeat the established leaf-like CTA silhouette across shopping and care.
   Media controls, disclosure toggles and the Foundations composition retain
   their specific interaction shapes. */
.home-apothecary .home-apothecary-actions .home-apothecary-shop,
.grief-shop-entry .grief-shop-button,
.grief-shop .grief-shop-button,
.grief-protocol-invitation .grief-shop-button,
.protocol-edit .protocol-button,
.home-photography .foundations-feature-actions .button,
.shop-page .edit-shop,
:is(.home-photography, .interior-page, .service-page, .shop-page) .lab-order-cta,
:is(.service-page, .shop-page) .lab-edit .lab-edit-button {
  border-radius: var(--earth-action-corners);
  box-shadow: none;
}

/* Long shop titles fit the same comfortable phone gutters as other pages. */
@media (max-width: 1280px) {
  .course-clinic-header .menu-button {
    position: static;
    left: auto;
    right: auto;
    flex-shrink: 0;
    padding: 12px 0 12px 12px;
  }
}

@media (max-width: 560px) {
  .shop-page .shop-hero h1 {
    font-size: clamp(36px, 10.5vw, 50px);
    letter-spacing: -1.4px;
  }
}
