:root{
  --ink:#1f2d2b;
  --muted:#64706d;
  --paper:#fffdf8;
  --cream:#fff4d8;
  --sun:#f2bd36;
  --sun-dark:#bf8610;
  --sea:#1f6670;
  --sea-dark:#164850;
  --coral:#e46f55;
  --line:#ded9cc;
  --card:#ffffff;
  --shadow:0 12px 34px rgba(32,50,46,.09);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.58}
a{color:var(--sea-dark);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:#0c3338}
img{max-width:100%;height:auto}
.wrap{width:min(var(--max),calc(100% - 36px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:9999}
.skip-link:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}
.header-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{flex:none}
.brand strong{display:block;font-size:1.45rem;line-height:1;font-weight:900;letter-spacing:-.04em}
.brand small{display:block;margin-top:4px;text-transform:uppercase;letter-spacing:.18em;font-size:.67rem;color:var(--sea);font-weight:800}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav>a{text-decoration:none;font-weight:700;font-size:.95rem;color:var(--ink)}
.site-nav>a:hover{color:var(--sea)}
.menu-toggle,.menu-close{display:none}
.page-hero{padding:62px 0;background:linear-gradient(135deg,#fff4d8 0%,#fffaf0 58%,#e9f5f3 100%);border-bottom:1px solid var(--line)}
.home-hero{padding:52px 0 42px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:46px;align-items:center}
.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:900;color:var(--sea)}
h1{font-size:clamp(2.3rem,6vw,4.9rem);line-height:.96;letter-spacing:-.055em;margin:.08em 0 .24em;max-width:900px}
.compact-hero h1{font-size:clamp(2.1rem,5vw,3.8rem)}
.lede{font-size:clamp(1.03rem,2vw,1.28rem);max-width:760px;color:#46504d;margin:0}
.hero-chip{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow);transform:rotate(1deg)}
.hero-chip img{display:block;width:150px;margin:0 auto 10px}
.hero-chip strong{display:block;text-align:center;font-size:1.15rem}
.hero-chip p{text-align:center;margin:.45rem 0 0;color:var(--muted)}
.finder{margin-top:-1px;background:#fff;border-bottom:1px solid var(--line);padding:24px 0}
.finder-panel{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr auto;gap:12px;align-items:end}
.field label{display:block;font-size:.77rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;color:#4b5754}
.field input,.field select{width:100%;min-height:48px;border:1px solid #cfc9bb;border-radius:10px;background:#fff;padding:0 12px;font:inherit;color:var(--ink)}
.checkbox-field{min-height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #cfc9bb;border-radius:10px;background:#fff;font-weight:700;white-space:nowrap}
.checkbox-field input{width:18px;height:18px}
.section{padding:48px 0}
.section--tight{padding:30px 0}
.section--tint{background:#f5f8f6;border-block:1px solid #e3e9e6}
.section-heading{display:flex;gap:20px;align-items:end;justify-content:space-between;margin-bottom:22px}
.section-heading h2{font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.035em;margin:0;line-height:1.04}
.section-heading p{margin:0;color:var(--muted);max-width:620px}
.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.deal-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 6px 22px rgba(32,50,46,.055);min-width:0}
.deal-card[hidden]{display:none!important}
.deal-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.deal-card__topline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}
.deal-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--sea)}
.open-now{font-size:.72rem;font-weight:900;background:#e7f5ec;color:#22643c;padding:5px 8px;border-radius:6px}
.deal-card h3{font-size:1.38rem;line-height:1.08;letter-spacing:-.025em;margin:0 0 7px}
.deal-price{font-size:1.15rem;font-weight:900;color:var(--coral);margin:0 0 10px}
.venue-name{font-weight:900;margin:.2rem 0}.venue-name a{text-decoration:none;color:var(--ink)}
.deal-meta{font-size:.9rem;color:#525d59;margin:.25rem 0 .8rem}
.deal-description{margin:0 0 18px;color:#3f4b47}
.deal-card__footer{margin-top:auto;padding-top:14px;border-top:1px solid #ece8df}
.checked{display:block;font-size:.78rem;font-weight:800;color:#52605b;margin-bottom:10px}
.checked--fresh:before{content:"✓ ";color:#2c7b4d}.checked--review:before{content:"! ";color:#a06b00}.checked--stale:before{content:"↻ ";color:#a14232}
.deal-links{display:flex;flex-wrap:wrap;gap:12px;font-size:.86rem;font-weight:800}
.empty-state{border:1px dashed #c6c0b3;border-radius:16px;padding:28px;background:#fff}.empty-state h3{margin:0 0 6px}.empty-state p{margin:0;color:var(--muted)}
.quick-links{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.quick-links a{display:block;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 8px;text-decoration:none;font-weight:900;color:var(--ink)}
.quick-links a:hover{border-color:var(--sun-dark);background:var(--cream)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.feature-card h3{margin:0 0 8px;font-size:1.35rem}.feature-card p{margin:0;color:#4a5652}.feature-card a{display:inline-block;margin-top:14px;font-weight:800}
.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.restaurant-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:19px}.restaurant-card h2,.restaurant-card h3{margin:0 0 6px;font-size:1.24rem}.restaurant-card p{margin:.3rem 0;color:#52605b}.restaurant-card a{font-weight:800}
.content{max-width:800px}.content h2{font-size:1.8rem;letter-spacing:-.03em;margin-top:2.2rem}.content h3{font-size:1.25rem}.content p,.content li{font-size:1.04rem}.content .notice{background:#fff4d8;border-left:5px solid var(--sun);padding:17px 19px;border-radius:10px}
.venue-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}.venue-facts{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.venue-facts dl{margin:0}.venue-facts dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--sea);margin-top:14px}.venue-facts dt:first-child{margin-top:0}.venue-facts dd{margin:3px 0 0}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 15px;border-radius:10px;background:var(--sea);color:#fff;text-decoration:none;font-weight:900;border:1px solid var(--sea)}.btn:hover{background:var(--sea-dark);color:#fff}.btn--light{background:#fff;color:var(--ink);border-color:#cfc9bb}.btn--light:hover{background:#f5f2ea;color:var(--ink)}
.form-card{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card label{display:block;font-weight:800;margin:0 0 5px}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #cfc9bb;border-radius:10px;padding:11px 12px;font:inherit}.form-card textarea{min-height:150px;resize:vertical}.form-group{margin-bottom:14px}.form-status{padding:14px;border-radius:10px;margin-bottom:16px}.form-status.ok{background:#e9f6ed}.form-status.error{background:#fff0ec}.hp-field{position:absolute;left:-9999px}
.site-footer{margin-top:52px;background:#182725;color:#e9efed;padding:48px 0 20px}.site-footer a{display:block;color:#f6f8f7;margin:.42rem 0;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:34px}.site-footer h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;color:#a6c7c4}.footer-brand{font-size:1.4rem;font-weight:900}.fineprint{font-size:.84rem;color:#bdcbc8}.footer-bottom{border-top:1px solid #354541;margin-top:30px;padding-top:18px;font-size:.84rem;color:#b9c7c4}
.no-results{margin-top:16px}.no-results[hidden]{display:none!important}.filter-summary{display:inline-flex;align-items:center;min-height:34px;margin-top:12px;padding:6px 11px;border-radius:999px;background:#f4f1e9;color:var(--ink);font-size:.9rem;font-weight:800}.finder-panel--compact{grid-template-columns:1.5fr 1fr auto}
@media (max-width:980px){.deal-grid,.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:1fr 1fr}.finder-panel{grid-template-columns:1fr 1fr}.quick-links{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.hero-grid{grid-template-columns:1fr .45fr}}
@media (max-width:760px){.wrap{width:min(100% - 24px,var(--max))}.header-row{min-height:72px}.brand strong{font-size:1.25rem}.menu-toggle{display:grid;width:44px;height:44px;border:0;background:transparent;padding:10px;gap:5px;align-content:center;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--ink);width:100%}.site-nav{position:fixed;top:0;right:0;width:min(86vw,390px);height:100dvh;background:#fff;z-index:100;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:84px 28px 30px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 50px rgba(0,0,0,.12);overflow:auto}.site-nav.is-open{transform:translateX(0)}.site-nav>a{font-size:1.25rem;padding:15px 0;border-bottom:1px solid #ece8df}.menu-close{display:block;position:absolute;right:22px;top:17px;border:0;background:transparent;font-size:2.2rem;line-height:1;cursor:pointer}.menu-overlay{position:fixed;inset:0;background:rgba(20,30,28,.42);z-index:80}.hero-grid,.venue-hero{grid-template-columns:1fr}.hero-chip{display:none}.home-hero{padding:42px 0 32px}.page-hero{padding:42px 0}.finder-panel{grid-template-columns:1fr}.checkbox-field{width:100%}.deal-grid,.restaurant-grid,.feature-grid{grid-template-columns:1fr}.quick-links{grid-template-columns:repeat(2,1fr)}.section{padding:38px 0}.section-heading{display:block}.section-heading p{margin-top:7px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.form-row{grid-template-columns:1fr}.deal-card{padding:18px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.deal-card[hidden]{display:none!important}
.deal-card:hover{transform:none}}

/* Brand + guide additions */
.brand{min-width:228px}
.brand-logo{display:block;width:252px;height:auto;max-width:min(252px,52vw)}
.footer-logo{display:block;width:230px;height:auto;max-width:100%;margin-bottom:12px}
.hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.hero-stats span{display:flex;align-items:baseline;gap:6px;background:rgba(255,255,255,.78);border:1px solid #ded9cc;border-radius:999px;padding:8px 13px;color:#46504d;font-size:.86rem;font-weight:700}
.hero-stats strong{font-size:1.08rem;color:var(--ink)}
.feature-grid--four{grid-template-columns:repeat(4,1fr)}
.feature-card{position:relative;overflow:hidden}
.feature-card--sun{background:#fffaf0;border-color:#e5cf98}
.feature-icon{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 9px;margin-bottom:14px;border-radius:11px;background:var(--cream);color:var(--sea-dark);font-size:.78rem;font-weight:900;letter-spacing:.02em}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guide-grid--large{grid-template-columns:repeat(2,minmax(0,1fr))}
.guide-card{display:block;min-height:215px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 6px 22px rgba(32,50,46,.045)}
.guide-card:hover{color:var(--ink);border-color:#b8c9c5;box-shadow:var(--shadow);transform:translateY(-1px)}
.guide-card>span{display:block;margin-bottom:10px;color:var(--sea);font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.guide-card h2,.guide-card h3{margin:0 0 10px;line-height:1.08;letter-spacing:-.028em}
.guide-card h2{font-size:1.55rem}.guide-card h3{font-size:1.42rem}
.guide-card p{margin:0;color:#53605c}
.guide-summary{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:22px;align-items:center;margin:0 0 24px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fffaf0}
.guide-summary>div{display:flex;align-items:baseline;gap:9px}.guide-summary strong{font-size:2rem;line-height:1;color:var(--coral)}.guide-summary span{font-weight:800;color:#4c5854}.guide-summary p{margin:0;color:#52605b}
@media (max-width:1100px){.site-nav{gap:15px}.site-nav>a{font-size:.91rem}.feature-grid--four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid .guide-card:last-child{grid-column:1/-1}.brand-logo{width:224px}}
@media (max-width:760px){.brand{min-width:0}.brand-logo{width:220px;max-width:68vw}.guide-grid,.guide-grid--large,.feature-grid--four{grid-template-columns:1fr}.guide-grid .guide-card:last-child{grid-column:auto}.guide-summary{grid-template-columns:1fr}.hero-stats{gap:7px}.hero-stats span{font-size:.8rem;padding:7px 10px}}

/* Version 6: reliable mobile navigation layer + earlier breakpoint. */
.mobile-nav-days{display:none}
@media (max-width:1100px){
  .site-header{z-index:120}
  .header-row{min-height:76px}
  .menu-toggle{display:grid;width:44px;height:44px;border:0;background:transparent;padding:10px;gap:5px;align-content:center;cursor:pointer;flex:0 0 auto}
  .menu-toggle span{display:block;height:2px;background:var(--ink);width:100%}
  .menu-overlay{position:fixed;inset:0;background:rgba(20,30,28,.48);z-index:100}
  .site-nav{position:fixed;top:0;right:0;width:min(88vw,400px);height:100dvh;background:#fff!important;background-color:#fff!important;color:var(--ink);opacity:1;z-index:110;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:76px 28px 30px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 50px rgba(0,0,0,.18);overflow:auto;overscroll-behavior:contain;isolation:isolate;filter:none;mix-blend-mode:normal}
  .site-nav.is-open{transform:translateX(0)}
  .site-nav>a{font-size:1.16rem;padding:14px 0;border-bottom:1px solid #ece8df;color:var(--ink)}
  .site-nav>a:hover,.site-nav>a:focus-visible{color:var(--sea)}
  .menu-close{display:block;position:absolute;right:22px;top:17px;border:0;background:#fff;color:var(--ink);font-size:2.2rem;line-height:1;cursor:pointer;z-index:2}
  .mobile-nav-days{display:block;margin:8px 0 10px;padding:8px 0 8px 14px;border-left:3px solid var(--sun);background:#fffaf0}
  .mobile-nav-label{display:block;margin:0 0 4px;color:var(--sea-dark);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
  .mobile-nav-days a{display:block;padding:8px 4px;color:var(--ink);font-size:1.02rem;font-weight:700;text-decoration:none}
  .mobile-nav-days a:hover,.mobile-nav-days a:focus-visible{color:var(--sea)}
}
@media (min-width:1101px){
  .menu-overlay{display:none!important}
  .mobile-nav-days{display:none!important}
}

/* Version 7: Chip personality + food-type discovery. */
.quick-links--food{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}
.chip-easter-trigger{appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit}
.chip-easter-trigger--hero{display:block;width:100%;border-radius:24px}
.chip-easter-trigger--hero:focus-visible,.chip-easter-trigger--footer:focus-visible{outline:3px solid var(--sun);outline-offset:5px}
.chip-easter-trigger--footer{display:block;text-align:left;border-radius:10px}
.chip-easter-trigger--footer .footer-logo{margin-bottom:12px}
.chip-easter-trigger.is-cheeping img{animation:chip-cheep .55s ease}
.chip-toast{position:fixed;z-index:10000;max-width:min(320px,calc(100vw - 28px));padding:12px 16px;border:2px solid var(--sun);border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 14px 44px rgba(0,0,0,.2);font-weight:900;text-align:center;pointer-events:none;transform:translate(-50%,0);animation:chip-toast-in .18s ease-out}
.chip-toast:after{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;background:#fff;border-left:2px solid var(--sun);border-top:2px solid var(--sun);transform:translateX(-50%) rotate(45deg)}
.chip-confetti{position:fixed;z-index:9999;pointer-events:none;font-size:1.1rem;animation:chip-pop .85s ease-out forwards}
@keyframes chip-cheep{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-7deg) scale(1.05)}55%{transform:rotate(7deg) scale(1.08)}75%{transform:rotate(-3deg) scale(1.03)}}
@keyframes chip-toast-in{from{opacity:0;transform:translate(-50%,6px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes chip-pop{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(0)}20%{opacity:1}100%{opacity:0;transform:translate(var(--chip-x),var(--chip-y)) scale(1.15) rotate(var(--chip-r))}}
@media (max-width:760px){.quick-links--food{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.chip-easter-trigger.is-cheeping img,.chip-toast,.chip-confetti{animation:none!important}.chip-confetti{display:none}}


/* Version 8: one universal hamburger menu on every screen size. */
.site-header{z-index:120}
.header-row{min-height:78px}
.menu-toggle{display:flex!important;align-items:center;gap:10px;min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 12px;cursor:pointer;color:var(--ink);font:inherit;font-weight:900}
.menu-toggle:hover,.menu-toggle:focus-visible{border-color:#b8c9c5;background:#fffaf0}
.menu-toggle>span{height:auto!important;width:auto!important;background:transparent!important}
.menu-toggle-icon{display:grid!important;width:22px!important;gap:4px;align-content:center}
.menu-toggle-icon i{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}
.menu-toggle-label{display:inline!important;font-size:.95rem;line-height:1}
.menu-overlay{position:fixed;inset:0;background:rgba(20,30,28,.50);z-index:100}
.menu-overlay[hidden]{display:none!important}
.menu-overlay:not([hidden]){display:block!important}
.site-nav{position:fixed;top:0;right:0;width:min(92vw,430px);height:100dvh;background:#fff!important;background-color:#fff!important;color:var(--ink);opacity:1;z-index:110;display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:72px 28px 34px;transform:translateX(105%);transition:transform .22s ease;box-shadow:-18px 0 50px rgba(0,0,0,.20);overflow:auto;overscroll-behavior:contain;isolation:isolate;filter:none;mix-blend-mode:normal}
.site-nav.is-open{transform:translateX(0)}
.menu-close{display:block!important;position:absolute;right:20px;top:15px;width:44px;height:44px;border:0;border-radius:10px;background:#fff;color:var(--ink);font-size:2.15rem;line-height:1;cursor:pointer;z-index:2}
.menu-close:hover,.menu-close:focus-visible{background:#fff4d8}
.nav-group{padding:15px 0 11px;border-top:1px solid #ece8df}
.nav-group:first-of-type{border-top:0;padding-top:2px}
.nav-group-label{display:block;margin:0 0 6px;color:var(--sea);font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.nav-group a{display:flex;align-items:center;min-height:43px;padding:8px 4px;color:var(--ink);font-size:1.03rem;font-weight:800;text-decoration:none;border-radius:8px}
.nav-group a:hover,.nav-group a:focus-visible{color:var(--sea-dark);background:#fffaf0;padding-left:10px}
.nav-group--last{padding-bottom:6px}
@media (min-width:761px){.brand-logo{width:252px}.menu-toggle{min-width:98px;justify-content:center}}
@media (max-width:760px){.header-row{min-height:72px}.menu-toggle{min-width:46px;padding:8px 10px}.menu-toggle-label{display:none!important}.site-nav{width:min(92vw,410px);padding:70px 22px 30px}.nav-group a{font-size:1rem}}
