@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#101e32;--yellow:#ffd13d;--ink:#152237;--muted:#536174;--paper:#f2f5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:1rem/1.65 'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.skip{position:absolute;top:-100px;background:var(--yellow);padding:10px;z-index:100}.skip:focus{top:0}:focus-visible{outline:3px solid #2177bd;outline-offset:5px}.topline{background:var(--navy);color:white;font-size:.875rem;padding:9px 0}.topline .wrap{display:flex;justify-content:space-between;gap:15px}.topline a{color:var(--yellow)}header{position:sticky;top:0;background:white;z-index:20;border-bottom:1px solid #e5eaf0}.nav{display:flex;justify-content:space-between;align-items:center;min-height:96px;gap:30px}.brand img{width:205px;height:83px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:30px;font-weight:600;font-size:.9375rem}.nav nav>a:not(.button):hover{color:#a77800}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--navy);padding:16px 25px;font-weight:700;line-height:1.4;border:1px solid var(--yellow);transition:background .2s,transform .2s}.button:hover{background:#ffe27e;transform:translateY(-2px)}.button.small{padding:12px 19px}.menu{display:none}.hero{position:relative;background:var(--navy);color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,22,38,.97) 0%,rgba(9,22,38,.86) 40%,rgba(9,22,38,.2) 100%)}.hero-content{position:relative;padding-top:85px;padding-bottom:80px}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.15em;margin:0 0 20px;color:#7b5900}.hero .eyebrow,.emergency .eyebrow{color:var(--yellow)}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;line-height:1.04;margin:0;font-weight:700}h1{font-size:clamp(3.8rem,6.5vw,6.8rem);letter-spacing:-.01em}h1 em{color:var(--yellow);font-style:normal}.hero-description{font-size:1.125rem;color:#e0e6ed;max-width:555px;margin:28px 0 30px}.actions{display:flex;flex-wrap:wrap;gap:13px}.outline{background:transparent;border-color:#9da8b4;color:#fff}.outline:hover{background:#ffffff20}.hero-note{display:flex;align-items:center;gap:15px;margin-top:40px;font-size:.875rem;color:#e0e6ed}.rule{width:40px;height:2px;background:var(--yellow)}.hero-bottom{position:relative;border-top:1px solid #ffffff30;display:flex;justify-content:center;gap:8vw;background:#101e32b0;padding:22px;font-size:.875rem;letter-spacing:.13em;font-weight:600}.credentials{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 0;border-bottom:1px solid #dbe2ea}.credentials>div{padding:0 25px;border-right:1px solid #dbe2ea}.credentials>div:first-child{padding-left:0}.credentials>div:last-child{border:0}.credentials strong{display:block;font-family:'Barlow Condensed',Arial,sans-serif;font-size:2.25rem;line-height:1.2}.credentials span{color:var(--muted);font-size:.875rem}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:46px}h2{font-size:clamp(2.8rem,4.1vw,4.2rem)}.section-heading>p{max-width:410px;color:var(--muted);margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{padding:32px;background:var(--paper);border-top:4px solid var(--yellow)}.service-num{font-size:.8125rem;letter-spacing:.12em;font-weight:700;color:var(--muted)}h3{font-size:2rem;margin:22px 0 17px}.service p{color:var(--muted)}.service ul{padding-left:20px;margin:26px 0 0}.service li{margin:10px 0;font-size:.9375rem}.service li::marker{color:#a77800}.dark{background:var(--navy);color:white}.dark .service-num{color:var(--yellow)}.dark p{color:#d4dce6}.dark a{display:inline-block;color:var(--yellow);margin-top:20px;border-bottom:1px solid #ffd13d80;font-size:.9375rem}.work-section{background:var(--paper);padding:90px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{position:relative;border:0;padding:0;background:var(--navy);height:380px;text-align:left;overflow:hidden;color:white}.project.wide{grid-column:span 2}.project img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.project:hover img{transform:scale(1.045)}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#07121ee6)}.project span{position:absolute;bottom:26px;left:28px;right:20px;z-index:1}.project small{font-size:.8125rem;letter-spacing:.1em;color:var(--yellow);display:block;margin-bottom:8px}.project strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:2rem;line-height:1.1;display:block}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.about p:not(.eyebrow){color:var(--muted)}.about-number{background:var(--navy);padding:45px 40px;color:white;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.about-number strong{font:800 clamp(5rem,10vw,9rem)/1 'Barlow Condensed',Arial,sans-serif;color:var(--yellow)}.about-number span{font-size:.8125rem;letter-spacing:.15em;margin-top:15px}.about-line{height:1px;background:#ffffff40;margin:35px 0 10px}.about-number p{color:#e0e6ed!important}.members{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.members span{border:1px solid #d6dfe8;padding:9px 13px;font-size:.875rem}.text-link{font-weight:700;border-bottom:2px solid var(--yellow)}.emergency{background:var(--navy);color:#fff;padding:58px 0;border-top:7px solid var(--yellow)}.emergency .wrap{display:flex;justify-content:space-between;gap:45px;align-items:center}.emergency h2{font-size:2.7rem;max-width:670px}.emergency p:last-child{color:#d4dce6;margin-bottom:0}.emergency .button{flex-shrink:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact p{max-width:490px;color:var(--muted)}.contact-phone{font:700 clamp(2rem,3.5vw,3.4rem)/1.3 'Barlow Condensed',Arial,sans-serif;display:inline-block;border-bottom:3px solid var(--yellow);margin-top:12px}.muted{font-size:.875rem}.visit{padding:40px;background:var(--paper);border-left:5px solid var(--yellow)}address{font-style:normal;margin-bottom:26px}.visit-bottom{border-top:1px solid #d6dfe8;margin-top:32px;padding-top:22px;font-size:.875rem;color:var(--muted)}footer{background:var(--navy);color:#d4dce6;padding:42px 0;font-size:.875rem}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}footer strong{color:white;letter-spacing:.06em}footer p{margin:8px 0}footer a{color:var(--yellow)}dialog{border:0;padding:18px;max-width:min(1000px,94vw);max-height:92vh;background:var(--navy);color:white}dialog::backdrop{background:#06101aeb}dialog img{max-height:75vh;object-fit:contain;margin:auto}.close{display:block;margin-left:auto;margin-bottom:10px;padding:8px 18px;background:var(--yellow);border:0;color:var(--navy);font-weight:700}dialog p{margin:14px 0 0;text-align:center}
@media(min-width:1600px){.hero-content{padding-top:110px;padding-bottom:110px}}
@media(max-width:950px){.wrap{width:calc(100% - 44px)}.nav nav{gap:18px}.nav .small{display:none}.service-grid{grid-template-columns:1fr}.service{padding:28px}.section-heading{gap:35px}.about,.contact{gap:40px}.credentials>div{padding:0 15px}.hero-content{padding-top:65px}.hero-shade{background:linear-gradient(90deg,#091626f0,#091626a8)}.gallery{gap:15px}.project{height:320px}}
@media(max-width:650px){.topline .wrap{justify-content:center}.topline span{display:none}.nav{min-height:80px}.brand img{width:166px;height:69px}.menu{display:block;border:1px solid #cdd6e1;background:white;padding:8px 15px;font-weight:600}.nav nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 22px;background:white;box-shadow:0 12px 20px #101e3215;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.nav .small{display:inline-flex}.hero-content{padding-top:55px;padding-bottom:50px}h1{font-size:3.7rem}.hero-description{font-size:1rem}.eyebrow{font-size:.8125rem;letter-spacing:.1em}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;font-size:.75rem}.hero-note{margin-top:30px}.credentials{grid-template-columns:1fr 1fr;gap:22px;padding:28px 0}.credentials>div{padding:0 12px!important;border:0}.credentials strong{font-size:1.9rem}.credentials span{font-size:.8125rem}.section,.work-section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px}.gallery{grid-template-columns:1fr}.project.wide{grid-column:auto}.project{height:320px}.about,.contact{grid-template-columns:1fr;gap:36px}.about-number{padding:35px}.about-number strong{font-size:7rem}.emergency .wrap{display:block}.emergency h2{font-size:2.3rem}.emergency .button{margin-top:28px}.visit{padding:28px}footer .wrap{align-items:start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.generac-logo{width:200px;max-width:100%;height:auto}.generac-credential .generac-logo{width:168px;margin:2px 0 10px}.generac-logo-panel{display:inline-block;background:#fff;padding:16px 20px;margin-bottom:24px;border-radius:3px}.service .generac-logo-panel+ .service-num{display:block}@media(max-width:650px){.generac-credential .generac-logo{width:145px}}

.hero-bottom a{padding:5px 0;border-bottom:2px solid transparent}.hero-bottom a:hover,.hero-bottom a:focus-visible{color:var(--yellow);border-bottom-color:var(--yellow)}.portfolio-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.portfolio-tabs button{border:1px solid #c8d2df;background:#fff;color:var(--navy);font-weight:700;padding:12px 20px;border-radius:4px}.portfolio-tabs button:hover{border-color:var(--navy)}.portfolio-tabs button[aria-selected="true"]{background:var(--navy);color:var(--yellow);border-color:var(--navy)}.portfolio-status{color:var(--muted);font-size:.875rem;margin:0 0 24px}.portfolio-empty{background:#fff;border-top:4px solid var(--yellow);padding:42px;text-align:center}.portfolio-empty h3{margin-top:0}.portfolio-empty p{color:var(--muted)}[hidden]{display:none!important}@media(max-width:650px){.portfolio-tabs{gap:8px}.portfolio-tabs button{padding:10px 14px;font-size:.875rem}.portfolio-empty{padding:30px 22px}}
