:root{--bg:#f4f1ea;--paper:#fffaf0;--ink:#15191a;--muted:#657074;--line:#dcded6;--green:#08715f;--green-dark:#075247;--orange:#d97845;--soft:#e8f1ed;--danger:#a43131;--blue:#1e5e92;--gold:#e0aa3e;--cream:#fff7e2;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.internal-analytics-indicator{color:#15191ac7;right:calc(env(safe-area-inset-right,0px) + 6px);top:calc(env(safe-area-inset-top,0px) + 6px);z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf0b8;border:1px solid #15191a17;border-radius:999px;padding:3px 5px;font-size:10px;font-weight:850;line-height:1;position:fixed;box-shadow:0 8px 24px #15191a1a}button,.primary,.secondary{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;display:inline-flex}button,.primary{background:var(--green);border:1px solid var(--green-dark);color:#fff;cursor:pointer;font-weight:750}button:disabled{cursor:default;opacity:.55}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.danger-lite{color:var(--danger);background:#fff3f3;border-color:#df9a9a}.home{color:var(--ink);--home-nav-top:calc(env(safe-area-inset-top,0px) + 14px);--home-nav-width:min(calc(100% - 32px), 1260px);background:#f5f0e6;overflow:hidden}.home-nav{box-sizing:border-box;isolation:isolate;left:50%;top:var(--home-nav-top);width:var(--home-nav-width);z-index:20;-webkit-backdrop-filter:blur(28px)saturate(165%)brightness(1.06);backdrop-filter:blur(28px)saturate(165%)brightness(1.06);background:linear-gradient(#fffaf0d1,#fffaf08f),linear-gradient(90deg,#ffffff47,#e8f1ed42);border:0;border-radius:999px;justify-content:space-between;align-items:center;margin:0;padding:9px 12px 9px 18px;display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 22px 64px #0810112e,0 5px 16px #08101114,inset 0 1px #ffffffeb,inset 0 -1px #15191a0a}.home-nav:before{border-radius:inherit;content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 14% 0,#ffffff94,#0000 48%),linear-gradient(#fff3,#0000 54%,#15191a09);position:absolute;inset:0}.home-nav:after{border-radius:inherit;content:"";pointer-events:none;z-index:0;position:absolute;inset:0;box-shadow:inset 0 10px 18px #fff3,inset 0 -10px 18px #15191a09}.home-nav>*{z-index:1;position:relative}.home-brand{color:var(--ink);letter-spacing:0;flex:none;align-items:center;gap:4px;font-size:18px;display:inline-flex}.home-brand span{font-weight:650}.home-brand strong{background:var(--ink);color:var(--cream);border-radius:8px;padding:5px 6px 4px;font-size:13px;line-height:1;box-shadow:inset 0 1px #ffffff1f,0 6px 18px #15191a29}.home-nav-links{color:#15191acc;flex:none;align-items:center;gap:3px;font-size:14px;font-weight:750;display:flex}.home-nav-links a{border-radius:999px;padding:9px 13px;transition:background .18s,box-shadow .18s,color .18s,transform .18s}.home-nav-links a:hover{color:var(--green-dark);background:#ffffff6b;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #15191a0a,0 8px 22px #15191a12}.home-hero{isolation:isolate;background:linear-gradient(128deg,#fff8e8 0%,#f3f5e9 42%,#e7f3f5 100%);grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);align-items:center;gap:clamp(34px,5vw,84px);min-height:calc(100svh - 14px);padding:clamp(132px,12vw,166px) clamp(18px,4vw,58px) clamp(64px,7vw,108px);display:grid;position:relative;overflow:hidden}.home-hero:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg,#fff8e8e6,#fff8e857 34%,#fff8e800 64%),repeating-linear-gradient(105deg,#08524709 0 1px,#0000 1px 36px),repeating-linear-gradient(18deg,#d9784506 0 1px,#0000 1px 96px),linear-gradient(#ffffff75,#0000 44%,#59808414);position:absolute;inset:0}.home-hero:after{content:"";opacity:.72;pointer-events:none;z-index:0;background:linear-gradient(118deg,#0000 0 43%,#0852470e 43% calc(43% + 2px),#0000 calc(43% + 2px) 100%),linear-gradient(22deg,#0000 0 58%,#1e5e920b 58% calc(58% + 2px),#0000 calc(58% + 2px) 100%),linear-gradient(150deg,#0000 0 64%,#e0aa3e0b 64% calc(64% + 2px),#0000 calc(64% + 2px) 100%);position:absolute;inset:72px 0 0 38%}.hero-scene{z-index:1;grid-area:1/2;min-height:min(68svh,720px);position:relative;overflow:hidden}.map-shell{pointer-events:none;transform-origin:62% 44%;height:100%;min-height:0;transform-style:preserve-3d;width:100%;position:absolute;inset:0;overflow:visible;transform:perspective(1300px)rotateX(5.5deg)rotateY(-6deg)rotate(-2.2deg)}.landing-map{filter:saturate(1.03)contrast(1.01);object-fit:contain;width:100%;height:100%;display:block;transform:translateZ(0)}.home-hero-copy{z-index:2;grid-area:1/1;max-width:580px;position:relative}.home-kicker,.home-eyebrow{color:var(--green-dark);letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 13px;font-size:13px;font-weight:900;display:inline-flex}.home-hero h1{color:#111516;letter-spacing:0;flex-wrap:wrap;align-items:center;gap:clamp(8px,1vw,14px);max-width:none;margin:0 0 22px;font-size:clamp(66px,8vw,118px);line-height:.88;display:flex}.home-hero h1 strong{background:var(--ink);color:var(--cream);border-radius:.22em;padding:.32em .38em .27em;font-size:.28em;line-height:1;display:inline-flex;transform:translateY(.06em)}.home-lede{color:#15191ac2;max-width:560px;margin-bottom:0;font-size:clamp(19px,1.7vw,24px);line-height:1.32}.home-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.home-primary,.home-secondary{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-weight:850;display:inline-flex}.home-primary{background:var(--ink);border:1px solid var(--ink);color:var(--cream)}.home-secondary{color:var(--ink);background:#fffaf0b8;border:1px solid #15191a29}.home-section{scroll-margin-top:calc(var(--home-nav-top) + 76px);padding:clamp(58px,8vw,108px) clamp(18px,4vw,58px)}.home-section-head{max-width:900px}.home-section h2,.home-contact h2{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(38px,6vw,82px);line-height:.92}.home-intro{background:var(--ink);color:#fff;grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr);align-items:end;gap:clamp(28px,6vw,84px);display:grid}.home-intro h2{color:#fff}.home-intro .home-eyebrow{color:#f1bd58}.intro-copy p{color:#ffffffb8;font-size:clamp(17px,1.7vw,21px);line-height:1.52}.quality-list{gap:10px;margin-top:20px;display:grid}.quality-list span{color:#ffffffe0;border-top:1px solid #ffffff26;align-items:center;gap:10px;padding-top:12px;font-weight:800;display:flex}.quality-list svg{color:#f1bd58}.service-band{background:#fff9ee;padding-top:clamp(34px,5vw,68px)}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.service-card{background:#fff;border:1px solid #15191a1a;border-radius:8px;min-height:280px;padding:clamp(22px,3vw,34px)}.service-card svg{color:var(--blue)}.service-card h3{color:var(--ink);letter-spacing:0;margin:24px 0 13px;font-size:clamp(24px,3vw,34px);line-height:1}.service-card p{color:#15191aa8;font-size:17px;line-height:1.5}.system-section{background:#e5f0eb;grid-template-columns:minmax(0,.82fr) minmax(320px,1fr);gap:clamp(28px,5vw,72px);display:grid}.system-copy{align-self:start;position:sticky;top:92px}.system-copy p:not(.home-eyebrow){color:#15191aad;margin-top:22px;font-size:19px;line-height:1.52}.process-list{gap:12px;display:grid}.process-list article{background:#fffaf0b8;border:1px solid #15191a1a;border-radius:8px;grid-template-columns:58px 1fr;align-items:start;gap:18px;padding:clamp(18px,2.8vw,28px);display:grid}.process-list article>span{background:var(--ink);color:var(--cream);border-radius:8px;place-items:center;height:46px;font-weight:900;display:grid}.process-list h3{margin:0 0 8px;font-size:clamp(22px,2.7vw,32px);line-height:1}.process-list p{color:#15191aa8;margin:0;font-size:16px}.home-contact{background:linear-gradient(120deg, #08715feb, #15191af0), var(--ink);color:#fff;scroll-margin-top:calc(var(--home-nav-top) + 76px);grid-template-columns:minmax(0,1fr) minmax(300px,.45fr);align-items:end;gap:clamp(26px,6vw,80px);padding:clamp(64px,9vw,124px) clamp(18px,4vw,58px);display:grid}.home-contact h2{color:#fff;max-width:860px}.home-contact p{color:#ffffffbd;max-width:720px;margin-top:20px;font-size:clamp(18px,1.8vw,22px);line-height:1.48}.home-contact .home-eyebrow{color:#f1bd58}.contact-actions{justify-items:start;gap:14px;display:grid}.contact-actions .home-primary{background:var(--cream);border-color:var(--cream);color:var(--ink)}.contact-actions span{color:#ffffffc2;align-items:center;gap:8px;font-size:14px;font-weight:750;display:inline-flex}.contact-actions svg{color:#f1bd58}.roof-preview{color:#15191a;background:radial-gradient(circle at 82% 10%,#30766829,#0000 32%),radial-gradient(circle at 15% 0,#e0aa3e2e,#0000 34%),linear-gradient(#fbf5e8 0%,#f2efe6 46%,#eaf2ef 100%);overflow:hidden}.roof-brand{align-items:center;gap:8px;min-width:0;font-size:18px;font-weight:900;display:inline-flex}.roof-nav div{align-items:center;gap:4px;font-size:14px;font-weight:800;display:flex}.roof-nav div a:not(.roof-call){color:#15191ab8;border-radius:999px;padding:10px 12px}.roof-nav div a:not(.roof-call):hover{color:#075247;background:#ffffff70}.roof-call{color:#fff7e2;background:#15191a;border-radius:999px;margin-left:6px;padding:11px 15px}.roof-hero{min-height:100svh;padding:calc(env(safe-area-inset-top,0px) + 106px) clamp(18px, 4vw, 58px) clamp(42px, 6vw, 78px);grid-template-columns:minmax(390px,.9fr) minmax(500px,1.1fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid;position:relative}.roof-hero:before{content:"";pointer-events:none;background:repeating-linear-gradient(106deg,#08524709 0 1px,#0000 1px 42px),linear-gradient(115deg,#ffffff70,#0000 54%);position:absolute;inset:0}.roof-hero-media{z-index:1;min-height:min(68svh,720px);position:relative}.roof-visual-stage{perspective:1400px;height:100%;min-height:min(68svh,720px);position:relative}.roof-hero-image{object-fit:contain;transform-origin:54%;width:100%;height:100%;animation:.85s ease-out both roofImageIn;display:block;transform:rotateX(5deg)rotateY(-7deg)rotate(-2deg)}.roof-gallery img{object-fit:cover;width:100%;height:100%;display:block}.roof-search-card,.roof-rating-card,.roof-inspection-card{z-index:3;-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);background:#fffaf0db;border:1px solid #ffffff9e;animation:6.5s ease-in-out infinite roofFloat;position:absolute;box-shadow:0 18px 48px #15191a29,inset 0 1px #ffffffb8}.roof-search-card{color:#15191a;border-radius:999px;align-items:center;gap:12px;width:min(480px,72%);min-height:56px;padding:0 20px;font-weight:900;display:flex;top:6%;left:4%}.roof-search-card svg{color:#08715f;flex:none}.roof-rating-card{color:#15191a;border-radius:22px;gap:5px;min-width:178px;padding:17px 18px;display:grid;top:16%;right:3%}.roof-rating-card div{color:#e0aa3e;gap:2px;display:flex}.roof-rating-card strong{font-size:42px;line-height:.9}.roof-rating-card span{color:#15191a9e;font-size:13px;font-weight:850}.roof-inspection-card{color:#075247;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:900;display:flex;bottom:15%;left:9%}.roof-map-pin{color:#fff7e2;z-index:4;background:#08715f;border:6px solid #fffaf0c7;border-radius:999px;place-items:center;width:52px;height:52px;animation:3.8s ease-in-out infinite roofPulse;display:grid;position:absolute;box-shadow:0 18px 38px #0852473d}.roof-map-pin.one{bottom:34%;right:28%}.roof-map-pin.two{animation-delay:1.2s;bottom:23%;right:12%}.roof-map-pin svg{fill:currentColor;stroke-width:2.8px}.roof-map-pin:after{border-radius:inherit;content:"";border:1px solid #08715f52;position:absolute;inset:-16px}.roof-fallback{background:linear-gradient(135deg,#fff7e224 25%,#0000 25%) 0 0/70px 70px,linear-gradient(135deg,#0000 75%,#e0aa3e33 75%) 0 0/70px 70px,linear-gradient(140deg,#174c40,#202423);place-items:end start;height:100%;display:grid;position:relative;overflow:hidden}.roof-fallback:before{content:"";opacity:.9;background:linear-gradient(145deg,#0000 0 42%,#fff7e2d1 42% 46%,#0000 46%),linear-gradient(35deg,#0000 0 45%,#e0aa3eb8 45% 49%,#0000 49%),linear-gradient(145deg,#0000 0 55%,#fff7e247 55% 58%,#0000 58%);position:absolute;inset:0}.roof-fallback span{color:#15191a;text-transform:uppercase;z-index:1;background:#fff7e2db;border:1px solid #ffffff52;border-radius:8px;margin:20px;padding:10px 12px;font-size:13px;font-weight:900;position:relative}.roof-media-card span,.roof-kicker{color:#196554;letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:900}.roof-hero-copy{z-index:2;align-self:center;max-width:720px;position:relative}.roof-hero h1,.roof-section h2,.roof-cta h2{color:#121617;letter-spacing:0;max-width:12.5ch;margin:0 0 20px;font-size:clamp(46px,5.2vw,76px);line-height:.92}.roof-hero-copy>p:not(.roof-kicker),.roof-section>div>p:not(.roof-kicker),.roof-cta p{color:#15191aad;max-width:700px;font-size:clamp(18px,1.8vw,23px);line-height:1.45}.roof-primary,.roof-secondary{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-weight:900;transition:transform .18s;display:inline-flex}.roof-secondary{color:#15191a;background:#fffaf0c7;border:1px solid #15191a24}.roof-trust span{background:#fffaf0b8;border:1px solid #15191a1a;border-radius:999px;align-items:center;gap:7px;padding:9px 11px;font-size:13px;font-weight:850;display:flex}.roof-stats{color:#fff;z-index:2;background:#15191af5;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 clamp(18px,4vw,58px);display:grid;position:relative;overflow:hidden}.roof-stats div{background:linear-gradient(#ffffff0d,#0000),#15191a;border-right:1px solid #ffffff1f;gap:6px;min-height:132px;padding:clamp(20px,3vw,34px);display:grid}.roof-stats strong{color:#f1bd58;font-size:clamp(34px,5vw,58px);line-height:.9}.roof-stats span{color:#ffffffb8;font-weight:760}.roof-section{padding:clamp(58px,8vw,108px) clamp(18px,4vw,58px);position:relative}.roof-section-head{max-width:900px}.roof-service-grid article{background:linear-gradient(#ffffffc2,#fffaf0b8),#fffaf0;border:1px solid #15191a17;border-radius:22px;min-height:235px;padding:clamp(22px,3vw,32px);transition:transform .22s,box-shadow .22s;box-shadow:0 18px 42px #15191a0f}.roof-service-grid article:hover{transform:translateY(-3px);box-shadow:0 24px 60px #15191a1a}.roof-service-grid article.featured>span{color:#f1bd58;background:#fff7e229}.roof-service-grid h3{margin:0 0 12px;font-size:clamp(24px,2.8vw,34px);line-height:1}.roof-service-grid p,.roof-review-stack p{color:#15191aa8;font-size:16px;line-height:1.5}.roof-service-grid article.featured p{color:#ffffffb8}.roof-proof{color:#fff;background:radial-gradient(circle at 86% 18%,#e0aa3e33,#0000 30%),linear-gradient(135deg,#17201f,#0d1112);grid-template-columns:minmax(0,.9fr) minmax(300px,.78fr);gap:clamp(28px,6vw,82px);display:grid}.roof-proof .roof-kicker{color:#f1bd58}.roof-proof h2{color:#fff}.roof-proof>div>p:not(.roof-kicker){color:#ffffffad}.roof-proof h2,.roof-areas h2,.roof-cta h2{max-width:760px}.roof-proof-path{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:620px;margin-top:34px;display:grid}.roof-proof-path span{color:#ffffffd1;text-align:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:10px 12px;font-size:13px;font-weight:900}.roof-review-stack article{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf01a;border:1px solid #ffffff1f;border-radius:22px;padding:24px}.roof-review-stack strong{margin-bottom:8px;font-size:18px;display:block}.roof-review-stack p{color:#ffffffa8}.roof-gallery{background:#fbf5e8;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:14px;min-height:420px;padding:clamp(18px,4vw,58px);display:grid}.roof-gallery>div{border-radius:28px;min-height:320px;position:relative;overflow:hidden;box-shadow:0 20px 54px #15191a1a}.roof-gallery>div:after{content:"";background:linear-gradient(#0000 46%,#15191ab3);position:absolute;inset:0}.roof-gallery img,.roof-gallery .roof-fallback{aspect-ratio:4/3;min-height:100%}.roof-gallery>div>span{color:#fff7e2;text-transform:uppercase;z-index:2;font-size:13px;font-weight:900;position:absolute;bottom:18px;left:18px;right:18px}.roof-area-panel{background:linear-gradient(135deg,#fffaf0c7,#fffaf07a),repeating-linear-gradient(120deg,#08524714 0 1px,#0000 1px 42px);border:1px solid #15191a17;border-radius:28px;min-height:330px;position:relative;overflow:hidden;box-shadow:0 18px 46px #15191a14}.roof-area-search{background:#fffaf0e0;border:1px solid #ffffff9e;border-radius:999px;align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:900;display:flex;position:absolute;top:22px;left:22px;right:22px;box-shadow:0 14px 32px #15191a14}.roof-area-orbit{color:#fff7e2;z-index:2;background:#08715f;border:8px solid #fffaf0b8;border-radius:999px;place-items:center;width:104px;height:104px;padding-top:14px;display:grid;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 28px #08715f14,0 0 0 62px #08715f0a,0 22px 44px #08524738}.roof-area-orbit svg{fill:currentColor}.roof-area-orbit span{text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:78px;font-size:11px;font-weight:900;overflow:hidden}.roof-area-line{background:#15191a1f;height:4px;position:absolute;top:58%;left:12%;right:10%;transform:rotate(-18deg)}.roof-area-line.b{top:43%;transform:rotate(22deg)}.roof-area-line.c{top:72%;transform:rotate(9deg)}.roof-area-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.roof-area-grid span{background:#fffaf0d1;border:1px solid #15191a1a;border-radius:999px;padding:13px 14px;font-weight:850}.roof-cta{color:#fff;background:radial-gradient(circle at 88% 18%,#e0aa3e2e,#0000 32%),linear-gradient(120deg,#174c40,#15191a);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;padding:clamp(64px,9vw,124px) clamp(18px,4vw,58px);display:grid}.roof-cta h2{color:#fff}.roof-cta p,.roof-cta .roof-kicker{color:#ffffffbd}.roof-cta .roof-primary{color:#15191a;background:#fff7e2;border-color:#fff7e2;box-shadow:0 18px 42px #0000002e}@keyframes roofFloat{0%,to{transform:translate(0,0)}50%{transform:translateY(-8px)}}@keyframes roofPulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes roofImageIn{0%{opacity:0;transform:rotateX(5deg)rotateY(-7deg)rotate(-2deg)translate(24px,18px)scale(.98)}to{opacity:1;transform:rotateX(5deg)rotateY(-7deg)rotate(-2deg)translate(0,0)scale(1)}}.nav{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;justify-content:space-between;align-items:center;padding:15px clamp(18px,5vw,64px);display:flex;position:sticky;top:0}.brand{font-size:18px;font-weight:850}.nav div{color:var(--muted);gap:20px;display:flex}.hero{background:linear-gradient(120deg, #08715f21, #d978451f), var(--soft);grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(28px,6vw,78px);min-height:82vh;padding:clamp(52px,8vw,116px) clamp(18px,5vw,64px);display:grid}.hero-copy{max-width:780px}.eyebrow{color:var(--orange);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:850}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:11ch;margin-bottom:20px;font-size:clamp(48px,8vw,92px);line-height:.94}h2{letter-spacing:0;margin-bottom:14px;font-size:clamp(30px,4.4vw,52px);line-height:1}h3{margin-bottom:8px;font-size:19px}p{color:var(--muted);font-size:18px;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.hero-panel,.score-card{background:#ffffffc7;border:1px solid #15191a1f;border-radius:8px;align-self:end;gap:12px;padding:24px;display:grid}.hero-panel div{align-items:center;gap:12px;font-weight:750;display:flex}.hero-panel svg{color:var(--green)}.band,.split,.contact{padding:clamp(48px,7vw,90px) clamp(18px,5vw,64px)}.section-head{max-width:760px;margin-bottom:26px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.cards article{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:22px}.cards svg{color:var(--green)}.split{background:var(--ink);color:#fff;grid-template-columns:minmax(0,.9fr) minmax(280px,.9fr);gap:48px;display:grid}.split p{color:#ffffffb8}.split ol,.suburb-list{gap:10px;margin:0;padding-left:22px;display:grid}.split li,.suburb-list li{border:1px solid #ffffff2e;border-radius:8px;padding:14px}.contact{justify-content:space-between;align-items:center;gap:24px;display:flex}.demo-nav{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px clamp(18px,5vw,64px);display:flex}.demo-nav a{background:var(--green);color:#fff;border-radius:7px;padding:10px 14px}.demo-hero{background:var(--soft);grid-template-columns:minmax(0,1fr) 290px;gap:40px;padding:clamp(52px,8vw,110px) clamp(18px,5vw,64px);display:grid}.score-card{grid-template-columns:auto 1fr}.score-card span{color:var(--muted)}.score-card strong{color:var(--green-dark)}.not-found{text-align:center;place-content:center;min-height:100vh;padding:24px;display:grid}.admin-login{place-items:center;min-height:100vh;display:grid}.admin-login form{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:12px;min-width:320px;padding:24px;display:grid}.admin-login input,.admin input,.admin select,.admin textarea{border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;padding:8px 9px}.admin{grid-template-columns:minmax(340px,35vw) 1fr;gap:10px;height:100vh;padding:10px;display:grid}.admin aside,.admin-detail{background:var(--paper);border:1px solid var(--line);border-radius:8px;min-height:0;overflow:auto}.admin aside{flex-direction:column;display:flex}.admin-head,.filters{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.filters{grid-template-columns:1fr 130px;display:grid}.admin h1{margin:0;font-size:22px}.lead-list{overflow:auto}.lead-row{border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:0;grid-template-columns:40px 1fr 92px;justify-content:stretch;align-items:center;gap:8px;width:100%;padding:9px 8px;display:grid}.lead-row.active,.lead-row:hover{background:var(--soft)}.lead-row span{background:#efefea;border-radius:6px;place-items:center;height:28px;font-weight:800;display:grid}.lead-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lead-row em{border:1px solid var(--line);text-align:center;border-radius:999px;padding:4px 8px;font-size:12px;font-style:normal}.empty{min-height:100%;color:var(--muted);place-content:center;display:grid}.lead-form{padding:14px}.detail-head{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:2;background:#fffdf8f0;justify-content:space-between;align-items:flex-start;margin:-14px -14px 12px;padding:14px;display:flex;position:sticky;top:0}.detail-kicker{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:900}.detail-head h2{max-width:820px;margin:0 0 9px;font-size:clamp(22px,3vw,34px);line-height:.98}.detail-meta{flex-wrap:wrap;gap:6px;display:flex}.detail-meta span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.detail-head>div:last-child{gap:8px;display:flex}.actions{border:1px solid var(--line);background:#fafaf7;border-radius:8px;flex-wrap:wrap;gap:7px;padding:9px;display:flex}.actions label{color:var(--muted);text-transform:uppercase;flex-basis:100px;font-size:12px;font-weight:850}.actions button{color:var(--ink);background:#fff;border-color:#b9c8c2}.confirm{background:#fff8e5;border:1px solid #d4a33c;border-radius:8px;align-items:center;gap:9px;margin-top:8px;padding:8px;display:flex}.confirm span{color:var(--muted);margin-right:auto}.lead-panel{background:#fffdf8c7;border:1px solid #161a181f;border-radius:8px;padding:12px;box-shadow:0 12px 30px #14231f0d}.lead-overview{grid-template-columns:1.6fr 1.2fr 1fr 86px;gap:8px;margin-top:12px;display:grid}.lead-overview div{border:1px solid var(--line);background:#ffffffb3;border-radius:7px;min-width:0;padding:10px}.lead-overview p,.section-title p{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:900}.lead-overview strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.12;display:block;overflow:hidden}.lead-sections{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:12px;margin-top:12px;display:grid}.wide-panel{grid-column:1/-1}.section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin:-2px 0 12px;padding-bottom:10px;display:flex}.section-title h3{margin:0;font-size:18px;line-height:1}.panel-link{background:var(--ink);color:#fff8e5;border-radius:7px;flex:none;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:900;display:inline-flex}.editor-grid{grid-template-columns:repeat(12,1fr);gap:9px;display:grid}.editor-grid.compact{grid-template-columns:repeat(6,1fr)}.editor-grid label{grid-column:span 3;gap:4px;display:grid}.editor-grid.compact label{grid-column:span 2}.editor-grid label.wide,.editor-grid.compact label.wide{grid-column:span 6}.editor-grid span{color:var(--muted);font-size:12px;font-weight:800}.editor-grid textarea{resize:vertical;min-height:76px}.linked-field>div{grid-template-columns:minmax(0,1fr) 38px;gap:6px;display:grid}.linked-field a{background:var(--soft);border:1px solid var(--line);color:var(--green);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.linked-field a:hover{background:#fff8e5;border-color:#b9c8c2}.savebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:2;background:#fffdf8f0;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;padding:12px 0;display:flex;position:sticky;bottom:0}.savebar span{color:var(--muted);margin-right:auto}.timeline{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.timeline>div{justify-content:space-between;align-items:center;display:flex}.timeline h3{margin:0}.timeline label{color:var(--muted);align-items:center;gap:6px;display:flex}.timeline input{width:auto}.timeline p{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:140px 120px 1fr;gap:8px;margin:0;padding:8px 0;font-size:14px;display:grid}.timeline time{color:var(--muted)}@media (width<=900px){.home{--home-nav-top:calc(env(safe-area-inset-top,0px) + 10px);--home-nav-width:calc(100% - 20px)}.home-nav{justify-content:flex-start;padding:7px 7px 7px 11px}.home-brand{gap:3px;font-size:15px}.home-brand strong{border-radius:7px;padding:4px 5px 3px;font-size:10px}.home-nav-links{gap:1px;margin-left:auto;font-size:12px}.home-nav-links a{padding:7px 5px}.home-hero{min-height:auto;padding:calc(env(safe-area-inset-top,0px) + 84px) 16px 34px;grid-template-columns:1fr;gap:28px}.home-hero-copy{max-width:100%}.home-hero h1{font-size:clamp(58px,17vw,86px)}.home-lede{max-width:100%;font-size:20px}.hero-scene{opacity:.96;grid-area:2/1;width:100%;min-height:clamp(320px,82vw,430px);overflow:hidden}.map-shell{width:100%;height:100%;min-height:0;transform:none}.home-intro,.system-section,.market-section,.home-contact,.lead-overview,.lead-sections{grid-template-columns:1fr}.wide-panel{grid-column:auto}.editor-grid,.editor-grid.compact{grid-template-columns:1fr}.editor-grid label,.editor-grid label.wide,.editor-grid.compact label,.editor-grid.compact label.wide{grid-column:auto}.detail-head{gap:12px}.detail-head h2{font-size:24px}.home-section,.home-contact{padding-inline:16px}.home-section h2,.home-contact h2{font-size:clamp(36px,12vw,58px)}.service-grid,.niche-grid{grid-template-columns:1fr}.service-card{min-height:0}.system-copy{position:static}.process-list article{grid-template-columns:48px 1fr;padding:18px}.process-list article>span{height:40px}.roof-nav{top:calc(env(safe-area-inset-top,0px) + 10px);align-items:center;gap:8px;width:calc(100% - 20px);padding:7px 8px 7px 12px}.roof-brand{font-size:14px;overflow:hidden}.roof-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roof-brand strong{padding:4px 6px;font-size:10px}.roof-nav div a:not(.roof-call){display:none}.roof-call{margin-left:0;padding:9px 11px;font-size:12px}.roof-hero{min-height:auto;padding:calc(env(safe-area-inset-top,0px) + 92px) 16px 34px;gap:22px}.roof-hero,.roof-proof,.roof-areas,.roof-cta{grid-template-columns:1fr}.roof-hero-media{order:2;min-height:clamp(330px,88vw,460px)}.roof-visual-stage{min-height:clamp(330px,88vw,460px)}.roof-hero-image{transform:none}.roof-hero-copy{padding:0}.roof-hero h1,.roof-section h2,.roof-cta h2{max-width:100%;font-size:clamp(40px,12vw,62px)}.roof-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.roof-service-grid article.featured{grid-column:auto}.roof-service-grid,.roof-gallery,.roof-area-grid{grid-template-columns:1fr}.roof-proof-path{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-gallery>div{min-height:260px}.roof-area-panel{min-height:300px}.roof-search-card{width:78%;min-height:46px;padding:0 13px;font-size:13px;top:4%;left:2%}.roof-rating-card{border-radius:18px;min-width:132px;padding:12px;top:20%;right:0}.roof-rating-card strong{font-size:32px}.roof-inspection-card{padding:10px 12px;font-size:11px;bottom:10%;left:4%}.roof-map-pin{width:42px;height:42px}.roof-section,.roof-cta{padding-inline:16px}.roof-gallery{min-height:0}.roof-gallery img{aspect-ratio:16/10}.hero,.demo-hero,.split,.admin{grid-template-columns:1fr;height:auto}.cards{grid-template-columns:1fr}h1{max-width:100%}.contact{flex-direction:column;align-items:flex-start}.editor-grid label,.editor-grid label.wide{grid-column:span 12}}.roof-preview{color:#111614;background:#f4f0e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.roof-preview img{max-width:100%;display:block}.roof-nav{left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);z-index:50;-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);background:#ffffffc7;border:0;border-radius:999px;justify-content:space-between;align-items:center;width:min(100% - 32px,1180px);padding:10px 10px 10px 18px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 22px 70px #00000038,inset 0 1px #ffffffdb}.roof-nav:after{border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(90deg,#ffffffd1,#0000 28%,#ffffff6b 72%,#0000);position:absolute;inset:1px}.roof-brand,.roof-nav button{appearance:none;color:inherit;cursor:pointer;font:inherit;z-index:1;background:0 0;border:0;position:relative}.roof-brand{letter-spacing:0;align-items:center;gap:8px;min-width:0;padding:7px 4px;font-size:clamp(16px,2vw,20px);font-weight:950;display:inline-flex}.roof-brand strong{color:#fff6df;text-transform:uppercase;background:#111614;border-radius:10px;padding:.22em .42em .27em;font-size:.78em}.roof-nav>div{z-index:1;align-items:center;gap:3px;display:flex;position:relative}.roof-nav button:not(.roof-brand){color:#111614b3;border-radius:999px;padding:11px 13px;font-size:14px;font-weight:850}.roof-nav button:not(.roof-brand):hover{color:#111614;background:#ffffffb8}.roof-hero{min-height:100svh;padding:calc(env(safe-area-inset-top,0px) + 112px) clamp(18px, 6vw, 92px) clamp(28px, 4vw, 62px);place-items:center start;display:grid;position:relative;overflow:hidden}.roof-hero:before{content:none}.roof-hero-bg,.roof-hero .roof-fallback{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.roof-hero-shade{background:linear-gradient(90deg,#050808e6 0%,#050808b8 42%,#05080838 72%,#05080861 100%),linear-gradient(#0508086b,#0000 36%,#050808ad);position:absolute;inset:0}.roof-hero-content{z-index:2;max-width:980px;padding-bottom:clamp(28px,5vw,54px);animation:.72s ease-out both roofFadeUp;position:relative}.roof-kicker{color:#d8ad53;letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:950}.roof-hero h1{color:#fffdf5;letter-spacing:0;max-width:920px;margin:0 0 22px;font-size:clamp(38px,4.3vw,58px);line-height:.94}.roof-hero-content>p:not(.roof-kicker){color:#fffdf5c7;max-width:720px;margin:0;font-size:clamp(16px,1.35vw,19px);line-height:1.45}.roof-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.roof-primary,.roof-secondary{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 22px;font-size:15px;font-weight:950;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.roof-primary{color:#111614;background:#fff6df;border:1px solid #fff6df;box-shadow:0 18px 42px #0000003d}.roof-secondary{color:#fffdf5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1a;border:1px solid #fff3}.roof-primary:hover,.roof-secondary:hover,.roof-call:hover{transform:translateY(-2px)}.roof-hero-proof{z-index:3;-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#ffffff1a;border:1px solid #ffffff29;border-radius:26px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;max-width:min(680px,100% - 36px);animation:.72s ease-out .16s both roofFadeUp;display:grid;position:absolute;bottom:clamp(18px,3vw,42px);right:clamp(18px,4vw,62px);overflow:hidden;box-shadow:0 24px 74px #0000002e}.roof-hero-proof div{border-right:1px solid #ffffff21;gap:8px;min-width:0;padding:18px 22px;display:grid}.roof-hero-proof div:last-child{border-right:0}.roof-hero-proof strong{color:#fff6df;font-size:clamp(28px,3.2vw,44px);line-height:.9}.roof-hero-proof span{color:#fffdf5b8;align-items:center;gap:5px;font-size:13px;font-weight:820;display:flex}.roof-hero-proof svg{color:#d8ad53}.roof-intro,.roof-section,.roof-work,.roof-process,.roof-areas,.roof-cta{padding:clamp(72px,9vw,132px) clamp(18px,6vw,92px)}.roof-intro{background:#f4f0e8;grid-template-columns:minmax(320px,.92fr) minmax(0,1fr);align-items:center;gap:clamp(34px,7vw,96px);display:grid}.roof-intro-media{border-radius:34px;min-height:560px;position:relative;overflow:hidden;box-shadow:0 24px 70px #1a1e1c24}.roof-intro-media img,.roof-intro-media .roof-fallback{object-fit:cover;width:100%;height:100%}.roof-counter{color:#fffdf5;background:#111614;border-radius:24px;gap:6px;max-width:240px;padding:22px;display:grid;position:absolute;bottom:22px;left:22px}.roof-counter strong{color:#d8ad53;font-size:54px;line-height:.9}.roof-counter span{color:#fffdf5b8;font-size:13px;font-weight:820;line-height:1.35}.roof-intro-copy h2,.roof-section h2,.roof-work h2,.roof-process h2,.roof-areas h2,.roof-cta h2{color:#111614;letter-spacing:0;max-width:820px;margin:0 0 20px;font-size:clamp(42px,5.8vw,82px);line-height:.92}.roof-intro-copy>p:not(.roof-kicker),.roof-section-head>p,.roof-work-head>p,.roof-process-copy>p,.roof-area-copy>p,.roof-cta p{color:#111614a8;max-width:720px;margin:0;font-size:clamp(17px,1.6vw,21px);line-height:1.55}.roof-trust{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.roof-trust span{color:#111614cc;background:#fffaf0;border:1px solid #11161414;border-radius:999px;align-items:center;gap:7px;padding:10px 12px;font-size:13px;font-weight:850;display:flex;box-shadow:0 10px 28px #1116140f}.roof-trust svg{color:#16634f;flex:none}.roof-services{background:#e9eef2}.roof-section-head,.roof-work-head,.roof-process-copy{max-width:920px}.roof-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px;display:grid}.roof-service-grid article{box-shadow:none;background:#ffffff94;border:1px solid #11161414;border-radius:26px;flex-direction:column;min-height:350px;padding:26px;transition:background .24s,color .24s,transform .24s;display:flex;position:relative;overflow:hidden}.roof-service-grid article.featured{color:#fffdf5;background:#111614;grid-column:span 2}.roof-service-grid article:hover{color:#fffdf5;background:#111614;transform:translateY(-5px)}.roof-service-grid article>span{color:#16634f;background:#fffaf0;border-radius:999px;place-items:center;width:48px;height:48px;margin-bottom:auto;display:grid}.roof-service-grid article.featured>span,.roof-service-grid article:hover>span{color:#d8ad53;background:#fff6df1f}.roof-service-grid h3{letter-spacing:0;margin:34px 0 14px;font-size:clamp(27px,3vw,40px);line-height:.98}.roof-service-grid p{color:#1116149e;margin:0;font-size:16px;line-height:1.5}.roof-service-grid article.featured p,.roof-service-grid article:hover p{color:#fffdf5a8}.roof-service-grid article>svg{color:#111614;box-sizing:content-box;background:#fff6df;border-radius:999px;padding:11px;transition:transform .2s;position:absolute;bottom:22px;right:22px;transform:rotate(-35deg)}.roof-service-grid article:hover>svg{transform:rotate(0)}.roof-work{color:#fffdf5;background:#111614}.roof-work h2,.roof-process h2,.roof-cta h2{color:#fffdf5}.roof-work-head>p,.roof-process-copy>p,.roof-cta p{color:#fffdf5a8}.roof-project-grid{grid-template-columns:1.05fr .95fr;gap:20px;margin-top:44px;display:grid}.roof-project-grid article{border-radius:32px;height:520px;position:relative;overflow:hidden}.roof-project-grid article:first-child{grid-row:span 2;height:760px}.roof-project-grid img,.roof-project-grid .roof-fallback{object-fit:cover;width:100%;height:100%;transition:transform .5s}.roof-project-grid article:hover img{transform:scale(1.045)}.roof-project-grid article:after{content:"";background:linear-gradient(#0000 40%,#000000b8);position:absolute;inset:0}.roof-project-grid article>div{z-index:2;padding:28px;position:absolute;bottom:0;left:0;right:0}.roof-project-grid span{color:#fff6df;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff29;border:1px solid #ffffff2e;border-radius:999px;margin-bottom:13px;padding:8px 11px;font-size:13px;font-weight:900;display:inline-flex}.roof-project-grid h3{color:#fffdf5;max-width:640px;margin:0 0 12px;font-size:clamp(30px,4vw,58px);line-height:.95}.roof-project-grid p{color:#fffdf5b8;max-width:520px;margin:0;line-height:1.45}.roof-process{background:#f4f0e8;grid-template-columns:minmax(0,.9fr) minmax(340px,.82fr);align-items:start;gap:clamp(34px,7vw,90px);display:grid}.roof-process h2{color:#111614}.roof-process-copy>p{color:#111614a8}.roof-review-stack{gap:14px;display:grid}.roof-review-stack article{background:#fffaf0;border:1px solid #11161414;border-radius:24px;gap:10px;padding:24px;display:grid;box-shadow:0 18px 48px #1116140f}.roof-review-stack article span{color:#d8ad53;font-size:13px;font-weight:950}.roof-review-stack strong{color:#111614;font-size:22px}.roof-review-stack p{color:#1116149e;margin:0;line-height:1.5}.roof-areas{background:#e8eee8;grid-template-columns:minmax(320px,.9fr) minmax(0,1fr);align-items:center;gap:clamp(34px,7vw,90px);display:grid}.roof-area-photo{border-radius:34px;height:560px;position:relative;overflow:hidden;box-shadow:0 22px 64px #1116141f}.roof-area-photo img,.roof-area-photo .roof-fallback{object-fit:cover;width:100%;height:100%}.roof-area-search{color:#111614;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:0;border-radius:999px;align-items:center;gap:10px;padding:15px 18px;font-size:15px;font-weight:950;display:flex;position:absolute;top:22px;left:22px;right:22px;box-shadow:0 18px 44px #11161424}.roof-area-search svg{color:#16634f}.roof-area-grid{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.roof-area-grid span{color:#111614c2;background:#fffaf0d1;border:1px solid #11161414;border-radius:999px;padding:11px 13px;font-size:14px;font-weight:850}.roof-cta{color:#fffdf5;background:linear-gradient(90deg,#111614e6,#1116148f),url(/template-assets/roofing/photos/roofer-1.jpg) 50%/cover;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;min-height:560px;display:grid}.roof-cta .roof-primary{color:#111614;background:#fff6df;border-color:#fff6df}.roof-fallback{color:#fff6df;background:linear-gradient(135deg,#fff6df2e,#0000 45%),linear-gradient(145deg,#25342f,#111614);place-items:end start;min-height:260px;display:grid}.roof-fallback span{color:#111614;text-transform:uppercase;background:#fff6dfe6;border-radius:999px;margin:18px;padding:9px 12px;font-size:12px;font-weight:950}@keyframes roofFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.roof-nav{top:calc(env(safe-area-inset-top,0px) + 10px);width:calc(100% - 18px);padding:8px 9px 8px 13px}.roof-brand{font-size:15px;overflow:hidden}.roof-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roof-nav button:not(.roof-brand){display:none}.roof-call{margin-left:0;padding:10px 12px;font-size:12px}.roof-hero{min-height:92svh;padding:calc(env(safe-area-inset-top,0px) + 98px) 18px 18px}.roof-hero-shade{background:linear-gradient(#050808c2 0%,#0508089e 48%,#050808db 100%),linear-gradient(90deg,#05080885,#0000)}.roof-hero h1{max-width:10ch;font-size:clamp(44px,15vw,74px)}.roof-hero-proof{grid-template-columns:1fr;width:100%;max-width:100%;margin-top:28px;position:relative;bottom:auto;right:auto}.roof-hero-proof div{border-bottom:1px solid #ffffff21;border-right:0;padding:18px}.roof-intro,.roof-process,.roof-areas,.roof-cta{grid-template-columns:1fr}.roof-intro,.roof-section,.roof-work,.roof-process,.roof-areas,.roof-cta{padding:64px 18px}.roof-intro-media,.roof-area-photo{height:360px}.roof-intro-copy h2,.roof-section h2,.roof-work h2,.roof-process h2,.roof-areas h2,.roof-cta h2{font-size:clamp(38px,12vw,62px)}.roof-service-grid,.roof-project-grid{grid-template-columns:1fr}.roof-service-grid article.featured{grid-column:auto}.roof-service-grid article{min-height:300px}.roof-project-grid article,.roof-project-grid article:first-child{grid-row:auto;height:420px}.roof-cta{align-items:end;min-height:560px}}@media (width<=520px){.roof-actions{flex-direction:column;align-items:stretch}.roof-primary,.roof-secondary{width:100%}.roof-call{text-overflow:ellipsis;white-space:nowrap;max-width:44vw;overflow:hidden}.roof-counter{bottom:14px;left:14px;right:14px}.roof-project-grid article>div{padding:22px}}.roof-preview{color:#080e14;background:#fff}.roof-nav{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;width:auto;height:94px;padding:0 48px;position:absolute;top:22px;left:22px;right:22px;transform:none}.roof-nav:after{clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);content:"";z-index:0;background:#fff;border-radius:0 0 28px 28px;width:min(760px,48vw);height:92px;position:absolute;inset:0 auto auto 50%;transform:translate(-50%)}.roof-brand{color:#fff;gap:14px;padding:0;font-size:clamp(28px,3vw,42px)}.roof-brand>span:not(.roof-logo-mark){color:#fff;text-shadow:0 1px 18px #00000040}.roof-logo-mark{width:44px;height:28px;display:inline-block;position:relative}.roof-logo-mark:before,.roof-logo-mark:after{content:"";position:absolute}.roof-logo-mark:before{border-bottom:8px solid #fff;border-left:18px solid #0000;border-right:18px solid #0000;top:2px;left:4px}.roof-logo-mark:after{border-bottom:7px solid #f0bd3e;border-left:13px solid #0000;border-right:13px solid #0000;top:13px;left:9px}.roof-nav>div{z-index:2;background:0 0;gap:clamp(20px,3vw,46px);position:absolute;top:32px;left:50%;transform:translate(-50%)}.roof-nav button:not(.roof-brand){color:#080e14;padding:0;font-size:clamp(16px,1.45vw,22px);font-weight:760}.roof-nav button:not(.roof-brand):first-child{text-underline-offset:8px;text-decoration:underline;text-decoration-thickness:2px}.roof-nav button:not(.roof-brand):hover{background:0 0}.roof-call{color:#080e14;z-index:2;background:#efbd3f;border-radius:999px;margin-left:0;padding:22px 42px;font-size:clamp(16px,1.45vw,22px);font-weight:850;position:relative}.roof-hero{border-radius:26px;place-items:start;min-height:calc(100svh - 44px);margin:22px;padding:124px clamp(30px,5vw,72px) 72px}.roof-hero-bg,.roof-hero .roof-fallback{filter:saturate(.88)contrast(1.06);object-position:center}.roof-hero-shade{background:linear-gradient(90deg,#1c344ee6,#2b4b6db8 42%,#3152746b 68%,#31527426),linear-gradient(#1f395733,#1f39576b)}.roof-hero-content{max-width:1020px;padding-bottom:0}.roof-hero .roof-kicker{display:none}.roof-hero h1{color:#fff;max-width:1080px;margin-bottom:30px;font-size:clamp(42px,4.7vw,76px);font-weight:850;line-height:1.08}.roof-hero-content>p:not(.roof-kicker){color:#ffffffe6;max-width:720px;font-size:clamp(18px,1.35vw,24px);font-weight:650;line-height:1.35}.roof-actions{align-items:center;gap:28px;margin-top:34px}.roof-primary{box-shadow:none;color:#080e14;background:#efbd3f;border-color:#efbd3f;min-height:72px;padding:0 42px;font-size:clamp(16px,1.3vw,22px)}.roof-phone-link{color:#fff;align-items:center;gap:14px;font-size:clamp(18px,1.4vw,24px);font-weight:760;display:inline-flex}.roof-phone-link svg{fill:currentColor}.roof-secondary{display:none}.roof-intro{background:#fff;grid-template-columns:minmax(420px,.9fr) minmax(0,.98fr);gap:clamp(60px,7vw,138px);padding:clamp(110px,14vw,220px) clamp(30px,5vw,74px) clamp(70px,8vw,128px)}.roof-intro-media{box-shadow:none;background:#eaf3ff;border-radius:28px;height:clamp(620px,54vw,900px);position:relative;overflow:visible}.roof-intro-media img,.roof-intro-media .roof-fallback{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%}.roof-counter{color:#080e14;background:#fff;border-radius:0 0 34px 34px;place-items:center;gap:0;max-width:none;height:128px;padding:0 66px;display:grid;top:0;bottom:auto;left:50%;transform:translate(-50%)}.roof-counter:before,.roof-counter:after{content:"";background:#fff;width:88px;height:128px;position:absolute;top:0}.roof-counter:before{border-bottom-left-radius:28px;left:-58px;transform:skew(28deg)}.roof-counter:after{border-bottom-right-radius:28px;right:-58px;transform:skew(-28deg)}.roof-counter strong{color:#080e14;z-index:1;font-size:clamp(56px,5.6vw,92px);font-weight:850;line-height:.9;position:relative}.roof-counter span{display:none}.roof-intro-copy h2,.roof-section h2,.roof-work h2,.roof-process h2,.roof-areas h2,.roof-cta h2{color:#080e14;margin-bottom:32px;font-size:clamp(50px,5.8vw,92px);font-weight:850;line-height:1.18}.roof-intro-copy>p:not(.roof-kicker){color:#080e14ad;max-width:850px;font-size:clamp(21px,1.65vw,29px);font-weight:650;line-height:1.45}.roof-dark-button{color:#efbd3f;background:#080e14;border-radius:999px;align-items:center;min-height:74px;margin-top:70px;padding:0 42px;font-size:clamp(18px,1.45vw,24px);font-weight:760;display:inline-flex}.roof-rating-row{align-items:center;gap:42px;margin-top:clamp(90px,12vw,180px);display:flex}.roof-avatars{display:flex}.roof-avatars img,.roof-avatars .roof-fallback{object-fit:cover;border:3px solid #fff;border-radius:999px;width:76px;height:76px;margin-left:-18px}.roof-avatars img:first-child,.roof-avatars .roof-fallback:first-child{margin-left:0}.roof-rating-row strong{color:#080e14;margin-bottom:16px;font-size:clamp(22px,1.7vw,31px);display:block}.roof-rating-row span{color:#efbd3f;gap:8px;display:flex}.roof-trust{margin-top:70px}.roof-trust span{box-shadow:none;color:#080e14ad;background:0 0;border:0;padding:0;font-size:clamp(18px,1.3vw,23px)}.roof-services{background:#fff;padding-top:64px}.roof-section-head .roof-kicker,.roof-work-head .roof-kicker,.roof-process-copy .roof-kicker,.roof-area-copy .roof-kicker{color:#efbd3f}.roof-section-head>p,.roof-work-head>p,.roof-process-copy>p,.roof-area-copy>p,.roof-cta p{font-size:clamp(19px,1.35vw,24px)}@media (width<=980px){.roof-nav{height:auto;padding:20px;top:14px;left:14px;right:14px}.roof-nav:after{display:none}.roof-brand{font-size:22px}.roof-logo-mark{width:34px;height:22px}.roof-nav>div{display:none}.roof-call{padding:13px 18px;font-size:14px}.roof-hero{min-height:88svh;margin:10px;padding:112px 24px 48px}.roof-hero h1{margin-bottom:24px;font-size:clamp(42px,12vw,68px);line-height:1.02}.roof-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:34px}.roof-primary{width:auto;min-height:58px;padding:0 24px}.roof-intro{grid-template-columns:1fr;padding:82px 18px 58px}.roof-intro-media{height:480px}.roof-counter{height:96px;padding-inline:42px}.roof-counter:before,.roof-counter:after{width:58px;height:96px}.roof-intro-copy h2,.roof-section h2,.roof-work h2,.roof-process h2,.roof-areas h2,.roof-cta h2{font-size:clamp(40px,11vw,62px);line-height:1.08}.roof-dark-button{min-height:58px;margin-top:36px;padding:0 26px}.roof-rating-row{flex-direction:column;align-items:flex-start;gap:20px;margin-top:54px}}
