/* GEO/AEO additions retain the measured QPS theme and supplied artwork. */
.hero .slogan { width: min(520px, 74%); margin-bottom: 20px; }
.hero h1 { font-size: 48px; line-height: 1.08; margin: 0 auto 18px; text-wrap: balance; }
.hero-description { max-width: 800px; margin-inline: auto; font-size: 18px; line-height: 1.55; }
.service-card { display: flex; flex-direction: column; align-items: center; }
.service-card h3 { font-size: 25px; line-height: 1.08; margin-bottom: 11px; }
.service-card .text-link { margin-top: auto; padding-top: 18px; font-size: 15px; }
.service-area, .faq { padding: 64px 0; }
.service-area { background: white; }
.area-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }
.service-area h2 { margin-bottom: 22px; }
.service-area .text-link { margin-top: 22px; }
.business-facts { padding: 28px; background: var(--surface); border-left: 5px solid var(--blue); }
.business-facts h3 { margin-bottom: 20px; }
.business-facts dl { margin: 0; }
.business-facts dt { font-weight: 800; }
.business-facts dd { margin: 0 0 14px; }
.business-facts dd:last-child { margin-bottom: 0; }
.business-facts a, .faq a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.faq-intro { margin-top: 14px; }
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; margin-top: 28px; }
.faq-grid article { padding: 25px 0; border-top: 1px solid var(--pale); }
.faq h3 { font-size: 26px; line-height: 1.2; text-transform: none; margin-bottom: 12px; }
.faq p { line-height: 1.6; }
@media (max-width: 767px) {
  .hero h1 { font-size: 32px; line-height: 1.1; }
  .hero .slogan { width: min(380px, 95%); }
  .hero-description { font-size: 16px; }
  .area-grid, .faq-grid { grid-template-columns: 1fr; gap: 24px; }
  .faq-grid { gap: 0; }
  .service-area, .faq { padding: 40px 0; }
  .business-facts { padding: 22px; }
  .faq h3 { font-size: 24px; }
  .faq p, .service-area p, .business-facts { font-size: 16px; }
  .service-card h3 { font-size: 23px; }
}
