/* ===== VARIABLES ===== */
:root {
    --saffron: #F2A900;
    --saffron-bright: #FFC30F;
    --saffron-dark: #D4940A;
    --saffron-light: #FFF8ED;
    --saffron-glow: rgba(242, 169, 0, 0.25);
    --coral: #E07A5F;
    --coral-light: #FDF0EC;
    --rose: #D4567A;
    --rose-light: #FCE4EC;
    --turmeric: #FFC30F;
    --spice-red: #CF3D3B;
    --leaf-green: #00875A;
    --teal: #2F7789;
    --dark: #2D2926;
    --dark-2: #3A3530;
    --dark-3: #4E4C4C;
    --dark-warm: #252220;
    --white: #ffffff;
    --off-white: #FAF8F5;
    --cream: #F5F1EB;
    --cream-warm: #F9F3EA;
    --gray: #6B6560;
    --gray-light: #E5DED6;
    --green: #00875A;
    --font-heading: 'Playfair Display', 'Georgia', serif;
    --font-body: 'Inter', -apple-system, sans-serif;
    --radius: 12px;
    --radius-sm: 6px;
    --radius-lg: 20px;
    --shadow: 0 2px 24px rgba(0,0,0,0.05);
    --shadow-lg: 0 8px 40px rgba(0,0,0,0.08);
    --shadow-warm: 0 4px 24px rgba(242, 169, 0, 0.12);
    --shadow-glow: 0 6px 32px rgba(242, 169, 0, 0.2);
    --transition: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --transition-slow: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --gradient-warm: linear-gradient(135deg, #F2A900, #F99D1C);
    --gradient-sunset: linear-gradient(135deg, #F2A900, #E07A5F);
    --gradient-spice: linear-gradient(135deg, #F2A900, #CF3D3B);
}

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { font-family: var(--font-body); color: var(--dark); line-height: 1.7; overflow-x: hidden; background: var(--off-white); font-weight: 400; font-size: 15px; -webkit-font-smoothing: antialiased; letter-spacing: -0.01em; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; font-size: 1rem; }

/* ===== INDIAN ARTWORK - MANDALA OVERLAYS ===== */
.mandala-overlay {
    position: absolute;
    width: 400px;
    height: 400px;
    opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Ccircle cx='200' cy='200' r='190' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='160' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='130' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='100' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='70' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Ccircle cx='200' cy='200' r='40' fill='none' stroke='%23E8A020' stroke-width='1.5'/%3E%3Cpath d='M200 10 L200 390 M10 200 L390 200 M60 60 L340 340 M340 60 L60 340' fill='none' stroke='%23E8A020' stroke-width='0.5'/%3E%3Cpath d='M200 40 Q240 100 200 160 Q160 100 200 40' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M200 240 Q240 300 200 360 Q160 300 200 240' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M40 200 Q100 240 160 200 Q100 160 40 200' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M240 200 Q300 240 360 200 Q300 160 240 200' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M90 90 Q140 130 130 180 Q100 130 90 90' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M310 90 Q260 130 270 180 Q300 130 310 90' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M90 310 Q140 270 130 220 Q100 270 90 310' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M310 310 Q260 270 270 220 Q300 270 310 310' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    pointer-events: none;
}
.mandala-left { top: -50px; left: -100px; }
.mandala-right { bottom: -50px; right: -100px; transform: rotate(45deg); }

/* ===== PAISLEY BORDER PATTERN ===== */
.paisley-border {
    height: 3px;
    background: var(--saffron);
}

/* ===== UTILITIES ===== */
.container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
.section-tag { display: inline-block; font-family: var(--font-body); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 4px; color: var(--saffron); margin-bottom: 16px; }
.section-tag.light { color: var(--turmeric); }
.section-header { text-align: center; margin-bottom: 56px; }
.section-header h2 { font-family: var(--font-heading); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 500; color: var(--dark); letter-spacing: -0.01em; }
.section-header h2 span { color: var(--saffron); font-style: italic; }
.section-header p { color: var(--gray); max-width: 560px; margin: 16px auto 0; font-size: 0.95rem; line-height: 1.7; }

/* ===== BUTTONS ===== */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 36px; border-radius: 6px; font-weight: 500; font-size: 0.8rem; letter-spacing: 1.5px; text-transform: uppercase; transition: var(--transition); white-space: nowrap; }
.btn-primary { background: var(--saffron); color: var(--dark); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); background: var(--saffron-bright); }
.btn-secondary { background: var(--white); color: var(--dark); box-shadow: var(--shadow); }
.btn-secondary:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.btn-outline { border: 1.5px solid rgba(255,255,255,0.4); color: var(--white); background: rgba(255,255,255,0.05); backdrop-filter: blur(4px); }
.btn-outline:hover { background: var(--white); color: var(--dark); border-color: var(--white); transform: translateY(-2px); }
.btn-full { width: 100%; }
.btn-sm { padding: 10px 24px; font-size: 0.75rem; }

/* ===== TOP BAR ===== */
.top-bar { background: var(--dark); color: var(--white); font-size: 0.75rem; padding: 10px 0; letter-spacing: 0.5px; border-bottom: 2px solid var(--saffron); }
.top-bar-inner { max-width: 1240px; margin: 0 auto; padding: 0 32px; display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; }
.top-bar span { opacity: 0.7; font-weight: 400; }

/* ===== NAVBAR ===== */
.navbar { position: sticky; top: 0; z-index: 1000; background: rgba(250,248,245,0.96); backdrop-filter: blur(20px) saturate(180%); border-bottom: 1px solid rgba(0,0,0,0.06); transition: var(--transition); }
.navbar.scrolled { box-shadow: 0 1px 40px rgba(0,0,0,0.06); }
.nav-inner { max-width: 1240px; margin: 0 auto; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; height: 76px; }
.logo { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
.logo-new { font-size: 0.55rem; font-weight: 600; letter-spacing: 3px; color: var(--dark); background: var(--saffron); padding: 2px 8px; border-radius: 2px; font-family: var(--font-body); }
.logo-img { height: 42px; width: auto; display: block; }
.logo-sub { font-size: 0.65rem; letter-spacing: 5px; color: var(--gray); font-weight: 400; margin-top: 2px; }
.nav-links { display: flex; align-items: center; gap: 36px; }
.nav-links a { font-size: 0.8rem; font-weight: 500; color: var(--dark-3); transition: var(--transition); position: relative; letter-spacing: 0.5px; text-transform: uppercase; }
.nav-links a:hover { color: var(--saffron); }
.nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 50%; width: 0; height: 2px; background: var(--saffron); transition: var(--transition); transform: translateX(-50%); border-radius: 2px; }
.nav-links a:hover::after { width: 100%; }
.btn-reserve { background: var(--saffron) !important; color: var(--dark) !important; padding: 10px 28px !important; border-radius: 6px !important; font-weight: 600 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; font-size: 0.72rem !important; }
.btn-reserve:hover { opacity: 0.9; }
.btn-reserve::after { display: none !important; }
.nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 4px; }
.nav-toggle span { width: 24px; height: 1.5px; background: var(--dark); transition: var(--transition); }

