:root{
  --ink:#2B1710;
  --surface:#3A2318;
  --surface-2:#45291C;
  --paper:#45291C;
  --maroon:#E8503F;
  --maroon-soft:#F28B76;
  --maroon-dark:#8F3120;
  --saffron:#EB7A28;
  --saffron-soft:#4A2E1B;
  --emerald:#52B383;
  --emerald-dark:#2C5F44;
  --gold:#E8AE3C;
  --olive:#33240F;
  --ivory:#FBF1E2;
  --ink-soft:rgba(251,241,226,0.68);
  --ink-faint:rgba(251,241,226,0.46);
  --line:rgba(251,241,226,0.15);
  --line-soft:rgba(251,241,226,0.08);
  --danger:#E2574F;
  --cream-soft:rgba(251,241,226,0.76);
  --radius:6px;
  --shadow-soft:0 10px 28px rgba(0,0,0,0.32);
  --shadow-chip:0 6px 16px rgba(0,0,0,0.28);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.display{font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:-0.01em;margin:0;color:var(--ivory);}
.mono{font-family:'Roboto',sans-serif;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--saffron);color:var(--ink);}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

/* ---------- Top stripe ---------- */
.stripe-top{height:9px;background:repeating-linear-gradient(135deg,var(--saffron) 0 14px,var(--maroon-dark) 14px 28px);position:sticky;top:0;z-index:51;}

