/* ============================================================
   OLIVE GARDEN MENU — DARK GREEN & GOLDEN DESIGN SYSTEM
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --clr-primary:      #1B4332;
  --clr-primary-dk:   #0F2D21;
  --clr-primary-lt:   #2D6A4F;
  --clr-primary-mid:  #245741;
  --clr-green-vivid:  #40916C;
  --clr-gold:         #C8973A;
  --clr-gold-lt:      #E5B85C;
  --clr-gold-dk:      #A67828;
  --clr-gold-pale:    #FFF3DC;
  --clr-bg:           #F8FBF8;
  --clr-bg-alt:       #EFF5F0;
  --clr-bg-dark:      #0A1F14;
  --clr-surface:      #FFFFFF;
  --clr-border:       #D4E4D8;
  --clr-muted:        #5A7568;
  --clr-text:         #0F2D21;
  --clr-text-lt:      #2D5040;
  --clr-text-inv:     #F8FBF8;
  --clr-text-on-gold: #0F2D21;
  --font-serif:       'Playfair Display', Georgia, serif;
  --font-sans:        'Inter', system-ui, -apple-system, sans-serif;
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem; --sp-8:2rem; --sp-10:2.5rem;
  --sp-12:3rem; --sp-16:4rem; --sp-20:5rem; --sp-24:6rem;
  --max-w:1200px; --max-w-wide:1400px; --max-w-text:760px;
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:32px; --r-full:9999px;
  --shadow-sm:0 1px 3px rgba(15,45,33,0.08);
  --shadow-md:0 4px 16px rgba(15,45,33,0.14);
  --shadow-lg:0 8px 32px rgba(15,45,33,0.18);
  --shadow-xl:0 20px 60px rgba(15,45,33,0.22);
  --shadow-gold:0 4px 20px rgba(200,151,58,0.35);
  --t-fast:.15s ease; --t-base:.25s ease; --t-slow:.4s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--clr-text);background:var(--clr-bg);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;line-height:1.25;color:var(--clr-text)}
h1{font-size:clamp(2rem,5vw,3.25rem)}
h2{font-size:clamp(1.6rem,4vw,2.5rem)}
h3{font-size:clamp(1.3rem,3vw,1.875rem)}
h4{font-size:clamp(1.1rem,2.5vw,1.375rem);font-family:var(--font-sans);font-weight:700}
h5{font-size:1.1rem;font-family:var(--font-sans);font-weight:600}
p{margin-bottom:var(--sp-4);color:var(--clr-text-lt)}
p:last-child{margin-bottom:0}
strong{color:var(--clr-text);font-weight:600}

.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-6)}
.container-wide{max-width:var(--max-w-wide);margin:0 auto;padding:0 var(--sp-6)}
.text-center{text-align:center}
.text-muted{color:var(--clr-muted)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.section{padding:3rem 0}
.section-sm{padding:2rem 0}
.section-alt{background:var(--clr-bg-alt)}
.section-dark{background:var(--clr-bg-dark);color:var(--clr-text-inv)}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--clr-text-inv)}
.section-dark p{color:rgba(248,251,248,0.85)}

/* ── Section Header ── */
.section-header{text-align:center;margin-bottom:var(--sp-8)}
.section-eyebrow{
  display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--clr-gold-dk);margin-bottom:var(--sp-3);
  padding:var(--sp-1) var(--sp-4);background:rgba(200,151,58,0.15);
  border-radius:var(--r-full);border:1px solid rgba(200,151,58,0.4)
}
.section-dark .section-eyebrow{color:var(--clr-gold-lt);background:rgba(200,151,58,0.2);border-color:rgba(200,151,58,0.5)}
.section-title{margin-bottom:var(--sp-4)}
.section-desc{max-width:var(--max-w-text);margin:0 auto;font-size:1.05rem;color:var(--clr-muted)}
.section-desc a{color:var(--clr-primary);font-weight:600}
.section-dark .section-desc{color:rgba(248,251,248,0.75)}
.divider{display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--clr-primary),var(--clr-gold));border-radius:var(--r-full);margin:var(--sp-4) auto}
.section-header.left-align{text-align:left}
.section-header.left-align .divider{margin-left:0}

