
:root{--bg:#F1F6F8;--ink:#10263A;--muted:#475F70;--panel:#FFFFFF;--line:#C9D7E0;--heat:#C93A16;--cool:#16729C;--accent:var(--heat);--on:#fff;--sky:#DCE8EE;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0B1823;--ink:#E6EFF4;--muted:#9DB3C2;--panel:#12263A;--line:#25405A;--heat:#FF7A4D;--cool:#5BB8E0;--on:#0B1823;--sky:#12263A;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0B1823;--ink:#E6EFF4;--muted:#9DB3C2;--panel:#12263A;--line:#25405A;--heat:#FF7A4D;--cool:#5BB8E0;--on:#0B1823;--sky:#12263A;color-scheme:dark}
[data-mode="cool"]{--accent:var(--cool)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55;font-size:1.0625rem;transition:background .4s}
a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
.notice{background:var(--ink);color:var(--bg);text-align:center;padding:.55rem 1rem;font-size:.95rem}
.notice a{font-weight:800}
header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:1rem}
.logo{font-weight:800;font-size:1.2rem;text-decoration:none;letter-spacing:-.01em}
nav{display:flex;gap:1.3rem;font-weight:600}nav a{text-decoration:none}nav a:hover{color:var(--accent)}
.call{background:var(--accent);color:var(--on);font-weight:800;text-decoration:none;padding:.65rem 1.1rem;border-radius:999px;white-space:nowrap;transition:background .4s}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:2rem 0 3rem}
h1{font-size:clamp(2.6rem,7.5vw,5.2rem);line-height:.98;letter-spacing:-.035em;font-weight:800;margin:0 0 1.1rem}
.lede{max-width:44ch;color:var(--muted);font-size:1.2rem;margin:0 0 1.5rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.btn{display:inline-block;background:var(--accent);color:var(--on);font-weight:800;text-decoration:none;padding:.95rem 1.6rem;border-radius:12px;transition:background .4s}
.btn.alt{background:none;color:var(--ink);border:2px solid var(--ink)}
.ph{font-weight:800;font-size:1.5rem;text-decoration:none;border-bottom:4px solid var(--accent)}
.dial{background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:1.5rem;text-align:center}
.dial svg{width:100%;max-width:320px;height:auto}
.ring{fill:none;stroke:var(--line);stroke-width:14}
.arc{fill:none;stroke:var(--accent);stroke-width:14;stroke-linecap:round;transition:stroke .4s}
.tick{stroke:var(--line);stroke-width:2}
.temp{font-size:68px;font-weight:800;fill:var(--ink);letter-spacing:-2px}
.state{font-size:15px;font-weight:600;fill:var(--accent);transition:fill .4s}
.dial input{width:100%;max-width:320px;accent-color:var(--accent);margin-top:.5rem}
.dial p{margin:.5rem 0 0;color:var(--muted);font-size:.95rem}
.sky{display:block;width:100%;height:auto;color:var(--sky)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;padding:2rem 0}
.stats div{border-left:6px solid var(--accent);padding-left:1rem;transition:border-color .4s}
.stats b{display:block;font-size:2.3rem;line-height:1.1;letter-spacing:-.02em}
section{padding:3rem 0}
h2{font-size:clamp(1.8rem,4.5vw,2.6rem);letter-spacing:-.02em;line-height:1.08;margin:0 0 1.5rem;max-width:20ch}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:1.4rem}
.card svg{width:42px;height:42px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.8rem;transition:stroke .4s}
.card h3{margin:0 0 .35rem;font-size:1.2rem}.card p{margin:0;color:var(--muted)}
.card:first-child,.card:nth-child(2){grid-column:span 1}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:s}
.steps li{counter-increment:s;border-top:4px solid var(--accent);padding-top:1rem;transition:border-color .4s}
.steps li::before{content:counter(s);display:block;font-size:2.6rem;font-weight:800;line-height:1;color:var(--accent);margin-bottom:.4rem;transition:color .4s}
.steps b{display:block}.steps span{color:var(--muted)}
.areas{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1rem;list-style:none}
.areas li{border:1.5px solid var(--line);background:var(--panel);padding:.35rem .9rem;border-radius:999px}
.band{background:var(--panel);border-block:1px solid var(--line)}
details{border-top:1px solid var(--line);padding:1rem 0}details:last-of-type{border-bottom:1px solid var(--line)}
summary{font-weight:600;cursor:pointer;font-size:1.1rem}details p{margin:.6rem 0 0;color:var(--muted);max-width:60ch}
.cta{background:var(--ink);color:var(--bg);padding:3.5rem 0}
.cta h2{max-width:14ch}.cta .btn.alt{color:var(--bg);border-color:var(--bg)}.cta .ph{border-bottom-color:var(--accent)}
footer{padding:0 1.25rem 5.5rem;color:var(--muted);font-size:.95rem}
.sticky{position:fixed;left:0;right:0;bottom:0;padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);display:none;gap:.6rem}
.sticky a{flex:1;text-align:center;background:var(--accent);color:var(--on);font-weight:800;text-decoration:none;padding:.9rem;border-radius:12px}
.sticky a+a{background:none;color:var(--ink);border:2px solid var(--ink)}
.top{background:var(--panel);border-bottom:1px solid var(--line);font-size:.95rem}
.top .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.45rem;color:var(--muted)}.top a{font-weight:800;color:var(--ink)}
.offers{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding-bottom:2.5rem}
.offer{display:block;text-decoration:none;background:var(--accent);color:var(--on);border-radius:20px;padding:1.4rem;transition:background .4s,transform .2s}
.offer:hover{transform:translateY(-3px)}.offer b{display:block;font-size:2rem;line-height:1.05;letter-spacing:-.02em;margin-bottom:.4rem}.offer span{opacity:.92}
.offer:nth-child(2){background:var(--ink);color:var(--bg)}.offer:nth-child(3){background:var(--panel);color:var(--ink);border:2px solid var(--accent)}
.why{display:grid;gap:1.25rem 2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.why div{display:grid;grid-template-columns:3rem 1fr;gap:.9rem}.why svg{width:3rem;height:3rem;padding:.7rem;border-radius:14px;background:var(--panel);border:1px solid var(--line);stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s}
.why span{display:block}.why h3{margin:0 0 .2rem;font-size:1.15rem}.why p{margin:0;color:var(--muted)}
.revs{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:1.5rem}.rev{margin:0;display:flex;flex-direction:column;gap:.7rem}.rev .st{color:var(--accent);letter-spacing:.15em;font-size:1.1rem;transition:color .4s}.rev p{margin:0;flex:1}.rev footer{padding:0;color:var(--muted);font-size:.9rem}.badges{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding:1.75rem 0}
.badge{border:2px solid var(--ink);border-radius:14px;padding:.6rem 1.1rem;font-weight:800;text-align:center;line-height:1.2}.badge small{display:block;font-weight:400;color:var(--muted)}
.foot{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:2.5rem 0 1rem}.foot h3{margin:0 0 .6rem;font-size:1rem}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;color:var(--muted)}.foot a{text-decoration:none}
@media (max-width:700px){.top .wrap span{display:none}}
@media (max-width:820px){nav{display:none}.hero{grid-template-columns:1fr}}
@media (max-width:700px){.sticky{display:flex}.call{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


body{font-size:1rem}
h1,h2{font-weight:700}
h1{font-size:clamp(2.4rem,6vw,4.2rem);letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(1.6rem,3.6vw,2.2rem);max-width:26ch}
.card,.offer,.dial,.badge,.btn,.call,.cta .btn{border-radius:10px}
.dial{border-radius:16px;box-shadow:0 1px 2px rgba(16,38,58,.06)}
.btn{font-weight:700;padding:.85rem 1.4rem}.call{font-weight:700;border-radius:8px}
.notice{background:var(--panel);color:var(--ink);border-bottom:1px solid var(--line);font-size:.9rem}
.top{background:var(--ink);color:var(--bg);border:0}.top .wrap,.top a{color:var(--bg)}
.offer,.offer:nth-child(2),.offer:nth-child(3){background:var(--panel);color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--accent)}
.offer b{font-size:1.45rem;letter-spacing:-.01em}.offer span{color:var(--muted);opacity:1}
.offer:hover{transform:none;border-color:var(--accent)}
.hero>div:first-child::after{content:"NATE certified  \00b7  EPA 608 certified  \00b7  BBB accredited";display:block;margin-top:1.5rem;color:var(--muted);font-size:.92rem}
section{padding:3.5rem 0}
.stats b{font-size:2rem}
.card{box-shadow:none}.card h3{font-size:1.1rem}
.why svg{border-radius:10px}
.steps li::before{font-size:2rem}
.areas li{border-radius:6px;font-size:.95rem}
.badge{font-weight:700}
.cta{padding:3rem 0}
.rev .st{font-size:1rem}
.band{border-color:var(--line)}
header{border-bottom:1px solid var(--line);margin-bottom:1rem}


:root{--heat:#D3301A;--cool:#1B5FBF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--heat:#FF6247;--cool:#5AA2FF}}
:root[data-theme="dark"]{--heat:#FF6247;--cool:#5AA2FF}
.logo{display:flex;align-items:center;gap:.7rem}.logo img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#050a18}


.crumb{color:var(--muted);font-size:.92rem;margin:1rem 0 .5rem}.crumb a{text-decoration:none;border-bottom:1px solid var(--line)}
.pg h1{max-width:18ch;margin-bottom:1rem}.pg .lede{max-width:56ch}
.two{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:2.5rem 0}
.two h2{font-size:1.4rem;margin-bottom:1rem}
.ck{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ck li{padding-left:1.7rem;position:relative}.ck li::before{content:"";position:absolute;left:0;top:.55em;width:.8rem;height:.45rem;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg) translateY(-50%);transition:border-color .4s}
.note{border-left:6px solid var(--heat);background:var(--panel);border-radius:0 10px 10px 0;padding:1rem 1.25rem;margin:0 0 2rem}
.note b{display:block}
.pg section.s{padding:1rem 0 2.5rem}
.rel{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.rel a{text-decoration:none}.rel .card:hover{border-color:var(--accent)}
.page[hidden]{display:none}
.areas a{text-decoration:none}.areas li:hover{border-color:var(--accent)}
.steps5{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.steps5 li{counter-increment:s;display:grid;grid-template-columns:2.4rem 1fr;gap:1rem}
.steps5 li::before{content:counter(s);display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--accent);color:var(--on);font-weight:700}
.hdr nav a[aria-current="page"]{color:var(--accent);border-bottom:2px solid var(--accent)}

.dnav{display:none;gap:1.1rem;font-weight:600}.dnav a{text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}.dnav a[aria-current="page"]{color:var(--accent);border-color:var(--accent)}
.hr{display:flex;align-items:center;gap:.6rem}
.burger{width:44px;height:44px;border:1.5px solid var(--line);background:var(--panel);border-radius:10px;cursor:pointer;display:grid;place-items:center;padding:0}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:transform .2s,background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
#menu{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:0 0 1rem;padding:.5rem;display:grid}
#menu[hidden]{display:none}#menu a{padding:.75rem .9rem;text-decoration:none;font-weight:600;border-radius:8px}#menu a:hover,#menu a[aria-current="page"]{background:var(--bg);color:var(--accent)}#menu a.sub{padding-left:2rem;font-weight:400;color:var(--muted)}
@media (min-width:961px){.dnav{display:flex}.burger{display:none}#menu{display:none}}
@media (max-width:960px){.call{display:none}}
.gal{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pf{margin:0}.pf img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:var(--line)}.pf.wide img{aspect-ratio:16/10;margin-bottom:1.5rem}.pf figcaption{font-size:.9rem;color:var(--muted);margin-top:.5rem}
.tickets{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:2.5rem 0 1rem}
.ticket{border:2px dashed var(--accent);border-radius:14px;background:var(--panel);padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.ticket .amt{font-size:2.2rem;font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--accent)}.ticket h2{font-size:1.25rem;margin:0}.ticket p{margin:0;color:var(--muted);flex:1}
.fine{color:var(--muted);font-size:.9rem;margin:0 0 2rem}

.vgrid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:2rem;align-items:center}.vgrid video{width:100%;height:auto;aspect-ratio:9/16;border-radius:14px;background:#000}@media(max-width:700px){.vgrid{grid-template-columns:1fr}.vgrid video{max-width:320px}}
.kick{font-size:1rem;font-weight:600;color:var(--muted);margin:0 0 .6rem}.hook{font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.02;letter-spacing:-.03em;font-weight:700;margin:0 0 1.1rem}.hdr header{gap:1.5rem}.logo{flex:0 0 auto;margin-right:1.5rem}.dnav{margin-left:auto;gap:1rem}.dnav a{white-space:nowrap}@media(max-width:1200px){.dnav{font-size:.92rem;gap:.8rem}.call{display:none}}.svc-links{color:var(--muted);margin:1.5rem 0 2.5rem}.cflag{display:block;width:100%;height:20px;margin:.35rem 0 0}.skyline{display:block;width:100%;height:auto;max-height:190px;color:var(--sky);margin-top:2rem}.stars{color:#D52B1E;letter-spacing:.2em}
.planbox{display:grid;gap:1rem 1.5rem;grid-template-columns:auto 1fr auto;align-items:center;background:var(--panel);border:2px solid var(--accent);border-radius:14px;padding:1.5rem}.planbox .price{font-size:2.8rem;font-weight:700;line-height:1;color:var(--accent)}.planbox .price span{font-size:1rem;color:var(--muted);font-weight:400}@media(max-width:760px){.planbox{grid-template-columns:1fr}}.tl{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.bbbl{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:#10263A;border-radius:6px;padding:2px 10px 2px 4px;font-weight:700;text-decoration:none}.top .bbbl,.cta .bbbl{color:#10263A}.bbbl img{height:26px;width:auto}.bbbf{display:flex;align-items:center;gap:1rem;margin:1.5rem 0 0}.bbbf img{height:64px;width:auto;background:#fff;border-radius:8px;padding:4px}.bbbf p{margin:0;color:var(--muted)}.cta p .bbbl{margin-top:.5rem}
.banner{position:relative;overflow:hidden;border-radius:16px;margin:1rem 0 2rem}.banner img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 40%}.banner .bt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.75rem;background:linear-gradient(180deg,rgba(5,10,24,0) 25%,rgba(5,10,24,.88));color:#fff}.banner h2{color:#fff;max-width:18ch;margin:0 0 .5rem}.banner p{margin:0 0 1rem;max-width:48ch;color:#e6eff4}.banner .ph{color:#fff}@media(max-width:700px){.banner img{height:360px}.banner .bt{padding:1.1rem}}
.post{max-width:72ch}.post h2{font-size:1.4rem;margin:2rem 0 .6rem;max-width:none}.post p{margin:0 0 1rem}.post ul{padding-left:1.2rem;margin:0 0 1rem;display:grid;gap:.4rem}.post .meta,.bcard .meta{color:var(--muted);font-size:.92rem}.cta-inline{background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:10px;padding:1rem 1.25rem}.bgrid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:2rem 0}.bcard{text-decoration:none;display:block}.bcard h2{font-size:1.2rem;margin:.8rem 0 .4rem;max-width:none}.bcard p{margin:0 0 .4rem;color:var(--muted)}.bcard .pf img{aspect-ratio:16/10}.bcard:hover h2{color:var(--accent)}