:root{
  --marigold: #F5B800;
  --marigold-deep: #C98A00;
  --marigold-soft: #FFD84D;
  --ink: #2B1B12;
  --ink-soft: #4A362A;
  --leaf: #4C7A3C;
  --leaf-light: #7CA85E;
  --ivory: #FCD949;
  --card: #FFFDF8;
  --charcoal: #1B120B;
  --hairline: rgba(43,27,18,0.14);
  --shadow-lg: 0 40px 90px -30px rgba(43,27,18,0.4);
  --shadow-sm: 0 10px 30px -12px rgba(43,27,18,0.2);
  --radius-outer: 32px;
  --radius-inner: 18px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{
  margin:0;
  overflow-x:hidden;
  background: radial-gradient(130% 130% at 50% -10%, #FCD949 0%, #F5B800 55%, #E0A400 100%);
  font-family:'DM Sans', sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  padding: 28px 16px 60px;
}

.display{ font-family:'Fraunces', serif; }
.script{ font-family:'Caveat', cursive; }

.card{
  max-width: 1180px;
  margin: 0 auto;
  background: var(--card);
  border-radius: var(--radius-outer);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  border: 1px solid rgba(43,27,18,0.06);
}

/* ---------- NAV ---------- */
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 18px 40px;
  background: var(--ivory);
  position:relative;
}
.nav-logo{ display:flex; align-items:center; gap:10px; }
.nav-logo img{ height:88px; width:auto; display:block; } /* enlarged per client request */
.nav-links{ display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.nav-links a{
  color: var(--ink-soft); text-decoration:none; font-size:14.5px; font-weight:500;
  letter-spacing:.2px;
  position:relative;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:-6px; width:0; height:1.5px; background:var(--leaf);
  transition:width .25s ease;
}
.nav-links a:hover::after{ width:100%; }
.nav-cta{
  background: var(--ink); color:var(--ivory); border:none; padding:11px 22px;
  border-radius: 999px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit;
  transition: transform .2s ease, background .2s ease;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
}
.nav-cta:hover{ background: var(--leaf); transform: translateY(-1px); }

/* Hamburger toggle (mobile only) */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:38px;
  height:38px;
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
  z-index:1001;
}
.nav-toggle span{
  display:block;
  width:22px;
  height:2px;
  background: var(--ink);
  border-radius:2px;
  transition: transform .25s ease, opacity .25s ease;
}
.nav-toggle.is-open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height: 76vh;
  max-height: 680px;
  display:flex;
  align-items:flex-end;
  background: #111;
}
.hero img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.92;
  filter: brightness(0.82) saturate(1.05);
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(10,7,4,0.65) 0%, rgba(10,7,4,0.35) 40%, rgba(10,7,4,0.05) 65%),
    linear-gradient(180deg, rgba(10,7,4,0.25) 0%, rgba(10,7,4,0.2) 40%, rgba(10,7,4,0.85) 100%);
}
.hero-content{
  position:relative; z-index:2; padding: 60px 48px 56px; color:#fff; width:100%;
}
.hero h1{
  font-family:'Fraunces', serif; font-weight:450; font-size: clamp(34px,5.4vw,60px);
  margin:0 0 14px; line-height:1.05; letter-spacing:-1px; max-width:760px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.45);
}
.hero p{
  max-width:560px; font-size:16px; line-height:1.6; color:rgba(255,255,255,0.85); margin:0 0 28px;
  font-weight:400;
  text-shadow: 0 2px 12px rgba(0,0,0,0.45);
}
.hero-btns{ display:flex; gap:14px; flex-wrap:wrap; }
.btn-primary{
  background: var(--marigold); color: var(--ink); border:none; padding:14px 28px;
  border-radius:999px; font-weight:600; font-size:14.5px; cursor:pointer; font-family:inherit;
  box-shadow: 0 12px 26px -10px rgba(244,180,0,0.7);
  transition: transform .2s ease;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover{ transform: translateY(-2px); }
.btn-ghost{
  background: rgba(255,255,255,0.08); color:#fff; border:1px solid rgba(255,255,255,0.4);
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:14.5px; cursor:pointer;
  font-family:inherit; backdrop-filter: blur(4px);
}

/* Inner-page hero (Story, Gallery, Contact, Catering) — shorter than the home hero */
.hero.page-hero{
  min-height: 42vh;
  max-height: 380px;
}
.hero.page-hero .hero-content{
  padding: 44px 48px;
}
.hero.page-hero h1{
  font-size: clamp(30px,4.6vw,48px);
  max-width:640px;
}
.hero.page-hero p{
  margin-bottom:0;
}

/* ---------- INTERIOR SHOWCASE (after hero — inner pages) ---------- */
.interior-showcase{ padding-top:74px; padding-bottom:74px; }
.interior-showcase .section-head{ margin-bottom:44px; }
.interior-grid{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:20px;
}
.interior-item{
  position:relative; border-radius: var(--radius-inner); overflow:hidden;
  box-shadow: var(--shadow-sm); aspect-ratio: 3/4;
}
.interior-item img{
  width:100%; height:100%; object-fit:cover; display:block; transition: transform .5s ease;
}
.interior-item:hover img{ transform: scale(1.08); }

/* ---------- SECTION SHARED ---------- */
section{ padding: 90px 48px; position:relative; }
.section-head{ text-align:center; max-width:680px; margin:0 auto 56px; }
.section-head h2{
  font-family:'Fraunces', serif; font-weight:450; font-size: clamp(30px,4vw,44px); margin:0 0 12px; letter-spacing:-.5px;
}
.section-head p{ color:var(--ink-soft); font-size:15.5px; line-height:1.7; margin:0; }

/* ---------- WELCOME ---------- */
.welcome{ background: var(--ivory); }
.welcome-wrap{
  display:grid; grid-template-columns: 0.9fr 1.1fr; gap:56px; align-items:center;
}
.welcome-art{
  position:relative; border-radius: 24px; overflow:hidden; box-shadow: var(--shadow-sm);
  aspect-ratio: 4/5;
}
.welcome-art img{ width:100%; height:100%; object-fit:cover; }
.welcome-copy h2{
  font-family:'Fraunces', serif; font-weight:450; font-size: clamp(28px,3.6vw,40px); margin:0 0 18px; letter-spacing:-.5px;
}
.welcome-copy p{ color:var(--ink-soft); font-size:15.5px; line-height:1.8; margin:0 0 16px; }
.welcome-stats{ display:flex; gap:36px; margin-top:28px; flex-wrap:wrap; }
.stat b{ display:block; font-family:'Fraunces', serif; font-size:30px; color:var(--ink); }
.stat span{ font-size:12.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.5px; }
.stat.rating-stat b{ display:flex; align-items:center; gap:6px; }
.stat.rating-stat .stars{ color:var(--marigold-deep); font-size:16px; letter-spacing:1px; }

/* ---------- WHY KURRY PATTA (ICONS) ---------- */
.icon-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap:24px;
}
.icon-card{
  background: var(--card); border:1px solid var(--hairline); border-radius: var(--radius-inner);
  padding: 32px 26px; text-align:center; box-shadow: var(--shadow-sm);
  transition: transform .3s ease, box-shadow .3s ease;
}
.icon-card:hover{ transform: translateY(-6px); box-shadow: 0 24px 50px -20px rgba(43,27,18,0.3); }
.icon-card .icon-glyph{
  width:64px; height:64px; border-radius:50%; background: rgba(76,122,60,0.1);
  display:flex; align-items:center; justify-content:center; font-size:28px;
  margin: 0 auto 18px;
}
.icon-card h3{ font-family:'Fraunces', serif; font-weight:500; font-size:19px; margin:0 0 8px; }
.icon-card p{ font-size:13.8px; color:var(--ink-soft); line-height:1.6; margin:0; }