/* ── Navigation ── */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:#ffffff;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:2px solid rgba(200,151,58,0.35);
  transition:box-shadow var(--t-base);
  box-shadow:0 2px 12px rgba(15,45,33,0.08);
}
.site-header.scrolled{box-shadow:0 4px 20px rgba(15,45,33,0.14)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;gap:var(--sp-8)}

.nav-logo{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}
.nav-logo-img{height:46px;width:auto;object-fit:contain}
.nav-logo-text{font-family:var(--font-serif);font-size:1rem;font-weight:800;color:var(--clr-primary);line-height:1.15;letter-spacing:-.01em}
.nav-logo-text span{display:block;font-size:1rem;font-family:var(--font-serif);font-weight:800;color:var(--clr-primary);text-transform:none;letter-spacing:-.01em}

.nav-menu{display:flex;align-items:center;gap:0;flex:1;justify-content:center}
.nav-menu a{font-size:.8125rem;font-weight:600;color:var(--clr-text-lt);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);transition:color var(--t-fast),background var(--t-fast);white-space:nowrap}
.nav-menu a:hover{color:var(--clr-primary);background:rgba(27,67,50,0.07)}
.nav-menu a.active{color:var(--clr-primary);font-weight:700}

.nav-cta{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}
.btn-nav-cta{
  font-size:.8125rem;font-weight:700;padding:var(--sp-2) var(--sp-5);
  background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-dk));
  color:var(--clr-text-on-gold);border-radius:var(--r-full);
  transition:all var(--t-base);box-shadow:0 2px 10px rgba(200,151,58,0.4)
}
.btn-nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(200,151,58,0.55);background:linear-gradient(135deg,var(--clr-gold-lt),var(--clr-gold))}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:var(--sp-2);cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--clr-primary);border-radius:var(--r-full);transition:all var(--t-base)}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── Hero ── */
.hero{position:relative;min-height:380px;display:flex;align-items:center;overflow:hidden;background:var(--clr-bg-dark)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:0.55}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,31,20,0.88) 0%,rgba(15,45,33,0.68) 55%,rgba(27,67,50,0.42) 100%)}
.hero-content{position:relative;z-index:2;width:100%;padding:var(--sp-12) 0}
.hero-inner{max-width:720px}

.hero-badge{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  background:rgba(200,151,58,0.15);border:1px solid rgba(200,151,58,0.4);
  border-radius:var(--r-full);padding:var(--sp-2) var(--sp-4);
  font-size:.8rem;font-weight:600;color:var(--clr-gold-lt);
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--sp-6);
  animation:fadeInUp .6s ease both
}
.hero-badge .dot{width:6px;height:6px;background:var(--clr-gold);border-radius:50%;animation:pulse 2s infinite}
.hero strong{color:var(--clr-gold-lt);font-weight:700}
.hero h1{color:#F8FBF8;margin-bottom:var(--sp-6);animation:fadeInUp .7s ease .1s both;text-shadow:0 2px 16px rgba(0,0,0,0.5)}
.hero h1 .highlight{color:var(--clr-gold-lt)}
.hero-desc{font-size:1.125rem;color:rgba(248,251,248,0.88);margin-bottom:var(--sp-8);line-height:1.75;animation:fadeInUp .7s ease .2s both}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-4);animation:fadeInUp .7s ease .3s both}
.hero-quicknav{animation:fadeInUp .7s ease .4s both}
.hero-quicknav-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(248,251,248,0.5);margin-bottom:var(--sp-3)}
.hero-pills{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hero-pill{
  display:inline-flex;align-items:center;gap:var(--sp-1);
  padding:var(--sp-2) var(--sp-4);background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);border-radius:var(--r-full);
  font-size:.825rem;font-weight:500;color:rgba(248,251,248,0.9);
  transition:all var(--t-base);backdrop-filter:blur(8px)
}
.hero-pill:hover{background:rgba(200,151,58,0.22);border-color:rgba(200,151,58,0.55);color:var(--clr-gold-lt);transform:translateY(-2px)}

