@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{--spruce-50:#f0faee;--spruce-100:#def4dc;--spruce-200:#c0e8bd;--spruce-300:#99d395;--spruce-400:#74b870;--spruce-500:#559d52;--spruce-600:#3b8339;--spruce-700:#296a27;--spruce-800:#1a5119;--spruce-900:#193917;--spruce-950:#0d240d;--meadow-50:#f1fbe5;--meadow-100:#e2f5ca;--meadow-200:#c7e999;--meadow-300:#a5d358;--meadow-400:#86b807;--meadow-500:#6f9a01;--meadow-600:#5a7e01;--meadow-700:#486504;--granite-50:#f5f8f4;--granite-100:#ebeeea;--granite-200:#d9dcd8;--granite-300:#bfc2be;--granite-400:#a1a69f;--granite-500:#868b84;--granite-600:#6d726b;--granite-700:#565b55;--granite-800:#41453f;--granite-900:#2d322c;--granite-950:#1b1f1a;--bg:#fff;--stone:var(--granite-100);--ink:var(--granite-900);--ink-muted:var(--granite-600);--line:var(--granite-200);--line-dark:#ffffff24;--field-border:var(--granite-500);--action:var(--spruce-700);--action-hover:var(--spruce-800);--accent:var(--meadow-400);--error:#b42318;--focus:var(--spruce-700);--font:var(--font-archivo), "Arial Narrow", system-ui, sans-serif;--text-display:clamp(2.75rem, 1.6rem + 4.6vw, 5.5rem);--text-statement:clamp(1.75rem, 1rem + 3vw, 3.25rem);--text-h2:clamp(2.125rem, 1.5rem + 2.4vw, 3.5rem);--text-h3:clamp(1.375rem, 1.2rem + .7vw, 1.75rem);--text-h4:clamp(1.125rem, 1.08rem + .2vw, 1.25rem);--text-lead:clamp(1.1875rem, 1.1rem + .35vw, 1.375rem);--text-body:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--text-small:.9375rem;--text-label:.8125rem;--measure:62ch;--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(72px, 9vw, 132px);--wrap-max:1280px;--gutter:clamp(24px, 4vw, 48px);--header-h:108px;--radius-0:0;--radius-control:2px;--stroke:2px;--stroke-field:1.5px;--shadow-float:0 1px 2px #1b1f1a2e, 0 12px 32px -8px #1b1f1a59;--ridge-h:48px;--gable:48px;--dur-fast:.18s;--dur-base:.35s;--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:32px;--stagger:60ms}@media (min-width:1024px){:root{--header-h:88px;--ridge-h:96px;--gable:72px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--s-2))}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--text-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.6;overflow-x:clip}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:780;font-stretch:80%;line-height:1.04}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3);letter-spacing:-.005em;font-weight:650;font-stretch:90%;line-height:1.15}p{text-wrap:pretty;max-width:var(--measure);margin:0}.lead{font-size:var(--text-lead);line-height:1.45}.label{font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;font-weight:650;font-stretch:100%;line-height:1.3}.tnum{font-variant-numeric:tabular-nums}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}a{color:inherit}address{font-style:normal}::selection{background:var(--meadow-300);color:var(--granite-950)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.hero,.projects,.why,.site-header,.site-footer,.menu,.not-found{--focus:var(--meadow-300)}main:focus{outline:none}[id]{scroll-margin-top:calc(var(--header-h) + var(--s-2))}.skip-link{z-index:300;top:var(--s-2);left:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--radius-control);background:var(--meadow-400);color:var(--granite-950);font-weight:650;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.link{background:linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat, linear-gradient(color-mix(in oklch, currentColor 40%, transparent), color-mix(in oklch, currentColor 40%, transparent)) 0 100% / 100% 1px no-repeat;transition:background-size var(--dur-base) var(--ease-out);padding-bottom:2px;text-decoration:none}.link:hover{background-size:100% 2px,100% 1px}.link--strong{font-weight:650}.icon{flex:none}.wrap{width:100%;max-width:var(--wrap-max);padding-inline:var(--gutter);margin-inline:auto}main{padding-top:var(--header-h);display:block}.hero__grid,.quote__grid,.services__grid,.projects__grid,.about__grid,.why__grid,.site-footer__grid{grid-template-columns:minmax(0,1fr)}.btn{border-radius:var(--radius-control);min-height:52px;font:inherit;letter-spacing:.005em;text-align:center;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:1rem;font-weight:650;font-stretch:88%;line-height:1.1;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.97)}.btn .icon--arrow{transition:transform var(--dur-fast) var(--ease-out)}.btn:hover .icon--arrow{transform:translate(4px)}.btn--primary{background:var(--spruce-700);color:#fff}.btn--primary:hover{background:var(--spruce-800)}.btn--primary-dark{background:var(--meadow-400);color:var(--granite-950)}.btn--primary-dark:hover{background:var(--meadow-300)}.btn--ghost-dark{color:#fff;background:0 0;box-shadow:inset 0 0 0 1.5px #ffffff8c}.btn--ghost-dark:hover{background:#ffffff14}.btn--quiet{background:var(--granite-100);color:var(--ink)}.btn--quiet:hover{background:var(--granite-200)}.btn--block{width:100%}.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--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);transition-delay:calc(var(--i,0) * var(--stagger))}.js .reveal-rows.in>*{opacity:1;transform:none}.reveal-rows>:nth-child(2){--i:1}.reveal-rows>:nth-child(3){--i:2}.reveal-rows>:nth-child(4){--i:3}.reveal-rows>:nth-child(5){--i:4}.reveal-rows>:nth-child(6){--i:5}.reveal-rows>:nth-child(n+7){--i:6}.site-header{z-index:100;color:#fff;position:fixed;inset:0 0 auto}.site-header:before{content:"";background:var(--granite-900);transform-origin:top;height:60px;transition:transform var(--dur-base) var(--ease-out);position:absolute;inset:0 0 auto}.site-header__bar{height:60px;transition:transform var(--dur-base) var(--ease-out);align-items:center;gap:10px;display:flex;position:relative}.site-header__logo{transform-origin:0;transition:transform var(--dur-base) var(--ease-out);flex:none;display:block}.site-header__logo img{width:auto;height:34px}.site-nav{display:none}.site-header__actions{align-items:center;gap:10px;margin-left:auto;display:flex}.site-header__phone{color:#fff;min-height:44px;font-size:var(--text-small);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;font-weight:600;font-stretch:88%;text-decoration:none;display:inline-flex}.site-header__phone .icon{color:var(--meadow-300)}.site-header__cta{display:none}.menu-button{border-radius:var(--radius-control);color:#fff;min-width:44px;min-height:44px;font:inherit;font-size:var(--text-small);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1.5px #ffffff73}.menu-button:hover{background:#ffffff14}.site-header__bar-cta{height:48px;padding-inline:var(--gutter);background:var(--meadow-400);color:var(--granite-950);font-size:var(--text-small);transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;font-weight:650;font-stretch:88%;text-decoration:none;display:flex;position:relative}.site-header__bar-cta:hover{background:var(--meadow-300)}.site-header[data-compact=true]{transform:translateY(-8px)}.site-header{transition:transform var(--dur-base) var(--ease-out)}.site-header[data-compact=true] .site-header__bar{transform:translateY(4px)}@media (max-width:379px){.site-header__phone .icon{display:none}}@media (min-width:1024px){.site-header:before{height:88px;box-shadow:0 1px #0000}.site-header__bar{gap:var(--s-4);height:88px}.site-header__logo img{height:52px}.site-header__actions{gap:var(--s-3)}.site-header__cta{min-height:48px;padding:0 18px;display:inline-flex}.site-header__bar-cta{display:none}.site-header[data-compact=true]{transform:none}.site-header[data-compact=true]:before{transform:scaleY(.7273);box-shadow:0 1px #ffffff1a}.site-header[data-compact=true] .site-header__bar{transform:translateY(-12px)}.site-header[data-compact=true] .site-header__logo{transform:scale(.73)}}@media (min-width:1280px){.site-nav{margin-left:var(--s-2);display:block}.site-nav ul{gap:var(--s-3);display:flex}.site-nav a{min-height:44px;color:var(--granite-200);font-size:var(--text-small);background:linear-gradient(var(--meadow-400), var(--meadow-400)) 0 calc(100% - 8px) / 0 2px no-repeat;transition:background-size var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;font-weight:550;font-stretch:90%;text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff;background-size:100% 2px}.menu-button{display:none}}.menu{z-index:200;gap:var(--s-4);padding:var(--s-2) var(--gutter) var(--s-5);overscroll-behavior:contain;background:var(--granite-950);color:#fff;box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.menu__top{justify-content:space-between;align-items:center;min-height:48px;display:flex}.menu__logo img{width:auto;height:34px}.menu__close{border-radius:var(--radius-control);color:#fff;min-width:44px;min-height:44px;font:inherit;font-size:var(--text-small);cursor:pointer;background:#ffffff14;border:0;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.menu__links a{border-bottom:1px solid var(--line-dark);color:#fff;align-items:center;min-height:56px;font-size:1.75rem;font-weight:650;font-stretch:84%;text-decoration:none;display:flex}.menu__links a[aria-current=page]{color:var(--meadow-300)}.menu__label{margin-top:var(--s-5);margin-bottom:var(--s-1);color:var(--granite-300);font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;font-weight:650}.menu__services a{min-height:44px;color:var(--granite-200);align-items:center;font-size:1.0625rem;text-decoration:none;display:flex}.menu__services a:hover,.menu__links a:hover{color:var(--meadow-300)}.menu__actions{gap:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--line-dark);margin-top:auto;display:grid}.menu__phone{color:#fff;font-variant-numeric:tabular-nums;align-items:center;gap:10px;min-height:48px;font-size:1.375rem;font-weight:650;text-decoration:none;display:inline-flex}.menu__phone .icon{color:var(--meadow-300)}@media (min-width:640px){.menu{width:min(480px,100%);left:auto}}@keyframes seq-rise{0%{transform:translateY(105%)}}@keyframes seq-fade-rise{0%{opacity:0;transform:translateY(var(--travel-sm))}}@keyframes seq-photo{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.mask-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.mask-line>.seq-line{animation:seq-rise var(--dur-slow) var(--ease-out) both;display:block}.mask-line:nth-child(2)>.seq-line{animation-delay:80ms}.mask-line:nth-child(3)>.seq-line{animation-delay:.16s}.seq-lead{animation:seq-fade-rise .55s var(--ease-out) .24s both}.seq-ctas{animation:seq-fade-rise .55s var(--ease-out) .3s both}.seq-trust{animation:seq-fade-rise .55s var(--ease-out) .36s both}.seq-photo{animation:seq-photo .8s var(--ease-out) .1s both}.hero{background:var(--spruce-900);color:#fff;padding-top:clamp(40px,6vw,88px);position:relative}.hero__grid{gap:var(--s-4);display:grid}.hero__title{font-size:var(--text-display);letter-spacing:-.02em;font-weight:800;font-stretch:78%;line-height:.98}.hero__title em{color:var(--meadow-300);font-style:normal}.hero__side{gap:var(--s-4);align-content:end;display:grid}.hero__sub{color:var(--spruce-100);font-size:var(--text-lead);line-height:1.4}.hero__ctas{display:none}.hero__trust{gap:var(--s-1) var(--s-4);color:var(--spruce-100);font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;font-weight:650;line-height:1.4;display:flex}.hero__trust li{align-items:center;gap:var(--s-1);display:inline-flex}.hero__rating{margin-bottom:var(--s-1);color:#fff;letter-spacing:0;text-transform:none;flex-wrap:wrap;flex-basis:100%;font-size:1rem;font-weight:600;gap:var(--s-2)!important}.stars{color:var(--meadow-400);gap:2px;display:inline-flex}.hero__photo{aspect-ratio:4/3;margin-top:clamp(40px,5vw,72px);position:relative}.hero__cut{clip-path:polygon(0 48px,calc(64% - 83.1px) 48px,64% 0,calc(64% + 83.1px) 48px,100% 48px,100% 100%,0 100%);background:var(--spruce-800);position:absolute;inset:0}.hero__cut img{object-fit:cover;object-position:50% 58%}@media (min-width:640px){.hero__photo{aspect-ratio:16/9}}@media (min-width:1024px){.hero__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.hero__title{grid-column:1/span 8}.hero__side{grid-column:9/-1}.hero__ctas{gap:var(--s-2);flex-wrap:wrap;display:flex}.hero__photo{aspect-ratio:2.4}.hero__cut{clip-path:polygon(0 96px,calc(60% - 166.3px) 96px,60% 0,calc(60% + 166.3px) 96px,100% 96px,100% 100%,0 100%)}}@media (min-width:1200px){.hero__cut{clip-path:polygon(0 96px,calc(60% - 166.3px) 96px,60% 0,calc(60% + 166.3px) 96px,calc(84% - 97px) 96px,84% 40px,calc(84% + 97px) 96px,100% 96px,100% 100%,0 100%)}}.ridge-zone{position:relative}.ridge-run{z-index:5;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.ridge-run__line{fill:none;stroke-width:var(--stroke);stroke-linejoin:round;stroke-linecap:round}.ridge-run__line--dark{stroke:var(--meadow-400)}.ridge-run__line--light{stroke:var(--spruce-700)}.ridge-run__cap{fill:none;stroke:var(--meadow-600);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.quote{background:var(--stone);padding-block:var(--section)}.quote__grid{gap:var(--s-6);display:grid}.quote__intro{gap:var(--s-4);align-content:start;display:grid}.quote__intro h2{max-width:14ch}.quote__contact{gap:var(--s-1);display:grid}.quote__phone{align-items:center;gap:var(--s-2);width:fit-content;min-height:48px;color:var(--spruce-800);font-size:var(--text-h3);font-weight:750;font-stretch:84%;text-decoration:none;display:inline-flex}.quote__phone:hover{color:var(--spruce-700)}.quote__email{align-items:center;gap:var(--s-2);width:fit-content;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.quote__email .icon,.quote__phone .icon{color:var(--spruce-700)}.promises{gap:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--granite-300);font-weight:550;display:grid}.promises li{align-items:baseline;gap:var(--s-2);display:flex}.promises .ridge-mark{color:var(--spruce-700);flex:none;transform:translateY(1px)}.quote__card{padding:calc(var(--gable) + var(--s-3)) clamp(20px, 3vw, 40px) clamp(24px, 3vw, 40px);clip-path:polygon(0 var(--gable), 50% 0, 100% var(--gable), 100% 100%, 0 100%);background:#fff;position:relative}.quote__roof{height:calc(var(--gable) + 96px);pointer-events:none;position:absolute;inset:0 0 auto}.quote__card-title{margin-bottom:var(--s-4);font-size:var(--text-h3)}@media (min-width:1024px){.quote__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.quote__intro{grid-column:1/span 5}.quote__card{grid-column:7/-1}}.quote-form{gap:0 var(--s-2);display:grid}@media (min-width:640px){.quote-form{grid-template-columns:1fr 1fr}.field--wide,.quote-form__submit{grid-column:1/-1}}.field__box{border-radius:var(--radius-control);box-shadow:inset 0 0 0 var(--stroke-field) var(--field-border);cursor:text;background:#fff;gap:2px;padding:8px 12px 10px;display:grid}.field__box:focus-within{box-shadow:inset 0 0 0 2px var(--spruce-700)}.field__box label{color:var(--granite-700);font-size:var(--text-label);font-weight:600;line-height:1.3}.field__box input,.field__box select,.field__box textarea{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;font-size:1.0625rem;font-weight:500;line-height:1.4}.field__box input:focus,.field__box select:focus,.field__box textarea:focus{outline:none}.field__box textarea{resize:vertical;min-height:96px}.field__box select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none' stroke='%232d322c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 5 4 4 4-4'/%3E%3C/svg%3E") 100%/14px no-repeat;min-height:25px}.field--error .field__box{box-shadow:inset 0 0 0 2px var(--error)}.field__error{align-items:flex-start;gap:var(--s-1);min-height:30px;color:var(--error);font-size:var(--text-small);padding-top:5px;font-weight:500;line-height:1.35;display:flex}.field__error .icon{margin-top:1px}.quote-form__submit .btn{width:100%}.quote-form__done{gap:var(--s-2);justify-items:start;display:grid}.quote-form__done-icon{width:36px;height:36px;color:var(--spruce-700)}.quote-form__done .btn{margin-top:var(--s-2)}.services{padding-block:var(--section)}.services__grid{gap:var(--s-5);display:grid}.services__head{gap:var(--s-2);align-self:start;display:grid}.services__head .lead{color:var(--granite-700)}.services__list{border-bottom:1px solid var(--line)}.service-row{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-1);border-top:1px solid var(--line);transition:background-color var(--dur-base) var(--ease-out);grid-template-columns:104px 1fr auto;text-decoration:none;display:grid}.service-row__thumb{aspect-ratio:3/2;background:var(--granite-100);display:block;position:relative;overflow:hidden}.service-row__thumb img{object-fit:cover;transition:transform var(--dur-base) var(--ease-out)}.service-row__title{font-size:var(--text-h4);transition:transform var(--dur-base) var(--ease-out);font-weight:650;font-stretch:90%;line-height:1.2}.service-row__arrow{color:var(--spruce-700)}.service-row:hover{background:var(--granite-50)}.service-row:hover .service-row__thumb img{transform:scale(1.04)}.service-row:hover .service-row__title{transform:translate(4px)}@media (min-width:1024px){.services__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.services__head{top:calc(var(--header-h) + var(--s-5));grid-column:1/span 4;position:sticky}.services__list{grid-column:6/-1}.service-row{gap:var(--s-4);padding:var(--s-3) var(--s-2);grid-template-columns:180px 1fr auto}.service-row__title{font-size:var(--text-h3)}}.projects{background:var(--granite-900);color:#fff;padding-block:var(--section)}.projects__grid{gap:var(--s-5);display:grid}.projects__head{gap:var(--s-2);align-self:start;display:grid}.projects__head .lead{color:var(--granite-200)}.projects__gallery{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.project{margin:0}.project--lead{grid-column:1/-1}.project__frame{aspect-ratio:4/3;background:var(--granite-800);position:relative;overflow:hidden}.project--lead .project__frame{aspect-ratio:3/2}.project__frame img{object-fit:cover;transition:transform var(--dur-base) var(--ease-out)}.project:hover .project__frame img{transform:scale(1.04)}.project:nth-child(2) .project__frame{transition-delay:80ms}.project:nth-child(3) .project__frame{transition-delay:.16s}@media (min-width:1024px){.projects__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.projects__head{grid-column:1/span 3}.projects__gallery{gap:var(--s-3);grid-column:5/-1;grid-template-rows:auto auto;grid-template-columns:1.75fr 1fr}.project--lead{grid-area:1/1/span 2}.project--lead .project__frame{aspect-ratio:auto;height:100%;min-height:320px}}.about{padding-block:var(--section)}.about__grid{gap:var(--s-5);display:grid}.about__frame{aspect-ratio:4/5;background:var(--granite-100);position:relative;overflow:hidden}.about__parallax{position:absolute;inset:0}.about__parallax img{object-fit:cover}.about__text{gap:var(--s-4);align-content:center;justify-items:start;display:grid}.about__text .btn{margin-top:var(--s-2)}@media (min-width:640px) and (max-width:1023px){.about__frame{max-width:480px}}@media (min-width:1024px){.about__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.about__frame{grid-column:1/span 5}.about__text{grid-column:7/-1}}.why{background:var(--spruce-800);color:#fff;padding-block:var(--section) calc(var(--section) + var(--s-8));position:relative}.why__grid{gap:var(--s-6);display:grid}.why__head{gap:var(--s-4);align-content:start;justify-items:start;display:grid}.why__head h2{max-width:13ch}.why__rating{align-items:center;gap:var(--s-2);color:var(--spruce-100);font-size:var(--text-lead);flex-wrap:wrap;display:flex}.why__rating .stars{color:var(--meadow-400)}.why__rating .stars .icon{width:20px;height:20px}.why__head .link{min-height:44px;color:var(--meadow-300);align-items:center;display:inline-flex}.why__list li{align-items:baseline;gap:var(--s-3);padding-block:var(--s-3);border-top:1px solid var(--line-dark);font-size:var(--text-statement);letter-spacing:-.015em;text-wrap:balance;font-weight:750;font-stretch:76%;line-height:1.04;display:flex}.why__list li:last-child{border-bottom:1px solid var(--line-dark)}.why__list .ridge-mark{width:.62em;height:auto;color:var(--meadow-300);flex:none}.js .why__list .ridge-mark path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--dur-base) var(--ease-out);transition-delay:calc(var(--i,0) * var(--stagger) + .25s)}.js .why__list.in .ridge-mark path{stroke-dashoffset:0}.why__list>:nth-child(2) .ridge-mark path{--i:1}.why__list>:nth-child(3) .ridge-mark path{--i:2}.why__list>:nth-child(4) .ridge-mark path{--i:3}.why__list>:nth-child(5) .ridge-mark path{--i:4}@media (min-width:1024px){.why__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.why__head{top:calc(var(--header-h) + var(--s-5));grid-column:1/span 5;align-self:start;position:sticky}.why__list{grid-column:6/-1}}.site-footer{background:var(--granite-950);color:var(--granite-300);font-size:var(--text-small);padding-top:var(--s-6);line-height:1.6;position:relative}.site-footer:before{content:"";height:var(--ridge-h);background:inherit;clip-path:polygon(0 100%,calc(64% - 83.1px) 100%,64% 0,calc(64% + 83.1px) 100%,100% 100%);position:absolute;bottom:100%;left:0;right:0}@media (min-width:1024px){.site-footer:before{clip-path:polygon(0 100%,calc(60% - 166.3px) 100%,60% 0,calc(60% + 166.3px) 100%,100% 100%)}}@media (min-width:1200px){.site-footer:before{clip-path:polygon(0 100%,calc(60% - 166.3px) 100%,60% 0,calc(60% + 166.3px) 100%,calc(84% - 97px) 100%,84% 41.67%,calc(84% + 97px) 100%,100% 100%)}}.site-footer__grid{gap:var(--s-5);display:grid}.site-footer__logo img{width:200px;height:auto}.site-footer__badge{margin-top:var(--s-3);color:var(--meadow-300);font-weight:600}.site-footer .label{margin-bottom:var(--s-2);color:#fff}.site-footer__col ul{gap:2px;display:grid}.site-footer__col li a{padding-block:6px;display:inline-block}.site-footer a{color:var(--granite-100);text-decoration:none}.site-footer a:hover{color:var(--meadow-400)}.site-footer__contact{gap:var(--s-3);align-content:start;display:grid}.site-footer__sub{color:#fff;font-weight:600;display:block}.site-footer__social{gap:var(--s-4);display:flex}.site-footer__legal{margin-top:var(--s-6);padding-bottom:var(--s-5)}.site-footer__legal p{max-width:none;padding-top:var(--s-4);border-top:1px solid #ffffff1a}@media (min-width:640px){.site-footer__grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.site-footer__grid{column-gap:var(--s-4);grid-template-columns:repeat(12,minmax(0,1fr))}.site-footer__brand{grid-column:1/span 3}.site-footer__col:nth-child(2){grid-column:5/span 3}.site-footer__col:nth-child(3){grid-column:8/span 2}.site-footer__contact{grid-column:10/-1}}.not-found{background:var(--spruce-900);color:#fff;padding-block:var(--section) calc(var(--section) + 120px);position:relative;overflow:hidden}.not-found__inner{gap:var(--s-4);justify-items:start;display:grid}.not-found h1{max-width:14ch;font-size:var(--text-display);letter-spacing:-.02em;font-weight:800;font-stretch:78%;line-height:.98}.not-found .lead{color:var(--spruce-100)}.not-found__ctas{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.not-found__ridge{left:0;bottom:calc(var(--ridge-h) + var(--s-4));fill:none;width:100%;height:104px;stroke:var(--meadow-400);stroke-width:var(--stroke);stroke-linejoin:round;position:absolute}.preview-toast{z-index:1000;border-top:3px solid var(--meadow-400);border-radius:var(--radius-control);background:var(--granite-950);color:#fff;max-width:min(320px,100vw - 24px);font-family:var(--font);box-shadow:var(--shadow-float);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:12px 16px;font-size:.9375rem;font-weight:500;line-height:1.35;position:fixed;top:0;left:0;transform:translateY(6px)}.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>*{opacity:1;clip-path:none;transform:none}.js .why__list .ridge-mark path{stroke-dashoffset:0}.btn:hover,.btn:active,.btn:hover .icon--arrow,.service-row:hover .service-row__title,.service-row:hover .service-row__thumb img,.project:hover .project__frame img{transform:none}.about__parallax{transform:none!important}.preview-toast{transition:opacity .12s linear;transform:none}}
