
.menu-page { background: var(--mamma-cream); }
.menu-hero {
    min-height: 760px; padding: calc(var(--header-height) + 65px) 6vw 90px;
    display:grid; grid-template-columns:1fr .78fr; gap:6vw; align-items:center;
    background:
      radial-gradient(circle at 8% 18%, rgba(178,34,34,.09), transparent 28%),
      linear-gradient(90deg, transparent 0 68%, rgba(178,34,34,.06) 68% 100%),
      var(--mamma-cream);
    overflow:hidden;
}
.menu-hero__copy { position:relative; z-index:2; }
.menu-hero__copy h1 {
    margin:8px 0 25px; font:900 clamp(5rem,12vw,11rem)/.73 var(--font-heading);
    letter-spacing:-.04em;
}
.menu-hero__copy h1 span { color:var(--mamma-red); }
.menu-hero__copy > p:last-child { max-width:460px; font:1.3rem/1.5 var(--font-secondary); }
.menu-hero__poster {
    position:relative; width:min(520px,100%); aspect-ratio:4/5; margin:auto;
    background:var(--mamma-red); border:10px solid var(--mamma-black);
    box-shadow:22px 22px 0 var(--mamma-gray); transform:rotate(2deg);
    overflow:hidden; display:grid; place-items:center;
}
.menu-hero__poster::before { content:""; position:absolute; inset:18px; border:2px solid rgba(255,255,255,.6); z-index:3; }
.menu-hero__poster img {
    width:86%; height:72%; object-fit:contain; object-position:center;
    position:relative; z-index:2; filter:none; mix-blend-mode:normal;
}
.menu-hero__poster-label {
    position:absolute; top:28px; left:28px; z-index:5;
    padding:8px 10px; background:#fff; color:var(--mamma-red);
    font:800 .68rem/1 var(--font-heading); letter-spacing:.12em;
}
.menu-hero__poster-title {
    position:absolute; left:34px; bottom:55px; z-index:4; color:#fff;
    font:900 clamp(3.2rem,7vw,6.2rem)/.72 var(--font-heading); letter-spacing:-.03em;
}
.menu-hero__poster-title small { font-size:.35em; letter-spacing:.08em; }
.menu-hero__poster-meta {
    position:absolute; left:35px; right:35px; bottom:24px; z-index:5;
    display:flex; justify-content:space-between; color:#fff;
    font:800 .7rem/1 var(--font-heading); letter-spacing:.12em;
}
.menu-marquee { overflow:hidden; background:var(--mamma-black); color:#fff; border-block:4px solid var(--mamma-red); }
.menu-marquee div {
    width:max-content; padding:13px 0; font:900 .9rem/1 var(--font-heading); letter-spacing:.16em;
    animation: menu-marquee 24s linear infinite;
}
@keyframes menu-marquee { to { transform:translateX(-50%); } }

.menu-board { padding:120px 0 150px; }
.menu-board__header {
    display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:80px;
}
.menu-board__header h2 { margin:5px 0 0; font:900 clamp(4rem,9vw,8.5rem)/.72 var(--font-heading); }
.menu-board__header > p { max-width:420px; font:1.05rem/1.55 var(--font-secondary); }

.menu-category { margin-top:100px; }
.menu-category__title { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:15px; margin-bottom:35px; }
.menu-category__title span { color:var(--mamma-red); font:900 .8rem/1 var(--font-heading); letter-spacing:.12em; }
.menu-category__title h3 { margin:0; font:900 clamp(2.5rem,5vw,5rem)/.75 var(--font-heading); }
.menu-category__title i { height:2px; background:var(--mamma-black); opacity:.18; }

.menu-poster-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.menu-poster-grid--two { grid-template-columns:repeat(2,1fr); max-width:900px; }
.menu-poster-grid--three { grid-template-columns:repeat(3,1fr); }

.menu-poster {
    background:#fff; border:1px solid rgba(17,17,17,.12); box-shadow:9px 9px 0 rgba(17,17,17,.09);
    transition:transform .35s ease, box-shadow .35s ease;
}
.menu-poster:nth-child(2n) { transform:translateY(18px) rotate(.35deg); }
.menu-poster:hover { transform:translateY(-8px) rotate(-.4deg); box-shadow:14px 14px 0 rgba(17,17,17,.13); }
.menu-poster__image {
    position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--mamma-red);
    display:grid; place-items:center;
}
.menu-poster__image::before {
    content:""; position:absolute; inset:13px; border:1px solid rgba(255,255,255,.7); z-index:3; pointer-events:none;
}
.menu-poster__image img {
    width:100%; height:100%; padding:22px; object-fit:contain; object-position:center;
    display:block; position:relative; z-index:2; mix-blend-mode:normal; filter:none;
}
.menu-poster__image > span {
    position:absolute; left:20px; top:20px; z-index:5; padding:6px 8px;
    background:#fff; color:var(--mamma-red); font:800 .62rem/1 var(--font-heading); letter-spacing:.11em;
}
.menu-poster__info { padding:23px 22px 25px; position:relative; min-height:165px; }
.menu-poster__info small { color:var(--mamma-red); font:800 .65rem/1 var(--font-heading); letter-spacing:.14em; }
.menu-poster__info h4 { margin:7px 0 8px; font:900 clamp(2rem,3vw,3.1rem)/.82 var(--font-heading); }
.menu-poster__info strong {
    position:absolute; right:22px; top:24px; padding:9px 10px; background:var(--mamma-black); color:#fff;
    font:900 1.15rem/1 var(--font-heading); letter-spacing:.03em;
}
.menu-poster__info p { margin:0; max-width:90%; font:1rem/1.45 var(--font-secondary); }

