.local-seo-page { background: var(--cream-light); }
.local-seo-page main { overflow: clip; }
.local-seo-page h1 { font-size: clamp(3rem, 8vw, 6.4rem); }
.local-seo-page h2 { font-size: clamp(2.25rem, 5vw, 4rem); }
.local-seo-page h3 { font-size: clamp(1.45rem, 3vw, 2.2rem); }
.nav-specials { padding: 9px 13px !important; border-radius: 999px; background: var(--yellow); color: var(--cherry-dark) !important; }
.desktop-nav { gap: clamp(10px, 1.5vw, 24px); }
.desktop-nav > a { font-size: clamp(.78rem, 1vw, 1rem); white-space: nowrap; }
.breadcrumbs { margin-bottom: 30px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: .84rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: 8px; opacity: .55; }
.breadcrumbs a { text-underline-offset: 4px; }
.eyebrow { display: inline-block; margin-bottom: 14px; color: var(--cherry); font-size: .78rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.hero-actions, .local-cta-actions, .specials-welcome-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.local-hero { position: relative; padding: clamp(52px, 8vw, 100px) 0; background: linear-gradient(145deg, var(--cream) 0 62%, #ffe7b0 62%); border-bottom: 8px solid var(--cherry); }
.local-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); align-items: center; gap: clamp(34px, 7vw, 90px); }
.local-hero-copy > p { max-width: 720px; margin-top: 24px; font-size: clamp(1.08rem, 2vw, 1.32rem); font-weight: 700; line-height: 1.65; }
.local-image { display: block; }
.local-hero .local-image { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border: 10px solid var(--white); border-radius: 42% 42% 20px 20px; box-shadow: var(--shadow); transform: rotate(2deg); }
.local-hero .local-image img { width: 100%; height: 100%; object-fit: cover; }
.article-layout { padding: clamp(64px, 9vw, 120px) 0; }
.article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: clamp(40px, 7vw, 90px); }
.article-body { display: grid; gap: 54px; }
.article-section { padding-bottom: 48px; border-bottom: 2px dashed var(--line); }
.article-section h2 { max-width: 760px; }
.article-section p { max-width: 760px; margin-top: 20px; font-size: 1.08rem; line-height: 1.78; }
.visit-card { position: sticky; top: calc(var(--header-height) + 24px); padding: 30px; border: 3px solid var(--cherry); border-radius: 28px 28px 28px 8px; background: var(--white); box-shadow: 10px 10px 0 var(--yellow); }
.visit-card h2 { font-size: 2.5rem; }
.visit-card p, .visit-card > a { display: block; margin-top: 16px; }
.visit-card .button { margin-top: 24px; }
.local-cta { padding: clamp(60px, 8vw, 100px) 0; background: var(--cherry); color: var(--white); }
.local-cta .eyebrow, .local-cta h2 { color: var(--yellow); }
.local-cta p { max-width: 680px; margin-top: 18px; font-size: 1.1rem; }
.local-cta-inner { display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.button-outline-light { border-color: var(--white); color: var(--white); background: transparent; box-shadow: none; }
.related-section { padding: clamp(62px, 9vw, 110px) 0; background: var(--cream); }
.related-grid, .home-conversion-grid, .home-guides-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.related-card, .home-conversion-grid article, .home-guides-grid article { padding: 28px; border: 2px solid var(--cherry); border-radius: 24px 24px 24px 8px; background: var(--white); box-shadow: 7px 7px 0 var(--pink-soft); }
.related-card > span, .home-conversion-grid article > span { color: var(--cherry); font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.related-card h3, .home-conversion-grid h3, .home-guides-grid h3 { margin-top: 14px; font-size: 1.8rem; }
.related-card p, .home-conversion-grid p, .home-guides-grid p { margin-top: 14px; }
.text-link { display: inline-flex; gap: 6px; margin-top: 18px; color: var(--cherry); font-weight: 900; text-underline-offset: 4px; }
.menu-index-hero, .menu-html-hero, .guides-hero, .specials-hero { padding: clamp(58px, 9vw, 110px) 0; background: var(--cream); border-bottom: 7px solid var(--cherry); }
.menu-index-hero p, .menu-html-hero p, .guides-hero p, .specials-hero p { max-width: 800px; margin-top: 22px; font-size: 1.18rem; font-weight: 700; }
.menu-choice-section, .menu-picker-section, .menu-html-layout, .specials-list-section, .faq-section { padding: clamp(58px, 8vw, 100px) 0; }
.menu-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.menu-choice-card { overflow: hidden; border: 3px solid var(--cherry); border-radius: 30px 30px 30px 8px; background: var(--white); box-shadow: 10px 10px 0 var(--yellow); }
.menu-choice-card .local-image { aspect-ratio: 2 / 1; background: var(--cream); }
.menu-choice-card img { width: 100%; height: 100%; object-fit: contain; }
.menu-choice-card > div { padding: 30px; }
.menu-choice-card p { margin-top: 14px; }
.menu-choice-card .button { margin-top: 24px; }
.menu-anchor-nav { position: sticky; z-index: 4; top: var(--header-height); padding: 20px; border: 2px solid var(--cherry); border-radius: 20px; background: var(--cream-light); box-shadow: 0 10px 30px rgba(74,9,18,.12); }
.menu-anchor-nav div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.menu-anchor-nav a { padding: 8px 12px; border-radius: 999px; background: var(--cherry); color: var(--white); font-size: .85rem; font-weight: 900; text-decoration: none; }
.menu-pricing-note { margin: 28px 0; padding: 18px 22px; border-left: 7px solid var(--yellow); background: var(--white); }
.menu-html-section { padding: 46px 0; border-bottom: 3px solid var(--line); }
.menu-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.menu-section-heading > span { color: var(--cherry); font-weight: 900; }
.menu-html-section ul { display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; }
.menu-html-section li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line); }
.menu-html-section h3 { font-family: var(--sans); font-size: 1.2rem; line-height: 1.2; letter-spacing: 0; }
.menu-html-section li p { max-width: 760px; margin-top: 7px; color: #5d403b; }
.menu-html-section li > strong { color: var(--cherry); white-space: nowrap; }
.back-to-sections { display: inline-block; margin-top: 22px; font-weight: 900; }
.menu-board-reference { padding: 70px 0; background: var(--blue); color: var(--white); }
.menu-board-reference h2 { color: var(--yellow); }
.menu-board-reference p { margin-top: 18px; }
.menu-board-reference-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 40px; }
.menu-board-reference .local-image { overflow: hidden; border: 6px solid var(--white); border-radius: 22px; }
.menu-board-reference .local-image img { width: 100%; height: auto; }
.menu-board-reference .button { margin-top: 24px; }
.specials-hero-grid { display: grid; grid-template-columns: 1fr 280px; align-items: center; gap: 50px; }
.specials-hero .local-image { overflow: hidden; border: 8px solid var(--white); border-radius: 50%; box-shadow: var(--shadow); }
.specials-hero .local-image img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.section-heading-row, .home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.specials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 22px; margin-top: 34px; }
.special-card, .specials-welcome { padding: 30px; border: 3px solid var(--cherry); border-radius: 24px; background: var(--white); box-shadow: 8px 8px 0 var(--yellow); }
.specials-welcome { grid-column: 1 / -1; }
.specials-welcome p { max-width: 760px; margin-top: 16px; }
.special-card p, .special-card small, .special-card strong { display: block; margin-top: 12px; }
.special-card strong { color: var(--cherry); font-size: 1.35rem; }
.lunch-next-steps { padding: 70px 0; background: var(--blue); color: var(--white); }
.next-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.next-step-grid article { padding: 26px; border: 2px solid var(--white); border-radius: 24px; }
.next-step-grid h2 { color: var(--yellow); font-size: 2rem; }
.next-step-grid p { margin-top: 14px; }
.next-step-grid .button { margin-top: 22px; }
.faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 30px; }
.faq-grid .faq-item { padding: 22px; border: 2px solid var(--line); border-radius: 18px; background: var(--white); }
.faq-grid .faq-item h3 { margin: 0; color: var(--ink); font-family: var(--sans); font-size: 1.08rem; line-height: 1.35; letter-spacing: 0; }
.faq-grid .faq-item p { margin-top: 10px; line-height: 1.55; }
.faq-directions-link { color: var(--blue); font-weight: 900; text-underline-offset: 4px; }
.guides-hero { background: var(--blue); color: var(--white); }
.guides-hero h1, .guides-hero .eyebrow { color: var(--yellow); }
.guide-category { padding: clamp(58px, 8vw, 100px) 0; }
.guide-category:nth-of-type(even) { background: var(--cream); }
.guide-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 34px; }
.guide-card { overflow: hidden; border: 2px solid var(--cherry); border-radius: 24px; background: var(--white); box-shadow: 7px 7px 0 var(--pink-soft); }
.guide-card .local-image { aspect-ratio: 4 / 3; overflow: hidden; }
.guide-card .local-image img { width: 100%; height: 100%; object-fit: cover; }
.guide-card > div { padding: 24px; }
.guide-card time { color: var(--cherry); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.guide-card h3 { margin-top: 12px; font-size: 1.65rem; }
.guide-card p { margin-top: 14px; }
.home-specials-section, .home-conversion-section, .home-guides-section { padding: clamp(64px, 9vw, 110px) 0; }
.home-specials-section { background: var(--cream); }
.home-conversion-section { background: var(--cream-light); }
.home-guides-section { background: var(--blue); color: var(--white); }
.home-guides-section h2, .home-guides-section .eyebrow { color: var(--yellow); }
.home-guides-grid article { color: var(--ink); }
.home-guides-section > .section-shell > .button { margin-top: 34px; }
@media (max-width: 1050px) {
  .desktop-nav > a:not(.nav-specials) { display: none; }
  .local-hero-grid, .article-grid, .menu-board-reference-grid { grid-template-columns: 1fr; }
  .local-hero .local-image { width: min(100%, 560px); max-height: 620px; }
  .visit-card { position: static; }
  .guide-card-grid, .related-grid, .home-conversion-grid, .home-guides-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .local-seo-page h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
  .local-seo-page h2 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .local-hero, .menu-index-hero, .menu-html-hero, .guides-hero, .specials-hero { padding-top: 40px; }
  .local-hero-grid, .specials-hero-grid, .menu-choice-grid, .next-step-grid, .faq-grid, .guide-card-grid, .related-grid, .home-conversion-grid, .home-guides-grid { grid-template-columns: 1fr; }
  .local-hero .local-image { aspect-ratio: 4 / 3; border-radius: 28px 28px 28px 8px; transform: none; }
  .local-cta-inner, .section-heading-row, .home-section-heading { align-items: stretch; flex-direction: column; }
  .local-cta-actions, .hero-actions { flex-direction: column; }
  .local-cta-actions .button, .hero-actions .button { width: 100%; }
  .menu-anchor-nav { position: static; }
  .menu-html-section li { grid-template-columns: 1fr; gap: 8px; }
  .menu-html-section li > strong { white-space: normal; }
  .menu-board-reference-grid { grid-template-columns: 1fr; }
  .specials-hero .local-image { width: 220px; }
  .local-seo-page .cow-guide { display: none !important; }
}