/* ===== HERO ===== */
.hero { position: relative; height: 100vh; min-height: 700px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--dark) url('https://lh3.googleusercontent.com/d/1iV3gwQkEDRUOqLvqs8GI3leOYEz0YrEu=w1600') center/cover no-repeat; }
.hero-video-wrap { position: absolute; inset: 0; }
.hero-video-wrap video { width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,18,16,0.6) 0%, rgba(26,18,16,0.2) 40%, rgba(26,18,16,0.7) 100%); }
.hero-content { position: relative; z-index: 2; text-align: center; color: var(--white); padding: 0 32px; max-width: 860px; }
.hero-badge { display: inline-block; background: rgba(242, 169, 0, 0.15); color: var(--turmeric); font-size: 0.68rem; font-weight: 500; letter-spacing: 3px; padding: 10px 28px; border-radius: 4px; margin-bottom: 28px; border: 1px solid rgba(242, 169, 0, 0.3); backdrop-filter: blur(8px); animation: fadeInDown 1s ease; text-transform: uppercase; font-family: var(--font-body); }
.hero-logo-wrap { animation: fadeInUp 1s ease 0.2s both; margin-bottom: 12px; display: flex; justify-content: center; }
.hero-logo-img { max-width: clamp(280px, 45vw, 480px); height: auto; filter: brightness(0) invert(1) drop-shadow(2px 2px 4px rgba(0,0,0,0.3)); }
.hero-subtitle { font-family: var(--font-body); font-size: clamp(1.2rem, 2.5vw, 1.6rem); font-weight: 300; letter-spacing: 14px; text-transform: uppercase; color: var(--white); opacity: 0.85; margin-bottom: 16px; animation: fadeInUp 1s ease 0.3s both; }
.hero-content > p { font-size: clamp(1rem, 2vw, 1.15rem); opacity: 0.8; margin-bottom: 44px; animation: fadeInUp 1s ease 0.4s both; font-weight: 300; letter-spacing: 0.3px; }
.hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; animation: fadeInUp 1s ease 0.6s both; }
.hero-scroll { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 2; color: var(--white); text-align: center; font-size: 0.65rem; letter-spacing: 3px; opacity: 0.5; text-transform: uppercase; }
.scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, var(--saffron), transparent); margin: 10px auto 0; animation: scrollPulse 2.5s ease infinite; }

@keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeInDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes scrollPulse { 0%, 100% { opacity: 0.2; transform: scaleY(0.6); } 50% { opacity: 0.8; transform: scaleY(1); } }


