/* ==========================================================================
   RAVI CATERING SERVICES — Design tokens
   Palette: antique maroon + burnished gold on warm cream, deep charcoal-brown dark
   Type: Fraunces (display, warm & characterful) + Manrope (body) + Caveat (signature note)
   Signature: marigold toran divider + brass thali-ring motif (Punjabi wedding/langar cues)
   ========================================================================== */
:root{
  --maroon: #7A1B1B;
  --maroon-dark: #4E1010;
  --maroon-tint: #FBEAEA;
  --gold: #C89B3C;
  --gold-light: #E8C574;
  --cream: #FBF3E7;
  --cream-2: #F5E9D8;
  --charcoal: #211714;
  --charcoal-2: #2E211C;
  --ink: #3A2A22;
  --ink-soft: #6B584D;
  --white: #FFFFFF;

  --font-display: 'Fraunces', serif;
  --font-body: 'Manrope', sans-serif;
  --font-note: 'Caveat', cursive;

  --radius: 14px;
  --radius-sm: 8px;
  --shadow: 0 20px 45px -20px rgba(74, 24, 12, 0.35);
  --shadow-sm: 0 8px 20px -10px rgba(74, 24, 12, 0.25);
  --container: 1200px;
  --transition: 0.35s cubic-bezier(.25,.8,.25,1);
}

*{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; }
body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  position: relative;
}

/* ==========================================================================
   DECORATIVE FLOATING BUBBLES — green / maroon / white, subtle, site-wide.
   Pure CSS, no HTML needed; applies automatically to every page.
   ========================================================================== */
body::before{
  content:'';
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(46,125,50,0.13) 0%, rgba(46,125,50,0.13) 60%, transparent 62%),
    radial-gradient(circle, rgba(122,27,27,0.11) 0%, rgba(122,27,27,0.11) 60%, transparent 62%),
    radial-gradient(circle, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.5) 60%, transparent 62%),
    radial-gradient(circle, rgba(46,125,50,0.10) 0%, rgba(46,125,50,0.10) 60%, transparent 62%),
    radial-gradient(circle, rgba(122,27,27,0.09) 0%, rgba(122,27,27,0.09) 60%, transparent 62%),
    radial-gradient(circle, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.4) 60%, transparent 62%),
    radial-gradient(circle, rgba(46,125,50,0.08) 0%, rgba(46,125,50,0.08) 60%, transparent 62%),
    radial-gradient(circle, rgba(122,27,27,0.10) 0%, rgba(122,27,27,0.10) 60%, transparent 62%);
  background-repeat: no-repeat;
  background-size:
    120px 120px, 90px 90px, 60px 60px, 80px 80px,
    150px 150px, 45px 45px, 100px 100px, 70px 70px;
  background-position:
    8% 15%, 88% 10%, 70% 78%, 22% 68%,
    50% 42%, 92% 58%, 4% 85%, 42% 6%;
  animation: bubbleDrift 24s ease-in-out infinite alternate;
}
@keyframes bubbleDrift{
  0%   { transform: translateY(0) translateX(0); }
  50%  { transform: translateY(-22px) translateX(10px); }
  100% { transform: translateY(-40px) translateX(-8px); }
}
@media (prefers-reduced-motion: reduce){
  body::before{ animation: none; }
}
@media (max-width: 600px){
  body::before{
    background-size:
      70px 70px, 55px 55px, 40px 40px, 50px 50px,
      90px 90px, 30px 30px, 60px 60px, 45px 45px;
  }
}

img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
button{ font-family: inherit; cursor:pointer; border:none; background:none; }
h1,h2,h3,h4{ font-family: var(--font-display); color: var(--maroon-dark); line-height:1.15; font-weight:600; }
.container{ max-width: var(--container); margin:0 auto; padding: 0 24px; position: relative; z-index: 2; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior:auto !important; }
}

