.service-page-hero {
  padding: 76px 0;
  background: var(--color-primary-light);
}

.service-page-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 58px;
  align-items: center;
}

.service-page-hero img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  border-radius: 16px;
}

.service-page-content { padding: 86px 0; }

.service-content-grid {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 64px;
  align-items: start;
}

.service-content-grid h2,
.faq-section h2,
.related-services h2 {
  font-family: var(--font-bold);
  color: var(--color-primary);
  font-size: clamp(30px,4vw,42px);
  line-height: 1.15;
  margin-bottom: 20px;
}

.service-content-grid h3 {
  font-family: var(--font-bold);
  font-size: 23px;
  margin: 34px 0 16px;
}

.service-content-grid p { color: var(--color-text-muted); line-height: 1.75; }

.check-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 22px;
}
.check-list li { position:relative; padding-left:24px; line-height:1.55; }
.check-list li::before { content:'✓'; position:absolute; left:0; color:var(--color-primary); font-family:var(--font-bold); }

.service-side-card {
  padding: 30px;
  border-top: 4px solid var(--color-primary);
  box-shadow: 0 12px 34px rgba(13,20,26,.09);
  background:#fff;
}
.service-side-card h2 { font-size:26px; }
.service-side-card p { margin: 16px 0; }
.service-side-card a:not(.btn) { color:var(--color-primary); text-decoration:underline; }

.faq-section { padding: 80px 0; }
.faq-grid { max-width: 900px; margin: 0 auto; display:grid; gap:14px; }
.faq-grid details { background:#fff; border:1px solid rgba(1,75,127,.18); padding:20px 22px; }
.faq-grid summary { cursor:pointer; font-family:var(--font-bold); color:var(--color-primary); }
.faq-grid details p { margin-top:14px; color:var(--color-text-muted); line-height:1.65; }

.related-services { padding:70px 0; }
.related-links { display:flex; flex-wrap:wrap; gap:12px; }
.related-links a { padding:12px 16px; border:1px solid rgba(1,75,127,.25); color:var(--color-primary); font-family:var(--font-bold); }
.related-links a:hover { background:var(--color-primary); color:#fff; }

@media (max-width: 900px) {
  .service-page-hero-grid,
  .service-content-grid { grid-template-columns:1fr; }
  .service-page-hero img { height:320px; }
}

@media (max-width: 560px) {
  .service-page-hero { padding:56px 0; }
  .service-page-hero img { height:260px; }
  .check-list { grid-template-columns:1fr; }
}
