:root{--ink:#15251f;--forest:#18382c;--moss:#8da38f;--cream:#f4efe5;--sand:#ddd2bd;--white:#fff;--line:rgba(21,37,31,.15);--serif:"Source Serif 4",serif;--sans:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.sr-only,.skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:100;background:#fff;padding:10px}.topbar{background:var(--forest);color:#dbe4dd;font-size:12px;letter-spacing:.05em}.topbar__inner{height:36px;display:flex;align-items:center;justify-content:space-between}.topbar__inner div{display:flex;gap:25px}.site-header{background:rgba(244,239,229,.96);position:relative;z-index:20}.nav{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:var(--serif);font-size:25px;letter-spacing:.12em}.brand small{font-size:9px;letter-spacing:.32em;margin-top:5px}.nav__links{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:600}.nav__links>a:not(.button){position:relative}.nav__links>a:not(.button):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--ink);transition:.25s}.nav__links>a:hover:after{width:100%}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--forest);color:#fff;padding:16px 24px;border:1px solid var(--forest);font:600 13px var(--sans);letter-spacing:.03em;transition:.25s;cursor:pointer}.button:hover{background:#285443;transform:translateY(-2px)}.button--small{padding:11px 18px}.hero{height:calc(100vh - 124px);min-height:620px;max-height:850px;position:relative;background:url("https://images.unsplash.com/photo-1452860606245-08befc0ff44b?auto=format&fit=crop&w=2100&q=88") center/cover}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,27,22,.82),rgba(14,27,22,.3) 55%,rgba(14,27,22,.08))}.hero__content{position:relative;color:#fff;padding-top:11vh}.eyebrow{text-transform:uppercase;font-weight:700;letter-spacing:.2em;font-size:11px;color:#5d7566;margin:0 0 22px}.eyebrow--light{color:#d4dfd6}.hero h1,.section h2,.contact h2{font:500 clamp(48px,6.5vw,92px)/.94 var(--serif);letter-spacing:-.035em;margin:0}.hero h1 em{color:#d9cdb5;font-style:italic}.hero__lead{max-width:560px;font-size:17px;color:#e8ece9;margin:32px 0}.hero__actions{display:flex;align-items:center;gap:30px}.hero__actions .button{background:#e8ddca;border-color:#e8ddca;color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:4px}.hero__stamp{position:absolute;right:5vw;bottom:-55px;width:132px;height:132px;border-radius:50%;background:#b9aa8e;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:8px;transform:rotate(-7deg)}.hero__stamp strong{font:600 35px var(--serif)}.hero__stamp span{font-size:10px;text-transform:uppercase;line-height:1.3;letter-spacing:.1em}.quick{display:grid;grid-template-columns:repeat(3,1fr);padding:54px 0;border-bottom:1px solid var(--line)}.quick article{display:flex;align-items:center;gap:21px;padding:0 30px;border-right:1px solid var(--line)}.quick article:first-child{padding-left:0}.quick article:last-child{border:0}.quick article>span{font:italic 23px var(--serif);color:#92a398}.quick div{display:flex;flex-direction:column}.quick strong{font-size:14px}.quick small{color:#69746f}.section{padding:130px 0}.section-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:60px;margin-bottom:65px}.section h2,.contact h2{font-size:clamp(43px,5vw,70px)}.section-head>p{color:#64706a;max-width:460px;margin:0}.service-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.service-card{min-height:365px;position:relative;overflow:hidden;color:white}.service-card--large{grid-row:span 2;min-height:754px}.service-card:after,.project:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(8,20,15,.85))}.service-card img,.project img{transition:transform .7s}.service-card:hover img,.project:hover img{transform:scale(1.035)}.service-card__content{position:absolute;z-index:2;left:34px;right:34px;bottom:31px}.service-card__content>span{font:italic 18px var(--serif);opacity:.75}.service-card h3{font:500 31px var(--serif);margin:5px 0}.service-card p{max-width:430px;font-size:13px;margin:0}.service-card a{display:inline-block;margin-top:22px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.about{background:#eee7da}.about__grid{display:grid;grid-template-columns:1fr .88fr;gap:10vw;align-items:center}.about__image{height:690px;position:relative}.grain-card{position:absolute;right:-45px;bottom:55px;background:#fff;padding:25px 32px;display:flex;flex-direction:column}.grain-card strong{font:italic 30px var(--serif)}.grain-card span{font-size:11px;text-transform:uppercase;letter-spacing:.16em}.about__copy h2{font-size:clamp(40px,4.3vw,64px)}.about__copy>p:not(.eyebrow){color:#5f6b65;margin:30px 0}.about blockquote{font:italic 21px/1.5 var(--serif);border-left:2px solid #9bad9e;margin:36px 0;padding-left:24px}.signature{display:flex;align-items:center;gap:14px}.signature>span{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font:italic 25px var(--serif)}.signature div{display:flex;flex-direction:column}.signature small{color:#718079}.projects{background:var(--forest);color:#fff}.section-head--light>p{color:#c1cdc5}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project{height:420px;position:relative;overflow:hidden}.project--wide{grid-column:span 2;height:580px}.project div{position:absolute;z-index:2;left:30px;bottom:24px}.project span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#d8e0da}.project h3{font:500 29px var(--serif);margin:4px 0}.center{text-align:center}.center h2{font-size:clamp(40px,4.2vw,62px)}.steps{list-style:none;padding:65px 0 0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);counter-reset:step}.steps li{padding:0 28px;border-left:1px solid var(--line);position:relative}.steps li:first-child{border-left:0}.steps li>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid #9eab9f;border-radius:50%;font:italic 20px var(--serif);margin-bottom:28px}.steps h3{font:500 24px var(--serif);margin:0 0 12px}.steps p{font-size:13px;color:#66716b;margin:0}.contact{background:#a99b82;color:#13241d;padding:120px 0}.contact__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.contact__copy>p:not(.eyebrow){max-width:480px;margin:26px 0;color:#293a32}.contact__details{margin-top:50px;display:flex;gap:50px}.contact__details a{font-family:var(--serif);font-size:18px}.contact__details small{display:block;font:700 9px var(--sans);text-transform:uppercase;letter-spacing:.17em;margin-bottom:6px}.contact-form{background:#f6f0e5;padding:42px;display:flex;flex-direction:column;gap:22px}.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #bdb5a7;background:transparent;padding:10px 0;font:14px var(--sans);color:var(--ink);outline:none;border-radius:0}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--forest)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form .button{align-self:flex-start;margin-top:5px}.form-status{font-size:12px;margin:0;color:#315744}.footer{background:#10231b;color:#dce5df;padding:70px 0 25px}.brand--light{color:#fff}.footer__top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:50px}.footer__top p{margin:0;color:#aebdb4;font-size:13px}.footer__top nav{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:13px}.footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;color:#809087;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.topbar__inner>span{display:none}.topbar__inner{justify-content:center}.nav{height:75px}.menu-toggle{display:block}.nav__links{position:absolute;top:111px;left:0;right:0;background:var(--cream);padding:25px 20px;flex-direction:column;align-items:stretch;gap:18px;transform:scaleY(0);transform-origin:top;opacity:0;transition:.25s}.nav__links.open{transform:scaleY(1);opacity:1}.hero{height:720px}.hero__content{padding-top:110px}.hero__stamp{display:none}.quick{grid-template-columns:1fr;padding:25px 0}.quick article,.quick article:first-child{padding:18px 5px;border-right:0;border-bottom:1px solid var(--line)}.section{padding:85px 0}.section-head,.about__grid,.contact__grid{grid-template-columns:1fr;gap:40px}.service-grid{grid-template-columns:1fr}.service-card--large{grid-row:auto;min-height:500px}.about__image{height:520px}.grain-card{right:-10px}.steps{grid-template-columns:1fr 1fr;gap:45px 0}.contact__details{flex-direction:column;gap:20px}.footer__top{grid-template-columns:1fr 1fr}.footer__top nav{grid-column:span 2}}@media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}.topbar__inner div{gap:12px;font-size:10px}.hero{min-height:620px;height:calc(100vh - 111px)}.hero h1{font-size:52px}.hero__lead{font-size:15px}.hero__actions{align-items:flex-start;flex-direction:column;gap:20px}.section-head{margin-bottom:40px}.service-card,.service-card--large{min-height:460px}.project-grid{grid-template-columns:1fr}.project,.project--wide{grid-column:auto;height:410px}.steps{grid-template-columns:1fr}.steps li,.steps li:first-child{border-left:1px solid var(--line);padding-left:70px}.steps li>span{position:absolute;left:0}.form-row{grid-template-columns:1fr}.contact-form{padding:28px 22px}.footer__top{grid-template-columns:1fr}.footer__top nav{grid-column:auto}.footer__bottom{gap:20px;flex-direction:column}}
