/* Slab service page: small additions on top of homepage.css (shared design system). */
.sv-hero .hp-hero-inner { padding-top: 72px; padding-bottom: 56px; }
.sv-intro { max-width: 780px; margin: 0 auto 24px; }
.sv-intro p { font-size: 17px; line-height: 1.7; margin: 0 0 16px; text-align: left; }
.sv-intro p:last-child { margin-bottom: 0; }
.sv-local-box { max-width: 780px; margin: 0 auto 28px; text-align: left; }
.sv-local-box ul li { list-style: none; }
.sv-case { max-width: 860px; margin: 0 auto; }
.sv-case h3 { margin-bottom: 12px; }
.sv-emergency h2, .sv-emergency h3 { color: #fff; }
.sv-emergency .hp-sec-head p { color: rgba(255,255,255,.8); font-size: 16.5px; line-height: 1.7; }
.sv-emg-sub { font-size: 21px; font-weight: 800; margin: 0 0 14px; }

/* Tighter spacing on this page only (homepage untouched). */
.hp-section { padding: 40px 0; }
.hp-sec-head { margin-bottom: 28px; }
.hp-note { margin-top: 24px; }
.hp-area-grid { margin-bottom: 32px; }
.hp-cta-band { padding: 48px 0; }
.hp-cta-band p { margin-bottom: 20px; }

/* 3-card step grids (process + cost) fill the container. */
.sv-steps-3 { grid-template-columns: repeat(3, 1fr); }

/* 2-card related services row fills the container. */
.sv-cards-2 { grid-template-columns: repeat(2, 1fr); }

/* Photo case study card: image on top, body below. */
.sv-case--photo { padding: 0; overflow: hidden; }
.sv-case-img img { width: 100%; height: 260px; object-fit: cover; display: block; }
.sv-case-body { padding: 26px 26px 28px; display: flex; flex-direction: column; }

@media (max-width: 1020px) {
  .sv-steps-3 { grid-template-columns: repeat(2, 1fr); }
  .sv-cards-2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .sv-hero .hp-hero-inner { padding-top: 56px; padding-bottom: 40px; }
  .hp-section { padding: 32px 0; }
  .sv-steps-3, .sv-cards-2 { grid-template-columns: 1fr; }
}