/* ===== ABOUT ===== */
.about { padding: 140px 0 100px; position: relative; overflow: hidden; }
.about::before { content: ''; position: absolute; top: 60px; right: -80px; width: 500px; height: 400px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 400'%3E%3C!-- Gateway of India silhouette --%3E%3Cpath d='M150 400 L150 280 L160 280 L160 200 L170 190 L170 170 L175 165 L175 140 Q175 120 190 110 L190 100 Q190 80 210 70 L210 60 Q210 50 220 45 L220 40 Q230 30 250 25 Q270 30 280 40 L280 45 Q290 50 290 60 L290 70 Q310 80 310 100 L310 110 Q325 120 325 140 L325 165 L330 170 L330 190 L340 200 L340 280 L350 280 L350 400' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3C!-- Central arch --%3E%3Cpath d='M210 280 Q210 220 250 200 Q290 220 290 280' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3C!-- Side arches --%3E%3Cpath d='M160 280 Q160 250 180 240 Q200 250 200 280' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3Cpath d='M300 280 Q300 250 320 240 Q340 250 340 280' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3C!-- Dome --%3E%3Cpath d='M220 45 Q250 10 280 45' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cline x1='250' y1='10' x2='250' y2='0' stroke='%23E8A020' stroke-width='0.8'/%3E%3C!-- Small domes --%3E%3Ccircle cx='190' cy='100' r='8' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3Ccircle cx='310' cy='100' r='8' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3C!-- Decorative lines --%3E%3Cline x1='150' y1='280' x2='350' y2='280' stroke='%23E8A020' stroke-width='0.5'/%3E%3Cline x1='160' y1='200' x2='340' y2='200' stroke='%23E8A020' stroke-width='0.5'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; opacity: 0.06; pointer-events: none; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-images { position: relative; height: 520px; }
.about-img-1 { width: 70%; height: 80%; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-lg); position: absolute; top: 0; left: 0; border: 4px solid var(--white); }
.about-img-2 { width: 50%; height: 50%; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-lg); position: absolute; bottom: 0; right: 0; border: 4px solid var(--white); }
.about-text h2 { font-family: var(--font-heading); font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 500; margin-bottom: 24px; line-height: 1.2; }
.about-text h2 span { color: var(--saffron); font-style: italic; }
.about-text p { color: #666; margin-bottom: 18px; font-size: 0.95rem; line-height: 1.8; }
.about-stats { display: flex; gap: 48px; margin-top: 36px; padding-top: 36px; border-top: 1px solid var(--gray-light); }
.stat-num { display: block; font-family: var(--font-body); font-size: 2.6rem; font-weight: 700; color: var(--saffron); letter-spacing: -0.5px; }
.stat-label { font-size: 0.75rem; color: var(--gray); text-transform: uppercase; letter-spacing: 1.5px; font-weight: 500; }

/* ===== MUMBAI SKYLINE DIVIDER ===== */
.skyline-divider {
    height: 60px;
    background-repeat: repeat-x;
    background-size: 400px 60px;
    background-position: bottom center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 60 L0 35 L10 35 L10 28 L15 28 L15 20 L20 18 L22 18 L22 22 L28 22 L28 15 L32 12 L36 15 L36 22 L42 22 L42 35 L50 35 L50 30 L55 30 L55 25 L58 22 L61 25 L61 30 L65 30 L65 35 L75 35 L75 28 L78 28 L78 22 L82 20 L86 22 L86 28 L89 28 L89 35 L100 35 L100 20 L105 18 L108 18 L108 12 L112 10 L116 12 L116 18 L120 18 L125 20 L125 35 L130 35 L130 32 L140 32 L140 25 L145 22 L150 25 L150 32 L155 32 L155 35 L165 35 L165 30 L170 28 L172 12 L175 8 L178 12 L180 28 L185 30 L185 35 L195 35 L195 25 L200 20 L200 8 L203 5 L206 8 L206 20 L210 25 L210 35 L220 35 L220 30 L225 28 L230 30 L230 35 L240 35 L240 28 L245 25 L250 28 L250 35 L260 35 L260 22 L265 18 L268 18 L270 12 L275 8 L280 12 L282 18 L285 18 L290 22 L290 35 L300 35 L300 30 L310 30 L310 25 L315 22 L320 25 L320 30 L325 30 L325 35 L335 35 L335 28 L340 25 L345 28 L345 35 L355 35 L355 30 L360 28 L365 30 L365 35 L375 35 L375 32 L380 30 L385 32 L385 35 L400 35 L400 60 Z' fill='%231A1210'/%3E%3C/svg%3E");
}
.skyline-divider.inverted {
    transform: scaleY(-1);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 60 L0 35 L10 35 L10 28 L15 28 L15 20 L20 18 L22 18 L22 22 L28 22 L28 15 L32 12 L36 15 L36 22 L42 22 L42 35 L50 35 L50 30 L55 30 L55 25 L58 22 L61 25 L61 30 L65 30 L65 35 L75 35 L75 28 L78 28 L78 22 L82 20 L86 22 L86 28 L89 28 L89 35 L100 35 L100 20 L105 18 L108 18 L108 12 L112 10 L116 12 L116 18 L120 18 L125 20 L125 35 L130 35 L130 32 L140 32 L140 25 L145 22 L150 25 L150 32 L155 32 L155 35 L165 35 L165 30 L170 28 L172 12 L175 8 L178 12 L180 28 L185 30 L185 35 L195 35 L195 25 L200 20 L200 8 L203 5 L206 8 L206 20 L210 25 L210 35 L220 35 L220 30 L225 28 L230 30 L230 35 L240 35 L240 28 L245 25 L250 28 L250 35 L260 35 L260 22 L265 18 L268 18 L270 12 L275 8 L280 12 L282 18 L285 18 L290 22 L290 35 L300 35 L300 30 L310 30 L310 25 L315 22 L320 25 L320 30 L325 30 L325 35 L335 35 L335 28 L340 25 L345 28 L345 35 L355 35 L355 30 L360 28 L365 30 L365 35 L375 35 L375 32 L380 30 L385 32 L385 35 L400 35 L400 60 Z' fill='%23FFF8EE'/%3E%3C/svg%3E");
}

/* ===== MENU ===== */
.menu-section { padding: 100px 0; background: var(--dark); color: var(--white); position: relative; overflow: hidden; }
.menu-section::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 400'%3E%3Cpath d='M150 400 L150 280 L160 280 L160 200 L170 190 L170 170 L175 165 L175 140 Q175 120 190 110 L190 100 Q190 80 210 70 L210 60 Q210 50 220 45 L220 40 Q230 30 250 25 Q270 30 280 40 L280 45 Q290 50 290 60 L290 70 Q310 80 310 100 L310 110 Q325 120 325 140 L325 165 L330 170 L330 190 L340 200 L340 280 L350 280 L350 400' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Cpath d='M210 280 Q210 220 250 200 Q290 220 290 280' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M160 280 Q160 250 180 240 Q200 250 200 280' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3Cpath d='M300 280 Q300 250 320 240 Q340 250 340 280' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3Cpath d='M220 45 Q250 10 280 45' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cline x1='250' y1='10' x2='250' y2='0' stroke='%23E8A020' stroke-width='0.8'/%3E%3Ccircle cx='190' cy='100' r='8' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3Ccircle cx='310' cy='100' r='8' fill='none' stroke='%23E8A020' stroke-width='0.6'/%3E%3Cline x1='150' y1='280' x2='350' y2='280' stroke='%23E8A020' stroke-width='0.5'/%3E%3Cline x1='160' y1='200' x2='340' y2='200' stroke='%23E8A020' stroke-width='0.5'/%3E%3C/svg%3E"); background-size: 500px 400px; background-position: right -100px bottom -50px; background-repeat: no-repeat; opacity: 0.05; pointer-events: none; }
.menu-section .section-header h2 { color: var(--white); }
.menu-section .section-header p { color: rgba(255,255,255,0.6); }
.menu-tabs { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.menu-tab { padding: 10px 26px; border-radius: 50px; font-size: 0.8rem; font-weight: 500; color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); transition: var(--transition); letter-spacing: 0.3px; }
.menu-tab:hover { border-color: var(--saffron); color: var(--saffron); }
.menu-tab.active { background: var(--saffron); color: var(--dark); border-color: transparent; font-weight: 600; box-shadow: 0 4px 16px rgba(242, 169, 0, 0.25); }
.menu-content { display: none; animation: fadeInUp 0.5s ease; }
.menu-content.active { display: block; }
.menu-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.menu-grid.three-col { grid-template-columns: repeat(3, 1fr); }
.menu-grid.four-col { grid-template-columns: repeat(4, 1fr); }
.menu-item { background: rgba(255,255,255,0.04); padding: 22px 26px; border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,0.06); transition: var(--transition); }
.menu-item:hover { box-shadow: 0 4px 24px rgba(232, 160, 32, 0.1); border-color: rgba(232, 160, 32, 0.2); background: rgba(255,255,255,0.07); }
.menu-item.featured { border-left: 3px solid var(--saffron); }
.menu-item.compact { padding: 16px 20px; }
.menu-item-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 6px; }
.menu-item-header h4 { font-family: var(--font-heading); font-size: 1.05rem; font-weight: 600; flex: 1; color: var(--white); }
.price { font-weight: 700; color: var(--turmeric); white-space: nowrap; font-size: 0.95rem; font-family: var(--font-body); letter-spacing: -0.3px; }
.menu-item p { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.new-badge { display: inline-block; font-size: 0.55rem; font-weight: 700; background: var(--coral); color: var(--white); padding: 2px 7px; border-radius: 3px; vertical-align: middle; letter-spacing: 0.5px; font-family: var(--font-body); text-transform: uppercase; }
.veg-badge { display: inline-block; font-size: 0.55rem; font-weight: 700; background: var(--leaf-green); color: var(--white); padding: 2px 7px; border-radius: 3px; vertical-align: middle; font-family: var(--font-body); }
.menu-subsection { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 400; color: var(--turmeric); margin: 40px 0 20px; text-align: center; font-style: italic; }
.menu-footer { text-align: center; margin-top: 48px; color: rgba(255,255,255,0.45); font-size: 0.85rem; }
.menu-footer a { color: var(--saffron); font-weight: 500; }

/* ===== DEALS ===== */
.deals-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.deal-card { background: rgba(255,255,255,0.05); border-radius: var(--radius); padding: 32px 24px; text-align: center; border: 1px solid rgba(255,255,255,0.08); transition: var(--transition); }
.deal-card:hover { box-shadow: 0 8px 32px rgba(232, 160, 32, 0.15); transform: translateY(-6px); }
.deal-card.highlight { border: 2px solid transparent; background-image: linear-gradient(rgba(40,32,24,1), rgba(40,32,24,1)), var(--gradient-warm); background-origin: border-box; background-clip: padding-box, border-box; position: relative; box-shadow: 0 8px 32px rgba(232, 160, 32, 0.2); }
.deal-name { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 500; margin-bottom: 8px; font-style: italic; color: var(--white); }
.deal-price { font-family: var(--font-body); font-size: 2.2rem; font-weight: 700; color: var(--saffron); margin-bottom: 20px; letter-spacing: -0.5px; }
.deal-card ul { text-align: left; font-size: 0.82rem; color: rgba(255,255,255,0.55); }
.deal-card li { padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.deal-card li:last-child { border-bottom: none; }

/* ===== GALLERY ===== */
.gallery { padding: 100px 0; position: relative; overflow: hidden; }
.gallery::after { content: ''; position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); width: 600px; height: 500px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 400'%3E%3Cpath d='M150 400 L150 280 L160 280 L160 200 L170 190 L170 170 L175 165 L175 140 Q175 120 190 110 L190 100 Q190 80 210 70 L210 60 Q210 50 220 45 L220 40 Q230 30 250 25 Q270 30 280 40 L280 45 Q290 50 290 60 L290 70 Q310 80 310 100 L310 110 Q325 120 325 140 L325 165 L330 170 L330 190 L340 200 L340 280 L350 280 L350 400' fill='none' stroke='%23E8A020' stroke-width='1.2'/%3E%3Cpath d='M210 280 Q210 220 250 200 Q290 220 290 280' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Cpath d='M160 280 Q160 250 180 240 Q200 250 200 280' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M300 280 Q300 250 320 240 Q340 250 340 280' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cpath d='M220 45 Q250 10 280 45' fill='none' stroke='%23E8A020' stroke-width='1'/%3E%3Cline x1='250' y1='10' x2='250' y2='0' stroke='%23E8A020' stroke-width='1'/%3E%3Ccircle cx='190' cy='100' r='8' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Ccircle cx='310' cy='100' r='8' fill='none' stroke='%23E8A020' stroke-width='0.8'/%3E%3Cline x1='150' y1='280' x2='350' y2='280' stroke='%23E8A020' stroke-width='0.6'/%3E%3Cline x1='160' y1='200' x2='340' y2='200' stroke='%23E8A020' stroke-width='0.6'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; opacity: 0.04; pointer-events: none; z-index: 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; auto-rows: 240px; }
.gallery-item { border-radius: var(--radius-sm); overflow: hidden; position: relative; }
.gallery-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(232, 160, 32, 0.4), transparent 50%); opacity: 0; transition: var(--transition); }
.gallery-item:hover::after { opacity: 1; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item.large { grid-column: span 2; }
.gallery-item.tall { grid-row: span 2; }

/* ===== RESERVATION CTA ===== */
.reservation-cta { position: relative; padding: 120px 0; overflow: hidden; }
.reservation-cta-bg { position: absolute; inset: 0; }
.reservation-cta-bg img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.15); }
.reservation-cta::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(232, 120, 90, 0.15), rgba(232, 160, 32, 0.1)); z-index: 1; }
.cta-hero-content { position: relative; z-index: 3; text-align: center; color: var(--white); max-width: 800px; margin: 0 auto; }
.cta-hero-content h2 { font-family: var(--font-heading); font-size: clamp(2.2rem, 4.5vw, 3.5rem); margin-bottom: 20px; font-weight: 400; line-height: 1.15; }
.cta-hero-content h2 span { color: var(--turmeric); font-style: italic; font-weight: 400; }
.cta-hero-content > p { opacity: 0.8; margin-bottom: 48px; font-size: 1.05rem; line-height: 1.8; max-width: 600px; margin-left: auto; margin-right: auto; }
.cta-features { display: flex; justify-content: center; gap: 48px; margin-bottom: 48px; flex-wrap: wrap; }
.cta-feature { display: flex; gap: 14px; align-items: flex-start; text-align: left; }
.cta-feature svg { width: 24px; height: 24px; flex-shrink: 0; color: var(--turmeric); margin-top: 2px; }
.cta-feature strong { display: block; font-size: 0.9rem; font-weight: 600; margin-bottom: 2px; }
.cta-feature span { font-size: 0.8rem; opacity: 0.6; }
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.btn-cta-primary { display: inline-flex; align-items: center; gap: 12px; padding: 16px 44px; border-radius: 6px; font-weight: 600; font-size: 0.82rem; letter-spacing: 1.5px; text-transform: uppercase; background: var(--saffron); color: var(--dark); transition: var(--transition); }
.btn-cta-primary svg { width: 20px; height: 20px; }
.btn-cta-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); background: var(--saffron-bright); }
.btn-cta-secondary { display: inline-flex; align-items: center; gap: 12px; padding: 16px 44px; border-radius: 6px; font-weight: 500; font-size: 0.82rem; letter-spacing: 1.5px; text-transform: uppercase; border: 1.5px solid rgba(255,255,255,0.3); color: var(--white); background: rgba(255,255,255,0.05); backdrop-filter: blur(4px); transition: var(--transition); }
.btn-cta-secondary svg { width: 20px; height: 20px; }
.btn-cta-secondary:hover { background: var(--white); color: var(--dark); border-color: var(--white); transform: translateY(-2px); }

