/* The full menu shares the homepage identity and ordering components. */
.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}
.menu-page .desktop-nav [aria-current=page] {color:var(--red)}
.menu-page .desktop-nav [aria-current=page]::after {width:100%}
.menu-hero {position:relative;isolation:isolate;overflow:hidden;border-radius:40px 40px 0 0;background:radial-gradient(ellipse at 75% 50%,#bd4928,#9c3022 45%,#77231e);color:var(--cream)}
.menu-hero::before {content:'';position:absolute;inset:0;z-index:-1;opacity:.3;background:url('assets/hero-art.svg') center 45%/cover no-repeat}
.menu-hero-inner {display:grid;grid-template-columns:1fr 1.08fr;gap:30px;min-height:535px;padding-top:29px;padding-bottom:83px;align-items:center}
.menu-breadcrumb {display:flex;align-items:center;gap:13px;font-size:13px;color:#f6d9c3;margin-bottom:33px}
.menu-breadcrumb a {text-decoration:underline;text-underline-offset:4px}
.menu-hero .eyebrow {color:var(--yellow);font-size:11px;letter-spacing:1.3px;display:flex;gap:9px;align-items:center;margin-bottom:16px}
.menu-hero .eyebrow>span {font-size:22px}
.menu-hero h1 {font-size:clamp(48px,4.5vw,70px);line-height:1.12;letter-spacing:-1.7px}
.menu-hero h1>span {color:var(--yellow)}
.menu-hero-description {font-size:17px;line-height:1.85;color:#f5dfcb;margin-top:21px;max-width:510px}
.menu-browse {margin-top:26px;background:var(--cream);color:var(--ink);font-size:12px;padding:19px 25px;min-height:53px;box-shadow:0 5px 0 #59211740}
.menu-browse:hover {background:var(--yellow)}
.menu-meal-art {position:relative;height:420px;min-width:0;isolation:isolate}
.meal-halo {position:absolute;inset:11px 5% 24px 6%;border-radius:48% 52% 37% 63%/55% 44% 56% 45%;background:radial-gradient(ellipse at 55% 30%,#f3b655,#db8c3e);transform:rotate(-9deg);box-shadow:inset 0 0 60px #a53d1a26;opacity:.75;z-index:-1}
.meal-halo::after {content:'';position:absolute;inset:-12px -20px -16px -12px;border:1px solid #f9cc7775;border-radius:49% 51% 43% 57%/41% 56% 44% 59%}
.menu-meal-art>img {position:absolute;object-fit:contain;filter:drop-shadow(4px 12px 9px #4d160d35);height:auto;pointer-events:none}
.hero-meal-fries {width:43%;left:-1%;top:5px;transform:rotate(-12deg);z-index:1}
.hero-meal-shake {width:42%;right:-3%;top:-19px;transform:rotate(7deg);z-index:1}
.hero-meal-burger {width:60%;left:19%;bottom:38px;transform:rotate(-5deg);z-index:2}
.meal-spark {position:absolute;right:6%;top:-4px;color:var(--yellow);font-size:42px;z-index:3}
.combo-seal {position:absolute;right:-9px;bottom:5px;width:154px;height:154px;border-radius:50%;background:var(--yellow);color:var(--ink);border:6px double #a87727;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transform:rotate(10deg);box-shadow:4px 6px 0 #4d160d24;transition:transform .2s}
.combo-seal:hover {transform:rotate(4deg) scale(1.04)}
.combo-seal span {font-size:10px;letter-spacing:.4px;font-weight:800;line-height:1.4}
.combo-seal strong {font:32px var(--display);letter-spacing:-1.3px}
.meal-handwritten {position:absolute;bottom:-10px;left:4%;font:italic 24px Fraunces,Georgia,serif;transform:rotate(-6deg);z-index:3;color:#ffe4b7}
.menu-hero-wave {position:absolute;bottom:-1px;left:0;width:100%;height:67px;fill:var(--cream);pointer-events:none}

.menu-layout {display:grid;grid-template-columns:220px minmax(0,1fr);gap:43px;padding-top:46px;padding-bottom:66px;scroll-margin-top:28px}
.menu-sidebar {position:sticky;top:25px;align-self:start;min-width:0}
.category-label {font-size:10px;letter-spacing:1px;margin:8px 0 20px 17px}
.category-nav {display:flex;flex-direction:column;gap:8px}
.category-nav button {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px;border-radius:18px;font-size:14px;font-weight:700;line-height:1.5;text-align:left;border:1px solid transparent;transition:background .2s,color .2s}
.category-nav button:hover {background:#f0e2c9}
.category-nav button.active {background:var(--ink);color:var(--cream);box-shadow:0 4px 0 #201c1910}
.category-count {font-size:12px;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;background:#e7d8bd;flex-shrink:0;color:var(--ink)}
.category-nav .active .category-count {color:var(--yellow);background:#ffffff15}
.cleo-menu-note {position:relative;background:#eddfc4;border-radius:100px 100px 25px 25px;padding:29px 20px 26px;text-align:center;margin-top:48px}
.cleo-menu-note::after {content:'✦';position:absolute;right:18px;top:37px;color:var(--red);font-size:24px;transform:rotate(12deg)}
.cleo-menu-note img {width:84px;height:84px;object-fit:cover;object-position:50% 29%;border-radius:50%;border:4px solid var(--cream);margin:0 auto 20px;box-shadow:0 4px 0 #a27c3a15}
.cleo-menu-note .eyebrow {font-size:9px;letter-spacing:.6px;margin-bottom:10px}
.cleo-menu-note h2 {font:italic 700 27px Fraunces,Georgia,serif;letter-spacing:-.5px}
.cleo-menu-note>p:not(.eyebrow) {font-size:15px;line-height:1.7;margin:13px 0 19px;color:#6c5b48}
.cleo-menu-note a {font-size:13px;font-weight:700;border-bottom:1px solid #847354;padding-bottom:6px;display:inline-flex;gap:14px}
.menu-catalog {min-width:0}
.catalog-heading {display:flex;justify-content:space-between;align-items:center;gap:20px}
.catalog-heading>div {min-width:0}
.catalog-heading .eyebrow {font-size:10px;letter-spacing:1.2px;margin-bottom:12px}
.catalog-heading h2 {font-size:clamp(28px,2.6vw,39px);line-height:1.25;letter-spacing:-.8px}
#menu-results {font-size:15px;line-height:1.7;color:#77644e;margin-top:12px}
.catalog-star {font-size:54px;color:var(--red);transform:rotate(15deg);margin-right:12px;flex-shrink:0}
.catalog-tools {display:flex;align-items:center;gap:25px;justify-content:space-between;margin:28px 0 29px}
.menu-search {display:flex;align-items:center;gap:12px;border:1px solid #d7c6a9;background:#fff9ee;border-radius:999px;padding:0 18px;min-height:50px;flex:1;max-width:390px;min-width:0;transition:border-color .2s}
.menu-search:focus-within {border-color:var(--red);box-shadow:0 0 0 2px #b8322315}
.menu-search svg {width:21px;height:21px;stroke:#897353;stroke-width:1.7;fill:none;flex-shrink:0}
.menu-search input {border:0;background:transparent;padding:14px 0;color:var(--ink);font-size:15px;min-width:0;width:100%;outline:none}
.menu-search input::placeholder {color:#857159}
.menu-sort {display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:13px;color:#77644e}
.menu-sort select {font:700 14px var(--body);color:var(--ink);border:0;background:transparent;cursor:pointer;max-width:175px;padding:12px 3px}
.menu-sort select:focus-visible {outline:2px solid var(--red);outline-offset:4px;border-radius:6px}
.menu-catalog .product-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px}
.menu-catalog .product-card {border-radius:110px 110px 25px 25px}
.menu-catalog .product-card .product-photo {height:245px;border-radius:110px 110px 45% 45%/110px 110px 7% 7%;background:radial-gradient(ellipse at 50% 35%,#f7dfa4,#ebd3ad)}
.menu-catalog .category-sides .product-photo {background:radial-gradient(ellipse at 50% 35%,#f4c38d,#eec8a4)}
.menu-catalog .category-shakes .product-photo {background:radial-gradient(ellipse at 50% 35%,#efd6c1,#dfc4b5)}
.menu-catalog .category-drinks .product-photo {background:radial-gradient(ellipse at 50% 35%,#f4e8d4,#ead8b9)}
.menu-catalog .category-meals .product-photo {background:radial-gradient(ellipse at 50% 35%,#ecd99e,#e6c481)}
.menu-catalog .product-photo>img {padding:48px 9px 9px}
.menu-catalog .product-card .tag {font-size:9px;top:25px;padding:8px 10px;letter-spacing:.3px}
.menu-catalog .product-content {padding:23px 20px 22px}
.menu-catalog .product-content h3 {font-size:21px;line-height:1.35;letter-spacing:-.35px}
.menu-catalog .product-content p {font-size:16px;line-height:1.75;min-height:113px;margin-top:12px}
.menu-catalog .product-bottom {flex-direction:row;align-items:center;padding-top:20px;gap:10px}
.menu-catalog .product-bottom strong {font-size:21px}
.menu-catalog .add-button {font-size:12px;padding:12px 13px;gap:10px;min-height:44px;width:auto;letter-spacing:0}
.menu-catalog .add-button span {font-size:20px}
.menu-catalog .product-photo .meal-image {height:83%;top:17%}
.full-menu-note {display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.8;color:#79674e;margin-top:26px}
.full-menu-note>span {color:var(--red);font-size:18px;line-height:1.2}
.empty-menu {grid-column:1/-1;text-align:center;background:#f2e7d1;border:1px dashed #cbb78f;border-radius:35px;padding:65px 25px}
.empty-menu>span {font-size:48px;color:var(--red)}
.empty-menu h3 {font:26px var(--display);margin:20px 0 14px}
.empty-menu p {font-size:16px;line-height:1.7;color:#756149}
.empty-menu .button {margin-top:24px;font-size:12px}
.menu-bottom-note {position:relative;background:var(--ink);color:var(--cream);max-width:1295px;margin:15px auto 30px;border-radius:70px 30px 70px 30px;padding:42px 45px;display:flex;align-items:center;gap:32px;overflow:hidden}
.menu-bottom-note::before {content:'';position:absolute;right:-70px;top:-170px;width:400px;height:400px;border:35px solid #d19c3b12;border-radius:50%;pointer-events:none}
.menu-note-arcs {flex-shrink:0}
.menu-note-arcs svg {width:65px;height:62px;fill:var(--yellow);transform:rotate(-10deg)}
.menu-bottom-note .eyebrow {font-size:10px;letter-spacing:1px;color:var(--yellow);margin-bottom:11px}
.menu-bottom-note h2 {font-size:26px;letter-spacing:-.5px;line-height:1.3}
.menu-bottom-note p:not(.eyebrow) {font-size:15px;line-height:1.8;color:#dfceb7;margin-top:10px}
.menu-bottom-note .button {margin-left:auto;flex-shrink:0;font-size:12px;position:relative}
.menu-page .site-footer {padding-top:35px}

@media(max-width:1250px) {
  .menu-layout {grid-template-columns:210px minmax(0,1fr);gap:31px}
  .menu-catalog .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
  .menu-catalog .product-card {border-radius:135px 135px 26px 26px}
  .menu-catalog .product-card .product-photo {height:275px;border-radius:135px 135px 45% 45%/135px 135px 7% 7%}
  .menu-catalog .product-card .tag {font-size:10px}
  .menu-catalog .product-content h3 {font-size:22px}
  .menu-catalog .product-content p {font-size:15px;min-height:105px}
  .menu-catalog .add-button {font-size:11px;padding:12px 14px;gap:12px}
  .menu-hero h1 {font-size:4.8vw}
  .menu-meal-art {height:370px}
  .hero-meal-fries {top:16px;width:44%;left:-2%}
  .hero-meal-shake {top:-6px;width:43%;right:-4%}
  .hero-meal-burger {width:62%;left:18%;bottom:35px}
  .combo-seal {width:136px;height:136px;right:-7px;bottom:11px}
  .combo-seal strong {font-size:28px}
  .combo-seal span {font-size:9px}
  .menu-hero-inner {gap:25px;min-height:510px}
  .menu-hero-description {font-size:16px}
  .menu-hero-description br {display:none}
  .menu-hero .eyebrow {font-size:10px;letter-spacing:.8px}
  .meal-handwritten {font-size:22px;bottom:7px;left:0}
  .menu-sort>span {display:none}
  .menu-bottom-note {margin-left:4.4%;margin-right:4.4%;padding:37px 32px;gap:25px}
  .menu-bottom-note h2 {font-size:23px}
  .menu-bottom-note .button {font-size:11px;padding:19px 22px}
}
@media(max-width:980px) {
  .menu-hero-inner {grid-template-columns:1fr 1fr;padding-top:25px;gap:18px;min-height:490px}
  .menu-breadcrumb {margin-bottom:28px}
  .menu-hero h1 {font-size:4.9vw;letter-spacing:-1px}
  .menu-hero .eyebrow {font-size:9px;letter-spacing:.5px;gap:7px}
  .menu-hero-description {font-size:16px;line-height:1.8}
  .menu-hero-copy {min-width:0}
  .menu-meal-art {height:335px}
  .meal-halo {inset:25px 0 29px}
  .hero-meal-fries {width:45%;top:35px}
  .hero-meal-shake {width:44%;top:10px}
  .hero-meal-burger {width:65%;left:16%;bottom:43px}
  .combo-seal {width:119px;height:119px;bottom:10px;right:-4px;gap:6px;border-width:5px}
  .combo-seal span {font-size:8px;letter-spacing:.15px}
  .combo-seal strong {font-size:25px}
  .meal-handwritten {font-size:19px;bottom:9px;left:-6px}
  .meal-spark {font-size:30px;top:15px;right:2%}
  .menu-browse {font-size:11px;padding:18px 22px;margin-top:23px}
  .menu-layout {display:block;padding-top:28px}
  .menu-sidebar {position:sticky;top:0;z-index:8;background:var(--cream);padding:13px 0 17px;margin-bottom:28px;border-bottom:1px solid var(--line)}
  .category-label,.cleo-menu-note {display:none}
  .category-nav {flex-direction:row;overflow-x:auto;gap:8px;padding:2px 1px 6px;scrollbar-width:thin;scrollbar-color:#c7af87 transparent}
  .category-nav button {flex-shrink:0;white-space:nowrap;font-size:13px;padding:12px 15px;border:1px solid #d8c9ae;border-radius:999px;gap:11px}
  .category-nav button.active {border-color:var(--ink)}
  .category-count {width:22px;height:22px;font-size:11px}
  .catalog-heading h2 {font-size:34px}
  .catalog-heading .eyebrow {font-size:11px}
  .catalog-tools {margin-top:24px}
  .menu-sort>span {display:block}
  .menu-search {max-width:420px}
  .menu-catalog .product-grid {gap:25px}
  .menu-catalog .product-card .product-photo {height:285px}
  .menu-catalog .product-content {padding:25px}
  .menu-catalog .product-content p {font-size:16px;min-height:87px}
  .menu-catalog .product-content h3 {font-size:23px}
  .menu-catalog .product-card .tag {font-size:11px}
  .menu-catalog .add-button {font-size:12px;padding:13px 16px;gap:15px}
  .menu-catalog .product-bottom strong {font-size:23px}
  .menu-bottom-note {padding:36px 31px;gap:22px}
  .menu-note-arcs svg {width:48px}
  .menu-bottom-note h2 {font-size:21px;max-width:350px}
  .menu-bottom-note p:not(.eyebrow) {font-size:14px}
  .menu-bottom-note .button {font-size:10px;padding:18px 20px;gap:16px}
}
@media(max-width:600px) {
  .menu-hero {border-radius:28px 28px 0 0}
  .menu-hero-inner {display:flex;flex-direction:column;align-items:stretch;gap:18px;padding-top:26px;padding-bottom:71px;min-height:0}
  .menu-breadcrumb {font-size:13px;margin-bottom:28px}
  .menu-hero .eyebrow {font-size:10px;letter-spacing:.7px;margin-bottom:15px;gap:7px}
  .menu-hero .eyebrow>span {font-size:19px}
  .menu-hero h1 {font-size:clamp(38px,10.5vw,62px);line-height:1.13;letter-spacing:-1.2px}
  .menu-hero-description {font-size:17px;margin-top:21px;line-height:1.8}
  .menu-browse {font-size:12px;padding:19px 24px;margin-top:24px}
  .menu-meal-art {height:330px;width:100%;max-width:430px;margin:12px auto 0}
  .meal-halo {inset:24px 0 27px}
  .hero-meal-fries {width:45%;left:-2%;top:24px}
  .hero-meal-shake {width:45%;right:-4%;top:0}
  .hero-meal-burger {width:79%;left:6%;bottom:38px}
  .combo-seal {width:121px;height:121px;bottom:0;right:-3px;gap:7px}
  .combo-seal strong {font-size:26px}
  .combo-seal span {font-size:8px}
  .meal-handwritten {font-size:21px;bottom:2px;left:-3px;max-width:190px;line-height:1.3}
  .meal-spark {top:3px;right:3%;font-size:31px}
  .menu-hero-wave {height:43px}
  .menu-layout {padding-top:9px;padding-bottom:38px;scroll-margin-top:0}
  .menu-sidebar {margin-bottom:25px;padding:14px 0 12px}
  .category-nav {gap:8px}
  .category-nav button {font-size:13px;padding:12px 14px;gap:10px}
  .catalog-heading {gap:12px}
  .catalog-heading .eyebrow {font-size:10px;letter-spacing:.9px;margin-bottom:13px}
  .catalog-heading h2 {font-size:29px;line-height:1.25}
  .catalog-star {font-size:40px;margin:0;align-self:flex-start;padding-top:28px}
  #menu-results {font-size:14px;line-height:1.8;margin-top:13px}
  .catalog-tools {flex-wrap:wrap;gap:15px;margin:24px 0 25px}
  .menu-search {max-width:none;flex-basis:100%;padding:0 18px;min-height:52px}
  .menu-search input {font-size:16px;padding:15px 0}
  .menu-sort {margin-left:auto;font-size:13px;gap:12px}
  .menu-sort>span {display:block}
  .menu-sort select {font-size:14px;padding:10px 2px}
  .menu-catalog .product-grid {grid-template-columns:1fr;gap:29px}
  .menu-catalog .product-card {border-radius:145px 145px 29px 29px}
  .menu-catalog .product-card .product-photo {height:300px;border-radius:145px 145px 45% 45%/145px 145px 7% 7%}
  .menu-catalog .product-photo>img {padding:49px 12px 8px}
  .menu-catalog .product-card .tag {font-size:11px;padding:9px 12px;top:25px}
  .menu-catalog .product-content {padding:25px}
  .menu-catalog .product-content h3 {font-size:24px}
  .menu-catalog .product-content p {font-size:16px;line-height:1.75;min-height:0;margin-top:12px}
  .menu-catalog .product-bottom {padding-top:24px}
  .menu-catalog .product-bottom strong {font-size:24px}
  .menu-catalog .add-button {font-size:12px;padding:13px 17px;gap:17px}
  .full-menu-note {font-size:12px;line-height:1.85;margin-top:25px}
  .empty-menu {padding:42px 22px;border-radius:28px}
  .empty-menu h3 {font-size:24px}
  .empty-menu p {font-size:16px}
  .empty-menu .button {font-size:11px;gap:15px;padding:19px 21px}
  .menu-bottom-note {margin:13px 6% 20px;padding:32px 27px;border-radius:44px 24px 44px 24px;flex-wrap:wrap;gap:19px}
  .menu-note-arcs {position:absolute;right:24px;top:24px;opacity:.2}
  .menu-note-arcs svg {width:59px}
  .menu-bottom-note .eyebrow {font-size:10px;letter-spacing:.7px;max-width:205px}
  .menu-bottom-note h2 {font-size:25px;line-height:1.3;position:relative}
  .menu-bottom-note p:not(.eyebrow) {font-size:16px;line-height:1.8;margin-top:13px}
  .menu-bottom-note .button {font-size:12px;margin:5px 0 0;padding:19px 24px;min-height:53px}
  .menu-page .site-footer {padding-top:31px}
}
@media(max-width:360px) {
  .menu-hero .eyebrow {font-size:9px;letter-spacing:.4px}
  .menu-hero h1 {font-size:10.5vw;letter-spacing:-.8px}
  .menu-meal-art {height:290px}
  .combo-seal {width:108px;height:108px;gap:5px;right:-2px}
  .combo-seal span {font-size:7px}
  .combo-seal strong {font-size:24px}
  .meal-handwritten {font-size:19px;max-width:155px;bottom:2px}
  .hero-meal-burger {bottom:38px}
  .catalog-heading h2 {font-size:25px}
  .catalog-star {font-size:33px}
  .menu-catalog .product-content {padding:23px 20px}
  .menu-catalog .product-content h3 {font-size:22px}
  .menu-catalog .product-card .product-photo {height:265px}
  .menu-catalog .product-bottom strong {font-size:22px}
  .menu-catalog .add-button {font-size:11px;padding:13px;gap:12px}
  .menu-catalog .product-card .tag {font-size:10px}
}

/* The complete meal gets a generous, full-width place on the menu. */
.menu-catalog .product-card.category-meals {grid-column:1/-1;display:grid;grid-template-columns:43% 57%;border-radius:34px;background:var(--ink);color:var(--cream);border-color:var(--ink);min-height:310px}
.menu-catalog .category-meals .product-photo {height:100%;min-height:310px;border-radius:32px 45% 45% 32px / 32px 8% 8% 32px;background:radial-gradient(ellipse at 50% 35%,#f1d38c,#d7af66)}
.menu-catalog .category-meals .product-content {padding:34px 32px}
.menu-catalog .category-meals .product-content h3 {font-size:29px;line-height:1.3}
.menu-catalog .category-meals .product-content p {color:#e5d6c2;font-size:16px;min-height:0;max-width:390px;line-height:1.8}
.menu-catalog .category-meals .product-bottom {padding-top:26px}
.menu-catalog .category-meals .product-bottom strong {font-size:27px}
.menu-catalog .category-meals .add-button {background:var(--cream);color:var(--ink);border:0;padding:15px 22px;font-size:12px;gap:19px}
.menu-catalog .category-meals .add-button:hover {background:var(--yellow)}
.menu-catalog .category-meals .product-photo .meal-image {height:74%;top:15%}
.menu-catalog .category-meals .tag {color:var(--ink);background:var(--yellow)}
@media(max-width:980px) {
  .menu-catalog .category-meals .product-content {padding:28px}
  .menu-catalog .category-meals .product-content h3 {font-size:26px}
  .menu-catalog .category-meals .add-button {padding:14px 17px;gap:13px}
}
@media(max-width:600px) {
  .menu-catalog .product-card.category-meals {display:flex;border-radius:145px 145px 29px 29px}
  .menu-catalog .category-meals .product-photo {height:300px;min-height:0;border-radius:145px 145px 45% 45%/145px 145px 7% 7%}
  .menu-catalog .category-meals .product-content {padding:27px 25px}
  .menu-catalog .category-meals .product-content h3 {font-size:26px}
  .menu-catalog .category-meals .product-bottom strong {font-size:25px}
  .menu-catalog .category-meals .add-button {font-size:11px;padding:14px 16px;gap:12px}
}
