:root {
  color-scheme: light;
  --cream: #fffaf2;
  --paper: #fffdf9;
  --ink: #292b23;
  --muted: #77786e;
  --green: #355d3b;
  --green-dark: #28472e;
  --orange: #e98d45;
  --line: #eee9df;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }

.site-header { position: sticky; z-index: 20; top: 0; background: rgba(255, 253, 249, .94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(238, 233, 223, .7); }
.nav { height: 78px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 700; letter-spacing: -.7px; }
.brand-mark { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 12px 12px 12px 4px; background: var(--green); color: white; font: italic 700 20px var(--serif); letter-spacing: -2px; padding-right: 2px; }
.brand-accent { color: var(--orange); }
.nav-links { display: flex; align-items: center; gap: 38px; color: #64665c; font-size: 13px; font-weight: 600; }
.nav-links a:not(.nav-order):hover, .footer-column a:hover { color: var(--green); }
.nav-order { padding: 12px 18px; border-radius: 7px; background: var(--green); color: white; transition: background .2s, transform .2s; }
.nav-order:hover, .button-primary:hover { background: var(--green-dark); transform: translateY(-2px); }
.nav-order span { margin-left: 8px; }
.cart-button { display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--green); cursor: pointer; font-size: 11px; font-weight: 700; }
.cart-button:hover { border-color: #cbd6c7; background: #f8faf6; }
.cart-count { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: white; font-size: 10px; }
.menu-toggle { display: none; }

.hero { min-height: 570px; display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: 44px; padding-top: 48px; padding-bottom: 57px; }
.hero-copy { padding: 14px 0 0 6px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: 1.25px; text-transform: uppercase; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px #f8eadc; }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { margin: 21px 0 17px; font: 800 clamp(48px, 5.2vw, 68px)/1.1 var(--serif); letter-spacing: -2.5px; }
.hero h1 span, .section-heading h2 span, .story-copy h2 span { color: var(--green); }
.hero-copy > p { max-width: 470px; margin-bottom: 27px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 47px; padding: 0 21px; border-radius: 7px; font-size: 12px; font-weight: 700; transition: .2s; }
.button-primary { background: var(--green); color: white; }
.button-primary:hover { color: white; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: #5e6057; font-size: 11px; font-weight: 600; }
.play-icon { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #ded8ce; border-radius: 50%; color: var(--green); font-size: 8px; padding-left: 2px; }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 43px; color: #64665c; font-size: 10px; }
.hero-proof strong { color: var(--ink); font-size: 12px; }
.avatar-stack { display: flex; padding-left: 3px; }
.avatar-stack span { width: 25px; height: 25px; display: grid; place-items: center; margin-left: -4px; border: 2px solid var(--paper); border-radius: 50%; background: #f1e4d3; font-size: 12px; }
.avatar-stack span:nth-child(2) { background: #e9d4c2; }
.avatar-stack span:nth-child(3) { background: #f2dfb6; }
.proof-divider { height: 20px; margin-inline: 5px; border-left: 1px solid #e6dfd4; }
.rating { display: flex; align-items: center; gap: 6px; }
.rating > span { color: #e5a545; font-size: 13px; letter-spacing: 1px; }
.rating small { color: #64665c; font-size: 10px; }
.hero-visual { position: relative; justify-self: end; width: min(100%, 500px); padding: 12px 14px 20px 0; }
.hero-image-wrap { height: 420px; overflow: hidden; border-radius: 47% 47% 7px 7px; background: #eee5d7; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fresh-note { position: absolute; bottom: 5px; left: -36px; display: flex; align-items: center; gap: 11px; padding: 13px 17px; border-radius: 8px; background: white; box-shadow: 0 10px 35px #493b251c; color: #707166; font-size: 10px; line-height: 1.6; }
.fresh-note strong { color: var(--ink); font-size: 11px; }
.fresh-icon { color: var(--orange); font-size: 27px; }
.hero-sticker { position: absolute; top: 42px; right: -9px; width: 86px; height: 86px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid white; border-radius: 50%; background: var(--orange); color: white; transform: rotate(9deg); box-shadow: 0 5px 16px #ac67272e; }
.hero-sticker span { font: 700 20px var(--serif); }
.hero-sticker small { margin-top: 1px; font-size: 8px; line-height: 1.15; text-align: center; text-transform: uppercase; letter-spacing: .6px; }
.hero-sparkle { position: absolute; color: var(--orange); }
.sparkle-one { top: 6px; left: 3px; font-size: 23px; }
.sparkle-two { right: 3px; bottom: 34px; font-size: 25px; color: var(--green); }

.trust-strip { background: #f8f6ef; }
.trust-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.trust-inner span { color: #67695f; font-size: 11px; font-weight: 600; }
.trust-inner b { margin-right: 8px; color: var(--orange); font-size: 17px; vertical-align: -1px; }
.trust-inner span:nth-child(even) b { color: var(--green); }

.section { padding-top: 92px; padding-bottom: 90px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-heading .eyebrow, .story-copy .eyebrow, .closing-cta .eyebrow { margin-bottom: 14px; }
.section-heading h2, .story-copy h2 { margin-bottom: 0; font: 700 clamp(31px, 3.2vw, 42px)/1.22 var(--serif); letter-spacing: -1.2px; }
.section-heading > p { max-width: 355px; margin-bottom: 4px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.menu-toolbar { display: flex; align-items: center; justify-content: space-between; margin: 35px 0 20px; }
.filter-list { display: flex; gap: 8px; }
.filter-button { padding: 9px 16px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #77786e; cursor: pointer; font-size: 11px; font-weight: 600; transition: .2s; }
.filter-button:hover { border-color: #e4e6dc; color: var(--green); }
.filter-button.is-active { background: var(--green); color: white; }
.menu-note { color: #89877c; font-size: 10px; }
.menu-note span { margin-right: 5px; color: var(--orange); }
.menu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px 22px; }
.menu-card { overflow: hidden; border: 1px solid #f0ede6; border-radius: 9px; background: white; transition: transform .25s, box-shadow .25s; }
.menu-card:hover { transform: translateY(-4px); box-shadow: 0 12px 35px #46351a12; }
.menu-card[hidden] { display: none; }
.menu-photo { position: relative; height: 195px; overflow: hidden; background: #f4ede2; }
.menu-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.menu-card:hover .menu-photo img { transform: scale(1.04); }
.menu-label { position: absolute; top: 13px; left: 13px; padding: 6px 10px; border-radius: 4px; background: #fffaf2; color: #ad6831; font-size: 9px; font-weight: 700; }
.menu-label-green { color: var(--green); }
.menu-emoji { position: absolute; right: 12px; bottom: 12px; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #fffdf9e8; font-size: 15px; }
.menu-info { padding: 16px 16px 15px; }
.menu-title-row { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.menu-title-row h3 { margin-bottom: 7px; font-size: 13px; font-weight: 700; letter-spacing: -.2px; }
.menu-price { flex: 0 0 auto; color: var(--green); font-size: 11px; font-weight: 700; }
.menu-info p { margin-bottom: 13px; color: #85857b; font-size: 10px; line-height: 1.6; }
.order-link { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 10px 0 0; border: 0; border-top: 1px solid #f1eee8; background: transparent; color: var(--green); cursor: pointer; font-size: 10px; font-weight: 700; text-align: left; }
.order-link span { font-size: 14px; }
.order-link:hover { color: var(--orange); }
.menu-footnote { margin: 19px 0 0; color: #99978c; font-size: 10px; }

.story-section { padding: 78px 0; background: #f8f6ef; }
.story-inner { display: grid; grid-template-columns: .96fr 1fr; align-items: center; gap: 90px; }
.story-photo { position: relative; height: 355px; }
.story-photo > img { width: 100%; height: 100%; border-radius: 8px; object-fit: cover; }
.story-stamp { position: absolute; right: -30px; bottom: 20px; width: 112px; height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 5px solid #f8f6ef; border-radius: 50%; background: var(--green); color: white; }
.story-stamp span { font-size: 9px; }
.story-stamp strong { font: 700 26px var(--serif); }
.story-stamp small { font-size: 7px; }
.story-copy { padding-left: 5px; }
.story-copy h2 { margin-bottom: 17px; }
.story-copy > p { margin-bottom: 12px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.button-outline { margin-top: 8px; border: 1px solid #d9ddd2; color: var(--green); }
.button-outline:hover { background: var(--green); color: white; }

.closing-cta { position: relative; display: flex; align-items: center; justify-content: space-between; overflow: hidden; margin-top: 78px; margin-bottom: 78px; padding: 38px 55px; border-radius: 11px; background: var(--green); color: white; }
.closing-cta .eyebrow { color: #d3ddc8; font-size: 9px; }
.closing-cta h2 { position: relative; z-index: 1; margin-bottom: 7px; font: 700 30px var(--serif); }
.closing-cta p { position: relative; z-index: 1; margin-bottom: 0; color: #d2ddce; font-size: 11px; }
.button-light { position: relative; z-index: 1; background: var(--cream); color: var(--green); }
.button-light:hover { background: white; transform: translateY(-2px); }
.cta-decoration { position: absolute; top: -53px; left: 54%; color: #ffffff0e; font-size: 240px; line-height: 1; }

.site-footer { border-top: 1px solid var(--line); background: #fffdf9; }
.footer-main { display: grid; grid-template-columns: 1.3fr .7fr 1fr 1.2fr; gap: 38px; padding-top: 47px; padding-bottom: 39px; }
.brand-footer { margin-bottom: 14px; }
.footer-about p, .footer-column p, .footer-column a { color: #77786e; font-size: 10px; line-height: 1.8; }
.footer-about p { max-width: 200px; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.footer-column h3 { margin: 4px 0 9px; color: var(--ink); font-size: 11px; }
.footer-column p { margin: 0; }
.footer-column .closed-note { margin-top: 4px; color: #a09d91; font-size: 9px; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 17px; padding-bottom: 17px; border-top: 1px solid var(--line); color: #99978c; font-size: 9px; }
.footer-bottom a:hover { color: var(--green); }

.cart-overlay { position: fixed; z-index: 50; inset: 0; }
.cart-overlay[hidden] { display: none; }
.cart-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #20231dcc; cursor: pointer; }
.cart-panel { position: absolute; top: 0; right: 0; display: flex; width: min(440px, 100%); height: 100%; flex-direction: column; padding: 27px; background: var(--paper); box-shadow: -12px 0 40px #0002; }
.cart-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.cart-header .eyebrow { font-size: 9px; }
.cart-header h2 { margin: 6px 0 0; font: 700 28px var(--serif); }
.cart-close { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: white; color: var(--ink); cursor: pointer; font-size: 23px; line-height: 1; }
.cart-items { flex: 1; overflow-y: auto; padding: 15px 0; }
.cart-empty { padding: 42px 10px; color: var(--muted); font-size: 13px; text-align: center; }
.cart-item { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.cart-item-name { font-size: 12px; font-weight: 700; }
.cart-item-price { color: var(--green); font-size: 11px; font-weight: 700; }
.cart-item-controls { display: flex; align-items: center; gap: 10px; }
.cart-quantity-button { width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 5px; background: white; color: var(--green); cursor: pointer; font-weight: 700; }
.cart-quantity { min-width: 12px; color: var(--ink); font-size: 11px; text-align: center; }
.cart-remove { margin-left: 5px; border: 0; background: transparent; color: #a5654f; cursor: pointer; font-size: 10px; }
.cart-footer { padding-top: 16px; border-top: 1px solid var(--line); }
.cart-total { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; font-size: 13px; }
.cart-total strong { color: var(--green); font-size: 18px; }
.cart-checkout { width: 100%; border: 0; cursor: pointer; }
.cart-checkout:disabled { background: #aeb8aa; cursor: not-allowed; }
.cart-footer > p { margin: 10px 0 0; color: #929087; font-size: 10px; text-align: center; }

@media (max-width: 850px) {
  .container { width: min(100% - 44px, 680px); }
  .nav { height: 70px; }
  .cart-button { margin-left: auto; margin-right: 10px; }
  .menu-toggle { width: 38px; height: 38px; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 100%; border-top: 2px solid var(--green); }
  .nav-links { position: absolute; top: 69px; right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 8px 22px 18px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .nav-links.is-open { display: flex; flex-direction: column; }
  .nav-links a { padding: 12px 0; }
  .nav-links .nav-order { margin-top: 6px; padding: 12px 15px; text-align: center; }
  .hero { min-height: initial; grid-template-columns: 1fr .9fr; gap: 20px; padding-top: 55px; padding-bottom: 50px; }
  .hero h1 { font-size: clamp(42px, 7vw, 57px); }
  .hero-image-wrap { height: 350px; }
  .hero-proof { flex-wrap: wrap; margin-top: 30px; }
  .fresh-note { left: -17px; }
  .trust-inner { flex-wrap: wrap; justify-content: center; gap: 17px 30px; padding: 18px 0; }
  .menu-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .menu-photo { height: 180px; }
  .story-inner { gap: 45px; }
  .story-photo { height: 310px; }
  .footer-main { grid-template-columns: repeat(2, 1fr); gap: 30px; }
}

@media (max-width: 560px) {
  .container { width: calc(100% - 36px); }
  .hero { display: flex; flex-direction: column; align-items: stretch; gap: 38px; padding-top: 42px; }
  .cart-button-label { display: none; }
  .hero-copy { padding-left: 0; }
  .hero h1 { margin-top: 17px; font-size: 48px; }
  .hero-copy > p { font-size: 13px; }
  .hero-actions { gap: 16px; }
  .button { min-height: 44px; padding-inline: 16px; }
  .text-link { font-size: 10px; }
  .hero-proof { margin-top: 27px; }
  .hero-visual { align-self: center; width: calc(100% - 18px); padding-right: 0; }
  .hero-image-wrap { height: 330px; }
  .hero-sticker { right: -13px; width: 75px; height: 75px; }
  .fresh-note { left: -13px; bottom: 8px; }
  .sparkle-two { right: -13px; }
  .trust-inner { justify-content: flex-start; gap: 13px 20px; min-height: 90px; }
  .trust-inner span { width: calc(50% - 10px); font-size: 10px; }
  .section { padding-top: 66px; padding-bottom: 65px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .section-heading h2, .story-copy h2 { font-size: 34px; }
  .section-heading > p { font-size: 11px; }
  .menu-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; margin-top: 23px; }
  .filter-list { width: 100%; gap: 3px; overflow-x: auto; padding-bottom: 3px; }
  .filter-button { flex: 0 0 auto; padding: 9px 12px; font-size: 10px; }
  .menu-note { display: none; }
  .menu-grid { grid-template-columns: 1fr; gap: 14px; }
  .menu-photo { height: 205px; }
  .menu-title-row h3 { font-size: 13px; }
  .story-section { padding: 56px 0; }
  .story-inner { grid-template-columns: 1fr; gap: 36px; }
  .story-photo { height: 270px; margin-right: 13px; }
  .story-stamp { right: -16px; width: 95px; height: 95px; }
  .story-copy { padding-left: 0; }
  .story-copy > p { font-size: 11px; }
  .closing-cta { align-items: flex-start; flex-direction: column; gap: 22px; margin-top: 52px; margin-bottom: 55px; padding: 29px 24px; }
  .closing-cta h2 { font-size: 26px; }
  .cta-decoration { top: -20px; left: auto; right: -5px; font-size: 170px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 27px 18px; padding-top: 37px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 9px; line-height: 1.5; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Y2K makeover */
:root {
  --cream: #fff3fc;
  --paper: #f7f4ff;
  --ink: #211744;
  --muted: #716989;
  --green: #5536cf;
  --green-dark: #3821a4;
  --orange: #ff4fc8;
  --line: #ded7f4;
  --serif: "Orbitron", "Arial Black", sans-serif;
  --sans: "Space Grotesk", "DM Sans", sans-serif;
}

body {
  background:
    radial-gradient(ellipse at 9% 12%, #d7fbff 0, transparent 26rem),
    radial-gradient(ellipse at 94% 30%, #ffe0f5 0, transparent 30rem),
    var(--paper);
}

.site-header { background: #f7f4ffe8; border-bottom: 1px solid #dcd4f0; }
.brand { font-family: var(--serif); font-size: 15px; letter-spacing: -1px; }
.brand-mark {
  border: 2px solid white;
  border-radius: 12px;
  background: linear-gradient(145deg, #ff69d3, #7657ee 56%, #37d9e3);
  box-shadow: 0 4px 12px #8560e655, inset 0 1px 3px #ffffffbb;
  font: italic 800 20px var(--serif);
}
.brand-accent { color: #ed3bb5; }
.nav-links { color: #554b76; }
.nav-order, .button-primary {
  border: 1px solid #ffffffbd;
  border-radius: 999px;
  background: linear-gradient(115deg, #6546df, #a343dc 52%, #ef49bd);
  box-shadow: 0 6px 16px #7944c844, inset 0 1px 2px #ffffffa6;
}
.nav-order:hover, .button-primary:hover {
  background: linear-gradient(115deg, #4e33c2, #9232ce 52%, #de38aa);
  box-shadow: 0 9px 22px #7944c855, inset 0 1px 2px #ffffffa6;
}
.cart-button { border-color: #d7ccef; border-radius: 999px; background: #ffffffc9; color: #5536cf; }
.cart-button:hover { border-color: #a998e1; background: white; }
.cart-count { background: linear-gradient(145deg, #ff59ca, #8950e6); }
.menu-toggle { border-color: #d7ccef; border-radius: 12px; background: #ffffffc9; }
.menu-toggle span { border-color: #6648cf; }

.hero { position: relative; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { color: #6444cb; letter-spacing: 1.6px; }
.eyebrow-dot { background: #ff4fc8; box-shadow: 0 0 0 4px #ff4fc82e, 0 0 14px #ff4fc8aa; }
.hero h1 {
  font-family: var(--serif);
  font-size: clamp(42px, 5vw, 63px);
  line-height: 1.2;
  letter-spacing: -3.2px;
  text-shadow: 2px 3px 0 #c6b7ff;
}
.hero h1 span, .section-heading h2 span, .story-copy h2 span {
  color: #ed3bb5;
  text-shadow: 2px 2px 0 #8e6de6;
}
.hero-copy > p, .section-heading > p, .story-copy > p { color: #716989; }
.button { border-radius: 999px; }
.text-link { color: #554b76; }
.play-icon { border-color: #cfbde9; color: #d938ad; }
.hero-proof { color: #716989; }
.avatar-stack span { border-color: var(--paper); background: linear-gradient(135deg, #ffbce9, #b6f7fa); }
.avatar-stack span:nth-child(2) { background: linear-gradient(135deg, #c9bdff, #b5f7f1); }
.avatar-stack span:nth-child(3) { background: linear-gradient(135deg, #ffd8ac, #ffb8e4); }
.proof-divider { border-color: #dcd4f0; }
.rating > span { color: #f09a26; }
.hero-visual::before {
  position: absolute;
  z-index: -1;
  top: 4%;
  right: -3%;
  width: 82%;
  height: 83%;
  border: 1px solid #ffffffd9;
  border-radius: 48% 52% 44% 56%;
  background: linear-gradient(135deg, #ffc8ed99, #b4f8fa99);
  content: "";
  transform: rotate(9deg);
}
.hero-image-wrap {
  border: 8px solid #ffffffd9;
  border-radius: 34px 34px 100px 34px;
  box-shadow: 0 22px 50px #6043ae30, 0 0 0 1px #cab9ef;
}
.hero-image { filter: saturate(1.12); }
.fresh-note {
  border: 1px solid #fff;
  border-radius: 15px;
  background: linear-gradient(130deg, #fff, #f8e9ff);
  box-shadow: 0 12px 30px #4f38a32b, inset 0 1px 4px white;
}
.fresh-note strong { color: #5536cf; }
.fresh-icon { color: #ef49bd; }
.hero-sticker {
  border: 4px solid white;
  background: linear-gradient(145deg, #ff67ca, #ef44aa 55%, #c338d0);
  box-shadow: 0 7px 22px #d842aa5c, inset 0 2px 4px #ffffffa8;
  font-family: var(--serif);
}
.sparkle-one { color: #28c7d4; }
.sparkle-two { color: #ec42bb; }

.trust-strip { border-block: 1px solid #dfd6f3; background: #eee8ffb8; }
.trust-inner span { color: #554b76; }
.trust-inner b, .trust-inner span:nth-child(even) b { color: #e83fb8; }
.section-heading h2, .story-copy h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3vw, 39px);
  letter-spacing: -1.8px;
}
.menu-toolbar { margin-top: 30px; }
.filter-list { padding: 5px; border: 1px solid #e1d8f6; border-radius: 999px; background: #eee9fa; }
.filter-button { border-radius: 999px; color: #6d6387; }
.filter-button:hover { border-color: transparent; background: #ffffff9e; color: #5536cf; }
.filter-button.is-active {
  background: linear-gradient(110deg, #6546df, #a343dc 58%, #ed49ba);
  box-shadow: 0 4px 12px #7143ce40, inset 0 1px 2px #ffffff8c;
}
.menu-note { color: #716989; }
.menu-note span { color: #e83fb8; }
.menu-card {
  border: 1px solid #e2d9f4;
  border-radius: 17px;
  background: linear-gradient(145deg, #fff, #fbf8ff);
  box-shadow: 0 7px 20px #493b8710;
}
.menu-card:hover { box-shadow: 0 16px 34px #5838a626; }
.menu-photo { background: linear-gradient(135deg, #f9dafa, #c9f8fa); }
.menu-photo img { filter: saturate(1.08); }
.menu-label, .menu-label-green {
  border: 1px solid #ffffff;
  border-radius: 999px;
  background: #fff8fdf2;
  color: #ce35a5;
  box-shadow: 0 3px 10px #48306b22;
}
.menu-emoji { box-shadow: 0 3px 10px #48306b22; }
.menu-title-row h3 { color: #30234f; }
.menu-price { color: #6847d5; }
.menu-info p { color: #7c7490; }
.order-link { border-color: #e9e2f5; color: #6644cf; }
.order-link:hover { color: #e43eaf; }
.menu-footnote { color: #817a94; }

.story-section { border-block: 1px solid #e5dcf4; background: linear-gradient(115deg, #eee9ff, #e6fbfc 55%, #fff0fb); }
.story-photo > img { border: 7px solid #fff; border-radius: 28px 28px 80px 28px; box-shadow: 0 16px 35px #493b8725; }
.story-stamp { border-color: #eee9ff; background: linear-gradient(145deg, #ff5ec7, #8652e5 70%, #3dcbd7); box-shadow: inset 0 2px 5px #ffffff8c, 0 7px 20px #5a37af40; }
.button-outline { border-color: #cbbce9; color: #6042c5; }
.button-outline:hover { border-color: transparent; background: linear-gradient(110deg, #6546df, #c13bd0); color: white; }
.closing-cta {
  border: 1px solid #ffffffd9;
  border-radius: 25px 25px 70px 25px;
  background: linear-gradient(115deg, #4530aa, #7142ce 48%, #d643b0);
  box-shadow: 0 18px 38px #6844bc38, inset 0 1px 4px #ffffff80;
}
.closing-cta .eyebrow, .closing-cta p { color: #f0e8ff; }
.closing-cta h2 { font-family: var(--serif); }
.button-light { border: 1px solid white; background: linear-gradient(135deg, white, #f4eaff); color: #5638b8; box-shadow: inset 0 1px 4px white, 0 5px 15px #27126c55; }
.button-light:hover { background: #fff; color: #3e2797; }
.cta-decoration { color: #ffffff18; }

.site-footer { border-color: #dfd6f3; background: #f8f5ff; }
.footer-column h3 { color: #30234f; }
.footer-about p, .footer-column p, .footer-column a { color: #716989; }
.footer-column .closed-note, .footer-bottom { color: #9189a3; }
.footer-bottom { border-color: #e5def2; }

.cart-backdrop { background: #24194ba8; backdrop-filter: blur(5px); }
.cart-panel {
  border-left: 1px solid #ffffff;
  background: linear-gradient(160deg, #faf8ff, #f0f9ff 60%, #fff3fc);
  box-shadow: -15px 0 45px #25164b3b;
}
.cart-header { border-color: #e1d8f3; }
.cart-header h2 { font-family: var(--serif); font-size: 22px; }
.cart-close, .cart-quantity-button { border-color: #ded5f1; background: #fff; color: #6644cf; }
.cart-close { border-radius: 12px; }
.cart-item { border-color: #e5def2; }
.cart-item-name { color: #30234f; }
.cart-item-price, .cart-total strong { color: #6644cf; }
.cart-quantity-button:hover { background: #f1eaff; }
.cart-remove { color: #dc369e; }
.cart-footer { border-color: #e1d8f3; }
.cart-customer-field { display: grid; gap: 8px; margin-bottom: 15px; color: #30234f; font-size: 11px; font-weight: 700; }
.cart-customer-field input {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #e9d7ed;
  border-radius: 10px;
  background: rgba(255, 255, 255, .7);
  color: #30234f;
  font: inherit;
}
.cart-customer-field input:focus {
  outline: 2px solid rgba(121, 86, 207, .2);
  border-color: #c8b9ec;
}
.cart-checkout:disabled { border-color: #eee; background: #b7aecb; }
.cart-footer > p { color: #817a94; }

@media (max-width: 850px) {
  .nav-links { border-color: #ded5f1; background: #f7f4ff; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-sticker { animation: sticker-float 4s ease-in-out infinite; }
  @keyframes sticker-float {
    0%, 100% { transform: rotate(9deg) translateY(0); }
    50% { transform: rotate(5deg) translateY(-7px); }
  }
}

.gallery-section { padding-top: 82px; padding-bottom: 86px; }
.gallery-heading { margin-bottom: 28px; }
.photo-gallery { display: grid; grid-template-columns: 1.15fr 1fr 1fr; grid-template-rows: 190px 190px; gap: 16px; }
.gallery-photo {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 5px solid white;
  border-radius: 22px 22px 42px 22px;
  background: linear-gradient(135deg, #f9dafa, #c9f8fa);
  box-shadow: 0 9px 23px #493b8719, 0 0 0 1px #e2d9f4;
}
.gallery-photo::after {
  position: absolute;
  inset: 30% 0 0;
  background: linear-gradient(transparent, #211744b8);
  content: "";
  pointer-events: none;
}
.gallery-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.gallery-photo:hover img { transform: scale(1.06); }
.gallery-photo figcaption {
  position: absolute;
  z-index: 1;
  right: 14px;
  bottom: 13px;
  left: 14px;
  color: white;
  font-size: 11px;
  font-weight: 700;
  text-shadow: 0 1px 5px #21174480;
}
.gallery-photo figcaption span { margin-right: 7px; color: #ff91dc; font-family: var(--serif); font-size: 10px; }
.gallery-photo-tall { grid-row: span 2; }
.gallery-photo-wide { grid-column: span 2; }

@media (max-width: 850px) {
  .photo-gallery { grid-template-rows: 165px 165px; gap: 12px; }
}

@media (max-width: 560px) {
  .gallery-section { padding-top: 58px; padding-bottom: 60px; }
  .gallery-heading { margin-bottom: 22px; }
  .photo-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 210px 145px 145px; gap: 10px; }
  .gallery-photo { border-width: 4px; border-radius: 16px 16px 30px 16px; }
  .gallery-photo-tall { grid-column: span 2; grid-row: auto; }
  .gallery-photo-wide { grid-column: span 2; }
}

body { height: 100dvh; overflow: hidden; }
.site-header { position: relative; }
.slide-deck {
  position: relative;
  height: calc(100dvh - 140px);
  overflow: hidden;
}
.slide-track { display: flex; width: 100%; height: 100%; transition: transform .65s cubic-bezier(.22,.75,.22,1); }
.deck-slide {
  display: flex;
  flex: 0 0 100%;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.deck-slide[aria-hidden="true"] { pointer-events: none; }
.deck-slide > .hero {
  min-height: 0;
  flex: 1;
  padding-top: 10px;
  padding-bottom: 10px;
}
.deck-slide > .hero .hero-image-wrap { height: min(390px, 48dvh); }
.deck-slide > .trust-strip .trust-inner { min-height: 52px; }
.deck-slide > .menu-section {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding-top: 6px;
  padding-bottom: 6px;
}
.deck-slide > .menu-section .section-heading { align-items: center; }
.deck-slide > .menu-section .section-heading h2 { font-size: clamp(24px, 2.8vw, 36px); }
.deck-slide > .menu-section .menu-toolbar { margin: 10px 0 8px; }
.deck-slide > .menu-section .menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.deck-slide > .menu-section .menu-photo { height: clamp(72px, 12vh, 108px); }
.deck-slide > .menu-section .menu-info { padding: 9px 11px; }
.deck-slide > .menu-section .menu-title-row h3 { font-size: 11px; }
.deck-slide > .menu-section .menu-info p { margin-bottom: 7px; font-size: 9px; }
.deck-slide > .menu-section .order-link { padding-top: 6px; font-size: 9px; }
.deck-slide > .menu-section .menu-footnote { margin-top: 8px; font-size: 9px; }
.deck-slide > .gallery-section { display: flex; height: 100%; align-items: center; padding-top: 14px; padding-bottom: 14px; }
.deck-slide > .gallery-section .container { width: min(100% - 64px, 1160px); }
.deck-slide > .gallery-section .gallery-heading { margin-bottom: 15px; }
.deck-slide > .gallery-section .section-heading h2 { font-size: clamp(25px, 2.8vw, 36px); }
.deck-slide > .gallery-section .photo-gallery { grid-template-rows: repeat(2, minmax(0, 1fr)); height: min(54dvh, 400px); gap: 12px; }
.deck-slide > .story-section { padding: 25px 0; }
.deck-slide > .story-section .story-photo { height: min(40dvh, 330px); }
.deck-slide > .story-section .story-inner { gap: 55px; }
.deck-slide > .closing-cta { margin-top: 14px; margin-bottom: 14px; padding-block: 24px; }
.deck-slide > .site-footer .footer-main { padding-top: 18px; padding-bottom: 14px; }
.deck-slide > .site-footer .footer-bottom { padding-top: 9px; padding-bottom: 9px; }
.slide-controls {
  position: fixed;
  z-index: 25;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  height: 62px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-top: 1px solid #ded5f1;
  background: #f7f4ffeF;
  backdrop-filter: blur(14px);
}
.slide-arrow {
  width: 34px;
  height: 34px;
  border: 1px solid #d6cbed;
  border-radius: 50%;
  background: white;
  color: #6042c5;
  cursor: pointer;
  font-size: 17px;
  transition: .2s;
}
.slide-arrow:hover { border-color: #9c83df; background: #eee8ff; transform: scale(1.06); }
.slide-dots { display: flex; align-items: center; gap: 9px; }
.slide-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #c9bfdf; cursor: pointer; transition: .25s; }
.slide-dot.is-active { width: 25px; background: linear-gradient(90deg, #6646df, #eb48bb); }
.slide-status { min-width: 42px; color: #716989; font-family: var(--serif); font-size: 9px; }

@media (max-width: 850px) {
  .slide-deck { height: calc(100dvh - 132px); }
  .deck-slide > .hero .hero-image-wrap { height: min(350px, 43dvh); }
  .deck-slide > .menu-section .menu-grid { gap: 10px; }
  .deck-slide > .menu-section .menu-photo { height: clamp(68px, 11vh, 92px); }
  .deck-slide > .story-section .story-inner { gap: 35px; }
}

@media (max-width: 560px) {
  .slide-deck { height: calc(100dvh - 124px); }
  .deck-slide { padding-inline: 0; }
  .deck-slide:first-child > .hero {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding-block: 8px;
  }
  .deck-slide:first-child > .hero .hero-copy { padding-top: 0; }
  .deck-slide:first-child > .hero .hero h1 { margin: 10px 0; font-size: clamp(32px, 9vw, 42px); }
  .deck-slide:first-child > .hero .hero-copy > p { margin-bottom: 12px; font-size: 11px; line-height: 1.5; }
  .deck-slide:first-child > .hero .hero-actions { gap: 12px; }
  .deck-slide:first-child > .hero .hero-proof { margin-top: 12px; }
  .deck-slide:first-child > .hero .hero-visual { width: 82%; }
  .deck-slide:first-child > .hero .hero-image-wrap { height: clamp(130px, 24dvh, 195px); }
  .deck-slide:first-child > .trust-strip { display: none; }
  .deck-slide > .menu-section { width: 100%; padding-top: 8px; padding-bottom: 8px; }
  .deck-slide > .menu-section .section-heading { gap: 5px; }
  .deck-slide > .menu-section .section-heading h2 { font-size: clamp(20px, 6vw, 28px); }
  .deck-slide > .menu-section .section-heading > p { display: none; }
  .deck-slide > .menu-section .section-heading .eyebrow { margin-bottom: 5px; }
  .deck-slide > .menu-section .menu-toolbar { margin: 8px 0; }
  .deck-slide > .menu-section .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .deck-slide > .menu-section .menu-photo { height: clamp(55px, 9vh, 76px); }
  .deck-slide > .menu-section .menu-info { padding: 6px 8px; }
  .deck-slide > .menu-section .menu-title-row { gap: 3px; }
  .deck-slide > .menu-section .menu-title-row h3 { margin-bottom: 3px; font-size: 9px; }
  .deck-slide > .menu-section .menu-price { font-size: 8px; }
  .deck-slide > .menu-section .menu-info p { display: none; }
  .deck-slide > .menu-section .order-link { padding-top: 4px; font-size: 8px; }
  .deck-slide > .menu-section .menu-footnote { font-size: 8px; }
  .deck-slide > .gallery-section { padding-top: 8px; padding-bottom: 8px; }
  .deck-slide > .gallery-section .container { width: calc(100% - 36px); }
  .deck-slide > .gallery-section .gallery-heading { margin-bottom: 9px; }
  .deck-slide > .gallery-section .section-heading { gap: 4px; }
  .deck-slide > .gallery-section .section-heading h2 { font-size: 24px; }
  .deck-slide > .gallery-section .section-heading > p { display: none; }
  .deck-slide > .gallery-section .photo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); height: min(60dvh, 420px); gap: 8px; }
  .deck-slide > .gallery-section .gallery-photo-tall,
  .deck-slide > .gallery-section .gallery-photo-wide { grid-column: auto; grid-row: auto; }
  .deck-slide > .story-section { padding: 12px 0; }
  .deck-slide > .story-section .story-inner { grid-template-columns: .8fr 1fr; gap: 16px; }
  .deck-slide > .story-section .story-photo { height: min(39dvh, 250px); margin-right: 5px; }
  .deck-slide > .story-section .story-copy { min-width: 0; }
  .deck-slide > .story-section .story-copy .eyebrow { margin-bottom: 7px; font-size: 8px; }
  .deck-slide > .story-section .story-copy h2 { margin-bottom: 8px; font-size: clamp(17px, 5vw, 23px); letter-spacing: -1px; }
  .deck-slide > .story-section .story-copy > p { margin-bottom: 6px; font-size: 9px; line-height: 1.5; }
  .deck-slide > .story-section .button { min-height: 34px; padding-inline: 10px; font-size: 8px; }
  .deck-slide > .story-section .story-stamp { right: -9px; width: 67px; height: 67px; border-width: 3px; }
  .deck-slide > .story-section .story-stamp strong { font-size: 18px; }
  .deck-slide > .story-section .story-stamp small { font-size: 6px; }
  .deck-slide > .closing-cta { gap: 12px; margin: 8px 18px; padding: 17px; }
  .deck-slide > .closing-cta .eyebrow { margin-bottom: 7px; font-size: 8px; }
  .deck-slide > .closing-cta h2 { font-size: 20px; }
  .deck-slide > .closing-cta p { font-size: 9px; }
  .deck-slide > .site-footer .footer-main { grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 8px; padding-bottom: 8px; }
  .deck-slide > .site-footer .footer-about p, .deck-slide > .site-footer .footer-column p, .deck-slide > .site-footer .footer-column a { font-size: 8px; line-height: 1.45; }
  .deck-slide > .site-footer .footer-column h3 { margin: 1px 0 4px; font-size: 9px; }
  .deck-slide > .site-footer .brand { font-size: 13px; }
  .deck-slide > .site-footer .brand-mark { width: 28px; height: 28px; font-size: 16px; }
  .deck-slide > .site-footer .footer-bottom { font-size: 7px; }
  .slide-controls { height: 54px; gap: 13px; }
}

@media (max-height: 700px) {
  .deck-slide > .hero .hero-image-wrap { height: min(310px, 39dvh); }
  .deck-slide > .menu-section .menu-photo { height: 58px; }
  .deck-slide > .menu-section .menu-toolbar { margin-block: 6px; }
  .deck-slide > .gallery-section .photo-gallery { height: 46dvh; }
  .deck-slide > .story-section .story-photo { height: 30dvh; }
  .deck-slide > .story-section .story-inner { gap: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .slide-track, .slide-dot, .slide-arrow { transition-duration: .01ms; }
}

/* Playful pastel refresh */
:root {
  --paper: #fffaf3;
  --cream: #fff4d8;
  --ink: #413154;
  --muted: #82768e;
  --green: #7956cf;
  --green-dark: #6040b0;
  --orange: #ff8296;
  --line: #eee1ed;
  --serif: "Fredoka", "Trebuchet MS", sans-serif;
  --sans: "Space Grotesk", "DM Sans", sans-serif;
}

body {
  background:
    radial-gradient(circle at 8% 18%, #dff8f5 0 2px, transparent 3px) 0 0 / 27px 27px,
    radial-gradient(ellipse at 92% 10%, #ffe1ec 0, transparent 26rem),
    #fffaf3;
}

.site-header { background: #fffaf3ed; border-bottom: 1px solid #f0dfeb; }
.brand { font-family: var(--serif); font-size: 19px; letter-spacing: -.6px; }
.brand-mark {
  border: 2px solid white;
  border-radius: 13px 13px 13px 5px;
  background: linear-gradient(145deg, #ff9aab, #926de0 66%, #66d8cd);
  box-shadow: 0 5px 0 #7550b421, 0 7px 14px #8062bf2b, inset 0 1px 3px #ffffffd9;
}
.brand-accent { color: #ed6c91; }
.nav-links { color: #675a78; font-weight: 700; }
.nav-links a:not(.nav-order):hover, .footer-column a:hover { color: #ed6c91; }
.nav-order, .button-primary {
  border: 2px solid white;
  border-radius: 15px 15px 15px 5px;
  background: linear-gradient(115deg, #8662d5, #b27bda 55%, #ef829e);
  box-shadow: 0 5px 0 #7855ba2b, 0 8px 18px #9d68bc2b, inset 0 1px 3px #ffffff94;
}
.nav-order:hover, .button-primary:hover {
  background: linear-gradient(115deg, #7550ca, #a967d2 55%, #e96d91);
  transform: translateY(-2px) rotate(-1deg);
}
.cart-button { border-color: #ecdced; border-radius: 14px 14px 14px 5px; background: #fff; color: #7553c7; box-shadow: 0 4px 0 #e8ddec; }
.cart-button:hover { border-color: #dcc8ee; background: #fff; transform: translateY(-1px); }
.cart-count { background: #ff8296; }
.menu-toggle { border-color: #ecdced; border-radius: 12px; background: #fff; box-shadow: 0 3px 0 #e8ddec; }
.menu-toggle span { border-color: #7956cf; }

.eyebrow { color: #7956cf; letter-spacing: 1px; }
.eyebrow-dot { background: #ff8296; box-shadow: 0 0 0 4px #ff82962e; }
.hero h1 {
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: -2px;
  text-shadow: 2px 3px 0 #d9c9f3;
}
.hero h1 span, .section-heading h2 span, .story-copy h2 span {
  color: #e86c91;
  text-shadow: 2px 2px 0 #f7c5d0;
}
.hero-copy > p, .section-heading > p, .story-copy > p { color: #776c84; }
.button { border-radius: 15px 15px 15px 5px; }
.text-link { color: #695b7b; }
.play-icon { border-color: #ead9e8; background: #fff; color: #e86c91; }
.hero-proof { color: #776c84; }
.hero-proof strong { color: #413154; }
.avatar-stack span { border-color: #fffaf3; background: linear-gradient(135deg, #ffd2e6, #c8f2ed); }
.avatar-stack span:nth-child(2) { background: linear-gradient(135deg, #d9ceff, #c8f2ed); }
.avatar-stack span:nth-child(3) { background: linear-gradient(135deg, #ffe5b5, #ffc8dc); }
.proof-divider { border-color: #eadfe9; }
.rating > span { color: #f0a83b; }
.hero-visual::before {
  border: 2px dashed #e2c6e8;
  border-radius: 43% 57% 51% 49%;
  background: linear-gradient(135deg, #d7f6f0a6, #ffe1eda6);
  transform: rotate(7deg);
}
.hero-image-wrap {
  border: 8px solid white;
  border-radius: 38px 38px 100px 38px;
  box-shadow: 0 8px 0 #e7d8ed, 0 18px 38px #8062bf26;
}
.fresh-note {
  border: 2px solid white;
  border-radius: 17px 17px 17px 5px;
  background: #fff8df;
  box-shadow: 0 5px 0 #eddfc7, 0 9px 20px #493b251c;
}
.fresh-note strong { color: #7956cf; }
.fresh-icon { color: #ed6c91; }
.hero-sticker {
  border: 4px solid white;
  background: linear-gradient(145deg, #ff9dad, #f079a8 56%, #aa71d2);
  box-shadow: 0 5px 0 #d66b9640, 0 9px 20px #d842aa3b;
  font-family: var(--serif);
}
.sparkle-one { color: #efb23f; }
.sparkle-two { color: #ed6c91; }

.trust-strip { border-block: 1px dashed #ead7e8; background: #fff3dacc; }
.trust-inner span { color: #675a78; }
.trust-inner b, .trust-inner span:nth-child(even) b { color: #ed6c91; }
.section-heading h2, .story-copy h2 { font-family: var(--serif); font-weight: 600; letter-spacing: -1.5px; }
.menu-toolbar { margin-top: 30px; }
.filter-list { padding: 5px; border: 1px solid #eadbed; border-radius: 16px; background: #fff; box-shadow: 0 3px 0 #eadbed; }
.filter-button { border-radius: 12px; color: #786c88; }
.filter-button:hover { border-color: transparent; background: #fff1d2; color: #7956cf; }
.filter-button.is-active {
  background: linear-gradient(110deg, #8662d5, #b27bda 58%, #ef829e);
  box-shadow: 0 3px 0 #7855ba37;
}
.menu-note { color: #776c84; }
.menu-note span { color: #e86c91; }
.menu-card {
  border: 2px solid white;
  border-radius: 19px 19px 19px 6px;
  background: #fff;
  box-shadow: 0 5px 0 #e9ddeb, 0 9px 20px #493b8710;
}
.menu-card:nth-child(3n + 1) { transform: rotate(-.6deg); }
.menu-card:nth-child(3n) { transform: rotate(.6deg); }
.menu-card:hover { transform: translateY(-4px) rotate(0); box-shadow: 0 7px 0 #e9ddeb, 0 15px 28px #5838a626; }
.menu-photo { background: linear-gradient(135deg, #ffe9bb, #d9f6f1); }
.menu-photo img { filter: saturate(1.06); }
.menu-label, .menu-label-green {
  border: 2px solid white;
  border-radius: 9px 9px 9px 3px;
  background: #fff0c9;
  color: #a56a27;
  box-shadow: 0 3px 0 #e7d4ae;
  transform: rotate(-3deg);
}
.menu-label-green { background: #d9f5e8; color: #478567; box-shadow: 0 3px 0 #b9ddca; }
.menu-emoji { border: 1px solid white; background: #fff9e8ed; box-shadow: 0 3px 8px #493b8720; }
.menu-title-row h3 { color: #413154; }
.menu-price { color: #7956cf; }
.menu-info p { color: #82768e; }
.order-link { border-color: #f0e5ef; color: #7956cf; }
.order-link:hover { color: #e86c91; }
.menu-footnote { color: #91859a; }

.story-section { border-block: 1px dashed #ead7e8; background: linear-gradient(115deg, #f4edff, #e6faf5 55%, #fff0e2); }
.story-photo > img { border: 7px solid white; border-radius: 32px 32px 76px 32px; box-shadow: 0 6px 0 #e6d9e8, 0 16px 30px #493b8722; }
.story-stamp { border-color: #fff8e4; background: linear-gradient(145deg, #ff9dad, #a77ade 70%, #63cdbf); box-shadow: 0 5px 0 #d5c4db, inset 0 2px 5px #ffffff8c; }
.button-outline { border: 2px dashed #cbbce9; color: #704ec2; }
.button-outline:hover { border-color: white; background: #7956cf; color: white; }
.closing-cta {
  border: 2px solid white;
  border-radius: 25px 25px 55px 25px;
  background: linear-gradient(115deg, #7153c2, #a873ce 52%, #ec809a);
  box-shadow: 0 6px 0 #dccfe4, 0 15px 30px #6844bc2b;
}
.closing-cta .eyebrow, .closing-cta p { color: #fff4df; }
.closing-cta h2 { font-family: var(--serif); font-weight: 600; }
.button-light { border: 2px solid white; background: #fff5d8; color: #684bb4; box-shadow: 0 4px 0 #e6d4b8; }
.button-light:hover { background: white; color: #543ca0; transform: translateY(-2px); }
.cta-decoration { color: #ffffff20; }
.site-footer { border-color: #eadfed; background: #fffaf3; }
.footer-column h3 { color: #413154; }
.footer-about p, .footer-column p, .footer-column a { color: #776c84; }
.footer-column .closed-note, .footer-bottom { color: #91859a; }
.footer-bottom { border-color: #eadfed; }

.cart-backdrop { background: #49365b99; backdrop-filter: blur(5px); }
.cart-panel { border-left: 2px solid white; background: linear-gradient(160deg, #fffaf3, #effaf6 60%, #fff0f5); box-shadow: -12px 0 35px #49365b33; }
.cart-header { border-color: #eadfed; }
.cart-header h2 { font-family: var(--serif); font-weight: 600; }
.cart-close, .cart-quantity-button { border-color: #eadfed; background: white; color: #7956cf; }
.cart-close { border-radius: 12px 12px 12px 4px; box-shadow: 0 3px 0 #eadfed; }
.cart-item { border-color: #eadfed; }
.cart-item-name { color: #413154; }
.cart-item-price, .cart-total strong { color: #7956cf; }
.cart-quantity-button { border-radius: 8px; box-shadow: 0 2px 0 #eadfed; }
.cart-quantity-button:hover { background: #fff1d2; }
.cart-remove { color: #e46b88; }
.cart-footer { border-color: #eadfed; }
.cart-checkout:disabled { border-color: white; background: #c9c0d0; box-shadow: none; }
.cart-footer > p { color: #82768e; }

.slide-controls { border-color: #eadfed; background: #fffaf3ed; }
.slide-arrow { border-color: white; background: #fff; color: #7956cf; box-shadow: 0 3px 0 #e9ddeb; }
.slide-arrow:hover { border-color: white; background: #fff1d2; transform: scale(1.08) rotate(-5deg); }
.slide-dot { background: #d9cadc; }
.slide-dot.is-active { background: linear-gradient(90deg, #8662d5, #ef829e); }
.slide-status { color: #82768e; font-family: var(--sans); font-weight: 700; }

.deck-slide { position: relative; }
.deck-slide::before, .deck-slide::after {
  position: absolute;
  z-index: 0;
  color: #f2a9bf;
  font-family: var(--serif);
  font-weight: 600;
  pointer-events: none;
}
.deck-slide::before { top: 7%; right: 7%; content: "✿"; font-size: clamp(22px, 4vw, 42px); transform: rotate(14deg); }
.deck-slide::after { bottom: 8%; left: 5%; content: "✦"; color: #8ad1c5; font-size: clamp(16px, 2.5vw, 27px); transform: rotate(-12deg); }
.deck-slide > * { position: relative; z-index: 1; }
.deck-slide > .site-footer { position: relative; }
.slide-controls { z-index: 25; }

.gallery-photo {
  border: 6px solid white;
  border-radius: 20px 20px 20px 6px;
  box-shadow: 0 5px 0 #e9ddeb, 0 9px 22px #493b8717;
}
.gallery-photo:nth-child(even) { transform: rotate(1deg); }
.gallery-photo:nth-child(odd) { transform: rotate(-1deg); }
.gallery-photo:hover { z-index: 2; transform: scale(1.02) rotate(0); }
.gallery-photo figcaption { font-family: var(--serif); }
.gallery-photo figcaption span { color: #ffe091; }

@media (max-width: 850px) {
  .nav-links { border-color: #eadfed; background: #fffaf3; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-sticker { animation: sticker-float 4s ease-in-out infinite; }
  .menu-card:nth-child(3n + 1) { animation: card-wiggle 6s ease-in-out infinite; }
  @keyframes card-wiggle {
    0%, 100% { rotate: -.6deg; }
    50% { rotate: .4deg; }
  }
}

/* Coquette theme */
:root {
  --paper: #fff9f7;
  --cream: #fff0ed;
  --ink: #59434a;
  --muted: #8d747b;
  --green: #a85e70;
  --green-dark: #884858;
  --orange: #d98a96;
  --line: #f0dfe0;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Nunito Sans", "DM Sans", sans-serif;
}

body {
  background:
    radial-gradient(ellipse at 10% 12%, #f9e9e9 0, transparent 26rem),
    radial-gradient(ellipse at 92% 23%, #fcefeb 0, transparent 29rem),
    #fff9f7;
}
.site-header { background: #fff9f7ed; border-color: #f0dfe0; }
.brand { font-family: var(--serif); font-size: 23px; font-weight: 700; letter-spacing: -.5px; }
.brand-mark {
  border: 1px solid white;
  border-radius: 50%;
  background: linear-gradient(145deg, #edb6bd, #c17b8a);
  box-shadow: 0 3px 9px #b268782b;
  font-family: var(--serif);
}
.brand-accent { color: #b86a7a; }
.nav-links { color: #79646a; font-weight: 700; }
.nav-links a:not(.nav-order):hover, .footer-column a:hover { color: #b86a7a; }
.nav-order, .button-primary {
  border: 1px solid #e8c5cb;
  border-radius: 999px;
  background: linear-gradient(135deg, #c8818e, #b46779);
  box-shadow: 0 4px 11px #b76d7d30;
}
.nav-order:hover, .button-primary:hover {
  background: linear-gradient(135deg, #b86d7c, #9d5365);
  transform: translateY(-2px);
}
.cart-button { border-color: #eddadd; border-radius: 999px; background: #fff; color: #a85e70; box-shadow: none; }
.cart-button:hover { border-color: #ddb8c0; background: #fff5f3; transform: none; }
.cart-count { background: #c97d8c; }
.menu-toggle { border-color: #eddadd; border-radius: 50%; background: #fff; box-shadow: none; }
.menu-toggle span { border-color: #a85e70; }

.eyebrow { color: #a85e70; letter-spacing: 1.5px; }
.eyebrow-dot { background: #d98a96; box-shadow: 0 0 0 4px #d98a9626; }
.hero h1 {
  font-family: var(--serif);
  font-size: clamp(52px, 5.4vw, 72px);
  font-weight: 600;
  letter-spacing: -1.7px;
  line-height: 1.02;
  text-shadow: none;
}
.hero h1 span, .section-heading h2 span, .story-copy h2 span { color: #b86a7a; text-shadow: none; font-style: italic; }
.hero-copy > p, .section-heading > p, .story-copy > p { color: #846e74; }
.button { border-radius: 999px; }
.text-link { color: #79646a; }
.play-icon { border-color: #ead4d7; background: #fff; color: #b86a7a; }
.hero-proof { color: #846e74; }
.hero-proof strong { color: #59434a; }
.avatar-stack span { border-color: var(--paper); background: linear-gradient(135deg, #f3cbd0, #f8e5d6); }
.avatar-stack span:nth-child(2) { background: linear-gradient(135deg, #e6d6ee, #f5e1df); }
.avatar-stack span:nth-child(3) { background: linear-gradient(135deg, #f8e7c7, #f3cbd0); }
.proof-divider { border-color: #eadbdd; }
.rating > span { color: #c18b68; }
.deck-slide:first-child > .hero .hero-image-wrap {
  border: 8px solid white;
  border-radius: 48% 48% 12px 12px;
  box-shadow: 0 12px 32px #9a59601c;
  background: white;
}
.deck-slide:first-child > .hero .hero-image { object-fit: contain; }
.hero-visual::before {
  border: 1px solid #e8cbd0;
  border-radius: 48% 52% 46% 54%;
  background: linear-gradient(135deg, #f8e7e399, #fff5eb99);
  transform: rotate(5deg);
}
.fresh-note {
  border: 1px solid #f0dfe0;
  border-radius: 14px;
  background: #fffdfb;
  box-shadow: 0 7px 22px #70484b1c;
}
.fresh-note strong, .fresh-icon { color: #ad6574; }
.hero-sticker {
  border: 3px solid white;
  background: linear-gradient(145deg, #df9da8, #c57988);
  box-shadow: 0 5px 16px #a24f6533;
  font-family: var(--serif);
}
.sparkle-one, .sparkle-two { color: #d2919b; }

.trust-strip { border-block: 1px solid #f0dfe0; background: #fff0edb8; }
.trust-inner span { color: #79646a; }
.trust-inner b, .trust-inner span:nth-child(even) b { color: #b86a7a; }
.section-heading h2, .story-copy h2 {
  font-family: var(--serif);
  font-size: clamp(36px, 3.8vw, 52px);
  font-weight: 600;
  letter-spacing: -.8px;
}
.filter-list { padding: 4px; border: 1px solid #f0dfe0; border-radius: 999px; background: #fff; box-shadow: none; }
.filter-button { border-radius: 999px; color: #846e74; }
.filter-button:hover { border-color: transparent; background: #fff0ed; color: #a85e70; }
.filter-button.is-active { background: #b96e7e; box-shadow: 0 3px 8px #b76d7d28; }
.menu-note { color: #846e74; }
.menu-note span { color: #c27b87; }
.menu-card, .menu-card:nth-child(3n + 1), .menu-card:nth-child(3n) {
  border: 1px solid #f0dfe0;
  border-radius: 16px;
  background: #fffdfb;
  box-shadow: 0 5px 16px #80525910;
  transform: none;
}
.menu-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px #8052591c; }
.menu-photo { background: #f9e9e9; }
.menu-photo img { filter: saturate(.95); }
.menu-label, .menu-label-green {
  border: 1px solid white;
  border-radius: 999px;
  background: #fff5ef;
  color: #a85e70;
  box-shadow: 0 2px 6px #70484b1c;
  transform: none;
}
.menu-label-green { background: #f3f5ec; color: #72816d; box-shadow: 0 2px 6px #52634d16; }
.menu-emoji { border: 1px solid #f2e4e0; background: #fffaf5ed; box-shadow: none; }
.menu-title-row h3 { color: #59434a; }
.menu-price { color: #a85e70; }
.menu-info p { color: #8d747b; }
.order-link { border-color: #f0e5e3; color: #a85e70; }
.order-link:hover { color: #cc7887; }
.menu-footnote { color: #9c858a; }

.story-section { border-block: 1px solid #f0dfe0; background: linear-gradient(115deg, #f8eeef, #fff9f3 60%, #f8ecef); }
.story-photo > img { border: 7px solid white; border-radius: 24px; box-shadow: 0 8px 24px #8052591c; }
.story-stamp { border-color: #f8eeef; background: linear-gradient(145deg, #d997a1, #ad6d7d); box-shadow: 0 5px 15px #8052592b; }
.button-outline { border: 1px solid #dcbcc2; color: #a85e70; }
.button-outline:hover { border-color: #a85e70; background: #a85e70; color: white; }
.closing-cta {
  border: 1px solid #f1dce0;
  border-radius: 22px;
  background: linear-gradient(115deg, #a96778, #c17c88 60%, #d8939b);
  box-shadow: 0 12px 28px #80525920;
}
.closing-cta .eyebrow, .closing-cta p { color: #fff3ef; }
.closing-cta h2 { font-family: var(--serif); font-size: 38px; font-weight: 600; }
.button-light { border: 1px solid white; background: #fff8f2; color: #9e5e6d; box-shadow: none; }
.button-light:hover { background: white; color: #884858; transform: translateY(-2px); }
.cta-decoration { color: #ffffff20; }
.site-footer { border-color: #f0dfe0; background: #fff9f7; }
.footer-column h3 { color: #59434a; }
.footer-about p, .footer-column p, .footer-column a { color: #846e74; }
.footer-column .closed-note, .footer-bottom { color: #a18b90; }
.footer-bottom { border-color: #f0dfe0; }

.cart-backdrop { background: #59434a99; backdrop-filter: blur(5px); }
.cart-panel { border-left: 1px solid white; background: linear-gradient(160deg, #fff9f7, #fff4f0 60%, #f8eeef); box-shadow: -12px 0 35px #4936382b; }
.cart-header { border-color: #f0dfe0; }
.cart-header h2 { font-family: var(--serif); font-size: 34px; font-weight: 600; }
.cart-close, .cart-quantity-button { border-color: #ead4d7; background: white; color: #a85e70; }
.cart-close { border-radius: 50%; box-shadow: none; }
.cart-item { border-color: #f0dfe0; }
.cart-item-name { color: #59434a; }
.cart-item-price, .cart-total strong { color: #a85e70; }
.cart-quantity-button { border-radius: 50%; box-shadow: none; }
.cart-quantity-button:hover { background: #fff0ed; }
.cart-remove { color: #bf6979; }
.cart-footer { border-color: #f0dfe0; }
.cart-checkout:disabled { border-color: #eee; background: #cbbfc1; box-shadow: none; }
.cart-footer > p { color: #8d747b; }

.slide-controls { border-color: #f0dfe0; background: #fff9f7ed; }
.slide-arrow { border-color: #ecd8db; background: #fff; color: #a85e70; box-shadow: 0 3px 8px #80525916; }
.slide-arrow:hover { border-color: #d8adb5; background: #fff0ed; transform: scale(1.05); }
.slide-dot { background: #e4cdd1; }
.slide-dot.is-active { background: linear-gradient(90deg, #b96e7e, #d997a1); }
.slide-status { color: #8d747b; font-family: var(--sans); font-weight: 700; }

body {
  background:
    radial-gradient(ellipse at 10% 12%, #f9e9e9 0, transparent 26rem),
    radial-gradient(ellipse at 92% 23%, #fcefeb 0, transparent 29rem),
    #fff9f7;
}
.deck-slide::before { content: "\2661"; color: #d99aa4; font-size: clamp(25px, 4vw, 43px); font-family: var(--serif); }
.deck-slide::after { content: "\2661"; color: #c7828d; font-size: clamp(18px, 2.5vw, 28px); }
.cta-decoration { font-size: 0; }
.cta-decoration::after { content: "\2661"; font-size: 150px; }
.gallery-photo, .gallery-photo:nth-child(even), .gallery-photo:nth-child(odd) {
  border: 5px solid white;
  border-radius: 18px;
  box-shadow: 0 6px 18px #80525916;
  transform: none;
}
.gallery-photo:hover { transform: translateY(-2px); }
.gallery-photo figcaption { font-family: var(--serif); font-size: 16px; }
.gallery-photo figcaption span { color: #f1c5c8; }
.nav-links { font-family: var(--sans); }
.site-header { background: #fff9f7ed; }
.cart-panel { border-radius: 24px 0 0 24px; }

@media (max-width: 850px) {
  .nav-links { border-color: #f0dfe0; background: #fff9f7; }
}

@media (prefers-reduced-motion: no-preference) {
  .menu-card:nth-child(3n + 1) { animation: none; }
  .hero-sticker { animation: ribbon-float 4s ease-in-out infinite; }
  @keyframes ribbon-float {
    0%, 100% { transform: rotate(7deg) translateY(0); }
    50% { transform: rotate(3deg) translateY(-4px); }
  }
}

.deck-slide > .story-section .story-photo {
  width: min(100%, 520px);
  height: auto;
  aspect-ratio: 16 / 9;
  justify-self: center;
}
.deck-slide > .story-section .story-photo > img { object-fit: cover; object-position: center; }

@media (max-width: 560px) {
  .deck-slide > .story-section .story-inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .deck-slide > .story-section .story-photo {
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 16 / 9;
  }
}

.deck-slide:nth-child(2) {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-color: #d7a9b2 #fff0ed;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.deck-slide:nth-child(2) > .menu-section {
  height: auto;
  min-height: 100%;
  justify-content: flex-start;
  padding-top: 20px;
  padding-bottom: 24px;
}

.deck-slide > .menu-section .section-heading {
  align-items: flex-start;
  flex-direction: column;
  gap: 5px;
}
.deck-slide > .menu-section .section-heading > p {
  max-width: 430px;
  margin: 0;
  text-align: left;
}

@media (max-width: 560px) {
  .deck-slide > .menu-section .section-heading > p {
    display: block;
    max-width: 310px;
    font-size: 10px;
    line-height: 1.4;
  }
  .deck-slide > .menu-section .menu-photo { aspect-ratio: 1.25 / 1; }
}

.deck-slide > .gallery-section .gallery-heading {
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
}
.deck-slide > .gallery-section .gallery-heading > p {
  max-width: 520px;
  margin: 0;
  text-align: left;
}

.deck-slide:first-child > .hero .hero-image-wrap {
  width: auto;
  height: min(390px, 48dvh);
  aspect-ratio: 735 / 998;
  margin-inline: auto;
  border-radius: 30px 30px 55px 30px;
  background: #fff;
}
.deck-slide:first-child > .hero .hero-image { object-fit: contain; }

@media (max-width: 560px) {
  .deck-slide:first-child > .hero .hero-image-wrap {
    width: auto;
    height: min(32dvh, 220px);
  }
}

.deck-slide > .menu-section .menu-photo {
  height: auto;
  aspect-ratio: 16 / 9;
}
.deck-slide > .menu-section .menu-grid { row-gap: 0; }
.deck-slide > .menu-section .menu-toolbar { margin-block: 4px; }
.deck-slide > .menu-section .menu-photo img { object-fit: cover; }
.deck-slide > .menu-section .menu-info p { display: none; }
.deck-slide > .menu-section .menu-info { padding-block: 5px; }

@media (max-width: 560px) {
  .deck-slide > .menu-section .menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .deck-slide > .menu-section .menu-photo { aspect-ratio: 16 / 9; }
  .deck-slide > .menu-section .menu-info { padding: 5px; }
  .deck-slide > .menu-section .menu-title-row { display: block; }
  .deck-slide > .menu-section .menu-title-row h3 { min-height: 2.2em; }
  .deck-slide > .menu-section .menu-price { display: block; margin-bottom: 3px; }
  .deck-slide > .menu-section .order-link { font-size: 7px; }
}

.menu-detail-button {
  display: block;
  width: 100%;
  padding: 8px 0;
  border: 0;
  border-top: 1px solid #f0e5e3;
  background: transparent;
  color: #a85e70;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  text-align: left;
}
.menu-detail-button:hover { color: #cc7887; }
.menu-detail-button:focus-visible { outline: 2px solid #c8818e; outline-offset: 2px; }
.deck-slide > .menu-section .menu-detail-button { padding-block: 4px; font-size: 9px; }

.menu-detail-overlay { position: fixed; z-index: 60; inset: 0; }
.menu-detail-overlay[hidden] { display: none; }
.menu-detail-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #59434a99;
  backdrop-filter: blur(5px);
  cursor: pointer;
}
.menu-detail-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(560px, calc(100% - 32px));
  max-height: min(90dvh, 820px);
  overflow-y: auto;
  padding: 24px;
  border: 1px solid white;
  border-radius: 20px;
  background: linear-gradient(160deg, #fffdfb, #fff7f5 65%, #f8eeef);
  box-shadow: 0 20px 70px #49363845;
  transform: translate(-50%, -50%);
}
.menu-detail-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.menu-detail-close {
  width: 36px;
  height: 36px;
  border: 1px solid #eddadd;
  border-radius: 50%;
  background: white;
  color: #a85e70;
  cursor: pointer;
  font-size: 22px;
}
.menu-detail-image {
  display: block;
  width: 100%;
  max-height: 230px;
  margin-bottom: 17px;
  border-radius: 14px;
  background: #f9e9e9;
  object-fit: cover;
}
.menu-detail-content h2 { margin: 0 0 4px; color: #59434a; font: 600 30px var(--serif); }
.menu-detail-price { color: #a85e70; font-size: 15px; }
.menu-detail-description { margin: 12px 0 22px; color: #846e74; font-size: 13px; line-height: 1.7; }
.menu-reviews { padding-top: 18px; border-top: 1px solid #f0dfe0; }
.menu-reviews h3 { margin-bottom: 7px; color: #59434a; font: 600 23px var(--serif); }
.menu-review-summary { margin-bottom: 12px; color: #a85e70; font-size: 12px; font-weight: 700; }
.menu-review-list { display: grid; gap: 10px; }
.menu-review { padding: 12px; border: 1px solid #f0dfe0; border-radius: 12px; background: #fff; }
.menu-review-heading { display: flex; justify-content: space-between; gap: 12px; color: #59434a; font-size: 12px; }
.menu-review-rating { color: #bd8a52; white-space: nowrap; }
.menu-review > p { margin: 7px 0 0; color: #846e74; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.menu-review-form { display: grid; gap: 8px; margin-top: 18px; }
.menu-review-form h4 { margin: 0 0 2px; color: #59434a; font-size: 14px; }
.menu-review-form label { color: #79646a; font-size: 11px; font-weight: 700; }
.menu-review-form input, .menu-review-form select, .menu-review-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid #eddadd;
  border-radius: 10px;
  background: white;
  color: #59434a;
  font: inherit;
}
.menu-review-form textarea { resize: vertical; }
.menu-review-form input:focus, .menu-review-form select:focus, .menu-review-form textarea:focus {
  outline: 2px solid #c8818e55;
  border-color: #c8818e;
}
.menu-review-form .button { justify-self: start; margin-top: 5px; }
.menu-review-note, .menu-review-status { margin: 0; color: #8d747b; font-size: 10px; line-height: 1.5; }
.menu-review-status:not(:empty) { color: #a85e70; }

@media (max-width: 560px) {
  .deck-slide > .menu-section .menu-detail-button { font-size: 7px; }
  .menu-detail-panel { padding: 18px; border-radius: 16px; }
  .menu-detail-image { max-height: 180px; }
}

/* Roomier product cards for the menu slide */
.deck-slide > .menu-section .menu-toolbar { margin: 18px 0 20px; }
.deck-slide > .menu-section .menu-grid {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  align-items: stretch;
  gap: 20px;
  padding: 4px 4px 18px;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  scrollbar-color: #d7a9b2 #fff0ed;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.deck-slide > .menu-section .menu-card {
  flex: 0 0 320px;
  overflow: hidden;
  border: 1px solid #f0dfe0;
  border-radius: 20px;
  background: #fffdfb;
  box-shadow: 0 7px 20px #80525912;
  scroll-snap-align: start;
  transition: transform .22s ease, box-shadow .22s ease;
}
.deck-slide > .menu-section .menu-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 28px #80525920;
}
.deck-slide > .menu-section .menu-photo {
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(135deg, #f8e7e3, #fff5eb);
}
.deck-slide > .menu-section .menu-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.deck-slide > .menu-section .menu-card:hover .menu-photo img { transform: scale(1.045); }
.deck-slide > .menu-section .menu-info { padding: 16px; }
.deck-slide > .menu-section .menu-title-row {
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}
.deck-slide > .menu-section .menu-title-row h3 {
  min-height: 0;
  margin: 0;
  color: #59434a;
  font-size: 16px;
  line-height: 1.3;
}
.deck-slide > .menu-section .menu-price {
  flex: 0 0 auto;
  margin: 0;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff0ed;
  color: #a85e70;
  font-size: 11px;
  font-weight: 800;
}
.deck-slide > .menu-section .menu-info p {
  display: block;
  min-height: 2.8em;
  margin: 0 0 12px;
  color: #8d747b;
  font-size: 12px;
  line-height: 1.55;
}
.deck-slide > .menu-section .menu-detail-button {
  padding: 10px 0;
  border-top: 1px solid #f4e9e7;
  color: #8d747b;
  font-size: 11px;
}
.deck-slide > .menu-section .order-link {
  min-height: 40px;
  padding: 10px 13px;
  border: 1px solid #eddadd;
  border-radius: 11px;
  background: #fff8f6;
  color: #a85e70;
  font-size: 11px;
}
.deck-slide > .menu-section .order-link:hover {
  border-color: #dfbdc3;
  background: #fff0ed;
  color: #884858;
}
.deck-slide > .menu-section .menu-footnote { margin-top: 16px; }

@media (max-width: 850px) {
  .deck-slide > .menu-section .menu-grid { gap: 16px; }
  .deck-slide > .menu-section .menu-card { flex-basis: 285px; }
  .deck-slide > .menu-section .menu-photo { aspect-ratio: 3 / 2; }
}

@media (max-width: 560px) {
  .deck-slide > .menu-section .menu-toolbar { margin: 14px 0 16px; }
  .deck-slide > .menu-section .menu-grid { gap: 12px; padding-right: 18px; }
  .deck-slide > .menu-section .menu-card { flex-basis: min(82vw, 340px); }
  .deck-slide > .menu-section .menu-photo { aspect-ratio: 1 / 1; }
  .deck-slide > .menu-section .menu-info { padding: 11px; }
  .deck-slide > .menu-section .menu-title-row { display: flex; }
  .deck-slide > .menu-section .menu-title-row h3 { min-height: 2.5em; font-size: 13px; }
  .deck-slide > .menu-section .menu-price { margin-bottom: 0; padding: 4px 7px; font-size: 9px; }
  .deck-slide > .menu-section .menu-info p { min-height: 4.6em; margin-bottom: 8px; font-size: 10px; }
  .deck-slide > .menu-section .menu-detail-button { padding-block: 8px; font-size: 10px; }
  .deck-slide > .menu-section .order-link { min-height: 36px; padding: 8px; font-size: 9px; }
}

@media (max-width: 380px) {
  .deck-slide > .menu-section .menu-card { flex-basis: 82vw; }
  .deck-slide > .menu-section .menu-photo { aspect-ratio: 16 / 10; }
  .deck-slide > .menu-section .menu-title-row h3 { min-height: 0; }
  .deck-slide > .menu-section .menu-info p { min-height: 0; }
}

/* Present the menu as spacious individual product cards, not a row or grid. */
.deck-slide > .menu-section .menu-grid {
  display: flex;
  flex-direction: column;
  overflow: visible;
  gap: 18px;
  padding: 4px 5px 18px;
  scroll-snap-type: none;
}
.deck-slide > .menu-section .menu-card {
  display: flex;
  flex: 0 0 auto;
  min-height: 190px;
  border: 1px solid #f0dfe0;
  border-radius: 22px;
  background: linear-gradient(110deg, #fffdfb 0%, #fffdfb 65%, #fff7f5 100%);
  box-shadow: 0 8px 22px #80525912;
}
.deck-slide > .menu-section .menu-card[hidden] { display: none; }
.deck-slide > .menu-section .menu-photo {
  flex: 0 0 min(34%, 260px);
  aspect-ratio: 4 / 3;
  align-self: stretch;
}
.deck-slide > .menu-section .menu-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 20px 24px;
}
.deck-slide > .menu-section .menu-title-row { align-items: center; margin-bottom: 10px; }
.deck-slide > .menu-section .menu-title-row h3 { font-size: 19px; }
.deck-slide > .menu-section .menu-info p { min-height: 0; margin-bottom: 15px; font-size: 13px; }
.deck-slide > .menu-section .menu-detail-button { padding: 10px 0; }
.deck-slide > .menu-section .order-link { max-width: 230px; justify-content: space-between; }

@media (max-width: 560px) {
  .deck-slide > .menu-section .menu-grid { gap: 16px; padding-inline: 2px; }
  .deck-slide > .menu-section .menu-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: 20px;
  }
  .deck-slide > .menu-section .menu-photo {
    flex: none;
    width: 100%;
    aspect-ratio: 16 / 10;
  }
  .deck-slide > .menu-section .menu-info { padding: 16px; }
  .deck-slide > .menu-section .menu-title-row { align-items: flex-start; }
  .deck-slide > .menu-section .menu-title-row h3 { min-height: 0; font-size: 16px; }
  .deck-slide > .menu-section .menu-price { padding: 5px 9px; font-size: 10px; }
  .deck-slide > .menu-section .menu-info p { min-height: 0; margin-bottom: 10px; font-size: 12px; }
  .deck-slide > .menu-section .order-link { max-width: none; font-size: 11px; }
}

.deck-slide > .menu-section .menu-card {
  position: relative;
  border-color: #f1dfe1;
  background: linear-gradient(115deg, #fff 0%, #fffdfb 58%, #fff5f3 100%);
  box-shadow: 0 8px 22px #80525912, 0 1px 3px #8052590a;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.deck-slide > .menu-section .menu-card::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 5px;
  height: 100%;
  border-radius: 0 22px 22px 0;
  background: linear-gradient(180deg, #e8b3b8, #f3d9ce);
  content: "";
  opacity: .7;
  transition: opacity .25s ease;
}
.deck-slide > .menu-section .menu-card:hover {
  transform: translateY(-3px);
  border-color: #e5c4c9;
  box-shadow: 0 15px 32px #80525920, 0 3px 8px #8052590c;
}
.deck-slide > .menu-section .menu-card:hover::after { opacity: 1; }
.deck-slide > .menu-section .menu-photo { position: relative; }
.deck-slide > .menu-section .menu-photo::before {
  position: absolute;
  z-index: 1;
  inset: 45% 0 0;
  background: linear-gradient(transparent, #39252a2e);
  content: "";
  pointer-events: none;
}
.deck-slide > .menu-section .menu-photo::after {
  position: absolute;
  z-index: 2;
  top: 13px;
  right: 13px;
  padding: 6px 11px;
  border: 1px solid #ffffffc9;
  border-radius: 999px;
  background: #fffaf1eF;
  color: #96636c;
  content: "Menu";
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow: 0 3px 10px #49363820;
}
.deck-slide > .menu-section .menu-card[data-category="makanan"] .menu-photo::after { content: "Makanan"; }
.deck-slide > .menu-section .menu-card[data-category="camilan"] .menu-photo::after { content: "Camilan"; }
.deck-slide > .menu-section .menu-card[data-category="minuman"] .menu-photo::after { content: "Minuman"; }
.deck-slide > .menu-section .menu-title-row h3 { letter-spacing: -.02em; }
.deck-slide > .menu-section .menu-price {
  border: 1px solid #f5e1e0;
  background: linear-gradient(135deg, #fff3f0, #fff8f1);
  box-shadow: inset 0 1px #fff;
}
.deck-slide > .menu-section .menu-info p { max-width: 48ch; }
.deck-slide > .menu-section .menu-detail-button {
  border-top-style: dashed;
  color: #9a7379;
  transition: color .2s ease;
}
.deck-slide > .menu-section .menu-detail-button:hover { color: #a85e70; }
.deck-slide > .menu-section .order-link {
  border-color: #c7838f;
  background: linear-gradient(110deg, #c98591, #b56e7d);
  color: white;
  box-shadow: 0 4px 10px #b76d7d2b, inset 0 1px #ffffff38;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.deck-slide > .menu-section .order-link:hover {
  transform: translateY(-1px);
  border-color: #a85e70;
  background: linear-gradient(110deg, #b9717f, #a85e70);
  color: white;
  box-shadow: 0 6px 13px #b76d7d38;
}
.deck-slide > .menu-section .order-link span {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  background: #ffffff2b;
  font-size: 16px;
}

@media (max-width: 560px) {
  .deck-slide > .menu-section .menu-card::after { width: 4px; border-radius: 0 20px 20px 0; }
  .deck-slide > .menu-section .menu-photo::after { top: 10px; right: 10px; padding: 5px 9px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .deck-slide > .menu-section .menu-card,
  .deck-slide > .menu-section .menu-card::after,
  .deck-slide > .menu-section .menu-photo img,
  .deck-slide > .menu-section .order-link { transition-duration: .01ms; }
}

@keyframes menu-card-enter {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .deck-slide > .menu-section .menu-card {
    animation: menu-card-enter .42s both;
  }
  .deck-slide > .menu-section .menu-card:nth-child(2) { animation-delay: 45ms; }
  .deck-slide > .menu-section .menu-card:nth-child(3) { animation-delay: 90ms; }
  .deck-slide > .menu-section .menu-card:nth-child(4) { animation-delay: 135ms; }
  .deck-slide > .menu-section .menu-card:nth-child(5) { animation-delay: 180ms; }
  .deck-slide > .menu-section .menu-card:nth-child(6) { animation-delay: 225ms; }
}

@media (prefers-reduced-motion: reduce) {
  .deck-slide > .menu-section .menu-card { animation: none; }
}

.deck-slide::before {
  content: "✧";
  color: #d78c9c;
  text-shadow: 0 3px 12px #e6a7b566;
  animation: slide-sparkle 2.8s ease-in-out infinite;
}
.deck-slide::after {
  content: "✦";
  color: #d7ad72;
  text-shadow: 0 3px 12px #e7c99566;
  animation: slide-sparkle 3.2s ease-in-out infinite reverse;
}
.deck-slide:nth-child(2)::before { color: #c97b89; }
.deck-slide:nth-child(2)::after { color: #d5a45f; }
.deck-slide:nth-child(3)::before { color: #a77c9d; }
.deck-slide:nth-child(3)::after { color: #c98e9a; }
.deck-slide:nth-child(4)::before { color: #cc9279; }
.deck-slide:nth-child(4)::after { color: #b98596; }

@keyframes slide-sparkle {
  0%, 100% { opacity: .58; scale: .88; rotate: -8deg; }
  50% { opacity: 1; scale: 1.12; rotate: 8deg; }
}

@media (prefers-reduced-motion: reduce) {
  .deck-slide::before,
  .deck-slide::after { animation: none; }
}

.deck-slide > .page-decorations {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.page-decoration {
  position: absolute;
  display: grid;
  place-items: center;
  color: #ce92a1;
  font-family: var(--serif);
  line-height: 1;
  opacity: .58;
  text-shadow: 0 3px 12px #dca4af42;
  animation: decoration-float 4s ease-in-out infinite;
}
.decoration-one { top: 19%; left: 2.5%; font-size: 24px; animation-delay: -.8s; }
.decoration-two { top: 35%; right: 3%; color: #d3a66c; font-size: 20px; animation-delay: -2.2s; }
.decoration-three { top: 61%; left: 4%; color: #c78596; font-size: 19px; animation-delay: -1.5s; }
.decoration-four { top: 78%; right: 7%; color: #dfb4aa; font-size: 30px; animation-delay: -.3s; }
.decoration-five { top: 13%; left: 21%; color: #d8b27d; font-size: 14px; animation-delay: -2.7s; }
.decoration-six { top: 53%; right: 16%; color: #c990a0; font-size: 16px; animation-delay: -1.1s; }
.page-decorations-2 .decoration-one { top: 18%; left: 2%; }
.page-decorations-2 .decoration-two { top: 34%; right: 2%; }
.page-decorations-2 .decoration-three { top: 61%; left: 2%; }
.page-decorations-2 .decoration-four { top: 81%; right: 4%; }
.page-decorations-2 .decoration-five { top: 13%; left: 34%; }
.page-decorations-2 .decoration-six { top: 49%; right: 8%; }
.page-decorations-3 .decoration-one { top: 16%; left: 3%; }
.page-decorations-3 .decoration-two { top: 28%; right: 3%; }
.page-decorations-3 .decoration-three { top: 68%; left: 2%; }
.page-decorations-3 .decoration-four { top: 78%; right: 5%; }
.page-decorations-3 .decoration-five { top: 13%; left: 28%; }
.page-decorations-3 .decoration-six { top: 53%; right: 6%; }
.page-decorations-4 .decoration-one { top: 20%; left: 3%; }
.page-decorations-4 .decoration-two { top: 39%; right: 3%; }
.page-decorations-4 .decoration-three { top: 65%; left: 5%; }
.page-decorations-4 .decoration-four { top: 79%; right: 7%; }
.page-decorations-4 .decoration-five { top: 14%; left: 26%; }
.page-decorations-4 .decoration-six { top: 55%; right: 13%; }
@keyframes decoration-float {
  0%, 100% { transform: translateY(0) rotate(-8deg) scale(.94); }
  50% { transform: translateY(-7px) rotate(8deg) scale(1.08); }
}

@media (max-width: 560px) {
  .page-decoration { opacity: .42; }
  .decoration-one { top: 17%; left: 1%; font-size: 19px; }
  .decoration-two { right: 1%; font-size: 16px; }
  .decoration-three { left: 1%; font-size: 15px; }
  .decoration-four { right: 2%; font-size: 23px; }
  .decoration-five { left: 18%; font-size: 12px; }
  .decoration-six { right: 5%; font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-decoration { animation: none; }
}

.deck-slide > .story-section .story-inner { position: relative; }
.deck-slide > .story-section .story-photo { position: relative; }
.story-photo-note {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid #ffffffd9;
  border-radius: 999px;
  background: #fffaf1ed;
  color: #96636c;
  font-size: 10px;
  font-weight: 800;
  box-shadow: 0 4px 14px #49363820;
}
.story-photo-note span { color: #ca8190; font-size: 15px; }
.story-doodle {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  text-shadow: 0 4px 12px #cb8d9b40;
  animation: decoration-float 4s ease-in-out infinite;
}
.story-doodle-one { top: -18px; left: 44%; color: #d29aa0; font-size: 28px; }
.story-doodle-two { right: -17px; bottom: 13%; color: #d6aa70; font-size: 26px; animation-delay: -1s; }
.story-doodle-three { top: 8%; right: 2%; color: #c78796; font-size: 21px; animation-delay: -2s; }
.deck-slide > .closing-cta { position: relative; }
.cta-sparkle {
  position: absolute;
  pointer-events: none;
  color: #fff4e8;
  text-shadow: 0 3px 12px #633a484d;
  animation: decoration-float 3.8s ease-in-out infinite;
}
.cta-sparkle-one { top: 18px; right: 34%; font-size: 22px; }
.cta-sparkle-two { right: 25px; bottom: 24px; color: #ffe7e6; font-size: 27px; animation-delay: -1.6s; }
.cta-order-note {
  position: absolute;
  right: 22px;
  bottom: 15px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid #ffffff57;
  border-radius: 999px;
  background: #ffffff20;
  color: #fff7f2;
  font-size: 9px;
  font-weight: 700;
}
.cta-order-note span { color: #ffe6c5; }

@media (max-width: 560px) {
  .story-photo-note { right: 8px; bottom: 8px; padding: 6px 9px; font-size: 8px; }
  .story-doodle-one { top: -12px; left: 35%; font-size: 20px; }
  .story-doodle-two { right: -7px; bottom: 10%; font-size: 19px; }
  .story-doodle-three { top: 5%; right: 0; font-size: 17px; }
  .cta-sparkle-one { top: 10px; right: 10%; font-size: 16px; }
  .cta-sparkle-two { right: 10px; bottom: 10px; font-size: 20px; }
  .cta-order-note { right: 12px; bottom: 10px; font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .story-doodle,
  .cta-sparkle { animation: none; }
}

.deck-slide > .menu-section .menu-card { animation: none; }
@keyframes menu-card-enter {
  0% {
    opacity: 0;
    translate: 0 18px;
    scale: .975;
    filter: blur(2px);
  }
  72% {
    opacity: 1;
    translate: 0 -2px;
    scale: 1.005;
    filter: blur(0);
  }
  100% {
    opacity: 1;
    translate: 0 0;
    scale: 1;
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .deck-slide > .menu-section .menu-card.is-entering { animation: menu-card-enter .5s cubic-bezier(.2, .8, .25, 1) both; }
  .deck-slide > .menu-section .menu-card.is-entering:nth-child(2) { animation-delay: 45ms; }
  .deck-slide > .menu-section .menu-card.is-entering:nth-child(3) { animation-delay: 90ms; }
  .deck-slide > .menu-section .menu-card.is-entering:nth-child(4) { animation-delay: 135ms; }
  .deck-slide > .menu-section .menu-card.is-entering:nth-child(5) { animation-delay: 180ms; }
  .deck-slide > .menu-section .menu-card.is-entering:nth-child(6) { animation-delay: 225ms; }
  .deck-slide > .menu-section .menu-photo img { transition: transform .55s cubic-bezier(.2, .8, .25, 1); }
  .deck-slide > .menu-section .menu-card:hover .menu-photo img { transform: scale(1.055); }
  .deck-slide > .menu-section .order-link:active { transform: scale(.98); }
}
@media (prefers-reduced-motion: reduce) {
  .deck-slide > .menu-section .menu-card.is-entering { animation: none; }
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #ead4d7;
  border-radius: 999px;
  background: #fffdfb;
  color: #a85e70;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.theme-toggle:hover { transform: translateY(-1px); border-color: #d7aeb6; background: #fff3f0; }
.theme-toggle-icon { font-size: 16px; line-height: 1; }
.theme-toggle:focus-visible { outline: 2px solid #c8818e; outline-offset: 3px; }

body.theme-dark {
  color-scheme: dark;
  --paper: #211b20;
  --cream: #30242a;
  --ink: #f5e9e9;
  --muted: #c4afb5;
  --line: #4a3941;
  background:
    radial-gradient(ellipse at 10% 12%, #432e383d 0, transparent 26rem),
    radial-gradient(ellipse at 92% 23%, #382a334d 0, transparent 29rem),
    #211b20;
  color: #f5e9e9;
}
body.theme-dark .site-header,
body.theme-dark .nav-links,
body.theme-dark .slide-controls,
body.theme-dark .site-footer {
  border-color: #49373f;
  background: #261e24ed;
}
body.theme-dark .brand,
body.theme-dark .nav-links,
body.theme-dark .hero-proof,
body.theme-dark .hero-proof strong,
body.theme-dark .text-link,
body.theme-dark .section-heading h2,
body.theme-dark .story-copy h2,
body.theme-dark .footer-column h3,
body.theme-dark .footer-about p,
body.theme-dark .footer-column p,
body.theme-dark .footer-column a,
body.theme-dark .footer-bottom,
body.theme-dark .slide-status {
  color: #f1e2e5;
}
body.theme-dark .hero-copy > p,
body.theme-dark .section-heading > p,
body.theme-dark .story-copy > p,
body.theme-dark .menu-info p,
body.theme-dark .menu-footnote,
body.theme-dark .footer-column .closed-note {
  color: #c5b2b8;
}
body.theme-dark .deck-slide > .menu-section .menu-info p { color: #c5b2b8; }
body.theme-dark .hero h1 span,
body.theme-dark .section-heading h2 span,
body.theme-dark .story-copy h2 span { color: #e4a4b1; }
body.theme-dark .trust-strip { border-color: #49373f; background: #30242a; }
body.theme-dark .trust-inner span { color: #e0cbd0; }
body.theme-dark .menu-card {
  border-color: #4a3941;
  background: linear-gradient(115deg, #30252b, #2b2228 58%, #35262d);
  box-shadow: 0 8px 24px #100b0e55;
}
body.theme-dark .deck-slide > .menu-section .menu-card {
  border-color: #4a3941;
  background: linear-gradient(115deg, #30252b, #2b2228 58%, #35262d);
  box-shadow: 0 8px 24px #100b0e55;
}
body.theme-dark .menu-title-row h3 { color: #f5e9e9; }
body.theme-dark .deck-slide > .menu-section .menu-title-row h3 { color: #f5e9e9; }
body.theme-dark .menu-price {
  border-color: #59414a;
  background: #47333b;
  color: #f0b5bf;
  box-shadow: none;
}
body.theme-dark .menu-detail-button { border-color: #4a3941; color: #d5bdc3; }
body.theme-dark .menu-detail-button:hover { color: #ffc2cc; }
body.theme-dark .menu-group-heading {
  border-color: #4a3941;
  border-left-color: #c7838f;
  background: linear-gradient(110deg, #382a31, #2b2228 72%);
}
body.theme-dark .menu-group-heading h3 { color: #f5e9e9; }
body.theme-dark .menu-group-heading p { color: #c5b2b8; }
body.theme-dark .menu-group-icon { border-color: #59414a; background: #30252b; color: #e5a8b4; }
body.theme-dark .filter-list { border-color: #4a3941; background: #30252b; }
body.theme-dark .filter-button { color: #d2bdc3; }
body.theme-dark .filter-button:hover { background: #44323a; color: #ffe3e8; }
body.theme-dark .filter-button.is-active { background: #a65e70; color: white; }
body.theme-dark .story-section,
body.theme-dark .deck-slide:nth-child(3) > .story-section {
  border-color: #49373f;
  background: linear-gradient(115deg, #30242b, #282229 60%, #35252c);
}
body.theme-dark .story-photo > img { border-color: #4a3941; }
body.theme-dark .button-outline { border-color: #80515f; color: #f0bdc6; }
body.theme-dark .button-outline:hover { background: #a85e70; color: white; }
body.theme-dark .closing-cta {
  border-color: #66434d;
  background: linear-gradient(115deg, #593743, #764754 60%, #925965);
}
body.theme-dark .site-footer { color: #f1e2e5; }
body.theme-dark .footer-bottom { border-color: #49373f; }
body.theme-dark .cart-button,
body.theme-dark .theme-toggle {
  border-color: #59414a;
  background: #30252b;
  color: #f0bdc6;
}
body.theme-dark .cart-button:hover,
body.theme-dark .theme-toggle:hover { border-color: #98616f; background: #403039; }
body.theme-dark .menu-detail-panel,
body.theme-dark .cart-panel {
  border-color: #57414a;
  background: linear-gradient(160deg, #2b2228, #30252b 60%, #38282f);
  color: #f5e9e9;
}
body.theme-dark .menu-detail-content h2,
body.theme-dark .menu-reviews h3,
body.theme-dark .menu-review-form h4,
body.theme-dark .cart-header h2,
body.theme-dark .cart-item-name { color: #f5e9e9; }
body.theme-dark .menu-detail-description,
body.theme-dark .menu-review > p,
body.theme-dark .menu-review-note,
body.theme-dark .menu-review-form label,
body.theme-dark .cart-footer > p { color: #c5b2b8; }
body.theme-dark .menu-review,
body.theme-dark .menu-review-form input,
body.theme-dark .menu-review-form select,
body.theme-dark .menu-review-form textarea,
body.theme-dark .cart-customer-field input {
  border-color: #59434b;
  background: #241d22;
  color: #f5e9e9;
}
body.theme-dark .menu-review-heading { color: #f1e2e5; }
body.theme-dark .menu-detail-header,
body.theme-dark .menu-reviews,
body.theme-dark .menu-review,
body.theme-dark .cart-header,
body.theme-dark .cart-item,
body.theme-dark .cart-footer { border-color: #4a3941; }
body.theme-dark .cart-item-price,
body.theme-dark .cart-total strong { color: #f0b5bf; }
body.theme-dark .cart-close,
body.theme-dark .cart-quantity-button { border-color: #59434b; background: #30252b; color: #f0bdc6; }
body.theme-dark .cart-remove { color: #efa1b0; }
body.theme-dark .cart-customer-field { color: #f1e2e5; }
body.theme-dark .menu-label,
body.theme-dark .menu-label-green,
body.theme-dark .menu-photo::after { color: #875761; }
body.theme-dark .slide-arrow { border-color: #59434b; background: #30252b; color: #f0bdc6; }
body.theme-dark .slide-arrow:hover { background: #44323a; }
body.theme-dark .slide-dot { background: #74545e; }
body.theme-dark .slide-dot.is-active { background: linear-gradient(90deg, #bd7889, #e0a0aa); }

@media (max-width: 850px) {
  .theme-toggle { width: 38px; min-width: 38px; padding: 0; }
  .theme-toggle-label { display: none; }
  body.theme-dark .nav-links { border-color: #49373f; background: #261e24; }
}

.cute-cursor {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 52px;
  height: 50px;
  opacity: 0;
  pointer-events: none;
  transform: translate(10px, 10px) rotate(-7deg);
  transition: opacity .16s ease, transform .2s cubic-bezier(.2, .8, .25, 1);
}
body.has-cute-cursor .cute-cursor { opacity: 1; }
.cute-cursor img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 5px #59434a40);
}
.cute-cursor-sparkle {
  position: absolute;
  top: 1px;
  right: -2px;
  color: #d9a24e;
  font-size: 19px;
  text-shadow: 0 1px 5px #fff3cc;
  animation: cursor-sparkle 1.4s ease-in-out infinite;
}
.cute-cursor.is-hovering { transform: translate(10px, 10px) rotate(5deg) scale(1.12); }
.cute-cursor.is-clicking { animation: cursor-click .32s ease-out; }
.cursor-trail {
  position: fixed;
  z-index: 9999;
  color: #c97d8c;
  font-size: 16px;
  line-height: 1;
  pointer-events: none;
  text-shadow: 0 2px 6px #b76d7d4d;
  animation: cursor-trail-pop .65s ease-out forwards;
}
@keyframes cursor-sparkle {
  0%, 100% { opacity: .6; transform: scale(.8) rotate(-12deg); }
  50% { opacity: 1; transform: scale(1.2) rotate(12deg); }
}
@keyframes cursor-click {
  0% { transform: translate(10px, 10px) scale(1); }
  45% { transform: translate(10px, 10px) scale(.8) rotate(-10deg); }
  100% { transform: translate(10px, 10px) scale(1.06) rotate(7deg); }
}
@keyframes cursor-trail-pop {
  0% { opacity: 0; transform: translate(-50%, -40%) scale(.45) rotate(-15deg); }
  20% { opacity: .9; }
  100% { opacity: 0; transform: translate(-50%, -145%) scale(1.15) rotate(20deg); }
}

.deck-slide > .menu-section .menu-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 8px 0 2px;
  padding: 16px 20px;
  border: 1px solid #f0dfe0;
  border-left: 4px solid #c98591;
  border-radius: 14px;
  background: linear-gradient(110deg, #fff4f1, #fffdfb 72%);
}
.deck-slide > .menu-section .menu-group-heading[hidden] { display: none; }
.deck-slide > .menu-section .menu-group-heading h3 {
  margin: 0 0 4px;
  color: #59434a;
  font: 600 21px var(--serif);
}
.deck-slide > .menu-section .menu-group-heading p {
  margin: 0;
  color: #8d747b;
  font-size: 11px;
  line-height: 1.5;
}
.deck-slide > .menu-section .menu-group-icon {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #f0dfe0;
  border-radius: 50%;
  background: #fff;
  color: #bf7a89;
  font-size: 20px;
  box-shadow: 0 4px 12px #80525912;
}

@media (max-width: 560px) {
  .deck-slide > .menu-section .menu-group-heading { margin-top: 5px; padding: 12px 14px; }
  .deck-slide > .menu-section .menu-group-heading h3 { font-size: 18px; }
  .deck-slide > .menu-section .menu-group-heading p { max-width: 34ch; font-size: 10px; }
  .deck-slide > .menu-section .menu-group-icon { width: 36px; height: 36px; font-size: 17px; }
}
