/* Verbatim document layout: the content is generated from source-content.json. */
.exact-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:6%;padding:65px 7% 75px;background:#eef4f6}.document-label{display:flex;gap:18px;color:#52717e;font-size:12px;letter-spacing:.08em;margin-bottom:25px}.exact-hero h1{font-size:clamp(3rem,4.5vw,4.8rem);font-weight:500;line-height:1.08;letter-spacing:-.05em;margin-bottom:25px}.exact-hero h3{font-family:'DM Serif Display',Georgia,serif;color:var(--blue);font-size:28px;font-weight:400;line-height:1.25;margin-bottom:25px}.exact-hero p{font-size:16px;line-height:1.85;color:#526673}.exact-hero-photo{position:relative;min-height:580px;overflow:hidden;border-radius:130px 20px 20px 20px}.exact-hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:78% center}.source-section{padding:80px 7%;scroll-margin-top:100px}.source-section h2{font-size:clamp(2.2rem,3.5vw,3.5rem);line-height:1.16;margin-bottom:28px;max-width:1000px}.source-section h3{font-size:27px;line-height:1.35;margin:27px 0 18px;font-weight:500;color:var(--blue)}.source-section h4{font-size:21px;line-height:1.4;margin:24px 0 15px;font-weight:600}.source-section p{font-size:16px;line-height:1.85;color:#526673;max-width:1000px}.source-list{padding:0;list-style:none;margin:24px 0;display:grid;gap:11px}.source-list li{font-size:16px;line-height:1.65;padding-left:24px;position:relative;color:#334f5d}.source-list li:before{content:'✓';position:absolute;left:0;color:var(--blue)}.overview{background:white}.overview>.source-list{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.overview>.source-list li{border:1px solid #dfe9ee;background:#f8fafb;border-radius:13px;padding:18px 20px 18px 42px;box-shadow:0 5px 12px #153a4904}.overview>.source-list li:before{left:18px;top:18px}.photo-section{display:grid;grid-template-columns:1.15fr .85fr;gap:7%;align-items:start;background:#f0f5f7}.photo-section:nth-of-type(even){background:white}.source-photo{position:sticky;top:130px;border-radius:20px;overflow:hidden;height:490px}.source-photo img{height:100%;width:100%;object-fit:cover}.photo-section .source-photo img{object-position:70% center}.source-panel{padding:10px 30px 22px;background:#ffffff08;border:1px solid #ffffff29;border-radius:18px;margin:32px 0}.grant-source{background:var(--navy);color:white}.grant-source p,.grant-source li{color:#d3e0e5}.grant-source h3,.grant-source h4{color:white}.grant-source h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400}.source-fold{border:1px solid #d5e1e6;background:#fff;border-radius:15px;margin:18px 0;overflow:hidden}.source-fold summary{font-size:20px;line-height:1.5;padding:23px 28px;align-items:center;font-weight:600;gap:20px}.source-fold summary>span{font-size:inherit;color:inherit;transform:none!important}.source-fold summary>b{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;flex-shrink:0;background:#edf4f6;color:var(--blue);font-weight:400}.source-fold[open] summary>b{transform:rotate(45deg)}.fold-body{padding:0 28px 20px}.grant-source .source-fold{background:#ffffff05;border-color:#ffffff2c}.grant-source .source-fold summary{color:white}.grant-source .source-fold[open] summary{color:#bce3ee}.source-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:6%;margin-bottom:35px}.source-intro .source-photo{height:370px;position:relative;top:auto}.solar-source{background:#f0f5f7}.system-source{background:white}.six-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.six-steps article,.why-grid article{border:1px solid #dfe8ed;border-radius:18px;background:#fff;padding:25px;box-shadow:0 12px 35px #17334306}.six-steps h4,.why-grid h4{margin-top:0}.six-steps h4{color:var(--blue)}.six-steps p,.why-grid p{margin-bottom:0;font-size:15px}.finance-source{margin:35px 5%;padding:45px 4%;border:1px solid #c9dde5;border-radius:22px;background:#eaf2f6}.finance-source>p:last-child{font-size:14px;margin-bottom:0}.ac-source{background:var(--navy)!important;color:white}.ac-source h3{color:#add2e2}.ac-source p,.ac-source li{color:#d1e1e7}.ac-source .source-list li:before{color:#9fd2e4}.plumbing-source{background:#eef4f6}.plumbing-source ul{grid-template-columns:1fr 1fr;max-width:1050px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.why-grid article:first-child{background:var(--navy);color:white}.why-grid article:first-child p{color:#d1dfe6}.contact-source{background:#e9f1f5}.contact-panel{padding:30px;border:1px solid #dce7ed;border-radius:18px;background:white;margin-top:30px;overflow-wrap:anywhere}.contact-panel p:last-child{margin-bottom:0}.contact-panel p:first-child{font-size:25px;font-weight:600;color:var(--navy)}@media(max-width:900px){.overview>.source-list{grid-template-columns:1fr 1fr}.exact-hero{gap:30px;padding:45px 5%}.exact-hero-photo{min-height:650px}.source-section{padding:60px 5%}.source-photo{height:400px}.six-steps,.why-grid{grid-template-columns:1fr 1fr}.source-section h2{font-size:2.6rem}}@media(max-width:650px){.exact-hero{grid-template-columns:1fr;padding:35px 6%}.exact-hero h1{font-size:3.1rem}.exact-hero h3{font-size:25px}.exact-hero-photo{min-height:410px;border-top-left-radius:90px}.source-section{padding:50px 6%}.overview>.source-list,.six-steps,.why-grid,.plumbing-source ul{grid-template-columns:1fr}.source-section h2{font-size:2.4rem;overflow-wrap:anywhere}.source-section h3{font-size:24px}.photo-section,.source-intro{grid-template-columns:1fr;gap:28px}.source-photo{position:relative;top:0;height:310px}.source-intro .source-photo{height:290px}.source-fold summary{font-size:18px;padding:20px}.fold-body{padding:0 20px 20px}.source-panel{padding:8px 20px 18px}.finance-source{padding:30px 6%;margin:25px 4%}.contact-panel{padding:24px}.document-label{font-size:11px}.source-list li{font-size:15px}.source-section p{font-size:16px}}@media print{header,footer,.menu-toggle{display:none}.source-section,.exact-hero{padding:15px 0}.source-photo,.exact-hero-photo{display:none}}

