@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#10251d;--olive:#70745e;--cream:#f3f0e8;--paper:#fbfaf6;--line:#d8d5cb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#17231e;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.top{height:92px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 5vw;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand img{width:210px;height:72px;object-fit:cover;object-position:center 68%}.top nav{display:flex;align-items:center;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.nav-cta{background:var(--ink);color:#fff;padding:16px 20px}.menu{display:none;border:0;background:none;font-size:25px}.hero{height:calc(100vh - 92px);min-height:650px;position:relative;color:#fff;display:flex;align-items:flex-end;padding:8vw 7vw}.hero-bg,.feature-img{background:url('assets/hero.png') center/cover no-repeat}.hero-bg,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,rgba(6,22,16,.76),rgba(6,22,16,.08) 68%),linear-gradient(0deg,rgba(6,22,16,.45),transparent 45%)}.hero-copy{position:relative;z-index:2;max-width:760px;margin-bottom:3vw}.eyebrow{font-size:11px;letter-spacing:.28em;font-weight:600;margin-bottom:25px}.eyebrow.dark{color:#687067}.hero h1,.intro h2,.section-head h2,.feature h2,.contact h2{font-family:'Libre Caslon Display',serif;font-weight:400;line-height:.98;margin:0}.hero h1{font-size:clamp(54px,7vw,104px)}.hero h1 em{font-weight:400;color:#d9d4c4}.hero-copy>p:not(.eyebrow){max-width:620px;font-size:17px;line-height:1.7;color:#eef0ec}.actions{display:flex;align-items:center;gap:28px;margin-top:34px}.btn{display:inline-block;border:0;padding:17px 24px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;cursor:pointer}.btn.light{background:#f3f0e8;color:var(--ink)}.btn.dark{background:var(--ink);color:#fff}.text-link,.line-link{text-transform:uppercase;font-size:11px;letter-spacing:.15em}.hero-tag{position:absolute;right:6vw;bottom:6vw;z-index:2;text-align:right;font-family:'Libre Caslon Display',serif;font-size:24px;letter-spacing:.12em}.hero-tag span{font-family:'DM Sans';font-size:9px;letter-spacing:.28em}.intro,.feature,.contact{display:grid;grid-template-columns:1fr 1fr}.intro{padding:120px 7vw;gap:10vw}.intro h2,.section-head h2,.feature h2,.contact h2{font-size:clamp(42px,5vw,72px)}.intro>div:last-child{padding-top:38px;max-width:600px}.intro p,.feature p{font-size:16px;line-height:1.85;color:#59615d}.line-link{display:inline-block;margin-top:25px;border-bottom:1px solid;padding-bottom:8px}.services{background:var(--ink);color:#fff;padding:120px 7vw}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:70px}.section-head .eyebrow{margin-top:10px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3b4a44}.service-grid article{padding:35px 28px 25px 0;border-right:1px solid #3b4a44;min-height:300px}.service-grid article+article{padding-left:28px}.service-grid span,.steps b{font-size:11px;letter-spacing:.18em;color:#9da79f}.service-grid h3,.steps h3{font-family:'Libre Caslon Display';font-size:31px;font-weight:400;margin:60px 0 18px}.service-grid p{color:#bbc2bd;line-height:1.7;font-size:14px}.feature{min-height:720px;background:var(--cream)}.feature-img{background-position:center}.feature-copy{padding:12vw 9vw;align-self:center}.feature-copy .btn{margin-top:20px}.process{padding:120px 7vw}.process .section-head{border-bottom:1px solid var(--line);padding-bottom:55px}.steps{display:grid;grid-template-columns:repeat(4,1fr)}.steps>div{padding:40px 35px 0 0}.steps h3{margin:35px 0 15px}.steps p{line-height:1.7;color:#69706d;font-size:14px}.quote{background:#b9b5a4;padding:110px 12vw;text-align:center}.quote p{font-family:'Libre Caslon Display';font-size:clamp(36px,5vw,66px);line-height:1.12;margin:0 auto 30px;max-width:1100px}.quote span{font-size:10px;letter-spacing:.25em}.contact{background:var(--ink);color:#fff;padding:110px 7vw;gap:10vw}.contact>div>p:not(.eyebrow){color:#bdc5c0;line-height:1.7;max-width:470px}.contact .email{margin-top:35px;color:#fff!important}.contact form{display:grid;gap:22px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#b7c0bb}input,select,textarea{width:100%;margin-top:9px;background:transparent;border:0;border-bottom:1px solid #607068;color:#fff;padding:12px 0;font:14px 'DM Sans';outline:none}select option{color:#111}textarea{border:1px solid #607068;padding:15px;resize:vertical}.contact button{justify-self:start}.success{padding:14px;background:#dfe8df;color:#163123;font-size:13px}footer{padding:45px 5vw;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:40px;background:#fff}footer img{width:210px;height:85px;object-fit:cover;object-position:center 68%}footer p{font-size:10px;letter-spacing:.14em;color:#717773}footer a{font-size:13px}@media(max-width:850px){.top{height:78px}.brand img{width:165px;height:58px}.menu{display:block}.top nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:30px;flex-direction:column;align-items:flex-start}.top nav.open{display:flex}.hero{height:82vh;min-height:620px;padding:60px 7vw}.hero-tag{display:none}.intro,.feature,.contact{grid-template-columns:1fr}.intro{padding:80px 7vw;gap:20px}.services,.process{padding:80px 7vw}.section-head{display:block}.service-grid,.steps{grid-template-columns:1fr 1fr}.feature-img{min-height:500px}.feature-copy{padding:80px 7vw}.contact{gap:60px}.two{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center}footer img{margin:auto}footer a{justify-self:center}}@media(max-width:520px){.service-grid,.steps{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid #3b4a44;padding-left:0!important}.hero h1{font-size:50px}.actions{align-items:flex-start;flex-direction:column}.feature-img{min-height:350px}}

.established{margin-top:22px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#5d665c}
