@import url('https://fonts.googleapis.com/css2?family=Lilita+One&family=Rubik:wght@400;500;600;700&display=swap');
/* Tube lettering for the neon sign only, subset to the letters of OPEN and CLOSED. */
@import url('https://fonts.googleapis.com/css2?family=Tilt+Neon&text=OPENCLSDComeinwrSoy%2C%E2%80%99%20&display=swap');
/* Light palette (owner request, October 2026): cream page, peach and baby-pink sections, logo green used sparingly. */
:root{--cream:#fff8f3;--peach:#ffe9dc;--peach-deep:#fdd7c2;--blush:#ffe4ec;--mint:#e4f2dc;--ink:#292024;--pink:#ed4b80;--baby-pink:#f48fb1;--pink-deep:#c2255c;--pink-light:#ffe5ed;--green:#276a38;--line:#ead8cb;--muted:#6b5e64;--serif:'Lilita One','Arial Rounded MT Bold',sans-serif;--sans:'Rubik',Arial,sans-serif;--radius:6px;--ease-out:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
/* Browsers without <dialog> (Safari before 15.4): compat.js opens it as a fixed panel with its own backdrop. */
dialog:not([open]){display:none}
.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#29202459}
dialog.is-modal{z-index:1000}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
img{display:block;max-width:100%}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(52px,6vw,88px);line-height:1;margin-bottom:24px}
h2{font-size:clamp(36px,4vw,54px);line-height:1.05}
h3{font-size:24px;line-height:1.15}
.skip{position:fixed;z-index:100;top:-100px;left:20px;padding:12px;background:#fff}
.skip:focus{top:10px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.header{position:sticky;top:0;z-index:40;min-height:84px;padding:12px clamp(22px,4.3vw,80px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--cream);border-bottom:1px solid var(--line)}
.brand{width:176px;flex-shrink:0}
.brand img{width:100%;height:auto;mix-blend-mode:multiply}
/* Header: logo, then Menu, Order online and the ☰ site menu on every screen size. */
.header-actions{display:flex;align-items:center;gap:12px}
.nav-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;margin-right:-8px;padding:0;background:transparent;border:0;flex-shrink:0}
.nav-toggle span{width:22px;height:2px;background:var(--ink);border-radius:1px}
/* ☰ sidebar: a modal <dialog> sliding in from the right. */
.sidebar{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(380px,88vw);height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--cream);color:var(--ink);box-shadow:-24px 0 48px #29202433}
.sidebar::backdrop{background:#29202459}
.sidebar-panel{display:flex;flex-direction:column;min-height:100%;padding:18px 28px 28px}
.sidebar-close{align-self:flex-end;min-height:44px;padding:0 16px;border:1.5px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);font-weight:600}
.sidebar nav{display:flex;flex-direction:column;margin-top:14px}
.sidebar nav a{position:relative;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:25px;line-height:1.2;text-decoration:none}
.sidebar nav a:hover{color:var(--pink-deep)}
.sidebar nav a[href="partnership.html"]{color:var(--pink-deep)}
@media(prefers-reduced-motion:no-preference){
.sidebar[open]{animation:sidebar-in .35s var(--ease-out)}
.sidebar[open]::backdrop{animation:backdrop-in .35s ease-out}
@keyframes sidebar-in{from{transform:translateX(100%)}}
@keyframes backdrop-in{from{opacity:0}}
}
/* Current section: a strip of sprinkles under its sidebar link, dropped in when it changes. */
.sidebar nav a[aria-current]::after{content:"";position:absolute;left:0;width:96px;bottom:4px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='10'%3E%3Crect x='2' y='4' width='8' height='3' rx='1.5' fill='%23ed4b80' transform='rotate(-25 6 5.5)'/%3E%3Crect x='14' y='3' width='8' height='3' rx='1.5' fill='%2370b364' transform='rotate(20 18 4.5)'/%3E%3Crect x='26' y='5' width='8' height='3' rx='1.5' fill='%23f2b84b' transform='rotate(-10 30 6.5)'/%3E%3Crect x='37' y='3' width='8' height='3' rx='1.5' fill='%236fb7e0' transform='rotate(35 41 4.5)'/%3E%3C/svg%3E") left center/48px 10px repeat-x;animation:sprinkle-drop .45s var(--ease-out) backwards}
@keyframes sprinkle-drop{from{opacity:0;transform:translateY(-8px) scaleY(.3)}}
.confetti-piece{position:fixed;z-index:41;width:8px;height:3px;border-radius:2px;pointer-events:none}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:15px;transition:background-color .15s}
.dark{background:var(--ink);color:#fff}
.dark:hover{background:#4a3c42}
/* Baby-pink buttons with ink text (7.1:1). */
.pink{background:var(--baby-pink);color:var(--ink)}
.pink:hover{background:#f7a9c5}
.outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.outline:hover{background:var(--ink);color:var(--cream)}
.text-link{font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px}
.text-link:hover{text-decoration-thickness:2px}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}

/* The hero uses an edited owner reel; its portrait framing keeps the whole waffle in view. */
.hero{max-width:1600px;margin:auto}
.waffle-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;min-height:700px;background:var(--peach);color:var(--ink);padding:42px max(5vw,24px) 38px;overflow:hidden}
.waffle-hero .hero-copy{align-self:center;padding:24px 0;max-width:560px}
.waffle-hero h1{font-size:clamp(60px,6.7vw,98px);line-height:.98;letter-spacing:-1.5px;margin-bottom:24px}
/* "squeeze" is squashed on load and a Nutella drip runs from the full stop to the bottom of the hero (app.js). */
.waffle-hero{position:relative}
.waffle-hero .hero-copy,.waffle-stage{position:relative;z-index:1}
.squeeze,.drip-dot{display:inline-block}
/* "squeeze" in a deeper pink that holds up on peach (3.9:1, fine at this size). A glossy chocolate band sits off to
   the left of a 300%-wide gradient; app.js slides it through the letters. Extra bottom padding keeps the q's descender
   inside the painted area. Squeezed toward its right end, like a piping bag toward the nozzle, so it stays joined to the full stop. */
.waffle-hero h1{--squeeze:#d6336c}
.squeeze{transform-origin:100% 90%;color:var(--squeeze)}
@supports (background-clip:text) or (-webkit-background-clip:text){
.squeeze{color:transparent;padding-bottom:.14em;margin-bottom:-.14em;background:linear-gradient(90deg,var(--squeeze) 0 33.4%,#6e3a1c 37%,#a8653a 45%,#e8ab7c 50%,#a8653a 55%,#6e3a1c 63%,var(--squeeze) 66.6% 100%) 100% 0/300% 100% no-repeat;-webkit-background-clip:text;background-clip:text}
}
/* A round full stop (Lilita's own is square-ish); the "." stays in the text for copying and screen readers. */
.drip-dot{width:.2em;height:.2em;margin-left:.05em;border-radius:50%;background:var(--squeeze);color:transparent;overflow:hidden}
.drip-layer{position:absolute;z-index:0;pointer-events:none;filter:url(#goo)}
.drip-layer>span{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c47a47,#7a3d1c 55%,#4f2410)}
.drip-layer .drip-stream{border-radius:999px;transform-origin:50% 0;background:linear-gradient(90deg,#5a2a12,#9a5329 45%,#5a2a12)}
.waffle-hero .intro{font-size:18px;line-height:1.65;color:var(--muted);max-width:420px;margin-bottom:24px}
.hero-product{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:15px;margin:0 0 24px}
.hero-product>span{color:var(--muted);border-left:1px solid #d9b8a4;padding-left:18px}
.hero-product strong{color:var(--ink);font-size:22px;font-weight:600}
.waffle-hero .actions{gap:14px}
.waffle-hero .button{min-height:54px;padding:14px 26px;font-size:16px}
.hero-location{font-size:14px;color:var(--muted);margin:22px 0 0}
.waffle-stage{align-self:center;min-width:0;width:100%;max-width:416px;justify-self:center}
/* Stacked warm shadows, tight to wide, so the frame reads as floating above the peach. */
.waffle-film{position:relative;aspect-ratio:9/14;overflow:hidden;border-radius:180px 180px 12px 12px;background:#d9b8a4;box-shadow:0 3px 7px #29202426,0 24px 38px -16px #29202466,0 58px 78px -30px #29202459,0 0 0 1px #ffffff66;isolation:isolate}
.waffle-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}
@supports not (aspect-ratio:1/1){.waffle-film::before{content:"";display:block;padding-top:155.56%}.waffle-video{position:absolute;top:0;left:0}}
.waffle-film::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#170b084d,transparent 32%,transparent 60%,#170b08c7);pointer-events:none}
.film-topline{position:absolute;top:68px;left:0;right:0;display:flex;justify-content:center;gap:12px;z-index:2;color:#fff;font-size:13px;font-weight:600;pointer-events:none;text-shadow:0 1px 8px #000}
.film-sound{border-left:1px solid #ffffff70;padding-left:12px;font-weight:400}
.film-caption{position:absolute;bottom:42px;left:24px;right:24px;margin:0;z-index:2;color:#fff;text-shadow:0 2px 12px #000;font-family:var(--serif);font-size:32px;line-height:1.05;max-width:240px;pointer-events:none}
.film-play{position:absolute;bottom:16px;right:16px;z-index:3;display:flex;gap:7px;align-items:center;min-height:44px;border:1px solid #ffffff80;border-radius:30px;background:#241713e6;color:#fff;padding:8px 13px;font-size:11px}
.film-play[hidden],.film-chapters[hidden],.film-error[hidden]{display:none}
.waffle-film:not(.is-ready) .film-caption{bottom:72px}
.film-error{position:absolute;bottom:70px;left:20px;right:20px;z-index:3;padding:12px;background:#30201d;color:#fff;font-size:12px}
.film-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.film-chapters button{position:relative;text-align:left;border:0;border-top:2px solid #e2c3b1;background:transparent;color:var(--muted);padding:10px 0 2px;min-height:44px;font-size:13px;white-space:nowrap}
.film-chapters button span{font-size:12px;margin-right:5px;color:var(--muted)}
.film-chapters button[aria-pressed="true"]{border-color:var(--pink-deep);color:var(--ink)}
.film-chapters button:hover{color:var(--ink)}
/* Instagram link to the full reel: glyph, what happens, then whose account. */
.film-credit{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:12px;margin-top:22px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:600;line-height:1.35}
.ig-glyph{grid-row:span 2;width:28px;height:28px}
.film-handle{grid-column:2;font-size:13px;font-weight:400;color:var(--muted)}
.film-credit:hover>span:first-of-type{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){
.waffle-hero{gap:28px;padding:36px 32px;min-height:650px}
.waffle-hero h1{font-size:72px}
.film-caption{font-size:28px;bottom:68px}
}
@media(max-width:760px){
.waffle-hero{grid-template-columns:1fr;gap:24px;padding:34px 22px 28px;min-height:auto}
/* Phones see the reel first, then the headline under it. */
.waffle-stage{order:-1}
.waffle-hero .hero-copy{padding:0;max-width:560px;width:100%;justify-self:center}
.waffle-hero h1{font-size:clamp(54px,10vw,76px);margin-bottom:18px}
.waffle-hero .intro{font-size:16px;max-width:420px;margin-bottom:18px}
.hero-product{margin-bottom:18px}
.waffle-stage{max-width:440px}
.waffle-film{aspect-ratio:4/4.5;border-radius:100px 100px 10px 10px}
@supports not (aspect-ratio:1/1){.waffle-film::before{padding-top:112.5%}}
.waffle-video{object-position:center 42%}
.film-topline{top:34px;font-size:12px}
.film-caption{bottom:68px;font-size:30px;max-width:240px}
.film-play{bottom:14px;right:14px}
.film-chapters{gap:10px;margin-top:14px}
.film-chapters button{font-size:12px}
.hero-location{margin-top:16px}
}
@media(prefers-reduced-motion:no-preference){
.waffle-hero .hero-copy{animation:hero-arrival .7s ease-out both}
.waffle-stage{animation:hero-arrival .8s ease-out .12s both}
@keyframes hero-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

.section{max-width:1440px;margin:auto;padding:88px 6vw}
.section-heading{border-top:3px solid var(--ink);padding-top:20px;margin-bottom:40px}
.section-heading h2{margin-bottom:10px}
.section-heading>p{color:var(--muted);max-width:520px;margin:0}
/* Page titles on the Menu and Partnership pages sit in the same heading pattern as section h2s. */
.section-heading h1{font-size:clamp(44px,5vw,68px);line-height:1.02;margin-bottom:12px}

.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.category-card{text-decoration:none;display:block;min-width:0}
.category-image{background:#f0eadf;overflow:hidden;border-radius:var(--radius);aspect-ratio:4/4.4;margin-bottom:16px}
.category-image img{width:100%;height:100%;object-fit:cover}
.category-card h3{margin-bottom:4px}
.category-card p{font-size:15px;color:var(--muted);margin:0}
.category-card:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

/* Lift (owner request, after bhavikp.in): the frame rises 4px with a shadow and the photo inside rises another
   10px within it. .is-lit is set by app.js on mouse hover or keyboard focus, and on touch screens for whatever
   crosses the middle of the screen, so phones get it while scrolling and taps never leave it stuck on. */
.lift-frame{position:relative;overflow:hidden;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.lift-frame>img{display:block;height:calc(100% + 12px);transition:transform .45s var(--ease-out)}
.is-lit .lift-frame{transform:translateY(-4px);box-shadow:0 18px 36px -14px #29202466,0 4px 10px -4px #29202433}
.is-lit .lift-frame>img{transform:translateY(-10px)}
.seasonal .is-lit .lift-frame{box-shadow:0 22px 40px -14px #1f3d1c80,0 4px 10px -4px #1f3d1c40}
.location{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .2s}
.location.is-lit{transform:translateY(-4px);border-color:var(--logo-green);box-shadow:0 20px 38px -14px #70b36470,0 5px 14px -5px #70b36440}

/* Photo chips in the Menu intro line: lift and tilt slightly on hover, like a sticker being picked up. */
.chip-line{max-width:none!important;line-height:2.3}
.chip{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;padding:3px 10px 3px 3px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;transition:transform .25s var(--ease-out),border-color .2s,box-shadow .25s}
.chip img{width:28px;height:28px;object-fit:cover;border-radius:4px}
.chip:hover,.chip:active{transform:translateY(-3px) rotate(-1deg);border-color:var(--pink);box-shadow:0 10px 20px -10px #29202466}
.chip:focus-visible{transform:translateY(-3px) rotate(-1deg);border-color:var(--pink);box-shadow:0 10px 20px -10px #29202466}
.more-menu{margin:40px 0 0;font-size:15px}

/* Homepage "Most liked": six photo cards from DoorDash's most-ordered lists, lifting like the category cards. */
.liked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.liked-card{display:flex;flex-direction:column;min-width:0;text-decoration:none}
.liked-card .lift-frame{aspect-ratio:4/4.6;flex-shrink:0;margin-bottom:18px;border-radius:50% 50% var(--radius) var(--radius);background:var(--cream)}
.liked-card img{width:100%;object-fit:cover}
.liked-card h3{margin:0 0 4px}
.liked-card p{margin:0;font-size:15px;color:var(--muted)}
.liked-card:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.liked-price{position:absolute;right:14px;bottom:14px;background:var(--cream);color:var(--ink);border:1px solid var(--logo-green);border-radius:999px;padding:9px 15px;font-size:14px;font-weight:500}
.liked-explore{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:18px 0 12px;border-bottom:1px solid var(--line);font-size:14px;font-weight:500}
.liked-explore>span{color:var(--green);font-size:20px;line-height:1}
.liked-card:hover .liked-explore{border-bottom-color:var(--logo-green)}
.liked-card:focus-visible .liked-explore{border-bottom-color:var(--logo-green)}
.most-liked{padding-top:44px}
.most-liked .section-heading{border-top-color:var(--logo-green)}
/* A cream scalloped edge joins the peach hero to six small, useful dessert-counter stamps. */
.flavour-trail{position:relative;background:var(--cream);padding:24px 6vw 28px}
.flavour-trail::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:radial-gradient(circle at 14px 0,transparent 13px,var(--cream) 14px) 0 0/28px 14px repeat-x;pointer-events:none}
.flavour-trail-inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.flavour-trail a{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:8px 4px;text-align:center;text-decoration:none;color:var(--green);font-size:13px;font-weight:500;border-radius:var(--radius);transition:background-color .2s}
.flavour-stamp{display:grid;place-items:center;width:46px;height:50px;border:1.5px solid var(--logo-green);border-radius:24px 24px 6px 6px;background:var(--mint);font-size:23px}
.flavour-trail a:hover{background:var(--mint)}
.flavour-trail a:focus-visible{background:var(--mint)}
.flavour-trail a:hover>span:last-child{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.flavour-trail{padding:20px 22px 12px}.flavour-trail-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.flavour-trail a{font-size:12px;gap:8px}.flavour-stamp{width:40px;height:44px;font-size:21px}}

/* Summer Menu on the menu page: light green, which also suits the owner's leaf-wall photo. */
.seasonal{background:var(--mint);color:var(--ink)}
.season-inner{max-width:1440px;margin:auto;padding:80px 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}
.season-intro{display:flex;flex-direction:column}
.season-intro h2{margin-bottom:16px}
.season-intro p{color:var(--muted);max-width:340px}
/* Owner photo shot against a green leaf wall, sitting at the foot of the intro column. */
.season-photo{margin:auto 0 0;padding-top:32px;max-width:340px}
.season-photo .lift-frame{aspect-ratio:4/5;border-radius:var(--radius)}
.season-photo img{width:100%;object-fit:cover;object-position:50% 82%}
.season-list{border-top:1px solid #2d5a2a40}
.season-item{display:grid;grid-template-columns:1fr auto;gap:24px;padding:20px 0;border-bottom:1px solid #2d5a2a2e}
.season-item h3{margin:0 0 6px}
.season-item p{font-size:14px;color:var(--muted);margin:0;max-width:440px}
.season-item strong{font-size:17px;white-space:nowrap}

.menu-controls{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.search{display:block;max-width:480px;width:100%}
.search>span{font-size:14px;font-weight:600;display:block;margin-bottom:8px}
.search input{width:100%;background:#fff;border:1px solid #bfb2a8;border-radius:var(--radius);padding:13px 16px;color:var(--ink);font-size:16px;min-height:50px}
.category-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.category-filters[hidden]{display:none}
.filter-family{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.filter-family>span{font-size:13px;color:var(--muted);margin-right:2px}
.filter{background:transparent;border:1px solid #cdbfb5;padding:9px 14px;border-radius:var(--radius);min-height:42px;font-size:14px;color:var(--ink)}
.filter:hover:not(.active){border-color:var(--ink)}
.filter.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.result-count{font-size:13px;color:var(--muted);margin:20px 0 28px}
.menu-group{margin-bottom:44px}
.menu-group[hidden],.menu-item[hidden]{display:none}
.menu-group-heading{padding-bottom:12px;border-bottom:2px solid var(--ink)}
.group-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 22px}
.menu-group-heading h3{margin:0;font-size:30px}
.group-price{font-family:var(--serif);font-size:30px;line-height:1.15;margin:0;white-space:nowrap}
.group-price span{font-family:var(--sans);font-size:15px;color:var(--muted)}
.group-note{font-size:14px;color:var(--muted);margin:6px 0 0;max-width:620px}
.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
/* Menu-board rows: name, dotted leader, price on one baseline; description underneath. */
.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.menu-group.with-photos .menu-item{grid-template-columns:76px minmax(0,1fr) auto;column-gap:16px;align-items:start}
.menu-group.with-photos .item-copy{grid-column:2}
.menu-group.with-photos .item-price{padding-top:1px}
.item-photo{width:76px;height:76px;object-fit:cover;border-radius:var(--radius);background:#f0eadf}
.item-copy h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;font-size:17px;font-weight:600;margin:0 0 4px}
.has-price .item-copy h4::after{content:"";order:2;flex:1 0 24px;border-bottom:2px dotted #b9aca2;margin-right:10px}
.item-copy p{color:var(--muted);font-size:14px;margin:0;line-height:1.5;max-width:46ch}
.item-price{font-size:17px;font-weight:600;white-space:nowrap}
.item-price small{display:block;font-size:12px;font-weight:400;color:var(--muted);text-align:right}
.season-tag{order:1;font-size:12px;font-weight:600;color:var(--green)}
.season-tag::before{content:"· "}
.allergy-note{margin:8px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);max-width:780px}
.empty-menu{padding:36px 0}
.empty-menu[hidden]{display:none}
.empty-menu p{color:var(--muted)}

.crave{display:grid;grid-template-columns:1.1fr .9fr;background:var(--pink-light)}
.crave-photo{min-height:560px;position:relative;overflow:hidden}
.crave-photo img{width:100%;height:100%;object-fit:cover;position:absolute}
.crave-copy{padding:64px 6vw;align-self:center}
.crave-copy h2{margin-bottom:16px}
.crave-copy>p{color:#5e4550;max-width:360px}
.crave-copy .crave-price{font-family:var(--serif);font-size:32px;color:var(--ink);margin:20px 0 24px}

/* Partnership page: the pitch on the left, the form on a white card on the right. */
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.partner-copy h2{font-size:32px;margin:0 0 12px}
.partner-copy p{max-width:56ch;margin-bottom:36px}
.partner-why{margin:0;padding-left:20px;max-width:56ch}
.partner-why li{margin-bottom:10px}
.partner-form{display:grid;gap:16px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.partner-form h2{font-size:30px;margin:0}
.partner-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.partner-form label small{font-size:inherit;font-weight:400;color:var(--muted)}
.partner-form input,.partner-form select,.partner-form textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid #bfb2a8;border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:400}
.partner-form textarea{resize:vertical}
.partner-form input:focus-visible,.partner-form select:focus-visible,.partner-form textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.partner-form .button{justify-self:start}
.form-note{margin:0;font-size:13px;color:var(--muted)}
.form-status{margin:0;padding:12px 14px;border-radius:var(--radius);background:var(--blush);color:var(--pink-deep);font-weight:600}
.form-status[hidden]{display:none}
/* Honeypot: off screen for people, still in the form for bots. */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.partner-sent .section-heading p{max-width:none}
/* Legal pages (privacy, terms, accessibility): one readable column of plain text. */
.legal-body{max-width:68ch}
.legal-body h2{font-size:28px;margin:44px 0 12px}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{font-family:var(--sans);font-size:17px;font-weight:600;margin:24px 0 6px}
.legal-body p,.legal-body ul{margin:0 0 14px}
.legal-body ul{padding-left:20px}
.legal-body li{margin-bottom:8px}
.legal-body a{text-underline-offset:4px}
.legal-contact{font-style:normal;margin:0 0 14px}
.legal-contact p{margin:0 0 4px}

@media(max-width:1000px){
.season-inner{gap:45px}
.category-grid{gap:32px 18px}
.crave-photo{min-height:480px}
.menu-items{column-gap:36px}
.partner-grid{grid-template-columns:1fr;gap:48px}
}
@media(max-width:900px){
.header{gap:18px}
.brand{width:140px}
.section{padding:68px 25px}
}
@media(max-width:760px){
.menu-items{grid-template-columns:1fr}
.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.liked-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
}
/* Phone header: logo, compact Menu and Order buttons, ☰. */
@media(max-width:720px){
.header{min-height:70px;gap:10px;padding:10px 18px}
.brand{width:124px}
.header .brand{min-width:90px;flex-shrink:1}
.header-actions{gap:8px}
.header-actions .button{min-height:44px;padding:9px 13px;font-size:14px;white-space:nowrap}
}
@media(max-width:480px){
.header-actions .long{display:none}
}
@media(max-width:640px){
html{scroll-padding-top:80px}
.section{padding:56px 22px}
.section-heading{margin-bottom:28px}
.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
.category-image{aspect-ratio:3/4;margin-bottom:12px}
.category-card h3{font-size:20px}
.category-card p{font-size:13px}
.season-inner{grid-template-columns:1fr;gap:24px;padding:56px 22px}
.season-photo{max-width:none;padding-top:22px}
.season-photo .lift-frame{aspect-ratio:4/3.4}
.season-item{gap:14px}
.season-item h3{font-size:21px}
.season-item p{font-size:13px}
.season-item strong{font-size:15px}
.menu-controls{display:block}
.category-filters{flex-wrap:nowrap;overflow-x:auto;margin:20px -22px 0;padding:0 22px 16px;gap:20px;scrollbar-width:thin}
.filter-family{flex-wrap:nowrap;flex-shrink:0}
.filter-family>span{white-space:nowrap}
.filter{white-space:nowrap;flex-shrink:0}
.menu-group-heading h3,.group-price{font-size:25px}
.group-price span{font-size:13px}
.group-note{font-size:13px}
.menu-item{padding:14px 0}
.item-copy h4,.item-price{font-size:16px}
.item-copy p{font-size:13px}
.menu-group.with-photos .menu-item{grid-template-columns:60px minmax(0,1fr) auto;column-gap:12px}
.item-photo{width:60px;height:60px}
.crave{grid-template-columns:1fr}
.crave-photo{min-height:320px}
.crave-copy{padding:44px 22px 52px}
.liked-card h3{font-size:20px}
.liked-card p{font-size:13px}
.partner-form{padding:24px 18px}
}
@media(max-width:370px){
.brand{width:104px}
.header{padding-left:12px;padding-right:12px;gap:6px}
.header-actions .button{padding-left:10px;padding-right:10px}
.category-card h3,.liked-card h3{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}