/* ---------- Nav ---------- */
header.site{position:sticky;top:9px;z-index:50;background:rgba(30,15,8,0.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1120px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-icon{width:32px;height:auto;flex-shrink:0;}
.brand .name{font-family:'Poppins',sans-serif;font-size:20px;font-weight:600;color:var(--ivory);line-height:1.1;}
.brand .tag{display:block;font-family:'Roboto',sans-serif;font-size:10px;letter-spacing:0.08em;color:var(--ink-soft);text-transform:uppercase;}
nav.primary{display:flex;gap:2px;align-items:center;flex-wrap:wrap;}
nav.primary a.navlink{padding:9px 13px;border-radius:100px;font-size:14px;font-weight:500;color:var(--ink-soft);transition:background .2s ease,color .2s ease;}
nav.primary a.navlink:hover{background:rgba(251,241,226,0.06);color:var(--ivory);}
nav.primary a.navlink.active{background:var(--maroon);color:var(--ivory);}
.staff-btn{border:1px solid var(--line);background:transparent;padding:8px 14px;border-radius:100px;font-size:13px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:6px;}
.staff-btn:hover{border-color:var(--saffron);color:var(--saffron);}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:38px;height:38px;align-items:center;justify-content:center;color:var(--ivory);flex-shrink:0;}
.menu-toggle svg{width:20px;height:20px;transition:transform .2s ease;}
.menu-toggle.open svg{transform:rotate(90deg);}
.mobile-nav{display:none;flex-direction:column;background:var(--surface);border-top:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s ease;}
.mobile-nav.open{max-height:520px;}
.mobile-nav a.mobile-navlink{padding:14px 20px;font-size:15px;font-weight:500;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);}
.mobile-nav a.mobile-navlink.active{color:var(--saffron);font-weight:600;}
.mobile-nav a.mobile-navlink:last-child{color:var(--gold);border-bottom:none;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:100px;border:none;font-size:14.5px;font-weight:600;letter-spacing:0.01em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn-primary{background:var(--maroon);color:var(--ivory);}
.btn-primary:hover{background:#C9483A;}
.btn-outline{background:transparent;border:1.5px solid var(--line);color:var(--ivory);}
.btn-outline:hover{background:rgba(251,241,226,0.08);border-color:var(--ivory);}
.btn-gold{background:var(--gold);color:#2B1710;}
.btn-gold:hover{background:#F5D488;}
.btn-sm{padding:7px 14px;font-size:12.5px;border-radius:100px;}
.hero-ctas .btn-outline,.page-hero .btn-outline{border-color:rgba(251,241,226,0.35);color:var(--ivory);}
.hero-ctas .btn-outline:hover,.page-hero .btn-outline:hover{background:rgba(251,241,226,0.1);}

/* ---------- Banner ---------- */
.announce{background:var(--gold);color:#2B1710;text-align:center;font-family:'Roboto',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:0.03em;padding:9px 14px;}
.announce:empty{display:none;}
.announce::before{content:"★ ";}

/* ---------- Ticker ---------- */
.ticker-wrap{background:var(--maroon-dark);overflow:hidden;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ticker-track{display:flex;width:max-content;animation:tickerScroll 32s linear infinite;}
.ticker-track span{display:inline-flex;align-items:center;gap:18px;padding:0 18px;font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;color:var(--ivory);text-transform:uppercase;letter-spacing:0.02em;white-space:nowrap;}
.ticker-track span::after{content:"+";color:rgba(251,241,226,0.4);margin-left:18px;}
@keyframes tickerScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.ticker-track{animation:none;}}

/* ---------- Rotating badge ---------- */
.spin-badge-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.spin-badge{position:relative;width:132px;height:132px;flex-shrink:0;}
.spin-badge svg.ring{width:100%;height:100%;animation:spinRing 18s linear infinite;display:block;}
.spin-badge .center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.spin-badge .center a{width:54px;height:54px;border-radius:50%;background:var(--gold);color:#2B1710;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-chip);}
.spin-badge .center svg{width:20px;height:20px;}
.spin-caption{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:rgba(251,241,226,0.75);max-width:170px;}
@keyframes spinRing{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.spin-badge svg.ring{animation:none;}}

/* ---------- Hero ---------- */
.hero{padding:76px 0 64px;position:relative;overflow:hidden;background:
  linear-gradient(180deg, rgba(30,15,8,0.55), rgba(30,15,8,0.92) 65%, var(--ink) 100%),
  linear-gradient(120deg, var(--olive), #241708 60%);
  color:var(--ivory);}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.eyebrow{font-family:'Roboto',sans-serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--emerald);font-weight:600;margin-bottom:16px;display:block;}
.hero .eyebrow{color:var(--saffron);}
.hero h1{font-size:50px;line-height:1.05;margin-bottom:20px;color:var(--ivory);}
.hero h1 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;color:var(--saffron);}
.hero p.lede{font-size:17px;line-height:1.65;color:var(--cream-soft);max-width:460px;margin-bottom:32px;}
.hero .stat b{color:var(--saffron);}
.hero .stat span{color:var(--cream-soft);}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{position:relative;height:440px;animation:heroFadeUp .8s ease .15s both;}
.hero-grid > div:first-child{animation:heroFadeUp .8s ease both;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:20px;object-fit:cover;box-shadow:var(--shadow-soft);}

/* ---------- Hero rating card / decorative accents ---------- */
.hero-rating-card{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 15px;box-shadow:var(--shadow-chip);}
.hero-rating-card .stars-circle{width:34px;height:34px;border-radius:50%;background:rgba(232,184,75,0.15);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:15px;flex-shrink:0;}
.hero-rating-card .score{font-family:'Poppins',sans-serif;font-weight:700;font-size:14.5px;color:var(--ivory);line-height:1.2;}
.hero-rating-card .avatars{display:flex;align-items:center;margin-top:3px;}
.hero-rating-card .avatars i{width:16px;height:16px;border-radius:50%;border:2px solid var(--surface);margin-left:-6px;background:var(--emerald);}
.hero-rating-card .avatars i:nth-child(2){background:var(--saffron);}
.hero-rating-card .avatars i:nth-child(3){background:var(--maroon);}
.hero-rating-card .avatars i:first-child{margin-left:0;}
.hero-rating-card .count{font-size:10px;color:var(--ink-soft);margin-left:6px;}
.hero-badge{position:absolute;top:6%;right:2%;background:var(--surface);border:1px solid var(--line);padding:9px 16px;border-radius:100px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--gold);box-shadow:var(--shadow-soft);z-index:2;}
.hero-info-card{position:absolute;bottom:6%;left:2%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow-chip);z-index:2;}
.hero-info-card img{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;}
.hero-info-card .stars{color:var(--gold);font-size:10px;letter-spacing:1px;}
.hero-info-card .name{font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:600;color:var(--ivory);white-space:nowrap;}
.hero-spin-badge{position:absolute;bottom:6%;right:2%;z-index:2;}
.hero-spin-badge .spin-badge{width:100px;height:100px;}
.hero-spin-badge .spin-badge .center a{width:40px;height:40px;}
.hero-spin-badge .spin-badge .center svg{width:15px;height:15px;}
.page-hero-band{position:relative;overflow:hidden;background:var(--olive);}
.page-hero-band::before{content:"";position:absolute;inset:0;background-image:var(--band-photo);background-size:cover;background-position:center;opacity:0.32;}
.page-hero-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(30,15,8,0.5), var(--ink) 92%);}
.page-hero-band .page-hero{position:relative;z-index:1;}
.page-hero{padding:56px 0 40px;}
.page-hero h1{font-size:38px;color:var(--ivory);}
.page-hero .eyebrow{color:var(--saffron);}
.page-hero p{color:var(--cream-soft) !important;}

/* ---------- Feature strip ---------- */
.feature-strip{position:relative;overflow:hidden;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.feature-strip::before{content:"";position:absolute;inset:0;background-image:var(--feature-photo);background-size:cover;background-position:center;opacity:0.16;}
.feature-strip::after{content:"";position:absolute;inset:0;background:rgba(30,15,8,0.55);}
.feature-strip .wrap{position:relative;z-index:1;}
.feature-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:26px 28px;}
.feature-item{display:flex;gap:13px;align-items:flex-start;}
.feature-item .icon{width:42px;height:42px;border-radius:10px;background:rgba(232,184,75,0.1);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.feature-item .icon svg{width:21px;height:21px;}
.feature-item h4{font-family:'Poppins',sans-serif;font-size:14px;margin-bottom:3px;color:var(--ivory);font-weight:600;}
.feature-item p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.4;}
@media (max-width:860px){.feature-strip .wrap{grid-template-columns:1fr 1fr;}}

/* ---------- Sections ---------- */
section{padding:88px 0;}
section.tight{padding:56px 0;}
.section-head{max-width:600px;margin-bottom:44px;}
.section-head .eyebrow{margin-bottom:10px;}
.section-head h2{font-size:34px;line-height:1.1;}
.section-head p{color:var(--ink-soft);font-size:15.5px;margin-top:12px;line-height:1.6;}

/* ---------- Dish cards ---------- */
.dish-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.dish-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-soft);width:calc(33.333% - 15px);min-width:270px;flex-grow:1;max-width:380px;transition:transform .3s ease,box-shadow .3s ease;}
.dish-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,0.4);}
.dish-card:hover .dish-photo img{transform:scale(1.06);}
.dish-photo img{transition:transform .4s ease;}
.dish-photo{height:170px;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;font-family:'Poppins',sans-serif;font-size:15px;color:var(--ivory);font-weight:600;text-align:left;padding:14px 16px;background:linear-gradient(145deg,var(--saffron-soft),var(--surface-2));overflow:hidden;}
.dish-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.dish-photo.img-fallback{background:linear-gradient(145deg,var(--saffron),var(--maroon-dark));}
.dish-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(30,15,8,0) 35%, rgba(30,15,8,0.88) 100%);}
.dish-photo span.dish-photo-label{position:relative;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,0.6);}
.dish-photo .badge{position:absolute;top:10px;left:10px;z-index:2;background:rgba(30,15,8,0.78);color:var(--ivory);font-family:'Roboto',sans-serif;font-size:10px;padding:4px 9px;border-radius:100px;letter-spacing:0.04em;border:1px solid var(--line);}
.dish-photo .badge.soldout{background:var(--danger);border-color:transparent;}
.dish-photo .badge.seasonal{background:var(--gold);color:#2B1710;border-color:transparent;}
.dish-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;}
.dish-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px;}
.dish-top h3{font-size:16.5px;}
.dish-price{font-family:'Roboto',sans-serif;font-weight:600;color:var(--saffron);font-size:14.5px;white-space:nowrap;}
.dish-desc{font-size:13.5px;color:var(--ink-soft);line-height:1.55;flex:1;}
.dish-card.soldout .dish-photo,.dish-card.soldout .dish-body{opacity:0.45;}