.hero-stats{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--sp-4);animation:fadeInRight .8s ease .5s both}
.hero-stat{background:rgba(255,255,255,0.06);backdrop-filter:blur(12px);border:1px solid rgba(200,151,58,0.2);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-6);text-align:center;min-width:130px;transition:all var(--t-base)}
.hero-stat:hover{background:rgba(200,151,58,0.12);border-color:rgba(200,151,58,0.4);transform:scale(1.04)}
.hero-stat-num{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--clr-gold-lt);line-height:1}
.hero-stat-label{font-size:.75rem;color:rgba(248,251,248,0.65);margin-top:var(--sp-1)}

/* ── Stats Bar (gold) ── */
.stats-bar{background:linear-gradient(135deg,var(--clr-gold-dk),var(--clr-gold) 50%,var(--clr-gold-lt));padding:var(--sp-5) 0;position:relative;overflow:hidden}
.stats-bar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4);position:relative}
.stat-item{display:flex;align-items:center;gap:var(--sp-3);color:var(--clr-text-on-gold)}
.stat-icon{font-size:1.5rem}
.stat-text-top{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7;color:var(--clr-primary-dk)}
.stat-text-bot{font-size:1rem;font-weight:800;color:var(--clr-primary-dk)}
.stat-divider{width:1px;height:36px;background:rgba(15,45,33,0.2)}

/* ── TOC (dark green) ── */
.toc-section{background:var(--clr-primary-dk);padding:var(--sp-10) 0;border-bottom:2px solid rgba(200,151,58,0.3)}
.toc-title{font-size:1rem;font-weight:700;color:var(--clr-gold-lt);margin-bottom:var(--sp-5);display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-sans)}
.toc-title::after{content:'';flex:1;height:1px;background:rgba(200,151,58,0.25)}
.toc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-2)}
.toc-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:rgba(255,255,255,0.05);border:1px solid rgba(200,151,58,0.15);border-radius:var(--r-md);font-size:.875rem;font-weight:500;color:rgba(248,251,248,0.82);transition:all var(--t-base)}
.toc-link .toc-emoji{font-size:1.1rem;line-height:1}
.toc-link:hover{background:rgba(200,151,58,0.2);border-color:rgba(200,151,58,0.5);color:var(--clr-gold-lt);transform:translateY(-2px);box-shadow:0 4px 12px rgba(200,151,58,0.2)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-sans);font-weight:700;font-size:.9375rem;line-height:1;border-radius:var(--r-full);padding:var(--sp-4) var(--sp-8);transition:all var(--t-base);cursor:pointer;border:2px solid transparent;text-decoration:none;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-dk));color:var(--clr-primary-dk);box-shadow:var(--shadow-gold)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(200,151,58,0.5);background:linear-gradient(135deg,var(--clr-gold-lt),var(--clr-gold));color:var(--clr-primary-dk)}
.btn-secondary{background:transparent;color:var(--clr-gold-lt);border-color:rgba(200,151,58,0.6)}
.btn-secondary:hover{background:rgba(200,151,58,0.15);border-color:var(--clr-gold-lt);color:var(--clr-gold-lt);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--clr-primary);border-color:var(--clr-primary)}
.btn-outline:hover{background:var(--clr-primary);color:white;transform:translateY(-2px)}
.btn-green{background:linear-gradient(135deg,var(--clr-primary-lt),var(--clr-primary));color:white;box-shadow:0 4px 16px rgba(27,67,50,0.35)}
.btn-green:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,67,50,0.5)}
.btn-sm{font-size:.8125rem;padding:var(--sp-2) var(--sp-5)}
.btn-lg{font-size:1.0625rem;padding:var(--sp-5) var(--sp-10)}

/* ── Menu Cards ── */
.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-6)}
.menu-grid-lg{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.menu-grid-tight{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-4)}