/* ---------- MENU / FOOD GRID ---------- */
.cuisine-pills{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:-20px auto 44px;
}
.cuisine-pills span{
  background: var(--card); border:1px solid var(--hairline); color:var(--ink-soft);
  font-size:13px; font-weight:600; padding:9px 18px; border-radius:999px; letter-spacing:.2px;
}
.menu-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
}
.dish-card{
  background: var(--card); border:1px solid var(--hairline); border-radius: var(--radius-inner);
  overflow:hidden; box-shadow: var(--shadow-sm); transition: transform .3s ease, box-shadow .3s ease;
}
.dish-card:hover{ transform: translateY(-6px); box-shadow: 0 24px 50px -20px rgba(43,27,18,0.3); }
.dish-img{ height:200px; overflow:hidden; background:#F0E9D8; display:flex; align-items:center; justify-content:center; }
.dish-img img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .5s ease; }
.dish-img.placeholder{ font-family:'Caveat', cursive; font-size:16px; color:var(--ink-soft); text-align:center; padding:20px; }
.dish-card:hover .dish-img img{ transform: scale(1.08); }
.dish-body{ padding:20px 22px 24px; }
.dish-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:6px; }
.dish-top h3{ font-family:'Fraunces', serif; font-weight:500; font-size:20px; margin:0; }
.dish-price{ font-family:'Caveat', cursive; font-size:22px; color:var(--marigold-deep); font-weight:700; white-space:nowrap; }
.dish-body p{ font-size:13.8px; color:var(--ink-soft); line-height:1.55; margin:0 0 10px; }
.dish-tag{
  display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600;
  color:var(--leaf); background: rgba(76,122,60,0.1); padding:4px 10px; border-radius:999px;
  letter-spacing:.3px; text-transform:uppercase; margin-top:10px;
}
.menu-cta-wrap{
  display:flex; justify-content:center; margin-top:44px;
}
.btn-menu{
  background: var(--ink); color:var(--ivory); border:none; padding:15px 32px;
  border-radius:999px; font-weight:600; font-size:14.5px; cursor:pointer; font-family:inherit;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  box-shadow: 0 14px 30px -12px rgba(43,27,18,0.5);
  transition: transform .2s ease, background .2s ease;
}
.btn-menu:hover{ background: var(--leaf); transform: translateY(-2px); }

