:root{--rose:#c98b8b;--rose-d:#a86565;--blush:#f7e9e6;--cream:#fbf7f3;--ink:#2d2424;--muted:#7a6a68;--gold:#b89466}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Jost",system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em}h2{font-size:clamp(2rem,4vw,2.8rem)}
a{color:var(--rose-d)}img{max-width:100%;display:block}.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.demo-bar{background:var(--ink);color:#eadad6;text-align:center;font-size:.8rem;padding:6px 10px;letter-spacing:.3px}
header{position:sticky;top:0;z-index:50;background:rgba(251,247,243,.95);backdrop-filter:blur(8px);border-bottom:1px solid #eee2dd}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}.logo{font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:700;text-decoration:none;color:var(--ink)}.logo span{color:var(--rose)}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.nav ul a{text-decoration:none;color:var(--ink);font-size:.95rem}.nav ul a:hover{color:var(--rose-d)}
.menu-btn{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer}
.btn{display:inline-block;background:var(--rose);color:#fff;border:0;border-radius:40px;padding:13px 30px;font:500 1rem "Jost",sans-serif;text-decoration:none;cursor:pointer;transition:.2s}.btn:hover{background:var(--rose-d)}.btn.ghost{background:transparent;border:1.5px solid #fff}.btn.sm{padding:9px 20px;font-size:.9rem}
.hero{position:relative;min-height:82vh;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(45,36,36,.72),rgba(45,36,36,.15)),url(../img/hero.jpg) center/cover}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);max-width:640px}.hero p{max-width:520px;font-size:1.15rem;opacity:.95}.hero .btn{margin:10px 10px 0 0}
section{padding:90px 0}.alt{background:var(--blush)}.eyebrow{color:var(--rose-d);letter-spacing:3px;text-transform:uppercase;font-size:.78rem;font-weight:600}.center{text-align:center}.lead{color:var(--muted);max-width:640px}.center .lead{margin:0 auto}
.tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:34px 0 26px}.tab{background:#fff;border:1px solid #e6d3cf;border-radius:30px;padding:9px 20px;cursor:pointer;font:inherit}.tab.on{background:var(--rose);color:#fff;border-color:var(--rose)}
.menu{max-width:760px;margin:0 auto;display:none}.menu.on{display:block}.item{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px dashed #dcc6c1}.item small{color:var(--muted)}.price{font-weight:600;color:var(--rose-d);white-space:nowrap}
.grid{display:grid;gap:26px}.team{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.member{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(120,80,70,.08);text-align:center}.member img{aspect-ratio:1;object-fit:cover;width:100%}.member div{padding:18px}.member p{margin:0;color:var(--muted);font-size:.92rem}
.gallery{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.gallery a{border-radius:14px;overflow:hidden;display:block}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .4s}.gallery a:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;background:rgba(20,14,14,.9);display:none;align-items:center;justify-content:center;z-index:100}.lightbox.on{display:flex}.lightbox img{max-width:92vw;max-height:86vh;border-radius:8px}.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:10px 18px}.lb-close{top:10px;right:10px}.lb-prev{left:6px}.lb-next{right:6px}
.reviews{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.review{background:#fff;border-radius:16px;padding:26px}.stars{color:var(--gold);letter-spacing:2px}.review cite{display:block;margin-top:10px;color:var(--muted);font-style:normal;font-size:.9rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.hours{width:100%;border-collapse:collapse}.hours td{padding:10px 0;border-bottom:1px solid #e9d8d4}.hours td:last-child{text-align:right}
details{background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:12px}summary{cursor:pointer;font-weight:500}
form.card{background:#fff;border-radius:20px;padding:34px;box-shadow:0 10px 40px rgba(120,80,70,.1)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}
label{display:block;font-size:.88rem;font-weight:500;margin-bottom:5px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid #e1cfcb;border-radius:10px;font:inherit;background:#fffdfc}textarea{min-height:90px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--rose);border-color:transparent}.err{color:#b3261e;font-size:.82rem;min-height:1em;display:block}.invalid{border-color:#b3261e}
.map{border:0;width:100%;height:340px;border-radius:16px}
.news{display:flex;gap:10px;max-width:460px}.news input{flex:1}
footer{background:var(--ink);color:#d9c9c5;padding:50px 0 26px;font-size:.92rem}footer a{color:#f0c9c2}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.small{font-size:.8rem;opacity:.75;margin-top:30px;border-top:1px solid #4a3d3c;padding-top:18px;text-align:center}
.notice{padding:16px 20px;border-radius:12px;background:#e8f4ea;color:#245c2e;margin-bottom:18px}.notice.bad{background:#fbe9e7;color:#8a2a1e}
@media(max-width:860px){.two,.foot{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.menu-btn{display:block}.nav ul{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;background:var(--cream);padding:18px 22px;gap:14px;border-bottom:1px solid #eee}.nav ul.open{display:flex}section{padding:64px 0}.hero{min-height:70vh}}
