.floating-contact[data-astro-cid-xngs3jwu] {
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(20px + env(safe-area-inset-bottom));
  z-index: 20;
  gap: 8px;
  display: grid;
  position: fixed;
}
.floating-contact[data-astro-cid-xngs3jwu] a[data-astro-cid-xngs3jwu] {
  color: #fff;
  background: #010c24;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 48px;
  min-height: 48px;
  padding: 10px 14px;
  font:
    700 14px/1.2 Inter,
    Arial,
    sans-serif;
  text-decoration: none;
  display: flex;
  box-shadow: 0 4px 16px #010c2438;
}
.floating-contact[data-astro-cid-xngs3jwu] svg[data-astro-cid-xngs3jwu] {
  flex: none;
  width: 22px;
  height: 22px;
}
.floating-contact[data-astro-cid-xngs3jwu] a[data-astro-cid-xngs3jwu]:hover {
  background: #0065fc;
}
.floating-contact[data-astro-cid-xngs3jwu]
  a[data-astro-cid-xngs3jwu]:focus-visible {
  outline-offset: 4px;
  outline: 3px solid #fd710c;
}
.floating-contact[data-astro-cid-xngs3jwu][data-obscured="true"] {
  visibility: hidden;
  pointer-events: none;
}
@media (width<=700px) {
  .floating-contact[data-astro-cid-xngs3jwu] {
    right: max(12px, env(safe-area-inset-right));
    bottom: calc(12px + env(safe-area-inset-bottom));
  }
  .floating-contact[data-astro-cid-xngs3jwu] a[data-astro-cid-xngs3jwu] {
    padding: 12px;
  }
  .floating-contact[data-astro-cid-xngs3jwu] span[data-astro-cid-xngs3jwu] {
    clip-path: inset(50%);
    white-space: nowrap;
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
  }
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/barlow-vietnamese-700-normal.D6euyNzi.woff2) format("woff2"),
    url(/_astro/barlow-vietnamese-700-normal.4Jt4k04K.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/barlow-latin-ext-700-normal.BLuWmldJ.woff2) format("woff2"),
    url(/_astro/barlow-latin-ext-700-normal.CctuGmmz.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/barlow-latin-700-normal.A9pxMQ4z.woff2) format("woff2"),
    url(/_astro/barlow-latin-700-normal.__SGTsZ1.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/barlow-vietnamese-500-normal.zTViEIzf.woff2) format("woff2"),
    url(/_astro/barlow-vietnamese-500-normal.GNfB7rCE.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/barlow-latin-ext-500-normal.DOaysfXq.woff2) format("woff2"),
    url(/_astro/barlow-latin-ext-500-normal.CJPcKP2Q.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/barlow-latin-500-normal.BPAOfeC8.woff2) format("woff2"),
    url(/_astro/barlow-latin-500-normal.C1h8hMer.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/barlow-vietnamese-600-normal.DcjprdFV.woff2) format("woff2"),
    url(/_astro/barlow-vietnamese-600-normal.CA_GiK2e.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/barlow-latin-ext-600-normal.B8NK_A3D.woff2) format("woff2"),
    url(/_astro/barlow-latin-ext-600-normal.DMVRjfRT.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/barlow-latin-600-normal.DILqtrty.woff2) format("woff2"),
    url(/_astro/barlow-latin-600-normal.CNwfPWQD.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/barlow-vietnamese-800-normal.Cl1Mc_Dv.woff2) format("woff2"),
    url(/_astro/barlow-vietnamese-800-normal.D0VWpbij.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/barlow-latin-ext-800-normal.BiucknKG.woff2) format("woff2"),
    url(/_astro/barlow-latin-ext-800-normal.D7I3yvUw.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Barlow;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/barlow-latin-800-normal.s1sAMnoV.woff2) format("woff2"),
    url(/_astro/barlow-latin-800-normal.BdVooDN4.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-400-normal.DQukG94-.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-cyrillic-400-normal.obahsSVq.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-400-normal.HOLc17fK.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-greek-ext-400-normal.DGGRlc-M.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-400-normal.KugGGMne.woff) format("woff");
  unicode-range: U+1F??;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-greek-400-normal.B4URO6DV.woff2) format("woff2"),
    url(/_astro/inter-greek-400-normal.q2sYcFCs.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-400-normal.Bbgyi5SW.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-latin-ext-400-normal.C1nco2VV.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-400-normal.77YHD8bZ.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:
    url(/_astro/inter-latin-400-normal.C38fXH4l.woff2) format("woff2"),
    url(/_astro/inter-latin-400-normal.CyCys3Eg.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-cyrillic-ext-500-normal.B0yAr1jD.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-500-normal.BmqWE9Dz.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-cyrillic-500-normal.BasfLYem.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-500-normal.CxZf_p3X.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-greek-ext-500-normal.C4iEst2y.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-500-normal.2j5mBUwD.woff) format("woff");
  unicode-range: U+1F??;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-greek-500-normal.BIZE56-Y.woff2) format("woff2"),
    url(/_astro/inter-greek-500-normal.Xzm54t5V.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-vietnamese-500-normal.DOriooB6.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-500-normal.mJboJaSs.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-latin-ext-500-normal.CV4jyFjo.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-500-normal.BxGbmqWO.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:
    url(/_astro/inter-latin-500-normal.Cerq10X2.woff2) format("woff2"),
    url(/_astro/inter-latin-500-normal.BL9OpVg8.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-cyrillic-ext-600-normal.Dfes3d0z.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-600-normal.Bcila6Z-.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-cyrillic-600-normal.CWCymEST.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-600-normal.4D_pXhcN.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-greek-ext-600-normal.DRtmH8MT.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-600-normal.B8X0CLgF.woff) format("woff");
  unicode-range: U+1F??;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-greek-600-normal.plRanbMR.woff2) format("woff2"),
    url(/_astro/inter-greek-600-normal.BZpKdvQh.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-vietnamese-600-normal.Cc8MFFhd.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-600-normal.BuLX-rYi.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-latin-ext-600-normal.D2bJ5OIk.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-600-normal.CIVaiw4L.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:
    url(/_astro/inter-latin-600-normal.LgqL8muc.woff2) format("woff2"),
    url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-700-normal.LO58E6JB.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-cyrillic-700-normal.CjBOestx.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-700-normal.DrXBdSj3.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-greek-ext-700-normal.qfdV9bQt.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-700-normal.BoQ6DsYi.woff) format("woff");
  unicode-range: U+1F??;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-greek-700-normal.C3JjAnD8.woff2) format("woff2"),
    url(/_astro/inter-greek-700-normal.BUv2fZ6O.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-vietnamese-700-normal.DlLaEgI2.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-700-normal.BZaoP0fm.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-latin-ext-700-normal.Ca8adRJv.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-700-normal.TidjK2hL.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src:
    url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2) format("woff2"),
    url(/_astro/inter-latin-700-normal.BLAVimhd.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-cyrillic-ext-800-normal.BZOjs1Xv.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-ext-800-normal.Ca-gJeZY.woff) format("woff");
  unicode-range:
    U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-cyrillic-800-normal.C7MGvYyJ.woff2) format("woff2"),
    url(/_astro/inter-cyrillic-800-normal.CCHyn08d.woff) format("woff");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-greek-ext-800-normal.B--PVpEC.woff2) format("woff2"),
    url(/_astro/inter-greek-ext-800-normal.DUe57HfS.woff) format("woff");
  unicode-range: U+1F??;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-greek-800-normal.CLIouy3y.woff2) format("woff2"),
    url(/_astro/inter-greek-800-normal.BU00tryP.woff) format("woff");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-vietnamese-800-normal.Cm7tD1pz.woff2) format("woff2"),
    url(/_astro/inter-vietnamese-800-normal.DDlpr_Ee.woff) format("woff");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-latin-ext-800-normal.DZJjya6U.woff2) format("woff2"),
    url(/_astro/inter-latin-ext-800-normal.BOMpwxm3.woff) format("woff");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src:
    url(/_astro/inter-latin-800-normal.BYj_oED-.woff2) format("woff2"),
    url(/_astro/inter-latin-800-normal.D1mf63XC.woff) format("woff");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  color: #001c45;
  font-synthesis: none;
  --navy: #010c24;
  --blue: #0068fc;
  --u: min(1vw, 14.4px);
  background: #fff;
  font-family: Inter, Arial, sans-serif;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
