:root{--forest:#183d2c;--ink:#172019;--paper:#f2f0e9;--line:rgba(23,32,25,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{height:92px;background:#fff;border-bottom:1px solid var(--line);padding:18px 3.5vw;display:flex;align-items:center;justify-content:space-between}.brand{width:118px;height:58px;overflow:hidden}.brand img{height:100%;object-fit:cover;transform:scale(1.55)}.desktop-nav{display:flex;gap:2.2rem;font-size:.77rem;font-weight:400;letter-spacing:.12em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:.3s}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.menu-button{display:none;border:0;background:transparent;padding:10px}.menu-button span{display:block;width:25px;height:1px;background:var(--ink);margin:6px}.mobile-menu{display:none}.page-hero{padding:105px 3.5vw 70px}.eyebrow{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}.page-hero h1{font:300 clamp(3.6rem,8vw,9rem)/.92 "Manrope";letter-spacing:-.065em;margin:35px 0}.page-hero>p:last-child{font-size:1.05rem;line-height:1.7;max-width:650px}.page-body{padding:40px 3.5vw 120px}.prose{max-width:850px}.prose h2{font:300 clamp(2rem,4vw,4.5rem)/1.05 "Manrope";letter-spacing:-.045em;margin:70px 0 22px}.prose h2:first-child{margin-top:0}.prose h3{font:400 1.25rem "Manrope";margin-top:40px}.prose p,.prose li{line-height:1.75;color:#465249}.prose a{text-decoration:underline}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 22px}.project-card img{aspect-ratio:4/3;object-fit:cover}.project-card h2{font:400 1.1rem "Manrope";margin:15px 0 4px}.project-card p{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;margin:0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 22px}.article-card img{aspect-ratio:4/3;object-fit:cover}.article-card h2{font:400 1.25rem/1.25 "Manrope"}.article-card p{line-height:1.6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-grid h2{font:300 clamp(2rem,4vw,4.5rem) "Manrope";letter-spacing:-.05em}.contact-list{border-top:1px solid var(--line)}.contact-list a,.contact-list p{display:block;padding:22px 0;border-bottom:1px solid var(--line)}details{border-top:1px solid var(--line);padding:24px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font:400 1.15rem "Manrope";cursor:pointer}details p{max-width:700px;line-height:1.7}.site-footer{background:#f7f6f1;padding:70px 3.5vw 25px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;border-top:1px solid var(--line)}.footer-brand img{width:180px;height:100px;object-fit:cover;transform:scale(1.25);transform-origin:left}.footer-brand p{max-width:360px;line-height:1.65;color:#526057}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-links>div{display:flex;flex-direction:column;gap:12px}.footer-links p{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.footer-links a{font-size:.9rem}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}@media(max-width:760px){.site-header{height:76px;padding:10px 5vw}.brand{width:91px;height:48px}.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{position:fixed;inset:76px 0 0;background:var(--forest);color:#fff;z-index:10;padding:40px 5vw;flex-direction:column}.mobile-menu.open{display:flex}.mobile-menu a{font:300 9vw/1.6 "Manrope";border-bottom:1px solid #ffffff40}.page-hero{padding:75px 5vw 45px}.page-hero h1{font-size:15vw}.page-body{padding:30px 5vw 85px}.gallery-grid,.article-grid,.contact-grid{grid-template-columns:1fr}.site-footer{padding:55px 5vw 22px;grid-template-columns:1fr;gap:45px}.footer-links{gap:25px}.footer-bottom{grid-column:1;gap:20px;align-items:end}}
