/* Scoped to the lunch guide; reuses FitCalc's typography, green, dark panels and 1100px Guides container. */
.lunch-page, .lunch-feature { width: calc(100% - 32px); max-width: 1100px; margin-inline: auto; }
.lunch-page { padding-bottom: 64px; }
.lunch-page, .lunch-feature { font-family: var(--public-hero-font); }
.lunch-page h1, .lunch-page h2, .lunch-page h3, .lunch-feature h2 { letter-spacing: -.025em; line-height: 1.2; }
.lunch-page h2 { font-size: clamp(26px, 3vw, 34px); margin-bottom: 16px; }
.lunch-page h3 { font-size: 20px; margin-bottom: 12px; }
.lunch-page p, .lunch-feature p { line-height: 1.7; }
.lunch-eyebrow { color: #08785d; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 12px; }
.lunch-breadcrumb { padding: 24px 0 18px; font-size: 13px; color: #4d5954; }
.lunch-breadcrumb a, .lunch-text-link, .lunch-recipe-notes a, .guide-signup-consent a, .guide-signup-card noscript a { color: #08785d; text-decoration: underline; text-underline-offset: .2em; }
.lunch-text-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.lunch-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 22px; border: 1px solid #08785d; border-radius: 7px; background: #08785d; color: #fff; font: inherit; font-size: 15px; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; }
.lunch-button:hover { background: #075f4c; border-color: #075f4c; }
.lunch-button:disabled { opacity: .7; cursor: wait; }
.lunch-page a:focus-visible, .lunch-feature a:focus-visible, .guide-signup-form input:focus-visible, .guide-signup-form button:focus-visible { outline: 3px solid #00c896; outline-offset: 4px; }
.lunch-hero { display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: center; gap: 40px; max-width: none; margin: 0; padding: 36px 44px; background: #101b17; border-radius: 18px; color: #fff; text-align: left; }
.lunch-hero h1 { max-width: 620px; margin: 0 0 18px; color: #fff; font-size: clamp(32px, 4vw, 48px); }
.lunch-hero p { margin-inline: 0; }
.lunch-hero p:not(.lunch-eyebrow) { max-width: 590px; color: #d6e0dc; margin-bottom: 24px; font-size: 17px; }
.lunch-hero .lunch-eyebrow { color: #40e0b7; }
.lunch-cover { display: flex; flex-direction: column; justify-content: space-between; min-height: 244px; padding: 22px; border: 1px solid #3d6857; border-radius: 10px; background: #182e24; color: #fff; box-shadow: 7px 7px 0 rgba(0, 0, 0, .12); }
.lunch-cover-brand { font-size: 11px; color: #40e0b7; font-weight: 700; letter-spacing: .16em; }
.lunch-cover strong { padding: 20px 0 14px; font-size: 23px; line-height: 1.2; letter-spacing: -.02em; }
.lunch-cover > span:not(.lunch-cover-brand) { color: #d6e0dc; font-size: 12px; }
.lunch-cover small { margin-top: 18px; color: #b8c4bf; font-size: 9px; letter-spacing: .1em; }
.lunch-cover.lunch-cover-image { display: block; width: 100%; height: auto; min-height: 0; padding: 0; object-fit: contain; }
.lunch-feature { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 30px; align-items: center; padding: 24px 32px; margin-top: 28px; border: 1px solid #d0dfd7; border-radius: 14px; background: #eff7f3; }
.lunch-feature h2 { font-size: clamp(24px, 3vw, 30px); margin: 0 0 10px; }
.lunch-feature p:not(.lunch-eyebrow) { max-width: 670px; color: #4d5954; margin: 0 0 16px; }
.lunch-feature .lunch-cover { min-height: 176px; padding: 16px; }
.lunch-feature .lunch-cover strong { font-size: 18px; padding: 12px 0; }
.lunch-feature .lunch-cover small { margin-top: 12px; font-size: 8px; }
.lunch-feature .lunch-cover-image { min-height: 0; padding: 0; }
.lunch-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: start; gap: 52px; padding: 48px 0; }
.lunch-intro > div > p:not(.lunch-eyebrow) { color: #4d5954; margin-bottom: 16px; }
.guide-signup-card { padding: 28px; border: 1px solid #d0dfd7; border-radius: 14px; background: #fff; scroll-margin-top: 140px; }
.guide-signup-card h2 { font-size: 25px; }
.guide-signup-form label { display: block; margin: 18px 0 8px; font-size: 14px; font-weight: 600; }
.guide-signup-form input[type=email] { display: block; width: 100%; min-height: 48px; border: 1px solid #84948b; border-radius: 7px; padding: 12px; font: inherit; background: #fff; color: #111; }
.guide-signup-form input[aria-invalid=true] { border-color: #a32929; }
.guide-signup-form button { width: 100%; margin-top: 12px; }
.guide-signup-status { min-height: 22px; margin: 10px 0; color: #a32929; font-size: 13px; }
.guide-signup-consent { color: #4d5954; font-size: 12px; }
.guide-signup-success p { color: #4d5954; margin-bottom: 12px; }
.guide-signup-card [hidden] { display: none; }
.lunch-inside { padding: 32px 0 44px; border-top: 1px solid #d0dfd7; }
.lunch-inside-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 26px; }
.lunch-inside-grid article > span { display: inline-block; color: #08785d; font-weight: 700; font-size: 13px; margin-bottom: 14px; }
.lunch-inside-grid p { color: #4d5954; font-size: 15px; }
.lunch-recipe { padding: 32px; border: 1px solid #d0dfd7; border-radius: 14px; background: #fff; scroll-margin-top: 140px; }
.lunch-recipe > header { max-width: none; margin: 0; padding: 0; text-align: left; }
.lunch-recipe > header p { margin-inline: 0; }
.lunch-recipe header > p:last-child { color: #4d5954; }
.lunch-nutrition-label { margin: 22px 0 -12px; color: #4d5954; font-size: 13px; }
.lunch-nutrition { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0 32px; padding: 18px; border-radius: 8px; background: #eff7f3; }
.lunch-nutrition dt { color: #4d5954; font-size: 12px; }
.lunch-nutrition dd { margin-top: 4px; font-size: 20px; font-weight: 600; }
.lunch-recipe-columns { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 44px; }
.lunch-recipe ul, .lunch-recipe ol { margin: 0; padding-left: 22px; }
.lunch-recipe li { color: #37443d; line-height: 1.7; margin-bottom: 12px; font-size: 15px; }
.lunch-recipe li::marker { color: #08785d; font-weight: 600; }
.lunch-recipe-notes { border-top: 1px solid #d0dfd7; margin-top: 24px; padding-top: 22px; }
.lunch-recipe-notes p { margin-bottom: 10px; color: #4d5954; font-size: 13px; }
.lunch-next { text-align: center; padding: 44px 12px 0; }
.lunch-next p { margin-bottom: 20px; color: #4d5954; }
.lunch-next .lunch-text-link { display: flex; width: fit-content; justify-content: center; margin: 12px auto 0; }
/* Use the shared contextual-link animation, focus and reduced-motion rules. */
.lunch-text-link.rich-text-action { text-decoration: none; }
/* Reuse the homepage's primary-action class and exact visual contract. */
.lunch-page .home-primary-action, .lunch-feature .home-primary-action {
 display: inline-flex; min-height: 52px; padding: 0 24px; align-items: center; justify-content: center;
 border: 1px solid #0d1d18; border-radius: 999px; background: #0d1d18; color: #fff;
 font-family: var(--public-hero-font); font-size: 14px; font-weight: 700; letter-spacing: .04em;
 text-decoration: none; text-transform: uppercase; cursor: pointer;
 transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.lunch-page .home-primary-action:hover, .lunch-feature .home-primary-action:hover { border-color: #18352e; background: #18352e; }
.lunch-page .home-primary-action:active, .lunch-feature .home-primary-action:active { border-color: #07110e; background: #07110e; }
.lunch-page .home-primary-action:focus-visible, .lunch-feature .home-primary-action:focus-visible { outline: 3px solid #00d3a0; outline-offset: 4px; }
.lunch-hero h1 { font-family: var(--public-hero-font); font-weight: var(--public-hero-title-weight); letter-spacing: var(--public-hero-title-spacing); line-height: var(--public-hero-title-line-height); }
@media (prefers-reduced-motion: reduce) { .lunch-page .home-primary-action, .lunch-feature .home-primary-action { transition: none; } }
@media (max-width: 700px) {
 .lunch-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 24px; }
 .lunch-hero .lunch-cover { display: none; }
 .lunch-hero h1 { font-size: 34px; }
 .lunch-hero p:not(.lunch-eyebrow) { font-size: 16px; }
 .lunch-feature { grid-template-columns: 105px minmax(0, 1fr); padding: 20px; gap: 20px; }
 .lunch-feature .lunch-cover { min-height: 158px; padding: 12px; }
 .lunch-feature .lunch-cover strong { font-size: 15px; }
 .lunch-feature .lunch-cover-image { min-height: 0; padding: 0; }
 .lunch-feature .lunch-cover > span:not(.lunch-cover-brand) { font-size: 10px; }
 .lunch-feature .lunch-button { grid-column: 1 / -1; }
 .lunch-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px 0; }
 .guide-signup-card, .lunch-recipe { padding: 24px; }
 .lunch-inside-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .lunch-recipe-columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .lunch-nutrition { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
 .lunch-feature { display: block; }
 .lunch-feature .lunch-cover { display: none; }
 .lunch-feature .lunch-button { width: 100%; }
 .lunch-page h2 { font-size: 26px; }
 .guide-signup-card, .lunch-recipe { padding: 20px; }
}
