:root{--ivory:#f4f0e8;--paper:#fbf9f5;--ink:#20211e;--muted:#68685f;--stone:#d5cec0;--wood:#967252;--accent:#8a6b42;--line:rgba(32,33,30,.16);--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}
img{display:block;width:100%;object-fit:cover}
a{color:inherit}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:100}
.topbar{background:#252621;color:#f7f3eb;text-align:center;padding:.45rem 1rem;font-size:.82rem;letter-spacing:.08em}
.topbar a{font-weight:700;text-decoration:none}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(251,249,245,.96);position:sticky;top:0;z-index:20}
.brand{text-decoration:none;display:flex;align-items:center;gap:.8rem}
.brand-mark{border:1px solid var(--ink);padding:.18rem .48rem;font:700 1rem var(--serif);letter-spacing:.08em}
.brand-name{font:1.05rem var(--serif);letter-spacing:.13em;text-transform:uppercase}
.links{display:flex;gap:1.8rem;align-items:center}
.links a{text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}
.links a:hover{color:var(--accent)}
.menu{display:none;border:0;background:none;font-size:1.5rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--ink);color:#fff;padding:.85rem 1.25rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;border:1px solid var(--ink);cursor:pointer}
.button:hover{background:var(--accent);border-color:var(--accent)}
.button.light{background:transparent;color:var(--ink)}
.button.light:hover{color:#fff}
.hero{min-height:700px;display:grid;grid-template-columns:47% 53%;background:var(--ivory)}
.hero-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--accent);font-weight:700}
.hero h1,.page-hero h1{font:400 clamp(3.3rem,6.2vw,7.2rem)/.94 var(--serif);letter-spacing:-.045em;margin:.4rem 0 1.5rem}
.hero p{max-width:540px;font-size:1.05rem;color:var(--muted)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.hero-image{background:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1600&q=85') center/cover;position:relative}
.hero-image:after{content:'Representative interior imagery';position:absolute;right:1rem;bottom:1rem;color:#fff;background:rgba(0,0,0,.5);padding:.25rem .55rem;font-size:.65rem;letter-spacing:.08em}
.section{padding:7rem 6vw}
.section.dark{background:#242520;color:#f4f0e8}
.section.stone{background:#e8e2d8}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:8vw}
.intro h2,.section-title{font:400 clamp(2.5rem,4.6vw,5rem)/1.03 var(--serif);letter-spacing:-.03em;margin:.5rem 0 2rem}
.lede{font-size:1.25rem;max-width:740px}
.service{display:grid;grid-template-columns:1fr 1.15fr;border-top:1px solid var(--line);padding:5rem 0;gap:8vw}
.service:nth-child(even){grid-template-columns:1.15fr 1fr}
.service:nth-child(even) .service-head{order:2}
.service-num{font:italic 1rem var(--serif);color:var(--accent)}
.service h3{font:400 clamp(2rem,3.5vw,3.7rem)/1.05 var(--serif);margin:.5rem 0 1rem}
.service-copy p{margin:0 0 1.4rem;color:#4f504a}
.feature-image{height:520px;background:url('https://images.unsplash.com/photo-1556911220-e15b29be8c8f?auto=format&fit=crop&w=1800&q=85') center/cover}
.split{display:grid;grid-template-columns:1fr 1fr}
.split-copy{padding:7vw}
.process{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.step{padding:2rem;border-right:1px solid var(--line)}
.step:before{counter-increment:steps;content:'0' counter(steps);color:var(--accent);font:italic 1rem var(--serif)}
.step h3{font:1.55rem var(--serif)}
.gallery{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:1rem}
.gallery img{height:430px}
.gallery img:nth-child(2){margin-top:70px}
.gallery img:nth-child(3){margin-top:140px}
.faq{max-width:1000px;margin:auto}
.faq details{border-top:1px solid var(--line);padding:1.6rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font:1.45rem var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary:after{content:'+';color:var(--accent)}
.faq details[open] summary:after{content:'–'}
.faq .answer{padding:1rem 3rem 0 0;color:#50514b}
.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.contact-panel{background:#252621;color:#fff;padding:4rem}
.contact-panel h2{font:3.4rem/1 var(--serif);font-weight:400}
.contact-panel a{color:#fff}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.full{grid-column:1/-1}
.field label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:.8rem 0;font:inherit;border-radius:0}
.field textarea{min-height:130px;resize:vertical}
.choice{display:flex;gap:1.5rem}
.hidden-field{position:absolute;left:-9999px}
.status{grid-column:1/-1;padding:.8rem;display:none}
.status.error{display:block;background:#f6dddd;color:#711}
.footer{background:#191a17;color:#eee;padding:5rem 6vw 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}
.footer h3{font:2rem var(--serif);font-weight:400}
.footer a{color:#eee;text-decoration:none}
.footer small{display:block;border-top:1px solid #444;margin-top:4rem;padding-top:2rem;color:#aaa}
.page-hero{background:var(--ivory);padding:7rem 6vw 5rem}
.page-hero p{max-width:700px;font-size:1.2rem;color:var(--muted)}
.areas{columns:3;list-style:none;padding:0}
.areas li{padding:.5rem 0;border-bottom:1px solid var(--line)}
.notice{padding:1rem;background:#eee8dc;border-left:3px solid var(--accent)}
.thanks{min-height:65vh;display:grid;place-items:center;text-align:center;padding:5rem}
.thanks-inner{max-width:720px}
.thanks h1{font:4rem/1 var(--serif);font-weight:400}
.error-code{font:8rem/1 var(--serif);color:var(--stone)}
@media(max-width:900px){.links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:2rem;flex-direction:column}
.links.open{display:flex}
.menu{display:block}
.hero{grid-template-columns:1fr}
.hero-copy{padding:6rem 6vw}
.hero-image{min-height:430px}
.intro,.service,.service:nth-child(even),.split,.contact-wrap{grid-template-columns:1fr}
.service:nth-child(even) .service-head{order:0}
.process{grid-template-columns:1fr 1fr}
.gallery{grid-template-columns:1fr 1fr}
.gallery img{height:300px}
.gallery img:nth-child(2),.gallery img:nth-child(3){margin-top:0}
.gallery img:nth-child(3){grid-column:1/-1}
.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.brand-name{display:none}
.section{padding:5rem 6vw}
.hero h1{font-size:3.4rem}
.process,.form,.footer-grid{grid-template-columns:1fr}
.gallery{display:block}
.gallery img{margin-bottom:1rem}
.areas{columns:2}
.contact-panel{padding:2rem}
.choice{flex-direction:column;gap:.5rem}
}

/* Refined typography, form visibility and unified footer */
.hero h1,.page-hero h1{font-size:clamp(3rem,5.4vw,4.375rem);line-height:1;letter-spacing:-.04em}
.intro h2,.section-title,.contact-panel h2{font-size:clamp(2rem,3.4vw,2.5rem);line-height:1.1}
.field input,.field select,.field textarea{border:1px solid #b8aa98;background:#fffdf8;color:var(--ink);padding:.85rem .95rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(138,107,66,.22);border-color:var(--accent)}
.footer{padding:4.5rem 6vw 2rem}.footer-grid{grid-template-columns:minmax(280px,1.6fr) 1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}.footer-brand{max-width:420px}.footer-brand .brand{margin-bottom:1.35rem}.footer-brand p{color:#b9b8b1;margin:0}.footer-title{display:block;color:#bca17d;font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.15rem}.footer-nav{display:grid;gap:.55rem}.footer a:hover{color:#d2b68e}.footer-contact{font-size:1.02rem}.footer small{display:flex;justify-content:space-between;gap:2rem;margin-top:3.5rem;padding-top:1.5rem;font-size:.75rem}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.hero h1,.page-hero h1{font-size:3rem}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer small{display:block}.footer small span{display:block;margin-bottom:.4rem}}

/* Footer layout v2 */
.footer{background:#151612;padding:4rem 6vw 1.75rem}
.footer-grid{display:grid;grid-template-columns:minmax(320px,1.8fr) minmax(140px,.65fr) minmax(240px,1fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.footer-brand{max-width:460px}.footer-brand .brand{display:inline-flex;margin:0 0 1.25rem}.footer-brand .brand-mark{border-color:#ddd6ca}.footer-brand p{max-width:400px;color:#aaa99f;line-height:1.7}
.footer-title{display:block;margin:0 0 1.1rem;color:#c3a77e;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.footer-nav a{display:block;line-height:1.5}.footer-contact{line-height:1.8}.footer-contact p{margin:.65rem 0 0;color:#aaa99f}
.footer small{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid #34352f;margin:3.5rem 0 0;padding:1.4rem 0 0;color:#8f9088;font-size:.72rem;line-height:1.5}
@media(max-width:780px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer small{display:block}.footer small span{display:block;margin-top:.35rem}}
@media(max-width:520px){.footer{padding-top:3.25rem}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-brand{grid-column:auto}}
