/* Serenity at-need service detail pages */
.service-definition-section .service-definition-grid,
.service-detail-grid,
.service-choice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 56px;
  align-items: start;
}
.service-definition-copy h2,
.service-detail-copy h2,
.service-choice-grid h2 { margin: 10px 0 18px; font-family: var(--serif); font-size: clamp(38px, 4.6vw, 64px); line-height: 1.02; color: var(--green-950); }
.service-definition-copy p,
.service-detail-copy p { margin: 0 0 18px; color: var(--muted); }
.service-definition-copy .lead,
.service-detail-copy .lead { color: var(--ink); font-size: 20px; line-height: 1.6; }
.service-definition-card,
.service-detail-card,
.service-scope-card {
  padding: 34px;
  background: var(--cream-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.service-definition-card h3,
.service-detail-card h3,
.service-scope-card h3 { margin: 0 0 16px; font-family: var(--serif); font-size: 29px; line-height: 1.15; color: var(--green-950); }
.service-definition-card p,
.service-detail-card p,
.service-scope-card p { margin: 0; color: var(--muted); }
.service-definition-card p + p,
.service-detail-card p + p,
.service-scope-card p + p { margin-top: 14px; }
.service-scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.service-scope-card--included { border-top: 5px solid var(--lime); }
.service-scope-card--separate { border-top: 5px solid var(--sand); }
.service-list { display: grid; gap: 13px; margin: 20px 0 0; padding: 0; list-style: none; }
.service-list li { display: flex; gap: 12px; align-items: flex-start; }
.service-list li::before { content: "✓"; display: grid; place-items: center; width: 24px; height: 24px; flex: 0 0 24px; margin-top: 2px; color: var(--green-950); background: var(--lime); border-radius: 50%; font-size: 13px; font-weight: 900; }
.service-scope-card--separate .service-list li::before { content: "+"; color: var(--green-900); background: var(--sand); }
.service-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 38px; }
.service-process-card { position: relative; min-height: 255px; padding: 30px 26px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.service-process-card > span { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 26px; color: var(--green-950); background: var(--lime); border-radius: 50%; font-weight: 850; }
.service-process-card h3 { margin: 0 0 12px; font-family: var(--serif); font-size: 25px; line-height: 1.15; color: var(--green-950); }
.service-process-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.service-choice-grid { align-items: center; }
.service-choice-grid h2 { color: var(--white); }
.service-choice-grid > article > p { color: rgba(255,255,255,.82); }
.service-choice-cards { display: grid; gap: 18px; }
.service-choice-cards article { padding: 27px; color: var(--ink); background: var(--white); border-radius: var(--radius); }
.service-choice-cards h3 { margin: 0 0 9px; font-family: var(--serif); font-size: 25px; line-height: 1.2; color: var(--green-950); }
.service-choice-cards p { margin: 0; color: var(--muted); }
.service-reviews-section { overflow: hidden; }
.service-reviews-section .trustindex-widget-shell { min-height: 220px; }
.service-faq-list { margin-top: 38px; }
.atneed-qualifier { padding: 0; background: var(--cream-soft); border-bottom: 1px solid var(--line); }
.atneed-qualifier-inner { min-height: 84px; display: flex; align-items: center; gap: 16px; padding-block: 16px; }
.atneed-qualifier-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; color: var(--green-950); background: var(--lime-soft); border-radius: 50%; }
.atneed-qualifier-icon .icon { width: 21px; }
.atneed-qualifier-inner strong { display: block; color: var(--green-950); }
.atneed-qualifier-inner p { margin: 2px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.atneed-qualifier-badge { margin-left: auto; padding: 8px 13px; color: var(--green-950); background: var(--lime); border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
@media (max-width: 980px) {
  .service-definition-section .service-definition-grid,
  .service-detail-grid,
  .service-choice-grid { grid-template-columns: 1fr; gap: 32px; }
  .service-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .service-scope-grid,
  .service-process-grid { grid-template-columns: 1fr; }
  .service-process-card { min-height: 0; }
  .service-definition-card,
  .service-detail-card,
  .service-scope-card { padding: 25px; }
  .atneed-qualifier-inner { align-items: flex-start; }
  .atneed-qualifier-badge { display: none; }
}
