@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f3ed;--ink:#263a32;--muted:#646b62;--accent:#b8ce82;--line:#d8dcd0}*{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',sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #8c9e4b;outline-offset:5px}header{max-width:1440px;margin:auto;padding:32px 5%;display:flex;justify-content:space-between;align-items:center}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:21px;letter-spacing:-.7px}.brand span{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:7px}nav{display:flex;gap:35px;align-items:center;font-size:14px}.nav-contact{border-bottom:1px solid;padding:8px 0}.nav-contact span{margin-left:24px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.12fr;padding:28px 5% 65px;gap:40px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 26px}h1,h2,h3,p,figure{margin-top:0}h1{font-family:Manrope,sans-serif;font-size:clamp(55px,6.3vw,92px);font-weight:500;line-height:1.04;letter-spacing:-5px;margin-bottom:28px}h1 em{font-style:normal;color:#74845d}.intro{font-size:17px;line-height:1.8;max-width:410px;color:var(--muted)}.button{display:inline-flex;gap:35px;align-items:center;background:var(--ink);color:white;padding:17px 23px;margin:14px 0 26px;font-size:14px}.button:hover{background:#405744}.location{font-size:12px;color:var(--muted)}.location span{display:inline-block;width:6px;height:6px;background:#8c9d67;border-radius:50%;margin-right:7px}.hero-photo{margin:0;height:560px;position:relative;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101e18ba);pointer-events:none}figcaption{position:absolute;z-index:1;bottom:29px;left:30px;color:white;display:grid;gap:9px}figcaption span:first-child{font-size:10px;letter-spacing:1.8px}figcaption strong{font-size:24px;font-weight:500}figcaption span:last-child{font-size:12px}.statement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1296px;margin:0 auto;padding:34px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px}.statement p{margin:0;font-size:22px;line-height:1.5}.statement p:last-child{font-size:14px;line-height:1.8;max-width:530px;color:var(--muted)}.statement strong{font-weight:500;color:#7a856b}.work{max-width:1440px;margin:auto;padding:95px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading .eyebrow{margin-bottom:15px}h2{font-family:Manrope,sans-serif;font-size:clamp(32px,3.5vw,50px);font-weight:500;letter-spacing:-2px;line-height:1.2;margin-bottom:0}h2 span{color:#8d9c6c}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:4px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 32px}.filters button{border:1px solid var(--line);background:none;color:var(--muted);padding:11px 18px;font-size:12px;border-radius:24px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.filters button span{font-size:10px;opacity:.65;margin-left:8px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 28px}.project{border:0;padding:0;background:none;text-align:left;color:var(--ink);width:100%}.project[hidden]{display:none}.project-image{overflow:hidden;position:relative;background:#e3e3d8;aspect-ratio:1.45}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.project-arrow{position:absolute;bottom:16px;right:16px;background:var(--paper);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:20px}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:12px}.project h3{font:500 23px Manrope,sans-serif;letter-spacing:-.8px;margin:0}.project-meta>span{font-size:11px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.tags span{font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 5px;margin-right:7px}.about{padding:78px max(5%,calc((100vw - 1296px)/2));background:#e8ebdf;display:grid;grid-template-columns:1.1fr 1fr;gap:95px}.about h2{font-size:37px;margin-bottom:26px}.about p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);max-width:550px}.skills>div{position:relative;border-top:1px solid #c9cebd;padding:23px 0 8px 38px}.skills>div>span{position:absolute;left:0;top:27px;font-size:10px;color:#768266}.skills h3{font-size:18px;font-weight:500;margin:0 0 9px}.skills p{margin-bottom:13px}.contact{background:var(--ink);color:var(--paper);padding:80px max(5%,calc((100vw - 1296px)/2))}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:clamp(42px,5vw,66px);margin-bottom:24px}.contact>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c6cfc5}.contact-links{display:flex;gap:35px;flex-wrap:wrap;margin:32px 0}.contact-links a{padding-bottom:12px;border-bottom:1px solid #627066;font-size:clamp(16px,2vw,23px)}.contact-links span{margin-left:26px;color:var(--accent)}.contact .contact-location{font-size:11px!important;color:#a9b9a8!important}footer{padding:25px 5%;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}footer>span:first-child{font-weight:700}dialog{border:0;background:var(--paper);color:var(--ink);width:min(1200px,94vw);max-height:92dvh;padding:55px 30px 30px}dialog::backdrop{background:#101e18d9;backdrop-filter:blur(5px)}.close{position:absolute;top:13px;right:17px;border:0;background:transparent;padding:8px;font-size:20px}.dialog-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.viewer{min-width:0}.viewer>img{width:100%;height: min(62vh,620px);object-fit:contain;background:#e6e7df}.viewer-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.viewer-controls button{border:1px solid var(--line);background:transparent;padding:8px 18px}.viewer-controls span{font-size:12px}.project-details h2{font-size:33px;margin-bottom:15px}.project-details .eyebrow{margin-bottom:15px}.project-details>p{font-size:14px;line-height:1.9;color:var(--muted)}.scope{font-size:11px!important;color:#7d8b68!important}.thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:25px}.thumbnails button{border:2px solid transparent;padding:0;background:transparent;aspect-ratio:1}.thumbnails button[aria-pressed=true]{border-color:var(--ink)}.thumbnails img{width:100%;height:100%;object-fit:cover}.skip{position:fixed;top:-70px;left:10px;z-index:5;background:white;padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.statement{max-width:1296px}}@media(max-width:1400px){.statement{margin:0 5%}}@media(max-width:800px){header{padding:25px 5%}.brand{font-size:17px}nav{gap:16px;font-size:12px}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px}.hero-copy{max-width:560px}h1{letter-spacing:-3px;font-size:65px}.hero-photo{height:430px}.statement{grid-template-columns:1fr;gap:16px}.work{padding-top:65px;padding-bottom:65px}.section-heading{align-items:start;flex-direction:column}.projects{gap:35px 18px}.project-meta{align-items:start;flex-direction:column;gap:7px}.project h3{font-size:20px}.about{grid-template-columns:1fr;gap:30px;padding:55px 5%}.about h2{font-size:32px}.contact{padding:60px 5%}.dialog-layout{grid-template-columns:1fr}.viewer>img{height:42vh}.project-details{padding-top:12px}.contact-links{gap:20px}footer{flex-wrap:wrap}.tags{gap:4px}.tags span{font-size:9px}}@media(max-width:480px){nav>a:first-child{display:none}.hero-photo{height:350px}.projects{grid-template-columns:1fr}.hero{padding-bottom:45px}.eyebrow{font-size:10px}h1{font-size:58px}.intro{font-size:15px}.filters{gap:7px}.filters button{padding:10px 13px}.project-meta{flex-direction:row;align-items:center}.contact-links{flex-direction:column;align-items:start}dialog{padding:50px 16px 20px}.brand span{font-size:8px}.contact h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
