:root{--red:#ed1c24;--black:#111;--ink:#1d1d1d;--muted:#626262;--line:#d8d8d8;--warm:#f1f0ec;--white:#fff;--display:'Oswald',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}img,video{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#fff;padding:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid #eee;background:#fff;position:relative;z-index:50}.brand{width:126px;height:78px;display:flex;align-items:center;overflow:hidden}.brand img{width:100%;height:auto}.site-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,38px)}.site-nav>a{text-decoration:none;font-weight:600;font-size:.93rem}.site-nav>a:not(.button):hover{color:var(--red)}.nav-phone{border-left:1px solid var(--line);padding-left:clamp(18px,2.3vw,38px)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;font-family:var(--display);font-weight:600;letter-spacing:.045em;border:2px solid var(--red);border-radius:0;cursor:pointer;transition:.2s ease}.button:hover{background:#c90f16;border-color:#c90f16;transform:translateY(-2px)}.button-small{min-height:44px;padding:0 20px}.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:#111;margin:5px}.hero{min-height:720px;display:grid;grid-template-columns:minmax(400px,46%) 1fr;background:var(--black);color:#fff}.hero-copy{padding:clamp(70px,9vw,135px) clamp(32px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 22px;text-transform:uppercase;font-size:.78rem;line-height:1.2;font-weight:700;letter-spacing:.18em;color:var(--red)}.hero h1,.section h2,.work-section h2,.why-section h2,.contact-section h2,.thank-you-page h1{margin:0;font-family:var(--display);font-size:clamp(4rem,7vw,7rem);font-weight:600;line-height:.9;text-transform:uppercase;letter-spacing:-.035em}.hero-intro{max-width:570px;margin:32px 0 0;font-size:clamp(1.05rem,1.3vw,1.3rem);color:#d2d2d2}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:42px}.text-link{color:#fff;text-decoration:none;font-weight:700}.text-link:hover{color:var(--red)}.hero-points{display:flex;flex-wrap:wrap;gap:12px 28px;margin:48px 0 0;padding:24px 0 0;border-top:1px solid #383838;list-style:none;font-size:.84rem;color:#bbb}.hero-points li:before{content:'✓';color:var(--red);margin-right:8px;font-weight:700}.hero-media{min-height:620px;position:relative;overflow:hidden}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.24),transparent 30%),linear-gradient(0deg,rgba(0,0,0,.46),transparent 35%);pointer-events:none}.hero-media video{width:100%;height:100%;object-fit:cover}.hero-media-label{position:absolute;z-index:2;left:36px;bottom:32px;text-transform:uppercase;font-size:.76rem;letter-spacing:.13em;font-weight:700}.hero-media-label span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:var(--red);margin-right:10px}.trust-strip{padding:22px clamp(24px,5vw,80px);display:flex;align-items:center;gap:42px;background:var(--red);color:#fff}.trust-strip p{margin:0;text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;font-weight:700;white-space:nowrap}.trust-strip div{display:flex;justify-content:space-between;gap:30px;flex:1;font-family:var(--display);text-transform:uppercase;font-size:1.1rem}.section{padding:clamp(80px,10vw,150px) clamp(24px,5vw,80px)}.section-heading{display:grid;grid-template-columns:1fr 2.1fr 1fr;gap:40px;align-items:end;margin-bottom:65px}.section h2,.work-section h2,.why-section h2,.contact-section h2{font-size:clamp(3rem,5.5vw,6rem)}.section-heading>p:last-child{color:var(--muted);margin:0 0 6px;max-width:360px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-card{min-height:590px;padding:42px;display:flex;flex-direction:column}.service-card-dark{background:#171717;color:#fff}.service-card-red{background:var(--red);color:#fff}.service-card-light{background:var(--warm);color:var(--ink)}.card-number{font-family:var(--display);font-size:.9rem;opacity:.68;margin-bottom:65px}.service-card h3{margin:0 0 20px;font-family:var(--display);font-size:clamp(2rem,2.8vw,3.2rem);line-height:1;text-transform:uppercase}.service-card p{margin:0 0 27px;opacity:.78}.service-card ul{list-style:none;padding:0;margin:0 0 30px}.service-card li{border-top:1px solid currentColor;padding:10px 0;font-size:.91rem}.service-card li:last-child{border-bottom:1px solid currentColor}.service-card a{margin-top:auto;text-transform:uppercase;font-family:var(--display);font-weight:600;letter-spacing:.06em;text-decoration:none}.service-card a span{float:right}.work-section{padding:clamp(80px,10vw,150px) clamp(24px,5vw,80px);background:#171717;color:#fff;display:grid;grid-template-columns:35% 1fr;gap:clamp(50px,8vw,130px);align-items:center}.work-copy>p:not(.eyebrow){color:#aaa;max-width:470px;margin:30px 0}.work-stat{border-top:1px solid #3b3b3b;border-bottom:1px solid #3b3b3b;padding:22px 0;margin:35px 0;display:flex;gap:20px;align-items:center}.work-stat strong{font-family:var(--display);font-size:2rem;text-transform:uppercase;color:var(--red)}.work-stat span{font-size:.88rem;color:#bbb;line-height:1.4}.button-outline{background:transparent;border-color:#fff}.button-outline:hover{background:#fff;color:#111;border-color:#fff}.work-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.work-gallery figure{margin:0;position:relative;overflow:hidden}.work-gallery .work-main{grid-column:1/-1}.work-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .6s ease}.work-gallery figure:not(.work-main) img{aspect-ratio:4/3}.work-gallery figure:hover img{transform:scale(1.025)}.work-gallery figcaption{position:absolute;left:0;bottom:0;padding:16px 20px;background:#fff;color:#111;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.08em}.why-section{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.why-image{background:url('roof-progress.jpg') center/cover no-repeat;min-height:580px}.why-copy{padding:clamp(70px,8vw,125px);background:var(--warm)}.why-list{margin-top:55px}.why-list>div{display:grid;grid-template-columns:44px 1fr;column-gap:16px;border-top:1px solid #c8c7c2;padding:20px 0}.why-list>div:last-child{border-bottom:1px solid #c8c7c2}.why-list span{grid-row:1/3;color:var(--red);font-family:var(--display)}.why-list h3,.why-list p{margin:0}.why-list h3{text-transform:uppercase;font-family:var(--display);font-size:1.35rem}.why-list p{color:var(--muted);font-size:.9rem}.reviews{background:#fff}.reviews-heading{grid-template-columns:1fr 3.1fr}.review-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.review-grid blockquote{margin:0;padding:42px;background:var(--warm);display:flex;flex-direction:column;justify-content:space-between;min-height:290px}.review-grid .review-featured{grid-row:span 2;min-height:594px;background:var(--red);color:#fff;padding:clamp(42px,6vw,85px)}.review-grid p{font-family:var(--display);font-size:clamp(1.45rem,2.3vw,2.7rem);line-height:1.22;text-transform:uppercase;margin:30px 0}.review-featured p{font-size:clamp(2rem,3vw,3.5rem)}.stars{letter-spacing:.15em;font-size:.85rem}.review-grid footer{font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.review-grid footer span{display:block;font-weight:400;opacity:.7}.contact-section{display:grid;grid-template-columns:1fr 1.1fr;background:#171717;color:#fff}.contact-intro{padding:clamp(70px,8vw,125px) clamp(24px,6vw,100px)}.contact-intro>p:not(.eyebrow){color:#aaa;max-width:520px;margin:30px 0}.contact-details{margin-top:55px;border-top:1px solid #3c3c3c}.contact-details a{display:block;padding:18px 0;border-bottom:1px solid #3c3c3c;text-decoration:none;font-family:var(--display);font-size:1.5rem}.contact-details a:hover{color:var(--red)}.contact-details span{display:inline-block;width:85px;color:#888;font-family:var(--body);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.contact-form{padding:clamp(70px,8vw,125px) clamp(24px,6vw,100px);background:var(--red);display:flex;flex-direction:column;gap:25px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;border-radius:0;padding:12px 0;outline:none;text-transform:none;letter-spacing:normal;font-weight:400;font-size:1rem}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#fff;box-shadow:0 2px 0 #fff}.contact-form select option{color:#111}.contact-form textarea::placeholder{color:rgba(255,255,255,.65)}.form-button{background:#111;border-color:#111;justify-content:space-between;width:100%;margin-top:8px}.form-button:hover{background:#fff;color:#111;border-color:#fff}.form-note{font-size:.72rem;margin:0;color:rgba(255,255,255,.72)}.site-footer{padding:70px clamp(24px,5vw,80px) 30px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;background:#fff}.footer-brand img{width:120px}.footer-brand p{margin:8px 0 0;font-family:var(--display);text-transform:uppercase}.site-footer>div:nth-child(2) p{margin:0;color:var(--muted)}.site-footer>div:nth-child(3) a{display:block;text-decoration:none;font-weight:700}.site-footer>div:nth-child(3) a:hover{color:var(--red)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:28px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.footer-bottom p{margin:0}.footer-bottom a{text-decoration:none}.mobile-call{display:none}.thank-you-page{min-height:100vh;background:#111;color:#fff;display:grid;place-items:center;text-align:center}.thank-you-page main{padding:40px}.thank-you-page img{width:180px;margin:0 auto 50px;background:#fff}.thank-you-page p:not(.eyebrow){color:#bbb;margin:25px 0 35px}
@media(max-width:1050px){.site-nav{gap:17px}.nav-phone{display:none}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-left:35px;padding-right:35px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.service-card{padding:30px}.work-section{grid-template-columns:1fr}.work-copy{max-width:700px}.why-copy{padding:60px 45px}}
@media(max-width:780px){body{padding-bottom:58px}.site-header{height:82px;padding:0 20px;position:sticky;top:0}.brand{width:98px;height:64px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;padding:24px;box-shadow:0 12px 25px rgba(0,0,0,.12);flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.site-nav .nav-phone{display:block;border:0;padding:0}.site-nav .button{width:100%}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:70px 24px 55px}.hero h1{font-size:clamp(3.65rem,17vw,5.5rem)}.hero-media{min-height:420px}.hero-actions{align-items:stretch;flex-direction:column;gap:18px}.hero-actions .button{width:100%}.hero-points{display:grid}.trust-strip{display:block;overflow:hidden;padding:20px 24px}.trust-strip p{margin-bottom:12px}.trust-strip div{justify-content:flex-start;overflow:auto;font-size:.95rem}.section{padding:80px 24px}.section-heading{display:block;margin-bottom:40px}.section-heading>p:last-child{margin-top:22px}.section h2,.work-section h2,.why-section h2,.contact-section h2{font-size:clamp(2.9rem,14vw,4.6rem)}.service-grid{grid-template-columns:1fr}.service-card{min-height:540px;padding:32px}.work-section{padding:80px 24px}.work-gallery{grid-template-columns:1fr}.work-gallery .work-main{grid-column:auto}.work-gallery figure img,.work-gallery figure:not(.work-main) img{aspect-ratio:4/3}.why-section{grid-template-columns:1fr}.why-image{min-height:450px}.why-copy{padding:70px 24px}.reviews-heading{display:block}.review-grid{grid-template-columns:1fr}.review-grid .review-featured{grid-row:auto;min-height:480px}.contact-section{grid-template-columns:1fr}.contact-intro,.contact-form{padding:70px 24px}.field-row{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;padding:60px 24px 30px}.footer-bottom{display:block}.footer-bottom a{display:inline-block;margin-top:12px}.mobile-call{position:fixed;z-index:100;bottom:0;left:0;right:0;height:58px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;text-decoration:none;text-transform:uppercase;font-family:var(--display);letter-spacing:.05em}.mobile-call span{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.work-gallery img{transition:none}.hero-media video{display:none}.hero-media{background:url('roof-hero-poster.jpg') center/cover no-repeat}}
.stove-showcase{padding:clamp(80px,10vw,150px) clamp(24px,5vw,80px);display:grid;grid-template-columns:34% 1fr;gap:clamp(50px,8vw,130px);align-items:center;background:#fff}.stove-showcase h2{margin:0;font-family:var(--display);font-size:clamp(3rem,5.5vw,6rem);font-weight:600;line-height:.9;text-transform:uppercase;letter-spacing:-.035em}.stove-showcase-copy>p:not(.eyebrow){color:var(--muted);max-width:470px;margin:30px 0}.hetas-mark{display:flex;align-items:center;gap:18px;padding:20px 0;margin:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hetas-mark strong{font-family:var(--display);font-size:1.7rem;letter-spacing:.04em;color:var(--red)}.hetas-mark span{font-size:.88rem;color:var(--muted);line-height:1.35}.stove-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stove-gallery figure{margin:0;position:relative;overflow:hidden;background:var(--warm)}.stove-gallery-main{grid-row:span 2}.stove-gallery img{width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .6s ease}.stove-gallery-main img{min-height:614px}.stove-gallery figure:hover img{transform:scale(1.025)}.stove-gallery figcaption{position:absolute;left:0;bottom:0;padding:14px 18px;background:#171717;color:#fff;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.08em}
@media(max-width:1050px){.stove-showcase{grid-template-columns:1fr}.stove-showcase-copy{max-width:700px}}
@media(max-width:780px){.stove-showcase{padding:80px 24px;grid-template-columns:1fr}.stove-showcase h2{font-size:clamp(2.9rem,14vw,4.6rem)}.stove-gallery{grid-template-columns:1fr}.stove-gallery-main{grid-row:auto}.stove-gallery img,.stove-gallery-main img{min-height:0;aspect-ratio:4/3}.hetas-mark{align-items:flex-start}}