:focus-visible{ outline: 3px solid var(--gold); outline-offset: 3px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 13px 26px; border-radius: 100px;
  font-family: var(--font-body); font-weight:700; font-size: 0.95rem;
  letter-spacing: 0.2px; transition: transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
  border: 2px solid transparent; white-space: nowrap;
}
.btn--primary{ background: var(--maroon); color: var(--white); box-shadow: var(--shadow-sm); }
.btn--primary:hover{ background: var(--maroon-dark); transform: translateY(-2px); box-shadow: var(--shadow); }
.btn--outline{ border-color: var(--maroon); color: var(--maroon); }
.btn--outline:hover{ background: var(--maroon); color:#fff; transform: translateY(-2px); }
.btn--outline-light{ border-color: rgba(255,255,255,0.7); color:#fff; }
.btn--outline-light:hover{ background:#fff; color: var(--maroon-dark); }
.btn--ghost-light{ color: var(--cream); border-color: transparent; padding: 8px 14px; font-size: 0.85rem; }
.btn--ghost-light:hover{ color: var(--gold-light); }
.btn--whatsapp{ background:#25D366; color:#fff; }
.btn--whatsapp:hover{ background:#1DA851; transform: translateY(-2px); box-shadow: var(--shadow); }
.btn--estimate{ background: linear-gradient(120deg, var(--gold), #B8862E); color: var(--charcoal); font-weight:800; }
.btn--estimate:hover{ background: linear-gradient(120deg, #B8862E, var(--gold)); transform: translateY(-2px); box-shadow: var(--shadow); }
.btn--lg{ padding: 16px 34px; font-size: 1.02rem; }
.btn--sm{ padding: 8px 16px; font-size: 0.82rem; }
.btn--block{ width:100%; }

/* ---------- Top bar ---------- */
.topbar{ background: var(--charcoal); color: var(--cream-2); font-size: 0.85rem; }
.topbar__inner{ display:flex; align-items:center; justify-content:space-between; padding: 9px 24px; gap: 16px; flex-wrap: wrap; }
.topbar__left{ display:flex; align-items:center; gap: 22px; flex-wrap: wrap; }
.topbar__left a{ color: var(--cream-2); opacity:0.9; transition: opacity var(--transition), color var(--transition); }
.topbar__left a:hover{ opacity:1; color: var(--gold-light); }
.topbar__hours{ opacity:0.75; }
.topbar__right{ display:flex; align-items:center; gap: 14px; }
.topbar__social{ display:flex; gap:10px; }
.topbar__social a{ width:26px; height:26px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-size:0.75rem; transition: background var(--transition), border-color var(--transition); }
.topbar__social a:hover{ background: var(--gold); border-color: var(--gold); color: var(--charcoal); }

/* Language switcher */
.lang-switch{ position:relative; z-index: 700; }
.lang-switch__btn{ display:flex; align-items:center; gap:6px; color: var(--cream-2); font-size:0.78rem; font-weight:700; padding: 5px 10px; border-radius:100px; border:1px solid rgba(255,255,255,0.25); transition: all var(--transition); }
.lang-switch__btn:hover{ border-color: var(--gold-light); color: var(--gold-light); }
.lang-switch__btn i:last-child{ font-size:0.6rem; transition: transform var(--transition); }
.lang-switch.is-open .lang-switch__btn i:last-child{ transform: rotate(180deg); }
.lang-switch__menu{ position:absolute; top: calc(100% + 8px); left:0; background: var(--white); border-radius: var(--radius-sm); box-shadow: var(--shadow); min-width:170px; padding:6px; display:none; z-index:1000; }
.lang-switch.is-open .lang-switch__menu{ display:block; }
.lang-switch__menu li{ padding: 9px 12px; border-radius:6px; font-size:0.86rem; font-weight:600; color: var(--ink); cursor:pointer; transition: background var(--transition); }
.lang-switch__menu li:hover{ background: var(--cream); }
.lang-switch__menu li.is-active{ color: var(--maroon); background: var(--maroon-tint); }
@media (max-width: 900px){ .lang-switch{ order:-1; } }

/* ---------- Header ---------- */
.header{ position: sticky; top:0; z-index: 500; background: rgba(251,243,231,0.92); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(122,27,27,0.08); transition: box-shadow var(--transition), padding var(--transition); }
.header.is-stuck{ box-shadow: 0 10px 30px -18px rgba(74,24,12,0.4); }
.header__inner{ display:flex; align-items:center; justify-content:space-between; padding: 14px 24px; gap: 20px; }
.logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo__mark{ width:42px; height:42px; border-radius:50%; background: linear-gradient(135deg, var(--maroon), var(--maroon-dark)); color: var(--gold-light); display:flex; align-items:center; justify-content:center; font-size:1.05rem; box-shadow: var(--shadow-sm); }
.logo__text{ font-family: var(--font-display); font-size:1.28rem; font-weight:700; color: var(--maroon-dark); }
.logo__text em{ display:block; font-style: normal; font-size: 0.62rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); font-family: var(--font-body); font-weight:700; }

.nav__list{ display:flex; gap: 26px; }
.nav__list a{ font-size: 0.92rem; font-weight:600; color: var(--ink); position:relative; padding: 6px 0; transition: color var(--transition); }
.nav__list a::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background: var(--gold); transition: width var(--transition); }
.nav__list a:hover, .nav__list a.active{ color: var(--maroon); }
.nav__list a:hover::after, .nav__list a.active::after{ width:100%; }

.header__cta{ flex-shrink:0; }
.hamburger{ display:none; flex-direction:column; gap:5px; width:32px; }
.nav__close{ display:none; }
.hamburger span{ height:2px; background: var(--maroon-dark); border-radius:2px; transition: transform var(--transition), opacity var(--transition); }

/* ---------- Hero ---------- */
.hero{ position:relative; min-height: 92vh; display:flex; align-items:center; overflow:hidden; z-index: 2; }
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; }
.hero__overlay{ position:absolute; inset:0; background: linear-gradient(100deg, rgba(20,10,8,0.88) 10%, rgba(74,16,16,0.7) 55%, rgba(20,10,8,0.55) 100%); }
.hero__thali{ position:absolute; right:-120px; top:50%; transform: translateY(-50%); width:520px; height:520px; opacity:0.55; z-index:1; }
.hero__inner{ position:relative; z-index:2; color:#fff; max-width: 720px; padding-top: 60px; padding-bottom:60px; }
.eyebrow{ display:inline-block; font-weight:700; letter-spacing:2px; text-transform:uppercase; font-size:0.78rem; color: var(--gold-light); margin-bottom: 14px; }
.hero .eyebrow{ background: rgba(255,255,255,0.08); border: 1px solid rgba(232,197,116,0.4); padding: 6px 16px; border-radius: 100px; }
.hero h1{ font-size: clamp(2.4rem, 5vw, 3.9rem); color:#fff; font-weight:600; margin-bottom: 20px; }
.hero__lede{ font-size: 1.1rem; color: rgba(255,255,255,0.88); max-width: 560px; margin-bottom: 32px; }
.hero__actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom: 30px; }
.hero__tagline{ font-family: var(--font-note); font-size: 1.6rem; color: var(--gold-light); }
.hero__scroll{ position:absolute; bottom: 28px; left:50%; transform: translateX(-50%); z-index:2; color:#fff; width:42px; height:42px; border:1px solid rgba(255,255,255,0.4); border-radius:50%; display:flex; align-items:center; justify-content:center; animation: bob 2.2s ease-in-out infinite; }
@keyframes bob{ 0%,100%{ transform: translate(-50%,0);} 50%{ transform: translate(-50%,8px);} }

/* Toran / marigold divider — signature element */
.toran{ position:relative; height: 46px; background: var(--charcoal); overflow:hidden; }
.toran svg{ width:100%; height:100%; }
.toran__marigolds{ position:absolute; top:0; left:0; width:100%; display:flex; justify-content:space-evenly; padding-top: 4px; }
.toran__marigolds span{ width:16px; height:16px; border-radius:50%; background: radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 60%, #9c7420 100%); box-shadow: 0 3px 6px rgba(0,0,0,0.35); position:relative; top: 2px; }
.toran__marigolds span:nth-child(3n){ transform: translateY(6px) scale(0.85); }
.toran__marigolds span:nth-child(4n){ transform: translateY(-2px) scale(0.7); }

/* ---------- Section basics ---------- */
.section{ padding: 96px 0; }
.section__head{ max-width: 640px; margin: 0 auto 52px; text-align:center; }
.section__head h2{ font-size: clamp(1.9rem, 3vw, 2.6rem); }
.section__sub{ margin-top:10px; color: var(--ink-soft); }
.section__head--light .eyebrow{ color: var(--gold-light); }
.section__head--light h2{ color:#fff; }

/* ---------- Why choose us ---------- */
.why{ background: var(--white); }
.why__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:28px; }
.why__card{ background: var(--cream); border-radius: var(--radius); padding: 34px 28px; text-align:center; transition: transform var(--transition), box-shadow var(--transition); border: 1px solid rgba(122,27,27,0.06); }
.why__card:hover{ transform: translateY(-6px); box-shadow: var(--shadow); }
.why__card i{ font-size: 1.7rem; color: var(--maroon); width:64px; height:64px; border-radius:50%; background: var(--maroon-tint); display:flex; align-items:center; justify-content:center; margin: 0 auto 18px; }
.why__card h3{ font-size:1.12rem; margin-bottom:8px; }
.why__card p{ color: var(--ink-soft); font-size:0.94rem; }

/* ---------- About ---------- */
.about__grid{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items:center; }
.about__media{ position:relative; }
.about__media img{ border-radius: var(--radius); box-shadow: var(--shadow); }
.about__badge{ position:absolute; bottom:-24px; left:-24px; background: var(--maroon); color:#fff; border-radius: var(--radius-sm); padding: 18px 22px; text-align:center; box-shadow: var(--shadow); }
.about__badge strong{ display:block; font-family: var(--font-display); font-size:1.6rem; color: var(--gold-light); }
.about__badge span{ font-size:0.72rem; letter-spacing:0.5px; text-transform:uppercase; }
.about__content p{ color: var(--ink-soft); margin-bottom:16px; }
.about__content h2{ margin-bottom:18px; }
.counters{ display:grid; grid-template-columns: repeat(4,1fr); gap:14px; margin: 28px 0 30px; }
.counter{ text-align:center; padding: 16px 8px; background: var(--cream); border-radius: var(--radius-sm); }
.counter__num{ font-family: var(--font-display); font-size:1.9rem; color: var(--maroon); font-weight:700; }
.counter__plus{ font-family: var(--font-display); font-size:1.9rem; color: var(--gold); font-weight:700; }
.counter p{ font-size: 0.76rem; color: var(--ink-soft); margin-top:4px; }

/* ---------- Services ---------- */
.services{ background: var(--white); }
.services__grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.service-card{ background: var(--cream); border-radius: var(--radius); overflow:hidden; transition: transform var(--transition), box-shadow var(--transition); border: 1px solid rgba(122,27,27,0.06); }
.service-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow); }
.service-card__img{ height: 170px; overflow:hidden; }
.service-card__img img{ width:100%; height:100%; object-fit:cover; transition: transform 0.6s ease; }
.service-card:hover .service-card__img img{ transform: scale(1.08); }
.service-card__body{ padding: 22px 22px 26px; }
.service-card__body h3{ font-size:1.08rem; margin-bottom:8px; }
.service-card__body p{ color: var(--ink-soft); font-size: 0.9rem; margin-bottom:16px; min-height: 44px; }
.service-card__actions{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.link{ color: var(--maroon); font-weight:700; font-size: 0.86rem; display:inline-flex; align-items:center; gap:6px; transition: gap var(--transition); }
.link:hover{ gap:10px; }

/* ---------- Menu ---------- */
.menu__tabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom: 40px; }
.menu__tab{ padding: 10px 20px; border-radius:100px; background: var(--white); border: 1px solid rgba(122,27,27,0.15); color: var(--ink); font-weight:600; font-size:0.87rem; transition: all var(--transition); }
.menu__tab:hover{ border-color: var(--maroon); }
.menu__tab.active{ background: var(--maroon); color:#fff; border-color: var(--maroon); }
.menu__panel{ display:none; grid-template-columns: repeat(3,1fr); gap:22px; }
.menu__panel.active{ display:grid; animation: fadein 0.5s ease; }
@keyframes fadein{ from{ opacity:0; transform: translateY(8px);} to{opacity:1; transform:translateY(0);} }
.menu-item{ display:flex; gap:14px; background: var(--white); border-radius: var(--radius-sm); padding:14px; align-items:center; box-shadow: var(--shadow-sm); }
.menu-item img{ width:76px; height:76px; border-radius:50%; object-fit:cover; flex-shrink:0; border: 3px solid var(--cream-2); }
.menu-item h4{ font-size:1rem; margin-bottom:4px; }
.menu-item p{ font-size:0.84rem; color: var(--ink-soft); }

/* ---------- Events ---------- */
.events{ background: var(--white); }
.events__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px; }
.event-tile{ height:190px; border-radius: var(--radius-sm); background-size:cover; background-position:center; position:relative; display:flex; align-items:flex-end; overflow:hidden; }
.event-tile::before{ content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(20,10,8,0) 40%, rgba(20,10,8,0.85) 100%); transition: background var(--transition); }
.event-tile:hover::before{ background: linear-gradient(180deg, rgba(122,27,27,0.15) 0%, rgba(78,16,16,0.9) 100%); }
.event-tile span{ position:relative; color:#fff; font-family: var(--font-display); font-size:1.08rem; padding: 16px; }

/* ---------- How it works ---------- */
.how{ background: var(--charcoal); position:relative; }
.how::before{ content:''; position:absolute; inset:0; background: radial-gradient(circle at 15% 20%, rgba(200,155,60,0.08), transparent 40%); }
.how__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap: 30px; position:relative; }
.how__step{ text-align:center; padding: 10px; }
.how__num{ font-family: var(--font-display); font-size: 3rem; color: transparent; -webkit-text-stroke: 1.5px var(--gold-light); margin-bottom: 12px; }
.how__step h3{ color:#fff; font-size:1.1rem; margin-bottom:8px; }
.how__step p{ color: rgba(255,255,255,0.65); font-size:0.9rem; }

/* ---------- Gallery ---------- */
.gallery__filters{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:36px; }
.gallery__filter{ padding: 8px 18px; border-radius:100px; background: var(--white); border: 1px solid rgba(122,27,27,0.15); font-size:0.84rem; font-weight:600; transition: all var(--transition); }
.gallery__filter.active, .gallery__filter:hover{ background: var(--maroon); color:#fff; border-color: var(--maroon); }
.gallery__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px; }
.gallery__item{ position:relative; border-radius: var(--radius-sm); overflow:hidden; aspect-ratio: 1/1; display:block; }
.gallery__item img{ width:100%; height:100%; object-fit:cover; transition: transform 0.5s ease; }
.gallery__item i{ position:absolute; inset:0; margin:auto; width:40px; height:40px; display:flex; align-items:center; justify-content:center; color:#fff; background: rgba(122,27,27,0.6); border-radius:50%; opacity:0; transition: opacity var(--transition); }
.gallery__item:hover img{ transform: scale(1.1); }
.gallery__item:hover i{ opacity:1; }
.gallery__item.is-hidden{ display:none; }

.lightbox{ position:fixed; inset:0; background: rgba(20,10,8,0.92); z-index:2000; display:none; align-items:center; justify-content:center; padding: 40px; }
.lightbox.is-open{ display:flex; }
.lightbox img{ max-width:100%; max-height:80vh; border-radius: var(--radius-sm); box-shadow: 0 30px 60px rgba(0,0,0,0.5); }
.lightbox__close{ position:absolute; top:24px; right:30px; color:#fff; font-size:1.6rem; width:44px; height:44px; border:1px solid rgba(255,255,255,0.3); border-radius:50%; display:flex; align-items:center; justify-content:center; }

/* Lightbox social share bar */
.lightbox__share{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.lightbox__share-label{ color: rgba(255,255,255,0.7); font-size:0.85rem; font-weight:700; margin-right:4px; }
.lightbox__share a, .lightbox__share button{ width:38px; height:38px; border-radius:50%; background: rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.25); color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.9rem; transition: all var(--transition); }
.lightbox__share a:hover, .lightbox__share button:hover{ background: var(--gold); border-color: var(--gold); color: var(--charcoal); transform: translateY(-2px); }
.lightbox__toast{ position:fixed; bottom:30px; left:50%; transform: translateX(-50%) translateY(20px); background: var(--maroon); color:#fff; padding:12px 22px; border-radius:100px; font-size:0.86rem; font-weight:700; box-shadow: var(--shadow); opacity:0; visibility:hidden; transition: all var(--transition); z-index:3000; }
.lightbox__toast.is-visible{ opacity:1; visibility:visible; transform: translateX(-50%) translateY(0); }

/* ---------- Testimonials ---------- */
.testimonials{ background: var(--charcoal); }
.testiSwiper{ padding-bottom: 50px; }
.testi-card{ background: var(--charcoal-2); border-radius: var(--radius); padding: 32px; height:100%; border: 1px solid rgba(232,197,116,0.15); }
.testi-card__stars{ color: var(--gold); margin-bottom:14px; font-size:0.9rem; letter-spacing:3px; }
.testi-card p{ color: rgba(255,255,255,0.85); font-size:0.98rem; margin-bottom: 22px; min-height: 96px; }
.testi-card__user{ display:flex; align-items:center; gap:12px; }
.testi-card__user img{ width:46px; height:46px; border-radius:50%; object-fit:cover; border: 2px solid var(--gold); }
.testi-card__user strong{ color:#fff; display:block; font-size:0.92rem; }
.testi-card__user span{ color: var(--gold-light); font-size:0.78rem; }
.swiper-pagination-bullet{ background: var(--gold-light); opacity:0.4; }
.swiper-pagination-bullet-active{ opacity:1; background: var(--gold); }

/* ---------- Quote form ---------- */
.quote{ background: var(--white); }
.quote__grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap: 60px; align-items:flex-start; }
.quote__intro h2{ margin-bottom:16px; }
.quote__intro p{ color: var(--ink-soft); margin-bottom: 20px; }
.quote__points{ margin-bottom:26px; }
.quote__points li{ display:flex; align-items:center; gap:10px; margin-bottom:12px; font-weight:600; font-size:0.94rem; }
.quote__points i{ color: var(--maroon); }
.quote__direct{ display:flex; gap:12px; flex-wrap:wrap; }

.quote__form{ background: var(--cream); border-radius: var(--radius); padding: 34px; box-shadow: var(--shadow); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.form-group{ display:flex; flex-direction:column; gap:6px; position:relative; }
.form-group label{ font-size:0.84rem; font-weight:700; color: var(--maroon-dark); }
.form-group input, .form-group select, .form-group textarea{
  padding: 12px 14px; border-radius: var(--radius-sm); border: 1.5px solid rgba(122,27,27,0.18); font-family: inherit; font-size:0.92rem; background:#fff; color: var(--ink); transition: border-color var(--transition), box-shadow var(--transition);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{ border-color: var(--maroon); box-shadow: 0 0 0 4px rgba(122,27,27,0.08); outline:none; }
.form-error{ display:none; color:#b3261e; font-size:0.76rem; }
.form-group.has-error input, .form-group.has-error select{ border-color:#b3261e; }
.form-group.has-error .form-error{ display:block; }
.radio-group{ display:flex; gap:16px; flex-wrap:wrap; padding-top:4px; }
.radio-group label{ display:flex; align-items:center; gap:6px; font-weight:500; font-size:0.9rem; color: var(--ink); }
.quote__form-actions{ display:flex; flex-direction:column; gap:12px; margin-top: 10px; }

/* ---------- Contact ---------- */
.contact__grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 46px; }
.contact__row{ display:flex; gap:16px; padding: 16px 0; border-bottom: 1px solid rgba(122,27,27,0.1); }
.contact__row i{ width:44px; height:44px; border-radius:50%; background: var(--maroon-tint); color: var(--maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact__row strong{ display:block; font-size:0.86rem; color: var(--maroon-dark); }
.contact__row a, .contact__row span{ color: var(--ink-soft); font-size:0.94rem; }
.contact__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top: 24px; }
.contact__map{ border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); min-height: 360px; }

/* ---------- FAQ ---------- */
.faq__wrap{ max-width: 820px; }
.accordion__item{ border-bottom: 1px solid rgba(122,27,27,0.14); }
.accordion__head{ width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; padding: 20px 4px; font-weight:700; font-size:1rem; color: var(--maroon-dark); }
.accordion__head i{ color: var(--gold); transition: transform var(--transition); }
.accordion__item.is-open .accordion__head i{ transform: rotate(45deg); }
.accordion__body{ max-height:0; overflow:hidden; transition: max-height var(--transition); }
.accordion__body p{ padding: 0 4px 20px; color: var(--ink-soft); font-size:0.94rem; }

/* ---------- Final CTA ---------- */
.cta-final{ background: linear-gradient(120deg, var(--maroon), var(--maroon-dark)); position:relative; overflow:hidden; }
.cta-final::after{ content:''; position:absolute; right:-80px; top:-80px; width:280px; height:280px; border-radius:50%; border: 2px solid rgba(232,197,116,0.25); }
.cta-final__inner{ text-align:center; padding: 90px 24px; position:relative; }
.cta-final__inner h2{ color:#fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin-bottom: 14px; }
.cta-final__inner p{ color: rgba(255,255,255,0.85); margin-bottom: 30px; }
.cta-final__actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer ---------- */
.footer{ background: var(--charcoal); color: rgba(255,255,255,0.7); }
.footer__grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px; padding: 70px 24px 50px; }
.logo--footer .logo__text{ color:#fff; }
.footer__col p{ margin-top:16px; font-size:0.9rem; line-height:1.7; }
.footer__col h4{ color:#fff; font-size:1rem; margin-bottom:18px; }
.footer__col ul li{ margin-bottom:10px; font-size:0.9rem; }
.footer__col ul li a{ transition: color var(--transition); }
.footer__col ul li a:hover{ color: var(--gold-light); }
.footer__contact li{ display:flex; align-items:center; gap:10px; }
.footer__social{ display:flex; gap:10px; margin-top:18px; }
.footer__social a{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; transition: all var(--transition); }
.footer__social a:hover{ background: var(--gold); border-color: var(--gold); color: var(--charcoal); }
.footer__bottom{ border-top: 1px solid rgba(255,255,255,0.1); padding: 20px 0; text-align:center; font-size:0.82rem; }
.footer__credit{ margin-top: 8px; font-size: 0.76rem; color: rgba(255,255,255,0.4); }
.footer__credit strong{ color: rgba(255,255,255,0.6); font-weight:700; }
.footer__credit a{ color: rgba(255,255,255,0.55); transition: color var(--transition); }
.footer__credit a:hover{ color: var(--gold-light); text-decoration: underline; }

/* SEO keyword footer block */
.footer__keywords{ border-top: 1px solid rgba(255,255,255,0.08); padding: 26px 0; background: rgba(0,0,0,0.15); }
.footer__keywords-title{ color: var(--gold-light); font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.6px; margin-bottom:8px; }
.footer__keywords-title:not(:first-child){ margin-top:18px; }
.footer__keywords-text{ color: rgba(255,255,255,0.45); font-size:0.74rem; line-height:1.9; }
.footer__keywords-text a{ color: rgba(255,255,255,0.65); font-weight:700; text-decoration: underline; text-underline-offset: 2px; transition: color var(--transition); }
.footer__keywords-text a:hover{ color: var(--gold-light); }

/* ---------- Floating mobile buttons ---------- */
.float-btn{ position:fixed; z-index:400; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.35rem; box-shadow: var(--shadow); transition: transform var(--transition); }
.float-btn:hover{ transform: scale(1.08); }
.float-btn--whatsapp{ background:#25D366; right:22px; bottom:22px; }
.float-btn--quote{ background: var(--maroon); right:22px; bottom:86px; width:48px; height:48px; font-size:1.1rem; display:none; }
.float-btn--call{ background: var(--gold); color: var(--charcoal); right:22px; bottom:150px; width:48px; height:48px; font-size:1.1rem; display:none; }

.scrolltop{ position:fixed; left:22px; bottom:22px; width:44px; height:44px; border-radius:50%; background: var(--charcoal); color: var(--gold-light); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform: translateY(10px); transition: all var(--transition); z-index:400; }
.scrolltop.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }

/* ==========================================================================
   QUOTE WIZARD
   ========================================================================== */
.section__sub{ max-width: 620px; margin-left:auto; margin-right:auto; }
.wizard{ max-width: 980px; margin: 0 auto; }

/* Progress bar */
.wizard__progress{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom: 40px; position:relative; }
.wizard__progress::before{ content:''; position:absolute; top:19px; left:6%; right:6%; height:2px; background: rgba(122,27,27,0.14); z-index:0; }
.wizard__step-indicator{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:8px; flex:1; text-align:center; }
.wizard__step-num{ width:40px; height:40px; border-radius:50%; background: var(--white); border: 2px solid rgba(122,27,27,0.2); color: var(--ink-soft); display:flex; align-items:center; justify-content:center; font-weight:800; font-family: var(--font-display); transition: all var(--transition); }
.wizard__step-label{ font-size:0.76rem; font-weight:700; color: var(--ink-soft); letter-spacing:0.2px; }
.wizard__step-indicator.is-active .wizard__step-num{ background: var(--maroon); border-color: var(--maroon); color:#fff; box-shadow: 0 0 0 5px rgba(122,27,27,0.12); }
.wizard__step-indicator.is-active .wizard__step-label{ color: var(--maroon); }
.wizard__step-indicator.is-done .wizard__step-num{ background: var(--gold); border-color: var(--gold); color:#fff; }
.wizard__step-indicator.is-done .wizard__step-num::before{ content:'\f00c'; font-family:'Font Awesome 6 Free'; font-weight:900; }
.wizard__step-indicator.is-done .wizard__step-num{ font-size:0; }
.wizard__step-indicator.is-done .wizard__step-num::before{ font-size:0.95rem; }

.wizard__card{ background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 40px; }
.wizard__panel{ display:none; animation: fadein 0.4s ease; }
.wizard__panel.is-active{ display:block; }
.wizard__title{ display:flex; align-items:center; gap:12px; font-size:1.4rem; margin-bottom: 8px; }
.wizard__title i{ color: var(--gold); }
.wizard__subtext{ color: var(--ink-soft); font-size:0.92rem; margin-bottom: 26px; }
.wizard__nav{ display:flex; justify-content:space-between; align-items:center; margin-top: 30px; gap:14px; flex-wrap:wrap; }
.wizard__nav--final{ flex-direction:column; align-items:stretch; }
.wizard__nav--final .quote__form-actions{ width:100%; }
.wizard__error-msg{ display:none; color:#b3261e; font-size:0.85rem; font-weight:700; margin-top:16px; background:#FCEBEA; padding:10px 14px; border-radius: var(--radius-sm); }
.wizard__error-msg.is-visible{ display:block; }
.wizard__other-field{ margin-top:14px; max-width:360px; }

/* Option groups (event type / location) */
.option-group{ margin-bottom: 30px; }
.option-group__label{ display:block; font-weight:800; font-size:0.9rem; color: var(--maroon-dark); margin-bottom:14px; }
.option-group__label em{ color:#b3261e; font-style:normal; }
.option-cards{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.option-card{ display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; background: var(--cream); border: 2px solid transparent; border-radius: var(--radius-sm); padding: 18px 10px; transition: all var(--transition); }
.option-card:hover{ border-color: rgba(122,27,27,0.25); transform: translateY(-3px); }
.option-card i{ font-size:1.5rem; color: var(--maroon); width:48px; height:48px; border-radius:50%; background: var(--maroon-tint); display:flex; align-items:center; justify-content:center; }
.option-card span{ font-size:0.84rem; font-weight:700; color: var(--ink); }
.option-card.is-selected{ background: var(--maroon); border-color: var(--maroon); }
.option-card.is-selected i{ background: rgba(255,255,255,0.18); color: var(--gold-light); }
.option-card.is-selected span{ color:#fff; }

/* Preference pills (veg/nonveg/both) */
.option-pills{ display:flex; gap:14px; flex-wrap:wrap; }
.option-pill{ display:flex; align-items:center; gap:10px; padding: 13px 24px; border-radius:100px; background: var(--cream); border: 2px solid transparent; font-weight:700; font-size:0.92rem; color: var(--ink); transition: all var(--transition); }
.option-pill:hover{ border-color: rgba(122,27,27,0.25); }
.option-pill i{ font-size:0.7rem; }
.option-pill[data-value="Vegetarian"] i{ color:#2e7d32; }
.option-pill[data-value="Non-Vegetarian"] i{ color:#b3261e; }
.option-pill[data-value="Both"] i{ color: var(--gold); }
.option-pill.is-selected{ background: var(--maroon); border-color: var(--maroon); color:#fff; }
.option-pill.is-selected i{ color: var(--gold-light) !important; }

/* Menu builder */
/* Menu builder */
.menu-builder__hint{ display:flex; align-items:center; gap:8px; color: var(--ink-soft); font-size:0.85rem; margin-bottom: 18px; }
.menu-builder__hint i{ color: var(--gold); }

/* Category dropdown accordion (select-style, multi-checkbox) */
.category-accordion{ display:flex; flex-direction:column; gap:10px; margin-bottom: 26px; }
.category-select{ background: var(--white); border: 1.5px solid rgba(122,27,27,0.14); border-radius: var(--radius-sm); overflow:hidden; transition: border-color var(--transition); }
.category-select.is-open{ border-color: var(--maroon); }
.category-select__header{ width:100%; display:flex; align-items:center; gap:12px; padding: 14px 18px; text-align:left; background: var(--cream); transition: background var(--transition); }
.category-select__header:hover{ background: var(--cream-2); }
.category-select__header--static{ cursor:default; background: var(--maroon-tint); }
.category-select__icon{ width:38px; height:38px; border-radius:50%; background: var(--white); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:1rem; box-shadow: var(--shadow-sm); flex-shrink:0; }
.category-select__label{ font-weight:800; color: var(--maroon-dark); font-size:0.95rem; flex:1; }
.category-select__count{ font-size:0.74rem; color: var(--ink-soft); font-weight:700; background: var(--white); padding: 4px 11px; border-radius:100px; white-space:nowrap; }
.category-select__chevron{ color: var(--gold); transition: transform var(--transition); flex-shrink:0; }
.category-select.is-open .category-select__chevron{ transform: rotate(180deg); }
.category-select__body{ max-height:0; overflow:hidden; transition: max-height var(--transition); }
.category-select__grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:2px; padding: 10px; }
.category-select__item{ display:flex; align-items:center; gap:10px; padding: 11px 12px; border-radius: var(--radius-sm); cursor:pointer; transition: background var(--transition); }
.category-select__item:hover{ background: var(--cream); }
.category-select__item.is-checked{ background: var(--maroon-tint); }
.category-select__item input[type="checkbox"]{ width:18px; height:18px; accent-color: var(--maroon); flex-shrink:0; pointer-events:none; }
.category-select__item-icon{ width:30px; height:30px; border-radius:50%; background: var(--cream); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:0.8rem; flex-shrink:0; }
.category-select__item-photo{ width:44px; height:44px; border-radius:50%; overflow:hidden; flex-shrink:0; box-shadow: var(--shadow-sm); border: 2px solid var(--white); }
.category-select__item-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.category-select__item-name{ flex:1; font-size:0.86rem; font-weight:600; color: var(--ink); }
.category-select__item-name em{ display:block; font-style:normal; font-size:0.7rem; font-weight:700; color: var(--gold); text-transform:uppercase; letter-spacing:0.3px; margin-top:2px; }
.category-select__tag{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.category-select__tag.veg{ background:#2e7d32; }
.category-select__tag.nonveg{ background:#b3261e; }

.menu-builder__search{ position:relative; margin-bottom: 16px; }
.menu-builder__search i{ position:absolute; left:18px; top:50%; transform: translateY(-50%); color: var(--ink-soft); }
.menu-builder__search input{ width:100%; padding: 13px 44px; border-radius:100px; border: 1.5px solid rgba(122,27,27,0.18); background: var(--cream); font-family: inherit; font-size:0.92rem; color: var(--ink); transition: border-color var(--transition); }
.menu-builder__search input:focus{ outline:none; border-color: var(--maroon); }
.menu-builder__search-clear{ position:absolute; right:14px; top:50%; transform: translateY(-50%); width:24px; height:24px; border-radius:50%; background: rgba(122,27,27,0.12); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:0.75rem; }
.menu-builder__empty{ text-align:center; color: var(--ink-soft); padding: 30px 0; font-size:0.92rem; }
.food-card__cat{ position:absolute; bottom:8px; right:8px; font-size:0.62rem; font-weight:700; color: var(--ink-soft); background: rgba(255,255,255,0.7); padding: 2px 8px; border-radius:100px; }
.menu-builder__tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 26px; max-height: 220px; overflow-y:auto; padding: 4px 2px; }
.menu-builder__tab{ padding: 8px 15px; border-radius:100px; background: var(--cream); border: 1px solid rgba(122,27,27,0.15); color: var(--ink); font-weight:700; font-size:0.78rem; display:flex; align-items:center; gap:7px; transition: all var(--transition); white-space: nowrap; }
.menu-builder__tab:hover{ border-color: var(--maroon); }
.menu-builder__tab.is-active{ background: var(--maroon); color:#fff; border-color: var(--maroon); }
.menu-builder__grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; margin-bottom: 26px; }
.food-card{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; background: var(--cream); border-radius: var(--radius-sm); padding: 20px 12px 16px; border: 2px solid transparent; transition: all var(--transition); }
.food-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.food-card__icon{ width:52px; height:52px; border-radius:50%; background: var(--white); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:1.3rem; box-shadow: var(--shadow-sm); overflow:hidden; }
.food-card__icon img{ width:100%; height:100%; object-fit:cover; display:block; }
.food-card__name{ font-size:0.86rem; font-weight:700; color: var(--ink); }
.food-card__tag{ position:absolute; top:10px; left:10px; width:9px; height:9px; border-radius:50%; }
.food-card__tag.veg{ background:#2e7d32; }
.food-card__tag.nonveg{ background:#b3261e; }
.food-card__add{ width:30px; height:30px; border-radius:50%; background: var(--maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.85rem; transition: all var(--transition); }
.food-card.is-selected{ border-color: var(--maroon); background: var(--maroon-tint); }
.food-card.is-selected .food-card__add{ background: var(--gold); }
.food-card.is-selected .food-card__add i::before{ content:'\f00c'; }

.selected-tray{ background: var(--cream-2); border-radius: var(--radius); padding: 22px 24px; }
.selected-tray__head{ display:flex; align-items:center; justify-content:space-between; font-weight:800; color: var(--maroon-dark); margin-bottom:14px; font-size:0.98rem; }
.selected-tray__head i{ color: var(--gold); margin-right:6px; }
.selected-tray__count{ background: var(--maroon); color:#fff; border-radius:100px; padding: 3px 12px; font-size:0.82rem; }
.selected-tray__list{ display:flex; flex-wrap:wrap; gap:10px; }
.selected-tray__empty{ color: var(--ink-soft); font-size:0.88rem; }
.tray-chip{ display:flex; align-items:center; gap:10px; background: var(--white); border-radius:100px; padding: 8px 8px 8px 16px; font-size:0.84rem; font-weight:700; color: var(--ink); box-shadow: var(--shadow-sm); }
.tray-chip button{ width:22px; height:22px; border-radius:50%; background: var(--maroon-tint); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:0.7rem; flex-shrink:0; transition: all var(--transition); }
.tray-chip button:hover{ background: var(--maroon); color:#fff; }

/* Review screen */
.review__section{ background: var(--cream); border-radius: var(--radius-sm); padding: 22px 24px; margin-bottom: 18px; }
.review__section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 14px; }
.review__section-head h4{ font-family: var(--font-display); color: var(--maroon-dark); font-size:1.05rem; }
.review__edit{ font-size:0.78rem; font-weight:800; color: var(--maroon); display:flex; align-items:center; gap:5px; }
.review__grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
.review__row{ display:flex; justify-content:space-between; gap:10px; font-size:0.9rem; padding: 8px 0; border-bottom: 1px dashed rgba(122,27,27,0.15); }
.review__row span:first-child{ color: var(--ink-soft); font-weight:600; }
.review__row span:last-child{ color: var(--ink); font-weight:700; text-align:right; }
.review__menu-cat{ margin-bottom: 14px; }
.review__menu-cat strong{ display:block; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.5px; color: var(--gold); margin-bottom:8px; }
.review__menu-cat .selected-tray__list{ gap:8px; }
.review__empty-note{ color: var(--ink-soft); font-size:0.88rem; font-style:italic; }

.quote__direct-note{ text-align:center; margin-top: 26px; color: var(--ink-soft); font-size:0.92rem; }
.quote__direct-note a{ color: var(--maroon); font-weight:700; }

/* Google Business Profile card */
.google-review-card{ background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 30px 32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.google-review-card__icon{ width:60px; height:60px; border-radius:50%; background: var(--cream); display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:#4285F4; flex-shrink:0; }
.google-review-card__body{ flex:1; min-width:220px; }
.google-review-card__body h3{ font-size:1.15rem; margin-bottom:6px; }
.google-review-card__body p{ color: var(--ink-soft); font-size:0.92rem; }
.google-review-card__actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* PDF download button */
.btn--pdf{ background: var(--charcoal); color:#fff; }
.btn--pdf:hover{ background: #000; transform: translateY(-2px); box-shadow: var(--shadow); }
.menu-download-banner{ display:flex; align-items:center; justify-content:space-between; gap:20px; background: var(--cream); border-radius: var(--radius); padding: 24px 28px; margin-bottom: 34px; flex-wrap:wrap; }
.menu-download-banner p{ color: var(--ink-soft); font-size:0.92rem; margin:0; flex:1; min-width:220px; }
.menu-download-banner strong{ color: var(--maroon-dark); display:block; font-family: var(--font-display); font-size:1.05rem; margin-bottom:2px; }

@media (max-width: 600px){
  .google-review-card{ flex-direction:column; text-align:center; }
  .google-review-card__actions{ justify-content:center; }
  .menu-download-banner{ flex-direction:column; text-align:center; }
}

@media (max-width: 900px){
  .wizard__card{ padding: 26px 20px; }
  .option-cards{ grid-template-columns: repeat(2,1fr); }
  .category-select__grid{ grid-template-columns: 1fr; }
  .wizard__step-label{ display:none; }
  .review__grid{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .menu-builder__grid{ grid-template-columns: repeat(2,1fr); }
  .wizard__nav{ flex-direction:column; align-items:stretch; }
  .wizard__nav .btn{ width:100%; }
}

/* ==========================================================================
   SERVICE DETAIL PAGES
   ========================================================================== */
.breadcrumb{ background: var(--cream-2); padding: 16px 0; font-size: 0.86rem; }
.breadcrumb a{ color: var(--maroon); font-weight:600; }
.breadcrumb span{ color: var(--ink-soft); margin: 0 8px; }
.breadcrumb strong{ color: var(--ink-soft); font-weight:600; }

.service-hero{ position:relative; min-height: 46vh; display:flex; align-items:center; overflow:hidden; z-index: 2; }
.service-hero__bg{ position:absolute; inset:0; z-index:0; }
.service-hero__bg img{ width:100%; height:100%; object-fit:cover; }
.service-hero__bg::after{ content:''; position:absolute; inset:0; background: linear-gradient(100deg, rgba(20,10,8,0.9) 15%, rgba(74,16,16,0.65) 60%, rgba(20,10,8,0.4) 100%); }
.service-hero__inner{ position:relative; z-index:1; color:#fff; max-width: 680px; padding: 60px 0; }
.service-hero__inner .eyebrow{ background: rgba(255,255,255,0.08); border: 1px solid rgba(232,197,116,0.4); padding: 6px 16px; border-radius: 100px; }
.service-hero__inner h1{ color:#fff; font-size: clamp(2.1rem, 4.4vw, 3.1rem); margin-bottom:16px; }
.service-hero__inner p{ color: rgba(255,255,255,0.88); font-size: 1.05rem; margin-bottom: 26px; max-width: 560px; }
.service-hero__actions{ display:flex; gap:14px; flex-wrap:wrap; }

.service-overview{ background: var(--white); }
.service-overview__grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items:flex-start; }
.service-overview__text h2{ margin-bottom:16px; }
.service-overview__text p{ color: var(--ink-soft); margin-bottom:16px; }
.includes-list{ display:flex; flex-direction:column; gap:14px; margin-top: 8px; }
.includes-list li{ display:flex; align-items:flex-start; gap:12px; font-weight:600; font-size:0.96rem; color: var(--ink); }
.includes-list i{ color: var(--maroon); margin-top:3px; flex-shrink:0; }
.service-overview__card{ background: var(--cream); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-sm); position:sticky; top: 110px; }
.service-overview__card h3{ font-size:1.1rem; margin-bottom:14px; }
.service-overview__card ul{ display:flex; flex-direction:column; gap:12px; margin-bottom: 22px; }
.service-overview__card li{ display:flex; justify-content:space-between; font-size:0.88rem; color: var(--ink-soft); border-bottom: 1px dashed rgba(122,27,27,0.15); padding-bottom:10px; }
.service-overview__card li strong{ color: var(--maroon-dark); font-weight:700; }
.service-overview__card .btn{ width:100%; margin-bottom:10px; }

.menu-highlight{ background: var(--cream); }
.menu-highlight__strip{ display:grid; grid-template-columns: repeat(6,1fr); gap:16px; }
.menu-highlight__item{ background: var(--white); border-radius: var(--radius-sm); padding: 14px; text-align:center; box-shadow: var(--shadow-sm); transition: transform var(--transition); }
.menu-highlight__item:hover{ transform: translateY(-6px); }
.menu-highlight__item img{ width:64px; height:64px; border-radius:50%; object-fit:cover; margin: 0 auto 10px; border: 3px solid var(--cream-2); }
.menu-highlight__item span{ font-size:0.82rem; font-weight:700; color: var(--maroon-dark); }

.service-gallery-strip{ background: var(--white); }
.service-gallery-strip__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px; }
.service-gallery-strip__grid img{ border-radius: var(--radius-sm); aspect-ratio: 4/3; object-fit:cover; transition: transform var(--transition); }
.service-gallery-strip__grid img:hover{ transform: scale(1.03); }

.service-cta{ background: linear-gradient(120deg, var(--maroon), var(--maroon-dark)); }
.service-cta__inner{ text-align:center; padding: 70px 24px; }
.service-cta__inner h2{ color:#fff; margin-bottom:12px; }
.service-cta__inner p{ color: rgba(255,255,255,0.85); margin-bottom: 26px; }
.service-cta__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.related-services{ background: var(--cream); }
.related-services__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:16px; }
.related-services__item{ background: var(--white); border-radius: var(--radius-sm); padding: 20px; display:flex; align-items:center; gap:14px; box-shadow: var(--shadow-sm); transition: transform var(--transition); }
.related-services__item:hover{ transform: translateY(-4px); }
.related-services__item i{ width:42px; height:42px; border-radius:50%; background: var(--maroon-tint); color: var(--maroon); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.related-services__item span{ font-weight:700; font-size:0.9rem; color: var(--maroon-dark); }

@media (max-width: 900px){
  .service-overview__grid{ grid-template-columns:1fr; }
  .service-overview__card{ position:static; }
  .menu-highlight__strip{ grid-template-columns: repeat(3,1fr); }
  .service-gallery-strip__grid{ grid-template-columns: repeat(2,1fr); }
  .related-services__grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px){
  .menu-highlight__strip{ grid-template-columns: repeat(2,1fr); }
  .service-gallery-strip__grid{ grid-template-columns: 1fr 1fr; }
  .related-services__grid{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   BLOG — listing page + article pages
   ========================================================================== */
.blog-listing{ background: var(--white); }
.blog-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.blog-card{ display:block; background: var(--cream); border-radius: var(--radius); overflow:hidden; transition: all var(--transition); border: 1px solid rgba(122,27,27,0.06); }
.blog-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow); }
.blog-card__img{ height: 180px; overflow:hidden; }
.blog-card__img img{ width:100%; height:100%; object-fit:cover; transition: transform 0.5s ease; }
.blog-card:hover .blog-card__img img{ transform: scale(1.06); }
.blog-card__body{ padding: 22px 22px 24px; }
.blog-card__category{ display:inline-flex; align-items:center; gap:6px; font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.4px; color: var(--gold); margin-bottom:10px; }
.blog-card__body h3{ font-size:1.08rem; margin-bottom:10px; line-height:1.35; }
.blog-card__body p{ color: var(--ink-soft); font-size:0.88rem; margin-bottom:14px; line-height:1.6; }
.blog-card__date{ font-size:0.76rem; color: var(--ink-soft); display:flex; align-items:center; gap:6px; }

/* Article page */
.service-hero--blog .service-hero__inner{ max-width: 760px; }
.blog-article{ background: var(--white); }
.blog-article__wrap{ max-width: 780px; }
.blog-article__meta{ display:flex; flex-wrap:wrap; gap:18px; margin-bottom: 24px; font-size:0.84rem; color: var(--ink-soft); }
.blog-article__meta span{ display:flex; align-items:center; gap:7px; }
.blog-article__meta i{ color: var(--gold); }
.blog-article__hero{ border-radius: var(--radius); overflow:hidden; margin-bottom: 32px; box-shadow: var(--shadow-sm); }
.blog-article__hero img{ width:100%; max-height:420px; object-fit:cover; }
.blog-article__body h2{ font-size:1.35rem; margin-top: 32px; margin-bottom:14px; }
.blog-article__body p{ color: var(--ink); font-size:1rem; line-height:1.85; margin-bottom:18px; }
.blog-article__share{ display:flex; align-items:center; gap:12px; padding: 24px 0; border-top: 1px solid rgba(122,27,27,0.1); border-bottom: 1px solid rgba(122,27,27,0.1); margin: 20px 0 36px; }
.blog-article__share span{ font-size:0.86rem; font-weight:700; color: var(--maroon-dark); margin-right:6px; }
.blog-article__share a{ width:36px; height:36px; border-radius:50%; background: var(--cream); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:0.85rem; transition: all var(--transition); }
.blog-article__share a:hover{ background: var(--maroon); color:#fff; transform: translateY(-2px); }

.blog-article__cta{ background: var(--cream); border-radius: var(--radius); padding: 32px; text-align:center; margin-bottom: 44px; }
.blog-article__cta h3{ font-size:1.2rem; margin-bottom:8px; }
.blog-article__cta p{ color: var(--ink-soft); margin-bottom:20px; }
.blog-article__cta-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.blog-related h3{ font-family: var(--font-display); font-size:1.15rem; color: var(--maroon-dark); margin-bottom:18px; }
.blog-related__grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
.blog-related__item{ display:block; border-radius: var(--radius-sm); overflow:hidden; position:relative; aspect-ratio: 4/3; }
.blog-related__item img{ width:100%; height:100%; object-fit:cover; transition: transform var(--transition); }
.blog-related__item:hover img{ transform: scale(1.08); }
.blog-related__item span{ position:absolute; inset:auto 0 0 0; padding: 30px 12px 12px; background: linear-gradient(180deg, transparent, rgba(20,10,8,0.9)); color:#fff; font-size:0.8rem; font-weight:700; line-height:1.3; }

@media (max-width: 1080px){
  .blog-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px){
  .blog-grid{ grid-template-columns: 1fr; }
  .blog-related__grid{ grid-template-columns: 1fr; }
  .blog-article__meta{ flex-direction:column; gap:8px; }
}

/* ==========================================================================
   LIVE ESTIMATE CALCULATOR PAGE
   ========================================================================== */
.estimate-section{ background: var(--white); }
.estimate-layout{ display:grid; grid-template-columns: 1.15fr 0.85fr; gap: 46px; align-items:start; }
.estimate-form{ background: var(--cream); border-radius: var(--radius); padding: 32px; }

.estimate-guests{ padding: 6px 4px; }
.estimate-guests input[type="range"]{ width:100%; accent-color: var(--maroon); height:6px; cursor:pointer; }
.estimate-guests__value{ text-align:center; margin-top:14px; font-family: var(--font-display); font-size:1.5rem; color: var(--maroon-dark); font-weight:700; }
.estimate-guests__value span{ color: var(--maroon); }

.estimate-packages{ display:flex; flex-direction:column; gap:12px; }
.estimate-package{ text-align:left; background: var(--white); border: 2px solid transparent; border-radius: var(--radius-sm); padding: 16px 18px; transition: all var(--transition); display:flex; flex-direction:column; gap:4px; }
.estimate-package:hover{ border-color: rgba(122,27,27,0.25); }
.estimate-package__name{ font-family: var(--font-display); font-weight:700; color: var(--maroon-dark); font-size:1.05rem; }
.estimate-package__desc{ font-size:0.82rem; color: var(--ink-soft); }
.estimate-package__rate{ font-size:0.8rem; font-weight:700; color: var(--gold); margin-top:2px; }
.estimate-package.is-selected{ border-color: var(--maroon); background: var(--maroon-tint); }
.estimate-package.is-selected .estimate-package__rate{ color: var(--maroon); }

.estimate-disclaimer{ display:flex; gap:10px; align-items:flex-start; color: var(--ink-soft); font-size:0.82rem; line-height:1.6; margin-top:22px; }
.estimate-disclaimer i{ color: var(--gold); margin-top:2px; flex-shrink:0; }

.estimate-result{ background: linear-gradient(150deg, var(--maroon), var(--maroon-dark)); border-radius: var(--radius); padding: 38px 32px; text-align:center; color:#fff; position: sticky; top: 100px; }
.estimate-result__label{ text-transform:uppercase; letter-spacing:1px; font-size:0.78rem; font-weight:700; color: var(--gold-light); margin-bottom:10px; }
.estimate-result__range{ font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight:700; margin-bottom:8px; word-break: break-word; }
.estimate-result__perplate{ font-size:0.84rem; color: rgba(255,255,255,0.75); margin-bottom: 26px; }
.estimate-result__actions{ display:flex; flex-direction:column; gap:12px; margin-bottom: 22px; }
.estimate-result__note{ display:flex; gap:8px; align-items:flex-start; text-align:left; font-size:0.76rem; color: rgba(255,255,255,0.65); border-top: 1px solid rgba(255,255,255,0.15); padding-top:18px; }
.estimate-result__note i{ color: var(--gold-light); margin-top:2px; flex-shrink:0; }

.estimate-how{ background: var(--charcoal); }

/* Sample menu preview (tea time + lunch) per package */
.estimate-menu-preview{ background: var(--cream); }
.estimate-menu-block{ margin-bottom: 40px; }
.estimate-menu-block__title{ display:flex; align-items:center; gap:10px; font-size:1.1rem; color: var(--maroon-dark); margin-bottom:18px; }
.estimate-menu-block__title i{ color: var(--gold); }
.estimate-menu-note{ display:flex; align-items:flex-start; gap:8px; color: var(--ink-soft); font-size:0.84rem; margin-top: 6px; }
.estimate-menu-note i{ color: var(--gold); margin-top:2px; flex-shrink:0; }
#estPackageNameHeading{ color: var(--maroon); }

@media (max-width: 900px){
  .estimate-layout{ grid-template-columns:1fr; }
  .estimate-result{ position:static; }
}

/* City index page (locations/index.html) */
.city-index-section{ padding-top: 40px; padding-bottom: 20px; }
.city-index-section:nth-child(odd){ background: var(--white); }
.city-index-section:nth-child(even){ background: var(--cream); }
.city-index-section__title{ font-size:1.3rem; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.city-index-section__title i{ color: var(--gold); }
.city-index-section__title span{ font-family: var(--font-body); font-size:0.8rem; font-weight:700; color: var(--ink-soft); }
.city-index-grid{ display:flex; flex-wrap:wrap; gap:10px; }
.city-chip{ padding: 8px 16px; border-radius:100px; background: var(--cream-2); border: 1px solid rgba(122,27,27,0.12); font-size:0.85rem; font-weight:600; color: var(--maroon-dark); transition: all var(--transition); }
.state-serve--alt .city-chip, .city-index-section:nth-child(even) .city-chip{ background: var(--white); }
.city-chip:hover{ background: var(--maroon); color:#fff; border-color: var(--maroon); transform: translateY(-2px); }

/* Full city-links block after the footer, on every page (collapsible) */
.city-links{ background: #14100d; padding: 22px 0; position: relative; z-index: 2; }
.city-links__toggle{ width:100%; display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; color: rgba(255,255,255,0.75); font-size:0.85rem; font-weight:700; padding: 10px 0; text-align:center; }
.city-links__toggle:hover{ color: var(--gold-light); }
.city-links__toggle span{ color: rgba(255,255,255,0.4); font-weight:600; font-size:0.78rem; }
.city-links__toggle i:last-child{ font-size:0.7rem; transition: transform var(--transition); }
.city-links.is-open .city-links__toggle i:last-child{ transform: rotate(180deg); }
.city-links__body{ max-height:0; overflow:hidden; transition: max-height 0.4s ease; }
.city-links.is-open .city-links__body{ max-height: 2000px; padding-top: 18px; }
.city-links__group{ margin-bottom: 18px; }
.city-links__group strong{ display:flex; align-items:center; gap:8px; color: var(--gold-light); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; }
.city-links__group p{ color: rgba(255,255,255,0.4); font-size:0.76rem; line-height:2; }
.city-links__group p a{ color: rgba(255,255,255,0.55); transition: color var(--transition); }
.city-links__group p a:hover{ color: var(--gold-light); text-decoration: underline; }

/* ==========================================================================
   CITY LANDING PAGES (locations/*.html) — minimal, centered layout:
   header on top, one focused hero + CTA in the middle, footer at bottom
   ========================================================================== */
.city-hero{ position:relative; min-height: 70vh; display:flex; align-items:center; justify-content:center; text-align:center; padding: 70px 24px; z-index: 2; }
.city-hero__bg{ position:absolute; inset:0; z-index:0; }
.city-hero__bg img{ width:100%; height:100%; object-fit:cover; }
.city-hero__bg::after{ content:''; position:absolute; inset:0; background: linear-gradient(160deg, rgba(20,10,8,0.88), rgba(74,16,16,0.78)); }
.city-hero__inner{ position:relative; z-index:1; max-width: 720px; margin:0 auto; }
.breadcrumb--city{ background:transparent; color: rgba(255,255,255,0.7); font-size:0.85rem; margin-bottom:28px; padding:0; }
.breadcrumb--city a{ color: rgba(255,255,255,0.9); font-weight:700; }
.breadcrumb--city span{ margin:0 8px; color: rgba(255,255,255,0.5); }
.city-hero h1{ color:#fff; font-size: clamp(1.7rem, 4vw, 2.6rem); margin-bottom:14px; line-height:1.25; }
.city-hero__state{ color: var(--gold-light); font-weight:700; font-size:0.95rem; margin-bottom:22px; display:flex; align-items:center; justify-content:center; gap:8px; }
.city-hero__intro{ color: rgba(255,255,255,0.88); font-size:1.05rem; line-height:1.8; margin-bottom:36px; }
.city-hero__cta{ font-size:1.05rem; padding: 18px 42px; }

/* ==========================================================================
   AREAS WE SERVE — dedicated multi-state page
   ========================================================================== */
.state-pills-wrap{ background: var(--white); border-bottom: 1px solid rgba(122,27,27,0.08); position: sticky; top: 73px; z-index: 100; padding: 14px 0; }
.state-pills{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.state-pill{ display:flex; align-items:center; gap:8px; padding: 10px 20px; border-radius:100px; background: var(--cream); border: 1.5px solid rgba(122,27,27,0.15); font-weight:700; font-size:0.88rem; color: var(--maroon-dark); transition: all var(--transition); }
.state-pill:hover{ background: var(--maroon); color:#fff; border-color: var(--maroon); }
.state-pill i{ color: var(--gold); }
.state-pill:hover i{ color: var(--gold-light); }

.coverage-note{ padding-top: 50px; padding-bottom: 20px; background: var(--white); }
.coverage-note__card{ display:flex; gap:16px; align-items:flex-start; background: var(--maroon-tint); border-radius: var(--radius); padding: 22px 26px; max-width: 900px; margin: 0 auto; }
.coverage-note__card i{ color: var(--maroon); font-size:1.2rem; margin-top:2px; flex-shrink:0; }
.coverage-note__card p{ color: var(--ink); font-size:0.92rem; line-height:1.7; margin:0; }

.state-serve{ background: var(--white); scroll-margin-top: 140px; }
.state-serve--alt{ background: var(--cream); }
.state-serve .section__head .eyebrow i{ margin-right:6px; }

.district-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:18px; }
.district-card{ background: var(--cream); border-radius: var(--radius-sm); padding: 22px 18px; text-align:center; transition: all var(--transition); border: 1px solid rgba(122,27,27,0.06); }
.district-card--linked{ display:block; cursor:pointer; position:relative; }
.district-card--linked::after{ content:'\f061'; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; top:12px; right:14px; font-size:0.7rem; color: var(--gold); opacity:0; transition: opacity var(--transition); }
.district-card--linked:hover::after{ opacity:1; }
.state-serve--alt .district-card{ background: var(--white); }
.district-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-sm); border-color: rgba(122,27,27,0.15); }
.district-card__icon{ width:44px; height:44px; border-radius:50%; background: var(--maroon-tint); color: var(--maroon); display:flex; align-items:center; justify-content:center; font-size:1rem; margin: 0 auto 12px; }
.district-card h4{ font-size:0.98rem; color: var(--maroon-dark); margin-bottom:8px; }
.district-card__famous{ font-size:0.78rem; color: var(--ink-soft); display:flex; align-items:center; justify-content:center; gap:6px; line-height:1.4; }
.district-card__famous i{ color: var(--gold); flex-shrink:0; }

@media (max-width: 1080px){
  .district-grid{ grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 900px){
  .state-pills-wrap{ top: 0; }
  .district-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px){
  .state-pills{ flex-direction:column; align-items:stretch; }
  .state-pill{ justify-content:center; }
  .district-grid{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   AREA WE SERVE
   ========================================================================== */
.area-serve{ background: var(--white); }
.area-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.area-chip{ display:flex; align-items:center; gap:10px; background: var(--cream); border-radius: var(--radius-sm); padding: 16px 18px; font-weight:700; font-size:0.92rem; color: var(--maroon-dark); transition: transform var(--transition), box-shadow var(--transition); }
.area-chip:hover{ transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.area-chip i{ color: var(--gold); }
.area-serve__more{ text-align:center; margin-top: 26px; }
@media (max-width: 900px){ .area-grid{ grid-template-columns: repeat(3,1fr); } }
@media (max-width: 560px){ .area-grid{ grid-template-columns: repeat(2,1fr); } }

/* Standalone counters block (testimonials page) */
.counters--standalone{ max-width: 900px; margin: 0 auto; grid-template-columns: repeat(4,1fr); }
@media (max-width: 560px){ .counters--standalone{ grid-template-columns: repeat(2,1fr); } }

/* ==========================================================================
   MENU BROWSE PAGE
   ========================================================================== */
.menu-browse-section{ background: var(--white); }
.menu-builder__grid--browse .food-card{ cursor: default; }
.menu-builder__grid--browse .food-card__add{ display:none; }
.menu-builder__grid--browse .food-card:hover{ transform:none; box-shadow:none; }
.menu-browse__cta{ text-align:center; margin-top: 40px; padding: 34px; background: var(--cream); border-radius: var(--radius); }
.menu-browse__cta p{ color: var(--ink-soft); margin-bottom: 18px; font-weight:600; }

/* ==========================================================================
   FAQ CATEGORIES (faq.html)
   ========================================================================== */
.faq__wrap--wide{ max-width: 900px; }
.faq__category{ margin-bottom: 44px; }
.faq__category-title{ display:flex; align-items:center; gap:12px; font-size:1.2rem; margin-bottom: 16px; padding-bottom:12px; border-bottom: 2px solid rgba(200,155,60,0.3); }
.faq__category-title i{ color: var(--gold); }

/* ==========================================================================
   QUICK CONTACT FORM (contact.html)
   ========================================================================== */
.contact-quick{ background: var(--cream-2); }
.contact-quick__grid{ display:grid; grid-template-columns: 0.8fr 1.2fr; gap: 50px; align-items:flex-start; }
.contact-quick__intro h2{ margin-bottom:14px; }
.contact-quick__intro p{ color: var(--ink-soft); }
.contact-quick .quote__form{ box-shadow: var(--shadow); }
@media (max-width: 900px){ .contact-quick__grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1080px){
  .services__grid{ grid-template-columns: repeat(3,1fr); }
  .events__grid{ grid-template-columns: repeat(3,1fr); }
  .gallery__grid{ grid-template-columns: repeat(3,1fr); }
  .why__grid{ grid-template-columns: repeat(2,1fr); }
  .footer__grid{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px){
  .topbar__left span.topbar__hours{ display:none; }
  .nav{ position: fixed; top:0; right:-100%; width: min(80vw, 340px); height:100vh; background: var(--cream); box-shadow: -10px 0 40px rgba(0,0,0,0.15); padding: 100px 30px 30px; transition: right var(--transition); z-index: 600; }
  .nav.is-open{ right:0; }
  .nav__close{ display:flex; position:absolute; top:24px; right:24px; width:42px; height:42px; border-radius:50%; background: var(--maroon-tint); color: var(--maroon); align-items:center; justify-content:center; font-size:1.15rem; transition: all var(--transition); z-index:2; }
  .nav__close:hover{ background: var(--maroon); color:#fff; transform: rotate(90deg); }
  .nav__list{ flex-direction:column; gap: 6px; }
  .nav__list a{ display:block; padding: 12px 0; font-size:1.05rem; border-bottom: 1px solid rgba(122,27,27,0.08); }
  .header__cta{ display:none; }
  .hamburger{ display:flex; }
  .hamburger.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
  .hamburger.is-active span:nth-child(2){ opacity:0; }
  .hamburger.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

  .about__grid{ grid-template-columns:1fr; gap:44px; }
  .about__media{ order:2; }
  .quote__grid{ grid-template-columns:1fr; }
  .contact__grid{ grid-template-columns:1fr; }
  .how__grid{ grid-template-columns: repeat(2,1fr); gap: 40px 20px; }
  .services__grid{ grid-template-columns: repeat(2,1fr); }
  .events__grid{ grid-template-columns: repeat(2,1fr); }
  .gallery__grid{ grid-template-columns: repeat(2,1fr); }
  .why__grid{ grid-template-columns: 1fr; }
  .menu__panel{ grid-template-columns: 1fr; }
  .footer__grid{ grid-template-columns:1fr; padding: 60px 24px 40px; }
  .float-btn--quote, .float-btn--call{ display:flex; }
  .float-btn--whatsapp{ bottom: 22px; }
  .float-btn--quote{ bottom: 86px; }
  .float-btn--call{ bottom: 150px; }
}

@media (max-width: 560px){
  .section{ padding: 64px 0; }
  .hero{ min-height: 88vh; text-align:left; }
  .hero__thali{ display:none; }
  .hero__actions{ flex-direction:column; align-items:stretch; }
  .hero__actions .btn{ width:100%; }
  .counters{ grid-template-columns: repeat(2,1fr); }
  .form-row{ grid-template-columns:1fr; }
  .how__grid{ grid-template-columns:1fr; }
  .quote__direct{ flex-direction:column; }
  .quote__direct .btn{ width:100%; }
}

/* SEO keyword links */
.seo-keywords-page{padding-top:72px;padding-bottom:90px}.seo-keywords-page h1{max-width:900px;margin-bottom:18px}.seo-keyword-group{margin-top:42px;padding:28px;border:1px solid rgba(201,151,45,.28);border-radius:18px;background:rgba(0,0,0,.03)}.seo-keyword-group h2{margin:0 0 18px;font-size:clamp(1.25rem,2vw,1.7rem)}.seo-keyword-cloud{display:flex;flex-wrap:wrap;gap:10px 12px;line-height:1.8}.seo-keyword-link{display:inline-block;padding:3px 7px;border-radius:6px;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.seo-keyword-link:hover{opacity:.78}.seo-keyword-section{margin-top:48px;padding:32px 0;border-top:1px solid rgba(201,151,45,.28)}.seo-keyword-section h2{margin-bottom:12px}.seo-keyword-intro{max-width:820px;margin-bottom:20px}.seo-keyword-list{display:flex;flex-wrap:wrap;gap:10px 12px;line-height:1.8}