/* ===== VOUCHERS CTA ===== */
.vouchers-cta { padding: 100px 0; background: linear-gradient(180deg, var(--cream-warm) 0%, var(--off-white) 100%); position: relative; overflow: hidden; }
.voucher-cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.voucher-showcase { display: flex; justify-content: center; }
.voucher-preview { width: 360px; aspect-ratio: 1.6; border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--saffron), var(--saffron-dark)); padding: 3px; box-shadow: 0 16px 48px rgba(242, 169, 0, 0.2); transform: rotate(-3deg); transition: var(--transition-slow); }
.voucher-preview:hover { transform: rotate(0deg) scale(1.03); box-shadow: 0 30px 80px rgba(232, 160, 32, 0.35); }
.voucher-preview-inner { width: 100%; height: 100%; border-radius: 20px; background: var(--dark); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 32px; position: relative; overflow: hidden; }
.voucher-preview-inner::before { content: ''; position: absolute; top: -50%; right: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(232, 160, 32, 0.08) 0%, transparent 50%); pointer-events: none; }
.voucher-preview-brand { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 600; letter-spacing: 3px; color: var(--white); }
.voucher-preview-type { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 4px; color: var(--saffron); font-weight: 600; }
.voucher-preview-amounts { font-family: var(--font-body); font-size: 1rem; font-weight: 500; color: rgba(255,255,255,0.5); margin: 8px 0; letter-spacing: 3px; }
.voucher-preview-tagline { font-size: 0.72rem; color: rgba(255,255,255,0.4); letter-spacing: 1px; }
.voucher-cta-text h2 { font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3rem); font-weight: 500; margin-bottom: 20px; line-height: 1.2; }
.voucher-cta-text h2 span { color: var(--saffron); font-style: italic; }
.voucher-cta-text > p { color: var(--gray); margin-bottom: 28px; font-size: 0.95rem; line-height: 1.8; }
.voucher-perks { margin-bottom: 36px; }
.voucher-perks li { display: flex; align-items: center; gap: 12px; padding: 8px 0; font-size: 0.9rem; color: var(--dark-3); }
.voucher-perks svg { width: 18px; height: 18px; color: var(--leaf-green); flex-shrink: 0; }
.btn-cta-voucher { display: inline-flex; align-items: center; gap: 12px; padding: 16px 44px; border-radius: 6px; font-weight: 600; font-size: 0.82rem; letter-spacing: 1.5px; text-transform: uppercase; background: var(--saffron); color: var(--dark); transition: var(--transition); }
.btn-cta-voucher svg { width: 20px; height: 20px; }
.btn-cta-voucher:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); background: var(--saffron-bright); }