/* ---------- CELEBRATE ---------- */
.celebrate{
  background: radial-gradient(120% 140% at 15% 15%, #3E6A31 0%, #2B4B22 55%, #1E3618 100%);
  position:relative; overflow:hidden;
}
.celebrate::before{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image: radial-gradient(rgba(245,184,0,0.14) 1.5px, transparent 1.5px);
  background-size: 26px 26px;
}
.celebrate-wrap{
  display:grid; grid-template-columns: 1.1fr 0.9fr; gap:56px; align-items:center;
  position:relative; z-index:1;
}
.celebrate-art{
  position:relative; border-radius: 24px; overflow:hidden; box-shadow: 0 30px 70px -25px rgba(0,0,0,0.6);
  aspect-ratio: 4/5; order:2; border:1px solid rgba(255,255,255,0.12);
}
.celebrate-art img{ width:100%; height:100%; object-fit:cover; }
.celebrate-copy h2{
  font-family:'Fraunces', serif; font-weight:450; font-size: clamp(28px,3.6vw,40px); margin:0 0 18px; letter-spacing:-.5px;
  color:#FBF6E8;
}
.celebrate-copy p{ color:rgba(251,246,232,0.8); font-size:15.5px; line-height:1.8; margin:0 0 16px; }
.celebrate-copy .hero-btns{ margin-top:12px; }
.celebrate-copy .btn-primary{ box-shadow: 0 12px 26px -10px rgba(0,0,0,0.5); }

/* ---------- GUEST EXPERIENCES / REVIEWS ---------- */
.reviews-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap:26px;
}
.review-card{
  background: var(--card); border:1px solid var(--hairline); border-radius: var(--radius-inner);
  padding: 26px 24px; box-shadow: var(--shadow-sm); display:flex; flex-direction:column;
}
.review-stars{ color:var(--marigold-deep); font-size:14px; letter-spacing:2px; margin-bottom:12px; }
.review-card p{ font-size:14px; color:var(--ink-soft); line-height:1.7; margin:0 0 18px; flex:1; }
.review-who{ display:flex; align-items:center; gap:12px; }
.review-avatar{
  width:40px; height:40px; border-radius:50%; overflow:hidden; flex:none;
  background: rgba(76,122,60,0.15); display:flex; align-items:center; justify-content:center;
  color:var(--leaf); font-family:'Fraunces', serif; font-weight:600; font-size:14px;
}
.review-name{ font-weight:600; font-size:13.5px; color:var(--ink); }
.review-meta{ font-size:11.5px; color:var(--ink-soft); }
.reviews-cta{ display:flex; justify-content:center; margin-top:40px; }

