/* ===========================================================================
   Page-specific touches that are not components: spacing where two bands
   meet, and the few places one page differs from the rest.
   =========================================================================== */

/* home: the panel head sits on the steel band and runs straight into the cards */
body .elementor .head-panel + .sec-panel{padding-top:0}

/* the "why" band runs on into its proof cards */
body .elementor .sec-why + .sec-proof{padding-top:0}
body .elementor .sec-why .title .elementor-heading-title{max-width:22ch}

/* contact: the cards band is tighter than a full section */
body .elementor .sec-contact-cards{padding-block:var(--section-y-tight)}

/* estimate: the form leads, the side card follows on phones */
body .elementor .sec-form > .elementor-container{align-items:flex-start}
body .elementor .form-side > .elementor-widget-wrap{padding-top:.5rem}

/* the generator demo's copy column */
body .elementor .demo-copy > .elementor-widget-wrap{max-width:560px}
body .elementor .demo-space{display:block}
@media (max-width:1024px){
  body .elementor .sec-demo > .elementor-container > .elementor-column{width:100%}
  body .elementor .demo-space{display:none}
}

/* about: the story's two columns line up on their middles */
body .elementor .sec-story > .elementor-container{align-items:stretch}

/* the lighting quote band */
body .elementor .sec-quote-band{text-align:center}

/* the "what happens next" row on the estimate page */
body .elementor .sec-next > .elementor-container{align-items:flex-start}
@media (max-width:1024px){
  body .elementor .sec-next > .elementor-container{flex-wrap:wrap}
  body .elementor .sec-next > .elementor-container > .elementor-column{width:100%;margin-bottom:1.6rem}
  body .elementor .sec-next > .elementor-container > .elementor-column + .elementor-column{margin-top:0}
}

/* services: the two split cards stack on tablets */
@media (max-width:1024px){
  body .elementor .sec-split > .elementor-container{flex-wrap:wrap}
  body .elementor .sec-split > .elementor-container > .elementor-column{width:100%}
  body .elementor .sec-split > .elementor-container > .elementor-column + .elementor-column{margin-top:var(--mel-gap)}
}

/* residential: the circuit list's two columns stack on tablets */
@media (max-width:1024px){
  body .elementor .sec-svclist > .elementor-container{flex-wrap:wrap}
  body .elementor .sec-svclist > .elementor-container > .elementor-column{width:100%}
  body .elementor .sec-svclist > .elementor-container > .elementor-column + .elementor-column{margin-top:.75rem}
}

/* mission & values side by side down to tablets, then stacked */
@media (max-width:767px){ body .elementor .sec-mv > .elementor-container > .elementor-column + .elementor-column{margin-top:var(--mel-gap)} }

/* the cards row */
@media (max-width:1024px){
  body .elementor .sec-cards > .elementor-container{flex-wrap:wrap}
  body .elementor .sec-cards > .elementor-container > .elementor-column{width:50%;margin-bottom:var(--mel-gap)}
  body .elementor .sec-cards > .elementor-container > .elementor-column:last-child:nth-child(odd){width:100%}
  body .elementor .sec-cards > .elementor-container > .elementor-column + .elementor-column{margin-top:0}
}
@media (max-width:600px){ body .elementor .sec-cards > .elementor-container > .elementor-column{width:100%} }

/* FAQ intro column */
body .elementor .faq-intro .title .elementor-heading-title{font-size:clamp(2rem, 1.6rem + 1.4vw, 3rem)}
