.fpg-root{position:relative;z-index:1;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-body);color:var(--ink-primary,#0c1a26);background:linear-gradient(to bottom,var(--sky-top) 0,var(--sky-mid) 40%,var(--sky-bottom) 100%);--fpg-accent:#BEBEBE;--fpg-accent-rgb:190,190,190;--fpg-on-accent:#16222c;--fpg-u:1px}@media (min-width:1100px){.fpg-root{--fpg-u:min(calc(100vw / 1560),calc(100dvh / 830))}.fpg-root .fpg-hero-title{font-size:calc(56 * var(--fpg-u, 1px))}.fpg-root .fpg-hero-sub{font-size:calc(18 * var(--fpg-u, 1px))}.fpg-root .fpg-tagline{font-size:calc(13.5 * var(--fpg-u, 1px))}.fpg-root .fpg-footer{padding:calc(10 * var(--fpg-u, 1px)) calc(48 * var(--fpg-u, 1px))}}@media (max-width:1099px){.fpg-root{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.fpg-container{flex:1 0 auto;gap:22px;padding-top:16px;padding-bottom:28px}}.fpg-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#F9F6EE}.fpg-bg-overlay,.fpg-bg-video{display:none}.fpg-blob,.fpg-grain{display:none!important}.fpg-svg-defs{position:absolute;width:0;height:0;overflow:hidden}.fpg-glass{position:relative;isolation:isolate;background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,255,255,.24) 52%,rgba(232,246,255,.38));border:1px solid rgba(255,255,255,.5);border-radius:28px;box-shadow:0 24px 64px -14px rgba(15,76,117,.2),0 8px 18px -8px rgba(15,76,117,.09),inset 0 1px 1px rgba(255,255,255,.88),inset 0 -16px 36px -22px rgba(255,255,255,.55)}.fpg-glass:before{background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.08) 26%,rgba(255,255,255,0) 40%),radial-gradient(135% 90% at 8% -14%,rgba(255,255,255,.65) 0,rgba(255,255,255,0) 48%);mix-blend-mode:screen;opacity:.95}.fpg-glass:after,.fpg-glass:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none}.fpg-glass:after{padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.1) 40%,rgba(56,182,255,.18));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}.fpg-r-pill{border-radius:999px}.fpg-r-32{border-radius:32px}.fpg-r-20{border-radius:20px}.fpg-container{position:relative;width:100%;max-width:calc(1560 * var(--fpg-u, 1px));margin:0 auto;padding:calc(20 * var(--fpg-u, 1px)) 32px calc(20 * var(--fpg-u, 1px));flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:calc(24 * var(--fpg-u, 1px))}@media (min-width:768px){.fpg-container{padding-left:calc(56 * var(--fpg-u, 1px));padding-right:calc(56 * var(--fpg-u, 1px))}}.fpg-nav{position:relative;z-index:50;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between}.fpg-corner-logo{display:inline-flex;align-items:center;flex-shrink:0}.fpg-corner-logo img{height:calc(70 * var(--fpg-u, 1px));width:auto;display:block}.fpg-nav-pills{display:flex;align-items:center;gap:calc(10 * var(--fpg-u, 1px))}.fpg-lang{position:relative;display:inline-flex;align-items:center;height:calc(42 * var(--fpg-u, 1px));padding:calc(4 * var(--fpg-u, 1px));border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.11);box-shadow:0 2px 10px rgba(0,0,0,.07),inset 0 1px 1px rgba(255,255,255,.9);overflow:hidden}.fpg-lang-slider{position:absolute;top:calc(4 * var(--fpg-u, 1px));left:calc(4 * var(--fpg-u, 1px));width:calc(46 * var(--fpg-u, 1px));height:calc(34 * var(--fpg-u, 1px));border-radius:999px;background:var(--fpg-accent);box-shadow:0 2px 8px -2px rgba(var(--fpg-accent-rgb),.34);transition:transform .32s cubic-bezier(.34,1.56,.64,1),background-color .28s var(--ease-out,cubic-bezier(.22,1,.36,1));pointer-events:none}.fpg-lang-slider.fpg-lang-en{transform:translateX(calc(46 * var(--fpg-u, 1px)))}.fpg-lang-opt{position:relative;z-index:1;width:calc(46 * var(--fpg-u, 1px));height:calc(34 * var(--fpg-u, 1px));padding:0;border-radius:999px;background:none;border:none;cursor:pointer;font-size:calc(13.5 * var(--fpg-u, 1px));font-weight:600;letter-spacing:.06em;color:rgba(0,0,0,.4);transition:color .28s ease}.fpg-lang-opt.active{color:var(--fpg-on-accent)}.fpg-lang-opt:hover:not(.active){color:rgba(0,0,0,.65)}.fpg-nav-text{display:flex;align-items:center;gap:calc(24 * var(--fpg-u, 1px))}.fpg-lang-text{display:inline-flex;align-items:center;gap:calc(7 * var(--fpg-u, 1px))}.fpg-lang-link{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-body);font-size:calc(15 * var(--fpg-u, 1px));font-weight:600;letter-spacing:.01em;color:var(--ink-primary,#0c1a26);transition:color .2s ease,opacity .2s ease}.fpg-lang-link:hover:not(.is-active){opacity:.55}.fpg-lang-link.is-active{color:var(--fpg-accent)}.fpg-lang-sep{color:rgba(0,0,0,.3);font-weight:500;font-size:calc(14 * var(--fpg-u, 1px))}.fpg-nav-login{font-family:var(--font-body);font-size:calc(15 * var(--fpg-u, 1px));font-weight:600;letter-spacing:.01em;color:var(--ink-primary,#0c1a26);transition:opacity .2s ease}.fpg-nav-login:hover{opacity:.55}.fpg-login-short{display:none}.fpg-nav-login.is-user{display:inline-flex;align-items:center;gap:calc(6 * var(--fpg-u, 1px));color:var(--fpg-accent)}.fpg-login-icon{width:calc(16 * var(--fpg-u, 1px));height:calc(16 * var(--fpg-u, 1px));flex-shrink:0}@media (max-width:680px){.fpg-corner-logo img{height:36px}.fpg-nav-text{gap:16px}.fpg-login-full{display:none}.fpg-login-short{display:inline}}.fpg-btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(9 * var(--fpg-u, 1px));height:calc(42 * var(--fpg-u, 1px));padding:0 calc(22 * var(--fpg-u, 1px));border-radius:999px;font-family:var(--font-body);font-weight:600;font-size:calc(14 * var(--fpg-u, 1px));letter-spacing:.01em;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .28s var(--ease-out,cubic-bezier(.22,1,.36,1))}.fpg-btn svg{width:calc(16 * var(--fpg-u, 1px));height:calc(16 * var(--fpg-u, 1px))}.fpg-btn-primary{background:var(--fpg-accent);color:var(--fpg-on-accent);box-shadow:0 4px 14px -4px rgba(var(--fpg-accent-rgb),.38)}.fpg-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px -6px rgba(var(--fpg-accent-rgb),.45),0 0 0 4px rgba(var(--fpg-accent-rgb),.12)}.fpg-btn-primary:active{transform:translateY(0)}.fpg-hero-actions .fpg-btn{height:50px;padding:0 32px;font-size:15px}.fpg-hero{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;align-items:flex-start;gap:calc(16 * var(--fpg-u, 1px));padding:0}.fpg-hero-title{font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:-.005em;line-height:1.02;font-size:clamp(26px,4.2vw,56px);color:var(--ink-primary,#0c1a26);white-space:nowrap}.fpg-hero-sub,.fpg-hero-title{margin:0;text-shadow:none;text-align:left}.fpg-hero-sub{font-family:var(--font-body);font-size:clamp(15px,1.8vw,18px);font-weight:400;line-height:1.55;color:var(--ink-secondary,#3d4a55);max-width:56ch;align-self:flex-start}@media (max-width:768px){.fpg-hero-title{white-space:normal;font-size:clamp(24px,7vw,40px)}.fpg-hero-sub{font-size:clamp(14.5px,3.4vw,17px)}}@media (max-height:500px) and (max-width:1099px){.fpg-hero-title{font-size:clamp(18px,3.8vh,32px)}.fpg-hero-sub{display:none}.fpg-hero{padding-bottom:4px}}.fpg-services{flex:0 0 auto;display:flex;flex-direction:column;gap:calc(26 * var(--fpg-u, 1px));width:100%}.fpg-category-pills{position:relative;display:flex;width:calc(432 * var(--fpg-u, 1px));max-width:92vw;margin:0 auto clamp(16px,2.4vh,32px);padding:calc(5 * var(--fpg-u, 1px));border-radius:999px;background:var(--bone-deep);border:1px solid rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.04),0 4px 14px -6px rgba(22,34,44,.12),0 1px 2px rgba(0,0,0,.04)}.fpg-cat-slider{position:absolute;top:calc(5 * var(--fpg-u, 1px));left:calc(5 * var(--fpg-u, 1px));width:calc((100% - 10 * var(--fpg-u, 1px)) / 3);height:calc(100% - 10 * var(--fpg-u, 1px));border-radius:999px;background:var(--fpg-accent);box-shadow:0 3px 10px -3px rgba(var(--fpg-accent-rgb),.32);transition:transform .32s cubic-bezier(.34,1.56,.64,1),background-color .28s var(--ease-out,cubic-bezier(.22,1,.36,1));pointer-events:none;z-index:0}.fpg-cat-pill{position:relative;z-index:1;flex:1 1 0;height:calc(40 * var(--fpg-u, 1px));padding:0;border-radius:999px;font-family:var(--font-body);font-size:calc(14.5 * var(--fpg-u, 1px));font-weight:600;letter-spacing:.01em;background:transparent;border:none;color:var(--ink-secondary,#3d4a55);cursor:pointer;transition:color .28s ease}.fpg-cat-pill:hover:not(.active){color:#16222c}.fpg-cat-pill.active{color:var(--fpg-on-accent)}.fpg-root .fpg-category-pills{margin:0 auto}.fpg-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(22 * var(--fpg-u, 1px))}@media (max-width:1040px){.fpg-service-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.fpg-service-grid{grid-template-columns:repeat(2,1fr)}.fpg-service-grid>.fpg-service:last-child:nth-child(odd){grid-column:1/-1}}.fpg-service{--c:var(--hv-svc-ac,#38b6ff);--bg:color-mix(in srgb,var(--c) 13%,#fff);--bg2:color-mix(in srgb,var(--c) 32%,#fff);--ink:color-mix(in srgb,var(--c) 58%,#16222c);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(16 * var(--fpg-u, 1px));padding:calc(26 * var(--fpg-u, 1px)) calc(16 * var(--fpg-u, 1px));min-height:calc(200 * var(--fpg-u, 1px));text-align:center;text-decoration:none;color:inherit;cursor:pointer;overflow:hidden;border:none;border-radius:calc(30 * var(--fpg-u, 1px));background:radial-gradient(125% 80% at 50% 0,rgba(255,255,255,.45) 0,transparent 55%),linear-gradient(158deg,var(--bg) 0,var(--bg2) 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.7),inset 0 -22px 40px -26px color-mix(in srgb,var(--c) 60%,transparent),0 18px 34px -18px color-mix(in srgb,var(--c) 58%,transparent),0 4px 10px -5px rgba(22,34,44,.07);transition:transform .28s var(--ease-out,cubic-bezier(.22,1,.36,1)),box-shadow .28s ease,padding-bottom .26s var(--ease-out,cubic-bezier(.22,1,.36,1))}.fpg-service:hover{transform:translateY(-7px);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.85),inset 0 -22px 40px -26px color-mix(in srgb,var(--c) 70%,transparent),0 30px 52px -20px color-mix(in srgb,var(--c) 74%,transparent),0 8px 16px -7px rgba(22,34,44,.11)}.fpg-service.is-selected,.fpg-service:hover:not(.is-soon){padding-bottom:calc(40 * var(--fpg-u, 1px))}.fpg-service-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;transition:transform .28s var(--ease-out,cubic-bezier(.22,1,.36,1));filter:drop-shadow(0 6px 10px rgba(22,34,44,.16))}.fpg-service.is-selected .fpg-service-icon,.fpg-service:hover .fpg-service-icon{transform:scale(1.07)}.fpg-service-icon svg{width:calc(76 * var(--fpg-u, 1px));height:calc(76 * var(--fpg-u, 1px))}.fpg-service-name{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:0;font-weight:600;font-size:calc(15 * var(--fpg-u, 1px));line-height:1.2;color:#16222c;text-shadow:none}.fpg-service-link,.fpg-service-name{align-items:center;gap:calc(6 * var(--fpg-u, 1px));font-family:var(--font-body)}.fpg-service-link{position:absolute;left:50%;bottom:calc(16 * var(--fpg-u, 1px));z-index:6;display:inline-flex;padding:calc(2 * var(--fpg-u, 1px)) calc(2 * var(--fpg-u, 1px));font-size:calc(13 * var(--fpg-u, 1px));font-weight:700;letter-spacing:.02em;white-space:nowrap;text-decoration:none;color:var(--ink);background:none;opacity:0;pointer-events:none;transform:translate(-50%,calc(6 * var(--fpg-u, 1px)));transition:opacity .2s ease,transform .24s var(--ease-out,cubic-bezier(.22,1,.36,1)),color .16s ease}.fpg-service-link svg{width:calc(14 * var(--fpg-u, 1px));height:calc(14 * var(--fpg-u, 1px))}.fpg-service-link:focus-visible,.fpg-service.is-selected .fpg-service-link,.fpg-service:focus-within .fpg-service-link,.fpg-service:hover .fpg-service-link{opacity:1;pointer-events:auto;transform:translate(-50%)}.fpg-service-link:hover{text-decoration:underline;text-underline-offset:3px}.fpg-service-link.is-added{color:var(--c);font-weight:800}.fpg-service-link.is-added:hover{text-decoration:none}@media (hover:none),(pointer:coarse){.fpg-service-link{opacity:1;pointer-events:auto;transform:translate(-50%)}.fpg-service:not(.is-soon){padding-bottom:calc(40 * var(--fpg-u, 1px))}}.fpg-service{width:100%;font-family:inherit;-webkit-appearance:none;appearance:none}.fpg-service:focus-visible{outline:3px solid color-mix(in srgb,var(--c) 60%,#16222c);outline-offset:3px}.fpg-service.is-selected{transform:translateY(-7px);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.85),inset 0 -22px 40px -26px color-mix(in srgb,var(--c) 70%,transparent),0 0 0 2px #fff,0 0 0 5px var(--c),0 30px 52px -20px color-mix(in srgb,var(--c) 60%,transparent),0 8px 16px -7px rgba(22,34,44,.11)}.fpg-service-soon{font-family:var(--font-body);font-size:calc(9.5 * var(--fpg-u, 1px));font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 72%,#16222c);background:rgba(255,255,255,.6);border:1px solid color-mix(in srgb,var(--c) 28%,#d6dde2);padding:calc(2 * var(--fpg-u, 1px)) calc(9 * var(--fpg-u, 1px));border-radius:999px;line-height:1.5}.fpg-service.is-soon{opacity:.82;cursor:default}.fpg-service.is-soon:hover{transform:none;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.7),inset 0 -22px 40px -26px color-mix(in srgb,var(--c) 60%,transparent),0 18px 34px -18px color-mix(in srgb,var(--c) 58%,transparent),0 4px 10px -5px rgba(22,34,44,.07)}.fpg-service.is-soon:hover .fpg-service-icon{transform:none}.fpg-service.s-ac{--c:var(--hv-svc-ac,#38b6ff)}.fpg-service.s-elec{--c:var(--hv-svc-elec,#efa31a)}.fpg-service.s-plumb{--c:var(--hv-svc-plumb,#2f8fd6)}.fpg-service.s-land{--c:var(--hv-svc-land,#46b06b)}.fpg-service.s-solar{--c:var(--hv-svc-solar,#f59a3c)}.fpg-tagline{text-align:center;font-family:var(--font-body);font-size:clamp(13px,1.05vw,15px);font-weight:400;color:var(--ink-secondary,#3d4a55);text-shadow:none;margin:0 auto;max-width:52ch;line-height:1.5}.fpg-cta{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:0}.fpg-cta-btn{height:calc(64 * var(--fpg-u, 1px));padding:0 calc(60 * var(--fpg-u, 1px));font-size:calc(19 * var(--fpg-u, 1px));border-radius:999px}.fpg-cta-btn svg{width:calc(20 * var(--fpg-u, 1px));height:calc(20 * var(--fpg-u, 1px))}.fpg-cta-count{display:inline-flex;align-items:center;justify-content:center;min-width:calc(22 * var(--fpg-u, 1px));height:calc(22 * var(--fpg-u, 1px));padding:0 calc(7 * var(--fpg-u, 1px));border-radius:999px;background:rgba(255,255,255,.26);color:var(--fpg-on-accent,#fff);font-size:calc(13 * var(--fpg-u, 1px));font-weight:700;line-height:1}.fpg-cta-hint{margin:0;font-family:var(--font-body);font-size:calc(13.5 * var(--fpg-u, 1px));font-weight:400;letter-spacing:.01em;color:var(--ink-secondary,#3d4a55);opacity:.9}.fpg-cta-btn.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.fpg-cta-btn.is-disabled:hover{transform:none;box-shadow:none}.fpg-footer{width:100%;flex-shrink:0;padding:clamp(8px,1.2vh,13px) clamp(16px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--bone);border-top:1px solid rgba(0,0,0,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.fpg-footer-links{display:flex;gap:calc(26 * var(--fpg-u, 1px));flex-wrap:wrap}.fpg-footer-links a{font-family:var(--font-body);font-size:calc(14 * var(--fpg-u, 1px));font-weight:600;letter-spacing:.01em;color:var(--ink-primary,#0c1a26);transition:color .16s ease}.fpg-footer-links a:hover{color:var(--fpg-accent)}.fpg-footer-areas-disclosure{min-width:0}.fpg-footer-areas-disclosure>summary{list-style:none;cursor:pointer;font-family:var(--font-body);font-size:calc(14 * var(--fpg-u, 1px));font-weight:600;letter-spacing:.01em;color:var(--ink-primary,#0c1a26);transition:color .16s ease}.fpg-footer-areas-disclosure>summary::-webkit-details-marker{display:none}.fpg-footer-areas-disclosure>summary:after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:.4em;border-right:1.5px solid;border-bottom:1.5px solid;transform:translateY(-.12em) rotate(45deg);transition:transform .16s ease}.fpg-footer-areas-disclosure[open]>summary:after{transform:translateY(.06em) rotate(-135deg)}.fpg-footer-areas-disclosure>summary:hover{color:var(--fpg-accent)}.fpg-footer-areas{margin:calc(8 * var(--fpg-u, 1px)) 0 0;max-width:calc(430 * var(--fpg-u, 1px));min-width:0;font-family:var(--font-body);font-size:calc(11.5 * var(--fpg-u, 1px));line-height:1.7;color:var(--ink-primary,#0c1a26);opacity:.65}.fpg-footer-copy{font-size:calc(13.5 * var(--fpg-u, 1px));color:var(--ink-primary,#0c1a26)}@media (max-width:640px){.fpg-footer{flex-direction:column;text-align:center;padding:24px}.fpg-footer-links{justify-content:center;row-gap:10px}}@media (prefers-reduced-motion:reduce){.fpg-ekg path,.fpg-service-sheen,.fpg-snow-glow,.fpg-snowflake-wrap{animation:none!important}.fpg-ekg path{stroke-dashoffset:0;opacity:1}.fpg-btn,.fpg-cat-pill,.fpg-service{transition:background-color .28s ease,color .28s ease,box-shadow .28s ease}}