:root{--paper:#f1eee5;--ink:#353b29;--muted:#727563;--rule:#cdcebf;--pine:#333d2b;--serif:'Bodoni Moda',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(24px,5.3vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open,body.gallery-open{overflow:hidden}::selection{background:#d0d3b8;color:#252d22}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #777e5d;outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}button{border:0;background:transparent}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.04}em{font-family:var(--serif);font-weight:400}svg{width:28px;height:28px;flex:none}.section-pad{padding:100px var(--gutter)}.eyebrow{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;line-height:1.7}.tiny{font-size:10px;letter-spacing:.08em;color:var(--muted)}.skip{position:fixed;left:10px;top:-100px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}
.site-header{height:92px;display:flex;align-items:center;padding:8px var(--gutter);gap:32px;background:var(--paper);position:relative;z-index:50;border-bottom:1px solid var(--rule)}.brand{width:105px;height:74px;margin-left:-15px;flex:none}.brand img{object-fit:contain}.header-origin{font-size:10px;line-height:1.5;color:var(--muted);padding-left:20px;border-left:1px solid var(--rule)}.site-header nav{display:flex;gap:35px;margin-left:auto;font-size:12px}.site-header nav a{position:relative;padding:6px 0}.site-header nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.header-contact{font-size:11px;display:flex;gap:30px;align-items:center;margin-left:20px;border-left:1px solid var(--rule);padding-left:35px}.header-contact svg{width:22px}.menu-toggle{display:none}.mobile-nav{position:fixed;inset:92px 0 0;background:var(--paper);z-index:45;padding:40px var(--gutter);flex-direction:column;gap:12px}.mobile-nav:not([hidden]){display:flex}.mobile-nav a{font:48px/1.4 var(--serif)}
.hero{height:calc(100svh - 92px);min-height:660px;max-height:1100px;position:relative;color:#f8f6ed;overflow:hidden;background:#565d45}.hero-photo{position:absolute;inset:0;object-position:50% 55%;animation:hero-in 1.5s cubic-bezier(.2,.7,.2,1) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,28,20,.14),rgba(16,28,20,.04) 20%,rgba(16,28,20,.46) 75%,rgba(16,28,20,.58))}.hero-top{position:absolute;inset:30px var(--gutter) auto;display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.hero-content{position:absolute;inset:auto var(--gutter) 90px}.hero-content .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(76px,10.8vw,184px);line-height:.94;letter-spacing:-.055em}.hero h1 em{padding-left:13vw}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:30px}.hero-bottom p{font-size:12px;line-height:1.6;max-width:260px}.discover{font-size:11px;display:flex;align-items:center;gap:35px}.discover span{border:1px solid #f8f6ed80;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:20px;transition:background .25s}.discover:hover span{background:#f8f6ed26}.hero-credit{position:absolute;inset:auto var(--gutter) 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f8f6ed66;padding-top:12px;font-size:10px}.hero-credit a{display:flex;align-items:center;gap:15px}.hero-credit svg{width:15px;height:15px}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:20px;padding-top:125px;padding-bottom:125px}.intro>.eyebrow{padding-top:14px}.intro h2{font-size:clamp(40px,4.8vw,79px)}.intro h2 em{padding-left:7vw}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px;margin-left:7vw;max-width:720px}.intro-copy p{font-size:13px;line-height:1.9}.intro-copy p:first-child{font-size:16px;line-height:1.65}.intro-copy .text-link{grid-column:2}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid currentColor;padding:12px 0;font-size:11px;width:fit-content}.text-link svg{width:21px;height:21px;transition:transform .25s}.text-link:hover svg{transform:translate(3px,-3px)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:25px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{font-size:clamp(44px,5vw,83px)}.selected{border-top:1px solid var(--rule);padding-top:65px}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:76px;align-items:start}.project-card:nth-child(even){margin-top:120px}.project-image{position:relative;display:block;aspect-ratio:1.12;overflow:hidden;background:#d6d5c8}.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+3) .project-image{aspect-ratio:.82}.project-image img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.project-image:hover img{transform:scale(1.045)}.image-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:44px;height:44px;background:var(--paper);color:var(--ink);border-radius:50%;transform:translateY(65px);transition:transform .3s}.project-image:hover .image-arrow,.project-image:focus-visible .image-arrow{transform:translateY(0)}.image-arrow svg{width:22px}.project-meta{display:flex;justify-content:space-between;align-items:start;padding-top:16px}.project-meta h3{font:400 clamp(25px,2.5vw,38px)/1.15 var(--serif);letter-spacing:-.03em}.project-meta p{margin-top:7px;font-size:10px;letter-spacing:.035em;color:var(--muted)}.project-number{padding-top:5px;font-size:10px;color:var(--muted)}
.craft{display:grid;grid-template-columns:1.05fr 1fr;background:var(--pine);color:var(--paper);margin-top:20px}.craft-picture{min-height:920px;position:relative}.craft-picture img{position:absolute;inset:0}.craft-picture>span{position:absolute;bottom:26px;left:30px;font-size:10px;text-shadow:0 1px 5px #000}.craft-copy{padding:80px 7vw}.craft h2{font-size:clamp(58px,6.5vw,104px);line-height:.98;margin:40px 0}.craft-copy>p{font-size:12px;line-height:1.85;max-width:320px}.service-links{margin-top:40px}.service-links a{border-bottom:1px solid #f1eee540;display:flex;align-items:center;gap:20px;padding:15px 0;font-size:13px}.service-links a:first-child{border-top:1px solid #f1eee540}.service-links a .tiny{color:#f1eee580}.service-links svg{margin-left:auto;width:20px;height:20px;transition:transform .25s}.service-links a:hover svg{transform:translate(3px,-3px)}
.house{display:grid;grid-template-columns:1fr 1.25fr;gap:7vw;position:relative;padding-top:130px;padding-bottom:130px}.house h2{font-size:clamp(48px,5.8vw,95px);margin:45px 0}.house-image{padding-top:60px}.house-image img{aspect-ratio:1.05;height:auto}.house-image p{font-size:11px;color:var(--muted);line-height:1.9;max-width:370px;margin:20px 0 0 auto}.house-note{display:flex;gap:22px;align-items:center;position:absolute;left:var(--gutter);bottom:120px}.large-number{font:100px/1 var(--serif);letter-spacing:-.06em}.large-number>span{font:35px var(--serif);vertical-align:top}.house-note>span:last-child{font-size:11px;line-height:1.8;color:var(--muted)}
footer{padding:75px var(--gutter) 0;background:#e4e4d5;color:var(--pine)}.footer-top>.eyebrow{margin-bottom:28px}.footer-title{display:flex;justify-content:space-between;align-items:center;font:clamp(50px,7.8vw,132px)/1 var(--serif);letter-spacing:-.045em;padding-bottom:70px;border-bottom:1px solid #333d2b55}.footer-title svg{width:80px;height:80px}.footer-details{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;gap:30px;align-items:start;padding:45px 0 60px}.footer-wordmark{font:64px/.8 Georgia,serif;letter-spacing:-.055em;width:100px}.footer-wordmark span{display:block;font:9px var(--sans);letter-spacing:.26em;margin-top:14px}.footer-details address{font-style:normal;font-size:11px;line-height:1.8}.footer-details>div{display:flex;flex-direction:column;align-items:start;gap:10px;font-size:11px}.footer-details>div:last-child{padding-left:20px}.footer-details a:hover{text-decoration:underline;text-underline-offset:4px}.footer-details svg{width:14px;height:14px;vertical-align:middle;margin-left:10px}.footer-bottom{display:flex;gap:24px;align-items:center;border-top:1px solid #333d2b55;min-height:65px;font-size:9px;color:#535d49}.footer-bottom>span:nth-last-child(2){margin-left:auto}.footer-bottom a:last-child{margin-left:10px}
.page-heading{padding-top:75px;padding-bottom:75px;border-bottom:1px solid var(--rule)}.page-heading h1{font-size:clamp(66px,8.2vw,142px);margin-top:35px;max-width:1100px;line-height:.99}.page-heading h1 em{padding-left:8vw}.page-heading>p{max-width:450px;margin:35px 0 0 auto;font-size:13px;line-height:1.85}.portfolio{padding-top:35px}.portfolio-controls{display:flex;justify-content:space-between;align-items:center;font-size:10px;padding-bottom:30px}.portfolio-controls label{display:flex;align-items:center;gap:20px}select{border:0;background:transparent;border-bottom:1px solid var(--rule);padding:8px 25px 8px 0;border-radius:0}.project-heading{padding-top:55px;padding-bottom:45px}.project-heading-row{display:flex;align-items:flex-end;gap:25px;justify-content:space-between;margin-top:45px}.project-heading h1{font-size:clamp(58px,7.6vw,126px);max-width:900px}.project-facts{display:flex;flex-direction:column;text-align:right;font-size:11px;line-height:2;min-width:150px}.project-cover{height:78vh;min-height:440px;position:relative}.project-cover img{object-position:50% 55%}.gallery-expand{position:absolute;bottom:25px;right:var(--gutter);border-radius:50%;background:var(--paper);width:54px;height:54px}.project-story{display:grid;grid-template-columns:1fr 2fr;gap:50px}.project-story h2{font-size:clamp(28px,3.3vw,49px);letter-spacing:-.025em;line-height:1.3}.project-story p{font-size:13px;line-height:1.9;max-width:600px;margin:35px 0 0 auto}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:0}.gallery-photo{padding:0;overflow:hidden;aspect-ratio:1.2}.gallery-photo:nth-child(3n+1){grid-column:span 2;aspect-ratio:1.9}.gallery-photo img{transition:transform .6s}.gallery-photo:hover img{transform:scale(1.025)}.next-project{border-top:1px solid var(--rule)}.next-title{font:clamp(42px,6.5vw,100px)/1.15 var(--serif);letter-spacing:-.04em;display:flex;justify-content:space-between;align-items:center;padding:28px 0}.next-title svg{width:65px;height:65px}.next-project>p{font-size:11px;color:var(--muted)}.wide-image{height:70vh;min-height:380px}.services-index{padding-top:70px}.service-story{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center;margin-bottom:100px}.service-story:nth-child(even)>a{order:2}.service-story>a{aspect-ratio:1.2}.service-story h2{font-size:clamp(42px,4.6vw,75px);margin:20px 0}.service-story p{font-size:13px;margin-bottom:25px;color:var(--muted)}.service-description,.about-story{display:grid;grid-template-columns:1fr 2fr;gap:50px}.service-description p,.about-story p{font-size:15px;line-height:1.9;margin-bottom:30px;max-width:710px}.about-story h2{font-size:44px;margin:30px 0 20px}.team-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:0}.team-gallery img{aspect-ratio:1.25}.other-services{border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:25px;align-items:center}.other-services .eyebrow{margin-right:auto}.other-services .text-link{font-size:11px;gap:20px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding-top:60px}.contact-info{display:flex;flex-direction:column;align-items:start;gap:22px}.contact-info>p{max-width:320px;font-size:17px}.contact-info .phone{font:40px var(--serif);letter-spacing:-.03em;margin-top:15px}.contact-info>address{font-size:12px;font-style:normal;line-height:1.8}.contact-info>address>span{display:block;margin-top:20px;color:var(--muted)}.contact-info img{height:270px;margin-top:25px}form label{display:flex;flex-direction:column;font-size:11px;gap:10px;margin-bottom:22px}input,textarea{width:100%;padding:10px 0;background:none;border:0;border-bottom:1px solid #a6ab96;border-radius:0;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.consent{flex-direction:row;align-items:flex-start;font-size:10px;line-height:1.7;margin-top:30px}.consent input{width:15px;height:15px;flex:none;margin:2px 5px 0 0;accent-color:var(--pine)}.consent a{text-decoration:underline}.submit-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:14px}.submit-link:hover svg{transform:translate(3px,-3px)}.form-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:18px}#form-status{font-size:12px;margin-top:15px}.recruitment{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.recruitment>div>img{height:360px}.recruitment>div>p{margin-top:20px;font-size:13px;line-height:1.9}.recruitment details{border-top:1px solid var(--rule);padding:20px 0}.recruitment details:last-of-type{border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:28px/1.3 var(--serif)}summary::-webkit-details-marker{display:none}details p{font-size:12px;margin:18px 0;line-height:1.9}.prose{max-width:1000px;margin:auto;padding-top:50px}.prose p{font-size:13px;line-height:1.9;margin-bottom:24px}.notice{border-left:2px solid var(--ink);padding:14px 20px;background:#e4e4d5}
.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px 90px;background:#141c16f5;border:0;color:var(--paper)}.lightbox::backdrop{background:#141c16}.lightbox[open]{display:flex;align-items:center;justify-content:center;gap:30px}.lightbox img{object-fit:contain;max-width:calc(100% - 80px);height:100%;width:auto}.lightbox-close{position:absolute;top:20px;right:30px;color:var(--paper);font-size:36px}.lightbox>button:not(.lightbox-close){font-size:32px;color:var(--paper);padding:10px}.lightbox>p{position:absolute;bottom:20px;font-size:10px;letter-spacing:.14em}.js-reveal .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js-reveal .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}@keyframes hero-in{from{transform:scale(1.035);opacity:.6}to{transform:scale(1);opacity:1}}
@media(min-width:1700px){.project-grid{gap:100px}.section-pad{padding-top:130px;padding-bottom:130px}.hero h1{font-size:180px}}@media(max-width:1050px){.header-origin{display:none}.site-header{gap:15px}.site-header nav{gap:22px}.header-contact{padding-left:20px;gap:15px}.project-grid{gap:45px 32px}.craft-copy{padding:65px 5vw}.craft-picture{min-height:850px}.footer-details{grid-template-columns:1fr 1fr 1fr}.footer-details>div:last-child{grid-column:3;padding-left:0}.footer-bottom{flex-wrap:wrap;gap:15px;padding:20px 0}.house-note{bottom:85px}.house{gap:40px}.footer-bottom>span:nth-last-child(2){margin-left:0}.hero h1 em{padding-left:7vw}}
@media(max-width:720px){html{scroll-padding-top:75px}.section-pad{padding:65px var(--gutter)}.site-header{height:76px;padding-top:5px;padding-bottom:5px;justify-content:space-between}.brand{height:62px;width:90px}.site-header nav,.header-contact{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;padding:12px 0 12px 18px}.menu-toggle span{height:1px;width:28px;background:var(--ink);transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{top:76px}.hero{height:calc(100svh - 76px);min-height:560px;max-height:870px}.hero-top{top:24px;font-size:8px;gap:20px}.hero-top>span:last-child{text-align:right}.hero-photo{object-position:62% 50%}.hero-content{bottom:100px}.hero h1{font-size:clamp(64px,13.8vw,100px);line-height:1}.hero h1 em{padding-left:0}.hero-bottom{margin-top:25px;align-items:start;gap:20px}.hero-bottom p{font-size:10px}.discover{gap:12px;font-size:9px;white-space:nowrap}.discover span{width:32px;height:32px;font-size:16px}.hero-credit{bottom:22px;font-size:8px}.hero-content .eyebrow{font-size:8px;letter-spacing:.12em}.intro{grid-template-columns:1fr;gap:30px}.intro h2{font-size:42px}.intro h2 em{padding-left:0}.intro-copy{grid-template-columns:1fr;margin:30px 0 0;gap:20px}.intro-copy p:first-child{font-size:16px}.intro-copy p{font-size:12px}.intro-copy .text-link{grid-column:1}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.section-heading h2{font-size:44px}.project-grid{gap:40px 20px}.project-card:nth-child(even){margin-top:65px}.project-meta h3{font-size:25px}.project-meta p{font-size:9px;line-height:1.6;max-width:125px}.project-number{display:none}.project-image{aspect-ratio:.8}.project-card:nth-child(4n+2) .project-image,.project-card:nth-child(4n+3) .project-image{aspect-ratio:.7}.image-arrow{display:none}.craft{grid-template-columns:1fr}.craft-picture{min-height:440px}.craft-copy{padding:50px var(--gutter) 65px}.craft h2{font-size:74px;margin:30px 0}.craft-copy>p{font-size:13px}.service-links{margin-top:35px}.craft-picture>span{left:var(--gutter);font-size:9px}.house{grid-template-columns:1fr;gap:20px}.house h2{font-size:59px;margin:25px 0}.house-image{padding-top:20px}.house-note{position:static;grid-row:3;margin-top:15px}.large-number{font-size:80px}.house-image p{font-size:11px;max-width:none}.footer-title{font-size:54px;padding-bottom:40px}.footer-title svg{width:40px;height:40px}.footer-top>.eyebrow{font-size:8px}.footer-details{grid-template-columns:1fr 1.5fr;gap:30px 20px;padding:35px 0}.footer-details>div:last-child{grid-column:auto}.footer-wordmark{font-size:54px}.footer-bottom{font-size:8px;line-height:1.6;gap:12px 20px}.footer-bottom>span:first-child{width:100%}.footer-bottom a:last-child{margin-left:0}.footer-bottom>span:nth-last-child(2){display:none}footer{padding-top:50px}.page-heading{padding-top:50px;padding-bottom:50px}.page-heading h1{font-size:62px;margin-top:25px}.page-heading h1 em{padding-left:0}.page-heading>p{font-size:12px;margin:25px 0 0}.portfolio-controls{align-items:start;gap:20px}.portfolio-controls label{gap:10px;max-width:65%}.portfolio-controls select{font-size:10px;max-width:100%}.project-heading-row{flex-direction:column;align-items:start;margin-top:28px;gap:20px}.project-heading h1{font-size:64px}.project-facts{flex-direction:row;gap:20px;flex-wrap:wrap;text-align:left;font-size:10px}.project-cover{height:62vh;min-height:350px}.project-story,.about-story,.service-description{grid-template-columns:1fr;gap:25px}.project-story h2{font-size:30px}.project-story p{font-size:12px;margin-top:25px}.gallery{gap:20px;padding-top:0}.gallery-photo,.gallery-photo:nth-child(3n+1){aspect-ratio:.85}.gallery-photo:nth-child(3n+1){aspect-ratio:1.2}.next-title{font-size:50px}.next-title svg{width:40px;height:40px}.services-index{padding-bottom:0}.service-story{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.service-story:nth-child(even)>a{order:0}.service-story h2{font-size:49px;margin:12px 0}.service-story>a{aspect-ratio:1.2}.service-story p{font-size:12px}.wide-image{height:50vh;min-height:320px}.service-description p,.about-story p{font-size:13px}.about-story h2{font-size:36px}.team-gallery{gap:15px;padding-top:0}.team-gallery img{aspect-ratio:.8}.other-services{gap:16px}.other-services>.eyebrow{width:100%}.other-services .text-link{width:100%}.contact-layout,.recruitment{grid-template-columns:1fr;gap:55px}.contact-info img{height:250px}.contact-info>p{font-size:16px}.contact-info .phone{font-size:35px}.recruitment>div>img{height:300px}.lightbox{padding:70px 10px}.lightbox[open]{gap:0}.lightbox img{max-width:calc(100% - 50px)}.lightbox>button:not(.lightbox-close){font-size:20px;padding:5px}.lightbox-close{right:20px}.prose{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-reveal .reveal{opacity:1;transform:none}}

.brand img{mix-blend-mode:multiply}

.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
button:disabled{opacity:.55}
