/* =====================================================
   Service Page Template — shared by all 13 service pages
   ===================================================== */

.hero--service { padding: 48px 0 40px; }

.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 28px 0; }
.stats-grid .stat-box { background: none; border: none; padding: 0; text-align: center; }
.stats-grid .stat-box:hover { box-shadow: none; }
.stat-box__num { display: block; font-size: 30px; font-weight: 700; color: var(--primary); font-family: 'Poppins', 'Inter', sans-serif; }
.stat-box__label { display: block; font-size: 13px; color: var(--on-surface-muted); margin-top: 4px; }
@media (max-width: 640px) { .stats-grid { grid-template-columns: 1fr; gap: 20px; } }
.hero--service .hero__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.hero--service h1 { font-size: 34px; font-weight: 700; line-height: 1.25; margin: 0 0 16px; }
.hero--service p { font-size: 15px; line-height: 1.7; color: var(--on-surface-muted); margin: 0 0 24px; }
.hero--service img { border-radius: var(--radius-card); box-shadow: var(--elevation-3); width: 100%; }
@media (max-width: 860px) { .hero--service .hero__inner { grid-template-columns: 1fr; } }

.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { padding: 24px 20px; }
.feature-card h3 { font-size: 15px; margin: 0 0 8px; }
.feature-card p { font-size: 13px; color: var(--on-surface-muted); margin: 0; line-height: 1.6; }
@media (max-width: 860px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }

.service-area__list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.service-area__list a {
  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-pill);
  padding: 8px 18px; font-size: 13px; font-weight: 600; text-decoration: none; color: var(--on-surface);
}
.service-area__list a:hover { border-color: var(--primary); color: var(--primary); }

.local-impact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.local-impact-grid img { border-radius: var(--radius-card); box-shadow: var(--elevation-2); width: 100%; }
.local-impact-points { display: flex; flex-direction: column; gap: 18px; }
.local-impact-points h3 { font-size: 15px; margin: 0 0 6px; }
.local-impact-points p { font-size: 13px; color: var(--on-surface-muted); margin: 0; line-height: 1.6; }
@media (max-width: 860px) { .local-impact-grid { grid-template-columns: 1fr; } }

.final-cta { background: var(--primary); color: #fff; text-align: center; border-radius: var(--radius-card); padding: 48px 30px; }
.final-cta h2 { font-size: 26px; margin: 0 0 12px; }
.final-cta p { font-size: 14px; opacity: .9; max-width: 560px; margin: 0 auto 24px; }
.final-cta .btn--primary { background: #fff; color: var(--primary); }
.final-cta .btn--primary:hover { background: #f2f2f2; }
.final-cta .btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