.menu-card{background:var(--clr-surface);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--clr-border);transition:all var(--t-base);position:relative;display:flex;flex-direction:column}
.menu-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:rgba(200,151,58,0.35)}
.menu-card-img-wrap{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--clr-bg-alt)}
.menu-card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.menu-card:hover .menu-card-img-wrap img{transform:scale(1.07)}
.menu-card-badge{position:absolute;top:var(--sp-3);left:var(--sp-3);background:var(--clr-primary);color:white;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full)}
.menu-card-badge.popular{background:var(--clr-gold);color:var(--clr-primary-dk)}
.menu-card-badge.veg{background:var(--clr-green-vivid);color:white}
.menu-card-badge.new{background:#1A6B52;color:white}
.menu-card-body{padding:var(--sp-5);flex:1;display:flex;flex-direction:column}
.menu-card-name{font-size:1rem;font-weight:700;color:var(--clr-text);margin-bottom:var(--sp-2);line-height:1.3;font-family:var(--font-sans)}
.menu-card-desc{font-size:.85rem;color:var(--clr-muted);margin-bottom:var(--sp-4);line-height:1.6;flex:1}
.menu-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--sp-4);border-top:1px solid var(--clr-border);gap:var(--sp-3)}
.menu-card-price{font-size:1.25rem;font-weight:800;color:var(--clr-gold-dk);font-family:var(--font-serif)}
.menu-card-cal{font-size:.75rem;color:var(--clr-muted);background:var(--clr-bg-alt);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);font-weight:500}

/* ── Intro / About ── */
.intro-section{padding:3rem 0}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-10);align-items:center}
.intro-img-wrap{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-xl);border:3px solid rgba(200,151,58,0.25)}
.intro-img-wrap img{width:100%;height:100%;object-fit:cover}
.intro-img-badge{position:absolute;bottom:var(--sp-6);left:var(--sp-6);background:rgba(15,45,33,0.92);backdrop-filter:blur(8px);border:1px solid rgba(200,151,58,0.4);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-lg)}
.intro-img-badge strong{display:block;font-size:1.5rem;color:var(--clr-gold-lt);font-family:var(--font-serif)}
.intro-img-badge span{font-size:.8rem;color:rgba(248,251,248,0.65)}
.intro-content h2{margin-bottom:var(--sp-4)}
.intro-features{display:flex;flex-direction:column;gap:var(--sp-4);margin:var(--sp-8) 0}
.intro-feature{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);background:var(--clr-bg-alt);border-radius:var(--r-md);border-left:3px solid var(--clr-gold)}
.intro-feature-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}
.intro-feature-title{font-weight:700;font-size:.9375rem;color:var(--clr-text);margin-bottom:2px}
.intro-feature-desc{font-size:.85rem;color:var(--clr-muted);margin:0}

/* ── Featured alternating ── */
.menu-section-featured{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-10);align-items:center;margin-bottom:var(--sp-12)}
.menu-section-featured.reverse{direction:rtl}
.menu-section-featured.reverse > *{direction:ltr}
.featured-img-wrap{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg);position:relative;border:2px solid rgba(200,151,58,0.2)}
.featured-img-wrap img{width:100%;height:100%;object-fit:cover}
.featured-badge{position:absolute;top:var(--sp-4);right:var(--sp-4);background:var(--clr-gold);color:var(--clr-primary-dk);border-radius:var(--r-full);padding:var(--sp-2) var(--sp-4);font-size:.75rem;font-weight:700}
.featured-content h3{margin-bottom:var(--sp-3)}
.featured-meta{display:flex;gap:var(--sp-4);margin:var(--sp-4) 0;flex-wrap:wrap}
.meta-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--clr-bg-alt);border-radius:var(--r-full);font-size:.8125rem;font-weight:600;color:var(--clr-text-lt);border:1px solid var(--clr-border)}
.meta-chip.price{background:rgba(200,151,58,0.1);color:var(--clr-gold-dk);border-color:rgba(200,151,58,0.3)}
.meta-chip.cal{background:rgba(27,67,50,0.08);color:var(--clr-primary);border-color:rgba(27,67,50,0.2)}

/* ── Family Bundles ── */
.bundles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-6)}
.bundle-card{background:var(--clr-surface);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--clr-border);transition:all var(--t-base);position:relative}
.bundle-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:rgba(200,151,58,0.3)}
.bundle-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--clr-bg-alt)}
.bundle-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.bundle-card:hover .bundle-card-img img{transform:scale(1.06)}
.bundle-card-body{padding:var(--sp-5)}
.bundle-card-name{font-weight:700;font-size:1rem;margin-bottom:var(--sp-2);color:var(--clr-text)}
.bundle-card-serves{font-size:.8rem;color:var(--clr-muted);margin-bottom:var(--sp-3)}
.bundle-card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--clr-border)}
.bundle-price{font-size:1.375rem;font-weight:800;color:var(--clr-gold-dk);font-family:var(--font-serif)}
.bundle-cal{font-size:.75rem;color:var(--clr-muted)}

