@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{--forest:#123b32;--forest-deep:#092a23;--copper:#bd7552;--ivory:#f4f0e7;--paper:#faf8f2;--ink:#17322c;--muted:#65736e;--line:#17322c2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif}body,button,a{-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{width:100%;display:block}.site-header{color:#fff;z-index:20;background:#0a2a23f5;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:92px;padding:0 4vw;display:grid;position:absolute;top:0}.brand{justify-self:start;align-items:center;gap:14px;display:inline-flex}.brand-mark{color:#e2a27c;letter-spacing:.04em;border:1px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-family:Playfair Display,Georgia,serif;font-size:10px;display:inline-flex}.brand-name{letter-spacing:.01em;font-family:Playfair Display,Georgia,serif;font-size:22px}.desktop-nav{gap:clamp(24px,3vw,48px);display:flex}.desktop-nav a{color:#ffffffc7;font-size:13px;transition:color .2s}.desktop-nav a:hover{color:#fff}.nav-cta{border-bottom:1px solid #ffffff73;justify-self:end;padding-bottom:7px;font-size:13px}.nav-cta span{color:#e2a27c;margin-left:8px}.mobile-menu{justify-self:end;display:none;position:relative}.mobile-menu summary{cursor:pointer;width:34px;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:#fff;width:100%;height:1px;margin:8px 0;display:block}.mobile-menu nav{background:var(--forest-deep);gap:22px;width:min(320px,85vw);padding:28px;display:grid;position:absolute;top:34px;right:-4vw}.hero{color:#fff;min-height:850px;position:relative;overflow:hidden}.hero-image{background:url(/images/hero-home.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,#041915d9 0%,#071f1a8c 48%,#0718151f 80%),linear-gradient(#0000 55%,#04171380);position:absolute;inset:0}.hero-content{z-index:2;max-width:830px;position:absolute;top:52%;left:8vw;transform:translateY(-45%)}.eyebrow{color:var(--copper);letter-spacing:.2em;text-transform:uppercase;margin:0 0 22px;font-size:11px;font-weight:600}.eyebrow.light{color:#e7a37c}h1,h2{letter-spacing:-.045em;margin:0;font-family:Playfair Display,Georgia,serif;font-weight:500}h1{font-size:clamp(64px,7.6vw,118px);line-height:.94}h1 em,h2 em{color:#dea07d;font-weight:inherit}.hero-copy{color:#ffffffd1;max-width:560px;margin:32px 0 40px;font-size:18px;line-height:1.7}.hero-actions{align-items:center;gap:34px;display:flex}.button{justify-content:space-between;align-items:center;gap:35px;min-width:228px;padding:17px 20px;font-size:13px;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-light{background:var(--ivory);color:var(--forest)}.button-light:hover{background:#fff}.button span{color:var(--copper)}.text-link{border-bottom:1px solid;padding-bottom:7px;font-size:13px}.light-link{color:#ffffffc7}.light-link span{margin-left:12px}.hero-note{letter-spacing:.1em;text-transform:uppercase;z-index:2;gap:32px;font-size:11px;display:flex;position:absolute;bottom:28px;right:4vw}.hero-note span:before{color:var(--copper);content:"•";margin-right:10px}.section{padding:130px 8vw}.section-label{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:14px;font-size:10px;display:flex}.section-label span{color:var(--copper)}.section-label:after{background:var(--line);content:"";width:5vw;max-width:92px;height:1px}.intro{grid-template-columns:22% 1fr;display:grid}.intro-content{max-width:970px}h2{font-size:clamp(52px,6vw,92px);line-height:1.02}.intro-copy-grid{grid-template-columns:1fr 1fr;gap:8vw;margin-top:60px;display:grid}.intro-copy-grid p{color:var(--muted);margin:0;font-size:15px;line-height:1.9}.intro-copy-grid .lead{color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:26px;line-height:1.5}.image-statement{height:min(72vw,850px);min-height:620px;position:relative;overflow:hidden}.image-statement img{object-fit:cover;height:100%}.image-statement:after{content:"";background:linear-gradient(90deg,#07241e59,#0000 60%);position:absolute;inset:0}.image-statement-card{color:#fff;z-index:2;background:#0a3028f0;max-width:610px;padding:62px 70px 68px;position:absolute;bottom:0;left:8vw}blockquote{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(30px,3vw,46px);line-height:1.25}.services{background:var(--ivory);grid-template-columns:22% 1fr;display:grid}.services-heading{grid-column:2}.service-list{border-top:1px solid var(--line);grid-column:2;grid-template-columns:repeat(2,1fr);margin-top:70px;display:grid}.service-card{border-right:1px solid var(--line);min-height:390px;padding:34px 42px 28px 0;position:relative}.service-card+.service-card{padding-left:42px}.service-card:nth-child(2n){border-right:0}.service-card:nth-child(n+3){border-top:1px solid var(--line)}.service-card:nth-child(odd){padding-left:0}.service-number{color:var(--copper);font-size:11px}.service-card h3{margin:52px 0 24px;font-family:Playfair Display,Georgia,serif;font-size:30px;font-weight:500}.service-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.85}.service-card a{border-bottom:1px solid var(--line);padding-bottom:7px;font-size:12px;position:absolute;bottom:30px;left:0}.service-card+.service-card a{left:42px}.service-card:nth-child(odd) a{left:0}.service-card a span{color:var(--copper);margin-left:12px}.gallery{background:var(--paper)}.gallery-heading{grid-template-columns:18% 1fr 28%;align-items:end;gap:4vw;margin-bottom:75px;display:grid}.gallery-copy{color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.8}.gallery-grid{grid-template-rows:repeat(2,340px);grid-template-columns:1.2fr .8fr;gap:28px;display:grid}.gallery-grid figure{margin:0;position:relative;overflow:hidden}.gallery-tall{grid-row:1/3}.gallery-grid img{object-fit:cover;height:100%;transition:transform .6s}.gallery-grid figure:hover img{transform:scale(1.02)}.gallery-grid figcaption{color:#fff;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(#0000,#051e19a6);justify-content:space-between;width:100%;padding:55px 24px 20px;font-size:10px;display:flex;position:absolute;bottom:0}.image-credit{color:var(--muted);margin:14px 0 0;font-size:10px}.approach{background:var(--forest);color:#fff;grid-template-columns:22% 1fr;display:grid}.light-label{color:#ffffff80}.light-label:after{background:#fff3}.approach-heading{grid-column:2}.steps{border-top:1px solid #ffffff29;grid-column:2;grid-template-columns:repeat(4,1fr);margin-top:70px;display:grid}.step{border-right:1px solid #ffffff29;min-height:300px;padding:30px 28px 0}.step:first-child{padding-left:0}.step:last-child{border:0}.step>span{color:#df9b76;font-size:10px}.step h3{margin:55px 0 18px;font-family:Playfair Display,Georgia,serif;font-size:27px;font-weight:500}.step p{color:#fff9;margin:0;font-size:13px;line-height:1.8}.contact{background:#efe8dd;grid-template-columns:22% 1fr 25%;display:grid}.contact-main{max-width:730px}.contact-main>p:not(.eyebrow){color:var(--muted);max-width:580px;margin:36px 0 38px;line-height:1.85}.button-dark{background:var(--forest);color:#fff;min-width:290px}.button-dark:hover{background:var(--forest-deep)}.contact-details{border-left:1px solid var(--line);gap:38px;margin-left:3vw;padding-left:4vw;display:grid}.contact-details span{color:var(--copper);letter-spacing:.15em;text-transform:uppercase;font-size:10px}.contact-details p{margin:10px 0 0;font-size:13px;line-height:1.7}footer{background:var(--forest-deep);color:#fff;padding:70px 4vw 26px}.footer-top{grid-template-columns:1fr 1fr auto;align-items:start;padding-bottom:65px;display:grid}.footer-top p{color:#ffffff94;margin:0;font-family:Playfair Display,Georgia,serif;font-size:24px;line-height:1.5}.footer-top nav{gap:14px;display:grid}.footer-top nav a{color:#ffffffa6;font-size:12px}.footer-bottom{color:#ffffff6b;text-transform:uppercase;border-top:1px solid #ffffff24;justify-content:space-between;padding-top:24px;font-size:10px;display:flex}@media (width<=980px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.nav-cta{display:none}.mobile-menu{display:block}.hero{min-height:760px}.hero-content{left:6vw}.hero-note{display:none}.section{padding:100px 6vw}.intro,.services,.approach{grid-template-columns:1fr}.section-label{margin-bottom:50px}.intro-content,.services-heading,.service-list,.approach-heading,.steps{grid-column:1}.gallery-heading{grid-template-columns:1fr 1fr}.gallery-heading .section-label{grid-column:1/3}.gallery-copy{align-self:end}.contact{grid-template-columns:1fr 1fr}.contact>.section-label{grid-column:1/3}.contact-details{margin-left:6vw}}@media (width<=700px){.site-header{height:76px;padding:0 5vw}.brand-mark{width:36px;height:36px}.brand-name{font-size:19px}.hero{min-height:720px}.hero-content{top:50%;left:6vw;right:6vw}h1{font-size:clamp(54px,15vw,76px)}h2{font-size:clamp(46px,13vw,64px)}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start;gap:25px}.section{padding:82px 6vw}.intro-copy-grid{grid-template-columns:1fr;gap:30px;margin-top:42px}.intro-copy-grid .lead{font-size:23px}.image-statement{min-height:650px}.image-statement img{object-position:62% center}.image-statement-card{padding:38px 30px 43px;left:5vw;right:5vw}blockquote{font-size:31px}.service-list,.steps{grid-template-columns:1fr}.service-card{border-bottom:1px solid var(--line);border-right:0;min-height:300px;padding:30px 0}.service-card+.service-card{padding-left:0}.service-card a,.service-card+.service-card a{bottom:26px;left:0}.service-card h3{margin-top:30px}.gallery-heading{display:block}.gallery-heading .section-label{margin-bottom:50px}.gallery-copy{margin-top:32px}.gallery-grid{grid-template-rows:480px 260px 260px;grid-template-columns:1fr;display:grid}.gallery-tall{grid-row:auto}.step{border-bottom:1px solid #ffffff29;border-right:0;min-height:220px;padding:30px 0}.step h3{margin-top:34px}.contact{grid-template-columns:1fr}.contact>.section-label,.contact-main,.contact-details{grid-column:1}.contact-details{border-left:0;border-top:1px solid var(--line);margin:70px 0 0;padding:45px 0 0}.button-dark{min-width:100%}.footer-top{grid-template-columns:1fr;gap:42px}.footer-bottom{flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
