:root{--ink:#161412;--soft:#5f5850;--cream:#fbf8f4;--sand:#eee5d9;--gold:#b48a4f;--gold-d:#8c6a3a;--dark:#1d1a17}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}
img{max-width:100%;display:block;height:auto}a{color:inherit}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:normal;line-height:1.15}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.eyebrow{color:var(--gold-d);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;margin-bottom:12px}
.btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;padding:13px 28px;border-radius:999px;font-size:.95rem;border:0;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--gold-d)}.btn.ghost{background:transparent;border:1px solid currentColor}.btn.ghost:hover{background:rgba(255,255,255,.12)}
/* header */
.top{background:var(--dark);color:#cfc6bb;font-size:.85rem}.top .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 20px;flex-wrap:wrap}.top a{text-decoration:none}
header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--sand)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo img{height:56px;width:auto}
.menu{display:flex;gap:4px;list-style:none;align-items:center}
.menu>li{position:relative}.menu>li>a{display:block;padding:10px 12px;text-decoration:none;font-size:.92rem;color:var(--soft)}
.menu>li>a:hover{color:var(--ink)}
.sub{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:210px;list-style:none;box-shadow:0 10px 30px rgba(0,0,0,.08);border-radius:10px;padding:8px 0}
.sub a{display:block;padding:8px 18px;text-decoration:none;font-size:.9rem;color:var(--soft)}.sub a:hover{background:var(--cream);color:var(--ink)}
.menu>li:hover .sub,.menu>li:focus-within .sub{display:block}
.burger{display:none;background:none;border:0;font-size:1.7rem;cursor:pointer}
/* hero */
.hero{position:relative;color:#fff;min-height:86vh;display:flex;align-items:center;text-align:center;background:#222 url(img/hero.jpg) center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:rgba(15,12,10,.58)}
.hero .wrap{position:relative}.hero .eyebrow{color:#e3c595}
.hero h1{font-size:clamp(2.6rem,7vw,5rem);margin-bottom:18px;letter-spacing:.02em}
.hero p{font-size:1.15rem;max-width:560px;color:#efe8de;margin:0 auto 30px}.ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.ctas .ghost{color:#fff}
.rating{margin-top:30px;font-size:.95rem;color:#e9e2d9}.rating b{color:#e3c595;letter-spacing:2px}
section{padding:84px 0}.title{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:12px}.lead{color:var(--soft);max-width:640px;margin-bottom:44px}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:#fff;border:1px solid var(--sand);border-radius:18px;overflow:hidden}
.card .body{padding:24px}.card h3{font-size:1.35rem;margin-bottom:8px}.card p{color:var(--soft);font-size:.95rem}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.more{display:inline-block;margin-top:12px;color:var(--gold-d);font-size:.9rem;text-decoration:none}
/* why */
.why{background:var(--dark);color:#efe7dd}.why .lead{color:#b9ae9f}
.feat{padding:28px;border:1px solid #3a342e;border-radius:18px;background:#24201c}.feat .ic{font-size:1.8rem;margin-bottom:10px}.feat p{color:#b9ae9f;font-size:.95rem}
/* split */
.split{display:grid;gap:48px;grid-template-columns:1fr 1fr;align-items:center}.split img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%}
.split ul{list-style:none;margin-top:16px}.split li{padding:6px 0;border-bottom:1px solid var(--sand)}.split li:before{content:"✦ ";color:var(--gold)}
/* menus */
.menus{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.mbox{background:#fff;border:1px solid var(--sand);border-radius:18px;padding:28px}.mbox h3{margin-bottom:14px;font-size:1.3rem}
.mbox ul{list-style:none}.mbox li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--sand);font-size:.95rem}.mbox li span{color:var(--gold-d);white-space:nowrap}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}.tab{background:#fff;border:1px solid var(--sand);padding:10px 22px;border-radius:999px;cursor:pointer;font-size:.95rem}.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.panel{display:none}.panel.on{display:block}
/* team */
.person{text-align:center;background:#fff;border:1px solid var(--sand);border-radius:18px;padding:30px}.person img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin:0 auto 16px}
.person .role{color:var(--gold-d);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.person p{color:var(--soft);font-size:.93rem}
.person ul{list-style:none;margin-top:14px;font-size:.85rem;color:var(--soft)}.person li{padding:3px 0}
/* gallery */
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:14px}
/* promos */
.promo{background:linear-gradient(135deg,#2a241f,#4a3b2b);color:#fff;border-radius:18px;padding:30px}.promo h3{font-size:1.4rem;margin-bottom:8px}.promo p{color:#d9cdbd;font-size:.95rem}
/* reviews */
blockquote{background:#fff;border:1px solid var(--sand);border-radius:18px;padding:30px;font-family:Georgia,serif;font-size:1.08rem}blockquote cite{display:block;margin-top:14px;font-family:inherit;font-style:normal;color:var(--soft);font-size:.9rem}
/* house call */
.house{background:var(--sand)}
/* booking */
.book{background:var(--dark);color:#fff;text-align:center}.book .lead{color:#c9bfb2}
#booking-widget{max-width:820px;margin:0 auto;min-height:120px;border:1px dashed #5a5047;border-radius:18px;padding:30px;color:#c9bfb2}
/* contact */
.contact .grid{align-items:start}.info p{margin-bottom:14px}.info strong{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.hours li{display:flex;justify-content:space-between;max-width:300px;list-style:none;padding:3px 0}
.map{border:0;width:100%;height:340px;border-radius:18px}
footer{background:var(--dark);color:#a99f92;padding:34px 0;font-size:.88rem}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer a{text-decoration:none}
.mobile-bar{display:none}
@media(max-width:900px){
 .burger{display:block}.menu{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px 20px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
 .menu.open{display:flex}.sub{display:block;position:static;box-shadow:none;padding:0 0 0 14px}
 .split{grid-template-columns:1fr}.top .hide-m{display:none}
 .mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;gap:8px;padding:10px;background:#fff;box-shadow:0 -1px 0 var(--sand)}.mobile-bar a{flex:1;text-align:center}
 body{padding-bottom:72px}section{padding:60px 0}
}
.marquee{background:var(--dark);color:#e3c595;overflow:hidden;white-space:nowrap;padding:14px 0;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase}
.marquee .track{display:inline-block;animation:mq 45s linear infinite}.marquee span{margin:0 26px}.marquee span:after{content:"✦";margin-left:52px;color:#8c6a3a}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee .track{animation:none}}
.menus.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.mbox h4{margin:18px 0 4px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);font-weight:normal}
.pr:empty{display:none}
.ticks{list-style:none;margin-top:16px}.ticks li{padding:6px 0;border-bottom:1px solid #3a342e}.ticks li:before{content:"✦ ";color:#e3c595}
.why .split img{aspect-ratio:auto;object-fit:cover}
.person img,.person .ph{width:150px;height:150px;border-radius:50%;margin:0 auto 16px;object-fit:cover}
.person .ph{background:var(--dark);color:#e3c595;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:2.4rem;letter-spacing:.06em}
.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
footer .hc{flex-basis:100%;font-size:.75rem;opacity:.7}
@media(max-width:900px){.menu{top:80px}}

.person img{width:200px;height:250px;border-radius:18px;object-position:center 20%}.person .ph{width:200px;height:250px;border-radius:18px}

.teamphoto{max-width:520px;margin:0 auto 40px}.teamphoto img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;border-radius:20px}

.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(227,197,149,.35);color:#efe7dd;text-decoration:none;font-size:.85rem;transition:background .2s,border-color .2s}
.chip:hover{background:rgba(227,197,149,.18);border-color:#e3c595}.chip .ic{color:#e3c595;flex:none}
.mapbtn{text-align:center;margin-bottom:14px}.mapcol .map{display:block}
.top .wrap{align-items:center}
