@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600&display=swap');
:root{--ink:#241f1d;--muted:#756b66;--cream:#f8f3ed;--paper:#fffdf9;--accent:#8b5f51;--line:#e6ddd5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Montserrat,Arial,sans-serif;line-height:1.7}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 6vw}.logo{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;letter-spacing:3px;color:var(--ink);text-decoration:none}.logo span{display:block;font-family:Montserrat;font-size:8px;letter-spacing:2px;color:var(--accent);line-height:1}.site-header nav{display:flex;gap:24px}.site-header nav a{color:var(--ink);text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:1px}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{min-height:78vh;background:linear-gradient(90deg,rgba(31,24,21,.72),rgba(31,24,21,.2)),radial-gradient(circle at 80% 35%,#b89583,#56413a 48%,#201b19);display:grid;align-items:center;padding:8vw;color:white}.hero-card{max-width:720px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;color:var(--accent)}.hero .eyebrow{color:#ead8cd}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(50px,7vw,88px);line-height:.95;margin:16px 0}.hero h1 em{color:#e3c6b8}.hero p:not(.eyebrow){font-size:17px;max-width:630px;color:#f7eee9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:12px 22px;text-decoration:none;border:1px solid transparent;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.primary{background:#fff;color:var(--ink)}.secondary{border-color:#fff;color:#fff}.light{background:#fff;color:var(--ink);margin-top:18px}.section{padding:95px 8vw}.split{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw;background:var(--cream)}h2{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,5vw,65px);line-height:1.05;margin:8px 0 25px}.copy{font-size:16px;color:#514842}.locations{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.locations div{padding:32px 8vw;border-right:1px solid var(--line)}.locations div:last-child{border:0}.locations span{display:block;font-size:9px;letter-spacing:2px;color:var(--accent)}.locations strong{font-family:'Cormorant Garamond';font-size:30px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-heading>p{max-width:360px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{border:1px solid var(--line);background:white}.service-card button{width:100%;padding:24px 18px;border:0;background:white;text-align:left;font:600 14px Montserrat;letter-spacing:.5px;cursor:pointer;display:flex;justify-content:space-between}.service-card button span{color:var(--accent)}.service-list{display:none;padding:0 20px 22px;margin:0;color:var(--muted);font-size:12px;columns:1}.service-card.open .service-list{display:block}.service-list li{margin:4px 0}.dark{background:#302825;color:#fff}.dark .eyebrow{color:#d6ad9b}.dark .large{max-width:720px;color:#e6dbd5;font-size:18px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-placeholder{aspect-ratio:1/1.05;border:1px dashed #c9b9ae;background:linear-gradient(135deg,#f3e9e1,#e5d6cc);display:grid;place-items:center;text-align:center;color:#7a665c;font-family:'Cormorant Garamond';font-size:28px}.gallery-placeholder small{font:10px Montserrat;letter-spacing:1px}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote-grid blockquote{margin:0;padding:30px;background:var(--cream);font:600 23px 'Cormorant Garamond'}.quote-grid small{display:block;margin-top:20px;font:10px Montserrat;color:var(--muted);letter-spacing:.5px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#f2e9e2}.contact-cards{display:grid;gap:12px}.contact-cards div{background:#fff;padding:22px 25px;border:1px solid var(--line)}.contact-cards strong,.contact-cards span{display:block}.contact-cards span{font-size:12px;color:var(--muted);margin-top:5px}footer{padding:45px 8vw;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:11px}footer .logo{font-size:24px;color:var(--ink)}
@media(max-width:850px){.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:20px 8vw;flex-direction:column}.site-header nav.show{display:flex}.menu-toggle{display:block}.split,.contact{grid-template-columns:1fr}.locations{grid-template-columns:1fr}.locations div{border-right:0;border-bottom:1px solid var(--line);padding:24px 8vw}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid,.quote-grid{grid-template-columns:1fr}.section-heading{display:block}}
@media(max-width:520px){.service-grid{grid-template-columns:1fr}.hero{min-height:85vh;padding:12vw 7vw}.section{padding:70px 7vw}.hero h1{font-size:52px}}
