@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b1727;--navy2:#11243a;--blue:#2878c7;--blue2:#4ca0ed;--ink:#142235;--muted:#69778a;--line:#dfe6ed;--paper:#f5f7f9;--white:#fff;--orange:#f28a36}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.topbar{height:82px;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8edf2}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand img{width:48px;height:48px;object-fit:contain}.brand-fallback{display:flex;flex-direction:column;line-height:1.25}.brand-fallback b{font:800 13px Manrope,sans-serif;letter-spacing:.08em}.brand-fallback small{font-size:9px;color:var(--blue);letter-spacing:.12em;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:700;color:#445166}nav a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:white;padding:13px 17px}.nav-cta span{color:#6fb8ff;margin-left:10px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{background:var(--navy);color:white;position:relative;overflow:hidden;min-height:660px}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,black,transparent 95%)}.hero-inner{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:600px;padding-top:42px;padding-bottom:54px}.hero-copy{padding:36px 0 28px;z-index:1}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.17em;font-weight:700}.eyebrow{color:#9cb3c9;display:flex;align-items:center;gap:10px}.pulse{height:7px;width:7px;border-radius:50%;background:#4ba6ff;box-shadow:0 0 0 5px #4ba6ff20}.hero h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:1.07;font-weight:700}.hero h1{font-size:clamp(48px,6vw,76px);margin:25px 0 20px}.hero h1 em{font-style:normal;color:#6eb5fa}.hero-lede{font-size:15px;color:#b4c1d0;max-width:470px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:31px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 19px;font-size:12px;font-weight:700;border:0;cursor:pointer;transition:.2s}.btn span{font-size:17px}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#398de0;transform:translateY(-2px)}.btn-ghost{color:#fff;padding-left:0}.btn-ghost:hover{color:#83c2ff}.phone-icon{font-size:15px;color:#7dbfff}.hero-proof{display:flex;align-items:center;gap:22px;margin-top:52px}.proof-item{display:flex;flex-direction:column;gap:4px}.proof-item strong{font:700 12px Manrope,sans-serif}.proof-item span{font-size:10px;color:#8fa2b7}.proof-divider{height:32px;width:1px;background:#314155}.hero-art{height:470px;position:relative;display:flex;align-items:center;justify-content:center}.power-core{height:220px;width:220px;border:1px solid #5c91c455;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;color:#70b9ff;background:radial-gradient(circle,#193c5e 0%,#0b1727 69%);box-shadow:0 0 90px #1477cb24}.power-core svg{width:105px;height:140px;filter:drop-shadow(0 0 24px #2e8be8aa)}.core-ring{position:absolute;inset:16px;border:1px solid #6ca9e32a;border-radius:50%}.orbit{position:absolute;border:1px solid #3d78aa38;border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:420px;height:250px}.orbit-two{width:500px;height:340px;transform:rotate(44deg)}.art-label{position:absolute;font-size:9px;letter-spacing:.16em;color:#9fb4c9}.label-top{top:70px;right:10px;display:flex;align-items:center;gap:9px}.label-dot{height:5px;width:5px;background:var(--blue2);border-radius:50%}.label-bottom{bottom:48px;left:3px}.label-bottom span{color:#5f7994;margin-left:12px}.art-line{position:absolute;width:1px;height:82px;background:linear-gradient(transparent,#4c8cc4,transparent);right:32px;bottom:94px}.hero-bottom{border-top:1px solid #ffffff16;background:#0a1422}.hero-bottom-inner{display:flex;align-items:center;gap:22px;height:58px;font-size:9px;letter-spacing:.16em;color:#8da2b8;font-weight:700}.hero-bottom i{height:4px;width:4px;border-radius:50%;background:#4c8ac1}.scroll-note{margin-left:auto;color:#6c8095}.section-pad{padding:104px 0}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px}.section-kicker{color:var(--blue);margin-bottom:20px}.intro h2,.section-heading h2,.sector-heading h2,.generac h2,.contact h2{font-size:clamp(35px,4.4vw,51px);margin:0}.intro h2 span,.section-heading h2 span,.sector-heading h2 span,.generac h2 span,.contact h2 span{color:#8795a6}.intro-text{padding-top:35px}.intro-text p,.section-heading>p,.sector-heading>p,.generac-copy>p,.contact-intro{font-size:14px;line-height:1.95;color:#657387}.muted{color:#8a97a7!important}.text-link{display:inline-flex;gap:25px;align-items:center;margin-top:15px;font-size:12px;font-weight:700;border-bottom:1px solid #aab8c8;padding-bottom:9px}.text-link span{color:var(--blue);font-size:17px}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.section-heading>p{max-width:330px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{position:relative;background:#fff;border:1px solid #e4e9ee;padding:26px 23px 25px;min-height:350px;transition:.2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #102b4610}.service-card.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.service-num{font-size:10px;color:#8a9aac;letter-spacing:.1em}.service-icon{margin-top:24px;font-size:28px;color:var(--blue)}.service-card h3{font:700 20px Manrope,sans-serif;margin:15px 0 10px;letter-spacing:-.03em}.service-card p{font-size:12px;line-height:1.8;color:#718094;min-height:65px}.featured p{color:#a7b6c7}.service-card ul{list-style:none;padding:0;margin:20px 0 0;font-size:11px;color:#5d6d80}.featured ul{color:#c1cbd7}.service-card li{padding:7px 0;border-top:1px solid #e9edf1}.featured li{border-color:#ffffff20}.card-link{position:absolute;bottom:24px;right:22px;color:var(--blue);font-size:19px}.sectors{background:var(--navy);color:white}.sector-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.sector-heading .section-kicker{color:#6db5f7}.sector-heading h2{font-size:43px}.sector-heading h2 span{color:#8da3bb}.sector-heading>p{color:#a8b8c9;margin:24px 0 30px;max-width:370px}.btn-light{background:white;color:var(--navy)}.btn-light:hover{background:#eaf4ff}.sector-list{border-top:1px solid #ffffff2c}.sector-row{display:grid;grid-template-columns:28px 1fr 20px;gap:18px;align-items:start;padding:26px 0;border-bottom:1px solid #ffffff2c}.sector-index{font-size:10px;color:#6fb8ff;padding-top:5px}.sector-row h3{font:600 17px Manrope,sans-serif;margin:0 0 7px}.sector-row p{margin:0;color:#9bacc0;font-size:12px}.sector-arrow{color:#75b9f5}.generac{background:#fff}.generac-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:center}.generac-mark{height:270px;background:#f4f6f8;border:1px solid #e6ebef;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.generac-mark:before,.generac-mark:after{content:'';position:absolute;width:220px;height:220px;border:1px solid #dfe7ee;border-radius:50%}.generac-mark:after{width:300px;height:300px}.generac-wordmark{position:relative;z-index:1;font:800 35px Manrope,sans-serif;letter-spacing:-.05em;color:#143d65}.generac-wordmark span{font-size:10px;vertical-align:top;margin-left:3px}.mark-line{position:relative;z-index:1;width:140px;height:5px;background:var(--orange);margin-top:7px;transform:skew(-35deg)}.mark-caption{position:relative;z-index:1;font-size:8px;letter-spacing:.2em;margin-top:15px;color:#677b8f}.generac-copy .section-kicker{margin-bottom:17px}.generac-copy h2{font-size:46px}.generac-copy>p{max-width:530px;margin:20px 0}.generac-note{display:flex;gap:13px;margin:24px 0 26px;align-items:flex-start}.checkmark{height:27px;width:27px;display:flex;align-items:center;justify-content:center;background:#e8f4ff;color:var(--blue);border-radius:50%;font-weight:700}.generac-note span:last-child{display:flex;flex-direction:column;gap:5px}.generac-note b{font-size:12px}.generac-note small{font-size:11px;color:#78889a}.fine-print{font-size:9px!important;color:#929eab!important;margin-top:18px!important}.contact{background:#edf2f6}.contact-grid{display:grid;grid-template-columns:1fr .82fr;gap:100px}.contact h2{font-size:49px}.contact-intro{max-width:400px;margin:24px 0}.contact-details{display:flex;flex-direction:column;gap:18px;margin-top:34px}.contact-details a{display:flex;align-items:center;gap:14px}.detail-icon{width:38px;height:38px;background:white;display:flex;align-items:center;justify-content:center;color:var(--blue)}.contact-details a>span:last-child{display:flex;flex-direction:column;line-height:1.4}.contact-details small{font-size:9px;letter-spacing:.13em;color:#7b8a9c}.contact-details b{font-size:13px;margin-top:4px}.contact-form{background:white;padding:32px 34px;box-shadow:0 15px 50px #172e4410}.form-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;color:#8795a6;font-weight:700;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:21px}.contact-form label{display:block;font-size:10px;font-weight:700;color:#526174;margin:16px 0 7px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #dfe6ed;background:#fbfcfd;padding:12px 13px;font:12px 'DM Sans',sans-serif;color:var(--ink);border-radius:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:1px solid var(--blue);border-color:var(--blue)}.submit-btn{width:100%;margin-top:19px}.form-note{font-size:9px;color:#8795a6;line-height:1.6}.footer{background:#08111d;color:#fff;padding:36px 0 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:32px}.footer-brand{font:800 15px Manrope,sans-serif;letter-spacing:.08em;display:flex;flex-direction:column}.footer-brand span{font:500 8px 'DM Sans',sans-serif;letter-spacing:.15em;color:#6db5f7;margin-top:7px}.footer-license{font-size:9px;line-height:1.8;color:#8da0b4;letter-spacing:.1em}.footer-license b{color:#fff}.back-top{font-size:9px;letter-spacing:.12em;color:#a8bbce}.footer-bottom{border-top:1px solid #ffffff1c;padding-top:20px;display:flex;justify-content:space-between;gap:18px;color:#708297;font-size:9px}.customize{position:fixed;right:18px;bottom:18px;z-index:30;font-size:12px;font-family:'DM Sans',sans-serif}.customize-toggle{background:#fff;border:1px solid #d5e0e9;box-shadow:0 8px 30px #0c1c2e20;padding:12px 16px;color:#18314c;font-weight:700;cursor:pointer}.customize-panel{background:#fff;width:min(330px,calc(100vw - 36px));padding:20px;box-shadow:0 12px 45px #0c1c2e25;border:1px solid #d5e0e9;margin-top:8px}.customize-panel strong{font:700 14px Manrope,sans-serif}.customize-panel p{color:#69788b;font-size:11px;line-height:1.6}.customize-panel input{font-size:11px;max-width:100%}.customize-actions{display:flex;gap:8px;margin-top:13px}.customize-actions button{background:#edf4fa;border:0;padding:9px;font-size:10px;cursor:pointer}.customize-hint{border-top:1px solid #e5ebf0;padding-top:10px}@media(max-width:900px){nav{gap:17px}.hero-inner{grid-template-columns:1fr .75fr}.hero-art{transform:scale(.82)}.hero h1{font-size:60px}.service-grid{grid-template-columns:repeat(2,1fr)}.sector-layout,.generac-grid,.contact-grid{gap:50px}.intro-grid{gap:55px}}@media(max-width:680px){.wrap{width:min(100% - 34px,520px)}.topbar{height:70px}.brand img{width:40px;height:40px}.menu-toggle{display:block;color:var(--ink)}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px 24px 24px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{padding:12px 0}.nav-cta{padding:13px 15px;margin-top:8px}.hero-inner{display:block;padding-top:65px;padding-bottom:30px;min-height:auto}.hero-copy{padding:0}.hero h1{font-size:clamp(48px,13vw,65px)}.hero-lede{font-size:14px}.hero-art{height:290px;transform:none;margin-top:20px}.power-core{height:160px;width:160px}.power-core svg{height:100px;width:75px}.orbit-one{width:310px;height:180px}.orbit-two{width:350px;height:230px}.label-top{top:20px;right:0}.label-bottom{bottom:15px;left:0}.art-line{bottom:45px;right:10px}.hero-proof{gap:13px;margin-top:38px}.proof-item strong{font-size:10px}.proof-item span{font-size:9px}.hero-bottom-inner{gap:9px;flex-wrap:wrap;height:auto;padding-top:17px;padding-bottom:17px;font-size:8px}.scroll-note{display:none}.section-pad{padding:70px 0}.intro-grid,.sector-layout,.generac-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.intro-text{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.service-card p{min-height:auto}.sector-heading h2{font-size:38px}.generac-mark{height:210px}.generac-copy h2,.contact h2{font-size:42px}.contact-form{padding:24px 20px}.footer-top{align-items:flex-start;gap:20px;flex-wrap:wrap}.footer-license{margin-left:auto}.back-top{width:100%}.footer-bottom{flex-direction:column;gap:8px}.customize{right:10px;bottom:10px}.customize-toggle{padding:10px 12px}}