/* ---------- Menu categories ---------- */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.cat-tab{padding:8px 16px;border-radius:100px;border:1px solid var(--line);background:transparent;font-size:13.5px;font-weight:500;color:var(--ink-soft);transition:all .2s ease;}
.cat-tab.active{background:var(--emerald-dark);border-color:var(--emerald);color:var(--ivory);}

/* ---------- Dine-in band ---------- */
.dine-band{position:relative;overflow:hidden;color:var(--ivory);background:var(--surface-2);}
.dine-band::before{content:"";position:absolute;inset:0;background-image:var(--dine-photo);background-size:cover;background-position:center;opacity:0.4;}
.dine-band::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(30,15,8,0.92) 30%, rgba(30,15,8,0.45));}
.dine-band .section-head h2,.dine-band .eyebrow{color:var(--ivory);}
.dine-band .section-head .eyebrow{color:var(--emerald);}
.dine-band .section-head p{color:rgba(251,241,226,0.75);}

/* ---------- Tiffin ---------- */
.tiffin-band{position:relative;overflow:hidden;background:linear-gradient(180deg, var(--maroon-dark), #5C1D14 130%);color:var(--ivory);}
.tiffin-band::before{content:"";position:absolute;inset:0;background-image:var(--tiffin-photo);background-size:cover;background-position:center;opacity:0.28;mix-blend-mode:overlay;}
.tiffin-band .wrap{position:relative;z-index:1;}
.tiffin-band .section-head h2,.tiffin-band .eyebrow{color:var(--ivory);}
.tiffin-band .section-head .eyebrow{color:var(--gold);}
.tiffin-band .section-head p{color:rgba(251,241,226,0.72);}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.plan-card{background:rgba(251,241,226,0.05);border:1px solid rgba(251,241,226,0.16);border-radius:var(--radius);padding:26px 24px;display:flex;flex-direction:column;gap:14px;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;}
.plan-card:hover{transform:translateY(-6px);background:rgba(251,241,226,0.08);}
.plan-card.popular{border-color:var(--gold);background:rgba(232,184,75,0.09);}
.plan-name{font-family:'Poppins',sans-serif;font-size:20px;color:var(--ivory);}
.plan-price{font-family:'Roboto',sans-serif;font-size:26px;color:var(--gold);}
.plan-price span{font-size:13px;color:rgba(251,241,226,0.6);}
.plan-desc{font-size:13.5px;line-height:1.6;color:rgba(251,241,226,0.75);flex:1;}
.pill{display:inline-block;font-family:'Roboto',sans-serif;font-size:10px;letter-spacing:0.06em;background:var(--gold);color:#2B1710;padding:3px 9px;border-radius:100px;width:fit-content;}

/* ---------- Specials strip ---------- */
.specials-strip{position:relative;overflow:hidden;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.specials-strip::before{content:"";position:absolute;inset:0;background-image:var(--specials-photo);background-size:cover;background-position:center;opacity:0.18;}
.specials-strip::after{content:"";position:absolute;inset:0;background:rgba(30,15,8,0.55);}
.specials-strip .wrap{position:relative;z-index:1;}
.specials-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:4px 0;}
.special-chip{flex:0 0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;min-width:240px;transition:transform .25s ease,border-color .25s ease;}
.special-chip:hover{transform:translateY(-4px);border-color:var(--saffron);}
.special-chip .k{font-family:'Roboto',sans-serif;font-size:10px;color:var(--emerald);letter-spacing:0.06em;text-transform:uppercase;}
.special-chip h4{font-family:'Poppins',sans-serif;font-size:16px;margin:4px 0 4px;color:var(--ivory);}
.special-chip .price{font-family:'Roboto',sans-serif;font-size:13px;color:var(--saffron);}

/* ---------- Catering ---------- */
.cater-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cater-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease;}
.cater-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,0.4);}
.cater-card:hover .cater-photo img{transform:scale(1.06);}
.cater-photo img{transition:transform .4s ease;}
.cater-photo{height:140px;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--saffron-soft),var(--surface-2));}
.cater-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.cater-photo.img-fallback{background:linear-gradient(145deg,var(--saffron),var(--maroon-dark));}
.cater-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(30,15,8,0) 55%, rgba(30,15,8,0.7) 100%);}
.cater-card .body{padding:22px 24px;}
.cater-card .size{font-family:'Roboto',sans-serif;font-size:11px;color:var(--emerald);letter-spacing:0.05em;}
.cater-card h3{font-size:19px;margin:8px 0 10px;}
.cater-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:14px;}
.cater-card .from{font-family:'Roboto',sans-serif;font-size:15px;color:var(--saffron);font-weight:600;}