.menu-end {
    padding:0 0 150px; display:flex; flex-direction:column; align-items:center; gap:35px;
}
.menu-end__poster {
    width:min(850px,100%); padding:70px; text-align:center; color:#fff; background:var(--mamma-red);
    border:9px solid var(--mamma-black); box-shadow:18px 18px 0 var(--mamma-gray);
    position:relative; overflow:hidden;
}
.menu-end__poster::before, .menu-end__poster::after {
    content:""; position:absolute; width:120px; height:120px;
    background:repeating-conic-gradient(#fff 0 25%, var(--mamma-red) 0 50%) 50% / 42px 42px;
    opacity:.95;
}
.menu-end__poster::before { left:-20px; top:-20px; }
.menu-end__poster::after { right:-20px; bottom:-20px; }
.menu-end__poster p { margin:0 0 25px; font:800 .8rem/1 var(--font-heading); letter-spacing:.18em; }
.menu-end__poster h2 { margin:0; font:900 clamp(5rem,11vw,9rem)/.72 var(--font-heading); }
.menu-end__poster span { display:block; margin-top:30px; font:800 .75rem/1 var(--font-heading); letter-spacing:.18em; }

@media(max-width:950px) {
    .menu-hero { grid-template-columns:1fr; }
    .menu-hero__poster { width:min(500px,90vw); }
    .menu-poster-grid, .menu-poster-grid--three { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:620px) {
    .menu-hero { padding-top:130px; }
    .menu-hero__copy h1 { font-size:5rem; }
    .menu-board { padding-top:80px; }
    .menu-board__header { flex-direction:column; align-items:flex-start; }
    .menu-poster-grid, .menu-poster-grid--two, .menu-poster-grid--three { grid-template-columns:1fr; }
    .menu-poster:nth-child(2n) { transform:none; }
    .menu-end__poster { padding:50px 24px; }
}


/* V1.7 — vintage coupon callout */
.coupon-zone {
  position:relative; isolation:isolate; overflow:hidden;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  align-items:center; gap:clamp(30px,6vw,90px);
  margin:20px auto 110px; width:min(1320px,calc(100% - 72px));
  padding:clamp(34px,5vw,72px);
  background:#fff; border:3px solid var(--mamma-black);
  box-shadow:12px 12px 0 var(--mamma-gray);
}
.coupon-zone::before {
  content:""; position:absolute; inset:14px; border:1px dashed rgba(17,17,17,.22);
  pointer-events:none; z-index:-1;
}
.coupon-zone__copy { position:relative; z-index:2; }
.coupon-zone__copy h2 { font-size:clamp(3.4rem,6.5vw,6.5rem); line-height:.82; margin:10px 0 22px; }
.coupon-zone__copy > p:not(.eyebrow) { max-width:480px; font:1.15rem/1.5 var(--font-secondary); }
.coupon-form { margin-top:28px; max-width:560px; }
.coupon-form__label { display:block; margin-bottom:10px; color:var(--mamma-red); font:900 .82rem/1 var(--font-heading); letter-spacing:.14em; }
.coupon-form__row { display:flex; gap:0; border:2px solid var(--mamma-black); box-shadow:5px 5px 0 var(--mamma-gray); }
.coupon-form__row input { min-width:0; flex:1; width:100%; border:0; outline:0; padding:17px 16px; background:#fff; color:var(--mamma-black); font:700 1rem/1.2 var(--font-heading); letter-spacing:.06em; }
.coupon-form__row input:focus-visible { box-shadow:inset 0 0 0 3px var(--mamma-red); }
.coupon-form__row button { flex:0 0 auto; border:0; border-left:2px solid var(--mamma-black); padding:0 22px; background:var(--mamma-red); color:#fff; cursor:pointer; font:900 .82rem/1 var(--font-heading); letter-spacing:.08em; }
.coupon-form__row button:hover { background:#8f1b1b; }
.coupon-form__feedback { min-height:1.4em; margin:16px 0 6px; font:700 .98rem/1.4 var(--font-secondary); }
.coupon-form__feedback.is-success { color:#17663a; }
.coupon-form__feedback.is-error { color:var(--mamma-red); }
.coupon-form__fineprint { margin:0; color:#595959; font: .82rem/1.45 var(--font-secondary); }
.coupon-burst-wrap { position:relative; min-height:330px; display:grid; place-items:center; }
.coupon-burst {
  position:relative; isolation:isolate; width:min(100%,420px); aspect-ratio:1.12;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:35px; text-align:center; color:var(--mamma-red); background:#ffe600;
  clip-path:polygon(50% 0%,59% 16%,75% 5%,76% 24%,96% 20%,85% 38%,100% 50%,82% 60%,94% 78%,73% 77%,68% 98%,52% 84%,38% 100%,31% 81%,10% 88%,17% 67%,0 56%,17% 43%,5% 24%,27% 27%,31% 7%,44% 19%);
  filter:drop-shadow(7px 9px 0 rgba(17,17,17,.35));
  transform:rotate(-8deg);
}
.coupon-burst::before { content:""; position:absolute; inset:8%; border:3px solid var(--mamma-red); clip-path:polygon(50% 0%,59% 16%,75% 5%,76% 24%,96% 20%,85% 38%,100% 50%,82% 60%,94% 78%,73% 77%,68% 98%,52% 84%,38% 100%,31% 81%,10% 88%,17% 67%,0 56%,17% 43%,5% 24%,27% 27%,31% 7%,44% 19%); }
.coupon-burst__small,.coupon-burst__bottom { position:relative; z-index:1; font:900 clamp(.7rem,1.1vw,.95rem)/1 var(--font-heading); letter-spacing:.17em; }
.coupon-burst strong { position:relative; z-index:1; display:block; margin:12px 0; font:900 clamp(2.7rem,5.5vw,5rem)/.83 var(--font-heading); letter-spacing:-.04em; text-shadow:3px 3px 0 rgba(255,255,255,.8); }
.coupon-burst__bottom { font-size:.68rem; }
.coupon-burst-wrap__spark { position:absolute; right:3%; top:4%; color:var(--mamma-red); font-size:3.4rem; transform:rotate(18deg); }
@media(max-width:760px) {
  .coupon-zone { width:calc(100% - 36px); margin:10px auto 65px; padding:30px 23px 26px; display:flex; flex-direction:column; align-items:stretch; gap:12px; box-shadow:7px 7px 0 var(--mamma-gray); }
  .coupon-zone::before { inset:8px; }
  .coupon-zone__copy h2 { font-size:clamp(3rem,13vw,4.5rem); }
  .coupon-zone__copy > p:not(.eyebrow) { font-size:1rem; }
  .coupon-form { margin-top:23px; }
  .coupon-form__row { flex-direction:column; }
  .coupon-form__row input { min-height:54px; font-size:1rem; }
  .coupon-form__row button { min-height:52px; border-left:0; border-top:2px solid var(--mamma-black); font-size:.9rem; }
  .coupon-burst-wrap { min-height:240px; margin-top:0; }
  .coupon-burst { width:min(78vw,310px); padding:26px; }
  .coupon-burst strong { font-size:clamp(2.5rem,12vw,3.6rem); }
  .coupon-burst__small { font-size:.75rem; }
}

/* Green Mamma: official $0 burger conversion option */
.green-mamma-note{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.5rem 0 2.5rem;padding:1.5rem 1.75rem;border:1px solid rgba(181,31,42,.22);border-radius:18px;background:linear-gradient(110deg,#f4ead8,#fffaf1);box-shadow:0 10px 28px rgba(30,20,12,.06)}
.green-mamma-note__eyebrow{display:block;color:#b51f2a;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.green-mamma-note h3{margin:.25rem 0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.1}
.green-mamma-note p{margin:.35rem 0 0;max-width:42rem}
.green-mamma-note>strong{flex:0 0 auto;color:#b51f2a;font-size:2rem;white-space:nowrap}
.green-mamma-note>strong small{display:block;font-size:.65rem;letter-spacing:.12em;text-align:center}
@media(max-width:600px){.green-mamma-note{align-items:flex-start;padding:1.1rem;gap:.75rem}.green-mamma-note>strong{font-size:1.5rem}}
