@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--wine:#7d1f30;--cream:#f5ecdc;--gold:#d6a64b;--ink:#332b28;--muted:#786f68}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fbf8f2}.topbar{height:78px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-mark{font-size:34px;color:var(--gold)}.brand small,.eyebrow{display:block;color:#b58b42;font-size:10px;letter-spacing:2px;font-weight:700}.brand strong{display:block;font:600 19px 'Playfair Display',serif}nav{display:flex;gap:28px;align-items:center}nav a,footer a{color:inherit;text-decoration:none;font-size:13px}.nav-cta{background:var(--wine);color:white;padding:12px 20px;border-radius:24px}.hero{min-height:490px;display:flex;align-items:center;padding:70px max(8vw,28px);color:white;background:linear-gradient(90deg,rgba(35,20,17,.82),rgba(35,20,17,.25)),url('https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=1800&q=85') center/cover}.hero-content{max-width:680px}.hero h1{font:600 clamp(42px,6vw,76px)/1.06 'Playfair Display',serif;margin:18px 0}.hero h1 em{color:#e6c77e}.hero-content>p:not(.eyebrow){max-width:520px;line-height:1.7}.actions{display:flex;gap:12px;margin-top:26px}.btn{border:0;border-radius:30px;padding:14px 24px;font-weight:700;text-decoration:none;display:inline-block;cursor:pointer;font-family:inherit}.gold{background:var(--gold);color:#382b1b}.light{background:#fff;color:var(--wine)}.info-strip{max-width:1120px;margin:-34px auto 0;position:relative;background:white;border-radius:16px;box-shadow:0 12px 35px #3c2b2115;padding:26px 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.info-strip>div{border-right:1px solid #eee5da;padding-right:18px}.info-strip>div:last-child{border:0}.info-strip p{font-size:13px;color:var(--muted);line-height:1.6;margin:7px 0}.info-strip a,.house a{font-size:12px;color:var(--wine)}.info-strip>div:first-child{display:flex;gap:12px}.dot{width:9px;height:9px;border-radius:50%;background:#aaa;margin-top:5px}.dot.open{background:#26965c}.rating{color:var(--wine)}.section{max-width:1050px;margin:85px auto;padding:0 24px}.section h2{font:600 38px 'Playfair Display',serif;margin:10px 0}.muted{color:var(--muted);line-height:1.7}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.product{background:white;border:1px solid #eee5da;border-radius:14px;padding:22px}.product h3{font:600 21px 'Playfair Display',serif;margin:0 0 8px}.product p{font-size:13px;color:var(--muted);line-height:1.6}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:var(--cream);padding:45px;border-radius:20px;max-width:1100px}.booking-form{display:grid;gap:13px}.booking-form label,.admin-card label{font-size:12px;font-weight:700;display:grid;gap:6px}.booking-form input,.booking-form textarea,.admin-card input,.admin-card textarea{width:100%;border:1px solid #ded4c8;border-radius:9px;padding:12px;font:14px 'DM Sans',sans-serif;background:white}.form-message{font-size:13px;line-height:1.5}.house{line-height:1.8}.footer,footer{padding:28px max(5vw,24px);display:flex;justify-content:space-between;background:#332b28;color:white;font-size:12px}.admin-wrap{min-height:100vh;padding:45px 20px;background:var(--cream)}.admin-card{max-width:680px;margin:auto;background:white;border-radius:18px;padding:30px;box-shadow:0 10px 30px #00000010}.admin-card h1{font:600 32px 'Playfair Display',serif}.admin-card form{display:grid;gap:14px}.admin-list{margin-top:25px}.admin-row{padding:14px 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;gap:12px}.admin-row button{margin-left:6px}.hidden{display:none!important}@media(max-width:700px){.topbar{padding:12px 18px;height:auto;gap:12px}nav{gap:12px}nav a{font-size:11px}.brand strong{font-size:16px}.hero{min-height:430px;padding:50px 24px}.info-strip{margin:0;border-radius:0;grid-template-columns:1fr;padding:22px}.info-strip>div{border-right:0;border-bottom:1px solid #eee5da;padding:0 0 14px}.products{grid-template-columns:1fr}.booking-section{grid-template-columns:1fr;padding:28px 20px;margin:55px 12px}.section{margin:60px auto}footer{gap:12px;flex-wrap:wrap}}
