:root{--navy:#082d49;--dark:#051c2f;--gold:#c99b43;--ink:#173147;--muted:#536474;--light:#f3f6f8;--line:#dde4e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;font:17px/1.65 Arial,Helvetica,sans-serif;color:var(--ink);background:white}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.container{max-width:1240px;padding:0 32px;margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(24px,calc((100vw - 1176px)/2));background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 12px #0001}.brand img{width:135px;height:100px;object-fit:contain}.header nav{display:flex;align-items:center;gap:24px}.header nav a{text-decoration:none;font-size:14px;font-weight:700}.header nav a:hover{color:#946b20}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#071e30;text-decoration:none;font-weight:700;padding:14px 23px;border:1px solid var(--gold);border-radius:5px;cursor:pointer;min-height:48px;line-height:1.35}.button:hover{background:#dfb464;color:#071e30}.button.small{font-size:14px;padding:12px 16px}.button.outline{border-color:#fff8;color:white;background:transparent}.button.outline:hover{background:#fff1}.hero{background:linear-gradient(90deg,#03192ef2 0%,#03192ec9 42%,#03192e22 100%),url('assets/hero.webp') center/cover;min-height:580px;color:white;display:flex;align-items:center}.hero-content{width:100%;padding-top:85px;padding-bottom:85px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.21em;margin:0 0 18px;color:var(--navy)}.hero .eyebrow{color:white}.hero h1{font-size:clamp(38px,4.8vw,68px);line-height:1.06;letter-spacing:-.045em;text-transform:uppercase;max-width:750px;margin:0 0 26px;font-weight:900}h1 span,h2 span{color:var(--gold)}.hero-copy{max-width:540px;font-size:18px}.hero-location{font-size:15px;max-width:580px}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.hero-note{margin-top:26px;font-size:14px;color:#dce7ef}.trust{display:grid;grid-template-columns:repeat(4,1fr);padding-top:30px;padding-bottom:32px;text-align:center;gap:20px}.trust>div{display:flex;align-items:center;flex-direction:column;border-right:1px solid var(--line)}.trust>div:last-child{border:0}.trust-icon{color:var(--gold);font-size:30px;line-height:1.3;margin-bottom:10px}.trust strong{font-size:15px}.trust span:not(.trust-icon),.trust a{font-size:13px;color:var(--muted);text-decoration:none}.section{padding-top:85px;padding-bottom:85px}.section-heading{text-align:center;margin:0 auto 40px;max-width:800px}h2{font-size:clamp(30px,3.2vw,44px);line-height:1.15;letter-spacing:-.04em;margin:0 0 22px;text-transform:uppercase;font-weight:900}.section-heading p:last-child{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service{border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 5px 15px #082d4908}.service img{width:100%;height:200px;object-fit:cover}.service>div{padding:24px 20px}.service h3{font-size:20px;line-height:1.25;margin:0 0 12px}.service p{font-size:15px;color:var(--muted);margin:0 0 20px}.service a{font-weight:bold;font-size:14px;color:#806021;text-decoration:none}.about{background:var(--dark);color:#fff;padding:70px 0}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.about .eyebrow,.reviews .eyebrow{color:var(--gold)}.about p:not(.eyebrow){color:#d9e2e9;font-size:16px}.about figure{margin:0}.about img{width:100%;border-radius:8px;aspect-ratio:1.5;object-fit:cover}.about figcaption{font-size:12px;color:#cbd5df;margin-top:9px}.discount{border-top:1px solid #c99b4366;padding-top:16px;font-size:14px!important}.about .discount{color:#e8bf70!important}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery figure{margin:0}.gallery img{width:100%;height:275px;object-fit:cover;border-radius:7px}.gallery figcaption{padding-top:12px;text-align:center;font-size:14px;color:var(--muted)}.areas{background:var(--light)}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.areas-grid p{max-width:500px}.area-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.area-list span{background:white;padding:18px 20px;border-radius:6px;border-left:3px solid var(--gold);font-weight:700}.reviews{background:var(--navy);color:white}.reviews .section-heading p:last-child{color:#d0dce5}.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 22px;scrollbar-color:var(--gold) transparent}.review-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;background:white;color:var(--ink);border-radius:7px;padding:28px;display:flex;flex-direction:column}.stars{color:#ab7820;font-size:22px;letter-spacing:3px}.review-card blockquote{margin:18px 0 24px;font-size:16px;white-space:pre-line}.review-author{font-size:14px;font-weight:700;margin-top:auto}.review-date{font-size:12px;color:var(--muted)}.review-source{font-size:12px;color:#64748b;margin-top:10px}.review-controls{display:flex;justify-content:flex-end;gap:9px;margin-bottom:16px}.review-controls button{background:transparent;color:white;border:1px solid #ffffff66;width:46px;height:46px;border-radius:50%;font-size:25px;cursor:pointer}.review-controls button:disabled{opacity:.3;cursor:default}.google-link{display:block;width:fit-content;margin:25px auto 0;color:#ebc374;font-size:15px}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:25px 0}.contact-links a{font-weight:700;color:var(--navy);overflow-wrap:anywhere}form{background:var(--light);padding:32px;border-radius:8px}label{display:block;font-size:14px;font-weight:700;margin-bottom:18px}input,select,textarea{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #b5c3ce;border-radius:4px;background:white;color:var(--ink);font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{width:100%}.form-note{font-size:12px;text-align:center;color:var(--muted);margin-bottom:0}footer{background:var(--dark);color:white;padding:40px 0 24px}.footer-grid{display:grid;grid-template-columns:150px 1fr 160px;gap:50px;align-items:center}.footer-grid img{width:150px;height:auto;object-fit:contain;border-radius:4px}.footer-grid p{font-size:14px;color:#c5d3df}.footer-grid>div:last-child{display:flex;flex-direction:column;gap:8px;font-size:14px}.copyright{font-size:12px;color:#bac9d5;text-align:center;margin:35px 0 0}.mobile-contact{display:none}.skip{position:absolute;top:-80px;background:white;z-index:100;padding:12px}.skip:focus{top:0}.thanks{max-width:650px;text-align:center;margin:80px auto;padding:30px}.thanks img{width:160px;height:auto;object-fit:contain;margin:0 auto 35px}
@media(max-width:1100px){.menu-toggle{display:block;background:white;border:1px solid var(--line);border-radius:4px;padding:8px 14px;font-size:14px}.header nav{display:none;position:absolute;left:0;right:0;top:124px;padding:20px;background:white;box-shadow:0 10px 15px #0002;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:12px;font-size:16px}.services{grid-template-columns:repeat(2,1fr)}.service img{height:240px}.about-grid{gap:30px}.gallery{grid-template-columns:repeat(2,1fr)}.review-card{flex-basis:calc((100% - 22px)/2)}.quote-grid{gap:35px}.areas-grid{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:90px}.container{padding-left:22px;padding-right:22px}.header{padding:8px 20px}.brand img{width:102px;height:74px}.menu-toggle{display:block;background:white;border:1px solid var(--line);border-radius:4px;padding:8px 14px;font-size:14px}.header nav{display:none;position:absolute;left:0;right:0;top:90px;padding:20px;background:white;box-shadow:0 10px 15px #0002;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:12px;font-size:16px}.hero{min-height:580px;background-position:62% center}.hero-content{padding-top:70px;padding-bottom:55px}.hero h1{font-size:43px}.hero-copy{font-size:17px}.hero-location{font-size:14px}.eyebrow{font-size:12px;letter-spacing:.14em}.trust{grid-template-columns:1fr 1fr;gap:28px 12px}.trust>div{border:0}.section{padding-top:60px;padding-bottom:60px}.services{gap:16px}.service img{height:170px}.service>div{padding:19px 16px}.service h3{font-size:19px}.about-grid,.areas-grid,.quote-grid{grid-template-columns:1fr;gap:32px}.about{padding:55px 0}.gallery{gap:16px}.gallery img{height:220px}.review-card{flex-basis:88%;padding:24px}.review-track{gap:16px}.footer-grid{grid-template-columns:100px 1fr;gap:25px}.footer-grid img{width:100px}.footer-grid>div:last-child{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:20px}footer{padding-bottom:88px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--gold);box-shadow:0 -2px 15px #0002}.mobile-contact a{flex:1;text-align:center;padding:15px 8px;text-decoration:none;font-size:14px;font-weight:700;border-right:1px solid #0002}.mobile-contact a:last-child{border:0}.quote-grid form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:390px){.services{grid-template-columns:1fr}.hero h1{font-size:37px}.actions .button{width:100%}.area-list{gap:9px}.area-list span{padding:14px 12px;font-size:14px}.gallery img{height:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.benefits article{padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--light)}.benefits h3{font-size:21px;line-height:1.3;margin:0 0 12px}.benefits p{margin:0;color:var(--muted)}.step-number{display:block;color:#946b20;font-weight:700;font-size:30px;margin-bottom:12px}.faq{background:var(--light)}.faq details{max-width:900px;margin:0 auto;border-bottom:1px solid var(--line);padding:19px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{color:var(--muted);margin:12px 0 0}.faq a{text-decoration:underline}@media(max-width:760px){.benefits{grid-template-columns:1fr;gap:16px}}

.service h3 a{font-size:inherit;color:var(--ink)}.service h3 a:hover{color:#806021}.service-hero{padding:35px 0 65px;background:var(--dark);color:#fff}.service-hero .eyebrow{color:#e8bf70}.breadcrumb{font-size:14px;color:#dce7ef;margin:0 0 32px}.service-hero h1{font-size:clamp(38px,4.5vw,62px);line-height:1.12;letter-spacing:-.04em;margin:0 0 24px;max-width:900px}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.service-intro>img{width:100%;height:440px;object-fit:cover;border-radius:8px}.service-intro>img[src*="roof.webp"]{object-position:center 65%}.service-tagline{font-size:24px;font-weight:700}.service-panel{background:#fff1;border:1px solid #fff3;border-radius:8px;padding:45px}.service-panel strong{font-size:40px;line-height:1.2}.method-copy{max-width:850px;margin:55px auto 0}.roof-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:35px}.roof-comparison figure{margin:0}.roof-comparison img{width:100%;height:480px;object-fit:cover;border-radius:8px}.roof-comparison figcaption{font-size:18px;font-weight:700;padding:12px 0}.comparison-note{font-size:14px;color:var(--muted)}.roof-detail{max-height:480px;margin:35px auto 0;border-radius:8px}.service-links{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.service-links a{padding:16px 22px;border:1px solid var(--line);border-radius:6px;font-weight:bold;text-decoration:none}.service-links a:hover{background:var(--light)}@media(max-width:760px){.service-intro{grid-template-columns:1fr;gap:32px}.service-intro>img{height:330px}.roof-comparison{gap:12px}.roof-comparison img{height:290px}.roof-comparison figcaption{font-size:15px}.service-hero{padding-bottom:45px}}@media(max-width:390px){.roof-comparison{grid-template-columns:1fr}.roof-comparison img{height:400px}}

.area-list a{background:white;padding:18px 20px;border-radius:6px;border-left:3px solid var(--gold);font-weight:700;text-decoration:none}.area-list a:hover{color:#806021}.header nav{gap:16px}@media(min-width:1101px){.header nav a{font-size:13px}}

.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-bottom:32px}.comparison-card{min-width:0;border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--light)}.comparison-card h3{font-size:22px;line-height:1.3;margin:0 0 18px}.comparison{background:var(--dark);border-radius:7px;overflow:hidden}.comparison figure{margin:0;position:relative}.comparison img{width:100%;height:auto}.comparison figcaption{position:absolute;top:14px;left:14px;background:#051c2fe6;color:white;border:1px solid #fff6;border-radius:4px;padding:5px 12px;font-size:13px;font-weight:700}.comparison .compare-after figcaption{left:auto;right:14px}.compare-divider{display:none}.comparison.is-interactive{position:relative;aspect-ratio:4/5}.comparison.is-interactive figure{position:absolute;inset:0}.comparison.is-interactive img{width:100%;height:100%;object-fit:contain}.comparison.is-interactive .compare-before{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);background:var(--dark)}.comparison.is-interactive .compare-divider{display:block;position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;background:white;pointer-events:none}.compare-divider span{display:grid;place-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:42px;height:42px;background:white;color:var(--navy);box-shadow:0 1px 10px #0005;font-size:24px}.compare-control{font-size:13px;margin:16px 0 0;color:var(--ink)}.compare-control[hidden]{display:none}.compare-control input{padding:0;border:0;height:32px;cursor:ew-resize;accent-color:#806021;background:transparent}.photo-links{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:12px 0 0}.gallery-source{font-size:14px;color:var(--muted)}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.header nav a[aria-current="page"]{color:#806021}.area-list{min-width:0}.footer-grid{align-items:start}.service-hero .button.outline:focus-visible{outline-color:white}.service-panel{min-width:0}
@media(max-width:760px){.comparison-grid{grid-template-columns:1fr;gap:24px}.comparison-card{padding:16px}.comparison-card h3{font-size:20px}.service-intro{min-width:0}.service-hero h1{font-size:clamp(34px,8vw,48px);overflow-wrap:break-word}.area-list a{padding:14px 12px;font-size:14px}}

.contact-options h2{font-size:26px}.contact-options a{overflow-wrap:anywhere;font-weight:700}.gbp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gbp-photo{margin:0;background:var(--light);border-radius:8px;overflow:hidden}.gbp-photo a{display:block}.gbp-photo img{width:100%;height:240px;object-fit:contain;background:#eef1f3}.gbp-photo figcaption{padding:10px 14px;font-size:13px;color:var(--muted)}.gallery-more{margin-top:28px}.gbp-photo[hidden]{display:none}.photo-dialog{border:0;border-radius:10px;padding:20px;background:var(--dark);color:white;max-width:95vw;max-height:90vh}.photo-dialog::backdrop{background:#000c}.photo-dialog img{max-height:72vh;max-width:85vw;object-fit:contain;margin:12px auto}.photo-dialog button{min-height:44px}.photo-dialog .dialog-controls{display:flex;justify-content:space-between;gap:12px;align-items:center}.photo-dialog p{margin:8px 0;font-size:14px}@media(max-width:1000px){.gbp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.gbp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gbp-photo img{height:190px}.gbp-photo figcaption{padding:8px;font-size:12px}}@media(max-width:380px){.gbp-grid{grid-template-columns:1fr}}

.footer-business-details{font-size:14px;line-height:1.6}
