:root{--ink:#0B2E25;--paper:#F4F1EA;--gold:#C89B3F;--gold-text:#8A6A22;--muted:#5B6660;--line:#d7d7cb;--font:'Plus Jakarta Sans',Arial,sans-serif;--display:'Archivo','Arial Narrow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.8}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-stretch:condensed;font-weight:600;line-height:1.08;letter-spacing:-.012em}h1{font-size:clamp(56px,5.4vw,78px);font-weight:700;font-stretch:extra-condensed;letter-spacing:-.018em}h2{font-size:clamp(40px,4.1vw,58px)}h3{font-size:29px}p{color:var(--muted)}header{background:var(--ink);color:var(--paper)}.nav{display:flex;align-items:center;justify-content:space-between;gap:40px;height:100px;border-bottom:1px solid #ffffff20}.brand{display:block;padding:12px 0}.brand img{width:229px;height:auto}.links{display:flex;gap:29px;align-items:center;font-size:12px}.links>a{color:#c6d1c8;transition:color .2s}.links>a:hover{color:var(--paper)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);padding:16px 24px;color:var(--paper);font-size:12px;line-height:1.5;font-weight:700;transition:background .2s,transform .2s}.btn:hover{background:#214e3e;transform:translateY(-2px)}.btn.arrow:after{content:'↗';font-size:18px;line-height:1}.btn.light,header .btn,.hero .btn:not(.outline){background:var(--paper);border-color:var(--paper);color:var(--ink)}.btn.light:hover,header .btn:hover,.hero .btn:not(.outline):hover{background:#e2dccf}.btn.outline{background:transparent;color:var(--ink);border-color:#86958b}.btn.outline:hover{background:#0b2e2508}.hero .btn.outline,.closing .btn.outline{color:var(--paper);border-color:#7c9588}.hero .btn.outline:hover,.closing .btn.outline:hover{background:#ffffff0c}.eyebrow{font-family:var(--display);font-weight:600;font-stretch:normal;font-size:11px;line-height:1.6;letter-spacing:.16em;display:flex;align-items:center;gap:13px;margin-bottom:25px}.eyebrow:before{content:'';display:inline-block;width:30px;height:3px;background:var(--gold);flex-shrink:0}.hero{background:var(--ink);color:var(--paper);padding:62px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:67px}.hero .eyebrow{color:#c4cebd;margin-bottom:22px;font-size:10px;letter-spacing:.13em}.accent{color:var(--gold)}.hero .sub{font-family:var(--display);font-stretch:condensed;font-size:27px;color:var(--paper);margin:19px 0 23px;line-height:1.2}.hero .copy{font-size:13px;line-height:1.85;max-width:550px}.hero .copy p{color:#becdc3}.hero .copy p+p{margin-top:12px}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px}.micro{font-size:10px;line-height:1.7;margin-top:17px}.hero .micro{color:#b6c7bc}.hero-visual{align-self:stretch;padding-top:3px;display:flex;flex-direction:column;justify-content:center}.photo-frame{position:relative;height:562px;overflow:hidden;background:#294b3c}.photo-frame>img{width:100%;height:100%;object-fit:cover;object-position:44% center}.photo-caption{position:absolute;left:24px;right:24px;bottom:24px;background:var(--ink);padding:19px 22px;display:flex;gap:15px;align-items:center;font-family:var(--display);font-size:10px;line-height:1.7;letter-spacing:.13em;color:#b8c8bd}.photo-caption strong{display:block;font-family:var(--font);font-size:13px;font-weight:500;letter-spacing:0;color:var(--paper)}.photo-mark{width:27px;height:4px;background:var(--gold);flex-shrink:0}.hero-visual figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:17px;font-family:var(--display);font-size:9px;letter-spacing:.11em;color:#b8c8bd}.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ffffff20;padding:24px 0;margin-top:51px;font-family:var(--display);font-size:9px;letter-spacing:.12em;color:#b8c8bd}.trades{display:flex;flex-wrap:wrap;gap:27px;font-family:var(--font);font-size:11px;letter-spacing:0;color:var(--paper)}section.section{padding:104px 0}.intro{max-width:670px}.intro p{margin-top:23px}.challenge-intro{display:grid;grid-template-columns:1.2fr 1fr;column-gap:100px;align-items:center}.challenge-intro .eyebrow{grid-column:1/-1}.challenge-intro h2{max-width:630px}.challenge-copy p{font-size:14px}.challenge-copy p+p{margin-top:16px!important}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:57px}.problem-grid article{border-top:1px solid #aeb9ac;padding-top:23px}.number{font-family:var(--display);font-size:10px;letter-spacing:.1em;color:var(--gold-text);margin-bottom:30px}.problem-grid h3{font-size:32px}.problem-grid p{font-size:13px;margin-top:18px;line-height:1.85}.statement{margin-top:44px;padding:26px 0 0 39px;border-top:1px solid var(--line);position:relative;font-size:17px;line-height:1.7;max-width:950px;color:var(--ink)}.statement:before{content:'';position:absolute;width:23px;height:3px;background:var(--gold);left:0;top:38px}.solution{background:var(--ink);color:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.solution .eyebrow{color:#c4cebd}.solution p{color:#b7c8bb}.solution .intro p{font-size:14px;line-height:1.9}.solution .intro{max-width:540px}.solution .tagline{font-size:11px;color:#c3cfbf;margin-top:23px}.system-list article{display:grid;grid-template-columns:32px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #ffffff25}.system-list article:first-child{padding-top:0}.circle{font-family:var(--display);color:var(--gold);font-size:15px;letter-spacing:.1em;margin-top:4px}.circle:before{content:'0'}.system-list h3{font-size:28px}.system-list p{font-size:12px;margin-top:13px;line-height:1.9}.workflow-strip{margin-top:62px;border-top:1px solid #ffffff25;padding-top:27px;display:flex;align-items:center;gap:31px;justify-content:space-between;font-size:11px}.workflow-label{font-family:var(--display);font-size:9px;letter-spacing:.12em;color:#b7c8bb}.workflow-strip>div{display:flex;align-items:center;gap:12px}.workflow-strip div>span{color:var(--gold);font-size:10px}.workflow-strip b{font-weight:400;color:#6f9180;margin-left:13px}.center{text-align:center;margin:auto;max-width:710px}.center .eyebrow{justify-content:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin:57px 0 42px}.step-no{font-family:var(--display);font-stretch:extra-condensed;font-size:60px;line-height:1;color:var(--gold-text);border-bottom:1px solid #b7c1b5;margin-bottom:25px;padding-bottom:24px}.steps h3{font-size:31px;max-width:300px}.steps p{font-size:13px;margin-top:18px;line-height:1.85}.steps p+p{margin-top:12px}.center-note{text-align:center}.center-note p{color:var(--ink);font-size:14px;margin-bottom:22px}.industries{background:#e8e7dd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px}.section-heading>p{max-width:330px;font-size:14px;line-height:1.9}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:45px}.industry{background:var(--paper);overflow:hidden;border:1px solid #d4d6ca}.trade-art{height:215px;background:var(--ink);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.trade-art svg{height:140px;width:200px;fill:none;stroke:#c8c9ad;stroke-width:1.15}.industry:nth-child(3) .trade-art{background:#183d30}.roof-photo img{height:100%;width:100%;object-fit:cover;object-position:40% 50%;transition:transform .6s}.industry:hover .roof-photo img{transform:scale(1.035)}.industry-body{padding:28px 28px 30px}.trade-index{font-family:var(--display);font-size:9px;letter-spacing:.13em;color:var(--gold-text);display:block;margin-bottom:18px}.industry h3{font-size:31px}.industry p{font-size:12px;line-height:1.9;margin:17px 0 25px}.text-link{padding:0 0 5px;border:0;border-bottom:1px solid #849388;background:none;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}.text-link:after{content:'↗';display:inline-block;margin-left:15px}.soon{display:block;font-size:10px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:13px}.other{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:32px;padding-top:25px;border-top:1px solid #bcc4b8}.other p{font-size:12px}.other strong{color:var(--ink);display:block;font-weight:600;margin-bottom:3px}.options .center{max-width:720px}.options .center>p{font-size:14px;max-width:530px;margin-left:auto;margin-right:auto}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:43px}.option{padding:40px 42px;background:#ebece2;border:1px solid #c7cebf;position:relative}.option:first-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}.option:first-child:before{content:'';position:absolute;left:42px;top:-2px;width:42px;height:4px;background:var(--gold)}.option-top{font-family:var(--display);font-size:10px;letter-spacing:.12em;color:var(--gold-text);margin-bottom:26px}.option:first-child .option-top{color:#d3bd86}.option h3{font-size:38px;max-width:340px;min-height:82px}.option p{font-size:13px;min-height:48px;line-height:1.8;margin-top:20px}.option:first-child p{color:#bfcec1}.option ul{list-style:none;padding:22px 0 0;border-top:1px solid #bdc7b9;margin:25px 0 0}.option:first-child ul{border-color:#ffffff25}.option li{padding-left:25px;position:relative;font-size:12px;margin:15px 0;line-height:1.75}.option li:before{content:'✓';position:absolute;left:0;color:var(--gold-text)}.option:first-child li:before{color:var(--gold)}.options .center-note{margin-top:32px}.options .center-note p{font-size:12px}.area{background:#e7e9de;border-top:1px solid var(--line);position:relative}.area .split{align-items:center;gap:95px}.area h2{font-size:47px}.area p{font-size:13px;margin-top:24px}.county-label{font-family:var(--display);font-size:10px;letter-spacing:.16em;color:var(--gold-text);text-transform:uppercase;margin-bottom:14px}.counties{display:grid;grid-template-columns:repeat(3,1fr);column-gap:23px}.counties span{font-size:12px;border-bottom:1px solid #bfc8b9;padding:17px 0}.area .area-last{font-size:11px;line-height:1.85;margin-top:28px}.closing{background:var(--ink);color:var(--paper)}.closing .wrap{max-width:930px}.closing .eyebrow{color:#c3ceba}.closing h2{font-size:clamp(44px,4.8vw,66px);max-width:900px;margin:auto}.closing p{color:#bfcec1;font-size:14px;margin:27px auto 0;max-width:650px}.closing p+p{font-size:12px;margin-top:13px}.closing .actions{justify-content:center;margin-top:32px}.closing .micro{font-size:10px;color:#b5c6b8;margin-top:22px}.closing:before{content:'';display:block;width:42px;height:4px;background:var(--gold);position:absolute}.closing{position:relative}.closing:before{top:0;left:calc(50% - 21px)}footer{background:var(--paper);padding:37px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between}.footer-top .brand img{width:216px}.footer-top>a:not(.brand){font-size:12px;color:var(--muted)}.footer-bottom{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:10px;color:var(--muted)}.menu{display:none;background:transparent;color:var(--paper);border:1px solid #ffffff40;padding:7px 13px;font-size:20px}.skip{position:absolute;top:-100px;left:15px;z-index:20;background:var(--paper);padding:12px}.skip:focus{top:10px}dialog{padding:39px;border:1px solid #bbbfaf;border-radius:3px;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0004}dialog::backdrop{background:#041b15cc;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:13px;top:8px;border:0;background:none;color:var(--ink);font-size:28px;padding:3px 8px}dialog .eyebrow{font-size:9px;margin-bottom:19px}dialog h2{font-size:38px;padding-right:15px}dialog p{font-size:12px;margin-top:16px}label{display:block;font-size:11px;font-weight:600;margin:17px 0 6px}input,select,textarea{width:100%;background:#ecece3;border:1px solid #bac5b7;border-radius:2px;color:var(--ink);padding:10px 12px;font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-text);outline-offset:2px}textarea{height:85px;resize:vertical}form .btn{width:100%;margin-top:22px}.form-note{font-size:10px!important;line-height:1.7}.roof-points{font-size:12px;line-height:2;padding-left:18px}.demo-tabs{display:flex;gap:7px;margin-top:24px}.demo-tabs button{background:transparent;color:var(--ink);border:1px solid #aab9a8;padding:8px 14px;font-size:11px}.demo-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.demo-box{background:#e7eadf;padding:22px;margin-top:18px;border-left:3px solid var(--gold)}.demo-box p{font-size:14px;line-height:1.7;margin:0}.demo-box dl{font-size:12px}.demo-box dt{color:var(--muted);margin-top:13px}.demo-box dd{margin:0;font-weight:600}.demo-box .result{font-size:12px;color:var(--ink);border-top:1px solid #b3c1ae;padding-top:15px;margin-top:20px}@media(min-width:1550px){.hero{padding-top:80px}.hero-grid{gap:85px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.brand img{width:205px}.links{gap:20px;font-size:11px}.hero-grid{gap:40px}.photo-frame{height:545px}.hero h1{font-size:63px}.hero .copy{font-size:12px}.hero .eyebrow{font-size:9px}.split,.challenge-intro{gap:55px}.workflow-strip{gap:15px}.workflow-label{max-width:95px}.workflow-strip>div{font-size:10px;gap:7px}.workflow-strip b{margin-left:3px}.industry-body{padding:24px 20px}.industry h3{font-size:28px}.option{padding:34px}.option h3{font-size:34px}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.nav{height:84px}.brand img{width:200px}.menu{display:block}.links{display:none;position:absolute;z-index:10;top:84px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid #80917c;gap:21px;font-size:14px}.links.open{display:flex}.hero{padding-top:42px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(52px,9.5vw,76px);max-width:660px}.hero .sub{font-size:28px;margin:18px 0}.hero .copy{font-size:13px;max-width:600px}.hero .eyebrow{font-size:9px}.hero .copy p+p{margin-top:13px}.hero-visual{padding:0}.photo-frame{height:420px}.photo-frame>img{object-position:50% 45%}.photo-caption{max-width:350px}.hero-visual figcaption{font-size:8px}.hero-bottom{margin-top:31px;align-items:start;flex-direction:column;gap:13px}.trades{gap:20px;font-size:10px;line-height:1.8}.hero-bottom>span{font-size:8px}section.section{padding:69px 0}.challenge-intro{grid-template-columns:1fr;gap:0}.challenge-copy{margin-top:23px}.challenge-copy p{font-size:13px}.problem-grid{gap:25px;margin-top:35px}.number{font-size:8px;margin-bottom:20px}.problem-grid h3{font-size:26px}.problem-grid p{font-size:11px}.statement{font-size:14px;line-height:1.8}.split,.area .split{grid-template-columns:1fr;gap:40px}.solution .intro{max-width:none}.solution .intro h2{max-width:630px}.system-list article{grid-template-columns:28px 1fr;gap:13px}.system-list h3{font-size:28px}.system-list p{font-size:13px}.workflow-strip{margin-top:35px;flex-wrap:wrap;justify-content:start;gap:20px 30px}.workflow-label{max-width:none;width:100%}.workflow-strip>div{font-size:11px;flex-basis:calc(50% - 15px)}.workflow-strip b{display:none}.steps{gap:26px;margin-top:37px}.step-no{font-size:49px}.steps h3{font-size:27px}.steps p{font-size:11px}.section-heading{display:block}.section-heading>p{margin-top:23px;max-width:450px;font-size:13px}.industry-grid{grid-template-columns:1fr;margin-top:33px;gap:17px}.industry{display:grid;grid-template-columns:36% 1fr}.trade-art{height:100%;min-height:260px}.trade-art svg{width:80%;height:145px}.industry-body{padding:27px}.industry h3{font-size:32px}.industry p{font-size:12px}.trade-index{margin-bottom:12px}.other{gap:20px;align-items:start}.other p{font-size:11px}.other .text-link{white-space:nowrap}.options-grid{gap:18px}.option{padding:27px}.option h3{font-size:31px;min-height:78px}.option p{font-size:12px;min-height:67px}.option li{font-size:11px}.option:first-child:before{left:27px}.option-top{font-size:8px}.area h2{font-size:43px;max-width:620px}.counties span{font-size:13px}.closing .center{max-width:650px}.closing h2{font-size:49px}.footer-bottom{font-size:9px}.footer-top .brand img{width:200px}}@media(max-width:520px){.hero .eyebrow{font-size:8px;letter-spacing:.1em;gap:10px}.hero h1{font-size:54px}.hero .sub{font-size:26px}.hero .micro{max-width:290px}.hero .actions{gap:10px}.hero .actions .btn{padding:14px 16px;font-size:11px;gap:13px}.photo-frame{height:366px}.photo-caption{left:16px;right:16px;bottom:16px;padding:15px}.photo-caption strong{font-size:11px}.hero-visual figcaption{font-size:7px;gap:10px}.eyebrow{font-size:9px;gap:11px;margin-bottom:21px}.eyebrow:before{width:25px}h2{font-size:40px}.problem-grid,.steps,.options-grid{grid-template-columns:1fr}.problem-grid{gap:27px}.problem-grid h3{font-size:31px}.number{font-size:9px;margin-bottom:15px}.problem-grid p{font-size:13px;margin-top:13px}.statement{padding-left:32px;margin-top:30px}.steps{gap:29px}.steps article{position:relative;padding-left:56px}.step-no{position:absolute;left:0;top:0;border:0;font-size:38px;padding:0;margin:0}.steps h3{font-size:30px;max-width:none}.steps p{font-size:13px;margin-top:14px}.center-note p{font-size:12px}.industry{grid-template-columns:1fr}.trade-art{height:200px;min-height:0}.trade-art svg{width:170px;height:130px}.industry-body{padding:27px}.industry h3{font-size:33px}.industry p{font-size:13px}.other{flex-direction:column;gap:16px}.option{padding:30px}.option h3{min-height:0;font-size:36px}.option p{min-height:0;font-size:13px}.option li{font-size:12px}.option-top{font-size:9px}.option:first-child:before{left:30px}.counties{column-gap:15px}.counties span{font-size:11px}.area h2{font-size:40px}.closing h2{font-size:43px}.closing p{font-size:13px}.closing .actions{flex-direction:column}.closing .actions .btn{width:100%}.footer-top,.footer-bottom{flex-direction:column;align-items:start;gap:19px}.footer-bottom{margin-top:24px}dialog{padding:29px 24px}dialog h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Supplied contractor photography: preserve the complete hero scene. */
.hero-visual .photo-frame{height:auto;overflow:visible;background:transparent}.hero-visual .photo-frame>img{height:auto;width:100%;object-fit:contain}.hero-visual .photo-caption{position:static;max-width:none;margin:0;padding:19px 0;border-bottom:1px solid #ffffff25}.trade-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.industry:nth-child(2) .trade-photo img{object-position:48% center}.industry:nth-child(3) .trade-photo img{object-position:50% 40%}

/* Readability: comfortable body copy and controls at every screen size. */
body{font-size:17px;line-height:1.8}
.hero .copy,.challenge-copy p,.problem-grid p,.solution .intro p,.system-list p,.steps p,.section-heading>p,.industry p,.options .center>p,.option p,.option li,.area p,.closing p,dialog p,.roof-points{font-size:16px;line-height:1.8}
.links,.btn,.text-link,.counties span,.trades,.center-note p,.options .center-note p,.closing p+p,.footer-top>a:not(.brand),.demo-box dl,.demo-box .result{font-size:15px}
.eyebrow,.hero .eyebrow,.number,.trade-index,.option-top,.county-label,.workflow-label,dialog .eyebrow{font-size:12px;line-height:1.7}
.micro,.hero .micro,.solution .tagline,.soon,.other p,.area .area-last,.closing .micro,.footer-bottom,.hero-bottom,.hero-bottom>span,.hero-visual figcaption,.photo-caption,.form-note{font-size:14px!important;line-height:1.75}
.photo-caption strong,.workflow-strip>div,.demo-tabs button{font-size:15px}
label{font-size:14px}input,select,textarea{font-size:16px;line-height:1.5}.demo-box p{font-size:16px}
.option h3,.option p{min-height:0}.option{display:flex;flex-direction:column}.option ul{margin-top:auto;padding-top:24px}.option p{margin-bottom:26px}
.hero-bottom{align-items:start;gap:25px}.hero-bottom>span{max-width:350px}.trades{justify-content:flex-end}.workflow-strip{flex-wrap:wrap;gap:24px}.workflow-label{width:100%;max-width:none}.hero-visual figcaption{font-size:11px!important}
@media(max-width:1100px){.links{gap:18px;font-size:14px}.nav{gap:20px}.brand img{width:205px}.hero-grid{gap:35px}}
@media(max-width:800px){.links{font-size:16px}.hero .eyebrow{font-size:11px}.hero-bottom>span{max-width:none}.trades{justify-content:flex-start}.steps{gap:30px}.steps h3{font-size:29px}.options-grid{grid-template-columns:1fr}.option ul{margin-top:0}.industry-body{padding:27px}.footer-bottom{flex-wrap:wrap}.hero .actions .btn{font-size:15px}.workflow-strip>div{flex-basis:calc(50% - 15px)}}
@media(max-width:520px){.hero .actions{align-items:stretch}.hero .actions .btn{padding:15px 16px;gap:12px}.hero .micro{max-width:none}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.eyebrow{font-size:11px}.counties{grid-template-columns:repeat(2,1fr)}.counties span{font-size:15px}.workflow-strip>div{flex-basis:100%}.hero-visual figcaption{flex-direction:column;gap:7px}.photo-caption strong{font-size:15px}.footer-top>a:not(.brand){font-size:15px}.industry p,.steps p,.option p,.option li{font-size:16px}}
