@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#142f57;--cream:#ffffff;--yellow:#d82f3f;--ink:#142f57}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e78036;outline-offset:5px}.topline{background:var(--green);color:#fff;font-size:10px;letter-spacing:1.6px;padding:10px 5%;display:flex;justify-content:space-between}header{padding:17px 5%;display:flex;align-items:center;gap:30px;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px}.brand img{width:77px;height:66px}.brand b{font-family:Manrope,sans-serif;font-weight:800;font-size:31px;line-height:.95;letter-spacing:-2px;display:block}.brand b span{font-size:16px;display:block;letter-spacing:2px;margin-top:5px}.brand small{display:block;font-size:6px;letter-spacing:.7px;margin-top:7px}nav{display:flex;gap:30px;font-size:13px}nav a:hover{border-bottom:1px solid}header .phone{border:1px solid #b7c3b7;border-radius:4px;padding:13px 18px;font-weight:700;font-size:13px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:580px;margin:8px 22px 0}.hero-copy{padding:59px 8% 26px;background:var(--green);color:var(--cream);border-radius:7px 0 0 7px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.7}.eyebrow>span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-3px}h1{font-size:clamp(47px,5.2vw,78px);line-height:1.07;margin:27px 0}h1 em{font-weight:500;color:var(--yellow);font-style:normal}p{line-height:1.7}.intro{max-width:410px;color:#e1e9f6;font-size:15px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;border:0;border-radius:3px;padding:17px 21px;font-weight:700;font-size:12px;cursor:pointer}.yellow{background:var(--yellow);color:var(--ink)}.yellow:hover{background:#bb2333}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid;padding-bottom:6px}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid #527166;padding-top:20px;margin-top:52px;font-size:8px;letter-spacing:1.4px}.hero-photo{position:relative;min-height:540px;border-radius:0 7px 7px 0;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102c2b99)}.photo-label{position:absolute;bottom:30px;left:30px;color:white;font-size:13px;z-index:1}.photo-label small{font-size:9px;opacity:.8}.roundel{position:absolute;right:25px;top:27px;background:var(--yellow);border-radius:50%;height:134px;width:134px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;line-height:1.4;transform:rotate(10deg);text-align:center}.ticker{display:flex;justify-content:space-around;align-items:center;gap:20px;background:var(--yellow);padding:23px 4%;margin-top:22px;font-size:20px}.ticker span{font-size:13px;font-weight:700;letter-spacing:1.4px}.section{padding:88px 7%}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}h2{font-size:clamp(38px,4vw,56px);line-height:1.12;margin-bottom:20px}.section-head>p{max-width:350px;font-size:14px;color:#52647c;margin-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbd2c6;border-bottom:1px solid #cbd2c6}.service-grid article{padding:30px;position:relative;border-right:1px solid #cbd2c6}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border:0}.num{position:absolute;right:25px;top:30px;font-size:10px;color:#7d8c7c}.line-icon{font-size:45px;height:74px}h3{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.6px}.service-grid p{font-size:13px;color:#52647c;min-height:66px}.service-grid ul{padding:0;list-style:none;font-size:12px;line-height:2.2}.service-grid li:before{content:'↗';margin-right:12px;color:#83977c}.service-grid a{display:flex;justify-content:space-between;font-size:12px;font-weight:700;border-top:1px solid #cbd2c6;padding-top:20px;margin-top:25px}.approach{display:grid;grid-template-columns:1fr 1fr;background:#edf2f8}.approach-art{position:relative;min-height:610px}.approach-art img{width:100%;height:100%;object-fit:cover;position:absolute}.approach-art>span{position:absolute;bottom:25px;left:28px;color:white;font-size:10px;letter-spacing:1px;text-shadow:0 1px 6px black}.approach-art small{font-size:9px;letter-spacing:0}.approach-copy{padding:67px 12%}.approach-copy>p{font-size:14px}.step{display:flex;gap:22px;border-top:1px solid #bbc9b7;padding-top:20px;margin-top:20px}.step>b{font-size:11px;color:#778b73;padding-top:5px}.step h3{font-size:16px;margin-bottom:6px}.step p{font-size:12px;margin-bottom:0;color:#61715d}.local{text-align:center;padding-top:85px;padding-bottom:90px}.local>p:not(.eyebrow){max-width:510px;margin:0 auto 25px;font-size:14px;color:#52647c}.contact{background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.contact .eyebrow{color:var(--yellow)}.contact>div>p{color:#c2d2c7;font-size:14px}.big-phone{display:block;font-size:clamp(23px,3vw,37px);font-family:Manrope,sans-serif;margin-top:45px;letter-spacing:-1px}.email{display:block;font-size:14px;margin-top:10px}.contact-note{margin-top:30px;font-size:11px!important}form{padding:30px;background:#1b3c66;border:1px solid #516b8e;border-radius:5px}form h3{margin-bottom:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;font-weight:500;margin-bottom:17px}input,select,textarea{width:100%;display:block;background:#ffffff;color:var(--ink);border:1px solid transparent;border-radius:3px;padding:12px;margin-top:7px;font-size:12px;min-width:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--yellow)}form button{width:100%}.form-note{font-size:10px;color:#d7e4f5;line-height:1.5;margin:13px 0 0}#form-status{font-size:12px;margin:12px 0 0}footer{padding:36px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}footer p{margin:0}.footer-brand{font-size:20px;font-weight:800;letter-spacing:-1px}.footer-brand span{display:block;letter-spacing:1.2px;font-size:8px;margin-top:5px}details{max-width:300px}summary{cursor:pointer}details p{padding-top:10px}details a{text-decoration:underline}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:15px}.hero-copy{padding:42px 7% 25px}.actions{gap:18px}.hero-foot{margin-top:35px}.section{padding:65px 6%}.approach-copy{padding:50px 10%}.contact{gap:35px}h1{letter-spacing:-2px}.service-grid article{padding:25px 20px}}@media(max-width:700px){.topline{font-size:8px}.topline span{display:none}header{padding:12px 5%;gap:10px}nav{display:none}.brand img{width:58px;height:52px}.brand b{font-size:25px}.brand b span{font-size:13px}.brand small{display:none}header .phone{padding:11px;font-size:11px}.hero{display:flex;flex-direction:column;margin:5px 12px 0;min-height:0}.hero-copy{border-radius:5px 5px 0 0;padding:35px 7% 24px}h1{font-size:50px}.hero-photo{min-height:330px;border-radius:0 0 5px 5px}.hero-foot{font-size:7px;margin-top:30px}.roundel{width:108px;height:108px;font-size:10px}.ticker{gap:12px;padding:20px 12px;overflow:hidden;white-space:nowrap}.ticker span{font-size:9px;letter-spacing:.3px}.ticker span:last-of-type{display:none}.section-head{display:block}.section-head>p{max-width:100%;margin-top:25px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:first-child{padding:28px 0;border-right:0;border-bottom:1px solid #cbd2c6}.service-grid p{min-height:0}.service-grid ul{display:grid;grid-template-columns:1fr 1fr}.line-icon{height:65px}.approach{grid-template-columns:1fr}.approach-art{min-height:340px}.approach-copy{padding:45px 7%}.contact{grid-template-columns:1fr;gap:35px}.section{padding:52px 7%}h2{letter-spacing:-2px}.big-phone{margin-top:25px}form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;padding:30px 7%}footer>p{display:none}.local h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Red, white and blue identity */
.yellow{color:white}.hero-new{grid-template-columns:.78fr 1.22fr}.hero-new .hero-copy{padding:48px 8% 28px}.hero-new h1{font-size:clamp(42px,4.2vw,65px)}.hero-new h1 em{color:#fff}.hero-new .hero-photo img{object-fit:contain;background:#142f57}.hero-new .hero-photo:after{display:none}.hero-new .hero-photo{min-height:490px}.hero-new .photo-label{background:#142f57;padding:9px 13px;bottom:14px;left:14px}.ticker{color:#fff}.hero-foot{border-color:#567193}.contact .eyebrow{color:#fff}.contact>div>p{color:#d7e4f5}.service-grid{border-color:#ccd6e4}.service-grid article{border-color:#ccd6e4}.num{color:#65758d}.tree-service{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px;background:#edf2f8;margin-top:25px}.tree-service h3{margin:9px 0}.tree-service p{margin:0;font-size:13px}.tree-service a{white-space:nowrap}.project-gallery{background:#edf2f8}.gallery-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:25px}figure{margin:0}.photo-open{display:block;width:100%;position:relative;border:0;background:#142f57;padding:0;cursor:zoom-in;overflow:hidden}.photo-open img{display:block;width:100%;height:400px;object-fit:cover}.photo-open span{position:absolute;bottom:15px;right:15px;background:white;color:#142f57;padding:9px 14px;font-size:11px}.gallery-grid figcaption{padding:18px 0}.gallery-grid strong{display:block;font-size:19px}.gallery-grid small{display:block;margin-top:6px;font-size:11px;color:#52647c}.process-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.stage-image{aspect-ratio:1.5;background-image:url('assets/roof-stages.png');background-size:200% 200%;border-radius:3px}.stage-0{background-position:left top}.stage-1{background-position:right top}.stage-2{background-position:left bottom}.stage-3{background-position:right bottom}.process-grid figcaption{display:flex;align-items:center;gap:12px;padding:15px 0;font-size:14px}.process-grid figcaption span{color:#d82f3f;font-size:11px;font-weight:700}.illustration-note{font-size:11px;color:#52647c;max-width:850px;margin:22px 0}.approach-art img{object-position:center 35%}.contact .contact-note{color:#d7e4f5}.footer-note{font-size:10px}dialog{border:0;padding:18px;background:#142f57;color:white;width:min(95vw,1100px);max-height:95vh}dialog::backdrop{background:#06142be6}dialog img{display:block;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}dialog p{font-size:12px;margin:14px 0 0}#close-photo{display:block;margin:0 0 12px auto;background:white;color:#142f57;border:0;padding:10px 18px;cursor:pointer}
@media(max-width:1000px){.hero-new{grid-template-columns:1fr}.hero-new .hero-photo{min-height:0;aspect-ratio:1280/725}.hero-new .hero-copy{border-radius:5px 5px 0 0}.hero-new .hero-photo{border-radius:0 0 5px 5px}.hero-new h1{font-size:56px}.hero-new .hero-foot{margin-top:30px}}@media(max-width:700px){.hero-new h1{font-size:44px}.hero-new .hero-photo{width:100%;min-height:0}.hero-new .photo-label{font-size:9px;padding:6px;bottom:5px;left:5px}.gallery-grid,.process-grid{grid-template-columns:1fr}.photo-open img{height:auto;max-height:470px;object-fit:contain}.tree-service{display:block}.tree-service a{display:inline-block;margin-top:20px}.gallery-grid{gap:20px}.process-grid{gap:15px}}

@media(max-width:700px){.hero-new .hero-photo{order:-1;border-radius:5px 5px 0 0}.hero-new .hero-copy{border-radius:0 0 5px 5px;padding-top:28px}.hero-new h1{font-size:40px}.hero-new .hero-foot{margin-top:25px}}
.cleaning-examples{background:#fff}.cleaning-comparisons{display:grid;gap:42px;margin-bottom:30px}.cleaning-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.cleaning-heading h3{font-size:24px;margin-bottom:14px}.cleaning-heading p{font-size:13px;color:#52647c}.comparison-labels{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:11px;font-weight:700;letter-spacing:1.5px}.comparison-labels span{padding:13px 18px;background:#142f57;color:white}.comparison-labels span:last-child{background:#d82f3f}.cleaning-photo img{width:100%;height:auto;max-height:none;object-fit:contain}.comparison-note{font-size:11px;color:#52647c;margin:12px 0 0}.roof-process{background:#edf2f8}@media(max-width:700px){.cleaning-heading{display:block}.cleaning-heading h3{font-size:22px;margin-bottom:6px}.cleaning-heading p{margin-bottom:14px}.cleaning-photo span{font-size:9px;padding:6px;bottom:8px;right:8px}.cleaning-comparisons{gap:28px}}

.chosen-brand img{width:100px;height:100px;object-fit:contain}.brand-name{font-family:Manrope,sans-serif;font-size:30px;font-weight:800;line-height:1;letter-spacing:-1px}.brand-name span{display:block;font-size:11px;line-height:1.35;letter-spacing:1px;margin-top:6px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:85px;height:85px;object-fit:contain}.footer-brand span{font-size:9px;line-height:1.7}@media(max-width:700px){.chosen-brand img{width:85px;height:85px}.brand-name{font-size:23px}.brand-name span{font-size:8px;letter-spacing:.5px}.brand{gap:7px}header{padding-left:3%;padding-right:3%}}

/* Keep the final phrase together and avoid a lone word on narrow screens. */
.hero-new h1 em{white-space:nowrap}@media(max-width:700px){.hero-new h1{font-size:clamp(26px,8vw,40px);letter-spacing:-1.5px;line-height:1.12;text-wrap:balance}}
