:root{--cream:#f8f5ed;--paper:#fffdf8;--green:#193e32;--forest:#123126;--ink:#233b31;--muted:#5e695f;--orange:#ab4d2d;--orange-dark:#8b3d22;--line:#d9ded1;--sage:#e9ede2;--white:#fff;--width:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;color:var(--green)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,4.3vw,3.8rem)}h2{font-size:clamp(2rem,3.1vw,2.85rem)}h3{font-size:1.19rem;font-weight:700;letter-spacing:-.015em}p+p{margin-top:18px}.wrap{width:min(var(--width),calc(100% - 64px));margin-inline:auto}.section{padding-block:74px}.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.17em;line-height:1.5;color:var(--orange);margin-bottom:15px}.lead{font-size:1.08rem;line-height:1.72;color:#526053}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;color:white!important;background:var(--orange);text-decoration:none;font-weight:700;font-size:1rem;line-height:1.5;border:1px solid transparent;border-radius:3px;white-space:nowrap;transition:background .18s}.button:hover{background:var(--orange-dark)}.text-call{font-size:1.15rem;font-weight:700;color:var(--orange)}.underlined{font-weight:700;color:var(--green)}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:var(--white);padding:10px 20px}.skip-link:focus{top:10px}.utility{background:var(--green);color:#f4f0e4;font-size:.72rem;letter-spacing:.025em}.utility .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:8px;gap:18px}.site-header{position:relative;background:var(--paper);border-bottom:1px solid var(--line);z-index:20}.header-row{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--green);font-size:1.1rem;font-weight:700;line-height:1.2;max-width:285px}.brand-icon{width:39px;height:39px;flex:0 0 39px}.site-nav{display:flex;align-items:center;gap:27px;font-size:.89rem;font-weight:700}.site-nav>a:not(.button){text-decoration:none}.site-nav>a[aria-current=page]{color:var(--orange)}.header-call{font-size:.87rem;padding:11px 15px}.services-menu{position:relative}.services-toggle{display:block;padding:30px 0;border:0;color:inherit;background:none;cursor:pointer;font-weight:700}.services-panel{display:none;position:absolute;top:100%;left:-20px;width:270px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 25px #1a38251a;border-radius:0 0 4px 4px}.services-panel a{display:block;padding:10px 12px;text-decoration:none;line-height:1.4;font-size:.86rem;font-weight:600}.services-panel a:hover,.services-panel a[aria-current=page]{background:var(--sage);color:var(--orange)}.services-menu.is-open .services-panel{display:block}.menu-toggle{display:none}.home-hero{padding:50px 0 64px}.home-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.home-intro h1{max-width:10.8ch;margin-bottom:24px}.home-intro .lead{max-width:490px}.home-intro .button{margin-top:28px}.call-note{font-size:.76rem;line-height:1.6;margin-top:15px;color:var(--muted);max-width:400px}.home-photo{position:relative;height:485px;padding-bottom:26px}.home-photo img{border-radius:90px 5px 5px 5px}.photo-note{position:absolute;bottom:0;left:-22px;padding:19px 27px;background:var(--sage);border-left:4px solid var(--orange);box-shadow:0 5px 15px #193e3208;font-size:.85rem;line-height:1.6}.photo-note span,.photo-note strong{display:block}.photo-note strong{font-size:1.15rem}.service-directory{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.section-heading>p{max-width:360px;color:var(--muted);font-size:.94rem}.service-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.service-tile{grid-column:span 2;border:1px solid var(--line);padding:26px 25px 23px;text-decoration:none;border-radius:4px;background:var(--cream);display:flex;flex-direction:column;align-items:start;transition:border-color .18s,background .18s}.service-tile:nth-last-child(-n+2){grid-column:span 3}.service-tile h3{margin-bottom:12px;font-size:1.18rem}.service-tile p{font-size:.9rem;color:var(--muted);line-height:1.65;margin-bottom:20px}.service-tile span{margin-top:auto;color:var(--orange);font-size:.76rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.service-tile:hover{border-color:var(--orange);background:#fffaf1}.system-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.system-photo{height:440px}.system-photo img{border-radius:4px}.system-copy h2{margin-bottom:22px;max-width:17ch}.system-copy>p:not(.eyebrow){color:var(--muted)}.plain-list{padding:0;list-style:none;margin:23px 0}.plain-list li{position:relative;padding-left:23px;margin-top:12px;font-size:.93rem;line-height:1.6}.plain-list li:before{content:"";width:7px;height:7px;border:1px solid var(--orange);position:absolute;top:.58em;left:0;transform:rotate(45deg)}.household-needs{background:var(--sage)}.open-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:36px}.open-columns article{border-top:2px solid #8d9e87;padding-top:24px}.open-columns p{font-size:.94rem;margin-top:15px;color:#526053}.open-columns a{display:inline-block;font-weight:700;font-size:.82rem;margin-top:20px;color:var(--orange)}.care-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.care-layout h2{max-width:16ch;margin-bottom:20px}.care-layout>div>p:not(.eyebrow){color:var(--muted);font-size:.96rem}.care-notes article+article{margin-top:25px;border-top:1px solid var(--line);padding-top:25px}.care-notes h3{font-size:1.1rem}.care-notes p{margin-top:9px;font-size:.93rem;color:var(--muted)}.faq-section{background:var(--paper);border-top:1px solid var(--line)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-layout h2{max-width:15ch}.faq-layout>div>p:not(.eyebrow){font-size:.93rem;color:var(--muted);margin-top:18px;max-width:320px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-weight:700;font-size:.96rem;line-height:1.5;cursor:pointer;list-style:none;padding:20px 37px 20px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"";position:absolute;right:5px;top:27px;width:8px;height:8px;border-right:1.5px solid var(--orange);border-bottom:1.5px solid var(--orange);transform:rotate(45deg)}.faq-list details[open] summary:after{transform:rotate(225deg);top:31px}.faq-list details p{font-size:.92rem;line-height:1.7;color:var(--muted);padding:0 26px 22px 0}.closing{background:var(--green);color:#e6ebdf;padding-block:48px}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.closing h2{color:var(--paper);font-size:clamp(1.8rem,2.8vw,2.45rem);margin-bottom:13px}.closing p:not(.eyebrow){font-size:.94rem;max-width:680px;color:#dce3d5}.closing .eyebrow{color:#e7b594;margin-bottom:11px}.closing .button{flex-shrink:0}.footer-directory{background:#eeeede;padding:55px 0 48px}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr .75fr;gap:75px}.footer-brand .brand{max-width:320px}.footer-brand p{font-size:.91rem;color:var(--muted);margin:17px 0 16px;max-width:285px}.footer-brand small{display:block;font-size:.73rem;color:var(--muted);margin-top:13px;max-width:290px}.footer-grid h2{font-family:Arial,"Helvetica Neue",sans-serif;letter-spacing:0;font-size:.86rem;margin-bottom:18px}.footer-grid>div:not(:first-child)>a{display:block;font-size:.85rem;text-decoration:none;margin-top:10px;color:#526053}.footer-grid>div:not(:first-child)>a:hover{text-decoration:underline}.footer-legal{background:var(--forest);color:#d2dacf;padding:35px 0 24px}.footer-legal p{font-size:.76rem;line-height:1.8;max-width:1120px}.footer-legal p+p{margin-top:17px}.legal-bottom{border-top:1px solid #ffffff24;margin-top:26px;padding-top:20px;display:flex;gap:20px;justify-content:space-between;font-size:.68rem;color:#bac7b6}.mobile-call{display:none}.service-hero{padding:24px 0 55px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.72rem;color:var(--muted);margin-bottom:30px}.breadcrumb a{text-decoration:none}.service-hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:60px}.service-intro h1{font-size:clamp(2.4rem,3.85vw,3.25rem);max-width:13ch;margin-bottom:23px}.service-intro .lead{font-size:1.01rem}.service-intro .button{margin-top:25px}.service-main-photo{height:440px;position:relative}.service-main-photo:before{content:"";display:block;position:absolute;inset:20px -13px -13px 20px;background:var(--sage);z-index:-1}.service-main-photo img{border-radius:4px 50px 4px 4px}.scope-section{border-top:1px solid var(--line);background:var(--paper)}.scope-heading{max-width:740px;margin-bottom:36px}.scope-heading>p:not(.eyebrow){font-size:.98rem;color:var(--muted);margin-top:18px}.scope-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:75px;align-items:start}.service-descriptions{display:grid;grid-template-columns:1fr 1fr;gap:34px 35px}.service-descriptions article{padding-top:22px;border-top:1px solid var(--line)}.service-descriptions h3{font-size:1.1rem;margin-bottom:12px}.service-descriptions p{font-size:.92rem;color:var(--muted)}.context-aside{background:var(--sage);padding:28px 27px;border-radius:4px}.aside-rule{display:block;width:35px;height:3px;background:var(--orange);margin-bottom:24px}.context-aside h3{font-size:1.15rem;line-height:1.3;margin-bottom:14px}.context-aside p,.context-aside li{font-size:.86rem;color:#526053;line-height:1.7}.context-aside ul{padding-left:17px;margin:20px 0 0}.context-aside li+li{margin-top:9px}.photo-feature{background:#e9eddf}.feature-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}.feature-image{height:455px}.feature-image img{border-radius:4px}.feature-copy h2{font-size:clamp(1.95rem,2.8vw,2.6rem);margin-bottom:19px;max-width:17ch}.feature-copy>p:not(.eyebrow){font-size:.95rem;color:#526053}.feature-copy .plain-list{margin:23px 0 25px}.feature-copy .button{font-size:.9rem;padding:12px 19px}.practical-section h2{max-width:720px}.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:35px}.practical-grid article{border-top:2px solid #a9b49e;padding-top:24px}.practical-grid h3{font-size:1.13rem;margin-bottom:14px}.practical-grid p{font-size:.92rem;color:var(--muted)}.info-section{padding:65px 0 80px}.info-layout{display:grid;grid-template-columns:minmax(0,760px) 270px;gap:100px;align-items:start}.info-copy h1{font-size:clamp(2.6rem,4.2vw,3.45rem);margin-bottom:27px}.info-copy h2{font-size:1.6rem;margin:35px 0 17px;letter-spacing:-.02em}.info-copy p{font-size:.98rem;color:var(--muted)}.info-copy .lead{font-size:1.12rem}.info-aside{border-top:3px solid var(--orange);padding-top:22px;margin-top:10px}.info-aside h2{font-family:Arial,sans-serif;font-size:1.1rem;letter-spacing:0;margin-bottom:17px}.info-aside a{display:block;font-size:.86rem;margin-top:12px;text-decoration:none}.info-aside .button{margin-top:25px;font-size:.8rem;padding:12px 14px}.page-roofing .service-intro h1{max-width:12ch}
@media(hover:hover) and (min-width:961px){.services-menu:hover .services-panel,.services-menu:focus-within .services-panel{display:block}}
@media(min-width:1500px){.home-hero{padding-top:62px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.header-row{gap:20px}.site-nav{gap:19px}.brand{font-size:1rem;max-width:250px}.header-call{padding:11px 12px;font-size:.82rem}.home-hero-grid{gap:38px}.home-photo{height:450px}.service-hero-grid{gap:39px}.scope-layout{gap:40px;grid-template-columns:1fr 280px}.feature-grid,.system-grid{gap:42px}.faq-layout{gap:55px}.footer-grid{gap:45px}.info-layout{gap:50px;grid-template-columns:1fr 245px}}
@media(max-width:960px){.header-row{min-height:84px;position:relative}.brand{max-width:330px;font-size:1.05rem}.menu-toggle{display:flex;align-items:center;gap:13px;border:1px solid #a8b59e;background:transparent;color:var(--green);padding:9px 13px;border-radius:3px;font-size:.82rem;font-weight:700}.menu-toggle i{display:block;width:16px;height:10px;border-top:2px solid var(--green);border-bottom:2px solid var(--green)}.site-nav{display:none;position:absolute;left:-24px;right:-24px;top:100%;background:var(--paper);padding:15px 24px 24px;box-shadow:0 12px 20px #193e321c;border-top:1px solid var(--line)}.site-nav.is-open{display:block}.site-nav>a:not(.button){display:block;padding:11px 0}.site-nav .header-call{margin-top:10px;font-size:.9rem}.services-toggle{padding:11px 0;width:100%;text-align:left}.services-panel{position:static;box-shadow:none;width:auto;border:0;border-left:2px solid var(--line);border-radius:0;margin:0 0 10px 2px;padding:3px 10px}.services-panel a{font-size:.86rem}.home-hero-grid{gap:33px}.home-intro h1{font-size:3rem}.home-photo{height:440px}.home-intro .lead{font-size:1rem}.service-hero-grid{gap:32px;grid-template-columns:1fr 1.06fr}.service-main-photo{height:440px}.service-intro h1{font-size:2.7rem}.service-intro .lead{font-size:.96rem}.section{padding-block:60px}.scope-layout{grid-template-columns:1fr}.context-aside{display:grid;grid-template-columns:1fr 1.4fr;gap:0 30px}.context-aside .aside-rule{display:none}.context-aside h3{grid-row:span 2;max-width:230px}.context-aside ul{margin-top:15px}.feature-grid{gap:36px}.feature-image{height:440px}.care-layout{gap:45px}.footer-grid{grid-template-columns:1.2fr 1fr .75fr;gap:35px}.footer-grid .brand{font-size:.98rem}.closing-inner{gap:25px}.closing-inner>div{max-width:610px}.closing .button{font-size:.9rem;padding:13px 17px}.info-layout{grid-template-columns:1fr 225px;gap:40px}.practical-grid{gap:27px}}
@media(max-width:760px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.utility .wrap{justify-content:center;font-size:.68rem}.utility .wrap>span:last-child{display:none}.header-row{min-height:78px}.brand{font-size:.98rem;max-width:245px;gap:8px}.brand-icon{width:33px;height:33px;flex-basis:33px}.menu-toggle{padding:8px 10px}.site-nav{left:-20px;right:-20px;padding-inline:20px}.home-hero{padding:38px 0 48px}.home-hero-grid{grid-template-columns:1fr;gap:32px}.home-intro h1{font-size:clamp(2.7rem,8vw,3.4rem);max-width:13ch;margin-bottom:21px}.home-intro .lead{max-width:600px}.home-intro .button{margin-top:23px}.call-note{max-width:440px}.home-photo{height:350px;padding-bottom:20px;margin-left:14px}.home-photo img{border-radius:65px 4px 4px 4px}.photo-note{left:-14px;padding:16px 20px;font-size:.77rem}.photo-note strong{font-size:1rem}.section{padding-block:48px}h2{font-size:2.15rem}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px;max-width:520px}.service-tiles{grid-template-columns:1fr 1fr;gap:15px}.service-tile,.service-tile:nth-last-child(-n+2){grid-column:auto;padding:23px 21px}.service-tile:last-child{grid-column:span 2}.system-grid{grid-template-columns:1fr;gap:30px}.system-photo{height:340px}.system-copy h2{max-width:23ch}.system-copy .plain-list{margin-block:20px}.open-columns{grid-template-columns:1fr;gap:30px;margin-top:28px}.open-columns article{padding-top:20px}.open-columns p{margin-top:10px}.open-columns a{margin-top:13px}.care-layout{grid-template-columns:1fr;gap:28px}.care-layout h2{max-width:22ch}.care-notes article+article{margin-top:20px;padding-top:20px}.faq-layout{grid-template-columns:1fr;gap:28px}.faq-layout h2{max-width:24ch}.faq-layout>div>p:not(.eyebrow){max-width:500px}.faq-list summary{padding-block:19px}.closing{padding-block:36px}.closing-inner{display:block}.closing h2{font-size:2rem}.closing .button{margin-top:23px}.footer-directory{padding:42px 0}.footer-grid{grid-template-columns:1.2fr 1fr;gap:34px}.footer-brand{grid-column:span 2;display:block}.footer-brand p{max-width:500px;margin-top:13px}.footer-brand small{max-width:500px}.footer-grid h2{margin-bottom:16px}.footer-legal{padding:28px 0 24px}.footer-legal p{font-size:.74rem}.legal-bottom{display:block}.legal-bottom>span{display:block}.legal-bottom>span+span{margin-top:8px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 20px max(10px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -3px 15px #193e3212;z-index:30}.mobile-call .button{width:100%;padding:11px 20px;font-size:.96rem}body{padding-bottom:80px}.service-hero{padding:20px 0 44px}.breadcrumb{margin-bottom:25px;font-size:.69rem;gap:8px}.service-hero-grid{grid-template-columns:1fr;gap:28px}.service-intro h1{font-size:clamp(2.55rem,7vw,3.15rem);max-width:18ch}.page-roofing .service-intro h1{max-width:16ch}.service-intro .lead{font-size:1rem}.service-intro .button{margin-top:23px}.service-main-photo{height:350px;margin-right:9px;margin-bottom:8px}.service-main-photo:before{inset:15px -9px -9px 15px}.scope-heading{margin-bottom:28px}.service-descriptions{gap:29px 28px}.scope-layout{gap:32px}.context-aside{padding:25px;grid-template-columns:.8fr 1.2fr}.context-aside h3{font-size:1.1rem}.feature-grid{grid-template-columns:1fr;gap:30px}.feature-image{height:350px}.feature-copy h2{max-width:22ch;font-size:2.15rem}.feature-copy .plain-list{margin-bottom:24px}.practical-grid{grid-template-columns:1fr;gap:27px;margin-top:28px}.practical-grid article{padding-top:20px}.practical-grid h3{margin-bottom:10px}.info-section{padding:43px 0 52px}.info-layout{grid-template-columns:1fr;gap:40px}.info-copy h1{font-size:2.7rem}.info-aside{max-width:500px}.info-aside .button{display:inline-flex}.eyebrow{font-size:.68rem}}
@media(max-width:440px){.wrap{width:calc(100% - 34px)}.brand{font-size:.87rem;max-width:224px}.brand-icon{width:30px;height:30px;flex-basis:30px}.menu-toggle{gap:8px;font-size:.75rem}.menu-toggle i{width:13px}.site-nav{left:-17px;right:-17px;padding-inline:17px}.home-intro h1{font-size:2.65rem;max-width:12ch}.home-photo{height:290px}.service-tiles{grid-template-columns:1fr}.service-tile,.service-tile:last-child{grid-column:auto}.service-tile p{margin-bottom:15px}.service-tile h3{font-size:1.2rem}.service-intro h1{font-size:2.5rem;max-width:14ch}.service-main-photo,.feature-image,.system-photo{height:285px}.service-descriptions{grid-template-columns:1fr;gap:26px}.service-descriptions article{padding-top:20px}.context-aside{display:block;padding:24px}.context-aside h3{max-width:none;margin-bottom:13px}.context-aside ul{margin-top:17px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-grid>div:not(:first-child)>a{font-size:.8rem}.footer-grid h2{font-size:.82rem}.mobile-call{padding-inline:17px}.feature-copy h2,h2{font-size:2rem}.faq-layout h2{max-width:17ch}.scope-heading>p:not(.eyebrow){font-size:.94rem}.closing h2{font-size:1.9rem}.photo-note{max-width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
