/* Final text-panel polish.
   Kept separate from global.css so the established site styling is not overwritten. */

/* Give the large colored page-introduction panels proper breathing room. */
.page-hero.page-hero-rich {
  padding: clamp(48px, 6vw, 72px) clamp(28px, 5vw, 64px) clamp(34px, 4vw, 48px);
  border: 1px solid rgba(226, 199, 121, 0.28);
  border-radius: 30px;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.22);
}

.page-hero.page-hero-rich h1 {
  max-width: 900px;
  margin-bottom: 20px;
}

.page-hero.page-hero-rich p {
  max-width: 820px;
  margin: 0;
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.65;
}

/* Keep text inside the smaller "bubble" cards consistent and comfortably inset. */
.info-panel,
.range-card,
.service-card,
.policy-card,
.discovery-strip a,
.callout-band,
.inquiry-form,
.biography-pending {
  padding: clamp(26px, 3.5vw, 38px);
}

/* Card headings were inheriting several different oversized rules. */
.info-panel h2,
.range-card h2,
.service-card h2,
.policy-card h2,
.discovery-strip strong,
.callout-band h2,
.inquiry-form h2 {
  line-height: 1.12;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.info-panel h2,
.service-card h2,
.policy-card h2,
.callout-band h2,
.inquiry-form h2 {
  font-size: clamp(25px, 2.7vw, 32px);
}

.range-card h2,
.discovery-strip strong {
  font-size: clamp(23px, 2.4vw, 29px);
}

/* Make explanatory copy uniform across all card-like panels. */
.info-panel p,
.range-card p,
.service-card p,
.policy-card p,
.discovery-strip small,
.callout-band p,
.inquiry-form p,
.biography-pending p,
.artwork-inquiry-summary,
.form-confirmation {
  font-family: Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}

.info-panel p,
.range-card p,
.service-card p,
.policy-card p,
.callout-band p,
.biography-pending p {
  margin-top: 0;
}

.info-panel p:last-child,
.range-card p:last-child,
.service-card p:last-child,
.policy-card p:last-child,
.callout-band p:last-child,
.biography-pending p:last-child {
  margin-bottom: 0;
}

/* About page: with Bob's extra image removed, keep the two information cards tidy. */
.story-aside {
  align-content: start;
}

.story-aside .info-panel {
  min-width: 0;
}

@media (max-width: 680px) {
  .page-hero.page-hero-rich {
    padding: 38px 24px 30px;
    border-radius: 24px;
  }

  .info-panel,
  .range-card,
  .service-card,
  .policy-card,
  .discovery-strip a,
  .callout-band,
  .inquiry-form,
  .biography-pending {
    padding: 24px;
  }
}
