@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.ttf')}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.ttf');font-weight:600}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700.ttf');font-weight:700}@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-500.ttf');font-weight:500}@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-600.ttf');font-weight:600}@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-700.ttf');font-weight:700}
:root{--ink:#111410;--chalk:#f2f0e9;--paper:#e7e2d7;--oak:#a96e3c;--green:#48613d;--rule:rgba(17,20,16,.18);--white:#fff;--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;--pad:clamp(22px,5vw,76px);--section:clamp(90px,11vw,170px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}::selection{background:var(--green);color:#fff}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:10px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:100;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:92px;padding:0 var(--pad);color:#fff;border-bottom:1px solid rgba(255,255,255,.25);transition:background .35s,color .35s,height .35s}.site-header.is-scrolled{height:76px;background:rgba(242,240,233,.96);color:var(--ink);border-color:var(--rule);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:12px;width:max-content}.brand-mark{width:38px;height:38px;fill:currentColor}.brand-cut{fill:var(--green)}.brand span{display:grid;line-height:1}.brand b{font-size:13px;letter-spacing:.18em}.brand small{margin-top:7px;font-size:8px;letter-spacing:.29em}.desktop-nav{display:flex;align-items:center;gap:clamp(22px,3.4vw,54px)}.desktop-nav a{position:relative;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:currentColor;transition:right .25s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.header-call{justify-self:end;font-size:12px;font-weight:700;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:5px}.menu-toggle,.mobile-menu{display:none}.hero{position:relative;min-height:100svh;color:#fff;overflow:hidden;background:#151711}.hero-image{position:absolute;inset:0;height:112%;object-fit:cover;object-position:center 46%;animation:heroDrift 18s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,8,.76) 0%,rgba(8,10,8,.47) 48%,rgba(8,10,8,.14) 76%),linear-gradient(0deg,rgba(8,10,8,.42),transparent 45%)}.hero-grid{position:absolute;inset:92px var(--pad) 38px;display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.14)}.hero-grid i{border-right:1px solid rgba(255,255,255,.14)}.hero-content{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;width:min(1020px,82vw);padding:150px var(--pad) 120px}.hero h1,.section-heading h2,.statement h2,.feature-copy h2,.workshop h2,.contact h2,.origin h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:.91;margin:0}.hero h1{font-size:clamp(4.2rem,7.8vw,7.4rem);max-width:1010px;text-wrap:balance}.hero h1 em,.section-heading em,.workshop em,.contact em{font-weight:500;color:#d0b08c}.hero-content>p{max-width:620px;margin:36px 0 0;font-size:clamp(15px,1.35vw,19px);color:rgba(255,255,255,.8)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:62px;padding:0 24px;border:1px solid transparent;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.12em;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff}.button-light{background:#fff;color:var(--ink)}.text-link,.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:10px 0}.hero-proof{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:34px;display:flex;justify-content:space-between;padding-top:13px;border-top:1px solid rgba(255,255,255,.38);font-size:9px;font-weight:700;letter-spacing:.17em}.scroll-cue{position:absolute;z-index:2;right:var(--pad);top:50%;display:flex;align-items:center;gap:12px;transform:rotate(90deg) translateX(50%);transform-origin:right center;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.scroll-cue span{width:60px;height:1px;background:#fff}.section-pad{padding:var(--section) var(--pad)}.statement{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;border-bottom:1px solid var(--rule)}.statement h2{font-size:clamp(3.7rem,6.3vw,6.3rem)}.statement-copy{max-width:650px}.statement-copy .lead{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 35px}.statement-copy>p:not(.lead){max-width:58ch;color:#55584f}.capability-list{display:grid;grid-template-columns:1fr 1fr;margin-top:50px;border-top:1px solid var(--rule)}.capability-list span{padding:15px 4px;border-bottom:1px solid var(--rule);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.capability-list span:nth-child(odd){border-right:1px solid var(--rule)}.capability-list span:nth-child(even){padding-left:18px}.feature-project{display:grid;grid-template-columns:1.28fr .72fr;min-height:820px;background:var(--ink);color:#fff}.feature-image-wrap{position:relative;min-height:700px}.feature-image-wrap img{height:100%;object-fit:cover}.project-stamp{position:absolute;right:0;bottom:0;background:var(--green);padding:28px 34px;font-size:10px;font-weight:700;line-height:1.8;letter-spacing:.15em}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:80px clamp(35px,5vw,86px)}.project-meta{display:flex;justify-content:space-between;margin-bottom:72px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.26);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.feature-copy h2{font-size:clamp(3.6rem,5.5vw,6rem)}.feature-copy p{max-width:44ch;margin:34px 0;color:rgba(255,255,255,.67)}.feature-copy .line-link{margin-top:18px;width:100%}.room-section{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:64px}.section-heading h2{font-size:clamp(4rem,7vw,7rem)}.section-heading p{width:330px;margin:0 0 9px;color:#5f6159}.filters{display:flex;gap:8px;margin-bottom:26px}.filter{border:1px solid var(--rule);border-radius:999px;background:transparent;padding:10px 17px;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}.filter.is-active{background:var(--ink);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:12px}.project-card{position:relative;min-height:390px;padding:0;border:0;background:#252820;color:#fff;overflow:hidden;cursor:zoom-in;text-align:left}.project-card.wide{grid-column:span 2}.project-card.tall{grid-row:span 2;min-height:792px}.project-card[hidden]{display:none}.project-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s}.project-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,10,8,.8))}.project-card span{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;align-items:end;justify-content:space-between;gap:20px}.project-card b{font-family:var(--serif);font-size:clamp(1.6rem,2.3vw,2.5rem);font-weight:500;line-height:1}.project-card small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;text-align:right}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.035);filter:saturate(1.08)}.project-card:focus-visible,.button:focus-visible,a:focus-visible,.filter:focus-visible,.menu-toggle:focus-visible{outline:3px solid #d7a83c;outline-offset:4px}.workshop{display:grid;grid-template-columns:.72fr 1.28fr;background:#c7b395}.workshop-copy{display:flex;flex-direction:column;justify-content:center;padding:var(--section) clamp(28px,5vw,78px)}.workshop h2{font-size:clamp(4rem,6vw,6.5rem)}.workshop h2 em{color:var(--green)}.workshop-copy>p{max-width:48ch;margin:38px 0 56px}.workshop ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(17,20,16,.25)}.workshop li{display:grid;grid-template-columns:48px 1fr;padding:14px 0;border-bottom:1px solid rgba(17,20,16,.25);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.workshop li span{font-size:9px;color:var(--green)}.workshop-mosaic{display:grid;grid-template-columns:1fr .8fr;grid-template-rows:1fr 1fr;gap:8px;padding:8px;min-height:880px}.workshop-mosaic img{height:100%;object-fit:cover}.mosaic-a{grid-row:span 2}.mosaic-b{object-position:center}.mosaic-c{object-position:center}.services{background:var(--chalk)}.services .section-heading{margin-bottom:70px}.service-rows{border-top:1px solid var(--rule)}.service-row{display:grid;grid-template-columns:80px minmax(280px,.8fr) 1fr;align-items:center;gap:30px;padding:35px 0;border-bottom:1px solid var(--rule)}.service-row>span{font-size:10px;font-weight:700;color:var(--green)}.service-row h3{font-family:var(--serif);font-size:clamp(2rem,3.6vw,3.8rem);font-weight:500;letter-spacing:-.025em;margin:0}.service-row p{max-width:47ch;color:#5a5d55}.origin{position:relative;min-height:82svh;display:flex;align-items:end;color:#fff;overflow:hidden}.origin>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 35%}.origin-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,8,.8),rgba(8,10,8,.08) 70%)}.origin-copy{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:30px;width:100%;padding:80px var(--pad)}.origin h2{font-size:clamp(4rem,7vw,7rem)}.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;background:var(--green);color:#fff}.contact h2{font-size:clamp(4.2rem,7vw,7rem)}.contact h2 em{color:#c7b395}.contact-phone{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin-top:65px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.5);font-family:var(--serif);font-size:clamp(2rem,4vw,4rem)}.contact-info{align-self:end}.contact-info>div{display:grid;grid-template-columns:130px 1fr;padding:22px 0;border-top:1px solid rgba(255,255,255,.28)}.contact-info b{font-size:10px;text-transform:uppercase;letter-spacing:.11em}.contact-info p{margin:0;color:rgba(255,255,255,.75)}.contact-info .line-link{width:100%;margin-top:28px}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:34px var(--pad);background:var(--ink);color:#fff}footer p{font-size:9px;text-transform:uppercase;letter-spacing:.1em}footer>a:last-child{justify-self:end;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.lightbox{width:min(94vw,1300px);max-width:none;padding:0;border:0;background:var(--ink);color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(5,7,5,.85);backdrop-filter:blur(8px)}.lightbox img{max-height:82vh;object-fit:contain}.lightbox p{margin:0;padding:16px 22px;font-family:var(--serif);font-size:1.4rem}.lightbox-close{position:absolute;z-index:2;top:12px;right:12px;width:44px;height:44px;border:0;background:#fff;color:#111;font-size:26px;cursor:pointer}.reveal{opacity:0;transform:translateY(28px);filter:blur(5px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s}.reveal.is-visible{opacity:1;transform:none;filter:none}
@keyframes heroDrift{from{transform:scale(1.06) translateY(-1%)}to{transform:scale(1.01) translateY(-3%)}}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto;height:76px}.desktop-nav,.header-call{display:none}.menu-toggle{display:grid;place-content:center;gap:7px;width:48px;height:48px;border:0;background:transparent;color:currentColor}.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:76px 0 0;z-index:-1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:35px var(--pad);background:var(--chalk);color:var(--ink);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.25s}.mobile-menu.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu a{font-family:var(--serif);font-size:clamp(2.8rem,9vw,5rem);line-height:1;border-bottom:1px solid var(--rule);padding:12px 0}.mobile-menu a:last-child{margin-top:20px;color:var(--green)}.hero-grid{inset:76px var(--pad) 30px;grid-template-columns:repeat(2,1fr)}.hero-grid i:nth-child(n+3){display:none}.hero-content{width:94vw}.hero h1{font-size:clamp(3.8rem,10vw,6.6rem)}.statement{grid-template-columns:1fr;gap:60px}.feature-project{grid-template-columns:1fr}.feature-image-wrap{min-height:72vw}.feature-copy{padding:90px var(--pad)}.feature-copy .project-meta{margin-bottom:55px}.section-heading{align-items:start}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card.wide{grid-column:span 2}.project-card.tall{grid-row:auto;min-height:560px}.workshop{grid-template-columns:1fr}.workshop-mosaic{min-height:720px}.contact{grid-template-columns:1fr;gap:80px}footer{grid-template-columns:1fr auto}.footer-brand{grid-column:1/-1;margin-bottom:32px}}
@media(max-width:650px){:root{--pad:20px;--section:82px}.brand-mark{width:33px;height:33px}.brand b{font-size:11px}.hero{min-height:100svh}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(7,9,7,.8),rgba(7,9,7,.3)),linear-gradient(0deg,rgba(7,9,7,.52),transparent)}.hero-content{justify-content:flex-end;width:100%;padding:120px var(--pad) 108px}.hero h1{font-size:clamp(3.25rem,15vw,5rem)}.hero h1 br{display:none}.hero-content>p{margin-top:24px;font-size:14px;line-height:1.6}.hero-actions{align-items:stretch;flex-direction:column;gap:11px;margin-top:28px}.button{width:100%}.text-link{width:max-content}.hero-proof span:last-child,.scroll-cue{display:none}.hero-proof{bottom:22px}.statement h2{font-size:3.6rem}.statement-copy .lead{font-size:1.8rem}.capability-list{grid-template-columns:1fr}.capability-list span:nth-child(odd){border-right:0}.capability-list span:nth-child(even){padding-left:4px}.feature-image-wrap{min-height:105vw}.feature-copy{padding:72px var(--pad)}.feature-copy h2{font-size:3.7rem}.project-stamp{padding:17px 20px}.section-heading{display:block;margin-bottom:40px}.section-heading h2{font-size:3.85rem}.section-heading p{width:auto;margin-top:24px}.filters{overflow:auto;padding-bottom:3px}.project-grid{display:block}.project-card,.project-card.tall,.project-card.wide{width:100%;min-height:430px;margin-bottom:8px}.project-card:nth-child(3n){min-height:520px}.project-card span{left:18px;right:18px;bottom:18px}.project-card b{font-size:1.8rem}.workshop h2{font-size:4rem}.workshop-copy{padding:82px var(--pad)}.workshop-mosaic{grid-template-columns:1fr 1fr;min-height:580px}.mosaic-a{grid-column:1/-1;grid-row:auto}.service-row{grid-template-columns:44px 1fr;gap:12px;padding:26px 0}.service-row p{grid-column:2}.origin{min-height:70svh}.origin>img{object-position:58% center}.origin-copy{display:block;padding:55px var(--pad)}.origin h2{font-size:3.8rem;margin-bottom:30px}.contact h2{font-size:3.8rem}.contact-phone{font-size:2rem;margin-top:45px}.contact-info>div{grid-template-columns:1fr;gap:9px}footer{grid-template-columns:1fr;gap:18px}footer p{margin:0}footer>a:last-child{justify-self:start}.lightbox{width:96vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{opacity:1;transform:none;filter:none;transition:none}*{transition-duration:.01ms!important}}

/* Authored interface glyphs and finish-review refinements */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;flex:none}
.icon-large{width:34px;height:34px;stroke-width:1.25}
.icon-close{width:22px;height:22px}
.feature-copy .project-meta{order:3;margin:2px 0 10px;padding:18px 0 12px;border-top:1px solid rgba(255,255,255,.26);border-bottom:1px solid rgba(255,255,255,.26)}
.feature-copy .line-link{order:4}
.service-row{grid-template-columns:minmax(280px,.8fr) 1fr}
.footer-up{display:inline-flex;align-items:center;gap:9px}
.lightbox-close{display:grid;place-items:center;padding:0}
@media(max-width:980px){.feature-copy .project-meta{margin:2px 0 10px}}
@media(max-width:650px){.hero h1 br{display:block}.hero h1{font-size:clamp(3.05rem,13.8vw,4.2rem);text-wrap:wrap}.service-row{grid-template-columns:1fr;gap:8px}.service-row p{grid-column:auto;margin:0}}