/* ---------- Forms ---------- */
.form-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.03em;}
.field input,.field textarea,.field select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:3px;font-family:'Inter',sans-serif;font-size:14px;background:var(--ink);color:var(--ivory);}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint);}
.field textarea{resize:vertical;min-height:80px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ---------- About / Gallery ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.photo-panel{border-radius:var(--radius);position:relative;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:20px;background:linear-gradient(160deg,var(--surface-2),var(--surface));}
.photo-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.photo-panel.img-fallback{background:linear-gradient(160deg,var(--saffron),var(--maroon-dark));}
.photo-panel::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(30,15,8,0) 55%, rgba(30,15,8,0.85) 100%);}
.photo-caption{position:relative;z-index:2;font-family:'Poppins',sans-serif;font-size:14.5px;font-weight:600;color:var(--ivory);background:rgba(30,15,8,0.55);border:1px solid var(--line);padding:8px 14px;border-radius:100px;}
.stat-row{display:flex;gap:32px;margin-top:28px;flex-wrap:wrap;}
.stat b{display:block;font-family:'Poppins',sans-serif;font-size:28px;color:var(--saffron);}
.stat span{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.04em;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery-tile{height:220px;border-radius:var(--radius);display:flex;align-items:flex-end;padding:16px;color:var(--ivory);font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;position:relative;border:1px solid var(--line);overflow:hidden;background:linear-gradient(160deg,var(--surface-2),var(--surface));transition:box-shadow .3s ease;}
.gallery-tile:hover{box-shadow:var(--shadow-soft);}
.gallery-tile:hover img{transform:scale(1.07);}
.gallery-tile img{transition:transform .5s ease;}
.gallery-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.gallery-tile.img-fallback{background:linear-gradient(160deg,var(--saffron),var(--maroon-dark));}
.gallery-tile::before{content:"";position:absolute;inset:0;border-radius:var(--radius);z-index:1;background:linear-gradient(180deg, rgba(30,15,8,0) 45%, rgba(30,15,8,0.85) 100%);}
.gallery-tile span{position:relative;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,0.6);}
.gallery-tile.tall{height:460px;grid-row:span 2;align-items:flex-end;}

