/* Small interactions that replace the homepage's React-only UI. */
.ad-page-loader {
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:grid;
  place-items:center;
  background:radial-gradient(ellipse at center,#fff 25%,#eff6fc 100%);
  opacity:1;
  transition:opacity .2s ease;
}
.ad-page-loader[hidden] { display:none; }
.ad-page-loader.is-leaving { opacity:0; pointer-events:none; }
.ad-page-loader__brand { display:flex; flex-direction:column; align-items:center; }
.ad-page-loader__brand img { width:200px; height:125px; object-fit:contain; }
.ad-page-loader__track { width:100px; height:3px; margin-top:6px; overflow:hidden; border-radius:999px; background:#dce9f4; }
.ad-page-loader__track span { display:block; width:40%; height:100%; border-radius:inherit; background:#2d78b7; animation:ad-loader-progress 1s ease-in-out infinite; }
@keyframes ad-loader-progress { from { transform:translateX(-100%); } to { transform:translateX(350%); } }
@media (prefers-reduced-motion:reduce) {
  .ad-page-loader { transition:none; }
  .ad-page-loader__track span { animation:none; width:100%; }
}
.php-nav-item { position: relative; }
.php-dropdown { display: none; position: absolute; top: 100%; left: 0; width: 285px; padding-top: 8px; z-index: 60; }
.php-nav-item:hover .php-dropdown, .php-nav-item:focus-within .php-dropdown { display: block; }
.php-nav-item:hover > a, .php-nav-item:focus-within > a { background: #174A7E; color: white; }
.php-dropdown-panel { max-height: 72vh; overflow-y: auto; padding: 8px; border: 1px solid #e2e8f0; border-radius: 16px; background: rgba(255,255,255,.98); color: #0f172a; box-shadow: 0 20px 50px rgba(15,23,42,.18); }
.php-dropdown-panel::before { content: ''; display: block; height: 2px; margin: -8px -8px 8px; background: linear-gradient(90deg,#174A7E,#2D78B7,#174A7E); }
.php-dropdown-panel a { display: block; padding: 10px 14px; border-radius: 12px; font-size: 12px; font-weight: 700; text-transform: none; letter-spacing: normal; color: #334155; }
.php-dropdown-panel a:hover, .php-dropdown-panel a:focus-visible { background: #eff6ff; color: #174A7E; }
.php-mobile-menu[hidden] { display: none !important; }
.php-mobile-menu { display: none; max-height: 80vh; overflow-y: auto; padding: 16px 20px 24px; border-bottom: 1px solid #e2e8f0; background: #fff; box-shadow: 0 20px 40px rgba(15,23,42,.18); }
.php-mobile-menu > a, .php-mobile-menu summary { display: block; padding: 13px 16px; border-radius: 12px; color: #174A7E; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; cursor: pointer; }
.php-mobile-menu > a:hover, .php-mobile-menu summary:hover { background: #f1f5f9; }
.php-mobile-menu details { border-bottom: 1px solid #f1f5f9; }
.php-mobile-menu details a { display: block; margin: 2px 8px; padding: 9px 18px; border-radius: 8px; color: #475569; font-size: 12px; font-weight: 700; }
.php-mobile-menu details a:hover { background: #eff6ff; color: #174A7E; }
.php-mobile-menu summary::marker { color: #2D78B7; }
.php-service-map { width: 100%; height: 100%; min-height: 500px; background: #0f172a; }
.php-service-map .leaflet-container { width: 100%; height: 100%; }
.php-service-map .leaflet-container:focus { outline: none; }
.php-service-map .leaflet-interactive:focus { outline: none; }
.estimate-option { display: block; overflow: hidden; border: 2px solid #e2e8f0; border-radius: 18px; background: white; cursor: pointer; box-shadow: 0 12px 30px rgba(15,23,42,.05); }
.estimate-option:has(input:checked) { border-color: #245F94; box-shadow: 0 12px 30px rgba(36,95,148,.15); }
.estimate-option input { position: absolute; opacity: 0; }
.estimate-option img { display: block; width: 100%; height: 180px; object-fit: cover; }
.estimate-option span { display: block; padding: 20px; }
.estimate-option strong { display: block; color: #0f172a; font-size: 17px; }
.estimate-option small { display: block; margin-top: 8px; color: #64748b; line-height: 1.5; }
.estimate-field { color: #334155; font-size: 12px; font-weight: 800; }
.estimate-field input, .estimate-field select { display: block; width: 100%; margin-top: 8px; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 10px; background: white; font-size: 14px; font-weight: 500; }
.estimate-field input:focus, .estimate-field select:focus { border-color: #245F94; outline: 2px solid #BFDBFE; }
#estimate-app { min-height: calc(100svh - 80px); }
.estimate-progress-bar { position: sticky; top: 0; z-index: 45; }
.estimate-progress-scroll { overflow-x: auto; scrollbar-width: none; }
.estimate-progress-scroll::-webkit-scrollbar { display: none; }
#estimate-progress { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; min-width: 460px; align-items: center; }
#estimate-progress span { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 4px 2px 10px; border-bottom: 3px solid transparent; }
#estimate-progress span::before { content: attr(data-number); display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; flex: 0 0 34px; border: 2px solid #e2e8f0; border-radius: 999px; background: #fff; color: #94a3b8; font-size: 11px; }
#estimate-progress span[data-status="active"]::before { border-color: #245F94; background: #245F94; color: #fff; box-shadow: 0 8px 20px rgba(36,95,148,.25); }
#estimate-progress span[data-status="complete"]::before { border-color: #10b981; background: #10b981; color: #fff; }
.address-autocomplete-box { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 100; max-height: 260px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; padding: 5px; color: #334155; box-shadow: 0 15px 40px rgba(15,23,42,.2); }
.address-autocomplete-box[hidden] { display: none !important; }
.address-autocomplete-box button { display: block; width: 100%; padding: 11px 12px; border: 0; border-radius: 10px; background: transparent; color: #334155; text-align: left; font-size: 12px; font-weight: 700; }
.address-autocomplete-box button:hover, .address-autocomplete-box button:focus { background: #EFF6FF; color: #1E4F7A; outline: none; }
.address-autocomplete-box small { display: block; border-top: 1px solid #f1f5f9; padding: 7px 12px 3px; color: #94a3b8; font-size: 9px; }
.hero-address-suggestions { position:fixed; z-index:10000; max-width:calc(100vw - 24px); max-height:190px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:1px solid #dbe3ec; border-radius:12px; background:#fff; padding:4px; color:#334155; box-shadow:0 16px 36px rgba(15,23,42,.2); text-align:left; letter-spacing:normal; text-transform:none; overflow-anchor:none; }
.hero-address-suggestions[hidden] { display:none !important; }
.hero-address-suggestions button { display:block; width:100%; height:auto; min-height:0; margin:0; border:0; border-radius:8px; background:transparent; padding:8px 10px; color:#334155; box-shadow:none; font-family:inherit; font-size:11px; font-weight:700; line-height:1.35; letter-spacing:normal; text-align:left; text-transform:none; white-space:normal; cursor:pointer; }
.hero-address-suggestions button:hover,
.hero-address-suggestions button:focus { background:#eff6ff; color:#174A7E; outline:none; }
.php-site-scrolled .php-utility-bar { display: block; }
.php-utility-bar { display:block !important; min-height:42px !important; background:#062b50 !important; color:#fff !important; border-color:#174a7e !important; }
.php-utility-bar > div { min-height:42px !important; padding-top:0 !important; padding-bottom:0 !important; }
.php-utility-bar > div > div { min-height:42px !important; }
.php-utility-bar .ml-auto { margin-left:0 !important; }
@media (min-width:1280px) { .php-utility-bar p.hidden { display:block !important; } }
.php-main-bar { background: #fff !important; }
/* Keep the logo at its existing scale; reclaim its transparent vertical margins. */
.php-main-bar .header-logo-box { display:flex; align-items:center; padding-top:0; padding-bottom:0; }
.php-main-bar .header-logo-box img { margin-top:-5px; margin-bottom:-5px; }
.php-main-bar .php-nav-item { padding-top:9px; padding-bottom:9px; }
@media (max-width:639px) {
  .php-main-bar .header-logo-box img { margin-top:-3px; margin-bottom:-3px; }
}
.php-site-scrolled .php-main-bar { background: #fff !important; border-color: #e2e8f0 !important; backdrop-filter: none !important; box-shadow: 0 4px 14px rgba(15,23,42,.08); }
.php-site-scrolled > div:nth-child(2) nav { color: #0f172a; }
.php-site-scrolled > div:nth-child(2) nav > a { color: #0f172a; }
.php-site-scrolled > div:nth-child(2) nav .php-nav-item > a { color: #0f172a; }
.php-site-scrolled > div:nth-child(2) nav .php-nav-item:hover > a,
.php-site-scrolled > div:nth-child(2) nav .php-nav-item:focus-within > a { color: white; }
@media (max-width: 1023px) { .php-mobile-menu:not([hidden]) { display: block; } }
@media (max-width: 639px) { #estimate-progress span { display: flex; white-space: nowrap; font-size: 7px; gap: 4px; } #estimate-progress span::before { margin: 0; width: 28px; height: 28px; flex-basis: 28px; } }
@media (prefers-reduced-motion: reduce) { .php-dropdown-panel { scroll-behavior: auto; } }

/* SCE Charge Ready Home landing page. */
.sce-page{background:#fff;color:#102a43;font-family:var(--font-sans)}.sce-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.sce-hero{overflow:hidden;background:linear-gradient(125deg,#062b50 0%,#0d4d70 58%,#087f8c 100%);color:#fff}.sce-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;min-height:650px;padding-block:70px}.sce-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:#a9c9dd;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sce-breadcrumbs a:hover{color:#fff}.sce-pill{display:inline-flex;border:1px solid rgba(103,232,249,.35);border-radius:999px;background:rgba(8,145,178,.18);padding:8px 12px;color:#a5f3fc;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.sce-hero h1{max-width:750px;margin:20px 0 18px;font-size:clamp(42px,5.4vw,72px);font-weight:900;letter-spacing:-.055em;line-height:.98}.sce-hero h1 em{color:#60d5e5;font-style:normal}.sce-hero-copy>p{max-width:680px;color:#d4e4ec;font-size:16px;line-height:1.7}.sce-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.sce-btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;border-radius:12px;padding:0 22px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.sce-btn-primary{background:#f5b82e;color:#102a43;box-shadow:0 10px 30px rgba(245,184,46,.2)}.sce-btn-primary:hover{background:#ffd15c}.sce-btn-secondary{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff}.sce-btn-secondary:hover{background:rgba(255,255,255,.13)}.sce-hero-copy>small{display:block;margin-top:16px;color:#a9c9dd;font-size:10px}.sce-hero-media{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:#0f172a;box-shadow:0 28px 70px rgba(0,0,0,.3)}.sce-hero-media img{width:100%;height:500px;object-fit:cover}.sce-hero-media figcaption{position:absolute;right:18px;bottom:18px;left:18px;display:flex;justify-content:space-between;gap:15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(5,25,43,.88);padding:15px 17px}.sce-hero-media figcaption b{font-size:12px;text-transform:uppercase}.sce-hero-media figcaption span{color:#b8d1df;font-size:11px}.sce-trust{border-bottom:1px solid #dce7ee;background:#fff}.sce-trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.sce-trust article{display:flex;gap:14px;align-items:flex-start;padding:28px 25px;border-right:1px solid #e4edf2}.sce-trust article:last-child{border:0}.sce-trust i{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:#e7f7f8;color:#087f8c;font-style:normal;font-weight:900}.sce-trust b,.sce-trust span{display:block}.sce-trust b{font-size:13px}.sce-trust span{margin-top:4px;color:#64748b;font-size:11px;line-height:1.5}.sce-section{padding-block:90px}.sce-section-soft{background:#f4f8fa}.sce-copy-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.sce-kicker{display:block;margin-bottom:13px;color:#087f8c;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.sce-section h2,.sce-final h2{font-size:clamp(32px,4vw,50px);font-weight:900;letter-spacing:-.045em;line-height:1.03}.sce-prose p,.sce-why-grid>div>p{margin-bottom:16px;color:#52677b;font-size:15px;line-height:1.8}.sce-rebate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:45px}.sce-rebate-grid article{border:1px solid #dce7ee;border-radius:20px;background:#fff;padding:28px;box-shadow:0 12px 35px rgba(16,42,67,.05)}.sce-rebate-grid span{color:#087f8c;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.sce-rebate-grid strong{display:block;margin:8px 0;color:#174a7e;font-size:38px;font-weight:900}.sce-rebate-grid p{color:#64748b;font-size:12px;line-height:1.65}.sce-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.sce-check-grid article{border:1px solid #dce7ee;border-radius:18px;background:#fff;padding:24px}.sce-check-grid i{color:#f0a90c;font-size:13px;font-style:normal;font-weight:900}.sce-check-grid h3{margin:15px 0 8px;font-size:15px;font-weight:900}.sce-check-grid p{color:#64748b;font-size:11px;line-height:1.65}.sce-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:26px;border-radius:18px;background:#102a43;padding:24px 28px;color:#fff}.sce-inline-cta b,.sce-inline-cta span{display:block}.sce-inline-cta span{margin-top:4px;color:#b9cad7;font-size:12px}.sce-inline-cta a{flex:none;color:#67e8f9;font-size:12px;font-weight:900}.sce-process{background:#062b50;color:#fff}.sce-process .sce-kicker{color:#67e8f9}.sce-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:38px}.sce-steps article{display:flex;gap:15px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.06);padding:20px}.sce-steps article>b{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:999px;background:#f5b82e;color:#102a43;font-size:12px}.sce-steps h3{font-size:13px;font-weight:900}.sce-steps p{margin-top:6px;color:#b8cbd7;font-size:11px;line-height:1.55}.sce-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.sce-text-link{display:inline-block;margin-top:8px;color:#174a7e;font-size:12px;font-weight:900}.sce-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sce-benefits article{border:1px solid #dce7ee;border-radius:16px;padding:22px}.sce-benefits b,.sce-benefits span{display:block}.sce-benefits b{font-size:13px}.sce-benefits span{margin-top:7px;color:#64748b;font-size:11px;line-height:1.6}.sce-faq{max-width:900px}.sce-faq details{border-bottom:1px solid #dce7ee}.sce-faq summary{position:relative;padding:21px 36px 21px 0;cursor:pointer;list-style:none;font-size:14px;font-weight:900}.sce-faq summary::-webkit-details-marker{display:none}.sce-faq summary:after{content:'+';position:absolute;right:4px;color:#087f8c;font-size:20px}.sce-faq details[open] summary:after{content:'−'}.sce-faq details p{max-width:780px;padding:0 30px 21px 0;color:#64748b;font-size:12px;line-height:1.7}.sce-final{background:linear-gradient(130deg,#087f8c,#174a7e);padding-block:80px;color:#fff;text-align:center}.sce-final .sce-shell{max-width:860px}.sce-final>div>span{color:#b7f3f5;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.sce-final h2{margin:12px 0}.sce-final p{color:#d7eef1}.sce-final .sce-actions{justify-content:center}.sce-final small{display:block;margin:22px auto 0;max-width:760px;color:#c4e0e5;font-size:9px;line-height:1.6}
@media(max-width:900px){.sce-hero-grid,.sce-copy-grid,.sce-why-grid{grid-template-columns:1fr}.sce-hero-grid{gap:35px;padding-block:55px}.sce-hero-media img{height:380px}.sce-trust-grid{grid-template-columns:1fr}.sce-trust article{border-right:0;border-bottom:1px solid #e4edf2}.sce-check-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sce-shell{width:min(100% - 28px,1180px)}.sce-hero-grid{min-height:0;padding-block:40px}.sce-hero h1{font-size:40px}.sce-hero-copy>p{font-size:14px}.sce-actions,.sce-btn{width:100%}.sce-hero-media img{height:300px}.sce-hero-media figcaption{display:block}.sce-hero-media figcaption span{display:block;margin-top:4px}.sce-section{padding-block:60px}.sce-rebate-grid,.sce-check-grid,.sce-steps,.sce-benefits{grid-template-columns:1fr}.sce-inline-cta{display:block}.sce-inline-cta a{display:inline-block;margin-top:18px}}
.sce-section-heading{max-width:850px;margin:0 auto 38px;text-align:center}.sce-section-heading>p{margin-top:14px;color:#64748b;font-size:14px;line-height:1.7}.sce-install-rebates{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:center}.sce-install-rebates article{overflow:hidden;border:1px solid #087f8c;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(16,42,67,.07)}.sce-install-rebates header{background:#08735f;padding:18px;color:#fff;font-size:17px;font-weight:900;text-align:center}.sce-install-rebates article>div{padding:30px;text-align:center}.sce-install-rebates strong{display:block;color:#08735f;font-size:36px;font-weight:900}.sce-install-rebates p{min-height:80px;margin:13px 0;color:#52677b;font-size:13px;line-height:1.65}.sce-install-rebates a{color:#174a7e;font-size:12px;font-weight:900}.sce-or{font-size:11px;font-weight:900}.sce-eligibility-detail{display:grid;grid-template-columns:1.35fr .65fr;gap:55px;align-items:start}.sce-eligibility-main>p{margin:17px 0 28px;color:#52677b;font-size:14px;line-height:1.75}.sce-eligibility-main>p a{color:#174a7e;font-weight:800;text-decoration:underline}.sce-eligibility-main h3,.sce-requirements h3{margin-bottom:16px;font-size:16px;font-weight:900}.sce-program-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}.sce-program-list li,.sce-requirements li{position:relative;padding-left:20px;color:#52677b;font-size:12px;line-height:1.55}.sce-program-list li:before,.sce-requirements li:before{content:'✓';position:absolute;left:0;color:#087f8c;font-weight:900}.sce-requirements{border:1px solid #dce7ee;border-radius:20px;background:#f4f8fa;padding:28px}.sce-requirements ul{display:grid;gap:13px}.sce-requirements form{margin-top:24px;border-top:1px solid #dce7ee;padding-top:22px}.sce-requirements label{display:block;margin-bottom:8px;font-size:11px;font-weight:900;text-transform:uppercase}.sce-requirements form>div{display:flex}.sce-requirements input{min-width:0;flex:1;border:1px solid #cbd5e1;border-radius:10px 0 0 10px;background:#fff;padding:12px;font-size:13px;outline:none}.sce-requirements button{border-radius:0 10px 10px 0;background:#174a7e;padding:0 14px;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}.sce-installation{background:#eaf4f6}.sce-install-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}.sce-install-grid article{border-radius:18px;background:#fff;padding:28px}.sce-install-grid b{font-size:16px}.sce-install-grid p{margin-top:10px;color:#52677b;font-size:12px;line-height:1.75}.sce-code-note{margin-top:20px;color:#52677b;font-size:11px;font-weight:800;text-align:center}
.sce-hook{padding:44px 20px;background:#f4f8fa}.sce-hook-inner{display:grid;grid-template-columns:auto 1fr 260px;gap:26px;align-items:center;width:min(1180px,100%);margin:auto;overflow:hidden;border:1px solid rgba(103,232,249,.25);border-radius:24px;background:linear-gradient(125deg,#062b50,#0c5872);padding:32px;color:#fff;box-shadow:0 18px 45px rgba(15,42,67,.16)}.sce-hook-icon{display:grid;width:68px;height:68px;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.08);font-size:30px}.sce-hook-copy>span{color:#67e8f9;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.sce-hook-copy h2{margin:6px 0 8px;font-size:clamp(23px,3vw,34px);font-weight:900;letter-spacing:-.035em;line-height:1.08}.sce-hook-copy p{max-width:720px;color:#c9dce7;font-size:12px;line-height:1.65}.sce-hook-actions{display:grid;gap:8px}.sce-hook-actions a{display:flex;min-height:46px;align-items:center;justify-content:center;border-radius:10px;padding:10px 14px;text-align:center;font-size:10px;font-weight:900;text-transform:uppercase}.sce-hook-primary{background:#f5b82e;color:#102a43}.sce-hook-secondary{border:1px solid rgba(255,255,255,.25);color:#fff}.sce-hook-actions small{color:#9db8c8;font-size:8px;line-height:1.4;text-align:center}
@media(max-width:900px){.sce-install-rebates,.sce-eligibility-detail{grid-template-columns:1fr}.sce-or{text-align:center}.sce-hook-inner{grid-template-columns:auto 1fr}.sce-hook-actions{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sce-install-rebates article>div{padding:24px 20px}.sce-program-list,.sce-install-grid{grid-template-columns:1fr}.sce-requirements form>div{display:grid;gap:8px}.sce-requirements input,.sce-requirements button{min-height:45px;border-radius:10px}.sce-hook{padding:30px 14px}.sce-hook-inner{grid-template-columns:1fr;padding:25px 20px}.sce-hook-icon{width:52px;height:52px}.sce-hook-actions{grid-column:auto;grid-template-columns:1fr}}
.sce-hook--sce{padding:0 2rem 3rem;background:transparent}.sce-hook--sce .sce-hook-inner{position:relative;grid-template-columns:104px minmax(0,1fr) 230px;gap:28px;width:min(1436px,100%);border:1px solid #47799c;border-radius:24px;background:radial-gradient(circle at 88% 10%,rgba(243,168,75,.18),transparent 32%),linear-gradient(110deg,#123a5b 0%,#102a43 58%,#0a2135 100%);padding:32px 36px;box-shadow:0 18px 42px rgba(2,17,31,.24)}.sce-hook--sce .sce-hook-inner::before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:#f3a84b}.sce-hook--sce .sce-hook-icon{display:flex;width:104px;height:104px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:20px;background:#fff;color:#102a43;box-shadow:0 8px 24px rgba(0,0,0,.17)}.sce-hook--sce .sce-hook-icon strong{font-size:23px;font-weight:950;line-height:1;letter-spacing:-.04em}.sce-hook--sce .sce-hook-icon span{font-size:25px;line-height:1}.sce-hook--sce .sce-hook-copy>span{color:#ffca86;font-size:11px;letter-spacing:.14em}.sce-hook--sce .sce-hook-copy h2{margin:8px 0 10px;font-size:clamp(25px,2.7vw,38px);line-height:1.05}.sce-hook--sce .sce-hook-copy p{max-width:760px;color:#e0ebf2;font-size:14px;line-height:1.55}.sce-hook--sce .sce-hook-actions{position:relative;z-index:1;gap:9px}.sce-hook--sce .sce-hook-actions a{min-height:48px;border-radius:11px;font-size:11px}.sce-hook--sce .sce-hook-primary{background:#f3a84b;color:#102a43}.sce-hook--sce .sce-hook-primary span{font-size:17px}.sce-hook--sce .sce-hook-secondary{border-color:#688da7}.sce-hook--sce .sce-hook-actions small{color:#aec4d4;font-size:9px}.sce-hook--sce .sce-hook-inner:hover{border-color:#f3a84b;box-shadow:0 24px 48px rgba(2,17,31,.32)}
@media(max-width:900px){.sce-hook--sce .sce-hook-inner{grid-template-columns:88px minmax(0,1fr);padding:28px}.sce-hook--sce .sce-hook-icon{width:88px;height:88px}.sce-hook--sce .sce-hook-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sce-hook--sce{padding:0 1rem 2.5rem}.sce-hook--sce .sce-hook-inner{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:22px 18px 24px 24px;border-radius:20px}.sce-hook--sce .sce-hook-icon{width:64px;height:64px;border-radius:13px}.sce-hook--sce .sce-hook-icon strong{font-size:17px}.sce-hook--sce .sce-hook-icon span{font-size:18px}.sce-hook--sce .sce-hook-copy h2{font-size:22px}.sce-hook--sce .sce-hook-copy p{font-size:13px}.sce-hook--sce .sce-hook-copy>span{font-size:9px}.sce-hook--sce .sce-hook-actions{grid-column:1/-1;grid-template-columns:1fr;margin-top:3px}}
.sce-hook--sce{margin-top:15px}
.anaheim-hook-inner{background:linear-gradient(125deg,#102a43,#174a7e)}.anaheim-rebate-amounts{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.anaheim-rebate-amounts b{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);padding:7px 10px;color:#d6e6f0;font-size:9px;text-transform:uppercase}.anaheim-rebate-amounts em{color:#f5b82e;font-size:13px;font-style:normal;font-weight:900}

/* Keep every desktop estimate step inside one viewport. */
@media (min-width: 1024px) and (min-height: 700px) {
  body.estimate-page { height: 100svh; min-height: 0; overflow: hidden; }
  body.estimate-page > header .php-utility-bar > div { padding-top: 5px; padding-bottom: 5px; }
  body.estimate-page > header .php-main-bar img { height: 48px !important; }
  body.estimate-page > header .php-main-bar .origin-left { padding-top: 5px !important; padding-bottom: 5px !important; }
  body.estimate-page #estimate-app { min-height: 0; flex: 1 1 auto; overflow: hidden; }
  body.estimate-page .estimate-progress-bar { position: relative; }
  body.estimate-page .estimate-progress-scroll { padding-top: 7px; padding-bottom: 7px; }
  body.estimate-page #estimate-progress span { padding-top: 1px; padding-bottom: 4px !important; }
  body.estimate-page #estimate-progress span::before { width: 28px; height: 28px; flex-basis: 28px; }
  body.estimate-page #estimate-form { padding-top: 16px; padding-bottom: 12px; }
  body.estimate-page .estimate-step > :is(h1,h2) { margin-top: 6px; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.05; }
  body.estimate-page .estimate-step > :is(h1,h2) + p { margin-top: 8px; }
  body.estimate-page .estimate-step > .mt-8 { margin-top: 16px; }
  body.estimate-page .estimate-step > .mt-6 { margin-top: 12px; }
  body.estimate-page .estimate-step[data-step="1"] .min-h-\[300px\] { min-height: 210px; height: min(30vh, 260px); }
  body.estimate-page .estimate-option img { height: min(22vh, 160px); }
  body.estimate-page .estimate-option span { padding: 14px; }
  body.estimate-page .estimate-actions { margin-top: 14px; }
}

/* DAE Electric brand palette: panel blue, steel blue, pale blue, and soft navy. */
:root {
  --color-amber-50: #eff6ff;
  --color-amber-100: #dbeafe;
  --color-amber-200: #bfdbfe;
  --color-amber-300: #93c5fd;
  --color-amber-400: #60a5fa;
  --color-amber-500: #3b82f6;
  --color-amber-600: #2563eb;
  --color-amber-700: #1d4ed8;
  --color-amber-800: #1e40af;
  --color-amber-900: #1e3a8a;
  --color-amber-950: #172554;
  --color-orange-50: #f0f7ff;
  --color-orange-100: #dcecff;
  --color-orange-200: #bddcff;
  --color-orange-300: #8fc3f4;
  --color-orange-400: #5a9ed5;
  --color-orange-500: #367eb8;
}

/* Homepage hero refinement for the DAE Electric rebrand. */
.hero-overlay-base {
  background: rgba(20, 55, 86, .28) !important;
}
.hero-overlay-side {
  background: linear-gradient(90deg, rgba(16, 42, 67, .62) 0%, rgba(16, 42, 67, .34) 48%, rgba(16, 42, 67, .06) 100%) !important;
}
.hero-overlay-bottom {
  background: linear-gradient(0deg, rgba(16, 42, 67, .28) 0%, rgba(16, 42, 67, .05) 52%, transparent 100%) !important;
}
.hero-construction-title {
  color: #60a5fa !important;
  text-shadow: 0 2px 10px rgba(7, 17, 31, .38);
}
.hero-estimate-badge {
  border-color: #bfdbfe !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .12) !important;
}
.hero-estimate-badge span { color: #334155 !important; }
.hero-estimate-card {
  border-color: rgba(203, 213, 225, .95) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .18) !important;
  backdrop-filter: blur(14px);
}
.hero-estimate-card h2 { color: #0f172a !important; }
.hero-estimate-card p,
.hero-estimate-card label,
.hero-estimate-card .text-slate-400,
.hero-estimate-card .text-slate-500 { color: #64748b !important; }
.hero-estimate-card .mb-3.flex.items-center.gap-2 > div:first-child {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
}
.hero-estimate-card .mb-3.flex.items-center.gap-2 > div:first-child svg {
  color: #174a7e !important;
}
.hero-estimate-card .mb-3.flex.items-center.gap-2 > div:last-child > div:first-child {
  color: #111827 !important;
  font-weight: 900;
}
.hero-estimate-card .mb-3.flex.items-center.gap-2 > div:last-child > div:last-child {
  color: #475569 !important;
  font-weight: 600;
}
.hero-estimate-field {
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}
.hero-estimate-field:focus-within {
  border-color: #2d78b7 !important;
  box-shadow: 0 0 0 3px rgba(45, 120, 183, .12);
}
.hero-estimate-field input {
  border-color: #cbd5e1 !important;
  background: transparent !important;
  color: #0f172a !important;
}
.hero-estimate-field input::placeholder { color: #94a3b8 !important; }
.hero-estimate-submit {
  color: #fff !important;
  background: linear-gradient(135deg, #2d78b7 0%, #174a7e 100%) !important;
  box-shadow: 0 10px 24px rgba(23, 74, 126, .22) !important;
}
.hero-estimate-submit:hover {
  background: linear-gradient(135deg, #256da8 0%, #10375f 100%) !important;
  box-shadow: 0 14px 28px rgba(23, 74, 126, .26) !important;
}
@media (max-width: 1023px) {
  .hero-overlay-base { background: rgba(20, 55, 86, .36) !important; }
  .hero-overlay-side { background: linear-gradient(90deg, rgba(16, 42, 67, .7), rgba(16, 42, 67, .28)) !important; }
}

/* Complete estimate workflow */
.estimate-shell { --estimate-blue:#174a7e; --estimate-bright:#2d78b7; --estimate-ink:#10233f; --estimate-green:#10b981; display:flex; min-height:0; flex:1; flex-direction:column; overflow:hidden; background:#f5f7fa; color:var(--estimate-ink); }
.estimate-shell .hidden { display:none !important; }
.estimate-progress-bar { position:relative; z-index:45; flex:0 0 auto; border-bottom:1px solid #dbe3ec; background:#fff; box-shadow:none; }
.estimate-progress-scroll { max-width:1800px; width:100%; margin:auto; padding:10px 42px; overflow-x:auto; }
#estimate-progress { display:grid !important; grid-template-columns:repeat(5,minmax(150px,1fr)); min-width:850px; gap:24px; }
#estimate-progress span { position:relative; display:grid; grid-template-columns:44px 1fr; grid-template-rows:1fr 1fr; align-items:center; justify-content:start; gap:0 12px; min-width:0; padding:0 0 0 0 !important; border:0 !important; color:#94a3b8; text-align:left; }
#estimate-progress span::before { content:attr(data-number); grid-row:1/3; display:flex; width:42px; height:42px; align-items:center; justify-content:center; border:2px solid #dce5ef; border-radius:50%; background:#fff; color:#94a3b8; font-size:13px; font-style:normal; font-weight:900; }
#estimate-progress span:not(:last-child)::after { content:''; position:absolute; left:136px; right:-13px; top:20px; height:4px; border-radius:5px; background:#edf2f7; }
#estimate-progress span b { align-self:end; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
#estimate-progress span em { align-self:start; font-size:11px; font-style:normal; font-weight:800; text-transform:none; }
#estimate-progress span[data-status=active] { color:var(--estimate-blue); }
#estimate-progress span[data-status=active]::before { border-color:var(--estimate-blue); background:var(--estimate-blue); color:#fff; box-shadow:0 8px 20px rgba(23,74,126,.18); }
#estimate-progress span[data-status=complete] { color:#059669; }
#estimate-progress span[data-status=complete]::before { content:'✓'; border-color:var(--estimate-green); background:var(--estimate-green); color:#fff; }
#estimate-progress span[data-status=complete]::after { background:linear-gradient(90deg,var(--estimate-green),var(--estimate-bright)); }
#estimate-form { position:relative; display:flex; min-height:0; flex:1; flex-direction:column; max-width:none; width:100%; margin:0; padding:0 0 58px; }
.estimate-step { min-height:0; flex:1; width:100%; }
.estimate-alert { position:absolute; z-index:80; top:10px; left:50%; width:min(92%,650px); transform:translateX(-50%); border:1px solid #fecaca; border-radius:12px; background:#fff1f2; padding:11px 15px; color:#b91c1c; box-shadow:0 10px 30px rgba(127,29,29,.14); font-size:12px; font-weight:800; }
.estimate-eyebrow { color:var(--estimate-blue); font-size:9px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.estimate-eyebrow::before { content:''; display:inline-block; width:25px; height:1px; margin:0 10px 3px 0; background:var(--estimate-bright); }
.estimate-step :is(h1,h2) { margin:10px 0 8px; color:var(--estimate-ink); font-size:clamp(27px,2.5vw,43px); line-height:1.05; font-weight:900; letter-spacing:-.04em; }
.estimate-step > p,.estimate-location-details > p { color:#64748b; font-size:13px; line-height:1.55; }
.estimate-location { display:grid; grid-template-columns:1.35fr .8fr; align-items:center; gap:42px; max-width:1800px; margin:auto; padding:18px 48px; }
.estimate-map-column,.estimate-location-details { min-width:0; }
.estimate-verified { display:flex; align-items:center; gap:9px; margin-bottom:8px; color:#235e66; font-size:12px; }
.estimate-verified span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:#ecfdf5; color:#059669; }
.estimate-map-card { overflow:hidden; border:1px solid #dbe3ec; border-radius:24px; background:#fff; box-shadow:0 15px 45px rgba(15,23,42,.06); }
.estimate-map-frame { position:relative; height:min(43vh,420px); min-height:230px; overflow:hidden; background:#dbe3ec; }
.estimate-map-frame img,.estimate-details-map img { width:100%; height:100%; object-fit:cover; }
.estimate-map-card > strong { display:block; padding:12px 20px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; }
.estimate-map-loading { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; flex-direction:column; background:rgba(16,35,63,.82); color:#fff; backdrop-filter:blur(3px); }
.estimate-map-loading small { margin-top:5px; color:#cbd5e1; }
.estimate-spinner,.estimate-mini-spinner { display:block; border:3px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; animation:estimate-spin .8s linear infinite; }
.estimate-spinner { width:34px; height:34px; margin-bottom:10px; }
.estimate-mini-spinner { position:absolute; right:16px; top:16px; width:18px; height:18px; border-color:#dbeafe; border-top-color:var(--estimate-blue); }
@keyframes estimate-spin { to { transform:rotate(360deg); } }
.estimate-map-pin { position:absolute; left:50%; top:50%; z-index:1; display:grid; width:44px; height:44px; place-items:center; transform:translate(-50%,-50%); border:4px solid #fff; border-radius:50%; background:var(--estimate-blue); color:#fff; box-shadow:0 8px 22px rgba(15,23,42,.3); font-size:23px; }
.estimate-address-wrap { position:relative; margin-top:14px; }
.estimate-address-wrap input { width:100%; height:56px; border:1px solid #cbd5e1; border-radius:13px; background:#fff; padding:0 45px 0 17px; color:#0f172a; font-size:14px; outline:none; }
.estimate-address-wrap input:focus { border-color:var(--estimate-bright); box-shadow:0 0 0 3px rgba(45,120,183,.1); }
.estimate-suggestions { position:absolute; z-index:70; left:0; right:0; top:calc(100% + 5px); max-height:230px; overflow:auto; border:1px solid #dbe3ec; border-radius:13px; background:#fff; padding:5px; box-shadow:0 18px 40px rgba(15,23,42,.16); }
.estimate-suggestions button { display:block; width:100%; border:0; border-radius:9px; background:transparent; padding:11px 12px; color:#334155; text-align:left; font-size:12px; font-weight:700; }
.estimate-suggestions button:hover { background:#eff6ff; color:var(--estimate-blue); }
.estimate-location-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.estimate-location-fields label,.estimate-property-stats label { display:flex; min-width:0; flex-direction:column; border:1px solid #dbe3ec; border-radius:12px; background:#fff; padding:10px 12px; color:#94a3b8; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 2px 5px rgba(15,23,42,.05); }
.estimate-location-fields strong,.estimate-property-stats strong { overflow:hidden; margin-top:3px; color:#172033; font-size:12px; letter-spacing:0; text-overflow:ellipsis; text-transform:none; white-space:nowrap; }
.estimate-property-stats { margin-top:14px; }
.estimate-property-stats h2 { margin:0 0 8px; color:#235e66; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.estimate-property-stats > div { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.estimate-property-stats small { margin-top:2px; font-weight:500; letter-spacing:0; text-transform:none; }
.estimate-property-stats .estimate-blue { color:var(--estimate-bright); }
.estimate-centered { display:flex; align-items:center; flex-direction:column; justify-content:center; padding:20px 30px; text-align:center; }
.estimate-goals { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; width:min(100%,1000px); margin-top:22px; text-align:left; }
.estimate-goal { position:relative; display:flex; overflow:hidden; min-height:335px; flex-direction:column; border:2px solid #dbe3ec; border-radius:24px; background:#fff; color:inherit; cursor:pointer; text-decoration:none; transition:.2s; }
.estimate-goal:hover,.estimate-goal:has(input:checked) { border-color:var(--estimate-bright); transform:translateY(-2px); box-shadow:0 14px 35px rgba(23,74,126,.12); }
.estimate-goal input { position:absolute; opacity:0; }
.estimate-goal > img { width:100%; height:145px; object-fit:cover; }
.estimate-choice { position:absolute; z-index:2; top:17px; right:17px; width:28px; height:28px; border:2px solid #fff; border-radius:50%; background:rgba(255,255,255,.85); box-shadow:0 2px 8px rgba(15,23,42,.16); }
.estimate-goal:has(input:checked) .estimate-choice { background:var(--estimate-blue); box-shadow:inset 0 0 0 7px #fff; }
.estimate-badge { position:absolute; z-index:2; top:18px; left:18px; border-radius:20px; background:#fff; padding:5px 12px; color:var(--estimate-blue); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.estimate-goal-copy { display:flex; flex:1; flex-direction:column; padding:20px 22px; }
.estimate-goal-copy strong { font-size:20px; }
.estimate-goal-copy small { margin-top:10px; color:#64748b; font-size:12px; line-height:1.55; }
.estimate-goal-copy b { margin-top:auto; padding-top:15px; border-top:1px solid #edf2f7; color:#486284; font-size:10px; }
.estimate-helper { margin-top:13px; font-size:10px !important; }
.estimate-bill-card { width:min(100%,620px); margin-top:22px; border:1px solid #dbe3ec; border-radius:26px; background:#fff; padding:22px; text-align:left; box-shadow:0 18px 50px rgba(15,23,42,.07); }
.estimate-card-heading { display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.estimate-card-heading > span { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; background:#eff6ff; color:var(--estimate-blue); font-size:22px; font-weight:900; }
.estimate-card-heading div { display:flex; flex-direction:column; }
.estimate-card-heading strong { font-size:15px; }.estimate-card-heading small { margin-top:2px; color:#94a3b8; font-size:10px; }
.estimate-bill-input { display:flex; align-items:center; height:66px; border:1px solid #dbe3ec; border-radius:13px; background:#f8fafc; padding:0 20px; }
.estimate-bill-input span { color:var(--estimate-blue); font-size:24px; }.estimate-bill-input input { width:100%; border:0; background:transparent; padding:0 13px; color:#172033; font-size:24px; font-weight:900; outline:0; }
.estimate-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:14px; }.estimate-presets button { border:1px solid #dbe3ec; border-radius:10px; background:#fff; padding:10px; color:#486284; font-size:11px; font-weight:800; }.estimate-presets button:hover { border-color:var(--estimate-bright); color:var(--estimate-blue); }
.estimate-details { display:grid; grid-template-columns:.85fr 1fr; align-items:center; gap:30px; max-width:1500px; margin:auto; padding:22px 45px; }
.estimate-details-map { position:relative; height:min(45vh,380px); overflow:hidden; border-radius:22px; background:#dbe3ec; box-shadow:0 15px 45px rgba(15,23,42,.09); }
.estimate-details-map > div { position:absolute; left:18px; right:18px; bottom:18px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.35); border-radius:13px; background:rgba(15,23,42,.52); padding:12px 16px; color:#fff; backdrop-filter:blur(8px); }.estimate-details-map small { text-transform:uppercase; }.estimate-details-form :is(h1,h2) { font-size:clamp(28px,2.5vw,42px); }
.estimate-fields { display:grid; grid-template-columns:repeat(2,1fr); gap:11px 14px; margin-top:16px; }.estimate-fields label { color:#486284; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.estimate-fields input,.estimate-fields select { display:block; width:100%; height:47px; margin-top:5px; border:1px solid #dbe3ec; border-radius:10px; background:#fff; padding:0 13px; color:#334155; font-size:12px; outline:none; }.estimate-fields input:focus,.estimate-fields select:focus { border-color:var(--estimate-bright); box-shadow:0 0 0 3px rgba(45,120,183,.08); }.estimate-field-wide { grid-column:1/-1; }.estimate-privacy { margin-top:11px; color:#64748b; font-size:9px; }
.estimate-proposal { display:flex; align-items:center; justify-content:center; padding:15px 30px; text-align:center; }.estimate-ready { width:min(100%,820px); }.estimate-sparkle { display:grid; width:58px; height:58px; margin:0 auto 13px; place-items:center; border-radius:17px; background:#eff6ff; color:var(--estimate-blue); font-size:28px; }.estimate-ready .estimate-eyebrow::before,.estimate-generating .estimate-eyebrow::before { display:none; }.estimate-ready > p { max-width:650px; margin:0 auto; }.estimate-summary { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 16px; margin:22px auto 20px; border:1px solid #dbe3ec; border-radius:13px; background:#fff; padding:14px 20px; box-shadow:0 3px 8px rgba(15,23,42,.06); color:#486284; font-size:11px; }.estimate-summary span:first-child { max-width:360px; overflow:hidden; color:#172033; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }.estimate-summary i { color:#cbd5e1; }.estimate-ready > small { display:block; margin-top:10px; color:#94a3b8; font-size:9px; }
.estimate-primary { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:13px; border:0; border-radius:999px; background:linear-gradient(135deg,var(--estimate-bright),var(--estimate-blue)); padding:0 28px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; box-shadow:0 10px 24px rgba(23,74,126,.18); transition:.2s; }.estimate-primary:hover { background:#10375f; transform:translateY(-1px); }.estimate-primary:disabled { cursor:not-allowed; opacity:.35; transform:none; box-shadow:none; }
.estimate-generating { width:min(100%,720px); border:1px solid #dbe3ec; border-radius:26px; background:#fff; padding:26px 30px; box-shadow:0 18px 50px rgba(15,23,42,.07); }.estimate-spinner-blue { margin:0 auto 12px; border-color:#dbeafe; border-top-color:var(--estimate-blue); }.estimate-generating h2 { max-width:600px; margin:8px auto 22px; font-size:24px; line-height:1.2; }.estimate-progress-label { display:flex; justify-content:space-between; color:#64748b; font-size:10px; font-weight:800; }.estimate-progress-label strong { color:var(--estimate-blue); font-size:14px; }.estimate-generation-track { height:10px; margin-top:7px; overflow:hidden; border-radius:10px; background:#edf2f7; }.estimate-generation-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--estimate-bright),var(--estimate-blue)); transition:width .3s linear; }.estimate-generation-stages { display:grid; gap:5px; margin-top:18px; text-align:left; }.estimate-generation-stages > div { display:flex; align-items:center; gap:12px; border-radius:12px; padding:8px 10px; color:#94a3b8; }.estimate-generation-stages > div > span { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:10px; background:#f1f5f9; }.estimate-generation-stages p { display:flex; flex-direction:column; }.estimate-generation-stages small { margin-top:2px; font-size:9px; }.estimate-generation-stages .active { background:#eff6ff; color:var(--estimate-blue); }.estimate-generation-stages .active > span { background:var(--estimate-blue); color:#fff; }.estimate-generation-stages .complete { color:#334155; }.estimate-generation-stages .complete > span { background:var(--estimate-green); color:#fff; }
.estimate-complete { width:min(100%,980px); max-height:none; overflow:visible; border:1px solid #dbe3ec; border-radius:24px; background:#fff; padding:13px 18px; text-align:left; box-shadow:0 18px 55px rgba(15,23,42,.08); }.estimate-complete-title { display:flex; align-items:center; gap:12px; padding-bottom:8px; border-bottom:1px solid #edf2f7; }.estimate-complete-title > span { display:grid; width:43px; height:43px; place-items:center; border-radius:14px; background:#ecfdf5; color:#059669; font-size:20px; }.estimate-complete-title h2 { margin:0; font-size:20px; }.estimate-complete-title p { margin:2px 0 0; color:#64748b; font-size:10px; }.estimate-result-address { display:flex; justify-content:space-between; gap:15px; margin-top:7px; border-radius:10px; background:#f8fafc; padding:8px 12px; font-size:11px; }.estimate-result-address span { color:#94a3b8; }.estimate-result-stats,.estimate-result-items { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:6px; }.estimate-result-stats label,.estimate-result-items label { display:flex; flex-direction:column; border:1px solid #dbe3ec; border-radius:10px; padding:7px 10px; color:#94a3b8; font-size:7px; font-weight:900; text-transform:uppercase; }.estimate-result-stats strong,.estimate-result-items strong { margin-top:3px; color:#172033; font-size:12px; text-transform:none; }.estimate-result-plan { margin-top:7px; border:1px solid #bfdbfe; border-radius:13px; background:#eff6ff; padding:10px 13px; }.estimate-result-plan-head { display:flex; align-items:center; justify-content:space-between; gap:15px; }.estimate-result-plan-head small { color:var(--estimate-blue); font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.estimate-result-plan-head h3 { margin:2px 0 0; font-size:19px; }.estimate-result-plan-head > b { border-radius:8px; background:#fff; padding:8px 11px; font-size:11px; }.estimate-result-items { grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); }.estimate-savings { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-top:7px; }.estimate-savings label { display:flex; flex-direction:column; border:1px solid #a7f3d0; border-radius:9px; background:#ecfdf5; padding:7px 10px; color:#047857; font-size:8px; font-weight:900; text-transform:uppercase; }.estimate-savings strong { margin-top:2px; font-size:19px; }.estimate-cost { display:flex; min-height:58px; align-items:center; justify-content:space-between; margin-top:8px; border:1px solid #93c5fd; border-radius:11px; background:#fff; padding:9px 14px; box-shadow:0 3px 10px rgba(23,74,126,.06); }.estimate-cost small { color:var(--estimate-blue); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.estimate-cost strong { color:var(--estimate-blue); font-size:24px; line-height:1; }.estimate-sent { margin:7px 0; border:1px solid #a7f3d0; border-radius:10px; background:#ecfdf5; padding:8px 12px; color:#047857; font-size:10px; font-weight:800; }.estimate-complete > .estimate-primary { display:flex; width:max-content; min-height:39px; margin:7px auto 0; }
.estimate-actions { position:absolute; z-index:40; left:0; right:0; bottom:0; display:flex; height:58px; align-items:center; justify-content:space-between; border-top:1px solid #dbe3ec; background:#fff; padding:6px 48px; }.estimate-actions > small { color:#8aa0ba; font-size:9px; }.estimate-actions > div { display:flex; align-items:center; gap:15px; }.estimate-back { border:0; background:transparent; padding:12px; color:#526985; font-size:11px; font-weight:800; }
@media (max-width:1023px) { body.estimate-page { overflow:auto; height:auto; }.estimate-shell { overflow:visible; }.estimate-location,.estimate-details { grid-template-columns:1fr; padding:18px; }.estimate-map-frame { height:300px; }.estimate-location-details { width:100%; }.estimate-details-map { display:none; }.estimate-goals { grid-template-columns:1fr; }.estimate-goal { min-height:0; }.estimate-goal > img { height:180px; }.estimate-step { overflow:visible; }.estimate-actions { position:sticky; padding:6px 18px; }.estimate-centered { justify-content:flex-start; }.estimate-result-items { grid-template-columns:repeat(2,1fr); } }
@media (max-width:639px) { .estimate-progress-scroll { padding:8px 12px; }.estimate-progress-scroll #estimate-progress { min-width:650px; }.estimate-location { gap:18px; }.estimate-map-frame { min-height:190px; height:220px; }.estimate-property-stats > div,.estimate-fields { grid-template-columns:1fr 1fr; }.estimate-actions > small { display:none; }.estimate-actions { justify-content:flex-end; }.estimate-details-form :is(h1,h2) { font-size:27px; }.estimate-complete { border-radius:15px; padding:10px; }.estimate-result-stats { grid-template-columns:repeat(2,1fr); }.estimate-result-plan-head { align-items:flex-start; flex-direction:column; }.estimate-result-items { grid-template-columns:repeat(2,1fr); }.estimate-savings { grid-template-columns:1fr; }.estimate-cost { align-items:flex-start; flex-direction:column; gap:4px; } }

.electric-home-hero > .absolute.inset-0 > img { object-position: center 35%; }
.electric-home-hero .hero-overlay-base { background:rgba(7,17,31,.22) !important; }
.electric-home-hero .hero-overlay-side { background:linear-gradient(90deg,rgba(7,17,31,.88),rgba(10,30,49,.66) 48%,rgba(10,30,49,.28)) !important; }
.electric-home-hero .hero-overlay-bottom { background:linear-gradient(0deg,rgba(7,17,31,.7),transparent 70%) !important; }
@media(max-width:639px) { .electric-home-hero .hero-overlay-base { background:rgba(7,17,31,.4) !important; } }
.us-phone-help { display:block; margin-top:5px; color:#64748b; font-size:9px; font-weight:600; line-height:1.35; letter-spacing:0; text-transform:none; }
.us-phone-help-error { color:#b91c1c; }
input.us-phone-invalid:not(:focus) { border-color:#fca5a5 !important; background-color:#fff7f7 !important; }

.electric-estimate-strip{display:grid;grid-template-columns:1fr 1.15fr;gap:42px;align-items:center;padding:38px max(5vw,24px);background:linear-gradient(120deg,#07111f,#123b62);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.electric-estimate-copy span,.electric-service-intro>span,.electric-service-cta span{color:#55b7ff;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.electric-estimate-copy h2{margin:7px 0;font-size:clamp(25px,3vw,40px);line-height:1.05;font-weight:900}.electric-estimate-copy p{color:#cbd5e1;font-size:13px}.electric-estimate-form{display:grid;grid-template-columns:1.5fr .7fr auto;gap:10px;align-items:end}.electric-estimate-form label{display:flex;flex-direction:column;gap:6px;color:#bfdbfe;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.electric-estimate-form input{height:50px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(4,15,28,.7);padding:0 14px;color:#fff;outline:0}.electric-estimate-form input:focus{border-color:#55b7ff;box-shadow:0 0 0 3px rgba(85,183,255,.12)}.electric-estimate-form button{height:50px;border:0;border-radius:11px;background:#2d78b7;padding:0 20px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;white-space:nowrap}.electric-estimate-form small{grid-column:1/-1;color:#94a3b8;font-size:9px}
.electric-service-body{max-width:1400px;margin:auto;padding:72px 28px}.electric-service-intro{max-width:790px;margin:0 auto 35px;text-align:center}.electric-service-intro h2{margin:8px 0 14px;color:#0f172a;font-size:clamp(28px,4vw,46px);line-height:1.04;font-weight:900}.electric-service-intro p{color:#64748b;line-height:1.75}.electric-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.electric-feature-grid article{border:1px solid #dce5ef;border-radius:20px;background:#fff;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.electric-feature-grid b{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#eaf5ff;color:#174a7e}.electric-feature-grid h3{margin:16px 0 8px;font-size:17px;font-weight:900;text-transform:uppercase}.electric-feature-grid p{color:#64748b;font-size:13px;line-height:1.65}.electric-service-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:32px;border-radius:22px;background:#102a43;padding:30px;color:#fff}.electric-service-cta h2{margin-top:5px;font-size:22px;font-weight:900}.electric-service-cta a{border-radius:11px;background:#2d78b7;padding:14px 20px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;white-space:nowrap}
@media(max-width:900px){.electric-estimate-strip{grid-template-columns:1fr}.electric-estimate-form{grid-template-columns:1fr}.electric-estimate-form small{grid-column:auto}.electric-feature-grid{grid-template-columns:1fr}.electric-service-cta{align-items:flex-start;flex-direction:column}}

@media (max-width:639px) {
  .header-logo-box img { height:52px !important; width:auto !important; }
  .footer-logo-box img { height:52px !important; width:auto !important; }
}
/* Shared premium typography. */
html, body, body *, button, input, textarea, select { font-family:'Manrope', Arial, sans-serif !important; }
h1, h2, h3, h4, h5, h6 { font-weight:800 !important; }
.php-main-bar nav, .php-header-estimate, .php-mobile-menu a, .php-mobile-menu summary { font-weight:700 !important; }
.merged-service-content { width:min(100% - 48px,1400px); margin:0 auto; padding:82px 0; color:#102a43; }
.merged-service-content__heading { display:grid; grid-template-columns:.8fr 1.2fr; gap:14px 42px; align-items:end; padding-bottom:30px; border-bottom:1px solid #dbe6ef; }
.merged-service-content__heading > span { color:#2d78b7; font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.merged-service-content__heading h2 { margin:0; font-size:clamp(30px,4vw,52px); font-weight:900; letter-spacing:-.04em; line-height:1.04; text-transform:uppercase; }
.merged-service-content__heading p { grid-column:2; max-width:700px; margin:0; color:#64748b; font-size:15px; font-weight:600; line-height:1.7; }
.merged-service-content__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
.merged-service-content article { border:1px solid #dbe6ef; border-radius:16px; background:#f7fafc; padding:25px; }
.merged-service-content article i { display:grid; place-items:center; width:31px; height:31px; border-radius:8px; background:#e5f1fa; color:#174a7e; font-style:normal; font-weight:900; }
.merged-service-content article h3 { margin:18px 0 8px; font-size:16px; font-weight:900; text-transform:uppercase; }
.merged-service-content article p { margin:0; color:#64748b; font-size:13px; font-weight:600; line-height:1.65; }
.merged-service-content__cta { display:inline-flex; align-items:center; gap:10px; margin-top:25px; border-radius:10px; background:#174a7e; padding:14px 20px; color:#fff; font-size:11px; font-weight:900; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
@media (max-width:760px) { .merged-service-content { width:calc(100% - 28px); padding:58px 0; }.merged-service-content__heading { grid-template-columns:1fr; gap:10px; }.merged-service-content__heading p { grid-column:auto; }.merged-service-content__grid { grid-template-columns:1fr; } }
.location-service-card { position:relative; overflow:hidden; text-decoration:none; }
.location-service-card::before { content:''; position:absolute; top:0; right:0; left:0; height:3px; background:#2d78b7; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.location-service-card:hover::before { transform:scaleX(1); }
.location-service-card__action { display:flex; align-items:center; justify-content:space-between; margin-top:15px; padding-top:12px; border-top:1px solid #e5edf4; color:#174a7e; font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.location-service-card__action b { font-size:15px; transition:transform .2s ease; }
.location-service-card:hover .location-service-card__action b { transform:translateX(3px); }
.location-county-heading { display:flex; align-items:center; gap:16px; }
.location-county-heading::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,#b8d4e8,transparent); }
@media (max-width:639px) {
  .location-county-heading { gap:10px; font-size:clamp(24px,7.5vw,32px); line-height:1.1; }
  .location-county-heading::after { min-width:22px; }
}

/* Shared service-page visual standard. */
.service-detail-page main > section:first-child { overflow:hidden; }
.service-main-panel main > section:first-child,
.service-commercial-electrical main > section:first-child,
.service-new-construction-electrical main > section:first-child { position:relative; min-height:520px; display:flex; align-items:center; background-position:center; background-size:cover; }
.service-main-panel main > section:first-child { background-image:linear-gradient(90deg,rgba(7,29,50,.94),rgba(10,42,72,.76),rgba(10,42,72,.38)),url('/images/la-modern-panel-upgrade.webp'); }
.service-commercial-electrical main > section:first-child { background-image:linear-gradient(90deg,rgba(7,29,50,.94),rgba(10,42,72,.76),rgba(10,42,72,.38)),url('/images/service-1.webp'); }
.service-new-construction-electrical main > section:first-child { background-image:linear-gradient(90deg,rgba(7,29,50,.94),rgba(10,42,72,.76),rgba(10,42,72,.38)),url('/images/new-construct.webp'); }
.service-residential-electrical main > section:first-child img { content:url('/images/electric-hero.jpg'); }
.merged-service-content { background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
@media (max-width:1320px) and (min-width:1024px) { .php-main-bar nav { font-size:12px !important; }.php-main-bar nav > a,.php-main-bar .php-nav-item > a { padding-left:8px !important; padding-right:8px !important; }.php-header-estimate { display:none !important; } }
@media (max-width:700px) { .service-main-panel main > section:first-child,.service-commercial-electrical main > section:first-child,.service-new-construction-electrical main > section:first-child { min-height:0; padding-top:54px !important; padding-bottom:58px !important; background-position:62% center; } }

/* Simple two-row header. */
.php-utility-bar { background:#102a43; border-color:#284965; }
.php-utility-bar > div > div { min-height:42px; }
.php-license { display:inline-flex; align-items:center; min-height:26px; border:1px solid rgba(100,212,143,.38); border-radius:6px; background:rgba(34,125,72,.2); padding:0 8px; color:#a9e9bf; font-size:10px; letter-spacing:.07em; }
.php-utility-location { color:#b5c8d8; font-size:10px; }
.php-utility-bar .php-utility-call { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; animation:none; font-size:11px; letter-spacing:.02em; }
.php-utility-call svg { flex:none; color:#a9d9f8; }
.php-call-label { color:#b9d5e8; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.php-call-number { color:#fff; font-size:12px; font-weight:900; letter-spacing:.025em; }
.php-utility-bar .php-utility-call:hover { background:none; box-shadow:none; }
.php-main-bar { background:#fff; border-bottom-color:#d8e5ee; }
.php-main-bar > div { min-height:74px; }
.php-header-brand { display:inline-flex; flex:none; align-items:center; }
.php-header-brand img { display:block; width:auto; height:58px; object-fit:contain; }
.php-menu-toggle { display:none; width:42px; height:42px; align-items:center; justify-content:center; border:1px solid #dbe5ec; border-radius:8px; background:#fff; color:#102a43; }
.php-menu-toggle:focus-visible,.php-header-estimate:focus-visible { outline:3px solid #70b9ef; outline-offset:3px; }
.php-header-actions { display:flex; flex:none; align-items:center; justify-content:flex-end; gap:9px; }
.php-header-estimate { display:inline-flex; min-height:42px; align-items:center; justify-content:center; border-radius:8px; background:#174a7e; padding:0 18px; color:#fff; font-size:11px; font-weight:800; letter-spacing:.02em; text-decoration:none; text-transform:uppercase; transition:background .2s ease; }
.php-header-estimate:hover { background:#10375f; }
@media (max-width:1023px) {
  .php-main-bar > div { display:flex; justify-content:space-between; gap:12px; }
  .php-menu-toggle { display:inline-flex; }
}
@media (max-width:639px) {
  .php-utility-bar,.php-utility-bar > div,.php-utility-bar > div > div { min-height:38px !important; }
  .php-main-bar > div { min-height:74px; }
  .php-header-brand img { height:56px; }
  .php-header-estimate { min-height:38px; padding:0 10px; font-size:10px; white-space:nowrap; }
  .php-utility-bar .php-utility-call { font-size:10px; }
  .php-call-label { font-size:9px; letter-spacing:.02em; }
  .php-call-number { font-size:10px; letter-spacing:0; }
}
@media (max-width:360px) { .php-header-brand img { height:54px; } .php-license { font-size:9px; } }

/* FAQ component: intentionally independent of generated utility classes. */
.faq-section{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid #dce7f0;border-bottom:1px solid #dce7f0;background:linear-gradient(145deg,#f8fbfe 0%,#fff 52%,#eef6fc 100%);color:#102a43}
.faq-section__shell{position:relative;z-index:1;width:min(calc(100% - 48px),1200px);margin:0 auto;padding:92px 0}
.faq-section__header{max-width:760px;margin:0 auto 45px;text-align:center}
.faq-section__label{display:inline-flex;align-items:center;gap:9px;border:1px solid #c8dff1;border-radius:999px;background:rgba(255,255,255,.82);padding:8px 14px;color:#245f94;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 6px 20px rgba(23,74,126,.06)}
.faq-section__label span{width:7px;height:7px;border-radius:50%;background:#2d78b7;box-shadow:0 0 0 5px rgba(45,120,183,.1)}
.faq-section__header h2{margin:18px 0 14px;color:#102a43;font-size:clamp(34px,4.8vw,60px);font-weight:900;letter-spacing:-.045em;line-height:.98;text-transform:uppercase}
.faq-section__header p{max-width:680px;margin:0 auto;color:#60758d;font-size:15px;font-weight:600;line-height:1.75}
.faq-section__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;max-width:980px;margin:0 auto}
.faq-card{overflow:hidden;border:1px solid #dce7f0;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 35px rgba(15,42,67,.055);transition:border-color .22s ease,box-shadow .22s ease}
.faq-card:hover{border-color:#aecce4;box-shadow:0 18px 44px rgba(15,42,67,.09)}
.faq-card[open]{border-color:#8db9dc;box-shadow:0 20px 48px rgba(23,74,126,.12)}
.faq-card summary{display:grid;grid-template-columns:38px 1fr 30px;gap:14px;align-items:center;min-height:88px;padding:20px 22px;cursor:pointer;list-style:none;outline:none}
.faq-card summary::-webkit-details-marker{display:none}
.faq-card summary:focus-visible{box-shadow:inset 0 0 0 3px rgba(45,120,183,.28)}
.faq-card__number{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:#e9f3fb;color:#174a7e;font-size:10px;font-weight:900;letter-spacing:.08em;transition:background .22s ease,color .22s ease}
.faq-card[open] .faq-card__number{background:#174a7e;color:#fff}
.faq-card__question{color:#163955;font-size:15px;font-weight:900;line-height:1.38}
.faq-card__toggle{position:relative;width:28px;height:28px;border:1px solid #c8dbe9;border-radius:50%;background:#f7fbfe}
.faq-card__toggle::before,.faq-card__toggle::after{content:'';position:absolute;top:50%;left:50%;width:10px;height:2px;border-radius:2px;background:#245f94;transform:translate(-50%,-50%);transition:transform .22s ease}
.faq-card__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-card[open] .faq-card__toggle::after{transform:translate(-50%,-50%) rotate(0)}
.faq-card__answer{margin:0 22px 0 74px;border-top:1px solid #e7eef4;padding:18px 0 23px;color:#5b7088;font-size:14px;font-weight:600;line-height:1.8}
.faq-card__answer p{margin:0 0 12px}.faq-card__answer p:last-child{margin-bottom:0}.faq-card__answer strong{color:#214e73;font-weight:900}.faq-card__answer ul{margin:0 0 12px;padding-left:20px}.faq-card__answer li{padding-left:4px;margin:5px 0}.faq-card__answer li:last-child{margin-bottom:0}
.faq-section__footer{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:38px;color:#7890a7;font-size:11px;font-weight:700}
.faq-section__footer a{display:inline-flex;align-items:center;gap:10px;border-radius:999px;background:#174a7e;padding:13px 18px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;box-shadow:0 10px 25px rgba(23,74,126,.18);transition:background .2s ease,transform .2s ease}
.faq-section__footer a:hover{background:#0e3b68;transform:translateY(-1px)}
.faq-section__footer b{font-size:15px}
.faq-section__glow{position:absolute;z-index:0;border-radius:50%;filter:blur(2px);pointer-events:none}
.faq-section__glow--one{top:-180px;right:-120px;width:430px;height:430px;background:radial-gradient(circle,rgba(112,185,239,.2),rgba(112,185,239,0) 70%)}
.faq-section__glow--two{bottom:-220px;left:-160px;width:480px;height:480px;background:radial-gradient(circle,rgba(45,120,183,.13),rgba(45,120,183,0) 70%)}
.faq-section--home{border-color:#244d70;background:linear-gradient(135deg,#071827 0%,#0d2d49 48%,#123f64 100%);color:#fff}
.faq-section--home::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent)}
.faq-section--home .faq-section__label{border-color:rgba(112,185,239,.3);background:rgba(112,185,239,.09);color:#9bd2fa;box-shadow:none}
.faq-section--home .faq-section__label span{background:#70b9ef;box-shadow:0 0 0 5px rgba(112,185,239,.12)}
.faq-section--home .faq-section__header h2{color:#fff}
.faq-section--home .faq-section__header p{color:#bdd0df}
.faq-section--home .faq-card{border-color:rgba(151,190,220,.18);background:rgba(10,38,61,.76);box-shadow:0 16px 42px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.faq-section--home .faq-card:hover,.faq-section--home .faq-card[open]{border-color:rgba(112,185,239,.58);background:rgba(15,52,82,.92);box-shadow:0 22px 52px rgba(0,0,0,.25)}
.faq-section--home .faq-card__number{background:rgba(112,185,239,.12);color:#9bd2fa}
.faq-section--home .faq-card[open] .faq-card__number{background:#70b9ef;color:#082039}
.faq-section--home .faq-card__question{color:#fff}
.faq-section--home .faq-card__toggle{border-color:rgba(155,210,250,.3);background:rgba(112,185,239,.08)}
.faq-section--home .faq-card__toggle::before,.faq-section--home .faq-card__toggle::after{background:#9bd2fa}
.faq-section--home .faq-card__answer p{border-color:rgba(168,202,226,.14);color:#c2d2df}
.faq-section--home .faq-section__footer{color:#9fb5c6}
.faq-section--home .faq-section__footer a{background:#70b9ef;color:#082039;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.faq-section--home .faq-section__footer a:hover{background:#a3d8ff}
@media(max-width:820px){.faq-section__shell{width:min(calc(100% - 28px),1200px);padding:68px 0}.faq-section__header{margin-bottom:32px}.faq-section__header h2{font-size:clamp(31px,9vw,45px)}.faq-card summary{min-height:78px;padding:17px}.faq-card__answer{margin-left:69px;margin-right:17px}.faq-section__footer{flex-direction:column;text-align:center}}
@media(max-width:480px){.faq-card summary{grid-template-columns:32px 1fr 26px;gap:10px}.faq-card__number{width:32px;height:32px}.faq-card__question{font-size:14px}.faq-card__toggle{width:26px;height:26px}.faq-card__answer{margin-left:59px}.faq-section__footer a{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.faq-card,.faq-card__toggle::before,.faq-card__toggle::after,.faq-card__answer,.faq-card__answer p,.faq-section__footer a{transition:none}}

/* Shared digital business card for /business-card/ and /digital-card/. */
.business-card-page{min-height:100vh;background:radial-gradient(circle at 50% 0,rgba(45,120,183,.18),transparent 35%),#071827;color:#fff}
.business-card-stage{width:min(calc(100% - 36px),1180px);margin:0 auto;padding:76px 0 84px}
.business-card-intro{max-width:720px;margin:0 auto 42px;text-align:center}
.business-card-eyebrow{display:inline-flex;border:1px solid rgba(112,185,239,.32);border-radius:999px;background:rgba(112,185,239,.09);padding:8px 14px;color:#9bd2fa;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.business-card-intro h1{margin:17px 0 11px;font-size:clamp(34px,5vw,58px);font-weight:900;letter-spacing:-.045em;line-height:1;text-transform:uppercase}
.business-card-intro p{margin:0;color:#aebfd0;font-size:14px;font-weight:600;line-height:1.7}
.business-card-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.business-card-face{position:relative;aspect-ratio:1.75/1;overflow:hidden;border-radius:24px;padding:32px;box-shadow:0 28px 70px rgba(0,0,0,.3)}
.business-card-face--front{display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(151,190,220,.24);background:linear-gradient(135deg,#0b2945 0%,#123f64 58%,#174a7e 100%)}
.business-card-orbit{position:absolute;border-radius:50%;pointer-events:none}
.business-card-orbit--top{top:-120px;right:-85px;width:280px;height:280px;border:54px solid rgba(112,185,239,.08)}
.business-card-orbit--bottom{bottom:-155px;left:-100px;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 60px rgba(255,255,255,.018)}
.business-card-front-top,.business-card-front-bottom,.business-card-profile{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.business-card-logo{display:flex;width:90px;height:52px;align-items:center;justify-content:center;border-radius:11px;background:#fff;padding:5px 8px;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.business-card-logo img,.business-card-mark img{display:block;width:100%;height:100%;object-fit:contain}
.business-card-license{text-align:right}.business-card-license strong,.business-card-license span{display:block}.business-card-license strong{color:#9bd2fa;font-size:10px;letter-spacing:.09em}.business-card-license span{margin-top:4px;color:#c0d2df;font-size:9px;font-weight:700;text-transform:uppercase}
.business-card-message{position:relative;z-index:1;max-width:430px}.business-card-message>span,.business-card-profile span{color:#70b9ef;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.business-card-message h2{margin:7px 0 8px;color:#fff;font-size:clamp(24px,2.4vw,34px);font-weight:900;letter-spacing:-.035em;line-height:1}.business-card-message p{max-width:390px;margin:0;color:#c0d2df;font-size:11px;font-weight:600;line-height:1.55}
.business-card-front-bottom{align-items:flex-end;border-top:1px solid rgba(255,255,255,.13);padding-top:15px}.business-card-front-bottom strong,.business-card-front-bottom span{display:block}.business-card-front-bottom strong{font-size:11px;letter-spacing:.09em}.business-card-front-bottom span{margin-top:3px;color:#aebfd0;font-size:9px}.business-card-front-bottom a{color:#fff;font-size:15px;font-weight:900;letter-spacing:.02em;text-decoration:none}
.business-card-face--back{display:flex;flex-direction:column;justify-content:space-between;border:1px solid #d8e4ed;background:linear-gradient(145deg,#fff,#f2f7fb);color:#102a43}
.business-card-back-accent{position:absolute;top:0;right:0;bottom:0;width:8px;background:linear-gradient(#70b9ef,#2d78b7,#174a7e)}
.business-card-profile{align-items:center;padding-bottom:18px;border-bottom:1px solid #dce7f0}.business-card-profile-copy{position:relative;padding-left:15px}.business-card-profile-copy::before{position:absolute;top:1px;bottom:1px;left:0;width:3px;border-radius:99px;background:linear-gradient(#70b9ef,#174a7e);content:""}.business-card-profile h2{margin:6px 0 3px;color:#102a43;font-size:clamp(24px,2.5vw,31px);font-weight:900;letter-spacing:-.045em}.business-card-profile p{margin:0;color:#60758d;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.business-card-mark{display:flex;width:88px;height:52px;align-items:center;justify-content:center;border:1px solid #dce7f0;border-radius:12px;background:#fff;padding:5px 8px;box-shadow:0 8px 20px rgba(15,42,67,.08)}
.business-card-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.business-card-contact-grid a,.business-card-contact-grid>div{display:flex;min-width:0;flex-direction:column;border-left:2px solid #d7e7f3;padding-left:10px;text-decoration:none}.business-card-contact-grid span{color:#71869a;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.business-card-contact-grid strong{overflow:hidden;margin-top:3px;color:#163955;font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.business-card-services{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #dce7f0;padding-top:14px}.business-card-services span{border:1px solid #cfdfeb;border-radius:999px;background:#edf5fb;padding:5px 9px;color:#245f94;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.business-card-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:35px;color:#8ba1b4;font-size:10px;font-weight:800;letter-spacing:.05em;text-align:center;text-transform:uppercase}.business-card-note span{width:7px;height:7px;border-radius:50%;background:#70b9ef;box-shadow:0 0 0 5px rgba(112,185,239,.1)}
@media(max-width:900px){.business-card-preview{grid-template-columns:1fr}.business-card-face{width:min(100%,620px);margin:0 auto}}
@media(max-width:560px){.business-card-stage{width:min(calc(100% - 24px),1180px);padding:52px 0 62px}.business-card-face{aspect-ratio:auto;min-height:350px;border-radius:18px;padding:22px}.business-card-logo{width:90px;height:44px}.business-card-message h2{font-size:27px}.business-card-contact-grid{grid-template-columns:1fr}.business-card-license span{display:none}.business-card-profile h2{font-size:21px}.business-card-mark{width:76px;height:46px}}
.service-detail-page img[src="/images/existing-electrical-panel-assessment.webp"] { position:static !important; display:block; width:100% !important; height:460px !important; object-fit:cover; object-position:center; }
@media (max-width:640px) { .service-detail-page img[src="/images/existing-electrical-panel-assessment.webp"] { height:360px !important; } }
.location-service-image { display:block; width:100%; height:240px; object-fit:cover; }
@media (max-width:640px) { .location-service-image { height:210px; } }

/* Location rebate card: preserve readable measure and comfortable tap targets on narrow screens. */
.location-sce-card { min-width:0; }
.location-sce-copy,.location-sce-offers { min-width:0; }
.location-sce-copy h2 { overflow-wrap:anywhere; }
.location-sce-offers > * { min-width:0; }
@media (max-width:639px) {
  .location-detail-page { overflow-x:clip; }
  .location-detail-page > section,.location-detail-page > section > div { min-width:0; max-width:100%; }
  .location-detail-page > section:first-child > div { display:grid; grid-template-columns:minmax(0,1fr) !important; width:100%; gap:32px; }
  .location-detail-page > section:first-child h1 { width:100%; max-width:100%; font-size:clamp(31px,9vw,42px); line-height:1.03; overflow-wrap:anywhere; }
  .location-detail-page > section:first-child h1 span { display:block; max-width:100%; overflow-wrap:anywhere; }
  .location-detail-page > section:first-child p { max-width:100%; overflow-wrap:break-word; }
  .location-sce-section { padding-left:14px; padding-right:14px; }
  .location-sce-card { border-radius:24px; padding:20px 14px; gap:20px; }
  .location-sce-badge { max-width:100%; white-space:normal; line-height:1.35; }
  .location-sce-copy h2 { width:100%; font-size:clamp(22px,6.6vw,27px); line-height:1.1; letter-spacing:-.03em; overflow-wrap:anywhere; }
  .location-sce-copy p { overflow-wrap:break-word; }
  .location-sce-offers { grid-template-columns:1fr; gap:12px; }
  .location-sce-offers > div { padding:16px; }
  .location-sce-offers > a { min-height:50px; padding:13px 16px; text-align:center; line-height:1.35; }
}

/* Keep page titles compact across inner pages; the homepage hero is separate. */
body.inner-site-page h1 { font-size:clamp(34px,4vw,52px) !important; }
@media (max-width:639px) {
  body.inner-site-page h1 { font-size:clamp(28px,7.6vw,35px) !important; }
}
