@font-face{font-family:Playfair;src:url('assets/playfair-display.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Playfair;src:url('assets/playfair-display-italic.ttf') format('truetype');font-style:italic;font-weight:500;font-display:swap}@font-face{font-family:SourceSans;src:url('assets/source-sans-3.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#1d2923;--forest:#243b31;--moss:#53634a;--cream:#f3f0e6;--paper:#e9e3d5;--ochre:#c77c45;--clay:#b75f41;--muted:#687168;--line:#c7c7b9;--display:'Playfair',Georgia,serif;--body:'SourceSans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.58}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}img,video{display:block;max-width:100%;height:auto;object-fit:cover}figure,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.02;letter-spacing:-.04em;margin:0}h2{font-size:clamp(46px,6.2vw,92px)}h3{font-size:clamp(29px,3.3vw,46px)}em{font-weight:500}p+p{margin-top:18px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--ochre);outline-offset:5px}.skip{position:absolute;top:0;left:0;background:var(--cream);padding:14px 20px;z-index:100;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.section{padding:clamp(82px,10vw,150px) max(6.3vw,26px)}.eyebrow{font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:25px}.eyebrow span{letter-spacing:.08em}.light{color:#f8f3e8}.text-link{display:inline-flex;align-items:center;gap:35px;margin-top:28px;font-size:16px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:9px}.text-link:hover{color:var(--clay)}.button{min-height:58px;padding:15px 24px;display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;font-size:15px;font-weight:700;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ochre);color:#17221c}.primary:hover{background:#df9a61}.outline{border-color:#e6e4db;color:#fff;background:transparent}.outline:hover{background:#f3f0e6;color:var(--ink)}
.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:26px 5.6vw;display:flex;justify-content:space-between;align-items:center;color:#fff}.brand img{width:137px;height:84px;object-fit:contain}.header-phone{margin-left:auto;margin-right:44px;font-size:15px;font-weight:600}.menu-button,.close-menu{border:0;background:none;color:inherit;display:flex;align-items:center;gap:17px;min-height:48px;font-size:15px}.menu-icon{width:27px;display:grid;gap:7px}.menu-icon i{height:1px;background:currentColor;width:27px}
.hero{position:relative;min-height:700px;height:100svh;max-height:1050px;background:#29342d;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 38%;background:#4a5940}.hero-video{width:100%;height:100%;object-position:50% 56%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#1d2923 0%,rgba(29,41,35,.97) 22%,rgba(29,41,35,.58) 53%,rgba(29,41,35,.04) 82%),linear-gradient(0deg,rgba(15,25,19,.48),transparent 48%,rgba(10,18,15,.22))}.hero-content{position:absolute;left:7vw;bottom:clamp(110px,15vh,180px);z-index:1;max-width:860px}.hero-content .eyebrow{display:flex;align-items:center;gap:13px}.eyebrow-rule{width:35px;height:1px;background:#f4e9d3;display:inline-block}.hero-content h1{font-size:clamp(78px,10vw,154px);line-height:.99;font-weight:500;letter-spacing:-.055em}.hero-content h1 em{color:#e0a26c}.hero-description{margin-top:28px;line-height:1.55;font-size:21px;max-width:500px}.hero-actions{display:flex;gap:13px;margin-top:32px}.hero-bottom{position:absolute;bottom:26px;left:6.3vw;right:6.3vw;display:flex;justify-content:space-between;align-items:center;font-size:13px;letter-spacing:.04em;z-index:2;color:#f5f0e4}.hero-index{opacity:.8}.discipline-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 6.3vw;background:var(--forest);color:#f5f0e4;font-size:15px;letter-spacing:.025em}.discipline-strip span{text-align:center;border-right:1px solid #6a786c}.discipline-strip span:first-child{text-align:left}.discipline-strip span:last-child{border:0;text-align:right}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;min-height:750px;background:var(--cream);overflow:hidden}.intro-copy{max-width:600px}.intro-copy h2{font-size:clamp(53px,6vw,88px);margin-bottom:30px}.intro-copy h2 em,.services h2 em,.work h2 em,.transform-copy h2 em,.about h2 em,.review-heading h2 em,.earth-copy h3 em,.contact h2 em{color:var(--clay)}.intro-copy>p:not(.eyebrow){max-width:460px;color:#535d54;font-size:18px}.intro-copy .intro-lead{font-size:23px!important;line-height:1.4;color:var(--ink)!important;margin-bottom:22px}.intro-photo{position:relative;margin-right:-6.3vw}.intro-photo img{width:100%;aspect-ratio:1.16;object-position:center 54%}.intro-photo figcaption,.about-image figcaption{font-size:13px;margin-top:12px;color:var(--muted)}.photo-stamp{position:absolute;left:-36px;bottom:40px;width:118px;height:118px;border-radius:50%;background:var(--ochre);color:var(--ink);display:grid;place-content:center;text-align:center;font-family:var(--display);font-size:20px;line-height:1.1;transform:rotate(-9deg)}
.services{background:var(--paper)}.services-heading,.work-heading,.review-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.services-heading h2,.work-heading h2,.review-heading h2{font-size:clamp(54px,7vw,100px)}.services-heading>p,.work-heading>p,.review-heading>p{max-width:300px;font-size:17px;color:#566056;padding-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 6vw;align-items:start}.service-card{position:relative;display:grid;grid-template-columns:.95fr 1fr;gap:24px;align-items:center}.service-card img{width:100%;aspect-ratio:.9;min-height:270px}.service-card-large{grid-column:1/-1;grid-template-columns:1.15fr .85fr;gap:6vw}.service-card-large img{aspect-ratio:1.5}.service-card-lower{margin-top:95px}.service-card-copy{position:relative;padding:26px 0}.service-number{font-size:12px;letter-spacing:.12em;color:var(--clay);font-weight:700}.service-card h3{font-size:clamp(25px,3vw,40px);margin-top:14px}.service-card p{font-size:16px;color:#596359;margin-top:16px;max-width:310px}.service-card-large h3{font-size:clamp(42px,5vw,70px)}.service-card-large p{font-size:18px}
.work{background:var(--cream)}.work-heading{margin-bottom:70px}.work-heading>p{margin-bottom:6px}.project-image{width:100%;padding:0;border:0;display:block;position:relative;overflow:hidden;background:#d6d3c8;text-align:left}.project-image img{width:100%;height:100%;transition:transform .7s}.project-image:hover img{transform:scale(1.025)}.project-feature .project-image{height:min(60vw,760px)}.project-feature img{object-position:50% 60%}.project-caption{display:grid;grid-template-columns:.5fr 1.5fr;gap:30px;padding-top:20px;align-items:start}.project-caption h3{font-size:clamp(26px,3vw,40px);line-height:1.15}.project-caption p{font-size:15px;color:var(--muted);padding-top:7px}.project-type{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--clay);font-weight:700;padding-top:5px}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:90px}.project-pair .project-image{aspect-ratio:1/1.06}.project-offset{margin-top:145px}.project-earth{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;margin-top:145px;align-items:center}.earth-copy h3{font-size:clamp(42px,5vw,72px)}.earth-copy>p:not(.eyebrow){max-width:350px;font-size:17px;margin-top:25px;color:var(--muted)}.project-earth .project-image{aspect-ratio:1.4}.project-earth .project-image img{object-position:center 56%}
.transformation{background:var(--moss);color:#f5f0e4;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.transformation .eyebrow{color:#e5be8d}.transform-copy h2{font-size:clamp(56px,6.4vw,92px);margin-bottom:27px}.transform-copy h2 em{color:#edb27c}.transform-copy>p:not(.eyebrow){max-width:390px;font-size:18px}.small-note{font-size:14px!important;color:#e0e2d8;margin-top:25px!important;border-left:2px solid #e5be8d;padding-left:14px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.comparison figure{position:relative}.comparison-after{margin-top:90px}.comparison img{width:100%;aspect-ratio:.78}.comparison figcaption{padding-top:12px;font-size:15px;display:flex;gap:12px;align-items:center}.comparison figcaption span{font-size:11px;letter-spacing:.1em;color:#edb27c}
.about{display:grid;grid-template-columns:1.02fr .98fr;gap:10vw;align-items:center}.about-image img{width:100%;aspect-ratio:1.12}.about-copy{max-width:530px}.about-copy h2{font-size:clamp(55px,7vw,94px);margin-bottom:24px}.about-copy .lead{font-family:var(--display);font-size:27px;line-height:1.35;margin-bottom:25px}.about-copy p:not(.lead):not(.eyebrow){color:var(--muted);font-size:17px}.about-copy .text-link{gap:22px}
.testimonials{background:#e2d7c5}.review-heading{margin-bottom:38px}.review-heading>p{max-width:250px}.review-card{position:relative;background:var(--forest);color:#f5f0e4;padding:clamp(32px,6vw,78px);min-height:300px;display:flex;flex-direction:column;justify-content:center}.review-count{position:absolute;right:clamp(30px,5vw,66px);top:clamp(25px,4vw,50px);font-size:12px;letter-spacing:.12em;color:#d6b183}.quote-mark{font-family:var(--display);font-size:90px;line-height:.65;color:#e0a26c;margin-bottom:18px}.review-card blockquote{max-width:980px;font-family:var(--display);font-size:clamp(28px,4vw,54px);line-height:1.27;letter-spacing:-.025em}.review-source{font-size:14px;color:#d9ddd6;margin-top:28px}.review-controls{display:flex;align-items:center;justify-content:space-between;padding:20px 0 0}.review-controls>button{background:none;border:0;border-bottom:1px solid currentColor;padding:8px 0;font-size:15px;font-weight:600}.review-dots{display:flex;gap:12px}.review-dots button{width:11px;height:11px;border-radius:100%;border:1px solid var(--forest);background:transparent;padding:0}.review-dots button[aria-current="true"]{background:var(--forest)}
.contact{background:var(--forest);color:#f5f0e4;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;padding-top:clamp(90px,10vw,145px);padding-bottom:clamp(90px,10vw,145px)}.contact .eyebrow{color:#e5be8d}.contact h2{font-size:clamp(50px,6vw,86px)}.contact h2 em{color:#e0a26c}.contact-copy>p:not(.eyebrow){max-width:390px;color:#d0d6cc;margin-top:28px;font-size:18px}.phone-large{display:block;font-size:clamp(32px,4vw,50px);letter-spacing:-.035em;margin-top:45px;font-family:var(--display)}.email-link{font-size:16px;border-bottom:1px solid #9ba69a;overflow-wrap:anywhere}.contact-copy .contact-area{font-size:14px;margin-top:25px!important;color:#c1cbbf!important}.form-intro{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #879487;padding-bottom:14px;margin-bottom:25px;font-size:13px;color:#d9ddd6}.form-intro span:first-child{font-weight:700;color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}form label{display:block;font-size:14px;font-weight:600;margin-bottom:22px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #879487;border-radius:0;background:transparent;color:#fff;padding:12px 0;font-size:17px;min-height:48px}textarea{resize:vertical}select option{background:var(--forest);color:#fff}textarea::placeholder{color:#c1cbbf;font-weight:400}.form-note{font-size:13px;color:#d2d8cf;margin:2px 0 20px}.contact .button{width:100%;justify-content:space-between;text-align:left}.contact .button:after{content:'Open your email app';font-size:12px;font-weight:500}#form-status{font-size:14px;margin-top:14px;color:#e5be8d}
footer{background:#18231d;color:#f5f0e4;padding:55px 6.3vw 25px;border-top:1px solid #56665a}.footer-top{display:flex;justify-content:space-between;gap:45px;align-items:flex-start}.footer-logo img{width:150px;height:auto;object-fit:contain}.footer-top>p{font-family:var(--display);font-size:30px;line-height:1.2}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 42px;font-size:14px}.footer-top nav a:hover{color:#e0a26c}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:65px;padding-top:20px;border-top:1px solid #49574d;font-size:12px;color:#c1cbbf}
dialog{border:0}dialog::backdrop{background:#0b1511c9;backdrop-filter:blur(5px)}#navigation{position:fixed;inset:0 0 0 auto;margin:0;max-height:100svh;height:100svh;width:min(620px,100%);max-width:100%;background:var(--cream);color:var(--ink);padding:35px 50px}.nav-top{display:flex;justify-content:space-between;align-items:center;font-size:14px}.close-menu{color:var(--ink)}#navigation nav{display:grid;gap:20px;margin-top:12vh}#navigation nav a{font-family:var(--display);font-size:clamp(38px,5vw,63px);line-height:1.2}#navigation nav a:hover{color:var(--clay)}.nav-contact{display:inline-block;margin-top:55px;font-size:21px;border-bottom:1px solid currentColor;padding-bottom:8px}body.modal-open{overflow:hidden}#project-dialog{width:min(1050px,94vw);max-height:94svh;padding:24px;background:var(--cream);color:var(--ink)}#close-project{display:block;border:0;background:none;margin:0 0 15px auto;padding:8px 0;font-size:15px}#project-large{max-height:68svh;width:100%;object-fit:contain;background:#dedbd0}#project-title{font-size:34px;margin-top:20px}#project-description{font-size:16px;margin-top:8px;color:var(--muted)}
@media(min-width:1600px){.section{padding-left:max(6.3vw,calc((100vw - 1500px)/2));padding-right:max(6.3vw,calc((100vw - 1500px)/2))}.site-header{padding-left:max(5.6vw,calc((100vw - 1550px)/2));padding-right:max(5.6vw,calc((100vw - 1550px)/2))}}
@media(max-width:900px){.section{padding-top:90px;padding-bottom:90px}.hero{min-height:760px}.hero-content{left:6vw}.service-grid{gap:48px 4vw}.service-card{grid-template-columns:1fr;gap:0}.service-card img{aspect-ratio:1.2;min-height:0}.service-card-copy{padding:18px 0 0}.service-card-large{grid-template-columns:1fr 1fr;gap:4vw}.service-card-large img{aspect-ratio:.95}.service-card-lower{margin-top:65px}.about{gap:7vw}.contact{gap:6vw}}
@media(max-width:640px){body{font-size:16px}.section{padding:72px 22px}.site-header{padding:15px 20px;align-items:center}.brand img{width:105px;height:64px}.header-phone{display:none}.menu-button{gap:12px;font-size:14px}.hero{height:92svh;min-height:680px;max-height:900px}.hero-media{inset:0}.hero-video{object-position:52% 54%}.hero-shade{background:linear-gradient(0deg,rgba(15,25,19,.89),rgba(15,25,19,.22) 73%,rgba(10,18,15,.45))}.hero-content{left:22px;right:18px;bottom:110px}.hero-content .eyebrow{font-size:10px;gap:8px;margin-bottom:20px}.eyebrow-rule{width:18px}.hero-content h1{font-size:clamp(58px,13vw,86px);line-height:1.02}.hero-description{font-size:17px;margin-top:21px}.hero-actions{margin-top:25px;gap:9px;flex-wrap:wrap}.button{min-height:52px;padding:13px 17px;font-size:14px}.hero-bottom{left:22px;right:22px;bottom:21px;font-size:11px}.hero-index{display:none}.discipline-strip{grid-template-columns:1fr 1fr;row-gap:10px;padding:15px 18px;font-size:13px}.discipline-strip span,.discipline-strip span:first-child,.discipline-strip span:last-child{text-align:center;border:0}.discipline-strip span:nth-child(odd){border-right:1px solid #6a786c}.intro{display:flex;flex-direction:column;gap:35px;min-height:0}.intro-copy h2{font-size:clamp(49px,12vw,72px);margin-bottom:24px}.intro-copy .intro-lead{font-size:20px!important}.intro-copy>p:not(.eyebrow){font-size:16px}.intro-photo{margin-right:-22px;margin-left:20px}.intro-photo img{aspect-ratio:1.05}.photo-stamp{width:88px;height:88px;font-size:16px;left:-20px;bottom:34px}.services-heading,.work-heading,.review-heading{display:block;margin-bottom:35px}.services-heading h2,.work-heading h2,.review-heading h2{font-size:clamp(48px,12vw,72px)}.services-heading>p,.work-heading>p,.review-heading>p{margin-top:20px;font-size:15px;max-width:340px}.service-grid{grid-template-columns:1fr;gap:38px}.service-card,.service-card-large{grid-column:auto;grid-template-columns:1.03fr .97fr;gap:16px}.service-card img,.service-card-large img{aspect-ratio:.88;min-height:0}.service-card-copy{padding:8px 0}.service-number{font-size:10px}.service-card h3{font-size:clamp(21px,6vw,29px);margin-top:9px}.service-card p{font-size:14px;line-height:1.45;margin-top:10px}.service-card-large h3{font-size:clamp(28px,7.2vw,39px)}.service-card-large p{font-size:15px}.service-card-lower{margin-top:0}.work-heading{margin-bottom:36px}.work-heading>p{margin-top:17px}.project-feature .project-image{height:auto;aspect-ratio:1.02}.project-caption{grid-template-columns:1fr;gap:6px;padding-top:14px}.project-caption h3{font-size:27px}.project-caption p{font-size:13px}.project-type{font-size:10px}.project-pair{grid-template-columns:1fr;gap:38px;margin-top:48px}.project-pair .project-image{aspect-ratio:1.04}.project-offset{margin-top:0;margin-left:25px}.project-earth{grid-template-columns:1fr;gap:26px;margin-top:70px}.earth-copy h3{font-size:53px}.earth-copy>p:not(.eyebrow){font-size:16px;margin-top:18px}.project-earth .project-image{aspect-ratio:1.2}.transformation{grid-template-columns:1fr;gap:30px}.transform-copy h2{font-size:clamp(52px,12vw,70px)}.transform-copy>p:not(.eyebrow){font-size:16px}.small-note{font-size:13px!important}.comparison{gap:11px}.comparison-after{margin-top:48px}.comparison img{aspect-ratio:.72}.comparison figcaption{font-size:13px;gap:8px}.about{grid-template-columns:1fr;gap:35px}.about-image img{aspect-ratio:1.2}.about-copy h2{font-size:60px}.about-copy .lead{font-size:23px}.about-copy p:not(.lead):not(.eyebrow){font-size:16px}.testimonials{padding-top:72px;padding-bottom:72px}.review-heading{margin-bottom:28px}.review-card{padding:38px 23px 30px;min-height:310px}.review-count{right:22px;top:19px;font-size:10px}.quote-mark{font-size:75px;margin-bottom:16px}.review-card blockquote{font-size:clamp(26px,7vw,37px)}.review-source{font-size:12px;margin-top:23px}.review-controls{padding-top:15px}.review-controls>button{font-size:14px}.review-dots{gap:10px}.review-dots button{width:10px;height:10px}.contact{grid-template-columns:1fr;gap:42px}.contact h2{font-size:clamp(49px,11vw,68px)}.contact-copy>p:not(.eyebrow){font-size:16px}.phone-large{font-size:36px;margin-top:28px}.email-link{font-size:15px}.form-intro{font-size:12px}.form-grid{gap:0 14px}form label{font-size:13px;margin-bottom:18px}input,textarea,select{font-size:16px;min-height:46px}.form-note{font-size:12px}.contact .button{font-size:13px}.contact .button:after{font-size:10px}.footer-top{flex-wrap:wrap;gap:22px}.footer-logo img{width:120px}.footer-top>p{font-size:24px;max-width:160px}.footer-top nav{width:100%;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:13px}.footer-bottom{flex-direction:column;gap:7px;margin-top:36px;font-size:11px}footer{padding:38px 22px 22px}#navigation{padding:22px}#navigation nav{margin-top:11vh;gap:21px}#navigation nav a{font-size:43px}#project-dialog{padding:15px}#project-title{font-size:27px}}
@media(max-width:360px){.section{padding-left:18px;padding-right:18px}.hero-content{left:18px;right:16px}.hero-content h1{font-size:56px}.hero-content .eyebrow{font-size:9px}.hero-actions{gap:8px}.button{padding-left:13px;padding-right:13px;font-size:13px}.intro-copy h2{font-size:48px}.service-card,.service-card-large{grid-template-columns:.96fr 1.04fr;gap:11px}.service-card h3{font-size:20px}.service-card p{font-size:13px}.service-card-large h3{font-size:26px}.contact .button:after{max-width:95px;text-align:right}.form-grid{grid-template-columns:1fr}.form-grid label{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-video{display:none}.hero-media{background-image:url('assets/video-poster.webp');background-position:center;background-size:cover}}