/* ── Nutrition Table ── */
.nutrition-table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm)}
.nutrition-table{width:100%;border-collapse:collapse}
.nutrition-table th{background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-lt));color:white;text-align:left;padding:var(--sp-4) var(--sp-5);font-size:.875rem;font-weight:600;white-space:nowrap}
.nutrition-table td{padding:var(--sp-4) var(--sp-5);font-size:.875rem;border-bottom:1px solid var(--clr-border);color:var(--clr-text-lt)}
.nutrition-table tr:last-child td{border-bottom:none}
.nutrition-table tr:nth-child(even) td{background:var(--clr-bg-alt)}
.nutrition-table tr:hover td{background:rgba(200,151,58,0.06)}
.nutrition-table .item-name{font-weight:600;color:var(--clr-text)}
.nutrition-table .price-cell{font-weight:700;color:var(--clr-gold-dk)}

/* ── FAQ ── */
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-3)}
.faq-item{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--r-lg);overflow:hidden;transition:all var(--t-base)}
.faq-item.open{border-color:rgba(200,151,58,0.4);box-shadow:0 4px 20px rgba(200,151,58,0.15)}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);cursor:pointer;gap:var(--sp-4);user-select:none}
.faq-question h3{font-size:1rem;font-weight:600;color:var(--clr-text);font-family:var(--font-sans);line-height:1.4}
.faq-icon{width:28px;height:28px;border-radius:50%;background:var(--clr-bg-alt);border:1px solid var(--clr-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem;color:var(--clr-primary);transition:all var(--t-base)}
.faq-item.open .faq-icon{background:var(--clr-gold);color:var(--clr-primary-dk);border-color:var(--clr-gold);transform:rotate(45deg)}
.faq-answer{display:none;padding:0 var(--sp-6) var(--sp-5);font-size:.9375rem;color:var(--clr-text-lt);line-height:1.75}
.faq-item.open .faq-answer{display:block}
.faq-answer p{margin-bottom:var(--sp-3);color:var(--clr-text-lt)}
.faq-answer strong{color:var(--clr-text)}

/* ── CTA ── */
.cta-section{background:linear-gradient(135deg,var(--clr-primary-dk),var(--clr-primary) 50%,var(--clr-primary-lt));padding:var(--sp-20) 0;position:relative;overflow:hidden;text-align:center}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(200,151,58,0.15),transparent 60%),radial-gradient(ellipse at 70% 50%,rgba(64,145,108,0.1),transparent 50%)}
.cta-section .container{position:relative;z-index:1}
.cta-section h2{color:white;margin-bottom:var(--sp-4)}
.cta-section p{color:rgba(248,251,248,0.85);font-size:1.1rem;margin-bottom:var(--sp-8)}
.cta-actions{display:flex;justify-content:center;gap:var(--sp-4);flex-wrap:wrap}

/* ── Dietary Grid ── */
.dietary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-5)}
.dietary-card{background:var(--clr-surface);border-radius:var(--r-lg);padding:var(--sp-6);border:1px solid var(--clr-border);transition:all var(--t-base)}
.dietary-card:hover{border-color:var(--clr-gold);box-shadow:0 4px 20px rgba(200,151,58,0.15);transform:translateY(-3px)}
.dietary-icon{font-size:2.5rem;margin-bottom:var(--sp-4)}
.dietary-card h3{margin-bottom:var(--sp-2);font-size:1rem;color:var(--clr-text)}
.dietary-card p{color:var(--clr-muted)}
.dietary-card ul{padding:0;margin:var(--sp-3) 0 0}
.dietary-card ul li{font-size:.875rem;color:var(--clr-text-lt);padding:var(--sp-2) 0;border-bottom:1px solid var(--clr-border);display:flex;align-items:center;gap:var(--sp-2)}
.dietary-card ul li:last-child{border-bottom:none}
.dietary-card ul li::before{content:'✓';color:var(--clr-green-vivid);font-weight:700;flex-shrink:0}

