@font-face{font-family:Instrument;src:url('/fonts/instrument-sans-latin-ext-normal.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Bricolage;src:url('/fonts/bricolage-latin-ext-normal.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root{--paper:#f5f2eb;--paper-deep:#e9e3d8;--ink:#20221f;--steel:#252824;--oak:#9d6d43;--line:#cfc8bc;--muted:#706c64;--white:#fffdf9;--gutter:clamp(20px,4.5vw,76px);--wide:min(1520px,calc(100% - var(--gutter)*2));--content:min(1200px,calc(100% - var(--gutter)*2));--display:clamp(2.85rem,6.3vw,7.25rem);--title:clamp(2rem,3.8vw,4.25rem);--section:clamp(82px,11vw,176px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 Instrument,Arial,sans-serif}body.menu-open,body.lightbox-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--oak);outline-offset:4px}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:1rem;top:1rem;z-index:20;background:var(--white);padding:.7rem 1rem}.display{font:500 var(--display)/.91 Bricolage,Arial,sans-serif;letter-spacing:-.075em;margin:0}.display em{font-style:normal;color:var(--oak)}.title{font:500 var(--title)/.94 Bricolage,Arial,sans-serif;letter-spacing:-.065em;margin:0}.lead{font-size:clamp(1.1rem,1.45vw,1.35rem);line-height:1.45}.wrap{width:var(--content);margin:auto}.wide{width:var(--wide);margin:auto}.top{height:78px;display:flex;align-items:center;justify-content:space-between;width:var(--wide);margin:auto;position:relative;z-index:10}.brand{font:700 1.22rem/.9 Bricolage,sans-serif;letter-spacing:-.06em;display:flex;align-items:center;gap:.65rem}.brand i{display:block;width:10px;height:10px;background:var(--oak);transform:rotate(45deg);flex:none}.brand small{font:500 .62rem/1.1 Instrument,sans-serif;letter-spacing:.02em;color:var(--muted);max-width:11rem}.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2.25rem);font-size:.84rem}.nav a:not(.button){padding:.4rem 0;border-bottom:1px solid transparent}.nav a:not(.button):hover{border-color:currentColor}.nav-phone{font-variant-numeric:tabular-nums}.button{border:1px solid var(--steel);background:var(--steel);color:var(--white);padding:.68rem 1rem;font-size:.8rem;letter-spacing:.01em;display:inline-flex;gap:.6rem;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.button:hover{background:var(--oak);border-color:var(--oak)}.menu-button{display:none;border:0;background:transparent;padding:.5rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.hero{padding:0}.hero-media{width:var(--wide);height:clamp(560px,calc(100svh - 78px),920px);margin:0;overflow:hidden;background:var(--paper-deep)}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.intro{padding:clamp(70px,10vw,155px) 0 var(--section);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:clamp(40px,10vw,190px);align-items:end}.intro-copy{max-width:31rem;padding-bottom:.45rem}.intro-copy p{margin:0 0 2.3rem;font-size:clamp(1.02rem,1.25vw,1.22rem);line-height:1.55}.text-link{border-bottom:1px solid currentColor;padding-bottom:.32rem;font-size:.88rem;display:inline-flex;gap:.6rem;align-items:center}.text-link span{font-size:1.15em;line-height:.8}.projects{padding:0 0 var(--section)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(30px,4.5vw,70px)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(22px,3.5vw,62px) clamp(14px,2vw,30px);align-items:start}.project-card{display:block;min-width:0}.project-card:first-child{grid-column:1/-1}.project-card:nth-child(2){grid-column:1/6}.project-card:nth-child(3){grid-column:7/-1;margin-top:clamp(48px,10vw,150px)}.project-card:nth-child(4){grid-column:1/9}.project-card:nth-child(5){grid-column:10/-1;margin-top:clamp(36px,7vw,100px)}.project-image{display:block;overflow:hidden;background:var(--paper-deep);aspect-ratio:16/8.6}.project-card:nth-child(2) .project-image{aspect-ratio:4/5.15}.project-card:nth-child(3) .project-image{aspect-ratio:1.48}.project-card:nth-child(4) .project-image{aspect-ratio:16/9}.project-card:nth-child(5) .project-image{aspect-ratio:4/5}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project-card:hover .project-image img{transform:scale(1.018)}.project-label{display:flex;justify-content:space-between;gap:1rem;padding-top:.85rem;border-top:1px solid var(--line);margin-top:.85rem}.project-label strong{font:500 clamp(1.05rem,1.55vw,1.5rem)/1 Bricolage,sans-serif;letter-spacing:-.04em}.project-label small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.18rem;white-space:nowrap}.empty-gallery{grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3rem 0;color:var(--muted)}.services{padding:var(--section) 0}.services .title{margin-bottom:clamp(35px,5vw,68px)}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:72px minmax(0,1.2fr) minmax(220px,.8fr);gap:1rem;padding:clamp(18px,2vw,32px) 0;border-bottom:1px solid var(--line);align-items:baseline}.service span{font-size:.73rem;color:var(--oak);letter-spacing:.1em}.service h3{font:500 clamp(1.55rem,2.75vw,3rem)/1 Bricolage,sans-serif;letter-spacing:-.055em;margin:0}.service p{color:var(--muted);margin:0;font-size:.94rem;max-width:27ch}.process{padding:0 0 var(--section)}.process h2{font:600 .72rem/1 Instrument,sans-serif;letter-spacing:.12em;margin:0 0 1.2rem}.steps{list-style:none;display:flex;flex-wrap:wrap;gap:.15rem .75rem;margin:0;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 clamp(1.1rem,1.75vw,1.55rem)/1 Bricolage,sans-serif;letter-spacing:-.035em}.steps li{display:flex;align-items:center;gap:.75rem}.steps li:not(:last-child):after{content:'→';color:var(--oak);font:400 1.1em Instrument,sans-serif}.about{padding:0 0 var(--section);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.75fr);gap:clamp(36px,8vw,150px);align-items:center}.about figure{margin:0;background:var(--paper-deep)}.about img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.88)}.about-copy .title{margin-bottom:1.8rem}.about-copy p{max-width:35ch}.contact{background:var(--steel);color:var(--white);padding:clamp(70px,9vw,135px) 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(36px,9vw,150px);align-items:end}.contact .title{margin-bottom:1.6rem}.contact-phone{font:500 clamp(2rem,4vw,4.2rem)/.95 Bricolage,sans-serif;letter-spacing:-.06em;display:inline-block;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:.4rem}.contact-grid p{color:#c8c8c0;margin:1.35rem 0 0}.contact-info{border-top:1px solid rgba(255,255,255,.35)}.contact-info a:not(.text-link){display:block;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.35);font-size:1.02rem}.contact-info small{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#c8c8c0;margin-bottom:.22rem}.contact-info .text-link{margin-top:1.75rem}.footer{width:var(--wide);margin:auto;padding:1.5rem 0 2rem;display:flex;justify-content:space-between;gap:1rem;font-size:.76rem;color:var(--muted)}
.page-head{width:var(--wide);margin:clamp(50px,8vw,110px) auto clamp(36px,6vw,76px);display:grid;grid-template-columns:1fr .58fr;gap:3rem;align-items:end}.page-head p{max-width:31rem;margin:0;color:var(--muted)}.filters{width:var(--wide);margin:0 auto clamp(28px,4vw,52px);display:flex;gap:.5rem;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);padding:.55rem .8rem;font-size:.8rem}.filter[aria-pressed="true"],.filter:hover{background:var(--steel);color:var(--white);border-color:var(--steel)}.all-projects{width:var(--wide);margin:0 auto var(--section);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,25px)}.all-projects .project-card{margin:0;grid-column:auto}.all-projects .project-card:nth-child(5n+1){grid-column:span 2}.all-projects .project-image,.all-projects .project-card:nth-child(n) .project-image{aspect-ratio:4/3}.all-projects .project-card:nth-child(5n+1) .project-image{aspect-ratio:16/9}.project-view{width:var(--wide);margin:0 auto var(--section)}.project-back{display:inline-block;margin:2rem 0;border-bottom:1px solid var(--ink);padding-bottom:.2rem;font-size:.85rem}.project-detail{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(30px,7vw,110px);align-items:start}.project-detail aside{position:sticky;top:1.5rem}.project-detail aside p{color:var(--muted)}.project-detail h1{font:500 clamp(3rem,6vw,6.5rem)/.88 Bricolage,sans-serif;letter-spacing:-.07em;margin:.25rem 0 1.4rem}.detail-images{display:grid;gap:clamp(12px,2vw,24px)}.detail-image{display:block;background:var(--paper-deep);overflow:hidden}.detail-image img{width:100%;height:auto}.detail-image:first-child img{min-height:380px;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:20;background:rgba(20,23,22,.96);display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,60px)}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 80px);object-fit:contain}.lightbox button{position:absolute;border:0;color:var(--white);background:transparent;font-size:1.6rem;padding:1rem}.lightbox .close{top:0;right:0}.lightbox .prev{left:0;top:50%}.lightbox .next{right:0;top:50%}.lightbox-caption{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:var(--white);font-size:.85rem;text-align:center;max-width:75%}
@media(max-width:760px){:root{--gutter:20px;--section:86px}.top{height:66px}.brand{font-size:1.13rem}.brand small{display:none}.menu-button{display:block}.nav{position:fixed;top:66px;left:0;right:0;background:var(--paper);display:none;padding:1.5rem var(--gutter) 2rem;border-top:1px solid var(--line);align-items:stretch;gap:1.05rem}.menu-open .nav{display:flex;flex-direction:column}.nav .button{width:max-content}.hero-media,.wide{width:100%}.hero-media{height:calc(100svh - 66px);min-height:430px}.hero-media img{object-position:54% 50%}.intro,.about,.contact-grid,.page-head,.project-detail{grid-template-columns:1fr}.intro{padding-top:70px;gap:2rem}.intro-copy{padding-top:1.35rem;border-top:1px solid var(--line)}.intro-copy p{margin-bottom:1.7rem}.section-heading{align-items:start;flex-direction:column;gap:1.2rem}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 14px}.project-card,.project-card:nth-child(n){grid-column:auto;margin:0}.project-card:first-child,.project-card:nth-child(4){grid-column:1/-1}.project-card:nth-child(2) .project-image,.project-card:nth-child(5) .project-image{aspect-ratio:4/5}.project-card:nth-child(3) .project-image{aspect-ratio:4/3}.project-card:nth-child(4) .project-image{aspect-ratio:16/10}.project-label{display:block;margin-top:.65rem;padding-top:.65rem}.project-label small{display:block;margin-top:.35rem}.service{grid-template-columns:42px 1fr;gap:.8rem}.service p{grid-column:2;font-size:.9rem}.steps{display:block;padding:.4rem 0}.steps li{padding:.7rem 0}.steps li:not(:last-child):after{margin-left:auto}.about{gap:2rem}.about figure{order:2}.contact .title{margin-bottom:1.2rem}.contact-info{margin-top:.4rem}.footer{flex-direction:column}.page-head{margin-top:3rem;gap:1.3rem}.all-projects{grid-template-columns:1fr 1fr;gap:24px 12px}.all-projects .project-card:nth-child(5n+1){grid-column:span 2}.all-projects .project-card:nth-child(n) .project-image{aspect-ratio:4/3}.all-projects .project-card:nth-child(5n+1) .project-image{aspect-ratio:16/9}.project-detail aside{position:static}.detail-image:first-child img{min-height:0}.project-view{width:100%}.project-view .project-detail{padding:0 var(--gutter)}.project-back{margin-left:var(--gutter)}.lightbox .prev,.lightbox .next{padding:.4rem;font-size:1.3rem}.lightbox-caption{bottom:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-image img,.button{transition:none}}
