:root{--ink:#11110f;--paper:#f2eee5;--warm:#d8cbb8;--oxide:#8d4b35;--sage:#75806b;--white:#fff;--line:rgba(17,17,15,.16);--max:1280px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(rgba(17,17,15,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,15,.025) 1px,transparent 1px);background-size:48px 48px}
img{display:block;width:100%;object-fit:cover}
a,button{touch-action:manipulation}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px}
.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px max(24px,calc((100vw - var(--max))/2));background:rgba(242,238,229,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-width:0}
.brand-mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--ink);font-family:Georgia,serif;font-style:italic;font-weight:700}
.brand span:last-child{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand strong{text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.brand small{text-transform:uppercase;letter-spacing:.18em;font-size:8px;margin-top:5px}
.site-header nav{display:flex;align-items:center;gap:24px}
.site-header nav a{color:var(--ink);text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.nav-cta{padding:11px 16px;border:1px solid var(--ink)}
.menu{display:none;background:none;border:0;font:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}
.hero,.page-hero,.project-path,.split,.service-ledger,.gallery,.showroom-grid,.contact-grid,.cta,.statement,.work-board{width:min(calc(100% - 48px),var(--max));margin:auto}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:54px;padding:56px 0}
.hero-copy{min-width:0}
.hero-copy h1,.page-hero h1,.project-path h2,.split h2,.statement h2,.cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;line-height:.92;margin:0}
.hero-copy h1{font-size:clamp(64px,8.4vw,126px)}
.hero-copy h1 em{color:var(--oxide);font-weight:400}
.hero-copy>p:not(.eyebrow){font-size:19px;max-width:650px}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:800;margin:0 0 22px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.button{display:inline-flex;min-height:48px;padding:0 20px;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;text-align:center}
.primary{background:var(--ink);color:#fff}
.secondary{border:1px solid var(--ink);color:var(--ink)}
.light{background:#fff;color:var(--ink)}
.proof{display:flex;gap:20px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid var(--line)}
.proof span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.material-hero{position:relative;min-height:min(72vh,740px);overflow:hidden;background:linear-gradient(145deg,#26241f 0 43%,#8d4b35 43% 62%,#d8cbb8 62% 82%,#75806b 82%);color:#fff;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.material-hero:before,.material-hero:after{content:"";position:absolute;pointer-events:none;z-index:-1}
.material-hero:before{inset:24px;border:1px solid rgba(255,255,255,.38);background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.18) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(255,255,255,.18) 50%,transparent 50.2%);background-size:96px 96px}
.material-hero:after{width:42%;aspect-ratio:1;right:-7%;top:9%;border:1px solid rgba(255,255,255,.5);border-radius:50%}
.material-hero-grid{position:absolute;top:38px;left:38px;right:38px;display:flex;justify-content:space-between;gap:14px;font-size:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:800}
.material-hero strong{font:400 clamp(58px,7vw,108px)/.82 Georgia,serif;letter-spacing:-.06em;max-width:620px}
.material-hero small{margin-top:22px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:800}
.project-path{padding:110px 0}
.project-path h2,.split h2,.cta h2{font-size:clamp(46px,6vw,78px)}
.path-grid{margin-top:44px;border-top:1px solid var(--line)}
.path-grid a{display:grid;grid-template-columns:.6fr 1fr;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.path-grid span{font-family:Georgia,serif;font-size:34px}
.path-grid b{align-self:center;font-size:13px}
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;padding:90px 0}
.split>*,.service-ledger article>*,.contact-grid>*{min-width:0}
.split p:not(.eyebrow){font-size:18px}
.material-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.material-tile{position:relative;min-height:500px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid var(--line)}
.material-tile:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.38);pointer-events:none}
.material-tile--vanity{background:linear-gradient(160deg,#75806b 0 52%,#d8cbb8 52%);color:#fff}
.material-tile--floor{min-height:360px;margin-top:80px;background:repeating-linear-gradient(135deg,#26241f 0 24px,#332f29 24px 48px);color:#fff}
.material-tile span{font:400 clamp(44px,5vw,72px)/.9 Georgia,serif;letter-spacing:-.05em}
.material-tile strong{margin-top:12px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.material-tile small{margin-top:6px;color:rgba(255,255,255,.78)}
.text-link{color:var(--ink);font-weight:800}
.dark{background:#151512;color:#fff}
.statement{width:100%;max-width:none;padding:110px max(24px,calc((100vw - var(--max))/2))}
.statement h2{font-size:clamp(52px,7vw,96px);max-width:900px}
.statement p:not(.eyebrow){max-width:760px;font-size:19px;color:rgba(255,255,255,.72)}
.cta{padding:100px 0}
.cta p{max-width:760px;font-size:18px}
.page-hero{padding:100px 0 70px}
.page-hero h1{font-size:clamp(58px,8vw,110px);max-width:1050px}
.page-hero>p:last-child{font-size:19px;max-width:800px}
.service-ledger{padding:30px 0 90px}
.service-ledger article{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;padding:40px 0;border-top:1px solid var(--line);align-items:center}
.service-ledger article:nth-child(even){grid-template-columns:1.2fr .8fr}
.service-ledger article:nth-child(even) div:first-child{order:2}
.service-ledger article:nth-child(even) .project-visual{order:1}
.service-ledger h2{font:400 clamp(40px,5vw,68px)/1 Georgia,serif;margin:8px 0 16px}
.service-ledger>article>div:first-child>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.project-visual{position:relative;height:410px;padding:28px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;border:1px solid rgba(17,17,15,.12);isolation:isolate}
.project-visual:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.34);z-index:-1}
.project-visual:after{content:"";position:absolute;width:44%;aspect-ratio:1;right:-7%;top:-13%;border:1px solid rgba(255,255,255,.4);border-radius:50%;z-index:-1}
.project-visual--kitchen{background:linear-gradient(135deg,#26241f 0 54%,#8d4b35 54%)}
.project-visual--bath{background:linear-gradient(145deg,#75806b 0 58%,#d8cbb8 58%)}
.project-visual--basement{background:linear-gradient(155deg,#3c3a34 0 40%,#25241f 40% 70%,#8d4b35 70%)}
.project-visual--commercial{background:repeating-linear-gradient(90deg,#2c2b27 0 34px,#36342f 34px 68px)}
.project-visual--exterior{background:linear-gradient(155deg,#d8cbb8 0 42%,#75806b 42% 68%,#26241f 68%)}
.project-visual .visual-label{position:absolute;top:30px;left:30px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:800}
.project-visual strong{font:400 clamp(42px,5vw,66px)/.88 Georgia,serif;letter-spacing:-.05em}
.project-visual small{margin-top:16px;max-width:280px;color:rgba(255,255,255,.82)}
.type-panel{height:410px;display:grid;place-items:center;background:var(--oxide);color:white;font:italic 42px/1.05 Georgia,serif;text-align:center}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:10px;padding-bottom:100px}
.gallery figure{margin:0;position:relative;overflow:hidden;grid-column:span 4;grid-row:span 2}
.gallery .wide{grid-column:span 8;grid-row:span 3}
.gallery .tall{grid-row:span 3}
.gallery img{height:100%}
.gallery figcaption{position:absolute;left:10px;bottom:10px;background:rgba(17,17,15,.8);color:#fff;padding:7px 9px;text-transform:uppercase;letter-spacing:.1em;font-size:9px}
.work-board{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;padding:0 0 100px}
.work-panel{grid-column:span 4;min-height:360px;padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:#e8e0d2}
.work-panel:before{content:"";position:absolute;inset:16px;border:1px solid rgba(17,17,15,.12);pointer-events:none}
.work-panel--lead{grid-column:span 8;min-height:500px;background:linear-gradient(145deg,#26241f 0 58%,#8d4b35 58%);color:#fff}
.work-panel--bath{background:linear-gradient(155deg,#d8cbb8 0 54%,#75806b 54%);color:#11110f}
.work-panel--basement{background:#25241f;color:#fff}
.work-panel--commercial{grid-column:span 8;background:repeating-linear-gradient(135deg,#e5dccd 0 34px,#d8cbb8 34px 68px)}
.work-panel--showroom{background:var(--sage);color:#fff}
.work-panel--exterior{background:linear-gradient(160deg,#efe8dc 0 48%,#c7b9a4 48%)}
.work-panel>span{text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:800;margin-bottom:auto}
.work-panel h2{font:400 clamp(32px,4vw,56px)/.95 Georgia,serif;letter-spacing:-.045em;margin:40px 0 14px;max-width:760px}
.work-panel p{max-width:640px;margin:0 0 20px}
.work-panel a{color:inherit;font-weight:800}
.showroom-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;padding:20px 0 100px}
.showroom-copy{position:sticky;top:120px;align-self:start}
.showroom-copy h2{font:400 clamp(42px,5vw,70px)/.95 Georgia,serif}
.showroom-copy dl{margin:34px 0}
.showroom-copy dl div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.showroom-copy dt{font-weight:800}
.showroom-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.showroom-stack img{height:390px}
.showroom-stack img:nth-child(3){grid-column:span 2;height:520px}
.about-split{align-items:start}
.fact-stack{border-top:1px solid var(--line)}
.fact-stack div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}
.fact-stack b{font:400 28px Georgia,serif}
.fact-stack span{text-align:right;max-width:260px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:30px}
.contact-card{background:var(--paper);padding:36px;min-height:220px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.contact-card span{text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:800}
.contact-card a,.contact-card strong{font:400 clamp(25px,3vw,40px)/1.05 Georgia,serif;color:var(--ink);text-decoration:none;margin-top:auto;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.notfound{min-height:70vh}
footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px;background:#0d0d0b;color:#fff;padding:64px max(24px,calc((100vw - var(--max))/2))}
footer>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.footer-brand{color:#fff}
footer a{color:rgba(255,255,255,.72);text-decoration:none;overflow-wrap:anywhere}
footer>div>strong{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#cbbdab}
@media(max-width:900px){
.menu{display:block}
.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
.site-header nav.open{display:flex}
.hero{grid-template-columns:1fr;min-height:auto;padding-top:48px}
.material-hero{min-height:520px}
.split,.showroom-grid,.service-ledger article,.service-ledger article:nth-child(even){grid-template-columns:1fr}
.service-ledger article:nth-child(even) div:first-child,.service-ledger article:nth-child(even) .project-visual{order:initial}
.showroom-copy{position:static}
.gallery figure,.gallery .wide,.gallery .tall{grid-column:span 6;grid-row:span 2}
.work-panel,.work-panel--lead,.work-panel--commercial{grid-column:span 6}
}
@media(max-width:640px){
.hero,.page-hero,.project-path,.split,.service-ledger,.gallery,.showroom-grid,.contact-grid,.cta,.work-board{width:min(calc(100% - 28px),var(--max))}
.site-header{padding:12px 14px}
.brand-mark{flex-basis:38px;width:38px;height:38px}
.hero-copy h1{font-size:clamp(48px,15vw,58px)}
.material-hero{min-height:420px;padding:24px}
.material-hero:before{inset:14px;background-size:72px 72px}
.material-hero-grid{top:24px;left:24px;right:24px}
.material-hero strong{font-size:52px}
.project-path,.split,.cta{padding:72px 0}
.path-grid a{grid-template-columns:1fr;gap:6px}
.path-grid span{font-size:28px}
.material-pair{grid-template-columns:1fr}
.material-tile,.material-tile--floor{min-height:280px;margin:0}
.project-visual,.type-panel{height:320px}
.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
.gallery figure,.gallery .wide,.gallery .tall{grid-column:auto;grid-row:span 2}
.gallery .wide{grid-column:span 2}
.work-board{grid-template-columns:1fr}
.work-panel,.work-panel--lead,.work-panel--commercial{grid-column:auto;min-height:300px}
.showroom-stack img,.showroom-stack img:nth-child(3){height:280px;grid-column:auto}
.contact-grid,footer{grid-template-columns:1fr}
.contact-card{min-height:170px;padding:26px}
.contact-card a,.contact-card strong{font-size:clamp(23px,8vw,34px)}
.statement{padding:80px 14px}
.page-hero{padding:72px 0 48px}
.page-hero h1{font-size:clamp(46px,14vw,54px)}
.actions{flex-direction:column;align-items:stretch}
.button{width:100%;padding:0 16px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
