
:root{--ink:#171717;--muted:#686260;--paper:#f8f6f2;--accent:#a96f56;--dark:#211d1a;--line:#ddd5cd;--max:1180px}
*{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.65}a{color:inherit}img{display:block;max-width:100%}
.bm-header,.tg-header{position:sticky;top:0;z-index:20;background:rgba(248,246,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.bm-header-inner,#header-nav-inner{width:min(calc(100% - 40px),var(--max));margin:auto;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.bm-brand,.tg-brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.05;font-family:"Cormorant Garamond",serif;font-size:28px}.bm-brand small,.tg-brand small{font:600 10px Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px}.bm-nav,#navigation{display:flex;align-items:center;gap:0}.bm-nav a,#navigation a{text-decoration:none;padding:35px 15px 31px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;border-bottom:3px solid transparent}.bm-nav a.active,#navigation a.active,.bm-nav a:hover,#navigation a:hover{border-color:var(--accent)}.bm-call,.tg-book{background:var(--dark)!important;color:#fff!important;border:0!important;padding:14px 18px!important}.bm-menu,.tg-menu{display:none;background:none;border:1px solid var(--line);padding:11px 13px;font:600 11px Montserrat;text-transform:uppercase}
main{overflow:hidden}.hero{position:relative;min-height:650px;display:grid;align-items:end;background:var(--dark);overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,17,14,.88),rgba(22,17,14,.4) 58%,rgba(22,17,14,.18))}.hero-copy{position:relative;z-index:1;color:#fff;width:min(calc(100% - 40px),var(--max));margin:auto;padding:110px 0 100px}.hero h1,.page-hero h1{font:500 clamp(48px,7vw,94px)/.95 "Cormorant Garamond",serif;max-width:820px;margin:15px 0 25px}.hero p,.page-hero p{max-width:650px;font-size:18px}.eyebrow{display:block;color:var(--accent);font:700 11px Montserrat,sans-serif;letter-spacing:.22em;text-transform:uppercase}.primary-button,.text-link,.map-link{display:inline-block;margin-top:18px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.primary-button{background:#fff;color:var(--dark);padding:16px 23px}.text-link,.map-link{color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:4px}.intro-section,.services-section,.contact-section,.map-section{width:min(calc(100% - 40px),var(--max));margin:auto;padding:100px 0}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.intro-section img{width:100%;aspect-ratio:4/3;object-fit:cover}.intro-section h2,.services-section h2,.map-section h2,.contact-card h2{font:500 clamp(34px,4vw,58px)/1 "Cormorant Garamond",serif;margin:14px 0 20px}.section-heading{margin-bottom:38px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.service-card{background:var(--paper);min-width:0}.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-card div{padding:25px 24px 30px}.service-card h3{font:600 22px/1.1 "Cormorant Garamond",serif;margin:0 0 10px}.service-card p{color:var(--muted);font-size:13px;margin:0}.page-hero{background:var(--dark);color:#fff;padding:110px max(20px,calc((100% - var(--max))/2)) 95px}.page-hero .eyebrow{color:#dfaf89}.gallery-grid{width:min(calc(100% - 40px),var(--max));margin:auto;padding:85px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;background:#fff}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{padding:12px 14px;font-size:11px;color:var(--muted);letter-spacing:.06em}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.contact-card{background:var(--paper);padding:50px}.contact-card h2{font-size:34px;overflow-wrap:anywhere}.map-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center;border-top:1px solid var(--line)}.map-copy p{color:var(--muted);max-width:360px}.google-map{width:100%;height:390px;border:0;background:#e4e0db}.site-footer{background:var(--dark);color:#fff;padding:60px max(20px,calc((100% - var(--max))/2)) 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding-bottom:55px}.site-footer .eyebrow{color:#dfaf89}.site-footer p{color:#c9c1ba;font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding:22px 0;font-size:11px;color:#c9c1ba}.footer-bottom a{color:#fff}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.bm-menu,.tg-menu{display:block}.bm-nav,#navigation{display:none;position:absolute;left:20px;right:20px;top:80px;background:var(--paper);border:1px solid var(--line);flex-direction:column;align-items:stretch}.bm-nav.open,#navigation.open{display:flex}.bm-nav a,#navigation a{padding:16px 20px}.bm-header-inner,#header-nav-inner{min-height:80px}.hero{min-height:570px}.intro-section,.map-section,.contact-section{grid-template-columns:1fr;gap:35px;padding:70px 0}.card-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr);padding:65px 0}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hero-copy{padding:90px 0 72px}.hero h1,.page-hero h1{font-size:54px}.card-grid,.gallery-grid,.footer-grid{grid-template-columns:1fr}.contact-card{padding:35px 25px}.page-hero{padding-top:80px;padding-bottom:70px}.google-map{height:320px}}
