
:root{--green:#1F9C5F;--dark:#171717;--cream:#f5f5f5}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:var(--dark);background:var(--cream)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a.btn{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1F9C5F;outline-offset:4px}.notice{background:#222222;color:#fff;text-align:center;padding:8px;font-size:12px;letter-spacing:.07em}header{display:flex;align-items:center;gap:35px;padding:21px 5%;background:var(--dark);color:white}.logo{width:165px;height:48px;object-fit:contain}nav{display:flex;gap:25px;margin:auto;font-size:14px}header .btn{padding:14px 20px}.btn,button.primary{display:inline-block;background:var(--green);color:white;border:0;padding:17px 25px;border-radius:3px;font-weight:bold}.hero{position:relative;min-height:630px;background:linear-gradient(90deg,rgba(0,0,0,.91),rgba(0,0,0,.15)),url(/hero-shingle.webp) center/cover;color:white;display:flex;align-items:center;padding:70px 7%}.hero-content{max-width:690px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:bold}.hero h1{font-size:clamp(44px,5.7vw,82px);line-height:1.13;font-weight:500;letter-spacing:-.015em;margin:24px 0}.hero p{max-width:430px;line-height:1.7;color:#e6e6e6}.hero .actions{display:flex;gap:25px;align-items:center;margin-top:30px}.textlink{border-bottom:1px solid;padding-bottom:5px}.hero-caption{position:absolute;bottom:23px;right:5%;font-size:12px;letter-spacing:.1em}.trust{padding:24px 7%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dddddd;font-size:14px}.trust strong{color:var(--green)}section{padding:80px 7%}h2{font-size:clamp(32px,3.6vw,50px);font-weight:500;letter-spacing:-.02em;line-height:1.18;margin:16px 0 24px}.sectiontop{display:flex;align-items:end;justify-content:space-between;gap:30px}.muted{color:#6d6d6d;line-height:1.7;max-width:550px}.needs{background:white}.choices{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}button.choice{padding:17px 22px;border:1px solid #d2d2d2;background:transparent;border-radius:3px;color:var(--dark)}button.choice.active{background:var(--dark);color:white;border-color:var(--dark)}.recommendation{background:var(--cream);padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.recommendation h3{margin:0 0 9px;font-size:23px;font-weight:500}.recommendation p{margin:0;line-height:1.6}.services{display:grid;grid-template-columns:1.15fr 1fr;gap:25px}.service{position:relative;min-height:360px;overflow:hidden;color:white;display:flex;align-items:end;padding:32px;background:var(--dark)}.service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#111111e6)}.service div{position:relative;z-index:1}.service h3{font-size:33px;font-weight:500;margin:7px 0}.service p{line-height:1.6;max-width:380px}.color-section{background:#eeeeee}.color-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.color-layout img{width:100%;height:420px;object-fit:cover}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.swatch{background:white;border:2px solid transparent;padding:6px;text-align:left;color:var(--dark);font-size:12px}.swatch.selected{border-color:var(--green)}.chip{display:block;height:65px;margin-bottom:8px;background-image:repeating-linear-gradient(0deg,transparent 0 16px,#0003 17px 20px),repeating-linear-gradient(90deg,#ffffff10 0 24px,#0002 25px 48px)}.small{font-size:12px;line-height:1.6;color:#636363}.zip{display:flex;gap:8px}.zip input{width:140px;padding:13px;border:1px solid #b0b0b0;border-radius:3px}.zip button{padding:12px 18px}.selected-color{font-size:20px;margin-bottom:8px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.location-list{border-top:1px solid #d2d2d2}.location-list a{display:flex;justify-content:space-between;padding:19px 0;border-bottom:1px solid #d2d2d2}.location-list a:hover{color:var(--green)}.proof{background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:60px}.proof p{color:#d5d5d5;line-height:1.7}.proof article{border-left:1px solid #6c6c6c;padding-left:30px}.proof h3{font-size:25px;font-weight:500}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:white}form{display:grid;gap:15px}label{font-size:13px;display:grid;gap:7px}form input,select{padding:14px;border:1px solid #c9c9c9;background:white;border-radius:2px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}footer{padding:35px 7%;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:white;font-size:13px}html{scroll-behavior:smooth}#zipStatus{min-height:34px}#formStatus{line-height:1.6}.subservice{display:flex;gap:25px;padding-top:24px;flex-wrap:wrap}.subservice a{border-bottom:1px solid #b1b1b1;padding-bottom:6px}@media(max-width:800px){header{padding:17px 6%;gap:15px}nav{display:none}header .btn{margin-left:auto;font-size:12px}.logo{width:115px}.hero{min-height:560px;padding:55px 6%}.hero h1{font-size:54px}.hero-caption{display:none}.trust{flex-wrap:wrap;padding:23px 6%;font-size:12px}section{padding:55px 6%}.services,.color-layout,.location-grid,.proof,.contact{grid-template-columns:1fr;gap:30px}.sectiontop{display:block}.color-layout img{height:290px}.recommendation{align-items:start;flex-direction:column}.service{min-height:300px}.proof article{padding-left:20px}.two{grid-template-columns:1fr}footer{gap:25px;flex-wrap:wrap}.swatches{gap:6px}.hero .actions{gap:18px;font-size:14px}}
 .localbar{padding:13px 7%;background:#eeeeee;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}.localbar select{max-width:220px;padding:7px}.breadcrumb{padding:20px 7%;font-size:13px}.department-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.department{background:white;padding:26px;border-top:3px solid var(--green)}.department h3{font-size:25px;font-weight:500;margin-top:0}.department a{display:block;padding:12px 0;border-top:1px solid #e1e1e1;font-size:14px}.material-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.material{padding:25px;background:white}.material h3{font-size:22px}.localhero{min-height:500px}.localhero h1{font-size:clamp(42px,5vw,70px)}.inline-nav{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}.inline-nav a{border-bottom:1px solid;padding:8px 0}.projectphoto{width:100%;max-height:350px;object-fit:cover}.review-placeholder{border:1px solid #c6c6c6;padding:25px}.localbar a{text-decoration:underline}@media(max-width:800px){.department-grid,.material-grid{grid-template-columns:1fr 1fr}.localbar{align-items:start;flex-direction:column}header{flex-wrap:wrap}nav{display:flex;order:3;overflow-x:auto;width:100%;gap:20px;font-size:13px;padding-top:10px}.localhero{min-height:480px}}@media(max-width:420px){.department-grid,.material-grid{grid-template-columns:1fr}}h1,h2,h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-weight:650!important;letter-spacing:0!important}nav a{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.hero h1{line-height:1.14}h2{line-height:1.2}.hero-location{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;line-height:1.6;color:#fff}.hero-location .change-location{margin-left:8px;text-decoration:underline;text-underline-offset:4px;font-size:12px}.hero-location a:hover{text-decoration:underline}@media(max-width:600px){.hero-location{gap:6px 10px}.hero-location .change-location{margin-left:0;flex-basis:100%}}
#departments.departments-showcase{background:#fff;padding-top:85px;padding-bottom:85px}.department-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.department-heading h2{font-size:clamp(34px,4.2vw,58px);margin-bottom:0}.department-heading p{font-size:16px;line-height:1.7;color:#666}.green-punctuation{color:#1F9C5F}#departments .department-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}#departments .department{padding:0;border:1px solid #dedede;border-top:0;overflow:hidden;background:#f5f5f5;position:relative;transition:transform .2s,box-shadow .2s}#departments .department:hover{transform:translateY(-4px);box-shadow:0 15px 35px #00000012}.department-art{height:185px;position:relative;display:flex;align-items:center;padding:30px;background:#1F9C5F;color:white;overflow:hidden}.department-art:after{content:'';position:absolute;width:230px;height:230px;right:40px;top:-80px;border:1px solid #ffffff55;transform:rotate(35deg)}.department-art svg{width:80px;height:90px;z-index:1}.department-number{position:absolute;right:20px;bottom:-25px;font-size:180px;font-family:system-ui,sans-serif;font-weight:800;line-height:1;color:#ffffff30;letter-spacing:-.06em}.department-commercial .department-art{background:#171717}.department-commercial .department-art:after{transform:rotate(0);top:35px;right:90px}.department-body{padding:30px}.department-kicker{font-size:10px;letter-spacing:.18em;font-weight:bold;color:#666}#departments .department h3{font-size:35px;margin:11px 0}#departments .department p{margin:0 0 25px;line-height:1.6;color:#666}.department-actions{display:flex;gap:12px}#departments .department-actions a{border:1px solid #ccc;flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px;font-weight:bold;font-size:13px;background:white;transition:background .15s,color .15s}#departments .department-actions a:hover{background:#1F9C5F;color:white;border-color:#1F9C5F}.department-gutters,.department-solar{display:grid;grid-template-columns:120px 1fr}.department-gutters .department-art,.department-solar .department-art{height:auto;background:#ededed;color:#171717;padding:20px;align-items:start;padding-top:38px}.department-gutters .department-art svg,.department-solar .department-art svg{width:70px}.department-gutters .department-number,.department-solar .department-number{font-size:75px;bottom:10px;right:12px;color:#d3d3d3}.department-gutters .department-art:after,.department-solar .department-art:after{display:none}#departments .department-gutters h3,#departments .department-solar h3{font-size:30px}.department-gutters .department-body,.department-solar .department-body{padding:25px}.department-gutters .department-actions,.department-solar .department-actions{flex-direction:column}@media(max-width:800px){.department-heading{align-items:start;flex-direction:column;gap:10px}.department-heading p{margin:0}.department-gutters,.department-solar{grid-template-columns:1fr}.department-gutters .department-art,.department-solar .department-art{height:115px;padding:15px 25px}.department-gutters .department-art svg,.department-solar .department-art svg{height:80px}.department-art{height:140px}.department-number{font-size:140px}.department-body{padding:23px}.department-actions{flex-direction:column}}@media(max-width:560px){#departments .department-grid{grid-template-columns:1fr}.department-art{height:140px}.department-actions{flex-direction:row}.department-heading h2 br{display:none}#departments.departments-showcase{padding-top:55px;padding-bottom:55px}}@media(prefers-reduced-motion:reduce){#departments .department{transition:none}#departments .department:hover{transform:none}}
#departments.departments-showcase{padding-top:40px;padding-bottom:40px}.department-heading{margin-bottom:22px}.department-heading h2{font-size:30px}.department-heading p{display:none}#departments .department-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}#departments .department{display:block;border:1px solid #dedede;border-top:3px solid #1F9C5F;background:#fff}#departments .department-art{display:none}#departments .department-body{padding:22px}#departments .department-kicker,#departments .department p{display:none}#departments .department h3{font-size:23px;margin:0 0 17px}#departments .department-actions{flex-direction:column;gap:0}#departments .department-actions a{border:0;border-top:1px solid #e5e5e5;padding:12px 0;background:transparent;font-size:12px}#departments .department-actions a:hover{background:transparent;color:#1F9C5F;border-color:#e5e5e5}#departments .department:hover{transform:none;box-shadow:0 4px 14px #00000009}@media(max-width:800px){#departments .department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){#departments .department-grid{grid-template-columns:1fr}.department-heading h2{font-size:27px}}
#departments .department-icon{display:block;width:32px;height:32px;color:#1F9C5F;margin-bottom:13px}.hero.hero-rotating{isolation:isolate;background:#171717;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease}.hero-slide.is-active{opacity:1}.hero-rotating:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.18))}.hero-controls{position:absolute;bottom:20px;right:7%;display:flex;align-items:center;gap:10px}.hero-toggle,.hero-dot{border:1px solid #ffffff99;color:white;background:#171717;cursor:pointer}.hero-toggle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;padding:0;font-size:12px}.hero-dot{width:9px;height:9px;padding:0;border-radius:50%;background:transparent}.hero-dot[aria-pressed=true]{background:#fff}.hero-toggle:focus-visible,.hero-dot:focus-visible{outline:3px solid #1F9C5F;outline-offset:4px}@media(max-width:700px),(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-controls{display:none}}.department-heading>div{width:100%}#departments .department-heading .eyebrow{display:flex;align-items:center;gap:12px;color:#666;font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.5;margin-bottom:10px}#departments .department-heading .eyebrow:before{content:"";display:block;flex:0 0 28px;height:3px;background:#1F9C5F}#departments .department-heading h2{font-size:clamp(25px,2.5vw,34px);margin:0;line-height:1.2}#departments .department-heading{margin-bottom:24px}@media(max-width:560px){#departments .department-heading .eyebrow{font-size:9px;letter-spacing:.1em;gap:9px}#departments .department-heading .eyebrow:before{flex-basis:20px}}
.hero-roof-label{font-size:11px;color:#fff;margin-right:6px;letter-spacing:.04em}.hero-slide{object-position:center 45%}.content-rotator{position:relative;overflow:hidden;background:#171717;isolation:isolate}.content-rotator>img{width:100%;height:100%;object-fit:cover;display:block}.content-rotator .photo-next{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease}.photo-pause{position:absolute;right:10px;bottom:10px;z-index:2;border:1px solid #ffffff88;border-radius:50%;width:29px;height:29px;padding:0;background:#171717;color:white;font-size:11px;cursor:pointer}.material>.content-rotator{height:150px;margin:-25px -25px 20px}.location-grid .content-rotator{height:350px}.neutral-hero{background:#171717!important;min-height:360px}.service-note{border-left:3px solid #1F9C5F;padding:25px;background:#f5f5f5}.service-note h3{margin-top:0}@media(max-width:700px),(prefers-reduced-motion:reduce){.photo-pause{display:none}.content-rotator .photo-next{transition:none}}