:root{--green:#14943c;--green-deep:#0b642c;--ink:#282b29;--gray:#575957;--fog:#d8dbd7;--paper:#f3f3ee;--white:#fff;--line:rgba(40,43,41,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:1180px;background:var(--paper);color:var(--ink);font-family:Manrope,"Helvetica Neue",Arial,sans-serif;font-weight:400;cursor:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:none}.loader{position:fixed;inset:0;z-index:200;background:var(--paper);display:flex;align-items:center;justify-content:center;transition:opacity .65s ease,visibility .65s}.loader.is-hidden{opacity:0;visibility:hidden}.loader span{font-size:14px;letter-spacing:.16em}.loader__line{position:absolute;left:0;bottom:0;height:4px;background:var(--green);animation:load 1.25s cubic-bezier(.7,0,.3,1) forwards}@keyframes load{from{width:0}to{width:100%}}.cursor{position:fixed;z-index:250;width:11px;height:11px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s}.cursor.is-large{width:48px;height:48px}.header{position:fixed;left:0;right:0;top:0;z-index:100;height:104px;padding:25px 54px;display:grid;grid-template-columns:240px 1fr 240px;align-items:start;color:#fff;transition:color .35s,background .35s,transform .35s}.header.is-solid{background:rgba(243,243,238,.92);backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:flex-start;gap:8px;font-size:15px;font-weight:500;line-height:.92;letter-spacing:-.035em}.wordmark__roof{display:flex;gap:2px;margin-top:2px}.wordmark__roof i{display:block;width:10px;height:5px;background:var(--green);transform:skewX(38deg)}.nav{display:flex;justify-content:center;gap:21px;font-size:13px}.nav a,.header__phone{position:relative}.nav a:after,.header__phone:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-5px;background:currentColor;transition:right .3s}.nav a:hover:after,.header__phone:hover:after{right:0}.header__phone{justify-self:end;font-size:13px}.hero{height:100vh;min-height:740px;position:relative;overflow:hidden;background:#243128;color:#fff}.hero__media{position:absolute;inset:-4%;background:url("assets/hero-house.jpg") center 56%/cover no-repeat;filter:saturate(.65) brightness(.72);transform:scale(1.05);transition:transform .2s linear}.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,12,.12),rgba(7,20,11,.05) 42%,rgba(6,18,10,.7) 100%),linear-gradient(90deg,rgba(4,12,6,.25),transparent 55%)}.hero__kicker{position:absolute;left:58px;bottom:240px;font-size:17px;line-height:1.35}.round-link{position:absolute;right:70px;top:124px;width:108px;height:108px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:transparent;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.08em;transition:background .3s,color .3s,transform .3s}.round-link:hover{background:#fff;color:var(--ink);transform:scale(1.07)}.hero__title{position:absolute;left:52px;right:52px;bottom:52px;font-size:clamp(82px,9.2vw,148px);font-weight:300;line-height:.73;letter-spacing:-.075em;white-space:nowrap}.hero__title span{display:block}.hero__title span:last-child{text-align:right;color:#dfe5de}.hero__foot{position:absolute;left:58px;right:58px;bottom:16px;border-top:1px solid rgba(255,255,255,.4);padding-top:8px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.section{position:relative;padding:126px 56px}.section__index{position:absolute;top:130px;right:56px;font-size:13px}.section__label{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:72px}.manifest{min-height:1080px}.manifest__headline{font-size:clamp(86px,9vw,145px);font-weight:300;line-height:.79;letter-spacing:-.075em}.manifest__headline span{display:block}.manifest__headline span:nth-child(2){padding-left:12vw}.manifest__headline span:nth-child(3){text-align:right}.outline{-webkit-text-stroke:1px var(--ink);color:transparent}.manifest__copy{width:48%;margin:120px 0 100px 41%;display:grid;grid-template-columns:1fr 1fr;gap:50px;font-size:16px;line-height:1.6}.manifest__copy p{margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.metric{padding:30px 0 0;display:flex;gap:22px;align-items:flex-start;border-right:1px solid var(--line);min-height:126px}.metric:last-child{border:0}.metric strong{font-size:52px;font-weight:300;line-height:1}.metric span{font-size:12px;line-height:1.5;text-transform:uppercase;margin-top:6px}.section--dark{background:var(--green-deep);color:#fff}.services{min-height:1020px;overflow:hidden}.services__title{font-size:clamp(76px,7vw,114px);line-height:.84;letter-spacing:-.065em;font-weight:300;margin:0 0 92px}.service-list{position:relative;z-index:2;width:76%;margin-left:24%;border-top:1px solid rgba(255,255,255,.35)}.service-row{display:grid;grid-template-columns:60px 1fr 240px 30px;align-items:center;min-height:105px;border-bottom:1px solid rgba(255,255,255,.35);transition:padding .35s,background .35s}.service-row:hover{padding-left:17px;background:rgba(255,255,255,.07)}.service-row span{font-size:11px}.service-row strong{font-size:22px;font-weight:400}.service-row em{font-size:11px;line-height:1.4;font-style:normal;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.service-row i{font-style:normal;font-size:24px}.service-preview{position:absolute;left:56px;bottom:125px;width:250px;height:310px;overflow:hidden}.service-preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:opacity .2s,transform .6s}.services:has(.service-row:hover) .service-preview img{transform:scale(1.05)}.projects{background:var(--fog);overflow:hidden;padding-bottom:95px}.projects__heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.projects h2{font-size:clamp(64px,6.2vw,100px);line-height:.87;letter-spacing:-.065em;font-weight:300;margin:0}.project-controls{display:flex;gap:8px}.project-controls button{width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;background:transparent;font-size:22px;transition:.25s}.project-controls button:hover{background:var(--ink);color:#fff}.project-track{display:flex;gap:24px;transition:transform .8s cubic-bezier(.68,0,.22,1);will-change:transform}.project-card{width:calc(63vw - 56px);min-width:calc(63vw - 56px)}.project-card img{width:100%;height:570px;object-fit:cover;display:block;filter:saturate(.75)}.project-card__meta{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:11px;margin-top:18px;font-size:11px;text-transform:uppercase}.project-card h3{font-size:34px;line-height:1.06;letter-spacing:-.04em;font-weight:400;margin:24px 0 0}.project-counter{display:flex;gap:7px;justify-content:flex-end;margin-top:45px;font-size:13px}.principle{background:var(--paper);overflow:hidden;padding-bottom:130px}.principle__lead{width:67%;margin:0 0 120px 25%;font-size:clamp(38px,4vw,64px);line-height:1.12;letter-spacing:-.045em}.principle__marquee{margin:0 -56px 105px;white-space:nowrap;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0}.principle__marquee div{font-size:75px;font-weight:300;letter-spacing:-.045em;animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.principle-item{padding:28px 36px 0 0;min-height:250px;border-right:1px solid var(--line)}.principle-item+*{padding-left:36px}.principle-item:last-child{border:0}.principle-item span{font-size:11px}.principle-item h3{font-size:24px;font-weight:400;margin:45px 0 18px}.principle-item p{font-size:14px;line-height:1.6;max-width:340px}.section--fog{background:#bfc4bf}.team{min-height:1120px}.team__intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px}.team__intro h2{font-size:clamp(64px,6.5vw,105px);line-height:.84;letter-spacing:-.07em;font-weight:300;margin:0}.team__intro p{width:320px;font-size:13px;line-height:1.6}.team-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:18px}.person:nth-child(2){margin-top:100px}.person__photo{height:510px;overflow:hidden;background:#9ca29c}.person__photo img{width:115%;height:115%;margin:-7%;object-fit:cover;filter:blur(32px) grayscale(1) contrast(.7);opacity:.72;transform:scale(1.2)}.person__photo--two img{object-position:20% center}.person__photo--three img{object-position:80% center}.person__text{border-top:1px solid var(--ink);margin-top:14px;padding-top:12px}.person__text h3{font-size:17px;font-weight:400;margin:0 0 4px}.person__text p{font-size:11px;text-transform:uppercase;margin:0;opacity:.62}.contacts{background:var(--green);color:#fff;min-height:860px}.contacts__grid{display:grid;grid-template-columns:1.55fr .65fr;gap:120px}.contacts__title{position:relative}.contacts__title h2{font-size:clamp(68px,7.2vw,116px);font-weight:300;line-height:.82;letter-spacing:-.07em;margin:0}.round-link--dark{position:absolute;top:auto;right:20px;bottom:-145px;border-color:#fff}.contacts__info{border-top:1px solid rgba(255,255,255,.45)}.contacts__info>div{display:grid;grid-template-columns:105px 1fr;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.45)}.contacts__info span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.contacts__info p{font-size:15px;line-height:1.55;margin:0}.footer{background:var(--ink);color:#fff;padding:35px 56px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:11px;text-transform:uppercase}.footer__brand{font-size:23px;letter-spacing:-.04em}.footer>div:nth-child(2){text-align:center}.footer>div:last-child{display:flex;justify-content:flex-end;gap:18px}.callback{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:58px;background:var(--paper);border:0;color:var(--ink)}.callback::backdrop{background:rgba(0,0,0,.7)}.callback__close{position:absolute;right:55px;top:35px;border:0;background:transparent;font-size:44px;font-weight:300}.callback__index{font-size:12px;text-transform:uppercase}.callback h2{font-size:86px;font-weight:300;line-height:.86;letter-spacing:-.07em;margin:95px 0 55px}.callback form{width:52%;margin-left:40%;border-top:1px solid var(--line)}.callback label{display:grid;grid-template-columns:220px 1fr;align-items:center;border-bottom:1px solid var(--line);min-height:86px}.callback label span{font-size:11px;text-transform:uppercase}.callback input{border:0;background:transparent;outline:none;font-size:21px;color:var(--ink);padding:15px 0}.callback form button{width:100%;height:82px;border:0;background:var(--green);color:#fff;margin-top:28px;text-align:left;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.callback form button i{font-style:normal;font-size:25px}.callback form small{display:block;margin-top:12px;opacity:.6}.callback__success{display:none;width:52%;margin-left:40%}.callback__success span{font-size:12px}.callback__success h2{margin-top:25px}.callback.is-success form{display:none}.callback.is-success .callback__success{display:block}.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader__line,.principle__marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}.project-track,.hero__media{transition:none}}