/* Official Generac logo from Generac's current media-kit logo page */
.generac-mark{background:#fff}
.generac-mark:before,.generac-mark:after{display:none}
.generac-official-logo{position:relative;z-index:1;display:block;width:min(92%,360px);height:auto;object-fit:contain}

/* Generac Aligned Contractor label */
.aligned-caption{font-weight:800;letter-spacing:.14em;color:#143d65;text-align:center;padding:8px 12px;border-top:3px solid #f58220;margin-top:18px!important;z-index:1}

/* Customer reviews section */
.reviews{background:#f5f7f9}.reviews-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.reviews h2{font-size:clamp(35px,4.4vw,51px);margin:0}.reviews h2 span{color:#8795a6}.reviews-copy>p{font-size:14px;line-height:1.95;color:#657387;max-width:500px;margin:24px 0}.reviews-copy .btn{margin-top:5px}.reviews-note{font-size:10px!important;line-height:1.7!important;color:#8290a0!important}.review-card{background:#fff;border:1px solid #e0e7ee;padding:34px 36px;box-shadow:0 18px 50px #102b4608}.review-quote{font:800 76px/0.9 Manrope,sans-serif;color:var(--blue);height:52px}.review-card h3{font:700 21px Manrope,sans-serif;letter-spacing:-.03em;margin:14px 0 12px}.review-card p{font-size:13px;line-height:1.85;color:#657387}.review-points{display:flex;flex-direction:column;gap:11px;margin:23px 0;color:#45566a;font-size:11px;font-weight:600}.review-points span: first-letter{color:var(--blue)}.review-card .text-link{margin-top:4px}@media(max-width:680px){.reviews-grid{grid-template-columns:1fr;gap:28px}.review-card{padding:28px 24px}.reviews-copy .btn{width:100%;gap:10px;font-size:11px}}
