:root{--ink:#151513;--cream:#f4efe6;--sand:#d9cdbd;--paper:#fbfaf7;--muted:#6c6a64;--line:#ded9d0;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",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.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{height:82px;padding:0 max(28px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:28px;background:rgba(251,250,247,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(21,21,19,.08)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.monogram{font-family:var(--serif);font-size:32px;letter-spacing:-5px;width:46px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-family:var(--serif);font-size:15px;letter-spacing:2px}.brand-copy small{font-size:8px;letter-spacing:4px;margin-top:8px}.nav-links{display:flex;gap:28px;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.nav-links a:hover{opacity:.55}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 24px;text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700}.header-cta,.button.dark{background:var(--ink);color:white}.menu-button{display:none;background:none;border:0}.hero{height:min(720px,calc(100vh - 82px));min-height:570px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.78) 0%,rgba(9,9,8,.47) 35%,rgba(9,9,8,.04) 70%)}.hero-copy{position:relative}.eyebrow{text-transform:uppercase;font-weight:700;letter-spacing:3.5px;font-size:11px;margin:0 0 20px}.eyebrow.light{color:#eee5d8}.hero h1,.intro h2,.about h2,.process h2,.area h2,.quote h2{font-family:var(--serif);font-weight:500;line-height:1.04;margin:0}.hero h1{font-size:clamp(54px,7vw,92px);max-width:750px}.hero-sub{font-size:17px;max-width:510px;margin:25px 0 30px;color:#eee}.button.cream{background:var(--cream);color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-size:12px;font-weight:700;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.5)}.intro{text-align:center;padding:110px 0 68px}.intro h2{font-size:clamp(42px,5vw,64px)}.intro h2 em{color:#938674;font-weight:400}.intro-copy{max-width:600px;margin:22px auto;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:110px}.services article{min-height:265px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.services article>span{position:absolute;right:24px;top:24px;font-size:10px;color:#98938b}.icon{font-family:var(--serif);font-size:31px;height:65px}.services h3,.steps h3{font-family:var(--serif);font-size:23px;margin:10px 0}.services p,.steps p{font-size:14px;color:var(--muted);margin:0}.about{display:grid;grid-template-columns:1.08fr .92fr;background:#ebe4da}.about-photo{min-height:690px}.about-photo img{height:100%;object-fit:cover;object-position:center 38%}.about-copy{padding:100px clamp(48px,8vw,120px);align-self:center}.about-copy h2{font-size:clamp(43px,5vw,66px);margin-bottom:28px}.about-copy>p:not(.eyebrow):not(.signature){color:#5f5a53;max-width:520px}.signature{font-family:var(--serif);font-style:italic;font-size:25px;color:#8a765d;margin:26px 0}.process{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-head h2{font-size:60px}.section-head>p{max-width:320px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:54px}.steps article{border-top:1px solid var(--ink);padding-top:22px}.steps b{font-size:11px;letter-spacing:2px}.area{background:#171714;color:white;padding:105px 0}.area-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}.area h2{font-size:clamp(43px,5vw,65px)}.area p:not(.eyebrow){color:#bbb7ae;max-width:530px}.cities{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #4a4843}.cities span{padding:15px 0;border-bottom:1px solid #4a4843;font-size:13px}.quote{padding:115px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.quote h2{font-size:clamp(48px,6vw,70px)}.quote-intro>p:not(.eyebrow){color:var(--muted);max-width:430px}.contact-card{border-left:2px solid var(--sand);padding-left:20px;margin-top:35px;display:flex;flex-direction:column}.contact-card small{color:var(--muted);margin-bottom:5px}.contact-card a{font-weight:600}.quote form{background:white;border:1px solid var(--line);padding:38px;box-shadow:0 16px 50px rgba(32,25,17,.05)}label{display:block;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:1.2px;margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa59c;background:transparent;border-radius:0;padding:12px 2px;font:15px var(--sans);text-transform:none;letter-spacing:0;margin-top:4px;color:var(--ink)}textarea{border:1px solid #cfc9c0;padding:12px;resize:vertical}.upload{border:1px dashed #aaa59c;padding:15px}.upload input{border:0;font-size:13px}.upload small{display:block;color:var(--muted);text-transform:none;letter-spacing:0}.submit{border:0;width:100%;cursor:pointer}footer{background:#0f0f0e;color:white;padding:65px 0 18px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start}.footer-grid p{color:#aaa69e;margin:0}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;gap:7px}.footer-brand{margin:0}.copyright{text-align:center;color:#696762;font-size:10px;border-top:1px solid #2d2c29;margin:45px 0 0;padding-top:18px}.menu-button{padding:8px}.menu-button span{display:block;width:22px;height:1px;background:var(--ink);margin:5px}
@media(max-width:850px){.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:28px;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-button{display:block}.header-cta{padding:12px 15px}.hero{height:660px}.hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(9,9,8,.75),rgba(9,9,8,.18))}.services{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.about-photo{min-height:580px}.about-copy{padding:75px 48px}.quote{grid-template-columns:1fr;gap:50px}.area-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:570px){.wrap{width:min(100% - 34px,1160px)}.site-header{height:70px;padding:0 16px;gap:10px}.brand-copy strong{font-size:12px}.brand-copy small{letter-spacing:3px}.monogram{font-size:27px;width:39px}.header-cta{font-size:9px;padding:11px}.nav-links{top:70px}.hero{height:670px;min-height:0;align-items:flex-end;padding-bottom:65px}.hero>img{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(8,8,7,.88),rgba(8,8,7,.04) 72%)}.hero h1{font-size:52px}.hero-sub{font-size:15px;margin:18px 0 24px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.intro{padding:80px 0 48px}.services{grid-template-columns:1fr;margin-bottom:75px}.services article{min-height:220px}.about-photo{min-height:500px}.about-photo img{object-position:center 35%}.about-copy{padding:65px 25px}.process{padding:80px 0}.section-head{display:block;margin-bottom:38px}.section-head h2{font-size:48px}.steps{grid-template-columns:1fr;gap:32px}.area{padding:75px 0}.cities{grid-template-columns:1fr}.quote{padding:80px 0}.quote form{padding:25px 20px}.field-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div{align-items:flex-start}.footer-grid p{max-width:300px}}
.header-logo{align-self:stretch;padding:6px 0}.header-logo img{width:auto;height:100%;max-width:120px;object-fit:contain}.header-logo:hover{opacity:.72}@media(max-width:570px){.header-logo{padding:5px 0}.header-logo img{max-width:92px}}
.icon svg{width:42px;height:42px;stroke:var(--ink)}.about-copy .eyebrow,.about-copy h2{text-align:center}.section-head{justify-content:flex-start}.footer-brand img{width:112px;height:auto;filter:invert(1)}@media(max-width:570px){.footer-brand img{width:100px}}
