:root{--ink:#262522;--muted:#6c6962;--line:#ddd9d0;--cream:#f7f5ef;--paper:#fffefa;--gold:#b58a3e;--dark:#292a26;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 16px/1.65 var(--sans);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}em{font-family:var(--serif);font-weight:400}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font:400 clamp(2.7rem,5vw,5.3rem)/1.13 var(--serif);letter-spacing:-.035em}h2 em{color:var(--gold)}.site-header{height:93px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid #e6e2da;background:var(--paper);position:relative;z-index:10}.brand{display:inline-flex;align-items:center;gap:12px;font:700 16px/1.1 'Manrope',sans-serif;letter-spacing:.14em;white-space:nowrap}.brand img{object-fit:contain}.brand-small{display:block;font-size:10px;letter-spacing:.33em;color:var(--gold);margin-top:7px}.site-header nav{display:flex;align-items:center;gap:clamp(18px,3vw,48px);font-size:14px;font-weight:600}.site-header nav a:not(.nav-cta):hover,.footer-bottom a:hover{color:var(--gold)}.nav-cta{padding:12px 17px;border:1px solid var(--ink)}.nav-cta span{margin-left:18px}.menu-toggle{display:none}.hero{min-height:min(730px,calc(100vh - 93px));display:grid;grid-template-columns:51% 49%;background:var(--cream)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:75px 7vw 25px max(5vw,32px)}.eyebrow,.section-label{font-size:12px;letter-spacing:.2em;font-weight:700;color:#8d713e}.eyebrow{display:flex;align-items:center;gap:12px}.line{height:1px;width:27px;background:var(--gold)}h1{font:400 clamp(3.7rem,6.4vw,7.7rem)/1.03 var(--serif);letter-spacing:-.055em;margin:35px 0 30px}h1 em{color:var(--gold)}.hero-copy>p{max-width:530px;font-size:18px;line-height:1.75;color:#57554f}.hero-actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:0;padding:18px 23px;font-size:14px;font-weight:700;min-height:58px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--dark);color:white}.button-gold{background:#b78a3b;color:#1e1c17;width:100%}.text-link,.underlined{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span,.underlined span{margin-left:10px}.hero-meta{display:flex;justify-content:space-between;gap:20px;color:#8a867e;font-size:11px;letter-spacing:.13em;margin-top:auto;padding-top:68px}.hero-visual{position:relative;background:#dedbd1 url('assets/stairwell.jpg') center center/cover no-repeat;min-height:520px}.photo-credit{position:absolute;right:16px;bottom:16px;background:#fffdf2df;color:#5f5b50;padding:5px 9px;font-size:9px;letter-spacing:.08em}.section{padding:125px max(5vw,28px)}.intro{display:grid;grid-template-columns:18% 58% 24%;gap:0;align-items:start}.intro h2{margin:0 0 38px}.intro p{max-width:680px;color:var(--muted);font-size:17px;line-height:1.85}.intro .underlined{display:inline-block;margin-top:28px}.intro-mark{align-self:center;display:flex;flex-direction:column;align-items:center;gap:13px;color:#b6a87f;font-size:11px;letter-spacing:.2em}.intro-mark img{opacity:.75}.services{background:#292a26;color:#f5f2e8}.section-top{display:grid;grid-template-columns:18% 82%;margin-bottom:55px}.services h2{margin:0 0 18px}.services h2 em{color:#d4ac64}.section-top p{color:#bcbdb7;font-size:17px}.service-list{border-top:1px solid #5f605b}.service{display:grid;grid-template-columns:18% 1fr 60px;gap:20px;align-items:center;border-bottom:1px solid #5f605b;padding:32px 0}.service-index{font:400 20px var(--serif);color:#cba253}.service h3{font:400 clamp(1.7rem,3vw,3rem) var(--serif);margin:0 0 9px}.service p{color:#bdbdb7;max-width:670px;line-height:1.6;margin:0}.service a{height:49px;width:49px;border:1px solid #78776f;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .2s}.service a:hover{background:#b78a3b;color:#21221f}.services-note{font-size:13px;color:#bdbdb7;margin:30px 0 0}.approach{background:var(--cream)}.approach-head{display:grid;grid-template-columns:65% 35%;align-items:end;margin:40px 0 70px}.approach-head h2{margin:0}.approach-head>p{color:var(--muted);max-width:370px;font-size:17px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.steps article{border-top:1px solid #b8afa0;padding-top:27px}.steps span{font:400 19px var(--serif);color:var(--gold)}.steps h3{font:400 29px var(--serif);margin:45px 0 13px}.steps p{color:var(--muted);max-width:340px}.quote{background:#eeeae0;display:grid;grid-template-columns:18% 1fr;align-items:start}.quote p{font:400 clamp(2.3rem,4vw,4.5rem)/1.25 var(--serif);letter-spacing:-.025em;max-width:1000px;margin:0}.quote em{color:var(--gold)}.contact{display:grid;grid-template-columns:48% 52%;gap:5vw;background:var(--paper)}.contact h2{margin:35px 0}.contact-lead>p{max-width:460px;color:var(--muted);font-size:17px}.contact-lead .phone,.contact-lead .email{display:block;line-height:1.5}.phone{font:400 29px var(--serif);margin-top:50px}.email{font-size:17px;margin-top:10px;text-decoration:underline;text-underline-offset:5px}.contact small{display:block;color:#8d8982;font-size:12px;margin-top:20px;max-width:400px}.contact-form{padding:38px;background:var(--cream);align-self:start}.contact-form label{display:block;font-weight:700;font-size:13px;margin:0 0 8px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cec9bd;background:#fffefa;color:var(--ink);border-radius:0;padding:15px 14px;margin:0 0 24px;outline:0;min-height:54px}.contact-form :is(input,select,textarea):focus{border-color:var(--gold);box-shadow:0 0 0 2px #b58a3e33}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font-size:13px;color:var(--muted);line-height:1.6}.form-note a{text-decoration:underline}footer{background:#1d1e1b;color:#f7f5ef;padding:65px max(5vw,28px) 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:65px}.footer-top p{color:#aaa9a1;margin:0}.footer-top>a{font-size:14px;border-bottom:1px solid #aaa9a1}.footer-bottom{border-top:1px solid #4d4d48;padding-top:22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#aaa9a1;font-size:12px;letter-spacing:.06em}.footer-bottom div{display:flex;gap:25px}.legal-main{max-width:880px;margin:auto;padding:85px 28px 120px;min-height:55vh}.legal-main h1{font-size:clamp(3rem,6vw,5rem)}.legal-main h2{font-size:1.8rem;margin-top:45px}.legal-main p,.legal-main li{color:#57554f}.legal-main a{text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:1050px){.site-header nav{gap:16px}.intro{grid-template-columns:22% 1fr}.intro-mark{display:none}.hero-copy{padding-right:4vw}.hero-actions{gap:20px}}@media(max-width:760px){.site-header{height:78px}.brand{font-size:13px}.brand img{width:47px;height:47px}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:20px 28px 30px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch}.site-header nav.is-open{display:flex}.menu-toggle{display:block;border:0;background:none;font-size:14px;font-weight:700}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 7vw 25px}.hero-visual{min-height:440px}.hero-meta{padding-top:65px}.section{padding:85px 7vw}.intro,.section-top,.approach-head,.quote,.contact{display:block}.section-label{margin-bottom:25px}.intro h2,.services h2{font-size:clamp(2.8rem,9vw,4.5rem)}.service{grid-template-columns:40px 1fr 35px;gap:12px}.service a{width:35px;height:35px}.service h3{font-size:1.7rem}.steps{grid-template-columns:1fr;gap:22px}.steps h3{margin-top:18px}.approach-head{margin-bottom:50px}.quote p{font-size:2.4rem}.contact-form{margin-top:45px}.footer-top{align-items:flex-start;flex-direction:column}.footer-bottom{display:block}.footer-bottom>*{margin-bottom:15px}}@media(max-width:450px){h1{font-size:3.65rem}.hero-visual{min-height:330px}.hero-actions{align-items:flex-start;flex-direction:column}.fields{display:block}.contact-form{padding:24px}.service-index{font-size:15px}.service p{font-size:14px}.footer-brand{white-space:normal}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.photo-credit{display:none}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.upload-note{font-size:13px;color:var(--muted);margin:-15px 0 22px}.contact-form input[type=file]{padding:14px;background:#fffefa}.form-status{padding:14px 16px;margin-bottom:24px;border:1px solid #b58a3e;background:#fffaf0;color:#2a2925;font-size:14px}.form-status.error{border-color:#b85b49;background:#fff5f2}.form-status[hidden]{display:none}.button[disabled]{opacity:.6;cursor:wait}
