:root{--ink:#151719;--red:#bc2528;--paper:#faf9f6;--muted:#5e6266;--line:#dcdcd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e96330;outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;left:12px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;line-height:1.04;letter-spacing:-.025em;font-weight:900}h1{font-size:clamp(48px,5.7vw,86px);margin-bottom:28px}h2{font-size:clamp(32px,3.5vw,50px);margin-bottom:22px}h3{line-height:1.2;font-size:23px}p{margin-bottom:20px}img{max-width:100%;display:block}.topline{padding:8px max(5vw,20px);background:var(--red);color:white;font-size:11px;font-weight:700;letter-spacing:.12em;display:flex;justify-content:space-between}header{padding:23px 5vw;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #383a3b}.brand{font-size:30px;font-weight:900;line-height:1;letter-spacing:-1px;display:inline-block;flex-shrink:0}.brand b{color:#ed4542}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:8px}.desktop-nav{display:flex;gap:26px;font-size:14px}.desktop-nav a:hover,.text-link:hover{color:#e44b48}.header-phone{font-size:15px;font-weight:700;white-space:nowrap}.menu-toggle{display:none;background:transparent;color:white;border:1px solid #666;padding:9px 13px}.mobile-nav{background:var(--ink);color:white;padding:15px 5vw}.mobile-nav a{display:block;padding:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;padding:65px 5vw 50px;background:var(--ink);color:var(--paper)}.hero h1 span{color:#ef4e48}.eyebrow{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.15em;margin-bottom:20px}.hero .eyebrow,.about .eyebrow{color:#fa7770}.hero-description{max-width:550px;color:#dededb;font-size:18px}.actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:white;padding:15px 23px;border:0;border-radius:3px;font-weight:700;font-size:15px;cursor:pointer}.button:hover{background:#9d1d23}.text-link{font-weight:700;font-size:14px;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px}.locations{font-size:12px;color:#bcbebb;margin:30px 0 0}.mascot img{width:100%;height:auto}.mascot p{text-align:center;font-size:10px;letter-spacing:.12em;color:#c3c5c4;margin:10px 0 0}.promise{padding:24px 5vw;background:#eae7df;display:flex;gap:20px;justify-content:space-between;font-size:13px;font-weight:700}.promise span:before{content:'+';color:var(--red);margin-right:12px}.section{padding:85px 5vw}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:35px}.section-heading>p{max-width:490px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.number{color:var(--red);font-size:12px;font-weight:900;margin-bottom:24px}.service-card p{color:var(--muted);font-size:15px}.service-card .examples{font-size:12px;border-top:1px solid var(--line);padding-top:18px}.service-card .text-link{align-self:flex-start;margin-top:auto}.work{background:#ece9e2}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 260px;gap:20px}.photo-open{display:block;border:0;padding:0;background:#dcdad3;position:relative;cursor:zoom-in;overflow:hidden;width:100%;height:100%}.photo-open img{height:100%;width:100%;object-fit:cover}.photo-open.tall{grid-row:span 2}.photo-open.tall img{object-fit:contain;background:#202323}.zoom-mark{position:absolute;right:12px;bottom:12px;background:white;border-radius:50%;width:32px;height:32px;line-height:32px;color:var(--ink)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);gap:30px}.price-grid article{padding:30px 0}.price-grid h3{font-size:38px;letter-spacing:-1.5px}.price-grid h3 span{font-size:14px;letter-spacing:0;white-space:nowrap}.price-grid h3 small{font-size:13px;letter-spacing:0}.price-grid strong{font-size:14px}.price-grid p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:15px}.estimate{padding:28px 32px;background:#eae7df;display:flex;align-items:center;gap:40px}.estimate>div{flex:1}.estimate p{font-size:14px;margin-bottom:8px}.estimate .button{flex-shrink:0}.about{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:90px}.about p{color:#cdcfcd;max-width:600px}.steps{padding-left:25px;margin:0}.steps li{padding:0 0 20px 15px}.steps li::marker{color:#fa7770;font-weight:bold}.steps h3{font-size:21px;margin-bottom:10px}.steps p{font-size:15px}.faq{max-width:1100px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:700;cursor:pointer;font-size:18px}.faq details p{margin:16px 0 0;color:var(--muted)}.contact{background:#eae7df;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:30px 0}.contact-direct>a{overflow-wrap:anywhere}.contact-direct>a:first-child{font-size:30px;font-weight:800}.contact-card{background:white;padding:35px}.contact-card>p{font-size:14px;color:var(--muted)}label{display:block;font-size:14px;font-weight:700;margin:18px 0 7px}input,textarea,select{width:100%;max-width:100%;min-width:0;padding:12px;background:var(--paper);color:var(--ink);border:1px solid #bbb;border-radius:2px}textarea{resize:vertical}form .button{margin-top:20px;width:100%}.form-note,.form-status{font-size:12px;color:var(--muted);margin:13px 0 0}footer{padding:40px 5vw;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>span{font-size:12px;color:#cacac7;margin:0}dialog{padding:45px 12px 12px;border:0;background:#151719;max-width:95vw;max-height:95dvh}dialog::backdrop{background:#000d}dialog img{max-width:90vw;max-height:80dvh;width:auto;height:auto;object-fit:contain}.photo-close{position:absolute;right:12px;top:6px;border:0;color:white;background:transparent;cursor:pointer;padding:5px 10px}@media(min-width:1500px){.section,.hero,header,.promise,.topline,footer{padding-left:calc((100vw - 1350px)/2);padding-right:calc((100vw - 1350px)/2)}}@media(max-width:1000px){.desktop-nav{gap:16px}.header-phone{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.section-heading{gap:30px}.hero{gap:10px}.about,.contact{gap:40px}}@media(max-width:800px){.desktop-nav{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:45px}.hero h1{font-size:clamp(47px,9vw,72px)}.mascot{max-width:430px;justify-self:center}.hero-description{max-width:650px}.section{padding:55px 5vw}.section-heading,.contact,.about{grid-template-columns:1fr;gap:20px}.price-grid{grid-template-columns:1fr;gap:0}.price-grid article{border-bottom:1px solid var(--line)}.estimate{flex-direction:column;align-items:flex-start;gap:18px}.promise{flex-wrap:wrap}.gallery{grid-template-rows:220px 220px}.about{gap:30px}footer{flex-wrap:wrap}.topline{font-size:9px}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.topline span{display:none}.hero{padding-bottom:32px}.mascot{max-width:340px}.actions{gap:20px}.promise{display:grid;gap:12px}.gallery{grid-template-columns:1fr;grid-template-rows:440px 270px 270px}.photo-open.tall{grid-row:auto}.service-card,.contact-card{padding:25px}.contact-direct>a:first-child{font-size:26px}.estimate{padding:25px}.section-heading h2{font-size:32px}footer{align-items:flex-start;flex-direction:column}.contact{gap:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Services, scope-based prices and real project gallery. */
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;font-size:14px;font-weight:700}.carousel-controls>div{display:flex;gap:10px}.carousel-controls button{width:44px;height:44px;border:1px solid var(--ink);background:transparent;border-radius:50%;cursor:pointer;font-size:20px}.carousel-controls button:hover{background:var(--ink);color:white}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 4px 18px;overscroll-behavior-x:contain}.visual-card{flex:0 0 calc((100% - 44px)/3);padding:0;scroll-snap-align:start;min-width:0}.visual-card>img{width:100%;aspect-ratio:3/2;object-fit:cover;height:auto}.service-body{padding:26px;display:flex;flex-direction:column;flex:1}.service-body h3{font-size:24px}.service-body p{font-size:16px}.service-body .service-rate{font-weight:700;color:var(--ink);margin-top:auto}.service-body .text-link{margin-top:0}.service-contact{font-size:14px;margin-top:14px;text-decoration:underline;text-underline-offset:4px}.all-prices{margin-top:25px}.work-carousel .photo-open{flex:0 0 31%;height:450px;scroll-snap-align:start}.work-carousel .photo-open img{object-fit:contain;background:#222625}.pricing-baseline{display:grid;grid-template-columns:1fr 1fr 1.5fr;background:var(--ink);color:white;padding:28px;gap:30px}.pricing-baseline strong{display:block;font-size:24px;line-height:1.3;margin-bottom:8px}.pricing-baseline span{font-size:14px;color:#ddd}.pricing-note{font-size:14px;color:var(--muted);margin:20px 0 28px}.price-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.price-nav a{font-size:14px;padding:8px 13px;border:1px solid #babcb8;border-radius:3px}.price-nav a:hover{background:var(--ink);color:white}.price-category{border-top:1px solid #bcbeb9;scroll-margin-top:25px}.price-category:last-of-type{border-bottom:1px solid #bcbeb9;margin-bottom:30px}.price-category summary{cursor:pointer;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:23px 0;list-style:none}.price-category summary::-webkit-details-marker{display:none}.price-category summary h3{margin:0;font-size:24px}.price-category summary>span{font-size:28px;color:var(--red);transition:transform .2s}.price-category[open] summary>span{transform:rotate(45deg)}.price-category table{border-collapse:collapse;width:100%;table-layout:fixed;margin:0 0 28px;font-size:15px;text-align:left}.price-category caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.price-category th,.price-category td{padding:18px 16px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.price-category thead{background:#eae7df;font-size:13px}.price-category thead th:nth-child(1){width:26%}.price-category thead th:nth-child(2){width:23%}.price-category tbody th{font-weight:600}.price-category .price-value{color:#9c2023;font-weight:700}.price-category td:last-child{color:#51565a}.eyebrow{font-size:12px}.brand small{font-size:10px}.locations{font-size:14px}.mascot p{font-size:12px}.topline{font-size:12px}.form-note,.form-status{font-size:14px}footer p,footer>span{font-size:14px}@media(max-width:1000px){.visual-card{flex-basis:calc((100% - 22px)/2)}.work-carousel .photo-open{flex-basis:45%;height:400px}}@media(max-width:650px){.visual-card{flex-basis:87%}.work-carousel .photo-open{flex-basis:85%;height:440px}.pricing-baseline{grid-template-columns:1fr;gap:22px}.price-category table{table-layout:auto}.price-category thead{display:none}.price-category tbody,.price-category tr,.price-category th,.price-category td{display:block}.price-category tr{border-bottom:1px solid var(--line);padding:16px 0}.price-category th,.price-category td{border:0;padding:3px 0}.price-category .price-value{font-size:18px;padding:5px 0 10px}.price-nav{gap:8px}.price-nav a{font-size:14px}.price-category summary h3{font-size:22px}.service-body{padding:22px}.topline{font-size:11px}.brand{font-size:29px}.brand small{letter-spacing:1.5px}.contact-direct a{max-width:100%}}

/* Dedicated roofing direction and prominent home-page entry. */
.desktop-nav{align-items:center;gap:20px}.roof-nav{background:var(--red);color:white!important;border-radius:3px;padding:8px 13px;font-weight:800}.roof-nav:hover{background:#9d1d23}.mobile-nav .roof-nav{margin-bottom:6px}.roof-feature{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:#bc2528;color:white;align-items:center}.roof-feature .eyebrow{color:#ffe2df}.roof-feature h2{font-size:clamp(40px,4.5vw,68px)}.roof-feature-copy>p:not(.eyebrow){max-width:550px}.roof-button{background:var(--paper);color:var(--ink)}.roof-button:hover{background:#eae7df}.roof-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;font-size:12px}.roof-tags span{border:1px solid #ffffff70;padding:5px 10px}.roof-feature-image{position:relative;display:block}.roof-feature-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.roof-feature-image>span{display:block;background:var(--ink);color:white;padding:16px 20px;font-weight:800;letter-spacing:.1em;font-size:12px}.roof-hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center}.roof-hero h1{font-size:clamp(48px,5.4vw,80px)}.roof-hero h1 span{color:#ef4e48}.roof-back{display:inline-block;color:#ddd;font-size:13px;margin-bottom:30px;text-decoration:underline;text-underline-offset:4px}.roof-hero .eyebrow{color:#fa7770}.roof-hero-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.roof-image-note{border-top:4px solid var(--red);padding:20px 0;font-size:12px;letter-spacing:.12em;color:#ddd}.roof-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.roof-service-grid article{background:white;padding:32px;border-top:4px solid var(--red)}.roof-service-grid .number{display:block}.roof-service-grid p{color:var(--muted)}.roof-care-band{display:grid;grid-template-columns:1fr 1fr;background:#eae7df}.roof-care-band>img{width:100%;height:100%;object-fit:cover;min-height:360px}.roof-care-band>div{padding:55px 10%}.roof-care-band p{max-width:520px}@media(max-width:1100px){.desktop-nav{gap:13px;font-size:13px}}@media(max-width:800px){.roof-feature,.roof-hero,.roof-care-band{grid-template-columns:1fr;gap:30px}.roof-hero-image img{aspect-ratio:3/2}.roof-service-grid{grid-template-columns:1fr}.roof-care-band{gap:0}.roof-care-band>img{min-height:0;height:auto;aspect-ratio:3/2}.roof-care-band>div{padding:40px 5vw}.roof-service-grid article{padding:25px}.roof-feature-image{max-width:650px}.roof-hero h1{font-size:clamp(46px,9vw,72px)}}
