/* Shared content alignment for legacy Astro pages.
   Keep the same left edge as the 1240px service-page sections without
   widening prose beyond a comfortable reading column. Header/footer
   styling remains owned by site-chrome. */
main.fd-content-aligned {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 24px;
  padding-bottom: 88px;
}

/* Preserve readable line lengths on editorial, trust and form pages. */
main.fd-content-aligned > :is(p, h2, h3, ul, ol, .card, .article, .cta-row, form) {
  max-width: 860px;
}
main.fd-content-aligned > h1 {
  max-width: 980px !important;
}
main.fd-content-aligned > .lead {
  max-width: 780px;
}

/* Service and article collections should use the full aligned grid. */
main.fd-content-aligned > .card-grid {
  width: 100%;
  max-width: none;
  align-items: stretch;
}
main.fd-content-aligned > .card-grid .card {
  min-width: 0;
  margin-block: 0;
}
main.fd-content-aligned > .card-grid .card h2 {
  overflow-wrap: anywhere;
}
main.fd-content-aligned.pricing-guide {
  max-width: 1240px;
}
main.fd-content-aligned.pricing-guide > .pg-jump {
  max-width: none;
}

@media (min-width: 1100px) {
  main.fd-content-aligned > .card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  main.fd-content-aligned {
    padding-inline: 22px;
    padding-bottom: 64px;
  }
  main.fd-content-aligned > .card-grid {
    grid-template-columns: 1fr;
  }
}
