/* Shared section rhythm for the public Platform, Pricing, Industry, and ranking pages. */
.public-band {
  position: relative;
  overflow: hidden;
  padding: 5.5rem 1.5rem;
}

.public-band[id] { scroll-margin-top: 80px; }
.public-band--plain { background: rgba(8, 13, 24, .2); }
.public-band--dots { background: rgba(9, 14, 25, .62); }
.public-band > .dots-bg,
.public-band > .industry-dots,
.public-band > .ranking-dots { opacity: .58; }

@media (min-width: 1101px) {
  section.public-hero.pricing-hero { min-height: 476px; }
}

.public-band__inner {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.public-section-header {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(340px, .68fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: end;
  margin-bottom: 2.5rem;
  text-align: left;
}

.public-section-header--single { grid-template-columns: minmax(0, 760px); }

.public-section-eyebrow,
.pricing-band .public-section-eyebrow,
.industry-public-section .public-section-eyebrow {
  display: block;
  margin: 0 0 .8rem;
  color: #67e8f9;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.public-section-title,
.pricing-band .public-section-title,
.industry-public-section .public-section-title {
  max-width: 760px;
  margin: 0;
  color: #f8fafc;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.public-section-lead,
.pricing-band .public-section-lead,
.industry-public-section .public-section-lead {
  max-width: 650px;
  margin: 0;
  color: #a9b7ca;
  font-size: 1.02rem;
  line-height: 1.72;
}

@media (max-width: 900px) {
  .public-section-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }
}

@media (max-width: 700px) {
  .public-band { padding: 4rem 1rem; }
  .public-band[id] { scroll-margin-top: 68px; }
  .public-section-header { margin-bottom: 2rem; }
}
