:root{
  --blue:#00A6E7;
  --blue-dark:#007FAF;
  --red:#ff3048;
  --green:#009b42;
  --ink:#171a1d;
  --text:#3f474c;
  --muted:#68737a;
  --line:#dce2e5;
  --soft:#f6f7f8;
  --soft-blue:rgba(0,166,231,.055);
  --max:1260px;
  --section-space:96px;
  --logo-width:310px;
  --wm-opacity:.024;
  --wm-size:940px;
  --wm-x:-160px;
  --wm-y:25px;
}*{box-sizing:border-box}html{scroll-behavior:smooth}body{
  margin:0;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.55;
  letter-spacing:-.004em;
  -webkit-font-smoothing:antialiased;
}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 30px}.eyebrow{
  margin:0 0 11px;
  color:var(--blue-dark);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}h1,h2,h3,p{overflow-wrap:anywhere}h1{
  margin:0;
  font-size:clamp(3.7rem,6.3vw,6.7rem);
  line-height:.91;
  letter-spacing:-.062em;
  font-weight:780;
}h2{
  margin:0;
  font-size:clamp(2.25rem,3.4vw,3.65rem);
  line-height:1.05;
  letter-spacing:-.042em;
  font-weight:760;
}.btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 19px;
  border:1px solid var(--ink);
  border-radius:0;
  background:#fff;
  color:var(--ink);
  font-size:.87rem;
  font-weight:800;
  cursor:pointer;
}.btn-primary{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.btn-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.brand-rule{display:flex;gap:7px;width:178px;margin-top:23px}.brand-rule i{display:block;height:4px}.brand-rule .r{width:60px;background:var(--red)}.brand-rule .b{flex:1;background:var(--blue)}header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid var(--line);
}.nav{
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}.brand{display:flex;align-items:center;min-width:300px}.brand img{display:block;width:var(--logo-width);height:auto}.navlinks{display:flex;gap:28px;align-items:center;font-size:.87rem;font-weight:700}.navlinks a{position:relative;padding:31px 0 29px}.navlinks a:after{
  content:"";
  position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--blue);transition:right .16s ease;
}.navlinks a:hover,.navlinks a.active{color:var(--blue-dark)}.navlinks a:hover:after,.navlinks a.active:after{right:0}.header-right{display:flex;align-items:center;gap:20px}.phone{font-size:.84rem;font-weight:700;white-space:nowrap}.menu-btn{display:none;border:0;background:none;font-size:1.45rem}.design-piece{position:absolute;z-index:8;display:block;pointer-events:auto}.hero-red{left:0;top:0;width:21%;height:5px;background:var(--red)}.hero-blue{left:22%;right:0;top:0;height:5px;background:var(--blue)}.index-red{right:0;bottom:0;width:86px;height:5px;background:var(--red)}.plumbing-blue{left:0;bottom:0;width:28%;height:5px;background:var(--blue)}.gas-red{right:0;top:0;width:27%;height:5px;background:var(--red)}.general-blue{left:0;top:0;width:34%;height:5px;background:var(--blue)}.sa-red{right:0;bottom:0;width:30%;height:5px;background:var(--red)}.form-red{right:-1px;bottom:-1px;width:70px;height:4px;background:var(--red)}.footer-red{left:0;bottom:0;width:31%;height:5px;background:var(--red)}.footer-blue{left:32%;right:0;bottom:0;height:5px;background:var(--blue)}.hero{
  position:relative;
  overflow:hidden;
  background:#fff;
  border-bottom:1px solid var(--line);
}.hero-watermark{
  position:absolute;
  right:var(--wm-x);
  top:var(--wm-y);
  width:var(--wm-size);
  opacity:var(--wm-opacity);
  pointer-events:none;
  user-select:none;
}.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:86px;
  align-items:end;
  min-height:610px;
  padding-top:100px;
  padding-bottom:82px;
}.hero-kicker{
  max-width:340px;
  padding:0 0 13px 0;
}.hero-kicker p{
  margin:20px 0 28px;
  color:#4f595f;
  font-size:1rem;
  line-height:1.72;
}.hero-title{align-self:center}.hero-title h1{max-width:920px}.hero-title p{
  max-width:760px;
  margin:27px 0 0;
  color:#465057;
  font-size:1.08rem;
  line-height:1.7;
}.service-index{
  position:relative;
  padding:32px 0;
  background:var(--soft-blue);
  border-bottom:1px solid #d7e8ee;
}.index-grid{
  display:grid;
  grid-template-columns:170px repeat(3,1fr);
  border-top:1px solid #c7dce5;
}.index-label{
  padding:20px 18px 20px 0;
  color:var(--blue-dark);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}.index-link{
  padding:19px 22px;
  border-left:1px solid #c7dce5;
  border-bottom:1px solid #c7dce5;
  font-size:.88rem;
  font-weight:700;
}.index-link:nth-last-child(-n/**/+3){border-bottom:0}.index-link:hover{background:#fff}.plumbing{
  position:relative;
  padding:112px 0 118px;
  background:#fff;
}.plumbing-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:95px;
  align-items:start;
}.plumbing-head h2{
  max-width:620px;
  font-size:clamp(3.05rem,4.4vw,4.55rem);
}.plumbing-head p{
  max-width:620px;
  margin:0;
  padding-top:48px;
  color:#4f595f;
  font-size:1.01rem;
  line-height:1.78;
}.job-list{
  margin-top:62px;
  max-width:1040px;
  margin-left:auto;
  border-top:1px solid var(--line);
}.job-row{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:45px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}.job-row strong{font-size:.93rem}.job-row span{color:var(--muted);font-size:.9rem;line-height:1.68}.gas{
  position:relative;
  padding:0;
  background:var(--soft-blue);
  border-top:1px solid #d7e8ee;
  border-bottom:1px solid #d7e8ee;
}.gas-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  min-height:440px;
}.gas-intro{
  padding:88px 76px 88px 0;
}.gas-intro h2{
  max-width:590px;
  font-size:clamp(2.9rem,4.1vw,4.2rem);
}.gas-intro p{
  max-width:540px;
  margin:24px 0 0;
  color:#4f5c63;
  line-height:1.76;
}.gas-rows{
  background:#fff;
  border-left:1px solid #d7e8ee;
  padding:58px 0 58px 58px;
}.gas-row{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:34px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}.gas-row:last-child{border-bottom:0}.gas-row h3{margin:0;font-size:.95rem}.gas-row p{margin:0;color:var(--muted);font-size:.89rem;line-height:1.68}.general{
  position:relative;
  padding:112px 0 118px;
  background:#fff;
}.general-grid{
  display:grid;
  grid-template-columns:.68fr 1.32fr;
  gap:96px;
}.general-intro{
  max-width:430px;
  padding-top:25px;
}.general-intro h2{
  font-size:clamp(2.9rem,4.05vw,4.1rem);
}.general-intro p{
  margin:22px 0 0;
  color:#4f595f;
  line-height:1.76;
}.job-board{
  border:1px solid var(--line);
  background:#fff;
}.job-board-top{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding:17px 22px;
  background:#f5f8f9;
  border-bottom:1px solid var(--line);
}.job-board-top strong{
  font-size:.75rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}.job-board-top span{color:#6a747b;font-size:.79rem}.board-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-bottom:1px solid var(--line);
}.board-row:last-child{border-bottom:0}.board-item{
  min-height:126px;
  padding:24px 24px 22px;
}.board-item + .board-item{border-left:1px solid var(--line)}.board-item h3{margin:0 0 9px;font-size:.98rem}.board-item p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.66}.checks{
  background:var(--soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:108px 0 112px;
}.checks-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:start;
  margin-bottom:54px;
}.checks-head h2{max-width:650px}.checks-head p{
  margin:0;
  color:#4f595f;
  line-height:1.76;
}.checks-sheet{
  max-width:1020px;
  margin-left:auto;
  border-top:1px solid var(--line);
}.checks-row{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:42px;
  padding:23px 0;
  border-bottom:1px solid var(--line);
}.checks-row strong{font-size:.92rem}.checks-row span{color:var(--muted);font-size:.89rem;line-height:1.68}.sa-regular{
  position:relative;
  padding:0;
  background:#fff;
}.sa-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:500px;
}.sa-main{
  padding:92px 85px 90px 0;
}.sa-main h2{
  max-width:680px;
  font-size:clamp(2.95rem,4.15vw,4.25rem);
}.sa-main p{
  max-width:650px;
  margin:24px 0 0;
  color:#4f595f;
  line-height:1.78;
}.regular-panel{
  background:var(--soft-blue);
  border-left:1px solid #d7e8ee;
  padding:92px 0 90px 60px;
}.regular-panel h3{
  max-width:400px;
  margin:0 0 16px;
  font-size:1.7rem;
  line-height:1.2;
  letter-spacing:-.025em;
}.regular-panel p{
  max-width:380px;
  margin:0 0 26px;
  color:#56646b;
  line-height:1.72;
}.contact{
  position:relative;
  overflow:hidden;
  padding:110px 0 116px;
  background:rgba(0,166,231,.050);
  border-top:1px solid var(--line);
}.contact-watermark{
  position:absolute;
  left:-300px;
  bottom:-140px;
  width:870px;
  opacity:.014;
  pointer-events:none;
}.contact-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:96px;
}.contact-copy{padding-top:22px}.contact-copy h2{
  max-width:470px;
  font-size:clamp(3rem,4.1vw,4.25rem);
}.contact-copy > p{max-width:470px;color:var(--muted);line-height:1.72}.contact-details{margin-top:28px;border-top:1px solid var(--line)}.contact-details a,.contact-details span{
  display:block;padding:12px 0;border-bottom:1px solid var(--line);
  font-weight:700;font-size:.89rem;
}form{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-top:6px solid var(--blue);
  padding:36px 38px 38px;
  box-shadow:0 20px 48px rgba(27,55,69,.07);
}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:.76rem;font-weight:800}input,select,textarea{
  width:100%;padding:13px 14px;border:1px solid #bec7cc;border-radius:0;
  background:#fff;color:var(--ink);outline:none;
}input:focus,select:focus,textarea:focus{border-color:var(--blue)}textarea{min-height:120px;resize:vertical}footer{
  position:relative;
  background:#fff;
  border-top:1px solid var(--line);
  padding:48px 0 34px;
  color:#434c51;
  font-size:.81rem;
}.footer-top{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  gap:70px;
  padding-bottom:36px;
  border-bottom:1px solid var(--line);
}.footer-logo{width:300px;margin-bottom:16px}footer p{margin:0;max-width:430px;color:#687178}footer h4{margin:0 0 12px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}footer a{display:block;padding:4px 0}.footer-bottom{
  display:flex;justify-content:space-between;gap:24px;
  padding-top:22px;color:#6e787e;font-size:.73rem;
}@media(max-width:1050px){.navlinks,.phone{display:none}.menu-btn{display:block}.brand img{width:280px}.hero-grid,.plumbing-head,.gas-grid,.general-grid,.checks-head,.sa-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{min-height:0;gap:44px}.index-grid{grid-template-columns:1fr 1fr}.index-label{grid-column:1/-1}.index-link:nth-last-child(-n/**/+3){border-bottom:1px solid #c7dce5}.gas-rows,.regular-panel{border-left:0;border-top:1px solid #d7e8ee;padding-left:0}}@media(max-width:700px){:root{--section-space:72px}.wrap{padding:0 20px}.nav{min-height:74px}.brand{min-width:0}.brand img{width:225px}.header-right{display:none}h1{font-size:3.1rem}.hero-grid{padding-top:70px;padding-bottom:68px}.hero-watermark{width:620px;right:-260px;top:210px}.index-grid{grid-template-columns:1fr}.index-link{border-left:0}.job-row,.gas-row,.service-row,.checks-row{grid-template-columns:1fr;gap:8px}.board-row{grid-template-columns:1fr}.board-item + .board-item{border-left:0;border-top:1px solid var(--line)}.plumbing,.general,.checks,.contact{padding-top:76px;padding-bottom:78px}.gas-intro,.sa-main,.regular-panel{padding-top:74px;padding-bottom:74px}.form-grid,.footer-top{grid-template-columns:1fr}.footer-bottom{display:block}}.hero h1{
  font-size:clamp(3.05rem,5.15vw,5.2rem)!important;
  line-height:.94!important;
}@media(max-width:700px){.hero h1{font-size:2.85rem!important;line-height:.98!important}}.hero-grid{
  min-height:510px!important;
  padding-top:82px!important;
  padding-bottom:72px!important;
}section:not(.hero):not(.end-note){
  --psmg-section-tight:82px;
}.checks{padding-top:84px!important;padding-bottom:88px!important}.contact{padding-top:84px!important;padding-bottom:88px!important}.hero-watermark{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(0,166,231,.38)!important;
  outline-offset:3px!important;
}
.index-label,
.gas-intro > .eyebrow,
.checks-head > div > .eyebrow,
aside > .eyebrow,
.contact-copy > .eyebrow{color:#0079A7}

.job-board-top > span{color:#68737a}
