/* Premium editorial service template — loaded after the base and city styles. */
body.tpl-service {
  --svc-ink: #071528;
  --svc-orange: #f5a000;
}
body.tpl-service .site-header { background: #08101d; border-bottom-color: rgba(245,160,0,.55); }
body.tpl-service .site-header .brand-name,
body.tpl-service .site-header .nav-link { color: #f8fafc; }
body.tpl-service .site-header .brand-city,
body.tpl-service .site-header .nav-link:hover,
body.tpl-service .site-header .nav-link.is-active { color: var(--svc-orange); }
body.tpl-service .svc-hero {
  min-height: min(760px,88vh);
  padding: 96px 0 84px;
  background-color: var(--svc-ink);
  background-position: center;
}
body.tpl-service .svc-hero::before { background: rgba(4,14,29,.64); }
body.tpl-service .svc-hero-inner { min-height: 570px; }
body.tpl-service .svc-hero-text { width: min(760px,100%); }
body.tpl-service .svc-hero-kicker { color: var(--svc-orange); font-size: 14px; letter-spacing: .12em; }
body.tpl-service .svc-hero h1 {
  max-width: 760px;
  margin: 0 0 22px;
  font-size: clamp(44px,5.2vw,76px);
  line-height: 1.12;
  letter-spacing: -.04em;
}
body.tpl-service .svc-hero-slogan { margin: 0 0 16px; color: #fff; font-size: 20px; font-weight: 700; }
body.tpl-service .svc-hero-intro { max-width: 650px; color: #d5deea; }
body.tpl-service .btn-primary { color: var(--svc-ink); background: var(--svc-orange); border-color: var(--svc-orange); }
body.tpl-service .btn-primary:hover { background: #ffb21a; border-color: #ffb21a; }
body.tpl-service .svc-hero .btn-ghost { color: #fff; border-color: rgba(255,255,255,.5); }
body.tpl-service .home-intro { padding: 100px 0; background: #fff; }
body.tpl-service .home-intro h2 { max-width: 720px; font-size: clamp(34px,4vw,56px); line-height: 1.2; }
body.tpl-service .section-heading-split h2 { font-size: clamp(32px,3.5vw,48px); }
body.tpl-service .home-service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid #cbd5e1; }
body.tpl-service .home-service-item {
  display: block;
  padding: 38px 28px 44px;
  border-right: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
}
body.tpl-service .home-service-item:first-child { border-left: 1px solid #cbd5e1; }
body.tpl-service .home-service-item img { width: 100%; height: 170px; margin: 20px 0; border-radius: 0; }
body.tpl-service .home-service-number { color: var(--svc-orange); font-size: 14px; }
body.tpl-service .home-case { background: var(--svc-ink); }
body.tpl-service .home-case-feature { grid-template-columns: 58% 42%; min-height: 520px; border: 0; border-radius: 0; }
body.tpl-service .home-case-media img { min-height: 520px; object-fit: cover; }
body.tpl-service .home-case-feature > div:last-child { padding: 58px; background: #0c213d; }
body.tpl-service .home-case-feature h3 { font-size: clamp(34px,4vw,54px); line-height: 1.15; }
body.tpl-service .credential-strip {
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
}
body.tpl-service .credential-strip > div { padding: 28px 0; border: 0; }
body.tpl-service .city-utility .city-coverage-section { padding: 28px 0; background: #eef2f7; }
body.tpl-service .city-utility .city-coverage-grid,
body.tpl-service .city-utility .city-faq-panel,
body.tpl-service .city-utility .ai-source-citation { display: none; }
body.tpl-service .city-utility .city-region-nav { margin: 0; }
body.tpl-service .cta-band { padding: 90px 0; text-align: left; background: var(--svc-ink); }
body.tpl-service .cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
body.tpl-service .cta-band h2 { max-width: 760px; font-size: clamp(36px,4vw,58px); }
body.tpl-service .cta-band .btn-primary { color: var(--svc-ink); background: var(--svc-orange); border-color: var(--svc-orange); }
body.tpl-service .service-page-header,
body.tpl-service .page-header { color: #fff; background: var(--svc-ink); }
body.tpl-service .service-page-header h1,
body.tpl-service .page-header h1 { color: #fff; font-size: clamp(42px,5vw,68px); }
body.tpl-service .service-page-header p,
body.tpl-service .page-header p,
body.tpl-service .svc-case-meta { color: #cbd5e1; }
body.tpl-service .page-header .svc-case-meta strong { color: inherit; }
body.tpl-service .case-showcase { gap: 0; }
body.tpl-service .case-showcase-item {
  grid-template-columns: 58% 42%;
  min-height: 460px;
  border: 0;
  border-bottom: 1px solid #cbd5e1;
  border-radius: 0;
}
body.tpl-service .case-showcase-item:nth-child(even) .case-showcase-media { order: 2; }
body.tpl-service .case-showcase-media img { min-height: 460px; }
body.tpl-service .case-showcase-copy { padding: 64px; }
body.tpl-service .case-showcase-copy h2 { font-size: clamp(34px,4vw,48px); }
body.tpl-service .case-gallery img { border-radius: 0; }
body.tpl-service .side-card { border-radius: 0; box-shadow: none; }

@media (max-width: 880px) {
  body.tpl-service .svc-hero { min-height: auto; padding: 56px 0; background-position: 62% center; }
  body.tpl-service .svc-hero::before { background: rgba(4,14,29,.78); }
  body.tpl-service .svc-hero-inner { min-height: 570px; align-items: flex-end; }
  body.tpl-service .svc-hero h1 { font-size: 44px; }
  body.tpl-service .home-service-grid { grid-template-columns: 1fr; }
  body.tpl-service .home-service-item:nth-child(n) { border-left: 1px solid #cbd5e1; }
  body.tpl-service .home-case-feature,
  body.tpl-service .case-showcase-item { grid-template-columns: 1fr; }
  body.tpl-service .case-showcase-item:nth-child(even) .case-showcase-media { order: 0; }
  body.tpl-service .home-case-feature > div:last-child,
  body.tpl-service .case-showcase-copy { padding: 34px 24px; }
  body.tpl-service .home-case-media img,
  body.tpl-service .case-showcase-media img { min-height: 280px; }
  body.tpl-service .cta-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  body.tpl-service .svc-hero h1 { font-size: 38px; }
  body.tpl-service .svc-hero-slogan { font-size: 17px; }
  body.tpl-service .svc-hero-stats { gap: 18px; }
  body.tpl-service .home-intro { padding: 70px 0; }
}
