:root{--paper:#f1eee7;--ink:#1d1d1b;--muted:#6d6a63;--line:#c9c4ba;--dark:#20211e;--white:#faf8f2;--accent:#aa8b67}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin-top:0}
.site-header{height:86px;padding:0 3.5vw;display:flex;align-items:center;gap:36px;position:absolute;z-index:5;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}
.brand{font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.05em;font-size:1.45rem;white-space:nowrap}
.site-header .brand{font-size:1.67rem}
.brand span{font-weight:400}
.header-logo{display:block;width:clamp(168px,13vw,205px);height:auto;flex:0 0 auto}
.header-logo img{width:100%;height:auto;object-fit:contain}
.site-header nav{display:flex;gap:27px;margin-left:auto;font-size:1.01rem}
.site-header nav a{opacity:.82}
.site-header nav a:hover{opacity:1}
.header-cta{border:1px solid rgba(255,255,255,.6);padding:15px 25px;font-size:.9rem;white-space:nowrap}
.mobile-nav-cta{display:none}
.menu{display:none;background:none;border:0}
.hero{height:100svh;min-height:650px;position:relative;color:#fff}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,10,.67),rgba(12,12,10,.06) 65%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}
.hero-content{position:absolute;left:8vw;bottom:13vh;max-width:min(920px,84vw)}
.eyebrow,.section-no{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:500}
.light{color:rgba(255,255,255,.76)}
h1{font-family:Manrope,sans-serif;font-size:clamp(3.3rem,6.35vw,7rem);line-height:.95;letter-spacing:-.06em;font-weight:400;margin:18px 0 25px;text-wrap:balance}
.hero-content>p:not(.eyebrow){max-width:600px;font-size:1.16rem;font-weight:300}
.actions{display:flex;align-items:center;gap:34px;margin-top:38px}
.button{display:inline-flex;padding:16px 25px;border:1px solid}
.light-button{background:var(--white);color:var(--ink);border-color:var(--white);font-weight:500}
.text-link{font-size:.87rem;border-bottom:1px solid;padding-bottom:4px}
.text-link span{margin-left:8px}
.scroll{position:absolute;right:3.5vw;bottom:26px;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;writing-mode:vertical-rl}
.intro{padding:145px 8vw;display:grid;grid-template-columns:1fr 3fr;gap:4vw}
.section-no{color:var(--muted)}
h2{font-family:Manrope,sans-serif;font-size:clamp(2.7rem,5.2vw,5.7rem);line-height:1.02;letter-spacing:-.06em;font-weight:400}
.intro h2{max-width:1050px}
.intro-copy{max-width:590px;margin:55px 0 0 auto;color:#4e4c47;font-size:1.12rem}
.intro-copy p:last-child{margin-bottom:0}
.projects{padding:60px 3.5vw 160px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;padding:0 4.5vw 75px}
.section-head h2{margin-bottom:0}
.project-list{display:flex;flex-direction:column;gap:130px}
.projects-all-link{display:inline-block;margin:95px 0 0 4.5vw;border-bottom:1px solid;padding-bottom:5px;font-size:.9rem}
.project-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:7vw;align-items:center;margin-right:5vw}
.project-row.reverse{grid-template-columns:minmax(260px,.65fr) minmax(0,1.65fr);margin-right:0;margin-left:5vw}
.project-row.reverse .project-image{order:2}
.project-image{height:min(63vw,850px);overflow:hidden}
.project-image img{transition:transform .8s ease}
.project-row:hover img{transform:scale(1.018)}
.project-row:nth-child(even) .project-image{height:min(54vw,760px)}
.project-image.crop-detail img{object-position:center}
.project-copy{max-width:390px}
.project-copy>span{font-size:.7rem;color:var(--muted);letter-spacing:.14em}
.project-kind{font:400 clamp(1.7rem,2.6vw,2.8rem)/1.08 Manrope;margin:30px 0 18px}
.project-copy>p:not(.project-kind){color:var(--muted);margin-bottom:30px}
.project-copy a{font-size:.86rem;border-bottom:1px solid;padding-bottom:4px}
.offer{background:var(--dark);color:var(--white);padding:140px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}
.offer-heading{position:sticky;top:80px;align-self:start}
.offer-heading h2{font-size:clamp(3rem,4.8vw,5.2rem);max-width:680px}
.offer-list article{display:grid;grid-template-columns:55px minmax(170px,.75fr) 1.2fr;gap:24px;border-top:1px solid #555650;padding:26px 0}
.offer-list article:last-of-type{border-bottom:1px solid #555650}
.offer-list article>span{font-size:.69rem;color:#92938d}
.offer-list h3{font:400 clamp(1.2rem,1.5vw,1.55rem) Manrope;margin:0}
.offer-list p{color:#adaea8;font-size:.91rem;margin:0}
.offer-cta{display:inline-block;margin-top:38px;border-bottom:1px solid #777872;padding-bottom:5px;font-size:.9rem}
.visual-break{height:100vh;margin:0;position:relative}
.visual-break figcaption{position:absolute;bottom:35px;left:3.5vw;color:#fff;font-size:.8rem}
.process{padding:145px 3.5vw}
.process ol{list-style:none;padding:0 4.5vw;margin:40px 0 0;display:grid;grid-template-columns:repeat(5,1fr)}
.process li{border-top:1px solid var(--line);padding:18px 25px 45px 0;min-height:240px}
.process li span{font-size:.69rem;color:var(--muted)}
.process li h3{font:400 1.35rem Manrope;margin:50px 0 10px}
.process li p{font-size:.88rem;color:var(--muted);max-width:195px}
.trust{background:#d8d1c5;padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}
.trust h2{font-size:clamp(3rem,4.7vw,5.1rem);max-width:720px}
.trust-list article{border-top:1px solid #aaa397;padding:22px 0 28px}
.trust-list article:last-child{border-bottom:1px solid #aaa397}
.trust-list h3{margin:0 0 10px;font:400 clamp(1.1rem,1.7vw,1.45rem) Manrope}
.trust-list p{max-width:570px;margin:0;color:#625e56;font-size:.92rem}
.contact{background:var(--dark);color:var(--white);display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding:130px 8vw}
.contact-intro>p:not(.section-no){max-width:470px;font-size:1.05rem;color:#b7b7b1}
.contact-panel{font-style:normal;padding-top:24px}
.contact-line{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:25px;align-items:baseline;border-top:1px solid #555650;padding:27px 0}
.contact-line:last-child{border-bottom:1px solid #555650}
.contact-line>span{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:#92938d}
.contact-line>a:not(.contact-action),.contact-line>p{font:400 clamp(1.25rem,2vw,2rem)/1.25 Manrope;margin:0;color:var(--white)}
.contact-line>a:not(.contact-action){width:max-content;max-width:100%;border-bottom:1px solid transparent}
.contact-line>a:not(.contact-action):hover{border-bottom-color:#777872}
.contact-action{font-size:.78rem;border-bottom:1px solid #777872;padding-bottom:3px;color:#c8c5bc;white-space:nowrap}
footer{background:#181916;color:#dbd9d2;padding:62px 3.5vw 30px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;border-top:1px solid #3b3c38;font-size:.82rem}
footer nav,footer .footer-details{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.footer-details strong{color:#dbd9d2;font-weight:500}
.footer-details .privacy-placeholder{margin-top:14px;color:#8f908a}
.footer-brand p{color:#8f908a;margin-top:15px}
.footer-details p{color:#8f908a}
.copyright{grid-column:3;margin-top:40px;color:#777872}
.menu:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portfolio-index-page .site-header,.project-page .site-header{position:absolute}
.portfolio-index-hero{background:var(--dark);color:var(--white);padding:210px 8vw 115px}
.portfolio-index-hero h1{max-width:1050px;margin:18px 0 0}
.portfolio-index-list{padding:130px 3.5vw 160px}
.portfolio-index-item{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:7vw;align-items:center;margin:0 5vw 130px 0}
.portfolio-index-item:nth-child(even){grid-template-columns:minmax(260px,.65fr) minmax(0,1.65fr);margin-right:0;margin-left:5vw}
.portfolio-index-item:nth-child(even) .portfolio-index-image{order:2}
.portfolio-index-image{height:min(60vw,820px);overflow:hidden}
.portfolio-index-item:nth-child(even) .portfolio-index-image{height:min(52vw,740px)}
.portfolio-index-copy{max-width:410px}
.portfolio-index-copy>span{font-size:.7rem;color:var(--muted);letter-spacing:.14em}
.portfolio-index-copy h2{font-size:clamp(1.9rem,3vw,3.2rem);margin:28px 0 18px}
.portfolio-index-copy p{color:var(--muted);margin-bottom:30px}
.portfolio-index-copy .text-link{font-size:.86rem}
.project-hero{height:100svh;min-height:620px;margin:0;position:relative}
.project-hero img{object-fit:cover}
.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.34),transparent 35%)}
.project-intro-detail{padding:135px 8vw 115px;display:grid;grid-template-columns:1fr 3fr;gap:4vw}
.project-intro-detail h1{font-size:clamp(3rem,6vw,6.5rem);margin:0 0 38px;color:var(--ink)}
.project-intro-copy{max-width:650px;font-size:1.12rem;color:#4e4c47}
.project-gallery{padding:0 3.5vw}
.project-gallery:empty{display:none}
.gallery-wide{height:min(68vw,900px);margin:0 0 5vw}
.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:3.5vw;margin-bottom:5vw}
.gallery-pair figure{height:min(54vw,720px);margin:0}
.gallery-detail{width:68%;height:min(58vw,760px);margin:0 0 5vw auto}
.gallery-portrait{width:min(62%,900px);height:auto}
.gallery-portrait img{height:auto;object-fit:contain}
.kitchen-gallery figure{height:auto}
.kitchen-gallery figure img{height:auto;object-fit:contain}
.kitchen-gallery .gallery-pair{align-items:start}
.project-notes{padding:100px 8vw 130px;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}
.project-notes[hidden]{display:none}
.project-notes article{border-top:1px solid var(--line);padding-top:22px}
.project-notes h2{font-size:1.4rem;letter-spacing:-.03em}
.project-notes p{color:var(--muted)}
.project-cta{background:var(--dark);color:var(--white);padding:120px 8vw;text-align:center}
.project-cta h2{max-width:1000px;margin:0 auto 28px}
.project-cta p{max-width:660px;margin:0 auto 34px;color:#b7b7b1;font-size:1.05rem}
.project-cta .button{border-color:#777872}
.project-pagination{display:grid;grid-template-columns:1fr 1fr;background:#181916;color:#dbd9d2;border-top:1px solid #3b3c38}
.project-pagination a{padding:42px 5vw;display:flex;flex-direction:column;gap:8px}
.project-pagination a+ a{border-left:1px solid #3b3c38;text-align:right;align-items:flex-end}
.project-pagination span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#777872}
.project-pagination strong{font:400 clamp(1.2rem,2vw,1.8rem) Manrope}
@media(max-width:1050px){.site-header{gap:22px}.site-header nav{gap:18px;font-size:.95rem}.header-cta{padding:14px 19px}.offer{grid-template-columns:1fr;gap:50px}.offer-heading{position:static}.offer-heading h2{max-width:780px}}
@media(max-width:900px){.site-header{height:70px;padding:0 5vw}.site-header nav,.header-cta{display:none}.header-logo{width:166px}.menu{display:block;margin-left:auto;padding:12px}.menu span{display:block;width:25px;height:1px;background:#fff;margin:6px}.site-header.open{background:var(--dark)}.site-header.open nav{display:flex;position:absolute;top:70px;left:0;width:100%;background:var(--dark);padding:32px 5vw 38px;flex-direction:column;align-items:flex-start;gap:22px;font-size:1rem}.site-header.open nav .mobile-nav-cta{display:inline-flex;margin-top:8px;border:1px solid rgba(255,255,255,.55);padding:13px 18px}.hero-content{left:5vw;right:5vw;bottom:11vh;max-width:90vw}.hero-content>p:not(.eyebrow){font-size:1rem}.scroll{display:none}.intro{padding:95px 5vw;display:block}.intro-copy{margin:35px 0 0}.section-head{padding:0 1.5vw 52px;display:block}.projects{padding:40px 3.5vw 100px}.project-list{gap:82px}.projects-all-link{margin:65px 0 0 1.5vw}.project-row,.project-row.reverse{grid-template-columns:1fr;gap:28px;margin:0}.project-row.reverse .project-image{order:0}.project-image,.project-row:nth-child(even) .project-image{height:82vw}.project-copy{max-width:620px;padding:0 1.5vw}.project-kind{margin-top:18px}.offer{padding:95px 6vw}.offer-list article{grid-template-columns:45px minmax(170px,.8fr) 1.2fr}.visual-break{height:75vh}.process{padding:95px 5vw}.process .section-head{padding:0}.process ol{padding:0;margin-top:45px;grid-template-columns:1fr 1fr}.trust{padding:90px 5vw;grid-template-columns:1fr;gap:35px}.contact{grid-template-columns:1fr;padding:90px 5vw;gap:55px}footer{grid-template-columns:1fr 1fr}.copyright{grid-column:2;margin-top:20px}.portfolio-index-hero{padding:155px 5vw 85px}.portfolio-index-list{padding:90px 3.5vw}.portfolio-index-item,.portfolio-index-item:nth-child(even){grid-template-columns:1fr;gap:28px;margin:0 0 82px}.portfolio-index-item:nth-child(even) .portfolio-index-image{order:0}.portfolio-index-image,.portfolio-index-item:nth-child(even) .portfolio-index-image{height:82vw}.portfolio-index-copy{padding:0 1.5vw;max-width:620px}.project-intro-detail{padding:95px 5vw;display:block}.project-intro-detail .section-no{margin-bottom:28px}.project-gallery{padding:0 5vw}.gallery-wide,.gallery-pair figure,.gallery-detail{height:82vw;width:100%}.gallery-pair{grid-template-columns:1fr}.gallery-portrait,.gallery-portrait img,.kitchen-gallery .gallery-wide,.kitchen-gallery .gallery-pair figure{height:auto}.project-notes{padding:80px 5vw;grid-template-columns:1fr}.project-cta{padding:90px 5vw}}
@media(max-width:560px){.site-header .brand{font-size:1.5rem}.site-header .header-logo{width:150px}h1{font-size:clamp(2.55rem,12vw,3.35rem);line-height:.98;letter-spacing:-.055em}.hero{min-height:620px}.hero-content{bottom:8vh}.eyebrow{font-size:.64rem}.actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}.light-button{padding:14px 20px}.intro h2,h2{font-size:2.65rem}.intro,.process{padding-top:80px;padding-bottom:80px}.projects{padding-bottom:85px}.project-list{gap:65px}.project-image,.project-row:nth-child(even) .project-image{height:108vw}.offer{padding:80px 5vw}.offer-heading h2{font-size:2.75rem}.offer-list article{grid-template-columns:32px 1fr;gap:10px 14px;padding:23px 0}.offer-list article p{grid-column:2}.process ol{grid-template-columns:1fr}.process li{min-height:0;padding-bottom:30px}.process li h3{margin-top:25px}.trust{padding:75px 5vw}.trust h2{font-size:2.65rem}.contact{padding:80px 5vw 90px;gap:38px}.contact h2{font-size:2.8rem}.contact-line{grid-template-columns:1fr;gap:9px;padding:24px 0}.contact-line>a:not(.contact-action),.contact-line>p{font-size:1.35rem}.contact-action{margin-top:6px;width:max-content}footer{grid-template-columns:1fr;gap:25px}.copyright{grid-column:1;margin-top:12px}.project-pagination{grid-template-columns:1fr}.project-pagination a+ a{border-left:0;border-top:1px solid #3b3c38}}
