/* Scoped heading sizing keeps descriptive search titles readable on mobile. */
.home-page .hero .home-title-line { white-space: normal; text-wrap: balance; }
.page-hero .search-price-title {
  max-width: 30ch;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(1.8rem, 3.4vw, 3.1rem);
  line-height: 1.2;
  white-space: normal;
  text-wrap: balance;
}
.page-hero .search-page-intro {
  max-width: 66ch;
  margin: 1rem auto 1.5rem;
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--text-soft);
}
.laser-editorial-intro .hero-actions { flex-wrap: wrap; }

.pricing-intro .section-label { margin-bottom: .5rem; }
.page-hero.pricing-intro .search-price-title {
  margin: 0 auto 1.25rem;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}
.pricing-shortcuts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem;
}
.pricing-shortcuts a {
  padding: .65rem 1.1rem;
  border: 1px solid rgba(34, 70, 108, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .75);
  color: var(--navy);
  font-size: .95rem;
}
.pricing-shortcuts a:hover { background: var(--mint-soft); }
.pricing-shortcuts a:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}
.pricing-section[id] {
  scroll-margin-top: calc(var(--site-header-space, 140px) + 1rem);
}
