/* All service copy is ordinary, always-visible HTML; no disclosure controls. */
[data-full-content] {
  min-width: 0;
}
.content-heading {
  font-size: 21px;
  line-height: 1.7;
  font-weight: 700;
  margin: 0 0 20px;
  padding: 25px 0 0;
  color: inherit;
}
[data-full-content] > .details-content {
  display: block;
  padding: 0 0 28px;
  max-height: none;
  overflow: visible;
}
.details-content.prose {
  font-size: 18px;
  line-height: 1.95;
}
.hero-original {
  padding-top: 44px;
  padding-bottom: 20px;
}
.hero-original .copy-details {
  max-width: 900px;
  margin-inline: auto;
}
.hero-original .content-heading {
  color: var(--accent);
  padding-top: 0;
}
.hero-original .details-content {
  max-width: none;
  margin: 0;
}
.copy-details > .details-content {
  max-width: 900px;
  margin-inline: auto;
}
.reason-details .content-heading {
  color: #d4ddc8;
}
.area-details .content-heading,
.step-details .content-heading,
.case-details .content-heading,
.package-details .content-heading {
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 18px;
}
.area-card-body {
  padding-bottom: 20px;
}
.area-details .details-content {
  padding-bottom: 8px;
}
.roadmap-heading,
.reservation-copy {
  position: static;
}
.roadmap-heading .copy-details,
.roadmap-promise {
  max-width: none;
}
.step-details .content-heading {
  padding-top: 16px;
}
.step-details .details-content {
  padding-bottom: 5px;
}
.case-grid {
  grid-template-columns: 1fr;
  gap: 28px;
}
.case-card {
  padding: 35px 40px 12px;
}
.case-details .details-content {
  max-width: 920px;
}
.package-details .content-heading {
  color: #c2cfb1;
  padding-top: 20px;
}
.package-details .details-content {
  color: #c2cfb1;
}
.faq-item {
  display: block;
}
.faq-question {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 27px 0 18px;
}
.faq-question h3 {
  flex: 1;
  min-width: 0;
  font-size: 19px;
  line-height: 1.8;
  margin: 4px 0 0;
}
.faq-answer {
  padding: 0 0 32px;
}
.faq-answer > .prose {
  min-width: 0;
  font-size: 18px;
  line-height: 1.95;
}
.closing-details {
  max-width: 780px;
  padding-top: 0;
}
.closing-details .content-heading {
  text-align: left;
  color: var(--accent);
}
.closing-details .details-content {
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  .content-heading {
    font-size: 20px;
    margin-bottom: 18px;
    padding-top: 22px;
  }
  .details-content.prose {
    font-size: 17px;
    line-height: 1.95;
  }
  .hero-original {
    padding-top: 34px;
    padding-bottom: 10px;
  }
  .case-card {
    padding: 28px 22px 10px;
  }
  .area-details .content-heading,
  .step-details .content-heading,
  .case-details .content-heading,
  .package-details .content-heading {
    font-size: 18px;
  }
  .faq-question {
    padding-top: 24px;
    gap: 13px;
  }
  .faq-question h3 {
    font-size: 18px;
    line-height: 1.9;
  }
  .faq-answer > .prose {
    font-size: 17px;
  }
  .faq-answer {
    padding-bottom: 28px;
  }
}