a {
  color: inherit;
}
img {
  max-width: 100%;
  display: block;
}
h1,
h2,
h3,
p {
  margin: 0;
}
button,
summary,
a {
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,
summary:focus-visible {
  outline-offset: 5px;
  outline: 3px solid #fd710c;
}
summary {
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}
summary {
  list-style: none;
}
.site-container {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  container-type: inline-size;
}
:where(main > :not(.climate-section, .faq-section)) {
  max-width: 1440px;
  margin-inline: auto;
}
.section-container {
  width: min(96.65%, 1391.76px);
  margin-inline: auto;
}
.skip-link {
  z-index: 20;
  background: #fff;
  padding: 12px;
  position: fixed;
  top: 8px;
  left: 8px;
  transform: translateY(-200%);
}
.skip-link:focus {
  transform: none;
}
.button {
  text-align: center;
  border-radius: calc(var(--u) * 0.7);
  justify-content: center;
  align-items: center;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}
.site-header {
  background: var(--navy);
  position: relative;
}
.site-header-content {
  height: calc(var(--u) * 8.1186);
  justify-content: space-between;
  align-items: center;
  gap: 4%;
  padding-inline: 3.6233%;
  display: flex;
}
.site-logo {
  flex: none;
  width: 21.54%;
}
.site-logo img {
  width: 100%;
  height: auto;
}
.desktop-nav {
  gap: calc(var(--u) * 1.5);
  flex: none;
  grid-template-columns: 347fr 605fr 574fr 399fr 470fr;
  align-items: center;
  width: 70%;
  display: grid;
}
.desktop-nav a {
  text-align: center;
  font:
    700 calc(var(--u) * 1.55)/1.08 Barlow,
    Arial,
    sans-serif;
  color: #fff;
  text-decoration: none;
}
.desktop-nav .nav-electrical {
  text-transform: uppercase;
  font-size: calc(var(--u) * 1.3176);
  font-weight: 800;
}
.mobile-nav {
  display: none;
}
.hero {
  background: #fff;
  position: relative;
  overflow: hidden;
}
.hero-content {
  z-index: 1;
  position: relative;
}
.hero-home {
  height: calc(var(--u) * 40.806);
}
.hero-home .hero-content {
  padding-top: calc(var(--u) * 3.139);
  width: 46.0957%;
  margin-left: 3.6233%;
}
.hero h1 {
  font-family: Barlow, Arial, sans-serif;
  font-weight: 800;
}
.hero-home h1 {
  font-size: calc(var(--u) * 6.00659);
  letter-spacing: 0;
  color: #001c45;
  line-height: 1.05;
}
.hero-home h1 span {
  color: #2587fc;
}
.hero-copy {
  color: #1a2b6d;
  font-weight: 500;
}
.hero-home .hero-copy {
  font-size: calc(var(--u) * 1.55);
  margin-top: calc(var(--u) * 1.886);
  line-height: 1.16;
}
.hero-button {
  color: #fff;
  width: calc(var(--u) * 21.99);
  height: calc(var(--u) * 4.632);
  font-size: calc(var(--u) * 1.53);
  background: #001033;
}
.hero-home .hero-button {
  margin-top: calc(var(--u) * 3.1);
}
.hero-image {
  object-fit: cover;
  width: 48.2465%;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
}
.hero-tagline {
  bottom: calc(var(--u) * 1.005);
  width: 100%;
  font-family: Barlow, Arial, sans-serif;
  font-weight: 800;
  font-size: calc(var(--u) * 1.975);
  text-align: center;
  color: #101529;
  position: absolute;
}
.hero-service {
  height: calc(var(--u) * 36.426);
}
.hero-service .hero-content {
  padding-top: calc(var(--u) * 3.274);
  width: 46.0181%;
  margin-left: 2.8677%;
}
.hero-service h1 {
  font-size: calc(var(--u) * 5.503);
  max-width: 100%;
  line-height: 1.05;
}
.hero-service .hero-copy {
  font-size: calc(var(--u) * 1.86);
  margin-top: calc(var(--u) * 2.067);
  max-width: 100%;
  line-height: 1.16;
}
.hero-service .hero-button {
  margin-top: calc(var(--u) * 2.02);
}
.hero-service .hero-image {
  object-fit: cover;
  width: 48.2465%;
  height: 100%;
}
.category-section {
  height: calc(var(--u) * 25.725);
  padding: calc(var(--u) * 0.9494) calc(var(--u) * 0.8333) 0;
}
.category-grid {
  gap: calc(var(--u) * 0.735);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
}
.category-card {
  aspect-ratio: 1232.2/1003.62;
  border-radius: calc(var(--u) * 0.62);
  color: #fff;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}
.category-heating {
  background: #0068fc;
}
.category-boiler {
  background: #14bba6;
}
.category-water {
  background: #78bb22;
}
.category-symbol {
  width: auto;
  max-width: none;
  height: 62.68%;
  margin-top: 6.35%;
}
.category-heating .category-symbol {
  width: 47.28%;
  height: auto;
}
.category-boiler .category-symbol {
  width: 46.05%;
  height: auto;
}
.category-water .category-symbol {
  width: 41.29%;
  height: auto;
  margin-top: 7.7%;
}
.category-label {
  width: 82.95%;
  height: auto;
  position: absolute;
  bottom: 11.72%;
}
.category-water .category-label {
  width: 72.64%;
  bottom: 8.3%;
}
.category-boiler span {
  font:
    800 calc(var(--u) * 2.19)/0.942 Barlow,
    Arial,
    sans-serif;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  bottom: 8.1%;
}
.category-electrical > img {
  width: 100%;
  height: 100%;
}
.home-projects {
  padding-top: calc(var(--u) * 3.15);
  padding-bottom: calc(var(--u) * 5.5);
}
.section-eyebrow {
  font-size: calc(var(--u) * 1.065);
  color: #2587fc;
  text-transform: uppercase;
  margin-bottom: calc(var(--u) * 1.024);
  font-weight: 700;
}
.home-projects-header {
  padding-left: calc(var(--u) * 2.11);
  margin-bottom: calc(var(--u) * 2.79);
}
.home-projects h2 {
  font:
    800 calc(var(--u) * 4.07)/1.08 Barlow,
    Arial,
    sans-serif;
}
.home-projects-header > p:last-child {
  font-size: calc(var(--u) * 1.55);
  margin-top: calc(var(--u) * 0.6);
  color: #101529;
}
.project-grid {
  gap: calc(var(--u) * 0.87);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}
.project-card {
  min-width: 0;
}
.project-card-location {
  color: #fff;
  font-size: calc(var(--u) * 1.55);
  padding: calc(var(--u) * 0.75) calc(var(--u) * 2);
  border-radius: calc(var(--u) * 0.77) calc(var(--u) * 0.77) 0 0;
  background: #0068fc;
  font-weight: 700;
}
.project-card-photo {
  aspect-ratio: 1;
  overflow: hidden;
}
.project-card-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.project-card-content {
  padding: calc(var(--u) * 1.92) calc(var(--u) * 2.02) calc(var(--u) * 2.6);
  background: #fff;
}
.project-card-title {
  font:
    800 calc(var(--u) * 2.37)/1.05 Barlow,
    Arial,
    sans-serif;
}
.project-card-subtitle {
  font-weight: 600;
  font-size: calc(var(--u) * 1.57);
  margin-top: calc(var(--u) * 1.08);
  line-height: 1.16;
}
.project-card-description {
  font-size: calc(var(--u) * 1.47);
  margin-top: calc(var(--u) * 1.39);
  color: #35415e;
  line-height: 1.38;
}
.project-card-description p + p {
  margin-top: 0.55em;
}
.project-card-link {
  font-size: calc(var(--u) * 1.51);
  margin-top: calc(var(--u) * 1.8);
  gap: 0.8em;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}
.all-projects-button {
  max-width: calc(var(--u) * 28);
  height: calc(var(--u) * 5.2);
  margin: calc(var(--u) * 3) auto 0;
  color: #fff;
  font-size: calc(var(--u) * 1.6);
  background: #0068fc;
  display: flex;
}
.service-projects {
  padding-top: calc(var(--u) * 4.2);
  padding-bottom: calc(var(--u) * 5.5);
}
.service-projects-header {
  padding-inline: calc(var(--u) * 1.56);
  padding-bottom: calc(var(--u) * 2.4);
}
.service-projects h2 {
  font-size: calc(var(--u) * 3.1);
  font-weight: 800;
  line-height: 1.05;
}
.service-projects-header > p {
  font-size: calc(var(--u) * 1.86);
  margin-top: calc(var(--u) * 1.36);
  line-height: 1.05;
}
.rebate-section {
  text-align: center;
  padding-top: calc(var(--u) * 4.1);
  padding-bottom: calc(var(--u) * 1.52);
  min-height: calc(var(--u) * 40.38);
  margin-top: calc(var(--u) * 5.02);
}
.rebate-section h2 {
  font:
    800 calc(var(--u) * 5.05)/1.07 Barlow,
    Arial,
    sans-serif;
}
.rebate-intro {
  font-size: calc(var(--u) * 2.14);
  color: #526486;
  margin-top: calc(var(--u) * 1.6);
  line-height: 1.2;
}
.rebate-logos {
  margin: calc(var(--u) * 4.25) 8% calc(var(--u) * 3.4);
  justify-content: space-between;
  align-items: center;
  gap: 6.5%;
  display: flex;
}
.rebate-logos img {
  width: 28%;
  height: calc(var(--u) * 6.1);
  object-fit: contain;
}
.rebate-copy {
  font-size: calc(var(--u) * 2.15);
  color: #526486;
  line-height: 1.34;
}
.rebate-button {
  color: #fff;
  font-size: calc(var(--u) * 1.86);
  width: calc(var(--u) * 29.25);
  height: calc(var(--u) * 5.05);
  margin-top: calc(var(--u) * 2.38);
  background: #0068fc;
}
.faq-section {
  color: #fff;
  margin-top: calc(var(--u) * 4.65);
  background: #2467f5;
}
.faq-content {
  min-height: calc(var(--u) * 41.426);
  padding: calc(var(--u) * 6.4) 15% calc(var(--u) * 3.1);
}
.faq-header {
  text-align: center;
}
.faq-heading {
  font-size: calc(var(--u) * 4.07);
  font-weight: 700;
  line-height: 1.06;
}
.faq-intro {
  font-size: calc(var(--u) * 1.55);
  margin-top: calc(var(--u) * 0.98);
  line-height: 1.3;
}
.faq-list {
  margin-top: calc(var(--u) * 3.26);
}
.faq-question {
  font-size: calc(var(--u) * 1.74);
  padding: calc(var(--u) * 1.9) 0;
  padding-right: calc(var(--u) * 3.5);
  font-weight: 700;
  line-height: 1.35;
  position: relative;
}
.faq-question:after {
  content: "";
  width: calc(var(--u) * 1.35);
  height: calc(var(--u) * 1.35);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 43%;
  right: 0;
  transform: rotate(45deg);
}
.faq-item[open] > .faq-question:after {
  top: 52%;
  transform: rotate(225deg);
}
.faq-answer {
  font-size: calc(var(--u) * 1.55);
  padding-bottom: calc(var(--u) * 1.8);
  line-height: 1.55;
}
.faq-answer p + p {
  margin-top: 1em;
}
.faq-more {
  margin-top: calc(var(--u) * 2.4);
}
.faq-more-toggle {
  color: #001c45;
  font:
    700 calc(var(--u) * 1.41)/1.2 Inter,
    Arial,
    sans-serif;
  padding: calc(var(--u) * 1.1) calc(var(--u) * 2);
  width: fit-content;
  min-width: calc(var(--u) * 16.4);
  text-align: center;
  background: #fff;
  margin-inline: auto;
}
.faq-more-list {
  margin-top: calc(var(--u) * 2);
}
.site-footer {
  text-align: center;
  color: #f7f7fc;
  background: #020a20;
}
.footer-content {
  min-height: calc(var(--u) * 40);
  padding: calc(var(--u) * 10.91) 6.25% calc(var(--u) * 5.9);
}
.footer-socials {
  justify-content: center;
  gap: calc(var(--u) * 2.44);
  margin-bottom: calc(var(--u) * 2.4);
  display: flex;
}
.footer-socials img {
  width: calc(var(--u) * 2.78);
  height: calc(var(--u) * 2.83);
}
.site-footer address {
  font-style: normal;
  font-size: calc(var(--u) * 1.37);
  line-height: 1.2;
}
.footer-appointment {
  font-size: calc(var(--u) * 1.37);
  margin-top: calc(var(--u) * 0.82);
}
.footer-phone {
  font-size: calc(var(--u) * 2.13);
  margin-top: calc(var(--u) * 1.6);
  text-decoration: none;
  display: inline-block;
}
.footer-services {
  margin-top: calc(var(--u) * 2.85);
  padding-top: calc(var(--u) * 2.05);
  font-size: calc(var(--u) * 1.38);
  border-top: 1px solid #233049;
  line-height: 1.44;
}
.footer-copyright {
  font-size: calc(var(--u) * 1.065);
  margin-top: calc(var(--u) * 1.3);
}
.projects-index-intro {
  padding: 64px 20px 48px;
}
.projects-index-intro h1 {
  font:
    800 64px/1.05 Barlow,
    Arial,
    sans-serif;
}
.projects-index-intro > p:last-child {
  margin-top: 16px;
  font-size: 22px;
}
.projects-index-group {
  padding-bottom: 70px;
}
.projects-index-group h2 {
  margin-bottom: 26px;
  font:
    800 38px/1.1 Barlow,
    Arial,
    sans-serif;
}
.project-detail-page {
  max-width: 1120px;
  margin-inline: auto;
  padding: 48px 40px 80px;
}
.project-breadcrumb {
  margin-bottom: 38px;
  font-size: 16px;
}
.project-detail h1 {
  max-width: 950px;
  font:
    800 64px/1.05 Barlow,
    Arial,
    sans-serif;
}
.project-detail-subtitle {
  margin-top: 24px;
  font-size: 28px;
}
.project-detail-location {
  margin-top: 26px;
  font-size: 20px;
}
.project-detail-status {
  color: #fff;
  background: #0068fc;
  margin-top: 16px;
  padding: 8px 14px;
  display: inline-block;
}
.project-detail-heading {
  margin-top: 48px;
  font-size: 32px;
}
.project-detail-story,
.project-detail-systems {
  margin-top: 30px;
  font-size: 20px;
  line-height: 1.65;
}
.project-detail-story p + p {
  margin-top: 1.1em;
}
.project-detail-systems h2 {
  margin-bottom: 12px;
  font-size: 20px;
}
.project-return-link {
  margin-top: 42px;
  font-size: 20px;
  font-weight: 700;
  display: inline-block;
}
@media (width>=701px) and (width<=1100px) {
  .faq-answer {
    font-size: max(15px, calc(var(--u) * 1.55));
  }
}
@media (width<=700px) {
  :root {
    --u: 10px;
  }
  .site-header-content {
    justify-content: space-between;
    gap: 0;
    height: 85px;
    padding: 18px 20px;
  }
  .site-logo {
    width: 205px;
  }
  .desktop-nav {
    display: none;
  }
  .mobile-nav {
    color: #fff;
    display: block;
  }
  .mobile-nav summary {
    align-items: center;
    gap: 10px;
    padding: 12px;
    font:
      700 15px/1.3 Barlow,
      Arial,
      sans-serif;
    display: flex;
  }
  .mobile-nav nav {
    z-index: 10;
    background: #050d23;
    gap: 8px;
    padding: 12px 20px 24px;
    display: grid;
    position: absolute;
    top: 85px;
    left: 0;
    right: 0;
  }
  .mobile-nav nav a {
    padding: 12px;
    font-weight: 700;
    text-decoration: none;
  }
  .hero-home,
  .hero-service {
    height: auto;
    overflow: visible;
  }
  .hero-home .hero-content,
  .hero-service .hero-content {
    width: auto;
    margin: 0;
    padding: 30px 22px;
  }
  .hero-home h1 {
    font-size: 43px;
    line-height: 1.05;
  }
  .hero-service h1 {
    max-width: 520px;
    font-size: 40px;
  }
  .hero-home .hero-copy,
  .hero-service .hero-copy {
    max-width: 100%;
    margin-top: 22px;
    font-size: 18px;
    line-height: 1.4;
  }
  .hero-button {
    width: 234px;
    height: 50px;
    font-size: 15px;
  }
  .hero-home .hero-button,
  .hero-service .hero-button {
    margin-top: 24px;
  }
  .hero-image,
  .hero-service .hero-image {
    aspect-ratio: 2490/1763;
    object-fit: cover;
    width: 100%;
    height: auto;
    position: static;
  }
  .hero-tagline {
    padding: 24px 18px;
    font-size: 18px;
    position: static;
  }
  .category-section {
    height: auto;
    padding: 0 12px 32px;
  }
  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .category-card {
    border-radius: 8px;
  }
  .category-boiler span {
    font-size: clamp(12px, 3.8vw, 24px);
  }
  .home-projects,
  .service-projects {
    padding: 30px 12px 42px;
  }
  .home-projects-header,
  .service-projects-header {
    margin-bottom: 24px;
    padding: 0;
  }
  .section-eyebrow {
    margin-bottom: 12px;
    font-size: 13px;
  }
  .home-projects h2,
  .service-projects h2 {
    font-size: 32px;
    line-height: 1.08;
  }
  .home-projects-header > p:last-child,
  .service-projects-header > p {
    margin-top: 12px;
    font-size: 17px;
    line-height: 1.4;
  }
  .project-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .project-card-location {
    border-radius: 8px 8px 0 0;
    padding: 14px 22px;
    font-size: 18px;
  }
  .project-card-content {
    padding: 22px;
  }
  .project-card-title {
    font-size: clamp(23px, 6.15vw, 26px);
    line-height: 1.12;
  }
  .project-card-subtitle {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.35;
  }
  .project-card-description {
    margin-top: 18px;
    font-size: 17px;
  }
  .project-card-link {
    margin-top: 22px;
    font-size: 18px;
  }
  .all-projects-button {
    max-width: 280px;
    height: 50px;
    margin-top: 22px;
    font-size: 17px;
  }
  .rebate-section {
    min-height: 0;
    margin-top: 34px;
    padding: 30px 18px 34px;
  }
  .rebate-section h2 {
    font-size: 36px;
    line-height: 1.06;
  }
  .rebate-intro {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.4;
  }
  .rebate-logos {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin: 30px 0;
  }
  .rebate-logos img {
    width: 42%;
    height: 58px;
  }
  .rebate-copy {
    font-size: 18px;
    line-height: 1.5;
  }
  .rebate-copy br {
    display: none;
  }
  .rebate-button {
    width: 260px;
    height: 52px;
    margin-top: 26px;
    font-size: 18px;
  }
  .faq-section {
    margin-top: 0;
  }
  .faq-content {
    min-height: 0;
    padding: 42px 24px;
  }
  .faq-heading {
    font-size: 38px;
  }
  .faq-intro {
    margin-top: 12px;
    font-size: 16px;
  }
  .faq-list {
    margin-top: 20px;
  }
  .faq-question {
    padding: 18px 30px 18px 0;
    font-size: 17px;
    line-height: 1.4;
  }
  .faq-question:after {
    width: 12px;
    height: 12px;
  }
  .faq-answer {
    padding-bottom: 16px;
    font-size: 16px;
    line-height: 1.55;
  }
  .faq-more {
    margin-top: 26px;
  }
  .faq-more-toggle {
    min-width: 190px;
    padding: 15px 24px;
    font-size: 15px;
  }
  .faq-more-list {
    margin-top: 18px;
  }
  .footer-content {
    min-height: 0;
    padding: 60px 20px 44px;
  }
  .footer-socials {
    gap: 28px;
    margin-bottom: 30px;
  }
  .footer-socials img {
    width: 38px;
    height: 39px;
  }
  .site-footer address,
  .footer-appointment {
    font-size: 15px;
    line-height: 1.5;
  }
  .footer-appointment {
    margin-top: 8px;
  }
  .footer-phone {
    margin-top: 22px;
    font-size: 26px;
  }
  .footer-services {
    margin-top: 36px;
    padding-top: 28px;
    font-size: 17px;
  }
  .footer-copyright {
    margin-top: 24px;
    font-size: 14px;
  }
  .projects-index-intro {
    padding: 36px 12px;
  }
  .projects-index-intro h1 {
    font-size: 40px;
  }
  .projects-index-intro > p:last-child {
    font-size: 17px;
    line-height: 1.4;
  }
  .projects-index-group {
    padding: 0 10px 40px;
  }
  .projects-index-group h2 {
    font-size: 32px;
  }
  .project-detail-page {
    padding: 28px 22px 54px;
  }
  .project-breadcrumb {
    margin-bottom: 28px;
    font-size: 14px;
  }
  .project-detail h1 {
    font-size: 40px;
  }
  .project-detail-subtitle {
    font-size: 24px;
  }
  .project-detail-heading {
    margin-top: 34px;
    font-size: 28px;
  }
  .project-detail-story,
  .project-detail-systems {
    margin-top: 24px;
    font-size: 18px;
  }
  .project-return-link {
    margin-top: 28px;
    font-size: 18px;
  }
}
:root {
  --service-card-header: calc(var(--u) * 18.2329);
}
.site-header-content {
  gap: 4%;
}
.desktop-nav a span {
  white-space: nowrap;
  display: block;
}
.faq-question h3 {
  font: inherit;
}
.site-shell {
  --u: min(1cqw, 14.4px);
  container-type: inline-size;
}
.hero-tagline {
  font-family: Inter, Arial, sans-serif;
  font-size: calc(var(--u) * 1.78);
}
.project-card-meta {
  font-size: calc(var(--u) * 1.47);
  color: #35415e;
  margin-top: calc(var(--u) * 1);
  line-height: 1.3;
}
.project-card-home .project-card-photo,
.project-card-index .project-card-photo {
  border-radius: calc(var(--u) * 0.775);
}
.project-card-challenge {
  min-height: var(--service-card-header);
  color: #fff;
  padding: calc(var(--u) * 1.7) calc(var(--u) * 2.03);
  border-radius: calc(var(--u) * 0.775);
  background: #0068fc;
}
.project-card-challenge .project-card-location {
  font-size: calc(var(--u) * 1.38);
  margin-bottom: calc(var(--u) * 1);
  background: 0 0;
  border-radius: 0;
  padding: 0;
}
.project-card-challenge .project-card-title {
  font-family: Inter, Arial, sans-serif;
  font-size: calc(var(--u) * 2.77);
  font-weight: 800;
  line-height: 1.05;
}
.project-card-challenge .project-card-subtitle {
  font-size: calc(var(--u) * 1.76);
  margin-top: calc(var(--u) * 1.5);
  font-weight: 400;
  line-height: 1.15;
}
.project-card-service .project-card-photo {
  margin-top: calc(var(--u) * 6.51);
  border-radius: calc(var(--u) * 0.775);
}
.project-card-service .project-card-description {
  font-weight: 400;
  font-size: calc(var(--u) * 1.47);
  margin-top: 0;
  line-height: 1.3;
}
.project-card-service .project-card-description p:first-child {
  font-family: Barlow, Arial, sans-serif;
  font-size: calc(var(--u) * 2.5);
  margin-bottom: calc(var(--u) * 1.5);
  font-weight: 800;
  line-height: 1.12;
}
.project-detail-photo {
  border-radius: 10px;
  height: auto;
  margin: 32px 0;
}
.faq-section {
  background: #0068fd;
}
.rebate-section h2 {
  font-size: calc(var(--u) * 5.4);
}
@media (width<=700px) {
  .rebate-section h2 {
    font-size: 36px;
  }
}
.project-breadcrumb {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45em;
  display: flex;
}
@media (width<=700px) {
  .hero-service .hero-image {
    aspect-ratio: 2465/1880;
  }
}
.home-projects,
.service-projects {
  padding-bottom: 0;
}
.home-projects-header h2 a {
  text-decoration: none;
}
.project-card-photo a {
  width: 100%;
  height: 100%;
  display: block;
}
.project-card-arrow {
  height: calc(var(--u) * 6.51);
  color: #001c45;
  place-items: center;
  display: grid;
}
.project-card-arrow span {
  width: calc(var(--u) * 2.3);
  height: calc(var(--u) * 2.4);
  display: block;
  position: relative;
}
.project-card-arrow span:before {
  content: "";
  width: calc(var(--u) * 0.35);
  height: calc(var(--u) * 2.05);
  background: currentColor;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
}
.project-card-arrow span:after {
  content: "";
  bottom: calc(var(--u) * 0.2);
  width: calc(var(--u) * 1.4);
  height: calc(var(--u) * 1.4);
  border-right: calc(var(--u) * 0.35) solid currentColor;
  border-bottom: calc(var(--u) * 0.35) solid currentColor;
  position: absolute;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
}
.project-card-service .project-card-photo {
  margin-top: 0;
}
.project-grid-service {
  grid-template-rows: repeat(4, auto);
  row-gap: 0;
}
.project-card-service {
  grid-template-rows: subgrid;
  grid-row: span 4;
  display: grid;
}
.project-card-service-location {
  margin-top: 0;
  margin-bottom: calc(var(--u) * 1.1);
}
.project-providers {
  width: 103.466%;
  height: calc(var(--u) * 16.449);
  margin-left: -1.733%;
  position: relative;
  overflow: hidden;
}
.project-provider-strip {
  width: 65.18%;
  height: calc(var(--u) * 7.789);
  background: #fff;
  justify-content: space-between;
  align-items: center;
  gap: 7%;
  padding-inline: 4%;
  display: flex;
  position: absolute;
  top: 0;
}
.project-provider-strip img {
  object-fit: contain;
  width: 28%;
  height: auto;
}
.project-provider-strip-first {
  left: 1.7826%;
}
.project-provider-strip-second {
  left: 30.09%;
}
@media (width<=700px) {
  .home-projects,
  .service-projects {
    padding-bottom: 0;
  }
  .project-card-arrow {
    height: 64px;
  }
  .project-card-arrow span {
    width: 30px;
    height: 32px;
  }
  .project-card-arrow span:before {
    width: 4px;
    height: 27px;
  }
  .project-card-arrow span:after {
    border-width: 4px;
    width: 18px;
    height: 18px;
    bottom: 3px;
  }
  .project-card-service .project-card-photo {
    margin-top: 0;
  }
  .project-providers {
    height: 105px;
    margin-top: 12px;
  }
  .project-provider-strip {
    height: 65px;
  }
  .project-grid-service {
    grid-template-rows: none;
    row-gap: 28px;
  }
  .project-card-service {
    grid-row: auto;
    display: block;
  }
  .project-card-service-location {
    margin-bottom: 16px;
  }
}
@media (width>=701px) {
  .hero-service {
    height: auto;
    min-height: calc(var(--u) * 36.426);
  }
  .hero-service .hero-content {
    padding-bottom: calc(var(--u) * 2.79);
  }
}
.rebate-section {
  font-family: Barlow, Arial, sans-serif;
}
.rebate-section h2 {
  font-size: calc(var(--u) * 5.55);
  line-height: 1;
}
.rebate-intro {
  font-size: calc(var(--u) * 2.22);
  margin-top: calc(var(--u) * 1.1);
  font-weight: 500;
}
.rebate-logos {
  margin-top: calc(var(--u) * 3.65);
}
.rebate-logos img:first-child {
  width: 27%;
}
.rebate-logos img:nth-child(2) {
  width: 31%;
}
.rebate-logos img:nth-child(3) {
  width: 27.25%;
}
.rebate-copy {
  font-size: calc(var(--u) * 2.22);
  font-weight: 500;
  line-height: 1.24;
}
.rebate-button {
  margin-top: calc(var(--u) * 1.9);
  font-family: Inter, Arial, sans-serif;
}
@media (width<=700px) {
  .rebate-section h2 {
    font-size: 36px;
    line-height: 1.06;
  }
  .rebate-intro,
  .rebate-copy {
    font-size: 18px;
    line-height: 1.5;
  }
  .rebate-intro {
    margin-top: 18px;
  }
  .rebate-logos {
    margin: 30px 0;
  }
  .rebate-logos img:nth-child(n) {
    width: 42%;
  }
  .rebate-button {
    margin-top: 26px;
  }
}
.project-card-challenge .project-card-meta {
  color: #fff;
  margin-top: 0;
  margin-bottom: calc(var(--u) * 1);
}
@media (width>=701px) {
  .home-projects + .climate-section + .why-section {
    margin-top: calc(var(--u) * 1.2013);
  }
  .service-projects + .climate-section + .why-section {
    margin-top: calc(var(--u) * 0.058128);
  }
  .service-projects + .climate-section + .why-section + .rebate-section {
    margin-top: calc(var(--u) * 2.86766);
  }
  .service-projects
    + .climate-section
    + .why-section
    + .rebate-section
    + .faq-section {
    margin-top: calc(var(--u) * 4.35962);
  }
  .site-shell:has(.hero-service) .site-footer {
    margin-top: calc(var(--u) * 0.077504);
  }
}
.project-grid-service > .project-card:first-child .project-card-challenge {
  background: var(--service-accent, #0166fa);
}
@media (width>=701px) {
  .footer-content {
    min-height: calc(var(--u) * 39.9332);
    padding-bottom: calc(var(--u) * 5.5);
  }
  .site-footer address {
    font-size: calc(var(--u) * 1.335);
  }
  .footer-appointment {
    font-size: calc(var(--u) * 1.309);
    margin-top: calc(var(--u) * 0.7);
  }
  .footer-phone {
    font-size: calc(var(--u) * 2.092);
    margin-top: calc(var(--u) * 1.15);
  }
  .footer-services {
    margin-top: calc(var(--u) * 2.62);
    padding-top: calc(var(--u) * 1.9);
    font-size: calc(var(--u) * 1.35);
  }
  .footer-copyright {
    margin-top: calc(var(--u) * 0.8);
  }
  .hero-home .hero-button {
    margin-top: calc(var(--u) * 3.4876);
  }
  .hero-service .hero-button {
    margin-left: 0;
  }
  .faq-intro {
    margin-top: calc(var(--u) * 0.65);
  }
  .faq-list {
    margin-top: calc(var(--u) * 2.53);
  }
  .faq-question {
    font-size: calc(var(--u) * 1.66);
    padding-block: calc(var(--u) * 1.632);
  }
  .faq-more {
    margin-top: calc(var(--u) * 2.136);
  }
  .rebate-section {
    padding-top: calc(var(--u) * 3.8);
  }
  .service-projects {
    padding-top: calc(var(--u) * 4.7775);
  }
  .service-projects-header {
    padding-bottom: calc(var(--u) * 2.76);
  }
  .service-projects-header > p {
    margin-top: calc(var(--u) * 1.6287);
  }
  .home-projects-header {
    margin-bottom: calc(var(--u) * 3.2182);
  }
  .faq-content {
    padding-bottom: calc(var(--u) * 2.989);
  }
  .faq-question:after {
    box-sizing: border-box;
    right: calc(var(--u) * 0.155);
    border-width: 4px;
    top: 34.5%;
  }
}
@media (width<=700px) {
  .site-header-content {
    gap: 0;
  }
  .hero-tagline {
    font-size: 18px;
  }
  .project-card-challenge .project-card-meta {
    margin-bottom: 12px;
    font-size: 16px;
  }
  .project-card-challenge {
    min-height: 0;
    padding: 24px 22px;
  }
  .project-card-challenge .project-card-location {
    margin-bottom: 12px;
    font-size: 16px;
  }
  .project-card-challenge .project-card-title {
    font-size: clamp(23px, 6.15vw, 26px);
    line-height: 1.12;
  }
  .project-card-challenge .project-card-subtitle {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.4;
  }
  .project-card-service .project-card-photo {
    margin-top: 24px;
  }
  .project-card-service .project-card-description {
    font-size: 18px;
    line-height: 1.5;
  }
  .project-card-service .project-card-description p:first-child {
    margin-bottom: 16px;
    font-size: 27px;
    line-height: 1.2;
  }
  .project-card-meta {
    margin-top: 14px;
    font-size: 17px;
  }
  .project-card-home .project-card-photo,
  .project-card-index .project-card-photo {
    border-radius: 8px;
  }
}
.hero-desktop-break {
  display: none;
}
.project-carousel-track {
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--u) * 1.74) / 3);
  gap: calc(var(--u) * 0.87);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  display: grid;
  overflow-x: auto;
}
.project-carousel-track::-webkit-scrollbar {
  display: none;
}
.project-carousel-track:focus-visible,
.project-carousel-controls button:focus-visible {
  outline-offset: -3px;
  outline: 3px solid #fd710c;
}
.project-carousel .project-card {
  scroll-snap-align: start;
  aspect-ratio: 1.12;
  border-radius: calc(var(--u) * 0.4);
  position: relative;
  overflow: hidden;
}
.project-carousel .project-card > a {
  color: #fff;
  height: 100%;
  display: block;
}
.project-carousel .project-card > a:focus-visible {
  outline-offset: -4px;
}
.carousel-photo {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.project-carousel .project-card-content {
  padding: calc(var(--u) * 1.35);
  pointer-events: none;
  background: linear-gradient(#0000 32%, #000000e0);
  flex-direction: column;
  justify-content: flex-end;
  display: flex;
  position: absolute;
  inset: 0;
}
.project-carousel .project-card-title {
  font-family: Inter, Arial, sans-serif;
  font-size: calc(var(--u) * 2.1);
  line-height: 1.12;
}
.project-carousel .project-card-subtitle {
  font-size: calc(var(--u) * 1.38);
  margin-top: 0.4em;
  font-weight: 400;
  line-height: 1.25;
}
.project-carousel .project-card-meta svg {
  vertical-align: -0.1em;
  display: inline-block;
}
.project-carousel .project-card-meta {
  font-size: calc(var(--u) * 1.2);
  color: #fff;
  margin-top: 0.55em;
}
.project-category-mark {
  width: calc(var(--u) * 5.3);
  height: calc(var(--u) * 5.3);
  background: #0068fc;
  place-items: center;
  display: grid;
  position: absolute;
  top: 0;
  right: 0;
}
.project-category-mark img {
  object-fit: contain;
  width: 70%;
  height: 70%;
}
.mark-boiler-hydronic-heating {
  background: #14bba6;
}
.mark-water-heating-plumbing {
  background: #78bb22;
}
.mark-electrical-services {
  background: #fd710c;
}
.project-carousel-controls:not([hidden]) {
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  display: flex;
}
.project-carousel-controls button {
  color: #001c45;
  cursor: pointer;
  background: #fff;
  border: 1px solid #001c45;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  font-size: 22px;
}
.project-carousel-controls button:disabled {
  opacity: 0.35;
  cursor: default;
}
.carousel-status {
  text-align: center;
  min-width: 76px;
  font-size: 14px;
}
.home-brands + .faq-section {
  margin-top: 0;
}
.home-brands {
  padding: calc(var(--u) * 5) calc(var(--u) * 3) calc(var(--u) * 3.5);
  text-align: center;
}
.home-brands h2 {
  font:
    800 calc(var(--u) * 3.15)/1.15 Inter,
    Arial,
    sans-serif;
}
.home-brands > p {
  font-size: calc(var(--u) * 1.6);
  max-width: 80%;
  margin: calc(var(--u) * 1.2) auto 0;
  line-height: 1.4;
}
@media (width>=701px) {
  .site-header-content {
    height: calc(var(--u) * 7.349);
    padding-inline: 6.1% 4%;
  }
  .site-logo {
    width: 20.65%;
  }
  .desktop-nav {
    column-gap: calc(var(--u) * 3.587);
    grid-template-columns: 78fr 141fr 132fr 94fr 77fr;
    width: 66.74%;
  }
  .desktop-nav a {
    text-transform: uppercase;
    font-size: calc(var(--u) * 1.36);
  }
  .desktop-nav .nav-electrical {
    font-size: calc(var(--u) * 1.36);
  }
  .hero-home {
    height: calc(var(--u) * 45.144);
  }
  .hero-home .hero-content {
    padding-top: calc(var(--u) * 7.3);
    width: 70%;
    margin-left: 6.1%;
  }
  .hero-home:after {
    content: "";
    inset: 0 0 calc(var(--u) * 5.337);
    background: linear-gradient(90deg, #00000094, #0000001f);
    position: absolute;
  }
  .hero-home .hero-image {
    width: 100%;
    height: calc(var(--u) * 39.807);
    object-position: center;
  }
  .hero-home h1 {
    font:
      800 calc(var(--u) * 4.6)/1.08 Inter,
      Arial,
      sans-serif;
    color: #fff;
  }
  .hero-home h1 span {
    color: inherit;
  }
  .hero-mobile-break {
    display: none;
  }
  .hero-desktop-break {
    display: initial;
  }
  .hero-home .hero-copy {
    color: #fff;
    font-size: calc(var(--u) * 1.28);
    margin-top: calc(var(--u) * 1.1);
  }
  .hero-home .hero-button {
    margin-top: calc(var(--u) * 9.93);
    width: calc(var(--u) * 17.76);
    height: calc(var(--u) * 3.76);
    font-size: calc(var(--u) * 1.25);
    background: #0068fc;
    border-radius: 2px;
  }
  .hero-tagline {
    height: calc(var(--u) * 5.337);
    font-size: calc(var(--u) * 1.975);
    justify-content: center;
    align-items: center;
    display: flex;
    bottom: 0;
  }
  .home-projects {
    padding-top: calc(var(--u) * 8.4);
    padding-bottom: calc(var(--u) * 5);
  }
  .home-projects-header {
    margin-bottom: calc(var(--u) * 1);
  }
  .home-projects h2 a {
    text-decoration: none;
  }
  .home-why-spacer {
    height: calc(var(--u) * 6.737);
  }
}
.service-heating-cooling {
  --service-accent: #0068fc;
}
.service-boiler-hydronic-heating {
  --service-accent: #14bba6;
}
.service-water-heating-plumbing {
  --service-accent: #78bb22;
}
.service-electrical-services {
  --service-accent: #fd710c;
}
.service-projects .project-card-challenge {
  background: var(--service-accent, #0068fc);
}
.service-projects .project-card-arrow {
  color: var(--service-accent, #001c45);
}
@media (width<=700px) {
  .project-carousel-track {
    grid-auto-columns: 94%;
    gap: 14px;
  }
  .project-carousel .project-card {
    border-radius: 6px;
  }
  .project-carousel .project-card-content {
    padding: 22px;
  }
  .project-carousel .project-card-title {
    font-family: Barlow, Arial, sans-serif;
    font-size: clamp(23px, 6.15vw, 26px);
    line-height: 1.12;
  }
  .project-carousel .project-card-subtitle {
    font-size: 18px;
    line-height: 1.35;
  }
  .project-carousel .project-card-meta {
    font-size: 14px;
  }
  .project-category-mark {
    width: 52px;
    height: 52px;
  }
  .home-brands {
    padding: 36px 20px;
  }
  .home-brands h2 {
    font-size: 30px;
  }
  .home-brands > p {
    max-width: 100%;
    margin-top: 16px;
    font-size: 17px;
  }
}
