/* Hub templates — Amp Cove Electrical, development previews */
.hub-hero{background:#141d21;color:#fff;padding:76px 0 88px;overflow:hidden}.hub-hero-grid{display:grid;grid-template-columns:1fr 0.78fr;align-items:center;gap:60px}.hub-hero h1{font-size:clamp(3rem,4.5vw,4.8rem);max-width:800px;line-height:1.04;margin:15px 0 22px;color:#fff}.hub-hero h1 span{color:#a3ff3f}.hub-hero p:not(.eyebrow){font-size:21px;max-width:670px;line-height:1.52;color:#fff}.hub-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hub-hero-graphic{border:1px solid #4f645f;border-radius:18px;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 45%,#31483e,#141d21 74%);color:#fff;font-size:14px;font-weight:800;letter-spacing:.13em;text-align:center}.electric-symbol{font-size:118px;color:#a3ff3f;line-height:1.2}.map-emoji{font-size:100px;color:#a3ff3f}.hub-list-section{background:#f4f6f5}.hub-list-section .section-heading{max-width:830px;margin:0 auto 38px}.hub-list-section .section-heading p{color:#000}.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.hub-card,.state-card{background:#fff;border:1px solid #dce4e0;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px #0a171016}.hub-card-art{height:165px;display:grid;place-items:center;background:linear-gradient(145deg,#172529,#385449);position:relative}.hub-card-art::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,#a3ff3f25,transparent 70%)}.hub-card-art span{font-size:68px;color:#a3ff3f;z-index:1}.hub-card-body{padding:19px 17px 23px}.hub-card-name,.state-name{font-weight:850;font-size:23px;margin:0 0 9px;color:#000}.hub-card-detail{font-size:17px;line-height:1.4;color:#000;margin:0 0 16px}.hub-card-status{display:inline-block;background:#eef6e7;color:#243c22;padding:6px 9px;font-size:13px;font-weight:750;border-radius:6px}.state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.state-card{padding:26px 20px 22px;min-height:170px}.state-icon{display:block;font-size:33px;color:#2d5725;margin-bottom:10px}.directory-note{font-size:16px;color:#000;margin-top:25px}.hub-support,.hub-coverage{background:#fff}.hub-support .split-content p,.hub-coverage .split-content p{color:#000}.hub-faq{background:#f7f8f7}.hub-faq .faq-layout>div>p{color:#000}.hub-cta{background:#141d21;color:#fff;padding:48px 0}.hub-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.hub-cta h2{font-size:clamp(2rem,2.8vw,2.8rem);color:#fff;margin:8px 0}.hub-cta h2 span{color:#a3ff3f}.hub-cta p{color:#fff;font-size:18px;max-width:710px;margin:0}.hub-cta .btn{white-space:nowrap}.hub-coverage .google-map{min-height:365px}.hub-faq .lime-highlight{background:#a3ff3f;color:#141d21;padding:0 .14em;border-radius:.12em}.hub-list-section .lime-highlight{background:#a3ff3f;color:#141d21;padding:0 .14em;border-radius:.12em}
@media(max-width:1050px){.hub-grid,.state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-hero-grid{gap:28px}.hub-hero p:not(.eyebrow){font-size:19px}}
@media(max-width:720px){.hub-hero-grid{grid-template-columns:1fr}.hub-hero{padding:53px 0}.hub-hero-graphic{min-height:180px}.electric-symbol{font-size:84px}.hub-grid,.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-cta-inner{flex-direction:column;align-items:flex-start}.hub-hero p:not(.eyebrow){font-size:18px}}
@media(max-width:430px){.hub-grid,.state-grid{grid-template-columns:1fr}.hub-hero-actions .btn{width:100%;justify-content:center}.hub-card-art{height:150px}}

/* V2 shared visual specification — matches approved homepage */
:root{--dark:#141d21;--green:#a3ff3f;--width:1100px}
body{color:#000}.container{width:min(1100px,calc(100% - 40px))}
.hub-hero,.hub-cta{background:var(--dark);color:#fff}
.hub-hero-image-ready{background-image:linear-gradient(90deg,#141d21 3%,#141d21ef 42%,#141d21a8 70%,#141d2175),var(--hub-hero-image,none);background-size:cover;background-position:center}
.hub-hero-image-ready .hub-hero-graphic{background:transparent;border-color:#ffffff40}
.hub-hero h1 span,.hub-cta h2 span{color:var(--green)}
.hub-coverage h2 .lime-highlight,.hub-support h2 .lime-highlight,.hub-faq h2 .lime-highlight,.hub-list-section h2 .lime-highlight{display:inline; background:var(--green)!important;color:var(--dark)!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-decoration:none;padding:.03em .18em;border-radius:5px;line-height:1.35}
.hub-support p:not(.eyebrow),.hub-coverage p:not(.eyebrow),.hub-faq p:not(.eyebrow),.hub-list-section p:not(.eyebrow){color:#000}
.hub-card-art,.state-card-art{background-image:var(--card-image,linear-gradient(135deg,#213035,#40584b));background-size:cover;background-position:center}
.state-card{padding:0;min-height:0;display:flex;flex-direction:column}
.state-card-art{height:158px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:42px}
.state-card-content{padding:16px 17px 19px}
.state-name{font-size:23px}
.hub-cta-split{padding:0;background:var(--dark);margin:0}
.hub-cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:360px;align-items:stretch;gap:0}
.hub-cta-photo{background:linear-gradient(90deg,#141d2108,#141d2140),var(--cta-image,url('https://images.unsplash.com/photo-1621905251918-48416bd8575a?w=1100&q=80')) center/cover;background-position:center;background-size:cover;min-height:340px}
.hub-cta-copy{padding:48px 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hub-cta-copy h2{margin:6px 0 15px}.hub-cta-copy p:not(.eyebrow){font-size:20px;color:#fff;margin:0 0 23px}
.hub-cta-copy .btn{font-size:19px}
.hub-grid,.state-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
/* A roomy navbar that never crowds the logo or call button. */
@media(min-width:1051px){.header-inner{gap:15px}.logo-link{width:185px}.desktop-nav{gap:17px;font-size:15px}.desktop-call{min-width:146px;font-size:15px}}
@media(min-width:1250px){.logo-link{width:200px}.desktop-nav{gap:19px;font-size:16px}}
@media(max-width:1050px){.hub-grid,.state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.hub-cta-grid{grid-template-columns:1fr}.hub-cta-photo{min-height:240px}.hub-cta-copy{padding:33px 22px 40px}.hub-grid,.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.hub-grid,.state-grid{grid-template-columns:1fr}}

/* Detail page templates */
.detail-hero{padding:105px 0 112px}.detail-hero .container{max-width:1100px}.detail-hero h1{max-width:820px}.detail-hero p:not(.eyebrow){max-width:790px;margin-bottom:26px}
.detail-section{background:#fff}.detail-soft{background:#f4f6f5}.detail-section p:not(.eyebrow),.detail-section li{color:#000}.detail-intro{max-width:860px;margin-bottom:27px}.detail-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.detail-tiles article,.detail-steps article{padding:28px 24px;background:#fff;border:1px solid #dce4e0;border-radius:14px}.detail-tiles h3,.detail-steps h3{font-size:25px;line-height:1.2;color:#000;margin:0 0 12px}.detail-tiles p,.detail-steps p{font-size:20px;line-height:1.5}.detail-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.detail-steps b{color:#141d21;background:#a3ff3f;display:inline-block;border-radius:100px;padding:8px 11px;margin-bottom:17px}.detail-image-placeholder{min-height:365px;border-radius:15px;background:linear-gradient(130deg,#243a3c,#141d21);background-image:var(--detail-image,linear-gradient(130deg,#243a3c,#141d21));background-position:center;background-size:cover;display:grid;place-items:center;color:#fff;text-align:center}.detail-image-placeholder span{padding:17px;background:#141d21bf;border-radius:8px;font-size:14px}.detail-map iframe{width:100%;height:365px;border:0;border-radius:15px}.hub-card-name{margin-bottom:12px}.hub-card-body{padding-bottom:22px}.hub-card-status{font-size:12px}
@media(max-width:950px){.detail-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.detail-hero{padding:65px 0 75px}.detail-tiles,.detail-steps{grid-template-columns:1fr}.detail-image-placeholder{min-height:260px}}

/* V2 approved page treatment: same branded full-bleed hero blend and content widths. */
html,body{max-width:1400px;margin-inline:auto}
.container{width:min(1100px,calc(100% - 40px));margin-inline:auto}
.hub-hero-image-ready{background-image:linear-gradient(90deg,#141d21 0%,#141d21f5 22%,#141d21d1 51%,#141d2170 80%,#141d2138 100%),var(--hub-hero-image,url('https://images.unsplash.com/photo-1621905251918-48416bd8575a?w=1600&q=85'));background-position:center center;background-size:cover;background-repeat:no-repeat}
.hub-hero-image-ready .container{position:relative;z-index:1}
main h2 .lime-highlight{display:inline!important;background:#a3ff3f!important;color:#141d21!important;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.12em;padding:.025em .18em;line-height:1.38;text-decoration:none!important}
.hub-cta h2 .lime-highlight{background:#a3ff3f!important;color:#141d21!important}
.hub-card,.state-card{transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.hub-card:hover,.state-card:hover{transform:translateY(-7px);box-shadow:0 15px 30px #00000020}}
.national-dark-process{background:#141d21!important;color:#fff}
.national-dark-process h2,.national-dark-process h3,.national-dark-process .section-heading>p:not(.eyebrow){color:#fff!important}
.national-dark-process .detail-steps article{background:#202d30;border:1px solid #5a6a66}
.national-dark-process .detail-steps article p{color:#fff!important}
.national-dark-process .detail-steps article b{background:#a3ff3f;color:#141d21}
.city-split-section .city-image{min-height:460px}
.city-split-section .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:46px;align-items:center}
.city-split-section .split-content h2{margin-bottom:27px}
.city-bullets{display:grid;gap:19px}
.city-bullet{font-size:19px;line-height:1.52;color:#000;padding-left:20px;border-left:4px solid #a3ff3f}
.city-bullet strong{font-weight:850;color:#000}
.city-map-section{background:#fff}
.city-map-section .split-content>p:not(.eyebrow){color:#000}
@media(max-width:800px){.city-split-section .split{grid-template-columns:1fr;gap:25px}.city-choice-grid .city-image{order:2}.city-choice-grid .split-content{order:1}.city-split-section .city-image{min-height:310px}}
@media(prefers-reduced-motion:reduce){.hub-card,.state-card{transition:none!important}}

/* V3: full-width blended hero artwork; no standalone decorative icon panels */
.hub-hero-grid{grid-template-columns:minmax(0,1fr)!important}
.hub-hero-grid>div:first-child{max-width:750px}
.hub-hero-image-ready{min-height:440px}

/* V4 shared CTA geometry */
.hub-cta-split{padding:25px 0!important}
.hub-cta-split .hub-cta-grid{gap:27px;align-items:center;min-height:0}
.hub-cta-split .hub-cta-photo{border-radius:16px;min-height:292px;overflow:hidden}
.hub-cta-split .hub-cta-copy{padding:22px 10px 22px 0}
@media(max-width:720px){.hub-cta-split .hub-cta-grid{grid-template-columns:1fr;gap:12px}.hub-cta-split .hub-cta-photo{min-height:220px}.hub-cta-split .hub-cta-copy{padding:18px 5px 22px}}

/* V5 shared typography coherence */
.hub-hero p:not(.eyebrow),.hub-support p:not(.eyebrow),.hub-coverage p:not(.eyebrow),.detail-section p:not(.eyebrow){font-size:21px}
.detail-tiles p,.detail-steps p{font-size:19px}
@media(max-width:680px){.hub-hero p:not(.eyebrow),.hub-support p:not(.eyebrow),.hub-coverage p:not(.eyebrow),.detail-section p:not(.eyebrow){font-size:18px}}

/* V6 state and city-service templates */
.city-directory-featured{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 30px}.city-feature-card{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:14px;border:1px solid #d5ded9;overflow:hidden;color:#000;text-decoration:none;padding-bottom:15px}.city-feature-card strong,.city-feature-card span{padding:0 16px}.city-feature-card span{font-size:16px}.city-feature-image{height:155px;background:#253338 center/cover;background-image:var(--card-image,linear-gradient(135deg,#253338,#526056))}.city-directory-a-z{display:grid;gap:14px}.city-directory-a-z section{background:#fff;border:1px solid #d5ded9;border-radius:12px;padding:14px 20px}.city-directory-a-z h4{margin:0 0 8px;color:#000}.city-directory-a-z a,.city-parent-links a,.state-directory-link{color:#141d21;font-weight:750}.city-parent-links{padding-block:15px}.state-directory-link{display:block;margin:0 17px 18px;text-decoration:underline}.city-feature-card:hover{transform:translateY(-5px)}@media(max-width:850px){.city-directory-featured{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.city-directory-featured{grid-template-columns:1fr}}

/* V7: state city directory and city-service cards */
.city-directory-featured{grid-template-columns:repeat(4,minmax(0,1fr))}
.city-card-preview{cursor:default;opacity:.82}
.city-card-preview:hover{transform:none}
.city-card-preview span{font-size:14px;color:#000}
.city-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin:20px 0 10px}
.city-service-card{display:block;background:#fff;border:1px solid #d5ded9;border-radius:14px;overflow:hidden;text-decoration:none;color:#000;transition:transform .2s ease,box-shadow .2s ease}
.city-service-card h3{font-size:24px;line-height:1.25;padding:17px;margin:0;color:#000}
.city-service-image{height:200px;background:#243338 center/cover;background-image:var(--card-image,linear-gradient(135deg,#243338,#526056))}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.city-service-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px #0002}}
@media(max-width:800px){.city-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.city-services-grid{grid-template-columns:1fr}.city-service-image{height:190px}}

/* V9: Services Hub mobile H1 and section spacing refinements. */
@media (max-width: 720px) {
  .hub-hero {padding: 60px 0 62px;min-height:0;}
  .hub-hero-grid {display:block;}
  .hub-hero h1 {font-size:clamp(2.35rem, 9vw, 3.5rem);line-height:1.16;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;max-width:100%;margin:14px 0 20px;}
  .hub-hero h1 span {display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
  .hub-hero p:not(.eyebrow) {font-size:18px;line-height:1.55;max-width:100%;}
  .hub-hero-actions {margin-top:24px;gap:11px;}
  .hub-hero-actions .btn {max-width:100%;white-space:normal;text-align:center;}
  .hub-list-section {padding-block:58px;}
  .hub-list-section .section-heading {margin-bottom:26px;}
  .hub-list-section .section-heading h2 {line-height:1.22;overflow-wrap:break-word;}
  .hub-grid {gap:14px;}
}
@media (max-width: 390px) {
  .hub-hero h1 {font-size:clamp(2.05rem, 9.1vw, 2.35rem);letter-spacing:-.035em;}
  .hub-hero {padding-block:48px 52px;}
  .hub-list-section .section-heading h2 {font-size:clamp(1.7rem,7.4vw,2.1rem);}
}

@media(max-width:720px){body:has(.hub-list-section .hub-grid) .hub-hero h1{max-width:18ch;}body:has(.hub-list-section .hub-grid) .hub-hero h1 span{display:inline;}}