.contact-panel a{text-decoration:underline;text-underline-offset:4px}
/* Dimensional refinement — all source content remains unchanged. */
:root{--depth-shadow:0 22px 48px -24px #163d5e50,0 5px 12px -6px #163d5e24;--edge-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #d6e3eb}
body{background:#f7fafc}.exact-hero h1,.source-section h2,.source-section h3,.source-section h4{font-family:Manrope,'Segoe UI',sans-serif;font-weight:800;letter-spacing:-.04em}.source-section h2{font-size:clamp(2.15rem,3.25vw,3.35rem);line-height:1.2}.source-section h3{font-weight:700;font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:-.025em}.source-section h4{font-weight:800;letter-spacing:-.02em}.exact-hero{padding:55px 5% 70px;gap:3.5%;background:radial-gradient(ellipse at 5% 10%,#dcecf8,transparent 60%),linear-gradient(135deg,#f5f9fc,#eaf2f7);align-items:center}.exact-hero-copy{padding:42px 38px 30px;background:linear-gradient(140deg,#fff,#f4f9fc);border:1px solid #fff;border-radius:26px;box-shadow:var(--edge-shadow),0 9px 0 -3px #d3e1eb,0 26px 55px -22px #143c6260;position:relative}.exact-hero-copy:before{content:'';display:block;width:52px;height:5px;border-radius:6px;background:linear-gradient(90deg,#0874c7,#f36b33);margin-bottom:23px}.exact-hero h1{font-size:clamp(2.7rem,3.8vw,4rem);line-height:1.12;letter-spacing:-.055em;color:#102d46;text-shadow:0 2px 0 #fff,0 5px 12px #163d5e12}.exact-hero h3{font-family:Manrope,'Segoe UI',sans-serif;font-size:21px;font-weight:700;line-height:1.5;letter-spacing:-.02em}.exact-hero p{font-size:15px;line-height:1.9}.document-label{flex-wrap:wrap;gap:5px 16px;font-weight:700}.exact-hero-photo{min-height:640px;border:7px solid #ffffffd9;border-radius:80px 24px 24px 24px;box-shadow:0 12px 0 -6px #c6d8e4,0 25px 45px -15px #163d5e40}.source-section{padding-block:75px}.overview{margin:30px 4% 45px;padding:45px 4%;border:1px solid #fff;border-radius:25px;background:linear-gradient(130deg,#fff,#eef5fa);box-shadow:var(--edge-shadow),var(--depth-shadow)}.overview>h2{margin-bottom:16px}.overview>p{font-size:15px;max-width:800px}.overview>.source-list{gap:12px;margin-bottom:8px}.overview>.source-list li{font-size:13px;font-weight:650;line-height:1.55;padding:15px 16px 15px 43px;min-height:64px;display:flex;align-items:center;border:1px solid #dce8f0;border-radius:12px;background:linear-gradient(145deg,#fff,#edf4fa);box-shadow:inset 0 1px 0 #fff,0 4px 0 -1px #d5e2ed,0 9px 18px -12px #123d6070;transition:transform .25s,box-shadow .25s,border-color .25s}.overview>.source-list li:before{left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:#e1eef8;border-radius:6px;text-align:center;line-height:20px;font-size:11px;color:#1868a2}.overview>.source-list li:hover{transform:translateY(-4px);border-color:#94bcd8;box-shadow:inset 0 1px 0 #fff,0 6px 0 -2px #c7dce9,0 16px 22px -12px #123d6050}.source-photo{border:1px solid #d2e0e9;box-shadow:var(--edge-shadow),var(--depth-shadow);background:linear-gradient(135deg,#eef6fb,#fff)}.source-photo:has(img[src="assets/heat-pump.webp"]){display:grid;place-items:center;overflow:hidden}.source-photo img[src="assets/heat-pump.webp"]{width:78%;height:78%;object-fit:contain;object-position:center;border-radius:14px;filter:drop-shadow(0 16px 11px #1c3e5628)}.photo-section{background:linear-gradient(130deg,#eef4f8,#fbfdfe)}.photo-section>div:first-child>h2:after,.system-source>h2:after,#about>h2:after{content:'';display:block;width:48px;height:4px;border-radius:4px;background:#e66a3a;margin-top:20px}.grant-source{margin:35px 4%;padding:55px 5%;border:1px solid #345877;border-radius:28px;background:radial-gradient(ellipse at 0 0,#285e80,transparent 70%),linear-gradient(125deg,#102e47,#0b2034);box-shadow:inset 0 1px 0 #ffffff30,0 10px 0 -4px #091c2d,0 30px 55px -22px #102b5260}.grant-source h2{font-family:Manrope,'Segoe UI',sans-serif;font-weight:800;font-size:clamp(2rem,3vw,3.1rem);line-height:1.2}.grant-source h3{color:#e7f4ff}.grant-source h4{color:#bce2ff}.grant-source p{color:#d4e3ef}.grant-source .source-panel{background:linear-gradient(135deg,#ffffff12,#ffffff05);border:1px solid #ffffff30;border-radius:18px;padding:8px 30px 24px;box-shadow:inset 0 1px 0 #ffffff14,0 12px 28px #06172730}.grant-source .source-panel>h3{color:white;font-size:30px}.grant-source .source-fold{background:linear-gradient(130deg,#244b68,#17344e);border-color:#50718a;box-shadow:inset 0 1px 0 #ffffff14,0 5px 12px #00000015}.source-fold{border-color:#d4e2ec;box-shadow:var(--edge-shadow),0 7px 18px -12px #193d6150;transition:box-shadow .25s,border-color .25s}.source-fold:hover{border-color:#95b9d3;box-shadow:var(--depth-shadow)}.source-fold summary{font-family:Manrope,'Segoe UI',sans-serif;font-weight:750;font-size:18px;padding-block:23px}.source-fold summary>b{box-shadow:inset 0 1px 0 white,0 3px 5px #173b5420}.system-source{background:linear-gradient(#f9fcfe,#edf4f9)}.six-steps,.why-grid{gap:22px}.six-steps article,.why-grid article{padding:29px;border:1px solid #d8e5ef;background:linear-gradient(145deg,#fff,#f2f7fb);border-radius:19px;box-shadow:inset 0 1px 0 #fff,0 6px 0 -2px #d4e1ec,0 18px 30px -21px #153c6350;transition:transform .25s,box-shadow .25s}.six-steps article:hover,.why-grid article:hover{transform:translateY(-5px);box-shadow:inset 0 1px 0 #fff,0 8px 0 -3px #ccdeec,0 25px 35px -18px #153c6330}.six-steps h4{font-size:22px;color:#175b8c;font-weight:800;margin-bottom:17px}.six-steps p,.why-grid p{line-height:1.85}.why-grid article:first-child{background:linear-gradient(135deg,#254e68,#102c44);border-color:#315d7a;box-shadow:inset 0 1px 0 #ffffff30,0 6px 0 -2px #0e2033,0 18px 30px -21px #153c6360}.finance-source{background:linear-gradient(135deg,#f9fcff,#e2eef9);border-color:#c9deed;box-shadow:var(--edge-shadow),var(--depth-shadow)}.contact-panel{background:linear-gradient(140deg,#fff,#f3f8fc);box-shadow:var(--edge-shadow),0 7px 0 -3px #cddce7,var(--depth-shadow)}.plumbing-source{background:linear-gradient(145deg,#f2f7fb,#e6f0f6)}.plumbing-source .source-list li{padding-top:8px;padding-bottom:8px;border-bottom:1px solid #d5e3ed}.plumbing-source .source-list li:before{top:8px}.ac-source{border-block:1px solid #35556b}.ac-source .source-photo{border-color:#517084}.header-cta,.button{box-shadow:inset 0 1px 0 #ffffff30,0 4px 0 -1px #071727,0 10px 22px -10px #18344c50}header{box-shadow:0 4px 20px #14395308}
@media(max-width:1000px){.exact-hero{gap:28px;padding-inline:4%}.exact-hero-copy{padding:30px 26px}.exact-hero h1{font-size:3rem}.exact-hero-photo{min-height:680px}.six-steps article,.why-grid article{padding:24px}}
@media(max-width:650px){.exact-hero{padding:28px 5% 40px;gap:30px}.exact-hero-copy{padding:27px 23px 18px;border-radius:20px}.exact-hero h1{font-size:clamp(2.2rem,9vw,2.8rem);line-height:1.15}.exact-hero h3{font-size:18px}.exact-hero p{font-size:15px}.exact-hero-photo{min-height:410px;border-width:5px;border-top-left-radius:65px}.source-section{padding-block:50px}.source-section h2{font-size:2.1rem;overflow-wrap:normal}.source-section h3{font-size:22px}.overview{padding:32px 5%;margin:25px 4% 30px}.overview>.source-list{gap:11px}.overview>.source-list li{font-size:13px;min-height:54px;padding-block:13px}.grant-source{padding:35px 6%;margin:25px 4%;border-radius:20px}.grant-source h2{font-size:2rem}.grant-source .source-panel{padding:5px 20px 18px}.grant-source .source-panel>h3{font-size:26px}.source-fold summary{font-size:17px;padding:19px}.six-steps h4{font-size:21px}.source-photo img[src="assets/heat-pump.webp"]{width:78%;height:78%}.document-label{font-size:10px}.source-panel p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.overview>.source-list li:hover,.six-steps article:hover,.why-grid article:hover{transform:none}}
/* Unified logo palette: blue-white surfaces, navy type, blue and orange accents. */
:root{--navy:#071e43;--blue:#0867ca;--orange:#ed510f;--muted:#536881;--line:#d2e2f3;--pale:#f0f6ff;--depth-shadow:0 20px 42px -24px #064c9c45,0 5px 12px -6px #064c9c20;--edge-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #d2e2f3}
body{background:#f3f7fe;color:var(--navy)}header{background:#fffffff5;border-bottom-color:#d6e5f6;box-shadow:0 4px 20px #075bb00a}.brand>span>span,.footer-brand span{color:var(--orange)}nav a{color:var(--navy)}nav a.active:after{background:var(--orange)}.header-cta,.button.navy,.button.orange{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:inset 0 1px 0 #ffffff38,0 4px 0 -1px #b93d08,0 10px 22px -10px #d8481250}.header-cta:hover,.button:hover{background:#d84308}.exact-hero,.source-section,.photo-section,.photo-section:nth-of-type(even),.solar-source,.system-source,.plumbing-source,.contact-source,.ac-source{background:linear-gradient(135deg,#f7faff,#edf4ff)!important;color:var(--navy);border-color:#d4e4f6}.source-section{border-top:1px solid #dce8f6}.exact-hero-copy,.overview,.finance-source,.contact-panel,.six-steps article,.why-grid article,.why-grid article:first-child{background:linear-gradient(145deg,#fff,#f1f6ff);color:var(--navy);border-color:#d3e3f5;box-shadow:var(--edge-shadow),0 6px 0 -2px #d3e3f5,var(--depth-shadow)}.exact-hero h1,.source-section h2,.grant-source h2,.why-grid h4,.contact-panel p:first-child{color:var(--navy)}.exact-hero h3,.source-section h3,.source-section h4,.grant-source h3,.grant-source h4,.grant-source .source-panel>h3,.six-steps h4{color:var(--blue)}.exact-hero p,.source-section p,.source-section li,.grant-source p,.grant-source li,.ac-source p,.ac-source li,.why-grid article:first-child p{color:var(--muted)}.document-label{color:#3d638d}.exact-hero-copy:before{background:linear-gradient(90deg,#0767d0 0 65%,#ed510f 65%)}.exact-hero-photo{border-color:#fff;box-shadow:0 12px 0 -6px #d0e2f7,0 25px 45px -15px #0755a52d}.overview>.source-list li{background:linear-gradient(145deg,#fff,#edf4ff);color:#15375f;border-color:#d1e3f7;box-shadow:inset 0 1px 0 #fff,0 4px 0 -1px #cfdef1,0 9px 18px -12px #0753a450}.overview>.source-list li:before{background:#e0edff;color:#0867ca}.overview>.source-list li:hover{border-color:#88b4ec;box-shadow:inset 0 1px 0 #fff,0 6px 0 -2px #c9def8,0 16px 22px -12px #0753a445}.source-list li:before,.ac-source .source-list li:before{color:var(--blue)}.source-photo,.ac-source .source-photo{background:linear-gradient(135deg,#e7f0fd,#fff);border-color:#cbdff6}.photo-section>div:first-child>h2:after,.system-source>h2:after,#about>h2:after{background:var(--orange)}.grant-source{background:linear-gradient(135deg,#f7faff,#e7f0ff)!important;color:var(--navy);border:1px solid #cbdff6;box-shadow:inset 0 1px 0 #fff,0 8px 0 -3px #cbdff6,var(--depth-shadow)}.grant-source .source-panel{background:linear-gradient(135deg,#fff,#f1f6ff);border:1px solid #cbdff6;border-left:4px solid var(--orange);box-shadow:inset 0 1px 0 #fff,0 10px 24px #0753a409}.source-fold,.grant-source .source-fold{background:linear-gradient(135deg,#fff,#f4f8ff);border-color:#cbdff6;box-shadow:inset 0 1px 0 #fff,0 5px 14px #0753a410}.source-fold summary,.grant-source .source-fold summary{color:var(--navy)}.source-fold[open] summary,.grant-source .source-fold[open] summary{color:var(--blue)}.source-fold summary>b{background:#e7f0ff;color:var(--blue)}.source-fold:hover{border-color:#83afe5}.six-steps article:hover,.why-grid article:hover{box-shadow:inset 0 1px 0 #fff,0 8px 0 -3px #c9ddf4,0 25px 35px -18px #0753a430}.plumbing-source .source-list li{border-color:#cfdff2}.contact-panel a{color:#075bb8}footer{background:#edf4ff;color:var(--navy);border-top:1px solid #cbdff6}footer p,footer small{color:var(--muted)}footer small{border-color:#cbdff6}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--orange)}
/* Neutral heading typography throughout the site. */
body h1,body h2,body h3,body h4,body h5,body h6,
body .exact-hero h1,body .exact-hero h3,
body .source-section h2,body .source-section h3,body .source-section h4,
body .grant-source h2,body .grant-source h3,body .grant-source h4,
body .grant-source .source-panel>h3,
body .six-steps h4,body .why-grid h4,
body .source-fold summary,body .source-fold[open] summary,
body .grant-source .source-fold summary,body .grant-source .source-fold[open] summary{color:#222831}