/* ===== CATERING ===== */
.catering { padding: 80px 0; background: var(--dark-warm); color: var(--white); position: relative; overflow: hidden; border-top: 3px solid var(--saffron); }
.catering::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(232, 160, 32, 0.1) 0%, transparent 60%); }
.catering-content { text-align: center; max-width: 700px; margin: 0 auto; position: relative; }
.catering-content h2 { font-family: var(--font-heading); font-size: clamp(1.6rem, 3.5vw, 2.4rem); margin-bottom: 18px; font-weight: 500; letter-spacing: 0.5px; }
.catering-content p { opacity: 0.7; margin-bottom: 28px; font-size: 0.95rem; line-height: 1.8; }
.catering-actions { display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; }
.catering-note { font-size: 0.8rem; opacity: 0.45; letter-spacing: 0.3px; }

/* ===== LOCATION ===== */
.location-info { padding: 100px 0; }
.location-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; }
.map-wrap { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lg); }
.map-wrap iframe { display: block; }
.info-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
.info-card { background: var(--cream); padding: 28px; border-radius: var(--radius-sm); border: 1px solid rgba(232, 160, 32, 0.08); }
.info-card h3 { font-family: var(--font-heading); font-size: 1.15rem; margin-bottom: 10px; color: var(--dark); font-weight: 500; }
.info-card p { font-size: 0.88rem; color: #666; line-height: 1.7; }
.hours-table { width: 100%; font-size: 0.88rem; }
.hours-table td { padding: 5px 0; color: #666; }
.hours-table td:last-child { text-align: right; font-weight: 500; color: var(--dark-3); }

/* ===== FOOTER ===== */
.footer { background: var(--dark); color: var(--white); padding: 0; }
.footer::before { content: ''; display: block; height: 2px; background: var(--saffron); }
.footer > .container { padding-top: 80px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.footer-logo { margin-bottom: 20px; }
.footer-logo-img { height: 48px; width: auto; filter: brightness(0) invert(1); opacity: 0.9; }
.footer-logo .logo-sub { color: rgba(255,255,255,0.35); }
.footer-brand p { font-size: 0.88rem; opacity: 0.55; line-height: 1.7; }
.footer-links h4 { font-family: var(--font-heading); font-size: 1.1rem; margin-bottom: 20px; color: var(--saffron); font-weight: 500; font-style: italic; }
.footer-links a { display: block; font-size: 0.85rem; opacity: 0.55; margin-bottom: 10px; transition: var(--transition); }
.footer-links a:hover { opacity: 1; color: var(--saffron); }
.footer-links p { font-size: 0.85rem; opacity: 0.55; margin-bottom: 10px; }
.footer-bottom { padding: 28px 0; text-align: center; font-size: 0.75rem; opacity: 0.35; }
.footer-bottom p { margin-bottom: 4px; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .action-cards { grid-template-columns: repeat(2, 1fr); }
    .menu-grid.three-col, .menu-grid.four-col { grid-template-columns: repeat(2, 1fr); }
    .deals-grid { grid-template-columns: repeat(2, 1fr); }
    .gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .location-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .voucher-cta-grid { grid-template-columns: 1fr; gap: 48px; }
    .voucher-showcase { order: -1; }
    .cta-features { gap: 28px; }
}

@media (max-width: 768px) {
    .container { padding: 0 20px; }
    .top-bar-inner { font-size: 0.65rem; gap: 16px; }
    .nav-toggle { display: flex; }
    .nav-links { display: none; position: absolute; top: 76px; left: 0; right: 0; background: rgba(255,252,247,0.98); backdrop-filter: blur(20px); flex-direction: column; padding: 28px; gap: 18px; box-shadow: 0 20px 40px rgba(0,0,0,0.08); border-top: 1px solid var(--gray-light); }
    .nav-links.active { display: flex; }
    .hero { min-height: 100svh; }
    .hero-content { padding: 0 16px; }
    .hero-logo-text { font-size: 3rem; letter-spacing: 2px; }
    .hero-subtitle { letter-spacing: 6px; font-size: 1rem; }
    .mustache-line { width: 50px; }
    .hero-actions { flex-direction: column; align-items: center; gap: 12px; }
    .hero-actions .btn { width: 100%; max-width: 300px; padding: 14px 28px; }
    .hero-scroll { bottom: 24px; }
    .about { padding: 80px 0 60px; }
    .about-grid { grid-template-columns: 1fr; gap: 32px; }
    .about-images { height: 300px; }
    .about-img-1 { width: 65%; height: 85%; }
    .about-img-2 { width: 50%; height: 55%; }
    .about-text h2 { font-size: 1.8rem; }
    .about-text p { font-size: 0.9rem; }
    .about-stats { gap: 24px; flex-wrap: wrap; justify-content: center; }
    .stat-num { font-size: 2.2rem; }
    .section-header { margin-bottom: 36px; }
    .section-header h2 { font-size: 1.8rem; }
    .menu-section { padding: 60px 0; }
    .menu-grid { grid-template-columns: 1fr; }
    .menu-grid.three-col, .menu-grid.four-col { grid-template-columns: 1fr; }
    .menu-item { padding: 18px 20px; }
    .deals-grid { grid-template-columns: 1fr; }
    .gallery { padding: 60px 0; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); auto-rows: 180px; }
    .gallery-item.large { grid-column: span 2; }
    .reservation-cta { padding: 60px 0; }
    .cta-hero-content h2 { font-size: 1.8rem; }
    .cta-hero-content > p { font-size: 0.9rem; margin-bottom: 32px; }
    .cta-features { flex-direction: column; gap: 20px; align-items: center; }
    .cta-feature { text-align: center; flex-direction: column; align-items: center; }
    .cta-buttons { flex-direction: column; align-items: center; }
    .btn-cta-primary, .btn-cta-secondary, .btn-cta-voucher { width: 100%; max-width: 340px; justify-content: center; padding: 14px 32px; }
    .vouchers-cta { padding: 60px 0; }
    .voucher-cta-grid { grid-template-columns: 1fr; gap: 32px; }
    .voucher-preview { width: 280px; transform: rotate(-2deg); }
    .voucher-cta-text { text-align: center; }
    .voucher-cta-text h2 { font-size: 1.8rem; }
    .voucher-perks li { justify-content: center; font-size: 0.85rem; }
    .voucher-cta-text .btn-cta-voucher { margin: 0 auto; }
    .catering { padding: 60px 0; }
    .catering-content h2 { font-size: 1.5rem; }
    .catering-actions { gap: 16px; }
    .location-info { padding: 60px 0; }
    .location-grid { grid-template-columns: 1fr; gap: 32px; }
    .map-wrap { border-radius: var(--radius-sm); }
    .map-wrap iframe { height: 300px; }
    .footer > .container { padding-top: 48px; }
    .footer-grid { grid-template-columns: 1fr; gap: 32px; text-align: center; }
    .footer-brand { text-align: center; }
    .footer-logo { display: flex; justify-content: center; }
    .footer-links a { display: inline-block; margin: 0 8px 8px; }
    .footer-links p { text-align: center; }
    .footer-bottom { padding: 20px 0; }
    .mandala-overlay { width: 200px; height: 200px; }
    .skyline-divider { height: 40px; background-size: 300px 40px; }
}

@media (max-width: 480px) {
    .container { padding: 0 16px; }
    .top-bar { display: none; }
    .nav-inner { height: 64px; padding: 0 16px; }
    .logo-img { height: 36px; }
    .hero-badge { font-size: 0.6rem; padding: 8px 20px; letter-spacing: 2px; }
    .hero-logo-img { max-width: 240px; }
    .hero-subtitle { letter-spacing: 4px; font-size: 0.85rem; }
    .hero-content > p { font-size: 0.9rem; margin-bottom: 32px; }
    .hero-actions .btn { font-size: 0.72rem; padding: 12px 24px; }
    .about-images { height: 240px; }
    .about-img-1 { width: 75%; }
    .about-img-2 { width: 50%; height: 50%; }
    .about-text h2 { font-size: 1.5rem; }
    .about-stats { gap: 20px; }
    .stat-num { font-size: 1.8rem; }
    .stat-label { font-size: 0.65rem; letter-spacing: 1px; }
    .section-header h2 { font-size: 1.5rem; }
    .menu-tabs { gap: 6px; }
    .menu-tab { padding: 8px 16px; font-size: 0.72rem; }
    .menu-item-header h4 { font-size: 0.95rem; }
    .menu-item p { font-size: 0.78rem; }
    .gallery-grid { grid-template-columns: 1fr 1fr; auto-rows: 140px; }
    .gallery-item.large { grid-column: span 2; height: 200px; }
    .reservation-cta { padding: 48px 0; }
    .cta-hero-content h2 { font-size: 1.5rem; }
    .voucher-preview { width: 240px; }
    .voucher-preview-brand { font-size: 1.1rem; letter-spacing: 2px; }
    .voucher-preview-amounts { font-size: 0.85rem; }
    .voucher-cta-text h2 { font-size: 1.5rem; }
    .catering-content h2 { font-size: 1.3rem; }
    .catering-content p { font-size: 0.88rem; }
    .map-wrap iframe { height: 250px; }
    .info-card { padding: 20px; }
    .info-card h3 { font-size: 1rem; }
    .footer-grid { gap: 28px; }
}

/* ===== SCROLL ANIMATIONS ===== */
.animate-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-in.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* ===== GATEWAY OF INDIA ARTWORK ===== */
.gateway-art {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

/* ===== SAFFRON ACCENT BAND ===== */
.saffron-band {
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--saffron), var(--turmeric), var(--saffron), transparent);
}

/* ===== TOAST ===== */
.toast { position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(100px); background: var(--dark); color: var(--white); padding: 16px 36px; border-radius: var(--radius-sm); font-size: 0.9rem; z-index: 9999; box-shadow: var(--shadow-lg); transition: transform 0.4s ease; border-left: 3px solid var(--saffron); }
.toast.show { transform: translateX(-50%) translateY(0); }
.toast.success { border-left-color: var(--leaf-green); }
