:root{--paper:#eee7db;--light:#f6f2eb;--ink:#191918;--muted:#66635e;--line:#cec7bb;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(64px,7.25vw,112px)}h2{font-size:clamp(46px,5.1vw,80px)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}h3{font-weight:450;letter-spacing:-.03em}p+p{margin-top:20px}img{display:block;width:100%;height:auto}button{border:0;background:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #957b4f;outline-offset:6px}::selection{background:#cbbb9e;color:#171717}.skip{position:fixed;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:30}.skip:focus{top:12px}.site-header{min-height:110px;display:flex;align-items:center;justify-content:space-between;padding:22px 5.2%;border-bottom:1px solid var(--line)}.brand{font-size:23px;letter-spacing:.18em;font-weight:500;line-height:1.25;white-space:nowrap}.brand span{font-weight:400}.brand small{display:block;letter-spacing:.23em;font-size:10px;margin-top:9px;font-weight:450}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px}.site-header nav>a{position:relative}.site-header nav>a:after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:100%;bottom:-5px;transition:right .2s}.site-header nav>a:hover:after{right:0}.nav-cta{background:var(--ink);color:var(--light);padding:14px 22px;display:flex;align-items:center;gap:33px;font-size:14px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:52% 48%;min-height:680px}.hero-copy{padding:65px 9% 32px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-label,.small-label{font-size:11px;font-weight:550;letter-spacing:.15em;line-height:1.6}.hero .eyebrow{display:flex;gap:14px;align-items:center;margin-bottom:45px}.fine-line{width:28px;height:1px;background:currentColor}.hero h1{margin-left:-4px}.hero-description{max-width:390px;margin-top:27px;font-size:17px;line-height:1.7;color:#55514b}.button{display:inline-flex;justify-content:space-between;gap:44px;align-items:center;padding:18px 25px;min-height:58px;font-size:14px;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:1}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--light)}.dark:hover{background:#36332f}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#fff}.hero .button{margin-top:33px}.hero-foot{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;padding-top:40px}.hero-foot p{font-size:10px;letter-spacing:.13em;line-height:1.9}.hero-foot p span{font-size:12px;letter-spacing:0;color:var(--muted)}.scroll-link{border:1px solid #bab2a6;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px}.hero-image{position:relative;min-height:680px;overflow:hidden;background:#886541}.hero-image>img{height:100%;position:absolute;object-fit:cover;object-position:center 57%}.hero-image figcaption{position:absolute;bottom:24px;left:25px;right:25px;color:#fff;font-size:10px;letter-spacing:.12em;display:flex;justify-content:space-between;text-shadow:0 1px 5px #000}.hero-image figcaption span{font-size:11px;letter-spacing:0}.principles{background:var(--ink);color:var(--paper);display:flex;justify-content:center;align-items:center;gap:6vw;min-height:86px;font:26px var(--serif)}.principles i{font:25px var(--sans);color:#c8b799}.section-pad{padding:110px 7.5%}.section-label{margin-bottom:48px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.intro-text{max-width:440px}.intro-text p{color:var(--muted)}.intro-text .lead{font-size:23px;line-height:1.5;letter-spacing:-.025em;color:var(--ink);margin-bottom:23px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid currentColor;padding:0 0 7px;font-size:14px;line-height:1.5}.text-link span{font-size:21px}.intro-text .text-link{margin-top:29px}.services{background:var(--light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.services-heading p{max-width:300px;color:var(--muted);margin-top:30px}.services-heading .text-link{margin-top:25px}.service-list{border-top:1px solid #a9a297}.service-list details{border-bottom:1px solid #c9c2b7}.service-list summary{display:grid;grid-template-columns:28px 1fr 18px;align-items:center;gap:20px;padding:28px 0;cursor:pointer;list-style:none}.service-list h3{font-size:24px;line-height:1.3}.service-no{font-size:11px;color:var(--muted)}summary::-webkit-details-marker{display:none}.toggle{display:block;position:relative;width:16px;height:16px;flex-shrink:0}.toggle:before,.toggle:after{content:'';position:absolute;width:14px;height:1px;background:currentColor;top:8px;left:1px}.toggle:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .toggle:after{transform:rotate(0)}.service-body{padding:0 30px 31px 48px;color:var(--muted);font-size:15px}.service-tags{font-size:10px;letter-spacing:.07em;margin-top:24px!important;color:#777065}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:13%;align-items:center}.portrait-wrap{max-width:420px}.portrait-frame{background:#f7f5f0;padding:30px 30px 0;border:1px solid var(--line);overflow:hidden}.portrait-frame img{mix-blend-mode:multiply}.portrait-caption{display:flex;justify-content:space-between;gap:18px;font-size:10px;letter-spacing:.12em;padding-top:19px}.portrait-caption span{font:italic 14px Georgia,serif;letter-spacing:0}.about-copy>.eyebrow{margin-bottom:30px}.about-copy>p:not(.eyebrow):not(.small-label){color:var(--muted);max-width:440px;margin-top:24px}.signature{font-family:var(--serif);font-style:italic;font-size:48px;margin-top:20px;transform:rotate(-6deg);display:inline-block}.small-label{font-size:9px;letter-spacing:.18em;margin-top:4px}.work{background:#e4dccf}.work-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:50px}.work-heading>p{max-width:290px;color:#5c574e}.work-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:6%;align-items:start}.comparison{position:relative;aspect-ratio:1.1;background:#a49682;overflow:hidden}.comparison>img{position:absolute;height:100%;object-fit:cover;object-position:center 52%}.before-image{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.image-label{position:absolute;top:20px;color:var(--ink);background:var(--light);padding:6px 13px;font-size:10px;letter-spacing:.14em}.before-label{left:18px}.after-label{right:18px}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;transform:translateX(-50%);pointer-events:none}.comparison-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--light);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:23px;box-shadow:0 2px 15px #0002}.comparison input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:ew-resize}.comparison:focus-within{outline:3px solid var(--ink);outline-offset:5px}.image-caption,.project-secondary figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:16px;font-size:13px}.image-caption span+span,.project-secondary figcaption span+span{font-size:9px;letter-spacing:.1em;white-space:nowrap}.project-secondary{margin-top:90px}.project-secondary img{aspect-ratio:.85;object-fit:cover}.work>.text-link{margin-top:42px}.process-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.process-heading>p{max-width:260px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:62px}.steps article{border-top:1px solid #a9a297;padding-top:22px}.steps article>span{font-size:10px;letter-spacing:.12em}.steps h3{font:36px/1.15 var(--serif);letter-spacing:-.035em;margin:30px 0 19px}.steps p{color:var(--muted);font-size:15px;max-width:290px}.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:12%}.questions .eyebrow{margin-bottom:30px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;cursor:pointer;list-style:none;font-size:17px;letter-spacing:-.015em}.faq-list p{padding:0 22px 25px 0;color:var(--muted);font-size:15px}.contact{background:var(--ink);color:var(--paper);text-align:center;padding-top:110px;padding-bottom:95px}.contact .eyebrow{color:#b8b0a3;margin-bottom:31px}.contact h2{font-size:clamp(64px,8.6vw,132px)}.contact .button{margin-top:42px}.contact-options{display:flex;gap:22px;justify-content:center;margin-top:36px;font-size:14px;color:#c9c1b5}.contact-options a:hover{color:white}footer{padding:55px 5.2% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:45px}.footer-top>p{font:24px/1.25 var(--serif);margin-left:auto;margin-right:13%}.footer-top>a:last-child{font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.footer-bottom>span:nth-child(2){letter-spacing:.09em;font-size:10px}dialog{border:0;background:var(--light);color:var(--ink);padding:45px;width:min(620px,calc(100% - 30px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#171510bb;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:16px;top:12px;font-size:30px;line-height:1;width:40px;height:40px}dialog h2{font-size:50px;margin:20px 0}dialog>p:not(.eyebrow){font-size:14px;color:var(--muted)}form{margin-top:25px}form label{display:flex;flex-direction:column;font-size:12px;gap:6px;margin-bottom:14px}form input,form select,form textarea{width:100%;border:1px solid #c9c1b4;background:transparent;border-radius:0;padding:11px;color:var(--ink);font-size:16px}form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:12px;color:var(--muted);margin-top:12px}#inquiry-status{font-size:14px;margin-top:12px}.email-fallback{font-size:14px}.email-fallback .text-link{margin:10px 20px 12px 0}.email-fallback p{font-size:13px}body.dialog-open{overflow:hidden}
@media(min-width:1500px){.hero{min-height:810px}.hero-image{min-height:810px}.hero-copy{padding-top:95px}.section-pad{padding-left:max(7.5%,calc((100vw - 1400px)/2));padding-right:max(7.5%,calc((100vw - 1400px)/2))}}
@media(max-width:1050px){.site-header{padding-inline:5%;min-height:95px}.site-header nav{gap:22px}.brand{font-size:19px}.hero-copy{padding:45px 8% 30px 9%}.hero h1{font-size:7.5vw}.hero{min-height:640px}.hero-image{min-height:640px}.hero .eyebrow{font-size:9px;margin-bottom:36px}.hero-description{font-size:16px}.section-pad{padding:80px 6%}.about{gap:8%}.service-list h3{font-size:21px}.service-list summary{gap:10px}.service-body{padding-left:38px}.steps{gap:30px}.project-secondary{margin-top:55px}.image-caption,.project-secondary figcaption{flex-direction:column;gap:4px}.portrait-caption{flex-direction:column;gap:5px}.footer-top>p{margin-right:4%}}
@media(max-width:720px){.site-header{min-height:88px;padding:18px 6%;position:relative;z-index:10}.brand{font-size:19px;letter-spacing:.12em}.brand small{font-size:8px;letter-spacing:.2em;margin-top:6px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:13px;padding:10px 0 10px 10px}.menu-toggle span{font-size:23px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 6% 28px;box-shadow:0 15px 20px #0001;align-items:stretch;gap:0}.site-header nav.open{display:flex;flex-direction:column}.site-header nav>a{padding:13px 0}.nav-cta{margin-top:10px;justify-content:space-between}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 7% 32px}.hero .eyebrow{margin-bottom:29px;font-size:9px;letter-spacing:.12em}.hero h1{font-size:clamp(60px,12.8vw,92px);line-height:1.06}.hero-description{margin-top:23px;max-width:370px;font-size:16px}.hero .button{margin-top:26px;min-height:54px}.hero-foot{padding-top:28px}.hero-image{min-height:0;height:460px}.hero-image>img{object-position:center 50%}.hero-image figcaption{bottom:19px;font-size:9px;left:20px;right:20px}.principles{min-height:64px;gap:5%;padding:15px 5%;font-size:18px}.principles i{font-size:15px}.principles span:last-child,.principles i:last-of-type{display:none}.section-pad{padding:66px 7%}.section-label{font-size:10px;margin-bottom:28px}h2{font-size:clamp(44px,9.6vw,65px)}.intro-grid,.services-grid,.about,.questions{grid-template-columns:1fr;gap:35px}.intro-text{max-width:100%}.intro-text .lead{font-size:21px}.intro-text p{font-size:16px}.services-heading h2 br:nth-child(2){display:none}.services-heading p{max-width:100%;margin-top:20px}.service-list summary{padding:24px 0;grid-template-columns:22px 1fr 18px;gap:12px}.service-list h3{font-size:21px}.service-body{padding-left:34px;padding-right:8px;font-size:16px}.service-tags{font-size:9px}.about{gap:42px}.portrait-wrap{max-width:370px;width:100%;margin:auto}.portrait-frame{padding:15px 15px 0}.portrait-caption{flex-direction:row;align-items:center}.portrait-caption span{font-size:12px}.about-copy>.eyebrow{font-size:10px;margin-bottom:24px}.work-heading,.process-heading{display:block}.work-heading>p,.process-heading>p{max-width:100%;margin-top:24px;font-size:16px}.work-heading{margin-bottom:30px}.work-grid{grid-template-columns:1fr;gap:35px}.comparison{aspect-ratio:.95}.project-secondary{margin:0 0 0 20%;}.project-secondary img{aspect-ratio:1}.image-caption,.project-secondary figcaption{flex-direction:row;font-size:12px}.image-caption span+span,.project-secondary figcaption span+span{font-size:8px}.work>.text-link{font-size:13px;gap:14px;margin-top:30px}.steps{grid-template-columns:1fr;margin-top:38px;gap:32px}.steps article{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.steps article>span{grid-column:1/-1}.steps h3{font-size:31px;margin-top:21px}.steps p{margin-top:22px;font-size:14px}.questions{gap:30px}.questions .eyebrow{font-size:9px}.faq-list summary{font-size:16px;min-height:72px}.faq-list p{font-size:15px}.contact h2{font-size:clamp(61px,12vw,86px)}.contact .eyebrow{font-size:9px}.contact-options{flex-direction:column;gap:8px;font-size:14px}.contact-options>span{display:none}.contact .button{margin-top:30px;gap:35px}.footer-top{flex-wrap:wrap;align-items:start;padding-bottom:30px}.footer-top>.brand{width:100%}.footer-top>p{font-size:22px;margin:0}.footer-top>a:last-child{margin-left:auto}.footer-bottom{flex-wrap:wrap;gap:16px;font-size:10px}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:9px}.footer-bottom>a{margin-left:auto}footer{padding:40px 7% 25px}.form-row{grid-template-columns:1fr;gap:0}dialog{padding:35px 24px}dialog h2{font-size:43px}.dialog-close{right:10px;top:10px}.button{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.laundry-project{margin-top:70px;padding-top:45px;border-top:1px solid var(--line);max-width:680px}.laundry-project h3{font:clamp(30px,3.5vw,46px)/1.15 var(--serif);margin-bottom:28px}.laundry-project .comparison{aspect-ratio:838/1028}@media(max-width:600px){.laundry-project{margin-top:45px}}

.work-grid{grid-template-columns:minmax(0,680px)}
