@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Work+Sans:wght@400;600;700;800;900&display=swap";:root{--ink:#f8fafc;--paper:#f4f2ec;--paper-2:#e8e3d8;--charcoal:#0c1114;--charcoal-2:#151c20;--steel:#8f9aa0;--muted:#5b666d;--line:#ffffff24;--line-dark:#0c11141f;--orange:#e86122;--orange-dark:#c64913;--radius:8px;--radius-sm:5px;--shadow-soft:0 26px 80px #0000003d;--max:1220px;color:var(--ink);background:var(--charcoal)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--charcoal)}body{min-width:320px;color:var(--ink);background:var(--charcoal);margin:0;font-family:Work Sans,Satoshi,Avenir Next,system-ui,sans-serif}img{max-width:100%;display:block}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{background:radial-gradient(circle at 12% 2%,#e8612224,#0000 24rem),linear-gradient(#101619 0%,#0a0d0f 42rem,#11181c 100%);overflow:clip}.section-shell{width:min(var(--max), calc(100% - 40px));margin:0 auto}.section{padding:112px 0}.light-section{color:var(--charcoal);background:var(--paper)}.section-heading{max-width:760px;margin-bottom:42px}.section-heading.compact{max-width:560px;margin-bottom:0}.section-kicker{color:var(--orange);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}h1{text-transform:uppercase;max-width:740px;margin-bottom:24px;font-family:Bebas Neue,Oswald,Impact,sans-serif;font-size:clamp(4rem,9vw,7.8rem);font-weight:400;line-height:.88}h2{margin-bottom:18px;font-size:clamp(2.25rem,4.5vw,4.6rem);font-weight:800;line-height:.95}h3{margin-bottom:10px;font-size:1.18rem;line-height:1.2}p{color:inherit;line-height:1.65}.button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 22px;font-size:.92rem;font-weight:800;text-decoration:none;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button svg{width:18px;height:18px}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.primary{color:#fff;background:var(--orange);border-color:var(--orange)}.button.primary:hover{background:var(--orange-dark);border-color:var(--orange-dark)}.button.ghost{color:var(--ink);border-color:var(--line);background:#ffffff14}.button.wide{width:100%}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070a0cc7;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto minmax(190px,1fr);align-items:center;gap:22px;width:min(1360px,100% - 32px);min-height:82px;margin:14px auto 0;padding:12px 16px;display:grid;position:fixed;top:0;left:0;right:0;box-shadow:0 18px 70px #0000003d}.brand{min-width:0;color:var(--ink);align-items:center;gap:12px;font-weight:800;text-decoration:none;display:flex}.brand img{object-fit:contain;width:112px;height:58px}.brand span{display:none}.nav-links{justify-content:center;align-items:center;gap:28px;display:flex}.nav-links a,.header-call{color:#f8fafcd6;font-size:.86rem;font-weight:700;text-decoration:none}.nav-links a:hover,.header-call:hover{color:var(--orange)}.header-call{border-radius:var(--radius-sm);border:1px solid #e86122cc;justify-self:end;align-items:center;gap:9px;padding:13px 15px;display:inline-flex}.header-call svg,.menu-button svg{width:18px;height:18px}.menu-button{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:0 0;display:none}.hero-section{isolation:isolate;background:#06090b;align-items:end;min-height:100dvh;padding:132px 0 0;display:flex;position:relative}.hero-image-rotator,.hero-overlay{position:absolute;inset:0}.hero-image-rotator{z-index:-3;background:#06090b;overflow:hidden}.hero-image{object-fit:cover;opacity:0;width:100%;height:100%;animation:40s ease-in-out infinite heroImageFade;animation-delay:calc(var(--hero-image-index) * 10s);will-change:opacity, transform;position:absolute;inset:0;transform:scale(1.02)}.hero-image:first-child{opacity:1}.hero-overlay{z-index:-2;background:linear-gradient(90deg,#06090bf2 0%,#06090bb8 46%,#06090b33 100%),linear-gradient(#06090bd1 0%,#06090b29 45%,#06090bfa 100%)}@keyframes heroImageFade{0%,20%{opacity:1;transform:scale(1)}25%,95%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.hero-content{grid-template-rows:1fr auto;gap:80px;min-height:calc(100dvh - 132px);padding:88px 0 0;display:grid}.hero-copy{align-self:center;max-width:760px}.hero-copy p{color:#f8fafcd1;max-width:560px;margin-bottom:32px;font-size:clamp(1.02rem,1.7vw,1.22rem)}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-proof{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080d0fc7;grid-template-columns:repeat(3,1fr);display:grid}.hero-proof article{border-right:1px solid var(--line);align-items:center;gap:18px;min-height:118px;padding:26px 30px;display:flex}.hero-proof article:last-child{border-right:none}.hero-proof svg{width:34px;height:34px;color:var(--orange)}.hero-proof strong,.hero-proof span{display:block}.hero-proof strong{margin-bottom:4px;font-size:1rem}.hero-proof span{color:#f8fafcad;font-size:.84rem;line-height:1.45}.service-grid{grid-template-columns:1.1fr .95fr .95fr;gap:18px;display:grid}.service-card{border:1px solid var(--line-dark);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 22px 70px #0c111414}.service-card img{object-fit:cover;width:100%;height:235px}.service-body{padding:28px}.service-title-row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.service-title-row svg{width:26px;height:26px;color:var(--orange)}.service-body p,.section-heading p,.gallery-heading>p,.faq-layout p{color:var(--muted)}.service-body ul{color:#263139;gap:10px;margin:22px 0 24px;padding:0;list-style:none;display:grid}.service-body li{padding-left:20px;font-size:.92rem;line-height:1.5;position:relative}.service-body li:before{content:"";background:var(--orange);border-radius:999px;width:7px;height:7px;position:absolute;top:.7em;left:0}.service-body a{color:var(--charcoal);align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.service-body a svg{width:17px;height:17px}.services-process-cta{border-radius:var(--radius);color:var(--charcoal);background:linear-gradient(110deg,#fffffff0,#ffffffbd),url(/assets/roofproof/hero-metal-roof.jpg) 50%/cover;border:1px solid #0c111424;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-top:22px;padding:22px 24px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 22px 70px #0c111417}.services-process-cta:hover{border-color:#e8612275;transform:translateY(-2px);box-shadow:0 28px 90px #0c111421}.services-process-cta>svg{width:30px;height:30px;color:var(--orange)}.services-process-cta span{gap:5px;display:grid}.services-process-cta strong{font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.05}.services-process-cta small{color:var(--muted);font-size:.92rem;line-height:1.45}.process-section{color:var(--ink);background:linear-gradient(#0f1619f0,#0f1619f5),url(/assets/roofproof/roofer-installing-metal-roof.jpg) 50%/cover}.process-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:56px;display:grid}.process-list{gap:14px;display:grid}.process-step{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0e;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:24px;display:grid}.process-step>span{color:#fff;background:var(--orange);border-radius:999px;place-items:center;width:48px;height:48px;font-weight:900;display:inline-grid}.process-step p{color:#f8fafcb3;margin:0}.process-step svg{width:25px;height:25px;color:var(--orange)}.proof-section{background:var(--charcoal)}.proof-layout{grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);align-items:center;gap:54px;display:grid}.proof-media{border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}.proof-media img{object-fit:cover;width:100%;height:720px}.proof-content .section-heading p{color:#f8fafcb8}.proof-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:38px 0;display:grid;overflow:hidden}.proof-grid article{background:#11181c;gap:12px;min-height:190px;padding:26px;display:grid}.proof-grid svg{width:30px;height:30px;color:var(--orange)}.proof-grid strong{text-transform:uppercase;font-size:1.55rem}.proof-grid span{color:#f8fafca8;font-size:.9rem;line-height:1.45}.difference-list{gap:18px;display:grid}.difference-list article{border-top:1px solid var(--line);align-items:start;gap:16px;padding-top:18px;display:flex}.difference-list svg{width:24px;height:24px;color:var(--orange);flex:none}.difference-list p{color:#f8fafcad;margin:0}.gallery-section{color:var(--charcoal);background:var(--paper-2)}.gallery-heading{grid-template-columns:1fr minmax(260px,420px);align-items:end;gap:40px;margin-bottom:36px;display:grid}.gallery-grid{grid-template-columns:1.25fr .8fr .95fr;grid-auto-rows:230px;gap:14px;display:grid}.gallery-grid.full-gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:270px}.gallery-grid figure{border-radius:var(--radius);background:#111;margin:0;overflow:hidden}.gallery-image-button{width:100%;height:100%;color:var(--ink);cursor:zoom-in;background:#111;border:0;padding:0;position:relative;overflow:hidden}.gallery-grid img,.gallery-image-button img{object-fit:cover;width:100%;height:100%;transition:transform .42s}.gallery-image-button:hover img,.gallery-image-button:focus-visible img{transform:scale(1.045)}.gallery-image-button:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}.gallery-expand-icon{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a0cb8;border:1px solid #ffffff47;place-items:center;width:42px;height:42px;display:inline-grid;position:absolute;bottom:14px;right:14px;box-shadow:0 14px 40px #00000047}.gallery-expand-icon svg{width:19px;height:19px}.gallery-grid .feature-image{grid-row:span 2}.gallery-footer{justify-content:flex-end;margin-top:18px;display:flex}.gallery-full-link{border-radius:var(--radius-sm);min-height:48px;color:var(--charcoal);background:#ffffff7a;border:1px solid #0c11142e;align-items:center;gap:9px;padding:0 18px;font-size:.9rem;font-weight:850;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.gallery-full-link:hover{background:#ffffffbd;border-color:#e861228c;transform:translateY(-2px)}.gallery-full-link svg{width:17px;height:17px;color:var(--orange-dark)}.gallery-lightbox{z-index:100;color:var(--ink);place-items:center;padding:28px;display:grid;position:fixed;inset:0}.gallery-lightbox-backdrop{cursor:zoom-out;background:#030506db;position:absolute;inset:0}.gallery-lightbox-panel{z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:#0c1114f5;width:min(1120px,100%);max-height:min(86vh,820px);padding:12px;display:grid;position:relative;box-shadow:0 32px 110px #0000007a}.gallery-lightbox-panel img{object-fit:contain;border-radius:calc(var(--radius) - 2px);background:#050708;justify-self:center;width:auto;max-width:100%;height:auto;max-height:min(70vh,680px)}.gallery-lightbox-panel p{color:#f8fafcb8;margin:12px 54px 2px 2px;font-size:.92rem}.gallery-lightbox-close,.gallery-lightbox-nav{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070a0cb8;border:1px solid #ffffff2e;place-items:center;display:inline-grid;position:absolute}.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{color:#fff;background:var(--orange)}.gallery-lightbox-close svg,.gallery-lightbox-nav svg{width:21px;height:21px}.gallery-lightbox-close{top:22px;right:22px}.gallery-lightbox-nav{top:50%;transform:translateY(-50%)}.gallery-lightbox-nav.previous{left:22px}.gallery-lightbox-nav.next{right:22px}.gallery-page{color:var(--charcoal);background:var(--paper-2)}.gallery-page-hero{isolation:isolate;min-height:74dvh;color:var(--ink);background:linear-gradient(90deg,#06090bfa 0%,#06090bc2 54%,#06090b57 100%),linear-gradient(#06090bc7 0%,#06090b38 38%,#06090bfa 100%),url(/assets/roofproof/gallery-drone-01.jpg) 50%/cover;align-items:end;padding:132px 0 78px;display:flex;position:relative;overflow:hidden}.gallery-page-hero-layout{gap:48px;display:grid}.gallery-page-hero h1{max-width:760px}.gallery-page-hero p:not(.section-kicker){color:#f8fafcc2;max-width:650px;font-size:1.08rem}.full-gallery-section{background:radial-gradient(circle at 86% 4%, #e861221f, transparent 26rem), linear-gradient(180deg, var(--paper-2) 0%, var(--paper) 100%)}.faq-layout{grid-template-columns:.8fr 1.2fr;gap:62px;display:grid}.faq-list{gap:12px;display:grid}.faq-list details{border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:#ffffffb3}.faq-list summary{cursor:pointer;color:var(--charcoal);padding:22px 24px;font-weight:850;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";float:right;color:var(--orange);font-size:1.25rem}.faq-list details[open] summary:after{content:"-"}.faq-list details p{margin:0;padding:0 24px 24px}.estimate-section{color:var(--ink);background:linear-gradient(115deg,#090d0ff5 0%,#0f1619f0 52%,#e861222e 100%),url(/assets/roofproof/hero-metal-roof.jpg) 50%/cover}.estimate-layout{grid-template-columns:minmax(0,.9fr) minmax(360px,.74fr);align-items:start;gap:58px;display:grid}.estimate-copy h2{max-width:680px}.estimate-copy>p{color:#f8fafcb8;max-width:620px}.contact-cards{gap:10px;max-width:620px;margin:34px 0 28px;display:grid}.contact-cards a{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:72px;color:var(--ink);background:#ffffff0f;grid-template-columns:auto 72px 1fr;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;display:grid}.contact-cards svg{width:23px;height:23px;color:var(--orange)}.contact-cards span{color:#f8fafc9e;text-transform:uppercase;font-size:.8rem;font-weight:800}.contact-cards strong{text-align:right;justify-self:end;font-size:.94rem}.estimate-note{color:#f8fafcc7;align-items:center;gap:12px;display:inline-flex}.estimate-note svg{color:var(--orange)}.estimate-form{border:1px solid var(--line);border-radius:var(--radius);color:var(--charcoal);box-shadow:var(--shadow-soft);background:#f4f2ecf5;gap:18px;padding:28px;display:grid}.form-row{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.field{gap:8px;display:grid}.field>span:first-child{color:#20282d;font-size:.82rem;font-weight:850}.field input,.field textarea{border-radius:var(--radius-sm);width:100%;color:var(--charcoal);background:#fff;border:1px solid #0c111429;outline:none;transition:border-color .18s,box-shadow .18s}.field input{height:48px;padding:0 14px}.field textarea{resize:vertical;min-height:132px;padding:14px}.field input:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px #e8612229}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#b42318}.field-error{color:#b42318;font-size:.78rem;font-weight:750}.form-footnote{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.site-footer{color:var(--ink);background:#070a0c}.footer-layout{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr 1fr;gap:38px;padding:54px 0 38px;display:grid}.site-footer h2{margin-bottom:12px;font-size:1.55rem;line-height:1.1}.site-footer p{color:#f8fafc9e;margin:0 0 8px;font-size:.9rem}.site-footer nav,.footer-actions{gap:10px;display:grid}.site-footer a{color:#f8fafcc7;text-decoration:none}.site-footer a:hover{color:var(--orange)}.footer-actions a{justify-self:end;align-items:center;gap:8px;display:inline-flex}.footer-actions svg{width:16px;height:16px}.footer-legal{color:#f8fafc85;padding:20px 0 34px;font-size:.78rem;line-height:1.5}.subpage{background:var(--charcoal)}.legal-page{color:var(--charcoal)}.legal-hero{isolation:isolate;min-height:76dvh;color:var(--ink);background:#06090b;align-items:end;padding:132px 0 72px;display:flex;position:relative;overflow:hidden}.legal-hero img,.legal-hero-overlay{position:absolute;inset:0}.legal-hero img{z-index:-3;object-fit:cover;width:100%;height:100%}.legal-hero-overlay{z-index:-2;background:linear-gradient(90deg,#06090bfa 0%,#06090bc7 52%,#06090b47 100%),linear-gradient(#06090bd6 0%,#06090b3d 42%,#06090bfa 100%)}.legal-hero-layout{gap:46px;display:grid}.legal-hero-copy{max-width:850px}.legal-hero-copy h1{max-width:800px}.legal-hero-copy p:not(.section-kicker){color:#f8fafcc2;max-width:660px;font-size:1.08rem}.legal-summary{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080d0fb8;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.legal-summary article{border-right:1px solid var(--line);gap:9px;min-height:148px;padding:24px;display:grid}.legal-summary article:last-child{border-right:none}.legal-summary svg{width:30px;height:30px;color:var(--orange)}.legal-summary span{color:#f8fafc94;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:850}.legal-summary strong{max-width:300px;font-size:1rem;line-height:1.35}.legal-content-section{color:var(--charcoal);background:radial-gradient(circle at 84% 5%, #e861221f, transparent 24rem), linear-gradient(180deg, var(--paper) 0%, #fffaf0 100%)}.legal-content-layout{grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);align-items:start;gap:54px;display:grid}.legal-aside{border-left:3px solid var(--orange);gap:8px;padding:22px 0 22px 18px;display:grid;position:sticky;top:128px}.legal-aside svg{width:30px;height:30px;color:var(--orange);margin-bottom:8px}.legal-aside p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:850}.legal-aside strong{font-size:1.35rem;line-height:1.15}.legal-aside a{width:fit-content;color:var(--orange-dark);font-size:.92rem;font-weight:800;text-decoration:none}.legal-aside a:hover{color:var(--charcoal)}.legal-document{gap:64px;display:grid}.legal-block{gap:30px;display:grid}.legal-heading{max-width:760px}.legal-heading h2,.legal-contact h2{max-width:760px;color:var(--charcoal);font-size:clamp(2rem,4vw,3.65rem)}.legal-heading p:not(.section-kicker),.legal-contact p:not(.section-kicker){max-width:720px;color:var(--muted)}.legal-list{border-radius:var(--radius);background:#0c11141f;border:1px solid #0c11141f;gap:1px;display:grid;overflow:hidden;box-shadow:0 26px 90px #0c111414}.legal-list article{background:#ffffffd6;gap:10px;padding:28px;display:grid}.legal-list h3{color:var(--charcoal);margin-bottom:4px;font-size:1.08rem;font-weight:900}.legal-list p{color:var(--muted);margin:0;font-size:.96rem}.legal-contact{border-radius:var(--radius);color:var(--ink);background:linear-gradient(115deg,#0c1114eb,#0c1114c7),url(/assets/roofproof/hero-metal-roof.jpg) 50%/cover;border:1px solid #0c11141f;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;padding:34px;display:grid;box-shadow:0 28px 90px #0c111429}.legal-contact h2{color:var(--ink)}.legal-contact p:not(.section-kicker){color:#f8fafcb3}.legal-contact-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.legal-phone{color:var(--ink);border-color:var(--line);background:#ffffff14}.installation-hero{isolation:isolate;align-items:end;min-height:82dvh;padding:132px 0 86px;display:flex;position:relative;overflow:hidden}.installation-hero img,.installation-overlay{position:absolute;inset:0}.installation-hero img{z-index:-3;object-fit:cover;width:100%;height:100%}.installation-overlay{z-index:-2;background:linear-gradient(90deg,#06090bfa 0%,#06090bc7 52%,#06090b52 100%),linear-gradient(#06090bc7 0%,#06090b38 36%,#06090bf2 100%)}.installation-hero-content{gap:54px;display:grid}.installation-hero-content h1{max-width:860px}.installation-hero-content p:not(.section-kicker){color:#f8fafcc2;max-width:660px;margin-bottom:30px;font-size:1.08rem}.back-link{color:#f8fafcc7;justify-self:start;align-items:center;gap:9px;font-size:.9rem;font-weight:800;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--orange)}.back-link svg{width:18px;height:18px}.products-page{color:var(--charcoal)}.products-hero{isolation:isolate;min-height:74dvh;color:var(--ink);background:#06090b;align-items:end;padding:132px 0 76px;display:flex;position:relative;overflow:hidden}.products-hero img,.products-hero-overlay{position:absolute;inset:0}.products-hero img{z-index:-3;object-fit:cover;width:100%;height:100%}.products-hero-overlay{z-index:-2;background:linear-gradient(90deg,#06090bfa 0%,#06090bc2 52%,#06090b3d 100%),linear-gradient(#06090bc7 0%,#06090b38 38%,#06090bf5 100%)}.products-hero-content{gap:52px;display:grid}.products-hero-content h1{max-width:970px}.products-hero-content p:not(.section-kicker){color:#f8fafcc2;max-width:760px;margin-bottom:30px;font-size:1.08rem}.products-hero-note{border-left:3px solid #e86122d1;max-width:760px;padding-left:18px;color:#f8fafcb8!important}.products-section-heading{max-width:790px;margin-bottom:40px}.products-section-heading.compact{max-width:620px;margin-bottom:0}.products-section-heading h2,.system-layout h2,.products-cta h2{color:inherit}.products-section-heading p:not(.section-kicker),.system-layout p:not(.section-kicker),.products-cta p:not(.section-kicker){color:var(--muted)}.products-family-section,.colour-section,.coated-section,.source-links-section{color:var(--charcoal);background:radial-gradient(circle at 85% 10%, #e861221f, transparent 24rem), linear-gradient(180deg, var(--paper) 0%, #fffaf0 100%)}.product-family-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.product-family-card{border-radius:var(--radius);background:#ffffffc7;border:1px solid #0c11141f;grid-template-rows:auto auto 1fr auto;gap:18px;min-height:410px;padding:28px;display:grid;box-shadow:0 24px 80px #0c111414}.product-family-icon{border-radius:var(--radius-sm);width:54px;height:54px;color:var(--orange);background:#e8612214;border:1px solid #e8612247;place-items:center;display:grid}.product-family-icon svg{width:28px;height:28px}.product-family-card h3{color:var(--charcoal);text-transform:uppercase;margin:0;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:900;line-height:1.04}.product-family-card p{color:var(--muted);margin:0;font-size:.96rem}.product-family-card ul,.source-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.product-family-card li,.source-card li{color:#29343a;padding-left:18px;font-size:.91rem;font-weight:720;line-height:1.42;position:relative}.product-family-card li:before,.source-card li:before{background:var(--orange);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:0}.product-source-badges{flex-wrap:wrap;gap:8px;display:flex}.product-source-badges span{color:var(--charcoal);text-transform:uppercase;background:#f4f2ece0;border:1px solid #0c11141f;border-radius:999px;padding:7px 9px;font-size:.72rem;font-weight:850}.source-section,.system-section,.products-faq-section{color:var(--ink);background:radial-gradient(circle at 15% 12%,#e8612229,#0000 27rem),linear-gradient(#0b1012 0%,#151c20 100%)}.source-layout,.colour-layout,.products-faq-layout,.source-links-layout{grid-template-columns:.78fr 1.22fr;align-items:start;gap:52px;display:grid}.source-layout .products-section-heading p:not(.section-kicker),.system-layout p:not(.section-kicker),.products-faq-layout p:not(.section-kicker){color:#f8fafcad}.source-card-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.source-card{border:1px solid #ffffff1f;border-top:3px solid var(--orange);border-radius:var(--radius);background:#ffffff0f;gap:14px;min-height:360px;padding:24px;display:grid;box-shadow:0 24px 80px #0000002e}.source-card>p:first-child{color:var(--orange);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:850}.source-card h3{color:var(--ink);margin:0;font-size:1.45rem;font-weight:900}.source-card p:not(:first-child),.source-card li{color:#f8fafcb8}.source-card small{color:#f8fafc8f;border-top:1px solid #ffffff1f;align-self:end;padding-top:14px;font-size:.82rem;line-height:1.5}.colour-selector{gap:18px;display:grid}.colour-tabs{flex-wrap:wrap;gap:8px;display:flex}.colour-tabs button{border-radius:var(--radius-sm);min-height:42px;color:var(--charcoal);cursor:pointer;background:#ffffffa3;border:1px solid #0c111424;padding:0 14px;font-size:.8rem;font-weight:850}.colour-tabs button.is-active{color:#fff;background:var(--charcoal);border-color:var(--charcoal)}.colour-panel{border-radius:var(--radius);background:#ffffffc2;border:1px solid #0c11141f;padding:24px;box-shadow:0 24px 80px #0c111414}.colour-panel-heading{align-items:center;gap:14px;margin-bottom:20px;display:flex}.colour-panel-heading svg{width:34px;height:34px;color:var(--orange)}.colour-panel-heading h3,.colour-panel-heading p{margin:0}.colour-panel-heading h3{color:var(--charcoal);font-size:1.35rem;font-weight:900}.colour-panel-heading p,.colour-disclaimer{color:var(--muted)}.swatch-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.swatch-card{border-radius:var(--radius-sm);background:#ffffffb3;border:1px solid #0c11141a;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:3px 12px;min-height:72px;padding:10px;display:grid}.swatch{border-radius:var(--radius-sm);background:var(--swatch);border:1px solid #0c11142e;grid-row:span 2;width:44px;height:44px;box-shadow:inset 0 0 0 1px #ffffff29}.swatch-card strong{color:var(--charcoal);text-transform:uppercase;font-size:.78rem;font-weight:900}.swatch-card span:last-child{color:var(--muted);font-size:.82rem;font-weight:720}.system-layout{grid-template-columns:.72fr 1.28fr;align-items:center;gap:56px;display:grid}.component-diagram{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff1f;grid-template-columns:minmax(280px,.9fr) minmax(260px,.7fr);align-items:center;gap:24px;padding:28px;display:grid;box-shadow:0 24px 80px #0003}.diagram-roof{border-radius:var(--radius);background:linear-gradient(#ffffff14,#ffffff05),#0a0d0f;min-height:310px;position:relative;overflow:hidden}.diagram-ridge,.diagram-panel,.diagram-gutter{display:block;position:absolute}.diagram-ridge{background:var(--orange);width:64%;height:5px;top:22%;left:18%;transform:skewY(-10deg)}.diagram-panel{background:repeating-linear-gradient(90deg,#ffffff1a 0 2px,#0000 2px 28px),linear-gradient(135deg,#67737a,#1a2227);border:1px solid #ffffff29;width:34%;height:42%;top:34%;transform:skewY(-10deg);box-shadow:0 28px 80px #00000047}.panel-a{left:16%}.panel-b{left:34%}.panel-c{left:52%}.diagram-gutter{background:linear-gradient(90deg,#d0d2cd,#6b7479);border-radius:999px;width:76%;height:18px;bottom:15%;left:10%;transform:rotate(-4deg)}.component-diagram ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.component-diagram li{color:#f8fafcc7;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;font-weight:780;display:grid}.component-diagram li span{width:34px;height:34px;color:var(--orange);border:1px solid #e861226b;border-radius:50%;place-items:center;font-size:.72rem;font-weight:900;display:grid}.coated-benefit-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.coated-benefit-card{border-radius:var(--radius);background:#fffc;border:1px solid #0c11141f;grid-template-rows:auto auto 1fr;gap:12px;min-height:245px;padding:22px;display:grid}.coated-benefit-card svg{width:32px;height:32px;color:var(--orange)}.coated-benefit-card h3{color:var(--charcoal);margin:0;font-size:1.08rem;font-weight:900}.coated-benefit-card p{color:var(--muted);margin:0;font-size:.9rem}.products-gallery-band{color:var(--ink);background:linear-gradient(90deg,#06090bf5,#06090bb3),url(/assets/roofproof/gallery-drone-05.jpg) 50%/cover}.products-gallery-layout{grid-template-columns:minmax(0,.8fr) minmax(360px,.72fr);align-items:center;gap:48px;display:grid}.products-gallery-layout p:not(.section-kicker){color:#f8fafcb8;max-width:620px}.products-gallery-strip{grid-template-columns:1fr .8fr;grid-auto-rows:190px;gap:12px;display:grid}.products-gallery-strip img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%;box-shadow:0 24px 80px #0000003d}.products-gallery-strip img:first-child{grid-row:span 2}.products-faq-list{gap:10px;display:grid}.products-faq-list details{border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff1f}.products-faq-list summary{cursor:pointer;color:var(--ink);justify-content:space-between;gap:16px;padding:20px 22px;font-weight:850;list-style:none;display:flex}.products-faq-list summary::-webkit-details-marker{display:none}.products-faq-list summary svg{width:18px;height:18px;color:var(--orange);flex:none;transition:transform .18s}.products-faq-list details[open] summary svg{transform:rotate(180deg)}.products-faq-list details p{color:#f8fafcad;margin:0;padding:0 22px 22px}.source-link-list{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.source-link-list article{border-radius:var(--radius);background:#ffffffc7;border:1px solid #0c11141f;padding:24px}.source-link-list h3{color:var(--charcoal);font-size:1.08rem}.source-link-list ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.source-link-list a{color:var(--charcoal);align-items:center;gap:8px;font-size:.92rem;font-weight:800;text-decoration:none;display:inline-flex}.source-link-list a:hover{color:var(--orange-dark)}.source-link-list svg{width:15px;height:15px}.products-cta-section{color:var(--ink);background:linear-gradient(115deg,#090d0ff7 0%,#0f1619eb 54%,#e8612238 100%),url(/assets/roofproof/hero-metal-roof.jpg) 50%/cover}.products-cta{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;padding:88px 0;display:grid}.products-cta p:not(.section-kicker){color:#f8fafcb8;max-width:640px}.products-cta-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.roof-build-scroll{min-height:100dvh;color:var(--charcoal);background:radial-gradient(circle at 72% 16%,#e8612224,#0000 27rem),radial-gradient(circle at 18% 72%,#8f9aa02e,#0000 30rem),linear-gradient(#fff 0%,#f7f5ef 52%,#fff 100%);position:relative}.roof-build-stage{isolation:isolate;min-height:100dvh;position:relative;overflow:hidden}.roof-build-canvas,.roof-build-vignette{position:absolute;inset:0}.roof-build-canvas{z-index:-3;width:100%;height:100%;display:block}.roof-build-vignette{z-index:-2;pointer-events:none;background:linear-gradient(90deg,#ffffffe6 0%,#faf9f48f 28%,#faf9f414 62%,#ffffff1f 100%),linear-gradient(#ffffff9e 0%,#0000 20% 76%,#ffffffb3 100%)}.roof-build-layout{grid-template-columns:minmax(430px,.78fr) minmax(460px,1fr);align-items:center;gap:clamp(34px,6vw,92px);min-height:100dvh;padding:96px 0;display:grid}.roof-build-copy{z-index:1;text-shadow:0 1px #ffffffb8;max-width:560px;position:relative}.roof-build-copy h2{color:var(--charcoal);margin-bottom:20px;font-size:clamp(3.05rem,5vw,4.4rem);line-height:.98}.roof-build-copy p:not(.section-kicker){color:#0c1114b8;max-width:500px;font-size:1.03rem}.roof-build-callout-layer{z-index:1;pointer-events:none;position:absolute;inset:0}.roof-build-leaders{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.roof-build-leader{opacity:0;transform-origin:50%;will-change:opacity, transform}.roof-build-leader line{fill:none;stroke:#e86122c7;stroke-width:.16px;vector-effect:non-scaling-stroke}.roof-build-leader-mobile{display:none}.roof-build-pin{left:var(--pin-x);top:var(--pin-y);width:34px;height:34px;color:var(--orange-dark);opacity:0;will-change:opacity, transform;background:#ffffffd6;border:1px solid #e86122e6;border-radius:50%;place-items:center;font-size:.7rem;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%)scale(.76);box-shadow:0 12px 34px #0c11141f}.roof-build-pin:after{border-radius:inherit;content:"";border:1px solid #e8612238;position:absolute;inset:-9px}.roof-build-callout-list{margin:0;padding:0;list-style:none;position:absolute;inset:0}.roof-build-callout{left:var(--callout-x);top:var(--callout-y);border:1px solid #0c11141a;border-left:3px solid var(--orange);border-radius:var(--radius);opacity:0;width:min(360px,100vw - 56px);text-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);will-change:opacity, transform;background:linear-gradient(90deg,#ffffffb8,#ffffff5c);grid-template-columns:42px minmax(0,1fr);gap:14px;margin:0;padding:16px;display:grid;position:absolute;transform:translateY(18px);box-shadow:0 22px 60px #0c11141c}.roof-build-callout[aria-current=step]{opacity:1;transform:translate(0,0)}.roof-build-callout>span{width:40px;height:40px;color:var(--orange-dark);background:#e8612214;border:1px solid #e8612280;border-radius:50%;place-items:center;font-size:.78rem;font-weight:900;display:grid}.roof-build-callout h3{color:var(--charcoal);margin-bottom:6px;font-size:1.06rem;font-weight:900}.roof-build-callout p{color:#0c1114a3;margin:0;font-size:.92rem;line-height:1.52}.roof-build-progress{left:max(20px, calc((100vw - var(--max)) / 2));right:max(20px, calc((100vw - var(--max)) / 2));z-index:2;background:#0c111424;height:3px;position:absolute;bottom:28px;overflow:hidden}.roof-build-progress span{transform-origin:0;background:linear-gradient(90deg, var(--orange), var(--charcoal));will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0)}.lifetime-roof-section{color:var(--ink);background:radial-gradient(circle at 12% 18%,#e861222e,#0000 26rem),radial-gradient(circle at 92% 72%,#8f9aa01f,#0000 30rem),linear-gradient(#0a0f12 0%,#11181c 54%,#090d0f 100%);position:relative;overflow:hidden}.lifetime-roof-layout{gap:44px;display:grid}.lifetime-roof-intro{grid-template-columns:minmax(0,.86fr) minmax(320px,.58fr);align-items:end;gap:48px;display:grid}.lifetime-roof-intro h2{max-width:820px;margin-bottom:0}.lifetime-roof-intro p:not(.section-kicker){color:#f8fafcb8;max-width:590px;margin:0;font-size:1.02rem}.lifetime-benefit-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.lifetime-benefit-card{border:1px solid #ffffff1f;border-top:3px solid var(--orange);border-radius:var(--radius);background:linear-gradient(#ffffff13,#ffffff09),#11181cdb;grid-template-rows:auto auto 1fr;gap:14px;min-height:305px;padding:28px;display:grid;box-shadow:0 24px 76px #0003}.lifetime-benefit-card svg{width:38px;height:38px;color:var(--orange)}.lifetime-benefit-card h3{color:var(--ink);text-transform:uppercase;margin:0;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:900;line-height:1.02}.lifetime-benefit-card p{color:#f8fafcb8;margin:0;font-size:.95rem;line-height:1.58}@media (width<=980px){.section{padding:82px 0}.site-header{grid-template-columns:1fr auto;min-height:72px}.brand img{width:98px;height:48px}.menu-button{place-items:center;width:44px;height:44px;display:inline-grid}.nav-links{border:1px solid var(--line);border-radius:var(--radius);background:#070a0cf5;flex-direction:column;align-items:stretch;gap:0;padding:10px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0}.nav-links.is-open{display:flex}.nav-links a{padding:14px}.header-call{display:none}.hero-section{align-items:stretch}.hero-overlay{background:linear-gradient(#06090bd6 0%,#06090b47 28%,#06090b2e 58%,#06090bb3 100%),radial-gradient(at 18% 58%,#06090bc7 0%,#06090b7a 42%,#06090b14 78%)}.hero-image{object-position:58% center}.hero-copy{z-index:1;position:relative}.hero-copy:before{z-index:-1;border-radius:var(--radius);content:"";pointer-events:none;background:radial-gradient(at 18% 40%,#06090bb8 0%,#06090b7a 44%,#06090b00 78%),linear-gradient(90deg,#06090b8f,#06090b00);position:absolute;inset:-24px -14px -28px}.hero-content{gap:44px;min-height:100dvh;padding-top:92px}.hero-proof,.legal-summary,.service-grid,.process-layout,.proof-layout,.lifetime-roof-intro,.lifetime-benefit-grid,.gallery-heading,.faq-layout,.estimate-layout,.footer-layout,.product-family-grid,.source-layout,.colour-layout,.system-layout,.products-faq-layout,.source-links-layout,.products-gallery-layout,.products-cta{grid-template-columns:1fr}.hero-proof article{border-right:none;border-bottom:1px solid var(--line);min-height:96px}.hero-proof article:last-child{border-bottom:none}.proof-media img{height:420px}.proof-grid{grid-template-columns:1fr}.lifetime-roof-intro{align-items:start;gap:18px}.lifetime-benefit-card{min-height:auto}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid.full-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.gallery-grid .feature-image{grid-area:span 1/span 2}.footer-actions a{justify-self:start}.roof-build-layout{grid-template-columns:1fr;align-content:center;gap:34px;padding:78px 0 118px}.roof-build-copy{max-width:620px}.roof-build-vignette{background:radial-gradient(at 26% 35%,#fffffff0 0%,#ffffffb3 36%,#faf9f414 68%),linear-gradient(#fffffffa 0%,#ffffffd1 34%,#faf9f414 58%,#ffffff80 100%)}.roof-build-leader-desktop{display:none}.roof-build-leader-mobile{display:block}.roof-build-pin{left:var(--mobile-pin-x);top:var(--mobile-pin-y);width:30px;height:30px;font-size:.66rem}.roof-build-callout{left:var(--mobile-callout-x);background:#ffffffbd;grid-template-columns:36px minmax(0,1fr);width:min(360px,100vw - 28px);padding:14px;top:auto;bottom:clamp(74px,9dvh,98px)}.legal-content-layout,.legal-contact,.products-content-layout,.source-card-grid,.source-link-list{grid-template-columns:1fr}.coated-benefit-grid{grid-template-columns:repeat(2,1fr)}.component-diagram{grid-template-columns:1fr}.products-section-heading.compact{margin-bottom:32px}.products-cta-actions{justify-content:flex-start}.legal-aside,.products-aside{padding-top:0;padding-bottom:0;position:static}.legal-summary article{border-right:none;border-bottom:1px solid var(--line);min-height:126px}.legal-summary article:last-child{border-bottom:none}.legal-contact-actions{justify-content:flex-start}}@media (width<=640px){.section-shell{width:min(100% - 28px, var(--max))}.site-header{width:calc(100% - 20px);margin-top:10px;padding:10px}h1{font-size:clamp(3rem,15.8vw,4rem)}h2{font-size:clamp(2rem,11vw,3rem)}.hero-copy p{font-size:1rem}.hero-actions,.form-row{grid-template-columns:1fr}.hero-actions{display:grid}.button{width:100%}.services-process-cta{grid-template-columns:1fr}.service-card img{height:210px}.process-step{grid-template-columns:1fr}.process-step svg{display:none}.gallery-grid,.gallery-grid.full-gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.source-card-grid,.swatch-grid,.coated-benefit-grid{grid-template-columns:1fr}.product-family-card,.source-card,.colour-panel,.component-diagram,.source-link-list article{padding:20px}.product-family-card{min-height:auto}.colour-tabs{display:grid}.colour-tabs button{text-align:left;width:100%}.diagram-roof{min-height:240px}.products-gallery-strip{grid-template-columns:1fr;grid-auto-rows:180px}.products-gallery-strip img:first-child{grid-row:auto}.gallery-grid .feature-image{grid-column:auto}.gallery-footer{justify-content:stretch}.gallery-full-link{justify-content:center;width:100%}.gallery-lightbox{padding:12px}.gallery-lightbox-panel{padding:8px}.gallery-lightbox-panel img{max-height:min(66vh,560px)}.gallery-lightbox-panel p{margin-right:0;font-size:.86rem}.gallery-lightbox-close,.gallery-lightbox-nav{width:40px;height:40px}.gallery-lightbox-close{top:16px;right:16px}.gallery-lightbox-nav.previous{left:16px}.gallery-lightbox-nav.next{right:16px}.contact-cards a{grid-template-columns:auto 1fr}.contact-cards strong{text-align:left;grid-column:1/-1;justify-self:start}.estimate-form{padding:20px}.legal-hero{min-height:auto;padding:112px 0 56px}.legal-hero-layout,.products-hero-content{gap:34px}.legal-list article,.legal-contact,.product-detail-section{padding:22px}.products-hero{min-height:auto;padding:112px 0 56px}.product-detail-heading{display:grid}.legal-phone{width:100%}.roof-build-layout{padding:70px 0 116px}.roof-build-copy h2{margin-bottom:14px;font-size:clamp(2.45rem,10.4vw,3rem);line-height:1}.roof-build-copy p:not(.section-kicker){max-width:340px;font-size:.95rem;line-height:1.5}.roof-build-callout{gap:12px;bottom:clamp(76px,10dvh,104px)}.roof-build-callout>span{width:34px;height:34px;font-size:.72rem}.roof-build-callout h3{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-image{opacity:0;transform:none;animation:none!important}.hero-image:first-child{opacity:1}.roof-build-scroll,.roof-build-stage,.roof-build-layout{min-height:auto}.roof-build-stage{padding:40px 0}.roof-build-canvas{min-height:680px}.roof-build-progress span{transform:scaleX(1)}.roof-build-callout-layer{z-index:1;width:min(100% - 40px, var(--max));margin:0 auto 40px;position:relative;inset:auto}.roof-build-leaders,.roof-build-pin{display:none}.roof-build-callout-list{gap:12px;display:grid;position:static}.roof-build-callout{width:100%;position:static;opacity:1!important;transform:none!important}}
