:root{--paper:#f1eada;--ink:#38392e;--muted:#6d6e5e;--line:#bdb8a5;--serif:'Cormorant Upright',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:300;line-height:1.8}body.dialog-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:300}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;width:100%;object-fit:cover}button{border:0}::selection{background:#b7ad91;color:#282920}.section-pad{padding-left:5%;padding-right:5%}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:400;line-height:1.8}.text-link{display:inline-flex;gap:34px;align-items:center;padding:5px 0;border-bottom:1px solid currentColor;text-transform:uppercase;font-size:11px;letter-spacing:.17em;line-height:1.7}.text-link span{font-size:20px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.skip-link{position:fixed;z-index:100;left:20px;top:-100px;padding:12px 20px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:20px}.header{position:absolute;z-index:20;top:0;left:0;width:100%;height:114px;padding:22px 4%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--paper)}.desktop-nav{display:flex;gap:28px}.desktop-nav a,.header-estimate{font-size:9px;letter-spacing:.13em;text-transform:uppercase}.desktop-nav a:hover,.header-estimate:hover{text-decoration:underline;text-underline-offset:5px}.wordmark{text-align:center;display:flex;flex-direction:column;line-height:1.15}.wordmark>span{font-size:38px;font-weight:400;letter-spacing:.34em;padding-left:.34em}.wordmark small{font-size:8px;letter-spacing:.35em;margin-top:8px}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:35px}.header-estimate span{font-size:15px;margin-left:10px}.menu-toggle{width:44px;height:44px;background:none;padding:10px 0;display:flex;flex-direction:column;justify-content:center;gap:9px}.menu-toggle span{height:1px;width:34px;background:currentColor;display:block}.hero{height:100svh;min-height:650px;max-height:1150px;position:relative;display:flex;align-items:center;justify-content:center;color:var(--paper);isolation:isolate}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:center 58%}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(29,25,20,.35),rgba(29,25,20,.25) 35%,rgba(29,25,20,.36) 75%,rgba(29,25,20,.5))}.hero-copy{text-align:center;padding:110px 20px 60px}.hero-copy .eyebrow{font-size:12px;margin-bottom:25px}.hero h1{font-family:var(--serif);text-transform:uppercase;font-size:clamp(66px,6.6vw,110px);line-height:.88;letter-spacing:-.045em}.hero .text-link{margin-top:38px;gap:22px;font-size:11px}.hero-foot{position:absolute;bottom:30px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.hero-foot a{display:flex;align-items:center;gap:16px}.hero-foot a span{font-size:20px}.intro{padding-top:108px;padding-bottom:110px;text-align:center}.intro h2{font-family:var(--serif);font-size:clamp(40px,4.5vw,70px);line-height:1.05;letter-spacing:-.04em;margin-top:22px}.intro h2 em{font-weight:300}.intro-text{margin:28px auto 0;color:var(--muted);max-width:700px;font-size:13px;line-height:2}.photo-composition{margin-top:85px;display:grid;grid-template-columns:1fr 1.13fr 1fr;gap:5%;align-items:start;text-align:left;padding:0 3%}.photo-composition figure{min-width:0}.photo-composition img{transition:filter .3s}.photo-composition figcaption{font-size:10px;color:var(--muted);margin-top:12px}.composition-left{padding-top:95px}.composition-left img{aspect-ratio:3/4;object-position:45% center}.composition-center{padding-top:220px}.composition-center img{aspect-ratio:1.15}.composition-right img{aspect-ratio:3/4}.intro-end{margin:90px auto 0;max-width:1100px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:5%;text-align:left;align-items:start}.intro-end>p:nth-child(2){color:var(--muted);font-size:12px;line-height:2}.intro-end>.text-link{justify-self:end;white-space:nowrap}.services{padding-top:95px;padding-bottom:110px;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:5%;align-items:end;margin-bottom:70px}.section-heading .eyebrow{align-self:start;padding-top:12px}.section-heading h2{font-family:var(--serif);font-size:clamp(66px,7.1vw,118px);letter-spacing:-.05em;line-height:.9;text-transform:uppercase}.section-heading>p:last-child{font-size:12px;color:var(--muted);line-height:1.9}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:flex;align-items:center;gap:28px;list-style:none;padding:26px 0;cursor:pointer}.service summary::-webkit-details-marker{display:none}.index{font-size:10px;letter-spacing:.08em;flex-shrink:0}.service h3{font-family:var(--serif);font-size:clamp(29px,3.4vw,50px);line-height:1.1;letter-spacing:-.035em}.service-symbol{position:relative;width:24px;height:24px;margin-left:auto}.service-symbol:before,.service-symbol:after{content:'';position:absolute;top:11px;left:3px;background:var(--ink);width:18px;height:1px}.service-symbol:after{transform:rotate(90deg);transition:transform .25s}.service[open] .service-symbol:after{transform:rotate(0)}.service-body{padding:7px 0 40px 44px;display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}.service-body>img{aspect-ratio:1.65;max-height:380px}.service-body>div{max-width:430px}.service-body p{color:var(--muted);font-size:13px;line-height:2}.service-body ul{padding:0;list-style:none;font-size:11px;line-height:2.1;margin:20px 0 26px}.service-body li:before{content:'—';margin-right:12px;color:var(--muted)}.work{padding-top:80px;padding-bottom:105px;background:#e6dfce}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:48px}.work h2{font-family:var(--serif);font-size:clamp(50px,7vw,105px);line-height:1.1;letter-spacing:-.04em;margin-top:12px}.work-heading>p{font-size:12px;line-height:1.9;padding-bottom:10px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 35px}.project-card{display:block;text-align:left;padding:0;background:transparent}.project-photo{display:block;position:relative;overflow:hidden}.project-photo>img{aspect-ratio:1.25;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.project-card:hover .project-photo>img{transform:scale(1.035)}.project-open{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s;z-index:1}.project-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#15151088);opacity:0;transition:opacity .25s}.project-card:hover .project-open,.project-card:focus-visible .project-open{opacity:1;transform:none}.project-card:hover .project-photo:after,.project-card:focus-visible .project-photo:after{opacity:1}.project-meta{display:flex;gap:20px;align-items:start;padding-top:17px;line-height:1.5;text-transform:uppercase;letter-spacing:.11em;font-size:11px}.project-meta .index{padding-top:1px}.project-meta small{display:block;font-size:9px;text-transform:none;letter-spacing:.03em;margin-top:6px;color:var(--muted)}.project-meta>span:last-child{margin-left:auto;font-size:21px;line-height:1}.project-card.wide{grid-column:1/-1;width:70%;margin:10px auto 0}.project-card.wide .project-photo>img{aspect-ratio:1.6;object-position:center 56%}.work-note{text-align:center;font-size:10px;color:var(--muted);margin-top:35px}.process{display:grid;grid-template-columns:1fr 1fr}.process-photo{min-height:710px}.process-photo img{height:100%;object-position:center}.process-copy{padding:84px 12%}.process h2{font-family:var(--serif);font-size:clamp(50px,5vw,80px);line-height:.95;letter-spacing:-.04em;margin-top:22px}.process ol{padding:0;list-style:none;margin:36px 0}.process li{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.process li .index{padding-top:6px}.process li h3{font-family:var(--serif);font-size:27px;line-height:1.25;letter-spacing:-.03em}.process li p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:8px}.areas{text-align:center;padding-top:105px;padding-bottom:105px;border-bottom:1px solid var(--line)}.areas h2{font-family:var(--serif);font-size:clamp(46px,5.5vw,80px);line-height:1;letter-spacing:-.04em;margin:20px 0 28px}.areas>p:last-child{font-size:11px;line-height:2.2;color:var(--muted)}.contact{padding-top:105px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:13%;background:#3a3d32;color:var(--paper)}.contact h2{font-family:var(--serif);font-size:clamp(60px,7vw,110px);line-height:.94;letter-spacing:-.045em;margin:22px 0 30px}.contact-copy>p:not(.eyebrow){font-size:12px;line-height:2;color:#d1cebe}.contact-direct{display:flex;flex-direction:column;align-items:start;gap:13px;margin-top:35px}.contact-direct a{border-bottom:1px solid #8a8e79;font-size:12px;padding-bottom:5px}.contact-direct span{margin-left:25px}.estimate-form{padding-top:10px}.estimate-form h3{font-family:var(--serif);font-size:34px;line-height:1.3;letter-spacing:-.02em}.estimate-form>p{font-size:11px;color:#d1cebe;margin:9px 0 33px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.estimate-form label{display:flex;flex-direction:column;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:26px;gap:9px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #8a8e79;border-radius:0;background:transparent;color:var(--paper);font-size:12px;font-weight:300;padding:9px 0 13px;outline-offset:3px;letter-spacing:0;text-transform:none}.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#babfae}.estimate-form select{color:var(--paper);appearance:auto}.estimate-form select option{background:#3a3d32;color:var(--paper)}.estimate-form textarea{resize:vertical;min-height:90px}.submit-button{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);color:var(--ink);padding:17px 20px;letter-spacing:.13em;font-size:10px;text-transform:uppercase;transition:background .2s}.submit-button:hover{background:#ded6c0}.submit-button span{font-size:22px;line-height:1}.estimate-form>.form-help{font-size:9px;line-height:1.7;margin:12px 0}.email-fallback{padding:16px;border:1px solid #8a8e79;margin-top:18px;font-size:11px}.email-fallback a{text-decoration:underline}.email-fallback button{background:transparent;border-bottom:1px solid currentColor;padding:6px 0;margin-top:8px;font-size:10px}.footer{padding-top:65px;padding-bottom:25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:start}.footer-brand{font-size:55px;letter-spacing:.25em;line-height:1}.footer-brand>span{display:block;font-size:9px;letter-spacing:.3em;margin-top:13px}.footer-top>p{font-size:11px;color:var(--muted);line-height:2}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;justify-self:end;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.footer-top nav a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:60px;padding-top:22px;font-size:9px;color:var(--muted)}dialog{border:0;padding:0;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#17180fc4;backdrop-filter:blur(4px)}.close-button{position:absolute;right:25px;top:20px;width:44px;height:44px;background:var(--paper);font-size:24px;z-index:2;line-height:1}.menu-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:40px 8% 50px}.menu-brand{font-size:15px;letter-spacing:.25em}.menu-dialog nav{display:flex;flex-direction:column;gap:0;max-width:850px;margin:65px auto 45px}.menu-dialog nav a{font-family:var(--serif);font-size:clamp(45px,7vw,90px);line-height:1.3;letter-spacing:-.04em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.menu-dialog nav small{font-family:var(--sans);font-size:11px;letter-spacing:.1em}.menu-dialog nav a:hover{color:#77755c}.menu-phone{font-size:16px;border-bottom:1px solid currentColor}.menu-dialog>p{font-size:11px;margin-top:16px;line-height:2;color:var(--muted)}.project-dialog{width:min(1000px,94vw);max-height:94svh;padding:38px 40px;overflow-y:auto}.project-dialog-heading{padding-right:45px}.project-dialog-heading h2{font-family:var(--serif);font-size:clamp(32px,4vw,50px);line-height:1.1;margin:10px 0 12px;letter-spacing:-.035em}.project-dialog-heading>p:last-child{font-size:12px;color:var(--muted);max-width:700px;line-height:1.9}.comparison{position:relative;width:100%;aspect-ratio:1.8;margin-top:25px;overflow:hidden;--split:50%}.comparison>img{height:100%;width:100%}.before-image{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.before-image img{width:100%;height:100%}.comparison-line{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:#fff;pointer-events:none;transform:translateX(-1px)}.comparison-line span{display:grid;place-items:center;position:absolute;left:50%;top:50%;width:42px;height:42px;border:1px solid #fff;background:#f1eadaee;color:var(--ink);font-size:25px;border-radius:50%;transform:translate(-50%,-50%)}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.comparison:focus-within{outline:2px solid var(--ink);outline-offset:4px}.comparison-label{position:absolute;top:15px;background:#25271fcc;color:var(--paper);padding:4px 9px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;pointer-events:none}.before-label{left:15px}.after-label{right:15px}.comparison-help{font-size:10px;margin:12px 0 22px;color:var(--muted)}
@media(min-width:1600px){.section-pad{padding-left:max(5%,calc((100% - 1450px)/2));padding-right:max(5%,calc((100% - 1450px)/2))}}
@media(max-width:1050px){.desktop-nav{gap:17px}.header-estimate{display:none}.section-heading{grid-template-columns:.65fr 1.8fr 1fr;gap:3%}.intro-end{grid-template-columns:1fr 2fr}.intro-end>.text-link{grid-column:2;justify-self:start}.process-copy{padding:60px 10%}.process-photo{min-height:650px}.contact{gap:8%}.photo-composition{gap:4%}.composition-center{padding-top:155px}.composition-left{padding-top:70px}}
@media(max-width:700px){html{scroll-padding-top:18px}.section-pad{padding-left:6%;padding-right:6%}.header{height:92px;padding:18px 6%;grid-template-columns:1fr auto 1fr}.desktop-nav{display:none}.wordmark{grid-column:2}.wordmark>span{font-size:29px}.wordmark small{font-size:6px}.header-right{grid-column:3}.menu-toggle{width:32px}.menu-toggle span{width:29px}.hero{min-height:620px;max-height:920px}.hero h1{font-size:clamp(48px,10.9vw,75px);line-height:.95}.hero-copy{padding:90px 18px 55px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:23px}.hero .text-link{font-size:9px;margin-top:30px}.hero-foot{left:6%;right:6%;bottom:25px;font-size:7px;letter-spacing:.1em}.hero-foot>a{display:none}.hero-image{object-position:45% center}.intro{padding-top:68px;padding-bottom:65px}.eyebrow{font-size:9px}.intro h2{font-size:39px;margin-top:20px}.intro-text{font-size:11px;margin-top:24px;line-height:2}.desktop-break{display:none}.photo-composition{margin-top:45px;grid-template-columns:1fr 1fr;gap:6%;padding:0}.composition-left{padding-top:52px}.composition-center{grid-column:1/3;grid-row:2;padding-top:25px;width:70%;margin:0 auto}.composition-right{grid-column:2;grid-row:1}.composition-right img{aspect-ratio:3/4}.photo-composition figcaption{font-size:8px;line-height:1.7;margin-top:8px}.intro-end{margin-top:45px;grid-template-columns:1fr;gap:20px}.intro-end>p:nth-child(2){font-size:11px}.intro-end>.text-link{grid-column:1;margin-top:5px}.text-link{font-size:9px;gap:25px}.services{padding-top:60px;padding-bottom:60px}.section-heading{grid-template-columns:1fr;margin-bottom:35px;gap:20px}.section-heading .eyebrow{padding-top:0}.section-heading h2{font-size:60px}.section-heading>p:last-child{font-size:11px}.service summary{gap:17px;padding:23px 0}.service h3{font-size:29px}.service-symbol{width:20px;flex-shrink:0}.service-body{padding:0 0 30px;grid-template-columns:1fr;gap:22px}.service-body>img{aspect-ratio:1.45}.service-body p{font-size:12px}.service-body ul{font-size:10px;margin:15px 0 20px}.work{padding-top:55px;padding-bottom:60px}.work-heading{display:block;margin-bottom:30px}.work h2{font-size:49px;letter-spacing:-.045em}.work-heading>p{font-size:11px;margin-top:16px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card.wide{grid-column:1;width:100%;margin:0}.project-card.wide .project-photo>img{aspect-ratio:1.25}.project-meta{font-size:9px;gap:15px;padding-top:12px;letter-spacing:.07em}.project-meta small{font-size:8px}.project-open{opacity:1;transform:none;left:15px;bottom:15px;right:15px;font-size:8px}.project-photo:after{opacity:1}.work-note{font-size:9px;margin-top:25px}.process{grid-template-columns:1fr}.process-photo{height:440px;min-height:0}.process-photo img{object-position:center 46%}.process-copy{padding:55px 6% 60px}.process h2{font-size:55px}.process ol{margin:22px 0 27px}.process li h3{font-size:27px}.process li p{font-size:11px}.areas{padding-top:65px;padding-bottom:65px}.areas h2{font-size:48px}.areas>p:last-child{font-size:10px;max-width:330px;margin:auto}.contact{padding-top:65px;padding-bottom:65px;grid-template-columns:1fr;gap:50px}.contact h2{font-size:76px}.contact-copy>p:not(.eyebrow){font-size:11px}.contact-direct a{font-size:11px}.estimate-form h3{font-size:32px}.estimate-form>p{margin-bottom:25px}.estimate-form label{font-size:8px}.form-grid{gap:0 20px}.estimate-form input,.estimate-form select,.estimate-form textarea{font-size:16px}.footer{padding-top:45px;padding-bottom:24px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{font-size:44px}.footer-brand>span{font-size:7px}.footer-top>p{font-size:10px}.footer-top nav{grid-column:1/-1;justify-self:stretch;grid-template-columns:repeat(4,1fr);font-size:8px;gap:15px}.footer-bottom{flex-wrap:wrap;row-gap:12px;font-size:8px;margin-top:35px}.footer-bottom>span:nth-child(2){display:none}.menu-dialog{padding:30px 7%}.menu-dialog nav{margin:70px auto 35px}.menu-dialog nav a{font-size:57px;padding:6px 0}.menu-brand{font-size:11px}.close-button{right:15px;top:15px}.project-dialog{padding:28px 20px;width:96vw}.project-dialog-heading{padding-right:28px}.project-dialog-heading h2{font-size:34px}.project-dialog-heading>p:last-child{font-size:11px}.project-dialog .close-button{right:8px;top:8px;width:36px;height:36px;font-size:20px}.comparison{aspect-ratio:1.15;margin-top:20px}.comparison-label{font-size:8px;top:10px}.before-label{left:10px}.after-label{right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
