:root{--blue:#123b72;--blue2:#0b2850;--red:#c92a32;--yellow:#f6c544;--cream:#fffaf0;--ink:#182334;--muted:#667085;--white:#fff;--line:#e7e4dc;--shadow:0 18px 45px rgba(18,59,114,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}.container{width:min(1120px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,240,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center}.brand img{height:58px;width:58px;object-fit:contain;border-radius:50%}.nav-links{display:flex;gap:24px;align-items:center}.nav-links a{color:var(--blue2);text-decoration:none;font-weight:800}.nav-links a:hover{color:var(--red)}.nav-call{background:var(--red);color:#fff!important;padding:10px 17px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--blue);cursor:pointer}
.hero{position:relative;min-height:620px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#0d315f,#174c89 55%,#d52e37);overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.18}.hero:before{width:420px;height:420px;background:var(--yellow);left:-170px;top:-180px}.hero:after{width:520px;height:520px;background:#fff;right:-300px;bottom:-300px}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(246,197,68,.24),transparent 35%)}.hero-content{position:relative;color:#fff;padding:70px 0;z-index:1}.hero-logo{width:145px;height:145px;object-fit:contain;border-radius:50%;background:#fff;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.eyebrow{letter-spacing:.12em;font-size:.76rem;font-weight:800;margin:0 0 9px;color:var(--red)}.hero .eyebrow{color:var(--yellow);margin-top:22px}.hero h1,.section-heading h2,.welcome h2,.location-section h2,.hours-section h2,.contact h2,.menu-category summary b{font-family:"Playfair Display",serif}.hero h1{font-size:clamp(3rem,7vw,5.6rem);line-height:1;margin:8px 0}.tagline{font-size:1.15rem}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-block;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:800;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.14)}.button.primary{background:var(--yellow);color:var(--blue2)}.button.secondary{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.08)}
.welcome{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:75px 0}.welcome h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;margin:0}.welcome h2 span{color:var(--red)}.welcome-copy{font-size:1.1rem;color:var(--muted);align-self:center}.section{padding:78px 0}.menu-section{background:#f4efe3}.section-heading{text-align:center;max-width:780px;margin:0 auto 28px}.section-heading h2{font-size:clamp(2.3rem,5vw,4rem);margin:0 0 10px}.section-heading>p:last-child{color:var(--muted)}
.menu-tools{display:flex;justify-content:center;gap:10px;margin-bottom:15px}.menu-control{border:1px solid #cfd5df;background:#fff;color:var(--blue);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;transition:.18s}.menu-control:hover{background:var(--blue);color:#fff}.menu-search{max-width:760px;margin:0 auto 18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.menu-search label{display:block;font-weight:900;color:var(--blue2);font-size:.9rem;margin-bottom:8px}.search-box{display:flex;align-items:center;border:1px solid #ccd3df;border-radius:12px;background:#fff;padding:0 10px}.search-box>span{font-size:1.5rem;color:var(--muted)}.search-box input{border:0;outline:0;width:100%;padding:12px 10px;font:inherit;background:transparent;color:var(--ink)}.search-box button{border:0;background:transparent;font-size:1.5rem;color:var(--muted);cursor:pointer}.search-status{margin:7px 2px 0;color:var(--muted);font-size:.82rem}.category-jump{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 14px;margin-bottom:3px;scrollbar-width:thin}.category-jump a{flex:0 0 auto;background:#fff;border:1px solid var(--line);color:var(--blue2);text-decoration:none;font-size:.82rem;font-weight:800;padding:8px 11px;border-radius:999px}.category-jump a:hover{border-color:var(--red);color:var(--red)}
.menu-list{display:grid;gap:14px}.menu-category{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 20px rgba(0,0,0,.035);overflow:hidden;scroll-margin-top:90px}.menu-category[hidden]{display:none}.menu-category summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:20px 24px;cursor:pointer}.menu-category summary::-webkit-details-marker{display:none}.summary-icon{font-size:1.8rem}.menu-category summary small{display:block;color:var(--red);font-size:.68rem;letter-spacing:.12em;font-weight:800}.menu-category summary b{display:block;color:var(--blue2);font-size:1.5rem}.chevron{font-size:1.4rem;transition:transform .2s}.menu-category[open] .chevron{transform:rotate(180deg)}.items{padding:0 24px 18px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:17px 0;border-top:1px solid var(--line);transition:background .18s}.menu-item h4{margin:0 0 4px;color:var(--blue2);font-size:1.05rem}.menu-item h4 small{font-weight:600;color:var(--muted)}.menu-item p{margin:0;color:var(--muted);font-size:.93rem;max-width:850px}.menu-item>strong{color:var(--red);white-space:nowrap;font-size:1rem;text-align:right}.menu-item.match{background:#fff9df;margin-inline:-8px;padding-inline:8px;border-radius:9px}.flavors{margin-top:8px!important}.section-note,.menu-note-inline{margin:0 0 12px;padding:12px 14px;border-radius:10px;background:#fff7d9;color:#5d4a10;font-size:.9rem}.menu-note{margin-top:22px;padding:16px 18px;border-radius:12px;background:var(--blue2);color:#fff;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.menu-note span{opacity:.82}
.location-section{background:#fff}.location-grid,.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.location-section h2,.hours-section h2{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.05;margin:0 0 18px}.address{font-size:1.05rem;margin-bottom:25px}.map-card,.hours-card{background:var(--cream);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.map-pin{font-size:3rem}.map-card h3{font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--blue2);margin:8px 0}.map-card a{font-weight:800;color:var(--red)}.hours-section{background:#eaf0f8}.muted{color:var(--muted)}.hours-card{background:#fff}.hours-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.hours-row:last-child{border-bottom:0}.hours-row strong{color:var(--blue2);text-align:right}.contact{background:var(--red);color:#fff;padding:48px 0}.contact .eyebrow{color:var(--yellow)}.contact h2{font-size:clamp(1.8rem,4vw,3rem);margin:0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.phone{color:#fff;text-decoration:none;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900}.footer{background:#081c36;color:#dfe7f3;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer strong{color:#fff}.footer p{margin:4px 0;color:#b9c5d6;font-size:.9rem}.mobile-action-bar{display:none}
@media(max-width:800px){.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:16px 4%;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(0,0,0,.08)}.nav-links.show{display:flex}.nav-links a{padding:9px}.menu-toggle{display:block}.welcome,.location-grid,.hours-grid{grid-template-columns:1fr;gap:30px}.hero{min-height:570px}.section{padding:58px 0}.menu-category summary{padding:18px}.items{padding:0 18px 12px}.menu-item{grid-template-columns:1fr auto;gap:10px}.contact-inner,.footer-inner{flex-direction:column;align-items:flex-start}.phone{align-self:flex-start}.mobile-action-bar{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(0,0,0,.12);padding-bottom:env(safe-area-inset-bottom)}.mobile-action-bar a{text-align:center;text-decoration:none;color:var(--blue2);font-weight:900;font-size:.78rem;padding:10px 3px}.mobile-action-bar a+a{border-left:1px solid var(--line)}body{padding-bottom:60px}}
@media(max-width:520px){.hero-logo{width:120px;height:120px}.hero-content{padding:55px 0}.menu-tools{flex-direction:column}.menu-control{width:100%}.menu-item{grid-template-columns:1fr}.menu-item>strong{text-align:left}.menu-note{display:block}.menu-note span{display:block;margin-top:5px}.hours-row{font-size:.93rem}.category-jump{margin-inline:-2px}.search-box input{font-size:.95rem}}


/* Separate menu page */
.page-hero {
  background: linear-gradient(135deg, #123b72 0%, #1b548e 55%, #f2b632 150%);
  color: #fff;
  padding: 92px 0 72px;
  position: relative;
  overflow: hidden;
}
.page-hero::after {
  content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%;
  right: -100px; top: -110px; background: rgba(255,255,255,.08);
}
.page-hero-inner { position: relative; z-index: 1; max-width: 900px; }
.page-hero h1 { margin: 8px 0 12px; font-size: clamp(2.4rem, 6vw, 4.5rem); }
.page-hero p:not(.eyebrow) { max-width: 680px; font-size: 1.08rem; opacity: .92; }
.page-hero .button.secondary { color: #123b72; background: #fff; border-color: #fff; }
.nav-links a.active { font-weight: 800; }
@media (max-width: 700px) {
  .page-hero { padding: 68px 0 58px; }
  .page-hero .hero-actions { flex-direction: column; align-items: stretch; }
  .page-hero .button { text-align: center; }
}
