:root {
  --blue:#B7CD02;
  --blue-dark:#8EA100;
  --blue-light:#D0E53A;
  --blue-pale:#f3f8d2;
  --yellow:#E00556;
  --yellow-dark:#B00445;
  --yellow-pale:#ffe6ef;
  --orange:#FF6B0A;
  --orange-pale:#fff3ea;
  --navy:#0d1b35;
  --white:#fff;
  --off-white:#f5f7fc;
  --text:#0d1b35;
  --text-soft:#4a5775;
  --border:rgba(183,205,2,0.18);
  --shadow-sm:0 2px 8px rgba(183,205,2,0.12);
  --shadow-md:0 6px 22px rgba(183,205,2,0.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--off-white);color:var(--text);min-height:100vh;overflow-x:hidden}
a{text-decoration:none}
img{max-width:100%}
.topbar{background:var(--blue-dark);position:sticky;top:0;z-index:200;box-shadow:0 2px 16px rgba(142,161,0,.35)}
.topbar-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:66px;gap:1rem}
.topbar-countdown{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;justify-self:start;width:280px;min-width:280px;padding:.42rem .8rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:var(--white);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.countdown-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.78);font-weight:700;white-space:nowrap}
.countdown-value{font-size:.92rem;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.96);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.topbar nav{justify-self:end;grid-column:2}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:.75rem;justify-self:end;grid-column:3}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:.3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-links{display:flex;align-items:center;list-style:none;height:100%}
.nav-links li{height:100%}
.nav-links a{display:flex;align-items:center;gap:.38rem;height:100%;padding:0 1rem;color:rgba(255,255,255,.75);font-size:.84rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:.2s;border-bottom:3px solid transparent;white-space:nowrap;cursor:pointer}
.nav-links a:hover{color:var(--yellow);background:rgba(255,255,255,.04)}
.nav-links a.active{color:var(--yellow);border-bottom-color:var(--yellow);background:rgba(254,238,0,.05)}
.mobile-nav{display:none;background:var(--navy);border-top:1px solid rgba(255,255,255,.07)}
.mobile-nav.open{display:block}.mobile-nav a{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.5rem;color:rgba(255,255,255,.78);font-size:.88rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,.05)}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--yellow);background:rgba(254,238,0,.05)}
.hero{background:linear-gradient(140deg,var(--navy) 0%,var(--blue-dark) 45%,var(--blue) 100%);color:var(--white);padding:3.1rem 1.5rem 4.4rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 15% 50%, rgba(254,238,0,.07) 0%, transparent 60%),radial-gradient(ellipse 40% 50% at 85% 30%, rgba(255,255,255,.04) 0%, transparent 60%);pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle, rgba(254,238,0,.13) 1px, transparent 1px);background-size:28px 28px;pointer-events:none;opacity:.5}
.hero-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:minmax(210px,300px) minmax(0,1fr);align-items:center;gap:2.4rem;position:relative;z-index:1}
.hero-brand-logo{width:min(100%,280px);height:auto;display:block;filter:drop-shadow(0 8px 24px rgba(0,0,0,.24));justify-self:center;opacity:0;animation:fadeUp .6s ease forwards .12s}
.hero-copy{text-align:left}.hero-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);margin-bottom:.75rem;opacity:0;animation:fadeUp .6s ease forwards .2s}
.hero h1{font-size:clamp(2.6rem,7.5vw,5rem);font-weight:700;line-height:.95;letter-spacing:-.03em;opacity:0;animation:fadeUp .7s ease forwards .3s}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero-sub{font-size:clamp(.98rem,2.6vw,1.12rem);font-weight:300;color:rgba(255,255,255,.72);margin-top:.85rem;opacity:0;animation:fadeUp .7s ease forwards .4s}
.hero-wave{position:absolute;bottom:-1px;left:0;right:0;line-height:0;z-index:1}.hero-wave svg{width:100%;height:56px}
.day-nav-wrap{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:60px;z-index:99;box-shadow:var(--shadow-sm)}
.day-nav-bar{max-width:1140px;margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center}
.day-nav{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;gap:.3rem}.day-nav::-webkit-scrollbar{display:none}
.day-btn{flex-shrink:0;background:none;border:1.5px solid var(--border);border-radius:100px;padding:.52rem 1.1rem;cursor:pointer;transition:.2s;color:var(--text-soft);font-family:'Poppins',sans-serif;display:flex;flex-direction:column;align-items:center;min-width:72px}
.day-btn:hover{border-color:var(--blue-light);color:var(--blue);background:var(--blue-pale)}
.day-btn.active{background:var(--blue);border-color:var(--blue);color:var(--white);box-shadow:0 3px 12px rgba(183,205,2,.32)}
.day-btn .dn-short,.day-btn .dn-month{font-size:.64rem;opacity:.7}.day-btn .dn-short{font-weight:700;letter-spacing:.12em;text-transform:uppercase}.day-btn .dn-num{font-size:1.5rem;font-weight:700;line-height:1.05}
.program-download-wrap{max-width:860px;margin:0 auto;padding:0 1.25rem 2rem}.program-download-inner{display:flex;justify-content:flex-end}
.day-nav-download{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.84rem 1.18rem;border-radius:999px;background:var(--yellow);color:var(--white);font-size:.9rem;font-weight:700;letter-spacing:.01em;line-height:1;box-shadow:var(--shadow-sm);white-space:nowrap}.day-nav-download:hover{background:var(--yellow-dark)}
.day-nav-download svg{width:16px;height:16px;flex:0 0 16px}
main{max-width:920px;margin:0 auto;padding:2.9rem 1.25rem 2.2rem}
.day-panel{display:none}.day-panel.active{display:block;animation:fadeIn .3s ease}
.day-heading{display:flex;align-items:center;gap:.9rem;margin-bottom:2rem}.day-heading-dot{width:12px;height:12px;border-radius:50%;background:#CF057C;border:2px solid var(--blue);flex-shrink:0}.day-heading h2{font-size:clamp(1.35rem,3.8vw,1.85rem);font-weight:700;color:var(--blue-dark)}.day-heading-line{flex:1;height:1.5px;background:linear-gradient(to right, rgba(183,205,2,.22), transparent)}
.timeline{position:relative;padding-left:4.15rem}.timeline::before{content:'';position:absolute;left:1.48rem;top:1.5rem;bottom:1.5rem;width:2px;background:linear-gradient(to bottom,var(--blue),var(--yellow-dark),var(--orange));border-radius:2px;opacity:.22}
.event-card{position:relative;margin-bottom:1.15rem;opacity:0;transform:translateY(8px);transition:opacity .38s ease,transform .38s ease}.event-card.visible{opacity:1;transform:translateY(0)}.event-link{display:block;color:inherit}.event-link:hover .card-inner{transform:translateY(-2px)}
.event-dot{position:absolute;left:-2.72rem;top:1.18rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--white);border:2px solid #CF057C;transition:.2s;z-index:1}.event-card:hover .event-dot{background:var(--blue);border-color:var(--blue);transform:scale(1.2)}.event-card.highlight .event-dot{background:var(--yellow);border-color:#CF057C;width:1.22rem;height:1.22rem;left:-2.8rem;top:1.1rem}.event-card.food .event-dot{border-color:var(--orange)}.event-card.food:hover .event-dot{background:var(--orange)}
.card-inner{background:var(--white);border-radius:16px;border:1.5px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;align-items:stretch;transition:.2s}.event-card:hover .card-inner{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:rgba(183,205,2,.22)}.event-card.highlight .card-inner{border-color:rgba(254,238,0,.55);background:linear-gradient(to right,var(--yellow-pale) 0%,var(--white) 55%)}.event-card.food .card-inner{border-color:rgba(255,107,10,.18);background:linear-gradient(to right,var(--orange-pale) 0%,var(--white) 55%)}
.card-bar{width:4px;flex-shrink:0;background:var(--blue-light)}.event-card.highlight .card-bar{background:linear-gradient(to bottom,var(--yellow),var(--yellow-dark))}.event-card.food .card-bar{background:linear-gradient(to bottom,var(--orange),#ff9a55)}
.card-icon-wrap{flex-shrink:0;width:60px;display:flex;align-items:center;justify-content:center}.card-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--blue-pale)}.card-icon svg{width:20px;height:20px}.event-card.highlight .card-icon{background:rgba(254,238,0,.22)}.event-card.food .card-icon{background:rgba(255,107,10,.1)}
.card-body{flex:1;padding:1rem 1.1rem .95rem .5rem;min-width:0}.card-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--white);background:var(--yellow);padding:.13rem .45rem;border-radius:100px;margin-bottom:.25rem}.schedule-badge{display:none}.event-card.highlight .schedule-badge{display:inline-flex}.card-time{font-size:.74rem;font-weight:700;letter-spacing:.05em;color:#CF057C;text-transform:uppercase;margin-bottom:.25rem}.event-card.food .card-time{color:var(--orange)}.card-title{font-size:clamp(.96rem,2.45vw,1.08rem);font-weight:600;line-height:1.35;color:var(--text)}.event-card.highlight .card-title{font-weight:700;color:var(--navy)}.card-subtitle{margin-top:.34rem;font-size:.86rem;font-style:italic;color:var(--text-soft)}.card-desc{margin-top:.45rem;font-size:.84rem;color:var(--text-soft);line-height:1.5;padding-top:.32rem;border-top:1px solid var(--border)}.card-nota{margin-top:.36rem;font-size:.8rem;color:var(--orange);font-weight:500;display:flex;gap:.3rem;align-items:flex-start}.card-nota::before{content:'i';display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;min-width:13px;border-radius:50%;border:1.5px solid var(--orange);font-size:.6rem;font-style:italic;font-weight:700;margin-top:.05rem}
.location-section{max-width:980px;margin:0 auto;padding:0 1.25rem 2rem}.location-inner{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-md);padding:1.5rem}.location-head{margin-bottom:1.2rem}.location-head h2{font-size:clamp(1.45rem,3.5vw,2rem);color:var(--blue-dark)}.location-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.location-card{background:linear-gradient(180deg, rgba(255,255,255,1), rgba(243,248,210,.38));border:1px solid var(--border);border-radius:18px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.8rem;min-height:180px;overflow:hidden}.location-card p{font-size:.95rem;line-height:1.45;color:var(--text);font-weight:600;max-width:22ch}.location-card-image{width:100%;max-width:160px;max-height:110px;height:auto;object-fit:contain;display:block}.social-card{background:linear-gradient(180deg, rgba(255,230,239,.7), rgba(255,255,255,1))}.social-icons-row{display:flex;align-items:center;justify-content:center;gap:.9rem;width:100%}.social-icon-link{width:54px;height:54px;min-width:54px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);overflow:hidden}.social-icon-link svg{width:24px;height:24px;min-width:24px;display:block}.social-icon-link.instagram{background:linear-gradient(135deg,#fdc468,#df4996 45%,#8a3ab9);color:white}.social-icon-link.facebook{background:#1877f2;color:white}.location-map-wrap{border-radius:18px;overflow:hidden;border:1px solid var(--border)}.location-map{width:100%;height:360px;display:block}
.food-page{max-width:980px;margin:0 auto;padding:3rem 1.25rem 5rem}.food-menu-shell{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-md);padding:1.6rem}.food-menu-top{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.food-menu-top h3{font-size:1.55rem;color:var(--blue-dark)}.food-section-block + .food-section-block{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.food-section-head{margin-bottom:1rem}.food-section-head h3{font-size:1.45rem;color:var(--blue-dark)}.food-section-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.1rem;align-items:start}.food-section-layout.reverse{grid-template-columns:260px minmax(0,1fr)}.food-section-layout.reverse .food-grid{order:2}.food-section-layout.reverse .food-side-image-wrap{order:1}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.food-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.food-card{background:linear-gradient(180deg, rgba(255,255,255,1), rgba(243,248,210,.45));border:1px solid var(--border);border-radius:18px;padding:.8rem .85rem;min-height:78px;display:flex;flex-direction:column;justify-content:center;transition:.2s}.food-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(183,205,2,.35)}.food-card.highlight{background:linear-gradient(180deg, rgba(255,230,239,.92), rgba(255,255,255,1))}.food-card h4{font-size:.96rem;line-height:1.32;color:var(--text)}.food-note{margin-top:.45rem;font-size:.78rem;color:#CF057C;font-weight:600}.food-side-image-wrap{position:sticky;top:110px;align-self:start}.food-side-image{width:100%;display:block;border-radius:20px;box-shadow:var(--shadow-md);object-fit:cover}.wine-cta-wrap{display:flex;justify-content:flex-start;margin-top:1rem}.wine-cta-button{min-width:190px}
.lunch-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-sm);padding:1rem 1.1rem;margin-bottom:1.4rem}.lunch-cta h3{font-size:1.28rem;color:var(--blue-dark)}.lunch-page{max-width:980px}.lunch-intro-shell{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1.25rem;align-items:start;margin-bottom:1.5rem}.lunch-intro-copy h2{font-size:clamp(1.8rem,4vw,2.5rem);color:var(--blue-dark);margin-bottom:1rem}.lunch-intro-copy p{color:var(--text-soft);line-height:1.75;margin-bottom:.9rem}.lunch-side-image{width:100%;display:block;border-radius:20px;box-shadow:var(--shadow-md)}.lunch-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.lunch-info-card p{color:var(--text-soft);line-height:1.7;margin-top:.8rem}.lunch-info-card h3{color:var(--blue-dark)}.highlight-card{background:linear-gradient(180deg, rgba(255,230,239,.7), rgba(255,255,255,.96))}.lunch-menu-shell{padding:1.4rem}.lunch-menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.1rem;align-items:start}.lunch-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.lunch-menu-image{max-height:520px;object-fit:contain;background:white}.placeholder-wrap{max-width:860px;margin:0 auto;padding:5rem 1.5rem;text-align:center}.ph-icon{width:76px;height:76px;background:var(--blue-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.ph-icon svg{width:36px;height:36px}.placeholder-wrap h2{font-size:2.2rem;color:var(--blue-dark);margin-bottom:.7rem;font-weight:700}.placeholder-wrap p{color:var(--text-soft);font-size:1.06rem;max-width:380px;margin:0 auto;line-height:1.65}.cs-tag{display:inline-block;margin-top:1.2rem;background:var(--yellow);color:var(--navy);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.32rem .95rem;border-radius:100px}
footer{background:var(--navy);color:rgba(255,255,255,.5);text-align:center;padding:2.8rem 1.5rem;font-size:.85rem;line-height:1.8}.footer-main-logo{height:44px;width:auto;display:block;margin:0 auto .7rem}footer strong{color:var(--yellow)}.footer-partners{max-width:920px;margin:1.35rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:center}.footer-partner-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.9rem;min-height:110px;display:flex;align-items:center;justify-content:center}.footer-partner-card img{max-width:100%;max-height:64px;width:auto;height:auto;display:block}.footer-partner-card.usgb img{max-height:74px}
@keyframes fadeUp{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media (max-width:900px){.food-section-layout,.food-section-layout.reverse,.lunch-intro-shell,.lunch-menu-layout{grid-template-columns:1fr}.food-section-layout.reverse .food-grid,.food-section-layout.reverse .food-side-image-wrap{order:initial}.food-side-image-wrap{position:static}.location-cards,.lunch-info-grid{grid-template-columns:1fr}.hero-inner{grid-template-columns:1fr;gap:1rem}.hero-copy{text-align:center}.hero-brand-logo{width:min(68vw,220px)}}
@media (max-width:680px){.topbar-inner{height:auto;min-height:60px;padding-top:.55rem;padding-bottom:.55rem;grid-template-columns:1fr auto}.topbar-countdown{width:100%;min-width:0;justify-content:center;grid-column:1 / -1;order:2}.topbar nav{justify-self:start;grid-column:1}.nav-links{display:none}.hamburger{display:flex}.timeline{padding-left:2.9rem}.timeline::before{left:.95rem}.event-dot{left:-1.95rem}.event-card.highlight .event-dot{left:-2.02rem}.day-btn{min-width:72px;padding:.45rem .8rem}.card-icon-wrap{width:48px}.food-page{padding:2.3rem 1rem 4rem}.food-menu-shell,.location-inner{padding:1rem;border-radius:18px}.location-section{padding:0 1rem 1.5rem}.location-cards,.food-grid,.food-grid.compact,.lunch-info-grid,.lunch-menu-grid{grid-template-columns:1fr}.location-card{min-height:0;padding:.9rem;gap:.65rem}.location-card-image{max-width:132px;max-height:88px}.social-icons-row{gap:.7rem}.social-icon-link{width:48px;height:48px;min-width:48px}.social-icon-link svg{width:22px;height:22px;min-width:22px}.location-map{height:300px}.food-card{min-height:0;padding:.72rem .8rem}.food-card h4{font-size:.95rem}.food-note{margin-top:.28rem;font-size:.76rem}.food-section-head h3{font-size:1.3rem}.lunch-cta{flex-direction:column;align-items:stretch}.lunch-menu-image{max-height:360px}.program-download-inner{justify-content:flex-end}.day-nav-download{max-width:100%}.footer-partners{grid-template-columns:1fr}.footer-partner-card{min-height:96px}}
