:root{
  --cream:#f3ede3;
  --latte:#d9c3a6;
  --brown:#5b3a29;
  --brown-dark:#2d211b;
  --sage:#72806a;
  --sage-dark:#56614f;
  --rust:#b86b45;
  --white:#fff;
  --text:#2c241f;
  --muted:#756c65;
  --line:rgba(44,36,31,.13);
  --radius:22px;
  --shadow:0 24px 60px rgba(71,47,31,.14)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--text);background:#fff;line-height:1.65}
body.nav-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.section{padding:110px 0}
h1,h2,h3,.brand{font-family:"Playfair Display",serif;line-height:1.03;margin:0}
h2{font-size:clamp(3rem,6vw,5.2rem)}
p{margin:0}
.eyebrow{color:#ead1bd;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;margin-bottom:18px}
.eyebrow.dark{color:var(--rust)}

.site-header{position:fixed;z-index:1000;inset:0 0 auto;background:rgba(42,29,21,.18);backdrop-filter:blur(12px);transition:.3s;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(42,29,21,.96);border-bottom-color:rgba(255,255,255,.11)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{color:#fff;font-size:1.65rem;font-weight:700;letter-spacing:.05em}
.brand span{color:#e7c9b4}
.main-nav{display:flex;align-items:center;gap:27px}
.main-nav>a:not(.btn){color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.main-nav>a:not(.btn):hover{color:#e7c9b4}
.menu-toggle{display:none;background:transparent;border:0}
.menu-toggle span{display:block;width:27px;height:2px;background:#fff;margin:6px}

.btn{min-height:52px;padding:0 28px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.07em;font-size:.79rem;font-weight:700;cursor:pointer;transition:.25s}
.btn-small{min-height:42px;padding-inline:20px;background:#fff;color:var(--text)}
.btn-primary{background:var(--rust);color:#fff}
.btn-primary:hover{background:var(--brown-dark);transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.65);color:#fff}
.btn-outline:hover{background:#fff;color:var(--text)}
.btn-light{background:#fff;color:var(--text)}
.btn-light:hover{background:var(--brown-dark);color:#fff}

.hero{min-height:790px;display:flex;align-items:center;position:relative;color:#fff;background:linear-gradient(90deg,rgba(42,27,18,.9),rgba(42,27,18,.26)),url("https://images.unsplash.com/photo-1501339847302-ac426a4a7cbb?auto=format&fit=crop&w=2000&q=85") center/cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28))}
.hero-content{position:relative;z-index:1;padding-top:110px}
.hero h1{font-size:clamp(4.5rem,9vw,8.2rem);max-width:980px}
.hero h1 span{color:#e5c4ad}
.hero-copy{max-width:630px;color:#eee5de;font-size:1.08rem;margin:28px 0 34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-details{display:grid;grid-template-columns:repeat(3,1fr);max-width:780px;margin-top:66px;border-top:1px solid rgba(255,255,255,.18)}
.hero-details div{padding:22px 20px 0 0;display:flex;flex-direction:column}
.hero-details strong{font-family:"Playfair Display";font-size:1.22rem;color:#e5c4ad}
.hero-details span{color:#d3c6bd;font-size:.82rem}

.feature-strip{background:var(--latte)}
.feature-grid{min-height:72px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}
.feature-grid span:not(:last-child){border-right:1px solid rgba(44,36,31,.22)}

.split{display:grid;grid-template-columns:1.02fr .98fr;gap:88px;align-items:center}
.about-images{min-height:590px;position:relative}
.image-main,.image-small{background-size:cover;background-position:center;border-radius:var(--radius);box-shadow:var(--shadow)}
.image-main{width:82%;height:500px;background-image:url("https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=1200&q=85")}
.image-small{position:absolute;right:0;bottom:0;width:48%;height:270px;border:8px solid #fff;background-image:url("https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=900&q=85")}
.badge{position:absolute;right:2%;top:45px;width:142px;height:142px;border-radius:50%;background:var(--latte);display:grid;place-content:center;text-align:center}
.badge strong{font:700 2.3rem/1 "Playfair Display"}
.badge span{max-width:92px;font-size:.69rem;text-transform:uppercase;font-weight:700}
.section-copy>p:not(.eyebrow){color:var(--muted);margin:28px 0 34px}
.story-points{display:grid;gap:24px}
.story-points h3{font-size:1.55rem;margin-bottom:7px}
.story-points p{color:var(--muted);font-size:.92rem}
.text-link{display:inline-block;margin-top:30px;color:var(--rust);text-transform:uppercase;letter-spacing:.06em;font-size:.81rem;font-weight:700}

.menu-section{background:var(--brown-dark);color:#fff}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}
.section-heading>p{max-width:490px;color:#7b726b}
.menu-section .section-heading>p{color:#beb1a8}
.centered{display:block;text-align:center;max-width:720px;margin:0 auto 50px}
.centered>p{margin:20px auto 0}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.menu-column{background:#fff;color:var(--text);border-radius:var(--radius);padding:34px}
.menu-column.featured{border:2px solid var(--rust);transform:translateY(-10px)}
.menu-column h3{font-size:2rem;margin-bottom:24px}
.menu-item{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #e8e1dc}
.menu-item strong{font-size:.98rem}
.menu-item p{color:var(--muted);font-size:.82rem;margin-top:4px}
.menu-item span{white-space:nowrap;color:var(--rust);font-weight:700}
.menu-note{text-align:center;color:#bfb2a9;margin-top:30px;font-size:.88rem}

.special{background:var(--cream)}
.special-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.special-copy>p:not(.eyebrow){color:var(--muted);margin:28px 0 32px}
.special-image{min-height:580px;border-radius:var(--radius);box-shadow:var(--shadow);background:url("https://images.unsplash.com/photo-1525351484163-7529414344d8?auto=format&fit=crop&w=1200&q=85") center/cover}

.gallery{background:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:16px}
.gallery-item{border-radius:16px;background-size:cover;background-position:center}
.g1{background-image:url("https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=900&q=85")}
.g2{background-image:url("https://images.unsplash.com/photo-1442512595331-e89e73853f31?auto=format&fit=crop&w=900&q=85")}
.g3{background-image:url("https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=900&q=85")}
.g4{background-image:url("https://images.unsplash.com/photo-1509440159596-0249088772ff?auto=format&fit=crop&w=900&q=85")}
.g5{background-image:url("https://images.unsplash.com/photo-1511081692775-05d0f180a065?auto=format&fit=crop&w=900&q=85")}
.g6{background-image:url("https://images.unsplash.com/photo-1511920170033-f8396924c348?auto=format&fit=crop&w=900&q=85")}

.reviews{background:var(--cream)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review-grid blockquote{margin:0;background:#fff;border-radius:var(--radius);padding:32px;box-shadow:0 15px 38px rgba(71,47,31,.08)}
.stars{color:var(--rust);letter-spacing:.14em}
.review-grid blockquote>p{margin:20px 0 28px}
.review-grid footer{display:flex;flex-direction:column}
.review-grid footer span{color:var(--muted);font-size:.82rem}

.visit-banner{background:var(--sage);color:#fff;padding:74px 0}
.visit-content{display:flex;justify-content:space-between;align-items:center;gap:30px}
.visit-content h2{font-size:clamp(3rem,5vw,4.8rem)}
.visit-content p:last-child{margin-top:15px;color:#e3e9df}

.contact{background:#fff}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.contact-copy>p:not(.eyebrow){color:var(--muted);margin:26px 0 36px}
.contact-list{display:grid;gap:20px}
.contact-list div{display:flex;flex-direction:column;padding-bottom:16px;border-bottom:1px solid var(--line)}
.contact-list strong{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}
.contact-list span{color:var(--muted);margin-top:4px}
.booking-form{background:var(--cream);border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:8px;margin-bottom:17px;font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
input,textarea,select{width:100%;border:1px solid #d7cec7;border-radius:8px;padding:14px 15px;background:#fff;outline:none;text-transform:none}
input:focus,textarea:focus,select:focus{border-color:var(--rust);box-shadow:0 0 0 3px rgba(184,107,69,.12)}
.booking-form .btn{width:100%}
.form-message{min-height:24px;margin-top:14px;color:var(--rust);font-weight:700}

.site-footer{background:#2b211b;color:#fff;padding:70px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:50px}
.footer-brand{display:inline-block;margin-bottom:18px}
.footer-grid h3{font-size:1.35rem;margin-bottom:18px}
.footer-grid a:not(.brand),.footer-grid p{display:block;color:#b9ada5;margin-bottom:8px;font-size:.9rem}
.footer-grid a:hover{color:#e7c9b4}
.footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);display:flex;justify-content:space-between;color:#8d827a;font-size:.8rem}

@media(max-width:980px){
  .main-nav{position:fixed;inset:82px 0 0;background:#2b211b;flex-direction:column;align-items:stretch;padding:34px 28px;transform:translateX(100%);transition:.3s}
  .main-nav.open{transform:translateX(0)}
  .main-nav>a:not(.btn){font-size:1.2rem;padding:10px 0}
  .menu-toggle{display:block}
  .split,.special-layout,.contact-layout{grid-template-columns:1fr;gap:55px}
  .menu-grid{grid-template-columns:1fr;max-width:700px;margin:auto}
  .menu-column.featured{transform:none}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .section{padding:80px 0}
  .container{width:min(100% - 28px,1160px)}
  .hero{min-height:750px;background-position:58% center}
  .hero h1{font-size:clamp(4rem,18vw,6rem)}
  .hero-actions .btn{width:100%}
  .hero-details{grid-template-columns:1fr;gap:14px;margin-top:44px}
  .feature-grid{grid-template-columns:repeat(2,1fr);padding:16px 0;gap:14px}
  .feature-grid span{border-right:0!important}
  .section-heading{display:block}
  .section-heading>p{margin-top:20px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .review-grid{grid-template-columns:1fr}
  .visit-content{flex-direction:column;align-items:flex-start}
  .field-row{grid-template-columns:1fr;gap:0}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;gap:8px}
}
@media(max-width:520px){
  .about-images{min-height:450px}
  .image-main{width:90%;height:380px}
  .image-small{width:52%;height:200px}
  .badge{width:112px;height:112px;right:0}
  .special-image{min-height:420px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:320px}
  .booking-form{padding:25px}
}