/* ── Article ── */
.article-content{max-width:var(--max-w-text);margin:0 auto}
.article-content h2{margin:var(--sp-10) 0 var(--sp-4);color:var(--clr-text)}
.article-content h2:first-child{margin-top:0}
.article-content h3{margin:var(--sp-8) 0 var(--sp-3);color:var(--clr-text)}
.article-content p{font-size:1rem;color:var(--clr-text-lt);margin-bottom:var(--sp-5)}
.article-content ul{padding-left:var(--sp-5);margin-bottom:var(--sp-5)}
.article-content ul li{font-size:1rem;color:var(--clr-text-lt);margin-bottom:var(--sp-2);list-style:disc}
.article-content a{color:var(--clr-primary-lt);font-weight:600}

.highlight-box{background:linear-gradient(135deg,rgba(27,67,50,0.06),rgba(200,151,58,0.06));border-left:4px solid var(--clr-gold);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--sp-6);margin:var(--sp-8) 0}
.highlight-box p{margin:0;color:var(--clr-text)}
.highlight-box strong{color:var(--clr-primary)}

.price-list{display:flex;flex-direction:column;gap:var(--sp-2)}
.price-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);background:var(--clr-bg-alt);border-radius:var(--r-sm);gap:var(--sp-4);transition:background var(--t-fast);border:1px solid transparent}
.price-row:hover{background:rgba(200,151,58,0.08);border-color:rgba(200,151,58,0.2)}
.price-row-name{font-size:.9375rem;font-weight:500;color:var(--clr-text)}
.price-row-right{display:flex;align-items:center;gap:var(--sp-4);flex-shrink:0}
.price-row-cal{font-size:.75rem;color:var(--clr-muted)}
.price-row-price{font-size:1rem;font-weight:800;color:var(--clr-gold-dk);min-width:60px;text-align:right}

/* ── Kids ── */
.kids-section{background:linear-gradient(135deg,var(--clr-bg-alt),var(--clr-gold-pale))}
.kids-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-5)}
.kids-card{background:white;border-radius:var(--r-lg);overflow:hidden;border:2px solid var(--clr-border);transition:all var(--t-base);text-align:center}
.kids-card:hover{transform:translateY(-5px);border-color:var(--clr-gold);box-shadow:0 8px 24px rgba(200,151,58,0.2)}
.kids-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--clr-bg-alt)}
.kids-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.kids-card:hover .kids-card-img img{transform:scale(1.08)}
.kids-card-body{padding:var(--sp-4)}
.kids-card-name{font-size:.9rem;font-weight:700;color:var(--clr-text);margin-bottom:var(--sp-2)}
.kids-price{font-size:1.1rem;font-weight:800;color:var(--clr-gold-dk)}
.kids-cal{font-size:.75rem;color:var(--clr-muted)}

