/* Keep the existing HT visual identity while making service headings easier to scan. */
.hero .hero-lead { max-width: 610px; font-size: clamp(1.375rem, 2.1vw, 1.75rem); line-height: 1.4; margin: 0 0 18px; letter-spacing: -.35px; }
.hero h1 span { font-weight: 800; }
.hero .hero-description { max-width: 560px; }
.hero h1 { overflow-wrap: break-word; }
.price-section { background: var(--pale); border-block: 1px solid var(--line); padding-block: 72px; }
.price-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 85px; align-items: start; }
.price-section h2 { font-size: clamp(1.9rem, 3.1vw, 2.65rem); line-height: 1.2; }
.price-section p { color: var(--muted); font-size: 1rem; line-height: 1.8; }
.price-section .text-link { margin-top: 6px; }
.price-factors article { display: grid; grid-template-columns: 30px 1fr; gap: 18px; padding: 19px 0; border-top: 1px solid #cbdbe6; }
.price-factors h3 { font-size: 1.0625rem; margin-bottom: 7px; line-height: 1.45; }
.price-factors article p { margin: 0; }
.price-number { color: #507d91; font-size: .875rem; padding-top: 3px; }
.price-note { margin: 18px 0 0; }
.service-shortcuts { display: flex; flex-wrap: wrap; gap: 12px 23px; margin: 20px 0 0; }
.service-shortcuts a { font-size: .9375rem; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 960px) { .price-grid { gap: 38px; } }
@media (max-width: 740px) {
  .hero .hero-lead { font-size: 1.375rem; }
  .price-section { padding-block: 52px; }
  .price-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .price-section h2 { font-size: clamp(1.8rem, 7.8vw, 2.25rem); }
  .price-factors article { grid-template-columns: 25px minmax(0, 1fr); gap: 13px; }
}
