/* Service information and enquiry improvements. Uses the existing brand tokens. */
.review-section { padding-block: clamp(56px, 7vw, 100px); }
.review-section .h2 { margin-bottom: 24px; }
.review-section .lead { margin-bottom: 36px; }
.review-section--pale { background: var(--c-bg-alt, #F3F6FA); }
.review-section p { line-height: 1.9; }
.review-note { margin-top: 24px; color: var(--c-text-3); font-size: 14px; line-height: 1.9; }
.service-list { padding-top: 24px; }
.service-list .price-card { display: flex; flex-direction: column; }
.service-list .price-card__name { white-space: normal; }
.service-list .price-card__price { margin-top: auto; }
.service-list .link-text { align-self: flex-start; }
.service-detail__links, .service-detail__contact-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 32px; }
.service-detail__links { padding-block: 28px; border-bottom: 1px solid var(--c-border); }
.scope-guide { margin-top: 44px; padding: clamp(22px, 3vw, 36px); background: white; border: 1px solid var(--c-border); border-radius: 12px; }
.scope-guide h3 { margin-bottom: 22px; font-size: 21px; }
.scope-guide dl { display: grid; grid-template-columns: 200px 1fr; }
.scope-guide dt, .scope-guide dd { border-bottom: 1px solid var(--c-border); padding: 18px 0; margin: 0; line-height: 1.8; }
.scope-guide dt { font-weight: 700; }
.scope-guide dd { color: var(--c-text-2); }
.review-flow { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 36px 0 48px; }
.review-flow li { border-top: 1px solid var(--c-line); padding-top: 22px; }
.review-flow span { color: var(--c-blue); font: 500 32px Inter, sans-serif; }
.review-flow h3 { margin-block: 14px; font-size: 20px; }
.review-flow p { color: var(--c-text-2); font-size: 15px; }
.review-faq details { padding: 22px 0; border-bottom: 1px solid var(--c-border); }
.review-faq summary, .review-extra summary { cursor: pointer; font-weight: 700; line-height: 1.8; }
.review-faq p { padding-top: 16px; color: var(--c-text-2); }
.sample-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.sample-preview-grid figure { margin: 0; }
.sample-preview-grid img { width: 100%; height: auto; border-radius: 12px; background: white; }
.sample-preview-grid figcaption { margin-top: 16px; font-weight: 700; }
.sample-preview-grid figcaption span { display: block; color: var(--c-text-3); font-size: 12px; font-weight: 400; margin-bottom: 4px; }
.review-extra { margin-block: 36px 56px; border-block: 1px solid var(--c-border); padding: 24px 0; }
.review-extra p { margin-top: 18px; line-height: 1.9; }
.review-extra .link-text { margin-top: 20px; }
.service-detail__heading { margin-top: 48px; }
.service-detail__price { font-size: clamp(30px, 4vw, 44px); color: var(--c-blue); font-weight: 700; margin-bottom: 24px; }
.service-detail__price small { display: inline-block; color: var(--c-text-3); font-size: 14px; font-weight: 400; }
.review-list { padding-left: 1.4em; font-size: 17px; line-height: 2.2; }
.review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.case-card { min-width: 0; border-bottom: 1px solid var(--c-border); padding-bottom: 28px; }
.case-card img { width: 100%; height: auto; border-radius: 12px; }
.case-card h3 { font-size: 22px; line-height: 1.7; margin-block: 20px; }
.case-card dt { font-size: 13px; font-weight: 700; margin-top: 18px; }
.case-card dd { font-size: 15px; margin: 8px 0 0; line-height: 1.9; color: var(--c-text-2); overflow-wrap: anywhere; }
.review-totals { margin-top: 36px; border-top: 1px solid var(--c-border); padding-top: 28px; }
.review-totals article { padding-block: 22px; }
.scope-guide, .review-faq, .review-totals { overflow-wrap: anywhere; }
.review-section:target { scroll-margin-top: 16px; }
@media (max-width: 1100px) {
  .case-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .sample-preview-grid, .review-flow { grid-template-columns: 1fr; }
  .scope-guide dl { display: block; }
  .scope-guide dt { border: 0; padding-bottom: 0; }
  .scope-guide dd { padding-top: 8px; }
  .scope-guide h3 { font-size: 20px; }
  .review-flow { gap: 24px; }
  .review-faq summary { font-size: 16px; }
  .review-section .lead { font-size: 16px; }
}
