/* Service content: scoped to reviewed Elementor blocks, without extra JavaScript. */
.pec-service-overview, .pec-service-copy, .pec-service-faq {
  color: #344c60; font-family: 'Plus Jakarta Sans', sans-serif;
  text-align: left; line-height: 1.8;
}
.pec-service-overview { max-width: 1160px; margin: 0 auto; padding: 48px 24px 32px; }
.pec-service-copy { max-width: 900px; margin: 0 auto; padding: 24px; }
.pec-service-overview h1, .pec-service-copy h1, .maintenance-plan-section h1 {
  color: #172f42; font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.2 !important; margin: 0 0 24px; font-weight: 700;
}
.pec-service-copy h2, .pec-service-faq h2 { color: #172f42; font-size: clamp(24px, 3vw, 30px) !important; line-height: 1.3; margin: 32px 0 16px; }
.pec-service-eyebrow { color: #a84e0b; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.pec-service-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.pec-service-links a { padding: 18px 20px; background: #f3f7fa; border: 1px solid #dce5ec; border-radius: 12px; font-weight: 600; }
.pec-service-copy a, .pec-service-faq a, .pec-service-overview a { color: #08659a; text-decoration: underline; text-underline-offset: 3px; }
.pec-service-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; margin: 28px 0 12px; }
.pec-service-actions .pec-service-button { display: inline-block; padding: 14px 22px; background: #08659a; color: #fff; border-radius: 10px; text-decoration: none; font-weight: 700; }
.pec-service-faq { max-width: 900px; margin: 0 auto; padding: 12px 24px 36px; }
.pec-service-copy .pec-service-faq { padding: 0; }
.pec-service-faq details { border-bottom: 1px solid #dce5ec; }
.pec-service-faq summary { padding: 18px 4px; font-weight: 600; color: #172f42; cursor: pointer; }
.pec-service-faq details p { padding: 0 4px 18px; margin: 0; }
.pec-service-links a:focus-visible, .pec-service-actions a:focus-visible, .pec-service-faq summary:focus-visible { outline: 3px solid #ed9a3c; outline-offset: 4px; }
.pec-service-copy ul { padding-left: 24px; list-style: disc; margin: 16px 0 24px; }
.pec-service-photo img { border-radius: 16px; max-height: 420px; object-fit: cover; }
@media (max-width: 600px) {
  .pec-service-links { grid-template-columns: 1fr; }
  .pec-service-copy, .pec-service-overview, .pec-service-faq { padding-left: 16px; padding-right: 16px; }
  .pec-service-actions { align-items: stretch; flex-direction: column; }
  .pec-service-actions .pec-service-button { text-align: center; }
}

/* Services heading belongs to the existing tabbed service section. */
.elementor-element-4179b13 .service-page { padding-top: 48px; }
.elementor-element-4179b13 .pec-service-overview { max-width: none; margin: 0 0 32px !important; padding: 0; text-align: left; }
.elementor-element-4179b13 .pec-service-overview > p:last-child { margin-bottom: 0; }
.elementor-element-4179b13 .pec-service-overview > p { max-width: none; width: auto; margin-left: 0; margin-right: 0; text-align: left; }
.elementor-element-4179b13 .pec-service-overview > .pec-service-eyebrow { color: #a84e0b; font-size: 12px; margin-bottom: 16px; }
