.service-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  padding: 150px 5% 64px;
  overflow: hidden;
}
.service-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.08));
}
.service-hero-copy { position: relative; z-index: 1; max-width: 940px; }
.service-hero h1 { font-size: 48px; line-height: 1.12; margin: 18px 0; overflow-wrap: anywhere; }
.service-hero p { max-width: 760px; line-height: 1.65; }
.service-breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 14px; }
.service-breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.service-body { background: #fafafa; color: #202225; padding: 56px 5%; }
.service-body-inner { max-width: 1140px; margin: auto; display: grid; grid-template-columns: minmax(0, 760px) minmax(180px, 1fr); gap: 64px; }
.service-copy h2 { font-size: 26px; line-height: 1.3; margin: 36px 0 16px; }
.service-body h2 { color: #202225; }
.service-copy section:first-child h2 { margin-top: 0; }
.service-copy p { line-height: 1.8; margin: 0 0 18px; }
.service-copy a, .service-related a { color: #96302c; text-decoration: underline; text-underline-offset: 3px; }
.service-related h2 { font-size: 18px; margin: 0 0 20px; }
.service-related a { display: block; margin: 0 0 18px; line-height: 1.5; }
.service-faq { padding: 56px 5%; max-width: 1140px; margin: auto; }
.service-faq h2 { font-size: 30px; }
.service-faq details { border-bottom: 1px solid var(--line); padding: 20px 0; }
.service-faq summary { font-size: 18px; font-weight: 650; cursor: pointer; }
.service-faq p { max-width: 820px; line-height: 1.75; color: #cfcece; }
.service-contact { padding: 44px 5%; background: #232526; }
.service-contact h2 { font-size: 28px; margin: 0 0 18px; }
.service-page .catalogue-section h2 { font-size: 30px; }
.service-page .price-table strong { white-space: normal; }
@media (max-width: 760px) {
  .service-hero { min-height: 560px; padding: 112px 20px 40px; }
  .service-hero h1 { font-size: 32px; }
  .service-body { padding: 36px 20px; }
  .service-body-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .service-copy h2 { font-size: 23px; }
  .service-related { border-top: 1px solid #ddd; padding-top: 24px; }
  .service-faq { padding: 32px 20px; }
  .service-faq h2, .service-contact h2, .service-page .catalogue-section h2 { font-size: 25px; }
}
