:root{--black: #030303;--coal: #101010;--coal-2: #191919;--ink: #050505;--text: #171717;--muted: #6f756d;--line: #dfd5b7;--soft: #f6f0da;--white: #ffffff;--gold: #f2c230;--gold-2: #ffe27a;--green: #1ec96b;--green-2: #82e64f;--shadow: 0 26px 80px rgba(3, 3, 3, .18);--shadow-strong: 0 30px 90px rgba(3, 3, 3, .38);--radius: 8px;--max: 1180px;color:var(--text);font-family:Segoe UI Variable,Segoe UI,Aptos,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--black)}*{box-sizing:border-box}html{max-width:100%;background:var(--black);scroll-behavior:auto}body{max-width:100%;margin:0;color:var(--text);background:var(--black);overflow-x:hidden}body.has-lightbox{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:#f2c23052}.scroll-progress{position:fixed;inset:0 auto auto 0;z-index:100;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),var(--green));transform:scaleX(0);transform-origin:left}.site-header{position:sticky;top:16px;z-index:80;display:grid;grid-template-columns:220px 1fr 220px auto;align-items:center;gap:22px;width:min(calc(100% - 32px),var(--max));min-height:92px;margin:16px auto 0;padding:10px 12px 10px 10px;background:transparent;border:1px solid transparent;border-radius:var(--radius);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}.site-header.is-scrolled,.site-header:focus-within{background:#070707db;border-color:#f2c2302e;box-shadow:0 14px 45px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-link{display:inline-flex}.logo-plate{display:inline-flex;align-items:center;justify-content:center;width:186px;height:88px;padding:13px 18px;background:#000;border:0;border-radius:var(--radius);box-shadow:0 18px 42px #0000006b}.logo-plate--compact{width:178px;height:68px;padding:9px 15px}.logo-plate img{width:100%;height:100%;object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:center;gap:6px}.main-nav a,.services-nav-row>a{position:relative;padding:12px 13px;color:#ffffffc2;border-radius:6px;font-size:.92rem;font-weight:500;line-height:1;transition:color .18s ease,background .18s ease}.main-nav a:hover,.main-nav a.active,.services-nav-row>a:hover,.services-nav-row>a.active{color:var(--gold-2);background:#f2c2301f}.nav-service-item{position:relative}.services-nav-row{display:flex;align-items:center}.services-menu-toggle{display:none}.services-submenu{position:absolute;top:calc(100% + 12px);left:50%;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:4px;width:min(660px,calc(100vw - 32px));padding:12px;pointer-events:none;background:#030303f0;border-radius:var(--radius);box-shadow:var(--shadow-strong);opacity:0;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease}.nav-service-item:hover .services-submenu,.nav-service-item:focus-within .services-submenu{pointer-events:auto;opacity:1;transform:translate(-50%)}.nav-service-item.is-submenu-suppressed .services-submenu{pointer-events:none;opacity:0;transform:translate(-50%,8px)}.services-submenu a{padding:11px 12px;font-size:.86rem;white-space:nowrap}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 18px;border:0;border-radius:var(--radius);font-size:.93rem;font-weight:650;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.header-cta,.btn-primary{color:#070707;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 52%,var(--green-2) 100%);box-shadow:0 14px 34px #f2c2303d}.btn-light{color:var(--ink);background:var(--gold-2);box-shadow:0 14px 34px #0000003d}.btn-ghost{color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.22)}.header-cta:hover,.btn:hover{transform:translateY(-2px)}.nav-toggle{display:none;width:46px;height:46px;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);cursor:pointer}.page{min-height:70vh;background:var(--black)}.section,.hero,.inner-hero,.site-footer{width:100%;margin-inline:auto;padding-inline:max(16px,calc((100% - var(--max)) / 2))}.hero{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:52px;align-items:center;min-height:min(790px,calc(100vh - 82px));padding-top:78px;padding-bottom:78px;color:#fff;background:linear-gradient(90deg,#030303f2,#030303d6 45%,#03030385),url(/images/projects/project-roofing-03.jpg) center / cover fixed}.hero:before{position:absolute;inset:8% 44% auto auto;width:220px;height:220px;background:linear-gradient(135deg,#f2c2304d,#1ec96b38);filter:blur(60px);content:""}.hero-copy,.hero-visual{position:relative}h1,h2,h3,p{margin-top:0}h1{margin-bottom:22px;color:var(--ink);font-size:clamp(2.8rem,4.8vw,4.8rem);font-weight:600;letter-spacing:0;line-height:.88}.inner-hero h1{font-size:clamp(2.65rem,5vw,5.3rem)}h2{margin-bottom:16px;color:var(--ink);font-size:clamp(2.1rem,4vw,4.2rem);font-weight:600;letter-spacing:0;line-height:.96}h3{color:var(--ink);font-size:1.1rem;font-weight:600;line-height:1.2}p{color:var(--muted);font-size:1.03rem;font-weight:350;line-height:1.72}.hero h1,.hero h2,.hero h3,.hero p,.inner-hero h1,.inner-hero h2,.inner-hero h3,.inner-hero p,.preview-band h1,.preview-band h2,.preview-band h3,.preview-band p,.split-section h1,.split-section h2,.split-section h3,.split-section p,.timeline-section h1,.timeline-section h2,.timeline-section h3,.timeline-section p,.gallery-section h1,.gallery-section h2,.gallery-section h3,.gallery-section p,.dark-band h2,.dark-band p{color:#fff}.hero p,.inner-hero p,.preview-band p,.split-section p,.timeline-section p,.gallery-section p,.dark-band p{color:#ffffffbd}.hero-copy>p{max-width:620px;font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px;border-top:1px solid rgba(242,194,48,.38);border-bottom:1px solid rgba(242,194,48,.38)}.stat-strip span{display:grid;gap:5px;padding:18px 16px;color:#ffffffb8;font-size:.78rem;font-weight:500;text-transform:uppercase}.stat-strip span+span{border-left:1px solid rgba(242,194,48,.38)}.stat-strip strong{color:var(--gold-2);font-size:1.45rem;line-height:1;text-transform:none}.hero-visual{min-height:560px}.roof-scene{position:absolute;inset:-58px -42px auto auto;z-index:2;width:min(55vw,670px);height:390px;pointer-events:auto}.scene-shine{position:absolute;inset:20% 5% auto auto;width:60%;height:50%;background:radial-gradient(circle,rgba(242,194,48,.32),transparent 64%);pointer-events:none}.photo-stack{position:absolute;right:0;bottom:0;width:min(100%,620px);overflow:hidden;background:var(--black);border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong);transform:perspective(1200px) rotateY(-7deg) rotateX(3deg)}.photo-stack:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,3,3,.54));content:"";pointer-events:none}.photo-stack img{width:100%;height:390px;object-fit:cover;transform:scale(1.03);transition:transform .7s ease}.photo-stack:hover img{transform:scale(1.08)}.inspection-panel{position:absolute;right:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:12px 14px;color:#fff;background:#030303c2;border:0;border-radius:var(--radius);font-size:.88rem;font-weight:550;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section{padding-top:96px;padding-bottom:96px;background:var(--soft)}.preview-band{padding-top:80px;padding-bottom:80px;background:linear-gradient(135deg,#1ec96b1f,#f2c23014),var(--black)}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;background:#f2c23057;border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.three-steps article{min-height:210px;padding:30px;background:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.three-steps svg,.proof-list svg,.value-card svg{color:var(--gold)}.split-section{display:grid;grid-template-columns:.95fr 1fr;gap:58px;align-items:center;background:linear-gradient(90deg,#030303eb,#030303c7),url(/images/projects/project-roofing-02.jpg) center / cover fixed}.section-media{overflow:hidden;border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.section-media img{width:100%;height:560px;object-fit:cover}.section-copy{max-width:560px;padding:34px;background:#030303c2;border:0;border-radius:var(--radius);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.section-header{max-width:760px;margin-bottom:34px}.section-header--center{margin-inline:auto;text-align:center}.proof-list{display:grid;gap:12px;margin:26px 0}.proof-list span{display:flex;align-items:center;gap:10px;color:#ffffffdb;font-weight:550}.text-link,.card-link,.map-card a{display:inline-flex;align-items:center;gap:8px;color:#108f4f;font-weight:600}.split-section .text-link,.dark-band .text-link{color:var(--gold-2)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:294px;padding:28px;overflow:hidden;background:linear-gradient(145deg,#fffffff5,#f6f0daeb),#fff;border:0;border-radius:var(--radius);box-shadow:0 18px 58px #0000001a;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.service-card:before{position:absolute;inset:0;background:linear-gradient(135deg,#f2c23033,#1ec96b00);opacity:0;content:"";transition:opacity .26s ease}.service-card:hover{border-color:#f2c230c7;box-shadow:0 26px 70px #00000029;transform:translateY(-8px)}.service-card:hover:before{opacity:1}.service-card>*{position:relative}.icon-box{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:26px;color:var(--black);background:linear-gradient(135deg,var(--gold),var(--gold-2) 52%,var(--green-2));border-radius:var(--radius)}.card-link{position:absolute;bottom:26px;left:28px;font-size:.92rem}.page-inner{padding-top:0}.inner-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:44px;align-items:center;padding-top:98px;padding-bottom:82px;background:linear-gradient(90deg,#030303ed,#0303039e),url(/images/roof-detail.jpg) center / cover fixed}.inner-hero img{width:100%;height:430px;object-fit:cover;border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.values-section{padding-top:92px;background:var(--soft)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{min-height:260px;padding:30px;background:#fff;border:0;border-radius:var(--radius);box-shadow:0 20px 70px #00000014}.timeline-section{display:grid;grid-template-columns:.78fr 1fr;gap:50px;align-items:start;background:linear-gradient(135deg,#030303e6,#030303c7),url(/images/roof-team.jpg) center / cover fixed}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:76px 1fr;align-items:center;min-height:90px;padding:18px;background:#ffffff14;border:0;border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.timeline-item span{color:var(--gold);font-size:1.4rem;font-weight:650}.timeline-item p{margin-bottom:0;color:#fff;font-weight:550}.services-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.62fr)}.service-orbit{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;min-height:360px;padding:42px;background:radial-gradient(circle at 50% 50%,rgba(242,194,48,.26),transparent 54%),#030303;border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.service-orbit:not(.service-orbit--images) span,.contact-orbital a{display:flex;align-items:center;justify-content:center;color:#fff;background:#ffffff14;border:0;border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:lift 5s ease-in-out infinite}.service-orbit:not(.service-orbit--images) span:nth-child(2),.contact-orbital a:nth-child(2){animation-delay:-1s}.service-orbit:not(.service-orbit--images) span:nth-child(3),.contact-orbital a:nth-child(3){animation-delay:-2s}.service-orbit--images{align-items:stretch;min-height:0;padding:34px}.service-orbit--images a{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;background:#111;border-radius:var(--radius);box-shadow:0 18px 42px #00000047}.service-orbit--images a:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(3,3,3,.78));content:"";pointer-events:none}.service-orbit--images img{width:100%;height:100%;object-fit:cover;transition:opacity .26s ease,transform .52s ease}.service-orbit--images a:hover img{opacity:.95;transform:scale(1.07)}.service-orbit--images span{position:absolute;right:12px;bottom:12px;left:12px;z-index:1;color:#fff;font-size:.82rem;font-weight:650;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.72)}.dark-band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#f2c2302b,#1ec96b1f),#030303}.dark-band h2{max-width:760px;font-size:clamp(2rem,3.2vw,3rem);line-height:1.04}.dark-band p{max-width:680px;margin-bottom:0}.dark-band .btn{min-width:220px;min-height:64px;padding-inline:28px;font-size:1.02rem}.band-arrow{position:absolute;right:max(18px,calc((100% - var(--max)) / 2));bottom:32px;color:#f2c23029}.gallery-hero{grid-template-columns:1fr auto;background:linear-gradient(90deg,#030303f0,#03030394),url(/images/projects/project-roofing-03.jpg) center / cover fixed}.filter-rail{display:flex;flex-wrap:wrap;gap:9px;align-self:end;justify-content:flex-end}.filter-rail button{min-height:42px;padding:0 16px;color:var(--ink);background:#fff;border:0;border-radius:var(--radius);font-size:.9rem;font-weight:550;cursor:pointer}.filter-rail button.is-active{color:var(--black);background:var(--gold);border-color:var(--gold)}.gallery-section{background:var(--black)}.masonry-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:16px}.gallery-tile{position:relative;grid-column:span 4;grid-row:span 2;overflow:hidden;background:var(--black);border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.masonry-grid--service-media{grid-auto-rows:auto}.gallery-tile.is-service-media,.masonry-grid--service-media .gallery-tile,.masonry-grid--service-media .tile-1,.masonry-grid--service-media .tile-2,.masonry-grid--service-media .tile-3,.masonry-grid--service-media .tile-4,.masonry-grid--service-media .tile-5{grid-column:span 4;grid-row:auto;aspect-ratio:4 / 3;min-height:0}.gallery-lightbox-trigger{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;color:#fff;background:transparent;border:0;cursor:pointer}.gallery-tile img,.gallery-tile video{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .7s ease,opacity .7s ease}.gallery-tile video{display:block}.gallery-tile:hover img,.gallery-tile:hover video{opacity:1;transform:scale(1.07)}.gallery-tile.is-video:hover video{transform:none}.gallery-tile:after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 48%,rgba(3,3,3,.34));content:""}.gallery-open-badge,.gallery-play-badge{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:#070707;background:linear-gradient(135deg,var(--gold),var(--gold-2) 52%,var(--green-2));border-radius:50%;box-shadow:0 14px 36px #0000003d;opacity:0;transform:translateY(8px);transition:opacity .24s ease,transform .24s ease}.gallery-play-badge{opacity:1;transform:none}.gallery-tile:hover .gallery-open-badge,.gallery-tile:focus-within .gallery-open-badge{opacity:1;transform:none}.tile-1{grid-column:span 7;grid-row:span 3}.tile-2,.tile-3{grid-column:span 5;grid-row:span 2}.tile-4{grid-column:span 4;grid-row:span 2}.tile-5{grid-column:span 8;grid-row:span 2}.lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px}.lightbox-backdrop{position:absolute;inset:0;background:#000000db;border:0;cursor:zoom-out}.lightbox-panel{position:relative;z-index:1;display:grid;width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:hidden;background:#030303;border:1px solid rgba(242,194,48,.22);border-radius:var(--radius);box-shadow:0 28px 90px #0000008c}.lightbox-panel img,.lightbox-panel video{width:100%;max-height:calc(100vh - 48px);object-fit:contain;background:#030303}.lightbox-panel video{min-height:min(62vh,620px)}.lightbox-close{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:#070707;background:var(--gold-2);border:0;border-radius:50%;box-shadow:var(--shadow);cursor:pointer}.before-after{display:grid;grid-template-columns:.5fr 1fr;gap:32px;align-items:center;background:var(--soft)}.ba-copy{padding:32px;background:#fff;border:0;border-radius:var(--radius)}.ba-copy svg{color:var(--green)}.ba-frame{position:relative;min-height:390px;overflow:hidden;background:var(--black);border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-before-img{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.ba-after-img{clip-path:inset(0 0 0 var(--split))}.ba-frame input{position:absolute;inset:0;z-index:4;width:100%;height:100%;opacity:0;cursor:ew-resize}.ba-handle{position:absolute;top:50%;left:var(--split);display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--ink);background:var(--gold-2);border-radius:50%;box-shadow:var(--shadow);transform:translate(-50%,-50%)}.contact-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.55fr)}.contact-orbital{display:grid;gap:14px;padding:18px;background:#030303;border:0;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.contact-orbital a{justify-content:flex-start;min-height:82px;padding:0 24px;gap:13px;font-weight:600}.contact-orbital a span{display:grid;gap:5px}.contact-orbital a strong{font-weight:600}.contact-orbital a small{color:#ffffffad;font-size:.86rem;line-height:1.35}.contact-grid{display:grid;grid-template-columns:1fr .82fr;gap:34px;align-items:stretch;background:var(--soft)}.contact-form-wrap,.map-panel{padding:32px;background:#fff;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.contact-form label{display:grid;gap:8px;color:var(--ink);font-size:.88rem;font-weight:600}.contact-form label:nth-child(4),.contact-form label:nth-child(5),.contact-form button,.form-success{grid-column:1 / -1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:50px;padding:0 14px;color:var(--ink);background:#fffdf6;border:1px solid rgba(180,145,32,.3);border-radius:var(--radius);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.contact-form textarea{padding-top:13px;resize:vertical}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #f2c2302e}.contact-form button:disabled{cursor:wait;opacity:.74}.form-success{margin:0;padding:13px 14px;color:#056455;background:#1ec96b1f;border:1px solid rgba(30,201,107,.28);border-radius:var(--radius);font-size:.92rem;font-weight:550}.form-error{color:#5f3600;background:#f2c23024;border-color:#f2c2305c}.form-error a{color:#050505;font-weight:750;text-decoration:underline}.map-panel{position:relative;min-height:570px;overflow:hidden;background:#030303}.map-panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.92) contrast(1.08) brightness(.9)}.map-card{position:absolute;right:24px;bottom:24px;left:24px;padding:24px;color:#fff;background:#030303c2;border:0;border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.map-card h3,.map-card p,.map-card a{color:#fff}.site-footer{padding-top:64px;padding-bottom:32px;color:#fff;background:#030303}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:30px;padding:34px;background:#000;border:0;border-radius:var(--radius)}.footer-grid .logo-plate{width:236px;height:112px}.footer-grid p{max-width:380px;margin:18px 0 0;color:#ffffffad}.footer-grid>div{display:grid;align-content:start;gap:12px}.footer-grid a{color:#ffffffc7;font-weight:450}.footer-social-link{width:fit-content;display:inline-flex;align-items:center;gap:9px;margin-top:6px;padding:10px 13px;color:#070707;background:linear-gradient(135deg,var(--gold),var(--gold-2) 52%,var(--green-2));border-radius:999px;box-shadow:0 12px 32px #f7c72b29}.footer-social-icon{width:20px;height:20px;display:block;flex:0 0 auto;fill:currentColor}.footer-grid a.footer-social-link{color:#070707;font-weight:700}.footer-social-link:hover{transform:translateY(-2px);box-shadow:0 18px 42px #9aee482e}.footer-grid a:focus{outline:none}.footer-grid a:focus-visible{color:var(--gold-2)}.footer-label{color:var(--gold-2);font-size:.8rem;font-weight:650;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding:18px 4px 0;color:#ffffff85;font-size:.88rem;font-weight:450}.service-detail-hero{grid-template-columns:minmax(0,.78fr) minmax(260px,.22fr);min-height:600px;background:linear-gradient(90deg,#030303f5,#030303c7 44%,#0303035c),var(--service-hero-image, url(/images/roof-detail.jpg)) center / cover fixed}.service-detail-hero>div{max-width:760px}.service-detail-section{display:grid;grid-template-columns:1fr .72fr;gap:34px;align-items:stretch}.service-detail-panel,.service-best-box{padding:34px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.service-detail-grid{display:grid;gap:14px}.service-detail-grid span{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:500}.service-detail-grid svg{flex:0 0 auto;color:var(--green)}.service-best-box{display:grid;align-content:center}.service-best-box>span{margin-bottom:12px;color:#0d7d47;font-size:.78rem;font-weight:650;text-transform:uppercase}.service-best-box h2{font-size:clamp(1.9rem,3.4vw,3.4rem)}.related-services{background:var(--black)}.related-services .section-header h2,.related-services .section-header p{color:#fff}.service-media-section{background:linear-gradient(135deg,#f2c23017,#1ec96b14),#030303}.service-media-section .section-header h2,.service-media-section .section-header p{color:#fff}.service-media-section .section-header p{color:#ffffffb8}.service-media-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.service-media-item{grid-column:span 4;aspect-ratio:4 / 3;min-height:0;overflow:hidden;background:#000;border-radius:var(--radius);box-shadow:var(--shadow-strong)}.service-media-item:first-child{grid-column:span 4}.service-media-item:nth-child(2){grid-column:span 4}.service-media-item.is-video{grid-column:span 4}.service-media-item img,.service-media-item video{display:block;width:100%;height:100%;object-fit:cover}.service-media-item.is-video video{object-fit:cover;background:#000}.financing-section{background:linear-gradient(135deg,#030303f0,#030303c7),url(/images/projects/project-roofing-16.jpg) center / cover fixed}.financing-section--detail{background:linear-gradient(135deg,#f6f0daf5,#ffffffe6),var(--soft)}.financing-banner{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px;align-items:center;padding:38px;overflow:hidden;color:#fff;background:#030303d1;border-radius:var(--radius);box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.financing-banner--compact{color:var(--ink);background:#fff;box-shadow:var(--shadow)}.financing-copy{max-width:660px}.financing-copy>span{display:inline-flex;margin-bottom:14px;color:var(--gold-2);font-size:.82rem;font-weight:700;text-transform:uppercase}.financing-banner--compact .financing-copy>span{color:#0d7d47}.financing-copy h2{max-width:700px;color:currentColor;font-size:clamp(2.05rem,4vw,4.15rem)}.financing-copy p{max-width:610px;color:#ffffffb8}.financing-banner--compact .financing-copy p{color:var(--muted)}.hearth-banner-link{display:block;width:310px;overflow:hidden;background:#000;border-radius:var(--radius);box-shadow:0 26px 70px #00000047;transition:transform .22s ease,box-shadow .22s ease}.hearth-banner-link:hover{box-shadow:0 32px 86px #0000005c;transform:translateY(-4px)}.hearth-banner-link img{width:310px;height:610px;object-fit:cover}@keyframes lift{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(max-width:1040px){.site-header{grid-template-columns:auto 1fr auto}.main-nav{position:fixed;top:116px;right:16px;left:16px;z-index:120;display:none;flex-direction:column;align-items:stretch;padding:10px;max-height:calc(100dvh - 132px);overflow-y:auto;overscroll-behavior:contain;background:#070707;border:1px solid rgba(242,194,48,.24);border-radius:var(--radius);box-shadow:var(--shadow)}.services-submenu{position:static;display:none;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:4px 0 8px 16px;pointer-events:auto;background:transparent;box-shadow:none;opacity:1;transform:none}.nav-service-item.is-mobile-submenu-open .services-submenu{display:grid}.services-submenu a{white-space:normal}.main-nav.is-open{display:flex}.main-nav a{padding:15px}.services-nav-row{gap:6px}.services-nav-row>a{flex:1}.services-menu-toggle{display:inline-grid;place-items:center;width:46px;min-width:46px;height:46px;color:#ffffffc7;background:#ffffff14;border:1px solid rgba(242,194,48,.2);border-radius:var(--radius);cursor:pointer}.services-menu-toggle svg{transition:transform .18s ease}.nav-service-item.is-mobile-submenu-open .services-menu-toggle svg{transform:rotate(180deg)}.header-cta{justify-self:end}.nav-toggle{display:inline-grid;place-items:center}.hero,.inner-hero,.split-section,.timeline-section,.before-after,.contact-grid,.service-detail-section,.financing-banner{grid-template-columns:1fr}.hearth-banner-link{justify-self:center}.hero{min-height:auto;padding-top:58px}.hero-visual{min-height:560px}.roof-scene{right:0;width:min(100%,620px)}.photo-stack{left:0;right:auto}.service-grid,.value-grid,.three-steps,.gallery-hero{grid-template-columns:1fr}.filter-rail{justify-content:flex-start}.footer-grid{grid-template-columns:1fr}.service-media-item,.service-media-item:first-child,.service-media-item:nth-child(2),.service-media-item.is-video{grid-column:span 6;aspect-ratio:4 / 3;min-height:0}}@media(max-width:720px){.section,.hero,.inner-hero,.site-footer{padding-inline:12px}.site-header{top:10px;width:calc(100% - 20px);gap:10px;min-height:68px}.main-nav{top:88px;right:10px;left:10px;max-height:calc(100dvh - 104px)}.logo-plate--compact{width:142px;height:58px;padding:8px 10px}.header-cta{display:none}h1{font-size:clamp(2.55rem,15vw,4.05rem);line-height:.94}h2{font-size:clamp(2rem,11vw,3rem)}.services-hero h1{font-size:clamp(2.35rem,12vw,3.25rem);line-height:1}.hero-actions,.footer-bottom{flex-direction:column;align-items:stretch}.stat-strip{grid-template-columns:1fr}.stat-strip span+span{border-top:1px solid rgba(242,194,48,.34);border-left:0}.hero-visual{min-height:500px}.roof-scene{inset:-42px 0 auto auto;width:100%;height:350px}.photo-stack{width:100%;transform:none}.photo-stack img{height:340px}.section{padding-top:68px;padding-bottom:68px}.section-media img,.inner-hero img{height:330px}.service-orbit--images{gap:12px;padding:16px}.service-orbit--images img{height:100%}.service-orbit--images span{right:10px;bottom:10px;left:10px;font-size:.76rem}.section-copy,.contact-form-wrap,.map-panel,.footer-grid{padding:24px}.service-card{min-height:270px}.masonry-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}.gallery-tile,.tile-1,.tile-2,.tile-3,.tile-4,.tile-5{grid-column:auto;grid-row:auto;min-height:290px}.gallery-tile.is-service-media,.masonry-grid--service-media .gallery-tile,.masonry-grid--service-media .tile-1,.masonry-grid--service-media .tile-2,.masonry-grid--service-media .tile-3,.masonry-grid--service-media .tile-4,.masonry-grid--service-media .tile-5{min-height:0;aspect-ratio:4 / 3}.ba-frame{min-height:300px}.contact-form,.services-submenu,.service-media-grid{grid-template-columns:1fr}.service-media-item,.service-media-item:first-child,.service-media-item:nth-child(2),.service-media-item.is-video{grid-column:auto;min-height:0;aspect-ratio:4 / 3}.financing-banner{padding:24px}.hearth-banner-link,.hearth-banner-link img{width:min(310px,100%)}.hearth-banner-link img{height:auto}}