/* ── Footer ── */
.site-footer{background:var(--clr-bg-dark);color:rgba(248,251,248,0.75);padding:var(--sp-16) 0 var(--sp-8);border-top:2px solid rgba(200,151,58,0.3)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-12);padding-bottom:var(--sp-12);border-bottom:1px solid rgba(200,151,58,0.15);margin-bottom:var(--sp-8)}
.footer-logo{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}
.footer-logo-img{height:52px;width:auto;object-fit:contain;filter:brightness(1.1)}
.footer-desc{font-size:.875rem;line-height:1.7;color:#FFFFFF;margin-bottom:var(--sp-5)}
.footer-disclaimer{font-size:.75rem;color:#FFFFFF;line-height:1.6}
.footer-disclaimer strong{color:var(--clr-gold-lt)}
.footer-col h4{color:var(--clr-gold-lt);font-size:.875rem;font-weight:700;margin-bottom:var(--sp-5);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-sans)}
.footer-col ul{display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-col ul a{font-size:.875rem;color:#FFFFFF;transition:color var(--t-fast)}
.footer-col ul a:hover{color:var(--clr-gold-lt)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4)}
.footer-copyright{font-size:.8125rem;color:#FFFFFF}
.footer-bottom-links{display:flex;gap:var(--sp-5)}
.footer-bottom-links a{font-size:.8125rem;color:#FFFFFF;transition:color var(--t-fast)}
.footer-bottom-links a:hover{color:var(--clr-gold-lt)}

.breadcrumb{display:flex;align-items:center;gap:var(--sp-2);font-size:.8125rem;color:var(--clr-muted);padding:var(--sp-3) 0}
.breadcrumb a{color:var(--clr-primary-lt)}
.breadcrumb span{color:var(--clr-border)}

/* ── Animations ── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.animate-delay-1{transition-delay:.1s}
.animate-delay-2{transition-delay:.2s}
.animate-delay-3{transition-delay:.3s}
.animate-delay-4{transition-delay:.4s}

/* ── UI Controls ── */
#back-to-top{position:fixed;bottom:var(--sp-6);right:var(--sp-6);width:48px;height:48px;background:linear-gradient(135deg,var(--clr-gold),var(--clr-gold-dk));color:var(--clr-primary-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;box-shadow:var(--shadow-gold);opacity:0;pointer-events:none;transition:all var(--t-base);z-index:900;text-decoration:none}
#back-to-top.visible{opacity:1;pointer-events:auto}
#back-to-top:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(200,151,58,0.5)}
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--clr-gold-dk),var(--clr-gold-lt));z-index:9999;transition:width .1s linear}
.skip-to-content{position:absolute;top:-100px;left:var(--sp-4);background:var(--clr-primary);color:white;padding:var(--sp-3) var(--sp-6);border-radius:0 0 var(--r-md) var(--r-md);font-weight:700;z-index:99999;transition:top var(--t-fast)}
.skip-to-content:focus{top:0}

/* ── Responsive ── */
@media(max-width:1024px){
  .hero-stats{display:none}
  .intro-grid{grid-template-columns:1fr;gap:var(--sp-10)}
  .intro-img-wrap{aspect-ratio:16/9}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  :root{--sp-20:3.5rem;--sp-16:3rem}
  .nav-menu{display:none}
  .nav-toggle{display:flex}
  .nav-menu.open{display:flex;flex-direction:column;position:fixed;inset:70px 0 0;background:#ffffff;border-top:2px solid rgba(200,151,58,0.25);padding:var(--sp-8);gap:var(--sp-2);z-index:999;overflow-y:auto;box-shadow:0 8px 32px rgba(15,45,33,0.12)}
  .nav-menu.open a{font-size:1.1rem;padding:var(--sp-4);border-radius:var(--r-md);color:var(--clr-text-lt);font-weight:600}
  .nav-menu.open a:hover{background:rgba(27,67,50,0.07);color:var(--clr-primary)}
  .btn-nav-cta{display:none}
  .intro-img-badge{padding:var(--sp-2) var(--sp-3);bottom:var(--sp-3);left:var(--sp-3)}
  .intro-img-badge strong{font-size:1.1rem}
  .intro-img-badge span{font-size:.7rem}
  .hero{min-height:auto;padding:var(--sp-8) 0 0}
  .hero-bg{object-position:65% center}
  .hero-desc{font-size:1.1rem}
  .menu-section-featured{grid-template-columns:1fr;gap:var(--sp-6)}
  .menu-section-featured.reverse{direction:ltr}
  .stats-bar-inner{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:var(--sp-8);justify-content:flex-start;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-2);scrollbar-width:none}
  .stats-bar-inner::-webkit-scrollbar{display:none}
  .stat-item{flex:0 0 auto;width:auto;min-width:160px;justify-content:flex-start;text-align:left}
  .stat-divider{display:none}
  .toc-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .footer-top{grid-template-columns:1fr;gap:var(--sp-8)}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .hero-actions{flex-direction:column;margin-bottom:var(--sp-10)}
  .hero-actions .btn{width:100%;justify-content:center}
}
@media(max-width:480px){
  .container{padding:0 var(--sp-4)}
  .menu-grid{grid-template-columns:1fr}
  .bundles-grid{grid-template-columns:1fr}
  .dietary-grid{grid-template-columns:1fr}
  .cta-actions{flex-direction:column;align-items:center}
  .section-header{margin-bottom:var(--sp-8)}
  .kids-grid{grid-template-columns:repeat(2,1fr)}
}
@media print{
  .site-header,.hero-quicknav,.stats-bar,.cta-section,.site-footer,.nav-cta{display:none}
  .menu-card:hover{transform:none;box-shadow:none}
  body{font-size:12pt}
}
