@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f5f3ec;--ink:#213e32;--mint:#c5dcc8;--line:#ced1c7;--muted:#526258}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #aa6a37;outline-offset:5px}svg{width:24px;height:24px;flex-shrink:0}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:0}.concept{display:flex;align-items:center;gap:24px;padding:9px 4.5%;background:var(--ink);color:#f5f3ec;font-size:11px;letter-spacing:.08em}.concept>span{opacity:.7}.concept nav{margin-left:auto;display:flex;gap:24px}.concept nav a{border-bottom:1px solid #91b39c}header{height:103px;margin:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:170px;height:auto}.desktop{display:flex;gap:36px;font-size:14px}.desktop a:hover{opacity:.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ink);color:white;padding:17px 23px;border:1px solid var(--ink);border-radius:3px;font-size:14px;transition:background .2s}.button:hover{background:#3c5f4d}.button.small{padding:12px 17px}.hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:660px;padding-left:7.5%}.hero-copy{padding:48px 50px 48px 0}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.13em;margin:0 0 25px}h1{font-weight:450;letter-spacing:-.065em;font-size:clamp(58px,6.3vw,102px);line-height:1.01;margin:0 0 30px}h1 em,h2 em{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.04em}h1 em{color:#69836b}.intro{max-width:375px;font-size:16px;line-height:1.7;margin:0 0 26px}.micro{font-size:11px;margin:14px 0 25px}.textlink{display:inline-flex;gap:30px;align-items:center;font-size:14px;border-bottom:1px solid;padding-bottom:5px}.hero-image{position:relative;min-height:650px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:57% center}.image-caption{position:absolute;bottom:25px;left:30px;right:30px;color:white;display:flex;justify-content:space-between;align-items:center;background:#213e32e8;padding:20px 24px}.image-caption small{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:4px}.circle{border:1px solid #ffffff70;border-radius:100%;height:45px;width:45px;display:grid;place-items:center}.vertical{position:absolute;right:15px;top:30px;writing-mode:vertical-rl;color:white;text-shadow:0 1px 4px #000;font-size:10px;letter-spacing:.15em}.promise{display:flex;justify-content:space-between;margin:0 4.5%;padding:29px 3.4%;border-bottom:1px solid var(--line);font-size:13px}.promise span:before{content:'✳';margin-right:15px;color:#69836b}.menu-toggle{display:none}.section{padding:100px 7.5%}h2{font-size:clamp(38px,4vw,64px);font-weight:450;letter-spacing:-.045em;line-height:1.1;margin:0 0 25px}h3{font-size:23px;font-weight:500;line-height:1.25;margin:10px 0 16px}p{margin:0 0 20px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px;gap:30px}.section-head h2{margin:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:8%}.muted{color:var(--muted)}.menu-toggle{border:0;background:none;color:var(--ink)}[hidden]{display:none!important}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:760px}.hero-copy{padding-top:75px}}@media(max-width:1000px){.desktop{gap:18px}.hero{padding-left:5%}.hero-copy{padding-right:25px}h1{font-size:72px}.hero-image{min-height:650px}.section{padding:75px 5%}}@media(max-width:700px){.concept{font-size:9px;padding:8px 5%;flex-wrap:wrap;gap:5px 12px}.concept>span{display:none}.concept nav{gap:14px}header{height:86px;margin:0 5%}.logo{width:145px}header>.button,.desktop{display:none}.menu-toggle{display:flex;gap:14px;padding:12px 0}#mobile-menu{padding:12px 5% 24px;border-bottom:1px solid var(--line)}#mobile-menu a{display:block;padding:10px 0}.hero{display:flex;flex-direction:column;padding:0;min-height:0}.hero-copy{padding:34px 6% 40px}h1{font-size:69px;max-width:400px}.hero-image{min-height:460px}.image-caption{left:20px;right:20px;bottom:20px}.eyebrow{font-size:10px}.promise{padding:25px 0;gap:13px;flex-direction:column;margin:0 6%}.section{padding:65px 6%}.section-head,.two{display:flex;flex-direction:column;align-items:start;gap:25px}.section-head{margin-bottom:30px}.micro{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.large{font-size:24px;line-height:1.5;letter-spacing:-.02em}.service-links{margin-top:28px}.service-links a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0}.projects{background:#e9ebe2}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:5%}.second{padding-top:85px}.photo-wrap{position:relative;overflow:hidden}.photo-wrap img{width:100%;height:410px;object-fit:cover;transition:transform .5s}.second img{height:325px}.project-card:hover img{transform:scale(1.03)}.project-tag{position:absolute;left:20px;top:20px;font-size:10px;letter-spacing:.08em;background:var(--paper);padding:7px 12px}.photo-arrow{position:absolute;bottom:20px;right:20px;background:var(--paper);width:42px;height:42px;border-radius:50%;display:grid;place-items:center}.card-caption{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:18px}.card-caption h3{margin-bottom:5px}.card-caption span,.project-card>p{font-size:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font-family:Georgia,serif;font-size:38px;color:#718a72}.steps h3{margin-top:23px}.steps p{font-size:14px;color:var(--muted)}.green-block{display:grid;grid-template-columns:1fr 1fr;background:#d8e2d3}.green-block>img{width:100%;height:570px;object-fit:cover;object-position:center 55%}.green-block>div{align-self:center;padding:70px 15%}.green-block p:not(.eyebrow){font-size:15px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:22px 0;font-size:15px;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);font-size:14px;padding-right:25px}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.5fr 1fr;gap:8%}.contact h2{font-size:clamp(42px,4.3vw,68px)}.button.light{background:var(--mint);border-color:var(--mint);color:var(--ink);margin-top:12px}.button.light:hover{background:white}.contact-note{font-size:11px;margin:14px 0 0;color:#cad5c9}.contact-details{align-self:end;border-left:1px solid #829687;padding-left:40px}.contact-details>span{font-size:12px;display:block;margin-bottom:15px}.contact-details a{display:block;font-size:clamp(17px,1.8vw,26px);margin-bottom:8px}.contact-details p{font-size:13px;margin:30px 0 0}footer{display:flex;gap:35px;padding:36px 4.5%;align-items:center}footer p{margin:0;font-size:13px}footer>span{font-size:11px;margin-left:auto}.project-intro{padding-top:35px;padding-bottom:50px}.back{font-size:12px;color:var(--muted);display:block;margin-bottom:55px}.project-title{display:flex;align-items:end;gap:9%;justify-content:space-between}.project-title h1{font-size:clamp(50px,5.5vw,86px);margin-bottom:0}.project-title>p{max-width:270px;font-size:15px}.project-cover{margin:0 4.5%}.project-cover>img{width:100%;height:640px;object-fit:cover}.project-cover figcaption{font-size:11px;margin-top:12px;color:var(--muted)}.project-facts{margin:0 7.5%;padding:40px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-bottom:1px solid var(--line)}.project-facts span{font-size:10px;letter-spacing:.1em}.project-facts p{font-size:14px;margin:7px 0 0}.story-block{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;margin:0 7.5%}.story-block>img{width:100%;height:540px;object-fit:cover}.story-block p:not(.eyebrow){font-size:15px}.gallery-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}.zoom{position:relative;padding:0;border:0;cursor:zoom-in;background:transparent}.zoom img{height:520px;object-fit:cover;width:100%}.zoom span{position:absolute;bottom:20px;right:20px;background:var(--paper);color:var(--ink);padding:7px 15px;font-size:12px}.lightbox{border:0;background:var(--paper);padding:55px 20px 20px;max-width:95vw;max-height:95vh}.lightbox::backdrop{background:#10291de8}.lightbox img{max-height:78vh;object-fit:contain}.close-lightbox{position:absolute;right:20px;top:12px;border:0;background:none;color:var(--ink);padding:4px 12px;cursor:pointer}
@media(max-width:1000px){.green-block>div{padding:50px 10%}.photo-wrap img{height:330px}.second img{height:270px}.card-caption{display:block}.steps{gap:24px}.project-title{gap:30px}.project-title>p{max-width:220px}}
@media(max-width:700px){.large{font-size:21px}.project-grid,.steps,.green-block,.contact,.project-title,.story-block{display:flex;flex-direction:column;gap:32px}.second{padding-top:0}.photo-wrap img,.second img{height:310px}.card-caption{display:flex}.steps{margin-top:30px}.steps h3{margin-top:10px}.green-block{gap:0}.green-block>img{height:380px}.green-block>div{padding:50px 6%}.contact{gap:50px}.contact-details{align-self:start;border-left:0;border-top:1px solid #829687;padding:25px 0 0;width:100%}.contact-details a{font-size:23px}footer{padding:30px 6%;gap:20px;flex-wrap:wrap}footer>span{margin-left:0}footer p{width:100%;order:3}.project-title{align-items:start;gap:25px}.project-title h1{font-size:56px}.project-title>p{max-width:100%;margin-bottom:0}.back{margin-bottom:35px}.project-cover{margin:0}.project-cover>img{height:380px}.project-cover figcaption{padding:0 6%}.project-facts{grid-template-columns:1fr 1fr;margin:0 6%;gap:25px}.story-block{margin:0 6%}.story-block>img{height:360px}.gallery-grid{grid-template-columns:1fr;gap:20px}.zoom img{height:350px}.contact .button{gap:15px;font-size:12px;padding:16px}.contact h2{font-size:43px}}
@media(min-width:701px) and (max-width:1000px){h1{font-size:clamp(48px,7vw,68px)}.hero-copy{padding-top:35px}.hero .eyebrow{font-size:10px}.hero-image{min-height:620px}}
@media(max-width:900px){header>.button,.desktop{display:none}.menu-toggle{display:flex;gap:14px;padding:12px 0}#mobile-menu{padding:12px 5% 24px;border-bottom:1px solid var(--line)}#mobile-menu a{display:block;padding:10px 0}}
@media(max-width:700px){h1{font-size:clamp(42px,13vw,69px)}.project-title h1{font-size:clamp(36px,11vw,56px)}.contact h2{font-size:clamp(30px,10vw,43px)}.contact-details a{font-size:clamp(16px,5vw,23px)}.button{max-width:100%;gap:14px}.concept{letter-spacing:.02em}.concept nav{gap:12px}.card-caption{flex-wrap:wrap;gap:0}}

/* Personal studio invitation */
.personal-contact{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8%;align-items:center;padding-top:80px;padding-bottom:80px}.personal-contact h2{font-size:clamp(40px,4.3vw,68px);max-width:650px}.contact-intro{max-width:470px;color:#e0e8de;line-height:1.8}.contact-direct{border-top:1px solid #ffffff35;margin-top:32px;padding-top:22px;display:flex;flex-wrap:wrap;gap:4px 25px}.contact-direct>span{width:100%;font-size:12px;color:#cbd7cb;margin-bottom:8px}.contact-direct a{font-size:16px;border-bottom:1px solid transparent}.contact-direct a:hover{border-bottom-color:currentColor}.contact-portrait{margin:0;width:100%;max-width:480px;justify-self:end;position:relative}.contact-portrait img{width:100%;height:auto;aspect-ratio:901/1024;object-fit:cover;border-radius:3px}.contact-portrait figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:18px 20px;background:var(--paper);color:var(--ink);border-radius:2px}.contact-portrait figcaption>span{display:block;font-size:16px;line-height:1.35;margin-bottom:8px}.contact-portrait small{display:block;font-size:12px;line-height:1.5;color:var(--muted)}
@media(max-width:700px){.personal-contact{padding:55px 6%;gap:35px}.personal-contact h2{font-size:clamp(35px,10vw,53px)}.contact-portrait{max-width:100%}.contact-direct{gap:9px 25px}.contact-direct a{font-size:16px}.contact-portrait figcaption{left:14px;right:14px;bottom:14px;padding:15px}.contact-portrait figcaption>span{font-size:15px}}
