@font-face{font-family:Basis Grotesque;src:url(/_astro/basis-regular.EpnveAzu.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Basis Grotesque;src:url(/_astro/basis-medium.CIgmGaZr.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--paper:#eeeeec;--ink:#171717;--muted:#777773;--line:#c9c9c3;--white:#fff;--gutter:clamp(1.1rem, 3.4vw, 3.75rem);--header-height:6.5rem;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);background:var(--paper)}body{background:var(--paper);min-width:320px;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Basis Grotesque,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.45;overflow-x:hidden}body.menu-open{overflow:hidden}img,picture{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{color:inherit;font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}::selection{background:var(--ink);color:var(--paper)}.skip-link{z-index:1000;background:var(--ink);color:var(--white);padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:60;height:var(--header-height);padding:1.35rem var(--gutter);backdrop-filter:blur(14px);background:#eeeeece6;border-bottom:1px solid #c9c9c3b8;position:fixed;inset:0 0 auto}.header-inner{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.brand{z-index:60;width:2.75rem;height:2.75rem;display:block;position:relative}.brand img{object-fit:contain;width:100%;height:100%}.desktop-nav{text-transform:uppercase;align-items:center;gap:clamp(1.4rem,3vw,3.4rem);padding-top:.35rem;font-size:.72rem;line-height:1;display:flex}.desktop-nav a,.drawer-nav a{position:relative}.desktop-nav a:after{transform-origin:100%;content:"";height:1px;transition:transform .3s var(--ease);background:currentColor;position:absolute;bottom:-.5rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{z-index:60;background:0 0;border:0;width:2.75rem;height:2.75rem;padding:0;display:none;position:relative}.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:"";width:1.2rem;height:1px;transition:transform .35s var(--ease), opacity .25s ease, top .35s var(--ease);background:currentColor;position:absolute;left:.8rem}.menu-toggle:before{top:1rem}.menu-toggle span{top:1.38rem}.menu-toggle:after{top:1.76rem}.menu-toggle[aria-expanded=true]:before{top:1.38rem;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span{opacity:0}.menu-toggle[aria-expanded=true]:after{top:1.38rem;transform:rotate(-45deg)}.menu-drawer{z-index:55;visibility:hidden;padding:calc(var(--header-height) + 2rem) var(--gutter) 2rem;opacity:0;background:var(--paper);align-content:end;transition:visibility 0s linear .45s,opacity .35s;display:grid;position:fixed;inset:0}.menu-drawer[data-open=true]{visibility:visible;opacity:1;transition-delay:0s}.drawer-nav{border-top:1px solid var(--ink);display:grid}.drawer-nav a{border-bottom:1px solid var(--line);text-transform:uppercase;justify-content:space-between;align-items:baseline;padding:.48rem 0 .38rem;font-size:clamp(2rem,10vw,4rem);line-height:.95;display:flex}.drawer-nav small{font-size:.65rem}.drawer-contact{text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:2rem;font-size:.72rem;display:flex}.drawer-socials{flex-wrap:wrap;justify-content:flex-end;gap:.8rem 1.5rem;display:flex}.site-main{min-height:70vh}.shell{width:100%;padding-right:var(--gutter);padding-left:var(--gutter)}.label{letter-spacing:.02em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.68rem}.display-title{letter-spacing:-.065em;text-transform:uppercase;max-width:13ch;margin-bottom:0;font-size:clamp(4.4rem,11.8vw,11.5rem);font-weight:400;line-height:.78}.home-intro{min-height:clamp(16rem,30vw,25rem);padding:calc(var(--header-height) + 1rem) var(--gutter) 3.6rem}.home-intro-content{grid-template-columns:1fr minmax(18rem,.48fr);align-items:end;gap:3rem;width:100%;height:100%;display:grid}.home-intro .display-title{max-width:7ch;font-size:clamp(4rem,10.8vw,10rem)}.home-intro-copy{max-width:32rem;margin:0 0 .45rem;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.25}.hero-media{background:#d8d8d3;width:100%;height:min(64vw,57rem);min-height:34rem;overflow:hidden}.hero-media picture,.hero-media img{width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center center}.featured-strip{padding:clamp(2rem, 6vw, 5rem) var(--gutter) 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.35rem,1vw,1rem);display:grid}.project-card{min-width:0}.project-image{aspect-ratio:1.42;background:#d9d9d4;display:block;position:relative;overflow:hidden}.project-image picture,.project-image img{width:100%;height:100%}.project-image img{object-fit:cover;transition:transform .7s var(--ease), filter .4s ease}.project-card:hover .project-image img,.project-card:focus-within .project-image img{transform:scale(1.025)}.project-meta{text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.8rem;font-size:.68rem;display:flex}.project-meta h2,.project-meta h3{font:inherit;margin:0}.project-meta span{color:var(--muted)}.statement{min-height:min(56vw,43rem);padding:7rem var(--gutter);text-align:center;place-items:center;display:grid}.statement h2{letter-spacing:-.055em;text-transform:uppercase;max-width:19ch;margin:0;font-size:clamp(2.45rem,6vw,6rem);font-weight:400;line-height:.93}.about-preview{grid-template-columns:minmax(0,1fr) minmax(18rem,.85fr);gap:4rem;padding-top:2rem;padding-bottom:clamp(6rem,12vw,12rem);display:grid}.about-preview-content{grid-column:2}.about-preview article+article{margin-top:4rem}.about-preview h3{text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;font-weight:400}.about-preview p{max-width:45rem;margin-bottom:0;font-size:clamp(1.08rem,1.45vw,1.35rem)}.local-seo-intro{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:clamp(4rem,7vw,7rem);display:grid}.local-seo-intro p{grid-column:2;max-width:40rem;margin:0;font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.25}.local-seo-grid{border-top:1px solid var(--ink);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.local-seo-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:18rem;padding:1.5rem 1.5rem 2rem}.local-seo-card .label{margin-bottom:3rem}.local-seo-card h3{letter-spacing:-.03em;text-transform:uppercase;max-width:16ch;margin-bottom:1rem;font-size:clamp(1.25rem,2vw,1.8rem);font-weight:400;line-height:1}.local-seo-card p:last-child{max-width:32rem;color:var(--muted);margin:0;font-size:.88rem}.local-seo-actions{flex-wrap:wrap;gap:1.5rem 3rem;display:flex}.text-link,.arrow-link{text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:2rem;margin-top:3rem;padding-bottom:.35rem;font-size:.7rem;display:inline-flex}.arrow-link:after,.text-link:after{content:"↗";transition:transform .25s var(--ease);font-size:1rem}.arrow-link:hover:after,.text-link:hover:after{transform:translate(.2rem,-.2rem)}.inner-hero{min-height:clamp(35rem,68vh,52rem);padding:calc(var(--header-height) + 3rem) var(--gutter) clamp(3rem, 7vw, 6rem);border-bottom:1px solid var(--line);align-content:end;display:grid}.inner-hero .label{margin-bottom:2rem}.hero-support{grid-template-columns:1fr minmax(18rem,.55fr);align-items:end;gap:4rem;display:grid}.hero-support p{grid-column:2;margin:0 0 .8rem;font-size:clamp(1.1rem,1.8vw,1.55rem);line-height:1.25}.section{padding-top:clamp(5rem,10vw,10rem);padding-bottom:clamp(5rem,10vw,10rem)}.section-rule{border-top:1px solid var(--line)}.section-heading{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:clamp(4rem,8vw,8rem);display:grid}.section-heading h2{letter-spacing:-.05em;text-transform:uppercase;grid-column:2;max-width:14ch;margin:0;font-size:clamp(2.5rem,5.5vw,5.4rem);font-weight:400;line-height:.95}.section-heading p{grid-column:2;max-width:40rem;margin:1rem 0 0}.services-list{border-top:1px solid var(--ink)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:.2fr .8fr 1fr;align-items:baseline;gap:2rem;padding:1.4rem 0;display:grid}.service-row .number,.service-row p{font-size:.75rem}.service-row h3{letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(1.65rem,3vw,3rem);font-weight:400}.service-row p{max-width:32rem;margin:0}.service-detail-grid{border-top:1px solid var(--ink)}.service-detail{border-bottom:1px solid var(--line);grid-template-columns:.2fr .8fr 1fr;align-items:baseline;gap:2rem;padding:1.8rem 0;display:grid}.service-detail .number{font-size:.75rem}.service-detail h3{letter-spacing:-.03em;text-transform:uppercase;max-width:17ch;margin:0;font-size:clamp(1.5rem,3vw,3rem);font-weight:400;line-height:.98}.service-detail p{max-width:36rem;margin:0}.two-column-copy{grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,9rem);display:grid}.two-column-copy h2{letter-spacing:-.055em;text-transform:uppercase;max-width:10ch;margin:0;font-size:clamp(2.8rem,6vw,6rem);font-weight:400;line-height:.95}.copy-stack{max-width:42rem}.copy-stack p{font-size:clamp(1.05rem,1.5vw,1.35rem)}.filters{flex-wrap:wrap;gap:.65rem;margin-bottom:3rem;display:flex}.filter-button{border:1px solid var(--line);text-transform:uppercase;background:0 0;border-radius:999px;padding:.65rem 1rem .55rem;font-size:.67rem;transition:background .2s,color .2s,border-color .2s}.filter-button:hover,.filter-button:focus-visible,.filter-button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,7rem) clamp(1rem,2.5vw,2.5rem);display:grid}.portfolio-grid .project-card[hidden]{display:none}.portfolio-grid .project-image{aspect-ratio:1.3}.projects-list{border-top:1px solid var(--ink)}.project-row{border-bottom:1px solid var(--line);grid-template-columns:.15fr .85fr 1fr;align-items:center;gap:clamp(1rem,3vw,3rem);padding:1rem 0;display:grid}.project-row-number,.project-row-category{text-transform:uppercase;font-size:.68rem}.project-row h2{letter-spacing:-.05em;text-transform:uppercase;margin:0;font-size:clamp(2.2rem,5vw,5.5rem);font-weight:400;line-height:.9}.project-row-image{aspect-ratio:1.9;overflow:hidden}.project-row-image picture,.project-row-image img{width:100%;height:100%}.project-row-image img{object-fit:cover;transition:transform .7s var(--ease)}.project-row:hover img{transform:scale(1.025)}.steps{counter-reset:steps;border-top:1px solid var(--ink)}.step{counter-increment:steps;border-bottom:1px solid var(--line);grid-template-columns:.22fr .78fr 1fr;gap:2rem;padding:2rem 0;display:grid}.step:before{content:"0" counter(steps);font-size:.72rem}.step h2{text-transform:uppercase;margin:0;font-size:clamp(1.55rem,3vw,3rem);font-weight:400}.step p{max-width:36rem;margin:0}.faq-list{border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;letter-spacing:-.03em;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.5rem 0;font-size:clamp(1.25rem,2.5vw,2.4rem);list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";transition:transform .25s var(--ease);flex:none;font-size:1.5rem}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{max-width:42rem;color:var(--muted);margin:0 3rem 1.75rem 0}.contact-panel{min-height:85vh;padding:calc(var(--header-height) + 3rem) var(--gutter) clamp(3rem, 7vw, 6rem);align-content:end;display:grid}.contact-heading{letter-spacing:-.06em;text-transform:uppercase;max-width:12ch;margin-bottom:clamp(4rem,10vw,9rem);font-size:clamp(3.5rem,10vw,10rem);font-weight:400;line-height:.82}.contact-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.contact-item{padding:1.5rem 1.5rem 0 0}.contact-item+.contact-item{border-left:1px solid var(--line);padding-left:1.5rem}.contact-item span{color:var(--muted);text-transform:uppercase;margin-bottom:1.2rem;font-size:.68rem;display:block}.contact-item a,.contact-item strong{letter-spacing:-.03em;font-size:clamp(1.15rem,2.25vw,2.2rem);font-weight:400}.contact-item{min-width:0}.contact-item a{overflow-wrap:anywhere}.contact-address address{font-size:1rem;font-style:normal;line-height:1.6}.contact-address .text-link{margin-top:1rem;font-size:.7rem}.footer-address{max-width:65ch;margin-top:2rem;font-size:.85rem;font-style:normal;line-height:1.6}.project-detail-hero{padding:calc(var(--header-height) + 4rem) var(--gutter) clamp(4rem, 7vw, 7rem)}.project-detail-head{grid-template-columns:1fr minmax(18rem,.45fr);align-items:end;gap:3rem;min-height:42vh;margin-bottom:3rem;display:grid}.project-detail-head h1{letter-spacing:-.07em;text-transform:uppercase;margin:0;font-size:clamp(4.5rem,13vw,13rem);font-weight:400;line-height:.76}.project-detail-copy p{margin-bottom:1.1rem}.detail-cover{aspect-ratio:1.65;width:100%;overflow:hidden}.detail-cover picture,.detail-cover img{width:100%;height:100%}.detail-cover img{object-fit:cover}.project-body{grid-template-columns:1fr 1fr;gap:3rem;padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem);display:grid}.project-body>:first-child{grid-column:2;max-width:40rem;font-size:clamp(1.4rem,2.7vw,2.5rem);line-height:1.15}.gallery{grid-template-columns:repeat(12,1fr);gap:clamp(.6rem,1.5vw,1.5rem);padding-bottom:clamp(5rem,10vw,10rem);display:grid}.gallery figure{grid-column:span 6;margin:0}.gallery figure:nth-child(3n){grid-column:span 12}.gallery picture,.gallery img{width:100%;height:100%}.gallery img{object-fit:cover}.gallery figure:not(:nth-child(3n)) picture{aspect-ratio:1.3;overflow:hidden}.next-project{min-height:min(52vw,40rem);padding:2rem var(--gutter) 3rem;border-top:1px solid var(--ink);flex-direction:column;justify-content:space-between;display:flex}.next-project span{text-transform:uppercase;font-size:.68rem}.next-project strong{letter-spacing:-.07em;text-transform:uppercase;font-size:clamp(4rem,12vw,12rem);font-weight:400;line-height:.78}.site-footer{padding:2rem var(--gutter) 1.5rem;border-top:1px solid var(--line)}.footer-invitation{grid-template-columns:1fr 1fr;gap:3rem;padding:clamp(3rem,8vw,7rem) 0;display:grid}.footer-invitation h2{letter-spacing:-.055em;text-transform:uppercase;grid-column:2;max-width:13ch;margin:0;font-size:clamp(2.7rem,6vw,6rem);font-weight:400;line-height:.92}.footer-bottom{text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;font-size:.66rem;display:grid}.footer-socials{justify-content:flex-end;gap:1.5rem;display:flex}.footer-bottom a:hover,.footer-bottom a:focus-visible{text-underline-offset:.3rem;text-decoration:underline}.will-reveal{opacity:1;transition:opacity .7s ease, transform .9s var(--ease);transform:translateY(1.5rem)}.will-reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=899px){:root{--header-height:5.4rem}.site-header{padding-top:.9rem}.brand{width:2.45rem;height:2.45rem}.desktop-nav{display:none}.menu-toggle{display:block}.home-intro{min-height:16rem;padding-bottom:2.8rem}.home-intro-content,.local-seo-intro{grid-template-columns:1fr}.home-intro .display-title{font-size:clamp(3.5rem,16vw,6rem);line-height:.78}.home-intro-copy,.local-seo-intro p{grid-column:1;margin-top:2rem}.hero-media{height:min(170vw,52rem);min-height:38rem}.hero-media img{object-position:50% center}.featured-strip{gap:.35rem;padding-top:2rem}.featured-strip .project-meta span{display:none}.featured-strip .project-meta{font-size:.52rem}.featured-strip .project-image{aspect-ratio:.85}.statement{min-height:34rem;padding:6rem var(--gutter)}.statement h2{font-size:clamp(2.2rem,10.5vw,4.5rem)}.about-preview,.section-heading,.two-column-copy,.hero-support,.footer-invitation,.project-detail-head,.project-body{grid-template-columns:1fr}.about-preview-content,.section-heading h2,.section-heading p,.hero-support p,.footer-invitation h2,.project-body>:first-child{grid-column:1}.about-preview{padding-top:0}.inner-hero{min-height:37rem}.display-title{max-width:9ch;font-size:clamp(3.6rem,16vw,7rem)}.service-row,.service-detail,.step{grid-template-columns:.18fr .82fr;gap:1rem}.service-row p,.service-detail p,.step p{grid-column:2}.portfolio-grid{grid-template-columns:1fr}.local-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-row{grid-template-columns:auto 1fr}.project-row-image{grid-column:1/-1}.contact-grid{grid-template-columns:1fr}.contact-item{border-bottom:1px solid var(--line);padding:1.3rem 0}.contact-item+.contact-item{border-left:0;padding-left:0}.project-detail-head{min-height:40vh}.detail-cover{aspect-ratio:.85}.gallery figure,.gallery figure:nth-child(3n){grid-column:span 12}.gallery figure picture,.gallery figure:not(:nth-child(3n)) picture{aspect-ratio:1.15;overflow:hidden}.footer-bottom{grid-template-columns:1fr 1fr}.footer-copyright{grid-area:2/1/auto/-1;padding-top:1.5rem}}@media (width<=520px){.featured-strip{padding-left:.5rem;padding-right:.5rem}.featured-strip .project-meta{display:none}.project-meta{flex-direction:column;align-items:flex-start;gap:.3rem}.local-seo-grid{grid-template-columns:1fr}.local-seo-card{min-height:0}.local-seo-card .label{margin-bottom:2rem}.footer-bottom{gap:1rem}.footer-socials{gap:.8rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.will-reveal{opacity:1;transform:none}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