/* ---------- Reviews ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:transform .3s ease,box-shadow .3s ease;}
.review-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);}
.stars{color:var(--gold);letter-spacing:2px;font-size:13px;margin-bottom:10px;}
.review-card p{font-size:13.5px;line-height:1.6;color:var(--ink-soft);}
.review-card .who{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--ivory);}
.review-summary{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:36px;}
.review-summary .big{font-family:'Poppins',sans-serif;font-size:44px;color:var(--saffron);}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item h3{font-size:16.5px;margin-bottom:8px;font-weight:600;}
.faq-item p{font-size:14px;color:var(--ink-soft);line-height:1.65;margin:0;}
.faq-cat{font-family:'Roboto',sans-serif;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--emerald);margin:40px 0 4px;}
.faq-cat:first-child{margin-top:0;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:16px;}
.info-card h4{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--emerald);margin-bottom:8px;}
.info-card p{margin:0;font-size:15px;line-height:1.6;}
.map-box{height:100%;min-height:280px;border-radius:var(--radius);border:1px solid var(--line);background:repeating-linear-gradient(45deg,#1D1611,#1D1611 10px,#241B15 10px,#241B15 20px);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:13px;text-align:center;padding:20px;}

/* ---------- Footer ---------- */
footer.site{background:#1E120B;color:rgba(251,241,226,0.65);padding:48px 0 28px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:32px;}
footer.site h5{color:var(--ivory);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;}
footer.site .fname{font-family:'Poppins',sans-serif;color:var(--ivory);font-size:20px;margin-bottom:8px;}
footer.site a{display:block;font-size:13.5px;padding:4px 0;color:rgba(251,241,226,0.65);}
footer.site a:hover{color:var(--saffron);}
.foot-bottom{border-top:1px solid rgba(251,241,226,0.1);padding-top:20px;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* ---------- Admin ---------- */
.admin-login{max-width:380px;margin:80px auto;text-align:center;}
.admin-login .tin{margin-bottom:20px;}
.admin-login p.hint{font-size:12px;color:var(--ink-soft);margin-top:14px;font-family:'Roboto',sans-serif;}
.admin-topbar{background:#1E120B;color:var(--ivory);padding:16px 0;border-bottom:1px solid var(--line);}
.admin-topbar .wrap{display:flex;justify-content:space-between;align-items:center;}
.admin-topbar .who{font-size:13px;color:rgba(251,241,226,0.6);}
.admin-body{display:grid;grid-template-columns:220px 1fr;gap:0;min-height:600px;}
.admin-side{border-right:1px solid var(--line);padding:24px 0;background:var(--surface);}
.admin-side button{display:block;width:100%;text-align:left;padding:11px 24px;background:none;border:none;font-size:14px;color:var(--ink-soft);border-left:3px solid transparent;}
.admin-side button.active{color:var(--ivory);font-weight:600;border-left-color:var(--saffron);background:rgba(251,241,226,0.05);}
.admin-side .divider-label{padding:16px 24px 6px;font-family:'Roboto',sans-serif;font-size:10px;letter-spacing:0.06em;color:var(--ink-faint);text-transform:uppercase;}
.admin-main{padding:32px 36px;background:var(--ink);}
.admin-main h2{font-size:22px;margin-bottom:4px;}
.admin-sub{color:var(--ink-soft);font-size:13.5px;margin-bottom:26px;}
.admin-panel{display:none;}
.admin-panel.active{display:block;}
table.admin-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
table.admin-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-soft);padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);}
table.admin-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle;}
table.admin-table tr:last-child td{border-bottom:none;}
.status-tag{font-family:'Roboto',sans-serif;font-size:10.5px;padding:3px 9px;border-radius:100px;letter-spacing:0.03em;}
.status-tag.available{background:rgba(62,152,115,0.18);color:#7FD1AC;}
.status-tag.sold-out{background:rgba(226,87,79,0.18);color:#F0928C;}
.status-tag.seasonal{background:rgba(232,184,75,0.18);color:var(--gold);}
.row-actions{display:flex;gap:6px;}
.row-actions button{background:none;border:1px solid var(--line);padding:5px 10px;border-radius:3px;font-size:11.5px;color:var(--ink-soft);}
.row-actions button:hover{border-color:var(--saffron);color:var(--saffron);}
.row-actions button.danger:hover{border-color:var(--danger);color:var(--danger);}
.toast{position:fixed;bottom:24px;right:24px;background:var(--emerald);color:var(--ivory);padding:13px 20px;border-radius:4px;font-size:13.5px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,0.4);display:flex;align-items:center;gap:10px;z-index:200;opacity:0;transform:translateY(10px);pointer-events:none;transition:all 0.25s ease;}
.toast.show{opacity:1;transform:translateY(0);}
.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px;}
.admin-flex-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.switch{position:relative;display:inline-block;width:38px;height:22px;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;cursor:pointer;inset:0;background:rgba(251,241,226,0.18);border-radius:100px;transition:.2s;}
.slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:var(--ivory);border-radius:50%;transition:.2s;}
input:checked + .slider{background:var(--emerald);}
input:checked + .slider:before{transform:translateX(16px);}
.note-banner{background:rgba(232,184,75,0.12);border:1px solid var(--gold);border-radius:var(--radius);padding:14px 18px;font-size:13px;color:var(--gold);margin-bottom:28px;}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .btn,.dish-card,.cater-card,.review-card,.gallery-tile,.plan-card,.special-chip,.dish-photo img,.cater-photo img,.gallery-tile img{transition:none;}
  .hero-visual,.hero-grid > div:first-child{animation:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  nav.primary{display:none;}
  .staff-btn{display:none;}
  .menu-toggle{display:flex;}
  .mobile-nav{display:flex;}
  .nav-inner{padding:12px 20px;}
  .wrap{padding:0 20px;}
  section{padding:56px 0;}
  .hero{padding:44px 0 40px;}
  .hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .hero-ctas .btn{width:100%;justify-content:center;}
  .stat-row{gap:22px;}
  .dish-grid{flex-direction:column;}
  .dish-card{width:100%;max-width:none;}
  .plan-grid,.cater-grid,.reviews,.gallery-grid{grid-template-columns:1fr;}
  .gallery-tile.tall{grid-row:auto;height:220px;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .admin-body{grid-template-columns:1fr;}
  .admin-side{display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);padding:12px;}
  .admin-side .divider-label{display:none;}
  .admin-side button{width:auto;white-space:nowrap;border-left:none;border-bottom:3px solid transparent;}
  .admin-side button.active{border-left:none;border-bottom-color:var(--saffron);}
  .admin-main{padding:24px 20px;}
  table.admin-table{display:block;overflow-x:auto;white-space:nowrap;}
  .field-row{grid-template-columns:1fr;}
  .hero-visual{height:320px;}
  .hero-badge{top:4%;right:4%;font-size:11.5px;padding:7px 11px;}
  .hero-rating-card{padding:8px 11px;gap:7px;}
  .hero-rating-card .stars-circle{width:28px;height:28px;font-size:13px;}
  .hero-rating-card .score{font-size:13px;}
  .hero-info-card{left:4%;bottom:4%;padding:8px 11px;gap:9px;}
  .hero-info-card img{width:38px;height:38px;}
  .hero-spin-badge{bottom:4%;right:4%;}
  .hero-spin-badge .spin-badge{width:64px;height:64px;}
  .hero-spin-badge .spin-badge .center a{width:26px;height:26px;}
  .hero-spin-badge .spin-badge .center svg{width:10px;height:10px;}
  .tiffin-band .spin-badge-wrap{justify-content:center;width:100%;}
  .spin-caption{max-width:none;text-align:center;}
  .review-summary{flex-direction:column;text-align:center;}
  .cat-tabs{gap:6px;}
}
@media (max-width:480px){
  .feature-strip .wrap{grid-template-columns:1fr;}
  .hero-visual{height:260px;}
  .hero-badge{font-size:10.5px;padding:6px 9px;}
  .hero-rating-card .avatars .count{display:none;}
  .hero-info-card{padding:7px 9px;gap:7px;}
  .hero-info-card .name{font-size:12.5px;}
  .hero-spin-badge{display:none;}
  h1{word-break:break-word;}
}