/* ---------- VISIT US / BRANCHES ---------- */
.branches-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap: 26px;
}
.branch-card{
  background: var(--card); border:1px solid var(--hairline); border-radius: var(--radius-inner);
  overflow:hidden; box-shadow: var(--shadow-sm); display:flex; flex-direction:column;
}
.branch-map{ height:190px; }
.branch-map iframe{ width:100%; height:100%; border:0; display:block; }
.branch-body{ padding:26px 26px 28px; flex:1; display:flex; flex-direction:column; }
.branch-body h3{ font-family:'Fraunces', serif; font-weight:500; font-size:24px; margin:0 0 14px; }
.branch-row{
  display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; font-size:14px; color:var(--ink-soft); line-height:1.55;
}
.branch-row svg{ flex:none; margin-top:2px; }
.branch-row a{ color:var(--ink-soft); text-decoration:none; }
.branch-row a:hover{ color:var(--leaf); }
.branch-cta{
  margin-top:16px; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  background: var(--ink); color:var(--ivory); text-decoration:none; padding:12px 20px;
  border-radius:999px; font-size:13.5px; font-weight:600; transition: background .2s ease, transform .2s ease;
}
.branch-cta:hover{ background: var(--leaf); transform: translateY(-1px); }

/* ---------- STORY PAGE (story.html) ---------- */
.story-row{
  display:grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap:48px;
  align-items:center;
}
.story-row + .story-row{
  margin-top:70px;
}
.story-row.reverse .story-art{ order:2; }
.story-row.reverse .story-copy{ order:1; }
.story-art{
  position:relative; border-radius:24px; overflow:hidden; box-shadow: var(--shadow-sm);
  aspect-ratio: 4/5;
}
.story-art img{ width:100%; height:100%; object-fit:cover; display:block; }
.story-copy h2{
  font-family:'Fraunces', serif; font-weight:450; font-size: clamp(26px,3.4vw,36px);
  margin:0 0 16px; letter-spacing:-.5px;
}
.story-art-wide{
  aspect-ratio: 16/10;
}
@media (max-width: 900px){
  .story-art-wide{ aspect-ratio: 16/10; } /* same as mobile default, kept for clarity */
}
.story-copy p{ color:var(--ink-soft); font-size:15.5px; line-height:1.8; margin:0; }


