@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/2e482247ef29dcb9-s.0z23a3hpu8ttr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/068feab4deafcd0f-s.02aqyp7acl16b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/db545dba463279ae-s.p.14a9xpaqsbppk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.iX1fDW_className{font-family:Archivo,Archivo Fallback;font-style:normal}.iX1fDW_variable{--font-archivo:"Archivo", "Archivo Fallback"}
:root{--green-50:#ecfbe8;--green-100:#daf5d1;--green-200:#b9e9a9;--green-300:#94d87d;--green-400:#79c157;--green-500:#5ea842;--green-600:#498631;--green-700:#376923;--green-800:#295019;--green-900:#1e3b13;--green-950:#13280c;--ink-50:#f5f7f5;--ink-100:#eef1ee;--ink-200:#dfe2de;--ink-300:#c8ccc7;--ink-400:#a2a6a1;--ink-500:#7e817c;--ink-600:#5b5f5a;--ink-700:#40443f;--ink-800:#292c28;--ink-900:#191c18;--ink-950:#10120f;--white:#fff;--bg:var(--white);--surface:var(--ink-50);--surface-alt:var(--ink-100);--ink:var(--ink-950);--muted:var(--ink-700);--line:var(--ink-200);--field-border:var(--ink-500);--link:var(--green-700);--error:#c9302d;--error-on-dark:#fa887d;--focus:var(--ink-950);--stroke-light:var(--green-600);--stroke-dark:var(--green-400);--font-sans:var(--font-archivo), "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-h1:clamp(2rem, 1.2rem + 3vw, 3.5rem);--fs-statement:clamp(2.75rem, 1.6rem + 4.6vw, 5.5rem);--fs-h2:clamp(2rem, 1.45rem + 2.2vw, 3.25rem);--fs-h3:clamp(1.375rem, 1.2rem + .7vw, 1.75rem);--fs-h4:clamp(1.125rem, 1.07rem + .25vw, 1.25rem);--fs-quote-xl:clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);--fs-lead:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--fs-body:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--fs-small:.9375rem;--fs-label:.8125rem;--s-1:6px;--s-2:12px;--s-3:18px;--s-4:24px;--s-5:36px;--s-6:48px;--s-7:72px;--s-8:96px;--section:clamp(4.5rem, 3rem + 5vw, 8rem);--gutter:24px;--wrap:1280px;--header-h:64px;--r-btn:4px;--r-card:6px;--stroke:3px;--shadow-mid:0 2px 4px #10120f14, 0 12px 28px #10120f29;--shadow-high:0 2px 6px #10120f14, 0 18px 40px #10120f2e;--shadow-low:0 -1px 0 #10120f14, 0 -6px 16px #10120f1f;--dur-fast:.16s;--dur-base:.32s;--dur-slow:.7s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--travel-sm:12px;--travel-md:20px;--travel-lg:28px}@media (min-width:768px){:root{--gutter:32px}}@media (min-width:1280px){:root{--gutter:40px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:clip}img,svg{max-width:100%;display:block}h1,h2,h3,h4{text-wrap:balance;margin:0}h1{font-size:var(--fs-h1);letter-spacing:-.02em;font-weight:800;font-stretch:112%;line-height:1.04}h2{font-size:var(--fs-h2);letter-spacing:-.015em;font-weight:800;font-stretch:108%;line-height:1.06}h3{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:700;font-stretch:104%;line-height:1.15}p{text-wrap:pretty;margin:0}p+p{margin-top:1em}ul{margin:0;padding:0;list-style:none}figure,blockquote,dl,dd{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.lead{font-size:var(--fs-lead);line-height:1.5}.label{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;font-weight:600;font-stretch:112%;line-height:1.3}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}main:focus{outline:none}.site-header,.hero,.work,.site-footer,.mobile-menu__sheet,.not-found{--focus:var(--green-300)}::selection{background:var(--green-300);color:var(--ink-950)}.skip-link{z-index:200;top:var(--s-2);left:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--r-btn);background:var(--green-400);color:var(--ink-950);font-weight:700;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.link{color:inherit;transition:background-size var(--dur-base) var(--ease-out);background:linear-gradient(currentColor 0 0) 0 100%/0 2px no-repeat;padding-bottom:2px;text-decoration:none}.link:hover{background-size:100% 2px}.link--arrow,.link--strong{min-height:44px;color:var(--link);background-position:0 calc(100% - 8px);align-items:center;gap:8px;font-weight:700;display:inline-flex}.link--arrow svg{transition:transform var(--dur-fast) var(--ease-out)}.link--arrow:hover svg{transform:translate(3px)}.link--on-dark{color:var(--green-400)}.gable-mark{color:var(--stroke-light);flex:none}.marks{gap:var(--s-2);display:grid}.marks li{align-items:baseline;gap:var(--s-2);font-weight:600;display:flex}.marks .gable-mark{transform:translateY(-2px)}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}@media (min-width:1024px){.grid-12{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}}.btn{border-radius:var(--r-btn);text-align:center;min-height:48px;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:1rem;font-weight:700;font-stretch:104%;line-height:1.2;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn--lg{min-height:56px;padding:16px 24px;font-size:1.0625rem}.btn--block{width:100%}.btn--primary{background:var(--green-400);color:var(--ink-950)}.btn--primary:hover{background:var(--green-300);transform:translateY(-2px)}.btn--primary:active{transform:scale(.97)}.btn--primary[disabled]{opacity:.6;cursor:progress;transform:none}.btn--dark-secondary{color:var(--white);box-shadow:inset 0 0 0 2px var(--ink-500);background:0 0}.btn--dark-secondary svg{color:var(--green-400)}.btn--dark-secondary:hover{box-shadow:inset 0 0 0 3px var(--white)}.btn--ink{background:var(--ink-950);color:var(--white)}.btn--ink:hover{background:var(--ink-800);transform:translateY(-2px)}.btn--ink-secondary{color:var(--ink-950);box-shadow:inset 0 0 0 2px var(--ink-950);background:0 0}.btn--ink-secondary:hover{box-shadow:inset 0 0 0 3px var(--ink-950)}.js .reveal{opacity:0;transform:translateY(var(--travel-md));transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out)}.js .reveal--fade{transform:none}.js .reveal--rise-lg{transform:translateY(var(--travel-lg))}.js .reveal.in,.js .reveal.reveal--clip{opacity:1;transform:none}.js .reveal--clip>*{clip-path:inset(100% 0 0);transition:clip-path var(--dur-slow) var(--ease-out)}.js .reveal--clip.in>*{clip-path:inset(0)}.js .reveal-rows>*{opacity:0;transform:translateY(var(--travel-sm));transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out)}.js .reveal-rows.in>*{opacity:1;transform:none}.reveal-rows>:nth-child(2){transition-delay:50ms}.reveal-rows>:nth-child(3){transition-delay:.1s}.reveal-rows>:nth-child(4){transition-delay:.15s}.reveal-rows>:nth-child(5){transition-delay:.2s}.reveal-rows>:nth-child(6){transition-delay:.25s}.mask-up>span{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.mask-up>span>span{display:block}.js .mask-up>span>span{transition:transform var(--dur-slow) var(--ease-out);transform:translateY(105%)}.js .mask-up>span:nth-child(2)>span{transition-delay:80ms}.js .mask-up.in>span>span{transform:none}.site-header{z-index:50;background:var(--ink-950);color:var(--white);transition:transform var(--dur-base) var(--ease-out);position:sticky;top:0}.site-header__bar{align-items:center;gap:var(--s-3);height:var(--header-h);transition:transform var(--dur-base) var(--ease-out);display:flex}.site-header__logo{transform-origin:0;width:96px;transition:transform var(--dur-base) var(--ease-out);flex:none;display:block}.site-header__logo img{width:100%;height:auto}.site-header__actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.site-header__phone{min-width:44px;min-height:44px;padding:0 var(--s-1);border-radius:var(--r-btn);color:var(--white);white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-weight:700;font-stretch:104%;text-decoration:none;display:inline-flex}.site-header__phone svg{color:var(--green-400)}.site-header__phone:hover .site-header__phone-num{color:var(--green-300)}.site-header__cta{white-space:nowrap;display:none}.site-header__menu{border-radius:var(--r-btn);min-height:44px;box-shadow:inset 0 0 0 2px var(--ink-700);color:var(--white);background:0 0;border:0;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.site-header__menu:hover{box-shadow:inset 0 0 0 2px var(--ink-400)}.site-header__ctabar{padding-bottom:10px}.site-nav{display:none}@media (max-width:767px){.site-header__phone-num{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header__phone{box-shadow:inset 0 0 0 2px var(--ink-700)}.site-header[data-tucked]{transform:translateY(calc(var(--header-h) * -1))}}@media (min-width:768px){.site-header__ctabar{display:none}.site-header__cta{display:inline-flex}.site-header__logo{width:104px}}@media (min-width:1024px){:root{--header-h:84px}.site-header[data-compact]{transform:translateY(-20px)}.site-header[data-compact] .site-header__bar{transform:translateY(10px)}.site-header[data-compact] .site-header__logo{transform:scale(.82)}}@media (min-width:1280px){.site-nav{margin-left:var(--s-3);display:block}.site-header__menu{display:none}.site-header__bar{gap:var(--s-4)}}.site-nav__list{align-items:center;gap:2px;display:flex}.site-nav__group{position:relative}.site-nav__trigger,.site-nav__link{border-radius:var(--r-btn);min-height:44px;color:var(--white);font-size:var(--fs-small);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-weight:600;text-decoration:none;display:inline-flex}.site-nav__trigger:hover,.site-nav__link:hover,.site-nav__trigger[aria-expanded=true]{color:var(--green-300)}.site-nav__chevron{transition:transform var(--dur-fast) var(--ease-out)}.site-nav__trigger[aria-expanded=true] .site-nav__chevron{transform:rotate(180deg)}.site-nav__ext{color:var(--ink-400)}.site-nav__panel{min-width:300px;padding:var(--s-1);border-top:3px solid var(--green-400);border-radius:0 0 var(--r-card) var(--r-card);background:var(--ink-900);box-shadow:var(--shadow-mid);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);position:absolute;top:calc(100% + 6px);left:0;transform:translateY(8px)}.site-nav__panel:before{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.site-nav__panel[data-open]{opacity:1;visibility:visible;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s;transform:none}.site-nav__panel a{border-radius:var(--r-btn);min-height:44px;color:var(--ink-300);font-size:var(--fs-small);align-items:center;padding:8px 12px;font-weight:500;text-decoration:none;display:flex}.site-nav__panel a:hover{background:var(--ink-800);color:var(--white)}.site-nav__panel .site-nav__panel-all{color:var(--white);border-bottom:1px solid var(--ink-800);border-radius:var(--r-btn) var(--r-btn) 0 0;margin-bottom:4px;font-weight:700}.mobile-menu{z-index:100;position:fixed;inset:0}.mobile-menu__scrim{background:#10120f99;position:absolute;inset:0}.mobile-menu__sheet{width:min(420px,100%);padding:0 var(--gutter) var(--s-4);overscroll-behavior:contain;background:var(--ink-950);color:var(--white);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.mobile-menu__top{min-height:64px;margin-bottom:var(--s-2);justify-content:space-between;align-items:center;display:flex}.mobile-menu__logo{width:96px}.mobile-menu__logo img{width:100%;height:auto}.mobile-menu__close{border-radius:var(--r-btn);min-height:44px;box-shadow:inset 0 0 0 2px var(--ink-700);color:var(--white);background:0 0;border:0;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.mobile-menu__list>li{border-bottom:1px solid var(--ink-800)}.mobile-menu__link{width:100%;min-height:56px;color:var(--white);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:1.25rem;font-weight:700;font-stretch:104%;text-decoration:none;display:flex}.mobile-menu__link[aria-current=page]{color:var(--green-400)}.mobile-menu__link svg{color:var(--ink-400)}.mobile-menu__count{background:var(--ink-800);min-width:26px;color:var(--ink-300);font-size:var(--fs-label);text-align:center;border-radius:999px;padding:1px 8px;font-weight:600}.mobile-menu__chevron{transition:transform var(--dur-base) var(--ease-in-out);margin-left:auto}.mobile-menu__toggle[aria-expanded=true] .mobile-menu__chevron{transform:rotate(180deg)}.mobile-menu__sub{overflow:hidden}.mobile-menu__sub ul{padding:0 0 var(--s-2) var(--s-3);border-left:2px solid var(--ink-800);margin-bottom:var(--s-2)}.mobile-menu__sub a{min-height:48px;color:var(--ink-300);align-items:center;font-weight:500;text-decoration:none;display:flex}.mobile-menu__sub a:hover{color:var(--white)}.mobile-menu__foot{gap:var(--s-2);padding-top:var(--s-4);margin-top:auto;display:grid}.mobile-menu__hours{margin-top:var(--s-1);color:var(--ink-300);font-size:var(--fs-small)}.mobile-menu__hours span{color:var(--white);font-weight:600}.hero{background:var(--ink-950);color:var(--white);padding-block:var(--s-6) var(--s-7)}.hero__grid{gap:var(--s-6);display:grid}.hero__label{color:var(--green-400);margin-bottom:var(--s-3)}.hero__title em{color:var(--green-400);font-style:normal}.mask-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.hero__lead{margin-top:var(--s-4);max-width:34em;color:var(--ink-300)}.hero__ctas{gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.hero__note{margin-top:var(--s-2);color:var(--ink-300);font-size:var(--fs-small)}.hero__trust{gap:var(--s-1);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--ink-800);color:var(--ink-300);font-size:var(--fs-small);flex-direction:column;line-height:1.4;display:flex}.hero__trust li{padding-left:var(--s-2);border-left:2px solid var(--ink-700);white-space:nowrap}@media (max-width:639px){.hero{padding-block:var(--s-4) var(--s-6)}.hero__label{letter-spacing:.04em}}.hero__trust .hero__rating{margin-bottom:var(--s-1);white-space:normal;align-items:center;gap:4px var(--s-2);border-left-color:var(--green-400);color:var(--white);flex-wrap:wrap;display:flex}.hero__rating strong{font-size:1.25rem;font-weight:800}.hero__stars{color:var(--green-400);gap:2px;display:inline-flex}.hero__media{container-type:inline-size}.roof-frame{--r:min(14cqw, 120px);background:var(--ink-900);clip-path:polygon(0 var(--r), 16% calc(var(--r) * .45), 32% var(--r), 36% var(--r), 50% 0, 64% var(--r), 68% var(--r), 84% calc(var(--r) * .45), 100% var(--r), 100% 100%, 0 100%);position:relative;overflow:hidden}.roof-frame img{object-fit:cover}.hero__photo{aspect-ratio:4/3}.hero__photo img{object-position:60% 60%}@media (min-width:640px){.hero__ctas .btn{flex:none}}@media (max-width:639px){.hero__ctas .btn{width:100%}}@media (min-width:1024px){.hero{padding-block:var(--s-7) var(--s-8)}.hero__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.hero__copy{grid-column:1/span 6}.hero__media{grid-column:8/-1}.hero__photo{aspect-ratio:1}}@keyframes seq-fade{0%{opacity:0}}@keyframes seq-rise{0%{opacity:0;transform:translateY(var(--travel-sm))}}@keyframes seq-line{0%{transform:translateY(105%)}}@keyframes seq-roof{0%{clip-path:polygon(0 100%,16% 100%,32% 100%,36% 100%,50% 100%,64% 100%,68% 100%,84% 100%,100% 100%,100% 100%,0 100%)}}@keyframes seq-zoom{0%{transform:scale(1.06)}}.seq-label{animation:seq-fade .5s var(--ease-out) both}.seq-line{animation:seq-line var(--dur-slow) var(--ease-out) 60ms both;display:block}.seq-line--2{animation-delay:.14s}.seq-lead{animation:seq-rise .6s var(--ease-out) .24s both}.seq-ctas{animation:seq-rise .6s var(--ease-out) .32s both}.seq-photo{animation:seq-roof var(--dur-slow) var(--ease-out) .1s both}.seq-photo img{animation:seq-zoom var(--dur-slow) var(--ease-out) .1s both}.roofline-zone{position:relative}.roofline{z-index:5;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.roofline__path{fill:none;stroke-linejoin:miter;stroke-linecap:butt;stroke-miterlimit:10;transition:stroke-width var(--dur-fast) var(--ease-out)}.roofline__path--above{stroke:var(--stroke-dark)}.roofline__path--below{stroke:var(--stroke-light)}.roofline__ridge{fill:var(--stroke-light);transform-box:fill-box;transform-origin:50%}.quote{background:var(--surface);padding-block:var(--section);scroll-margin-top:72px}.quote__grid{gap:var(--s-6);display:grid}.quote__copy h2{margin-bottom:var(--s-4)}.quote__copy .lead{margin-bottom:1em}.quote__copy>p{max-width:62ch}.quote__offer-intro{margin-top:var(--s-5);margin-bottom:var(--s-3);font-weight:700}.quote__talk{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line)}.quote__talk-title{font-weight:700}.quote__phone{min-height:48px;color:var(--ink);font-size:var(--fs-h3);align-items:center;gap:10px;font-weight:800;font-stretch:108%;text-decoration:none;display:inline-flex}.quote__phone svg{color:var(--stroke-light)}.quote__phone:hover{color:var(--link)}.quote__talk-meta{color:var(--muted);font-size:var(--fs-small)}.quote__card{--cap:40px;padding:calc(var(--cap) + var(--s-4)) var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:0 0 var(--r-card) var(--r-card);background:var(--white);clip-path:polygon(0 var(--cap), 50% 0, 100% var(--cap), 100% 100%, 0 100%);align-self:start}.quote__card-intro{margin-bottom:var(--s-4);font-size:var(--fs-h4);text-align:center;font-weight:700;line-height:1.3}@media (min-width:640px){.quote__card{--cap:56px;padding:calc(var(--cap) + var(--s-4)) var(--s-5) var(--s-5)}}@media (min-width:1024px){.quote__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr))}.quote__copy{grid-column:1/span 6}.quote__card{margin-top:var(--s-4);grid-column:8/-1}}.quote-form{display:grid}.field{border:2px solid var(--field-border);border-radius:var(--r-btn);background:var(--white);min-height:60px;transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.field:hover{border-color:var(--ink-700)}.field:focus-within{border-color:var(--ink-950);outline:3px solid var(--focus);outline-offset:2px}.field[data-invalid]{border-color:var(--error)}.field label{color:var(--ink-700);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;font-weight:600;font-stretch:112%;line-height:1.3}.field input,.field select,.field textarea{width:100%;color:var(--ink-950);background:0 0;border:0;outline:none;padding:2px 0;font-size:1.0625rem;font-weight:500}.field input::placeholder{color:var(--ink-500);font-weight:400}.field select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2310120f' stroke-width='2'%3E%3Cpath d='m3.5 6 4.5 4.5L12.5 6'/%3E%3C/svg%3E") 100% no-repeat;padding-right:28px}.field textarea{resize:vertical;min-height:72px}.field__optional{white-space:nowrap;background:var(--ink-100);color:var(--ink-600);letter-spacing:.02em;text-transform:none;border-radius:3px;margin-left:4px;padding:1px 6px;font-weight:500}.field-error{min-height:var(--s-4);color:var(--error);align-items:flex-start;gap:6px;padding:4px 0;font-size:.875rem;font-weight:600;line-height:1.35;display:flex}.field-error svg{flex:none;margin-top:1px}.quote-form__pair{display:grid}@media (min-width:640px){.quote-form__pair{column-gap:var(--s-2);grid-template-columns:1fr 1fr}}.quote-form__submit{margin-top:var(--s-1);min-height:56px;padding-inline:var(--s-2);font-size:1.0625rem}@media (max-width:639px){.quote-form__submit{font-size:1rem}.field__optional{width:fit-content;margin:4px 0 0;display:block}}.quote-form__note{margin-top:var(--s-2);color:var(--muted);font-size:var(--fs-small);text-align:center}.quote-form__done{padding-block:var(--s-4);text-align:center}.quote-form__done h3{margin-block:var(--s-3) var(--s-2)}.quote-form__done h3:focus{outline:none}.quote-form__done-icon{background:var(--green-100);width:48px;height:48px;color:var(--green-700);border-radius:50%;place-items:center;display:inline-grid}.quote-form__done .link{color:var(--link);background-size:100% 2px;font-weight:700}.services{padding-block:var(--section)}.services__grid{gap:var(--s-5);display:grid}.services__intro h2{margin-bottom:var(--s-4)}.services__photo-inner{aspect-ratio:3/2;position:relative;overflow:hidden}.services__photo-inner img{object-fit:cover;object-position:50% 60%}.services__list>li{border-top:1px solid var(--line)}.services__list>li:last-child{border-bottom:1px solid var(--line)}.services__row{align-items:center;column-gap:var(--s-3);padding-block:var(--s-3);color:inherit;grid-template-columns:1fr auto;row-gap:4px;text-decoration:none;display:grid}.services__name{font-size:var(--fs-h3);letter-spacing:-.01em;transition:color var(--dur-fast) var(--ease-out);font-weight:700;font-stretch:108%;line-height:1.15}.services__line{color:var(--muted);font-size:var(--fs-small);grid-column:1;max-width:52ch}.services__arrow{color:var(--stroke-light);transition:transform var(--dur-fast) var(--ease-out);grid-area:1/2/span 2}.services__row:hover .services__name{color:var(--link)}.services__row:hover .services__arrow{transform:translate(4px)}.services__residential{margin-top:var(--s-4);color:var(--muted)}@media (min-width:1024px){.services__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.services__intro{grid-column:1/span 5}.services__index{padding-top:var(--s-2);grid-column:7/-1}}.work{background:var(--ink-950);color:var(--white);padding-block:var(--section)}.work__head{justify-content:space-between;align-items:baseline;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.work__grid{--row:clamp(150px, 22vw, 280px);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:var(--row);gap:var(--s-2);display:grid}.work__tile--1{grid-column:1/-1}.work__tile--2{grid-row:span 2}.work__link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.work__frame{background:var(--ink-900);flex:1;position:relative;overflow:hidden}.work__frame img{object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.work__caption{padding-top:var(--s-1);margin-top:var(--s-1);border-top:2px solid var(--ink-800);color:var(--ink-300);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-size:.875rem;line-height:1.3}.work__link:hover img{transform:scale(1.04)}.work__link:hover .work__caption{border-color:var(--green-400);color:var(--white)}@media (min-width:768px){.work__caption{font-size:var(--fs-small)}}@media (min-width:1024px){.work__grid{grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(3, var(--row));gap:var(--s-4) var(--s-3)}.work__tile--1{grid-area:1/1/span 2}.work__tile--3{grid-area:1/2}.work__tile--4{grid-area:1/3}.work__tile--2{grid-area:2/2/span 2}.work__tile--5{grid-area:2/3/span 2}.work__tile--6{grid-area:3/1}}.why{padding-block:var(--section)}.why__head{max-width:52rem}.why__head .lead{margin-top:var(--s-3);color:var(--muted)}.why__statement{margin-block:var(--s-6) var(--s-6);font-size:var(--fs-statement);letter-spacing:-.025em;font-weight:800;font-stretch:118%;line-height:1}.why__list{gap:var(--s-4) var(--gutter);display:grid}.why__list li{padding-top:var(--s-3);border-top:1px solid var(--line)}.why__item-title{align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-1);font-size:var(--fs-h4);line-height:1.25;display:flex}.why__item-title .gable-mark{transform:translateY(-3px)}.why__list p{color:var(--muted);padding-left:26px}.why__more{margin-top:var(--s-5)}@media (min-width:640px){.why__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.why__list{row-gap:var(--s-5);grid-template-columns:repeat(3,minmax(0,1fr))}}.quotes{background:var(--surface);padding-block:var(--section)}.quotes__featured{max-width:34ch;margin:var(--s-6) auto var(--s-7);text-align:center;font-size:var(--fs-quote-xl)}.quotes__featured blockquote p{letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.18}.quotes__featured figcaption{margin-top:var(--s-4);font-size:var(--fs-body)}.quotes figcaption{flex-direction:column;display:flex}.quotes__name{font-weight:700}.quotes__role{color:var(--ink-600);font-size:var(--fs-small)}.quotes__list{gap:var(--s-4) var(--gutter);display:grid}.quotes__list li{padding-top:var(--s-3);border-top:1px solid var(--ink-300)}.quotes__list blockquote{margin-bottom:var(--s-2)}@media (min-width:768px){.quotes__list{row-gap:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.quotes__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.front-range__frame{aspect-ratio:4/3;background:var(--ink-950);position:relative;overflow:hidden}.front-range__layer{position:absolute;inset:-8% 0}.front-range__layer img{object-fit:cover;object-position:50% 70%}@media (min-width:768px){.front-range__frame{aspect-ratio:21/9}}.story{padding-block:var(--section)}.story__grid{gap:var(--s-6);display:grid}.story__copy h2{margin-bottom:var(--s-4)}.story__copy .lead{margin-bottom:1em}.story__copy>p{max-width:62ch}.story__financing{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line)}.story__financing p{margin-bottom:var(--s-1);font-weight:600}.story__photo-inner{aspect-ratio:4/5;position:relative;overflow:hidden}.story__photo-inner img{object-fit:cover;object-position:50% 35%}@media (min-width:1024px){.story__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.story__copy{grid-column:1/span 6}.story__photo{grid-column:8/-1}}.cta-band{background:var(--green-400);color:var(--ink-950);padding-block:var(--section);--focus:var(--ink-950)}.cta-band__grid{gap:var(--s-5);display:grid}.cta-band h2{margin-bottom:var(--s-3)}.cta-band .lead{max-width:40em}.cta-band__actions{gap:var(--s-2);align-content:start;display:grid}.cta-band__note{font-size:var(--fs-small);font-weight:500}@media (min-width:1024px){.cta-band__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}.cta-band__grid>:first-child{grid-column:1/span 7}.cta-band__actions{grid-column:9/-1}}.site-footer{background:var(--ink-950);color:var(--ink-300);padding-block:var(--s-7) var(--s-5);font-size:var(--fs-small)}.roofline-rule{overflow:visible}.roofline-rule path{fill:none;stroke:var(--stroke-dark);stroke-width:2px;stroke-linejoin:miter}.site-footer__rule{width:100%;height:clamp(24px,6vw,64px);margin-bottom:var(--s-6)}.site-footer__grid{gap:var(--s-5) var(--gutter);display:grid}.site-footer__logo{width:150px;display:block}.site-footer__logo img{width:100%;height:auto}.site-footer__tagline{margin-top:var(--s-3);max-width:22ch;color:var(--white);font-size:var(--fs-h4);font-weight:700;font-stretch:108%;line-height:1.25}.site-footer__title{margin-bottom:var(--s-2);color:var(--white);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;font-weight:600;font-stretch:112%;line-height:1.3}.site-footer__facts{gap:var(--s-2);display:grid}.site-footer__facts dt{color:var(--ink-400);font-size:var(--fs-label)}.site-footer__facts dd{color:var(--white)}.site-footer__emergency{margin-top:var(--s-3);color:var(--green-400);font-weight:600}.site-footer__muted{margin-top:var(--s-1)}.site-footer__nav,.site-footer__social{display:grid}.site-footer__nav a,.site-footer__social a{align-items:center;min-height:40px;display:inline-flex}.site-footer .link:hover{color:var(--white)}.site-footer__bottom{justify-content:space-between;gap:var(--s-2);margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--ink-800);flex-wrap:wrap;display:flex}@media (min-width:640px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__brand{grid-column:1/-1}}@media (min-width:1024px){.site-footer__grid{grid-template-columns:1.4fr 1.3fr 1fr 1.1fr .8fr}.site-footer__brand{grid-column:auto}}.not-found{min-height:72vh;padding-block:var(--s-8);background:var(--ink-950);color:var(--white);text-align:center;align-items:center;display:grid}.not-found__inner{justify-items:center;display:grid}.not-found__rule{width:min(520px,100%);height:56px;margin-bottom:var(--s-6)}.not-found .lead{margin-top:var(--s-3);color:var(--ink-300)}.not-found__ctas{justify-content:center;gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.preview-toast{z-index:1000;border-top:3px solid var(--green-400);border-radius:var(--r-btn);background:var(--ink-900);max-width:min(320px,100vw - 24px);color:var(--white);font-family:var(--font-sans);font-size:var(--fs-small);box-shadow:var(--shadow-high);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:12px 16px;font-weight:600;line-height:1.35;position:fixed;top:0;left:0;transform:translateY(8px)}.preview-toast[data-state=open]{opacity:1;transform:none}.preview-toast__live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.js .reveal,.js .reveal-rows>*,.js .reveal--clip>*,.js .mask-up>span>span{opacity:1;clip-path:none;transform:none}.preview-toast{transform:none;transition:opacity .12s linear!important}.btn:hover,.btn:active{transform:none}}
