*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f1ec;color:#20231f;font-family:"DM Sans",Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#f3f1ec;position:sticky;top:0;z-index:20;border-bottom:1px solid #ddd9d1}.brand,.footer-brand{display:flex;align-items:center;gap:12px;line-height:1}.brand strong,.footer-brand strong{display:block;font-size:13px;letter-spacing:.18em}.brand em,.footer-brand em{display:block;font-style:normal;font-size:10px;letter-spacing:.31em;margin-top:5px}.brand-mark{width:38px;height:38px;border:1px solid #9b8d72;border-radius:50%;display:grid;place-items:center;font-size:11px;letter-spacing:.08em;color:#6d624f}.site-header nav{display:flex;gap:30px;font-size:13px;color:#555850}.site-header nav a:hover,.socials a:hover,.map-link:hover{color:#8b7654}.header-cta{padding:11px 18px;border:1px solid #2a2d28;font-size:12px}.menu{display:none;background:none;border:0;font-size:24px}.hero{height:calc(100vh - 82px);min-height:620px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0}.hero-image img{object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,18,.72) 0%,rgba(18,20,18,.35) 46%,rgba(18,20,18,.08) 100%)}.hero-content{position:relative;z-index:2;color:#fff;max-width:700px;padding:15vh 8vw}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.24em;font-weight:600}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(50px,6.5vw,92px);line-height:.98;font-weight:500;margin:22px 0}.hero h1 i,h2 i{font-weight:500}.hero-copy{max-width:510px;font-size:16px;color:#e7e4dd}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{display:inline-flex;padding:14px 23px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;justify-content:center}.button-light{background:#f4f1ea;color:#252821}.button-dark{background:#222620;color:#fff}.button-outline{border:1px solid #292c27}.text-link{font-size:13px}.text-link span,.map-link span{margin-left:8px}.section{padding:110px 8vw}.intro-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:10vw;margin-top:28px}.section h2{font-family:"Playfair Display",serif;font-size:clamp(40px,5vw,68px);line-height:1.02;font-weight:500;margin:12px 0 0}.intro p{color:#60635c}.lead{font-size:20px!important;line-height:1.5;color:#353831!important}.projects{background:#e9e6df}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-head>p{max-width:380px;color:#65675f;font-size:14px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{margin:0;height:460px;overflow:hidden;background:#ddd}.project img{transition:transform .7s ease}.project:hover img{transform:scale(1.025)}.project-tall{height:650px;grid-row:span 2}.project-wide{grid-column:span 2;height:520px}.services{background:#222620;color:#f2f0e9}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:30px}.service-main p{max-width:440px;color:#b9bbb4;margin-top:25px}.service-list article{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:25px 0;border-top:1px solid #555a53}.service-list article:last-child{border-bottom:1px solid #555a53}.service-list span{font-size:11px;color:#a99a7d}.service-list h3{font-size:18px;font-weight:500;margin:0 0 6px}.service-list p{margin:0;color:#b7b9b1;font-size:14px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-image{height:620px}.about-copy p{color:#62645d}.about-note{margin-top:40px;font-family:"Playfair Display",serif;font-size:48px}.about-note span{font-family:"DM Sans",sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-left:10px;color:#777970}.statement{padding:125px 8vw;background:#dcd7ca}.statement-inner{text-align:center}.statement p{font-family:"Playfair Display",serif;font-size:clamp(34px,4vw,58px);line-height:1.15;margin:0}.contact{background:#f3f1ec}.contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:10vw;margin-top:30px}.contact-grid>div:first-child>p{max-width:520px;color:#62645d;margin:28px 0}.contact-actions{display:flex;gap:12px;margin-top:30px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px}.contact-details>div{padding-top:12px;border-top:1px solid #c9c5bc}.contact-details span{display:block;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#7b7d75;margin-bottom:8px}.contact-details strong{font-size:14px;font-weight:500}.socials{display:flex;gap:18px}.socials a{font-size:12px}.map-link{display:flex;justify-content:space-between;margin-top:65px;padding:20px 0;border-top:1px solid #c9c5bc;border-bottom:1px solid #c9c5bc;font-size:13px}footer{padding:40px 8vw;display:flex;align-items:center;justify-content:space-between;background:#222620;color:#eae7df}footer p,footer>a{font-size:11px;color:#aeb1a8}footer .brand-mark{border-color:#78786e;color:#c4bda9}.light{color:#fff}@media(max-width:800px){.site-header{height:70px;padding:0 5vw}.site-header nav,.header-cta{display:none}.menu{display:block;color:#222620}.hero{height:calc(100vh - 70px);min-height:600px}.hero-content{padding:18vh 7vw 10vh}.hero h1{font-size:52px}.section{padding:80px 7vw}.intro-grid,.services-grid,.about,.contact-grid{grid-template-columns:1fr;gap:45px}.section-head{display:block}.section-head>p{margin-top:25px}.project-grid{grid-template-columns:1fr}.project,.project-tall,.project-wide{height:390px;grid-column:auto;grid-row:auto}.about-image{height:470px}.contact-details{grid-template-columns:1fr 1fr}.contact-details>div:last-child{grid-column:span 2}footer{display:block}footer p{margin:25px 0 15px}}@media(max-width:500px){.hero-content{padding-top:20vh}.hero h1{font-size:45px}.hero-copy{font-size:14px}.contact-details{grid-template-columns:1fr}.contact-details>div:last-child{grid-column:auto}.contact-actions{flex-direction:column}.button{width:100%}.statement{padding:90px 7vw}.statement p{font-size:32px}}