/* ---------- GALLERY PAGE (gallery.html) ---------- */
.gallery-filter{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:-20px auto 44px;
}
.gallery-filter button{
  background: var(--card); border:1px solid var(--hairline); color:var(--ink-soft);
  font-family:inherit; font-size:13px; font-weight:600; padding:10px 20px;
  border-radius:999px; letter-spacing:.2px; cursor:pointer; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.gallery-filter button:hover{ border-color: var(--leaf); color: var(--ink); }
.gallery-filter button.active{
  background: var(--ink); color: var(--ivory); border-color: var(--ink);
}
.gallery-grid{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:20px;
  grid-auto-rows: 220px;
}
.gallery-item{
  position:relative; border-radius: var(--radius-inner); overflow:hidden;
  box-shadow: var(--shadow-sm);
}
.gallery-item img{
  width:100%; height:100%; object-fit:cover; display:block; transition: transform .5s ease;
}
.gallery-item:hover img{ transform: scale(1.08); }
.gallery-item.gallery-empty-item{
  background: var(--card); border:1px dashed var(--hairline); box-shadow:none;
  display:flex; align-items:center; justify-content:center;
}
.gallery-empty{
  font-family:'Caveat', cursive; font-size:18px; color:var(--ink-soft); text-align:center; padding:20px;
}

/* ---------- CONTACT PAGE (contact.html) ---------- */
.contact-wrap{
  display:grid; grid-template-columns: 0.85fr 1.15fr; gap:56px; align-items:start;
}
.contact-info h3{
  font-family:'Fraunces', serif; font-weight:500; font-size:24px; margin:0 0 22px;
}
.contact-row{
  display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; font-size:14.5px;
  color:var(--ink-soft); line-height:1.6;
}
.contact-row svg{ flex:none; margin-top:2px; }
.contact-row a{ color:var(--ink-soft); text-decoration:none; }
.contact-row a:hover{ color:var(--leaf); }
.contact-note{
  margin-top:24px; padding-top:22px; border-top:1px solid var(--hairline);
  font-size:13.8px; color:var(--ink-soft); line-height:1.7;
}
.contact-note a{ color:var(--leaf); font-weight:600; text-decoration:none; }
.contact-note a:hover{ text-decoration:underline; }

/* ---------- FORMS (Contact + Catering) ---------- */
.simple-form{
  background: var(--card); border:1px solid var(--hairline); border-radius: var(--radius-inner);
  padding: 32px 30px; box-shadow: var(--shadow-sm);
}
.form-row{
  display:flex; gap:18px; margin-bottom:18px; flex-wrap:wrap;
}
.form-field{ flex:1 1 220px; display:flex; flex-direction:column; gap:6px; }
.form-field.full{ flex-basis:100%; }
.form-field label{
  font-size:12.5px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.4px;
}
.form-field input,
.form-field select,
.form-field textarea{
  font-family:inherit; font-size:14.5px; color:var(--ink); background:#fff;
  border:1px solid var(--hairline); border-radius:10px; padding:12px 14px;
  outline:none; transition: border-color .2s ease, box-shadow .2s ease;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color: var(--leaf); box-shadow: 0 0 0 3px rgba(76,122,60,0.15);
}
.form-field textarea{ resize:vertical; min-height:110px; }
.simple-form button[type="submit"]{
  width:100%; background: var(--ink); color:var(--ivory); border:none; padding:15px 24px;
  border-radius:999px; font-weight:600; font-size:14.5px; cursor:pointer; font-family:inherit;
  transition: background .2s ease, transform .2s ease;
}
.simple-form button[type="submit"]:hover{ background: var(--leaf); transform: translateY(-1px); }
.form-note{
  margin:14px 0 0; text-align:center; font-size:12.5px; color:var(--ink-soft);
}

/* ---------- LEGAL / POLICY CONTENT (privacy.html) ---------- */
.legal-content{
  max-width: 760px; margin: 0 auto;
}
.legal-updated{
  font-family:'Caveat', cursive; font-size:19px; color:var(--leaf); font-weight:600; margin:0 0 30px;
}
.legal-content h2{
  font-family:'Fraunces', serif; font-weight:500; font-size: clamp(20px,2.6vw,26px);
  color:var(--ink); margin: 40px 0 14px; letter-spacing:-.3px;
}
.legal-content h2:first-of-type{ margin-top:0; }
.legal-content p{
  color:var(--ink-soft); font-size:15px; line-height:1.8; margin:0 0 14px;
}
.legal-content ul{
  margin:0 0 16px; padding-left:22px; color:var(--ink-soft); font-size:15px; line-height:1.8;
}
.legal-content li{ margin-bottom:6px; }
.legal-content a{ color:var(--leaf); font-weight:600; text-decoration:none; }
.legal-content a:hover{ text-decoration:underline; }
.legal-content strong{ color:var(--ink); }

/* ---------- FOOTER ---------- */
footer{
  background: var(--charcoal); color: #EFE6D8; padding: 64px 48px 30px;
}
.footer-grid{
  display:grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:44px;
  border-bottom:1px solid rgba(239,230,216,0.12);
}
.footer-brand img{ height:44px; margin-bottom:14px; }
.footer-brand p{ font-size:13.8px; color:rgba(239,230,216,0.6); line-height:1.7; max-width:260px; }
.footer-col h4{
  font-family:'Caveat', cursive; font-size:20px; color:var(--marigold); margin:0 0 16px; font-weight:600;
}
.footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; }
.footer-col a, .footer-col span{ color:rgba(239,230,216,0.75); text-decoration:none; font-size:13.8px; }
.footer-col a:hover{ color:var(--marigold); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:12px;
}
.footer-bottom p{ font-size:12.5px; color:rgba(239,230,216,0.45); margin:0; }
.footer-bottom .legal-links{ display:flex; gap:16px; }
.footer-bottom .legal-links a{ font-size:12.5px; color:rgba(239,230,216,0.55); text-decoration:none; }
.footer-bottom .legal-links a:hover{ color:var(--marigold); }
.footer-social{ display:flex; gap:14px; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(239,230,216,0.25);
  display:flex; align-items:center; justify-content:center; color:#EFE6D8; text-decoration:none;
  transition: background .2s ease, border-color .2s ease;
}
.footer-social a:hover{ background: var(--marigold); border-color:var(--marigold); color:var(--ink); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  section{ padding: 64px 22px; }
  .nav{ padding:14px 22px; }
  .hero-content{ padding: 32px 24px 32px; }
  .hero{ min-height: 62vh; max-height: 560px; }
  .hero.page-hero{ min-height: 34vh; max-height: 300px; }
  .hero.page-hero .hero-content{ padding: 28px 24px; }
  .welcome-wrap, .celebrate-wrap{ grid-template-columns:1fr; }
  .celebrate-art{ order:0; }
  .welcome-art{ aspect-ratio: 16/10; }
  .celebrate-art{ aspect-ratio: 16/10; }
  .menu-grid{ grid-template-columns: repeat(2,1fr); }
  .icon-grid{ grid-template-columns: repeat(2,1fr); }
  .reviews-grid{ grid-template-columns: repeat(2,1fr); }
  .branches-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }

  .story-row,
  .story-row.reverse{ grid-template-columns:1fr; }
  .story-row.reverse .story-art{ order:0; }
  .story-row.reverse .story-copy{ order:1; }
  .story-art{ aspect-ratio: 16/10; }
  .story-row + .story-row{ margin-top:48px; }

  .gallery-grid{ grid-template-columns: repeat(3,1fr); grid-auto-rows:180px; }

  .interior-showcase{ padding-top:54px; padding-bottom:54px; }
  .interior-grid{ grid-template-columns: repeat(2,1fr); }

  .contact-wrap{ grid-template-columns:1fr; }

  /* Mobile nav menu */
  .nav-toggle{ display:flex; }
  .nav-links{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--ivory);
    gap:0;
    max-height:0;
    overflow:hidden;
    box-shadow: 0 18px 34px -14px rgba(43,27,18,0.3);
    transition: max-height .35s ease;
    z-index:1000;
    border-top:1px solid var(--hairline);
  }
  .nav-links.active{ max-height:480px; }
  .nav-links li{ width:100%; }
  .nav-links a{
    display:block;
    padding:15px 24px;
    border-bottom:1px solid var(--hairline);
    font-size:15px;
  }
  .nav-links a::after{ display:none; }
}
@media (max-width: 560px){
  .menu-grid{ grid-template-columns: 1fr; }
  .icon-grid{ grid-template-columns: 1fr; }
  .reviews-grid{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
  .hero{ min-height: 56vh; max-height: 460px; }
  .hero-content{ padding: 26px 20px 26px; }
  .hero h1{ font-size: 38px; }
  .hero p{ font-size:14.5px; }
  body{ padding: 14px 10px 40px; }
  .card{ border-radius: 22px; }
  section{ padding: 48px 18px; }
  .nav{ padding:12px 18px; }
  .nav-logo img{ height:68px; } /* enlarged per client request */
  .nav-cta{ padding:9px 16px; font-size:12.5px; }
  .section-head{ margin-bottom:38px; }
  .welcome-stats{ gap:22px; flex-wrap:wrap; }
  .cuisine-pills{ margin-top:0; }
  .footer-grid{ gap:30px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }

  .gallery-grid{ grid-template-columns: repeat(2,1fr); grid-auto-rows:150px; gap:14px; }
  .gallery-filter{ margin-top:0; gap:8px; }
  .gallery-filter button{ padding:8px 14px; font-size:12px; }

  .interior-showcase{ padding-top:40px; padding-bottom:40px; }
  .interior-grid{ grid-template-columns: 1fr 1fr; gap:12px; }

  .simple-form{ padding:24px 20px; }
  .form-row{ gap:14px; }
}

/* ---------- MOBILE CONTACT BUTTONS ---------- */
.mobile-contact-btns{
  display:none; /* hidden by default (desktop) */
}

@media (max-width: 900px){
  .mobile-contact-btns{
    display:flex;
    flex-direction:column;
    gap:12px;
    position:fixed;
    right:16px;
    bottom:20px;
    z-index:999;
  }
  .mobile-contact-btns a{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow: 0 10px 24px -8px rgba(43,27,18,0.45);
    transition: transform .2s ease;
  }
  .mobile-contact-btns a:active{
    transform: scale(0.92);
  }
  .btn-whatsapp{
    background: #25D366;
  }
  .btn-call{
    background: var(--ink);
  }
  .mobile-contact-btns svg{
    width:24px;
    height:24px;
  }
}
