:root {
  --meat-offwhite: #f6f6f2;
  --meat-soft: #ecebe5;
  --meat-charcoal: #443d33;
  --meat-muted: #6b6459;
  --meat-orange: #b85c38;
  --meat-line: #d9d8d1;
  --meat-font-sans: 'Pretendard Variable', Pretendard, system-ui, -apple-system, sans-serif;
  --meat-font-brand: 'ChosunCentennial', serif;
}

body.meat-page { margin: 0; background: var(--meat-offwhite); color: var(--meat-charcoal); font-family: var(--meat-font-sans); }
body.meat-page {
  --canvas: var(--meat-offwhite);
  --canvas-soft: var(--meat-soft);
  --canvas-softer: var(--meat-soft);
  --font-sans: var(--meat-font-sans);
  --font-display: var(--meat-font-sans);
  --font-body: var(--meat-font-sans);
  --font-brand: var(--meat-font-brand);
}
.meat-brand { font-family: var(--meat-font-brand); }
.meat-page .card-name,
.meat-page .other-menu-card h3 { font-family: var(--meat-font-sans); }
.meat-site-head { min-height: 60px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--meat-line); }
.meat-site-head a { min-height: 44px; display: inline-flex; align-items: center; }
.meat-hero { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 58%); background: var(--meat-charcoal); color: var(--meat-offwhite); }
.meat-hero__copy { display: flex; flex-direction: column; justify-content: center; }
.meat-hero__image { width: 100%; height: 100%; object-fit: cover; }
.meat-fact { position: relative; background: var(--meat-soft); border-bottom: 1px solid var(--meat-line); }
.meat-fact strong { color: var(--meat-orange); }
.meat-stamp { position: absolute; opacity: 1; transform: rotate(-10deg); }
.meat-motion-ready .meat-stamp { opacity: 0; transform: translateY(-18px) rotate(-16deg) scale(1.28); }
.meat-motion-ready .meat-stamp.is-visible { animation: meat-stamp-in 440ms cubic-bezier(.2,.9,.25,1.18) both; }
.meat-section { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(0,1.45fr); border-bottom: 1px solid var(--meat-line); }
.meat-menu-group { border-top: 1px solid var(--meat-line); border-bottom: 1px solid var(--meat-line); }
.meat-menu-row { min-height: 44px; border-color: var(--meat-line); background: transparent; }
@keyframes meat-stamp-in {
  0% { opacity: 0; transform: translateY(-18px) rotate(-16deg) scale(1.28); }
  62% { opacity: 1; transform: translateY(2px) rotate(-9deg) scale(.96); }
  82% { transform: translateY(-1px) rotate(-10.5deg) scale(1.03); }
  100% { opacity: 1; transform: translateY(0) rotate(-10deg) scale(1); }
}

@media (max-width: 720px) {
  .meat-hero { display: flex; flex-direction: column; }
  .meat-section { display: block; }
  .meat-site-head { min-height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  .meat-motion-ready .meat-stamp { opacity: 1; animation: none; transform: rotate(-10deg); }
}

/* Menu hub: one lead image, then uninterrupted menu rows. */
.meat-menu-page .meat-site-head,
.meat-menu-page .meat-hub-title,
.meat-menu-page main { max-width: 1120px; margin-inline: auto; padding-inline: 24px; }
.meat-menu-page .meat-site-head { padding-block: 8px; }
.meat-menu-page .meat-site-head a { color: var(--meat-charcoal); font-size: 14px; font-weight: 600; }
.meat-menu-page .meat-site-head .meat-brand { font-size: 18px; font-weight: 400; }
.meat-hub-title { background: var(--meat-charcoal); padding-top: clamp(64px, 10vw, 128px); padding-bottom: clamp(56px, 8vw, 96px); }
.meat-hub-title h1 { max-width: 720px; color: var(--meat-offwhite); font-size: clamp(40px, 6.2vw, 76px); font-weight: 700; letter-spacing: -.065em; line-height: 1.08; }
.meat-hub-title p { margin-top: 22px; color: var(--meat-offwhite); font-size: 17px; line-height: 1.7; opacity: .72; }
.meat-menu-page main { padding-top: clamp(48px, 5vw, 64px); padding-bottom: 96px; }
.meat-menu-page main > section + section { margin-top: 88px; }
.meat-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.meat-section-heading h2 { color: var(--meat-charcoal); font-size: 24px; letter-spacing: -.04em; line-height: 1.25; }
.meat-section-heading span { color: var(--meat-muted); font-size: 13px; }
.meat-menu-group { overflow: hidden; }
.meat-menu-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); color: var(--meat-charcoal); }
.meat-menu-feature img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; }
.meat-menu-feature > div { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(28px, 4vw, 52px); background: var(--meat-soft); }
.meat-menu-feature strong,
.meat-menu-row strong,
.meat-pending-list strong { display: block; font-size: 24px; letter-spacing: -.04em; line-height: 1.25; }
.meat-menu-feature span,
.meat-menu-row span,
.meat-pending-list span { display: block; margin-top: 9px; color: var(--meat-muted); font-size: 14px; line-height: 1.65; }
.meat-menu-row-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.meat-menu-row { display: grid; grid-template-columns: 132px minmax(0, 1fr); min-height: 144px; align-items: center; color: var(--meat-charcoal); border-top: 1px solid var(--meat-line); }
.meat-menu-row-grid .meat-menu-row + .meat-menu-row { border-left: 1px solid var(--meat-line); }
.meat-menu-row img { width: 100%; height: 100%; min-height: 144px; object-fit: cover; display: block; }
.meat-menu-row > div { padding: 24px; }
.meat-menu-row strong { font-size: 19px; }
.meat-menu-row:hover { background: var(--meat-soft); }
.meat-menu-row:focus-visible,
.meat-menu-feature:focus-visible { outline: 3px solid var(--meat-orange); outline-offset: -3px; }
.meat-pending-list { border-top: 1px solid var(--meat-line); border-bottom: 1px solid var(--meat-line); }
.meat-pending-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding: 22px 0; }
.meat-pending-list > div + div { border-top: 1px solid var(--meat-line); }
.meat-pending-list strong { font-size: 18px; color: var(--meat-muted); font-weight: 600; }
.meat-pending-list span { margin: 0; flex-shrink: 0; }

@media (max-width: 720px) {
  .meat-menu-page .meat-site-head,
  .meat-menu-page .meat-hub-title,
  .meat-menu-page main { padding-inline: 20px; }
  .meat-hub-title { padding-top: 72px; padding-bottom: 64px; }
  .meat-hub-title h1 { font-size: clamp(38px, 11vw, 52px); }
  .meat-menu-page main > section + section { margin-top: 64px; }
  .meat-menu-feature { display: block; }
  .meat-menu-feature img { min-height: 280px; aspect-ratio: 4 / 3; }
  .meat-menu-feature > div { min-height: 180px; }
  .meat-menu-row-grid { display: block; }
  .meat-menu-row-grid .meat-menu-row + .meat-menu-row { border-left: 0; }
  .meat-menu-row { grid-template-columns: 108px minmax(0, 1fr); min-height: 120px; }
  .meat-menu-row img { min-height: 120px; }
  .meat-menu-row > div { padding: 18px; }
  .meat-pending-list > div { display: block; }
  .meat-pending-list span { margin-top: 7px; }
}

/* Detail reference: one dark introduction, one fact band, then ruled content. */
.meat-detail-page { overflow-x: clip; }
.meat-detail-page .topnav,
.meat-detail-page .breadcrumb-nav,
.meat-detail-page .container,
.meat-detail-page .site-footer { max-width: 1120px; margin-inline: auto; }
.meat-detail-page .topnav { max-width: none; background: var(--meat-offwhite); border-color: var(--meat-line); }
.meat-detail-page .topnav-inner { max-width: 1120px; padding: 8px 24px; }
.meat-detail-page .topnav a { min-height: 44px; display: inline-flex; align-items: center; color: var(--meat-charcoal); font-family: var(--meat-font-sans); }
.meat-detail-page .topnav .topnav-brand { font-family: var(--meat-font-brand); font-weight: 400; }
.meat-detail-page .breadcrumb-nav { padding: 16px 24px 20px; }
.meat-detail-page .breadcrumb-list a { min-width: 0; min-height: 44px; display: inline-flex; align-items: center; }
.meat-detail-page .store-info dd a,
.meat-detail-page .store-map-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; }
.meat-detail-page .container { padding: 0 24px; }

.meat-detail-page .meat-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); height: 560px; min-height: 0; }
.meat-detail-page--landscape .meat-hero { grid-template-columns: minmax(0, 42%) minmax(0, 58%); }
.meat-detail-page--landscape .meat-hero__image { object-position: right center; }
.meat-detail-page .meat-hero__copy { padding: clamp(40px, 4vw, 44px); }
.meat-detail-page .meat-hero h1 { margin: 0; color: var(--meat-offwhite); font-family: var(--meat-font-sans); font-size: clamp(46px, 4.8vw, 56px); font-weight: 700; letter-spacing: -.065em; line-height: 1.08; }
.meat-detail-page .meat-hero__copy p { max-width: 390px; margin: 28px 0 0; color: var(--meat-offwhite); font-size: 17px; line-height: 1.7; opacity: .76; }
.meat-detail-page .meat-hero__image { height: 560px; min-height: 0; display: block; }
.meat-detail-page .meat-fact { min-height: 144px; display: flex; align-items: center; padding: 32px 172px 32px clamp(28px, 5vw, 64px); }
.meat-detail-page .meat-fact p { max-width: 670px; margin: 0; color: var(--meat-charcoal); font-size: clamp(20px, 2.5vw, 28px); font-weight: 600; letter-spacing: -.04em; line-height: 1.45; }
.meat-detail-page .meat-stamp { top: 18px; right: clamp(30px, 5vw, 64px); width: 96px; height: auto; }

.meat-detail-page .meat-content { border-top: 1px solid var(--meat-line); }
.meat-detail-page .meat-section { grid-template-columns: minmax(210px, .78fr) minmax(0, 1.45fr); gap: 0 clamp(40px, 6vw, 88px); padding: clamp(60px, 8vw, 92px) 0; background: transparent; }
.meat-detail-page .meat-section .section-title { grid-column: 1; margin: 0; color: var(--meat-charcoal); font-family: var(--meat-font-sans); font-size: clamp(26px, 3vw, 36px); font-weight: 700; letter-spacing: -.045em; line-height: 1.25; }
.meat-detail-page .meat-section > :not(.section-title) { grid-column: 2; }
.meat-detail-page .meat-section__body p { color: var(--meat-muted); font-size: 17px; line-height: 1.78; }
.meat-detail-page .meat-section__body strong,
.meat-detail-page .meat-section__body em { color: var(--meat-charcoal); font-weight: 650; }
.meat-detail-page .meat-section__body em { background: transparent; padding: 0; }
.meat-detail-page .section-image { margin: 38px 0; border-radius: 0; }
.meat-detail-page .section-image.diagram { padding: clamp(20px, 4vw, 40px); background: var(--meat-soft); }
.meat-detail-page .image-caption { margin: -20px 0 38px; color: var(--meat-muted); text-align: left; }
.meat-detail-page .grill-card { margin: 38px 0; padding: clamp(28px, 4vw, 44px); border-radius: 0; background: var(--meat-soft); }
.meat-detail-page .grill-card h3,
.meat-detail-page .grill-steps li,
.meat-detail-page .pairing-note { font-family: var(--meat-font-sans); }
.meat-detail-page .grill-card h3 { margin-bottom: 24px; color: var(--meat-charcoal); font-size: 17px; letter-spacing: -.02em; text-transform: none; }
.meat-detail-page .grill-steps li::before { background: var(--meat-charcoal); font-family: var(--meat-font-sans); }

.meat-detail-page .faq-list { margin: 0; }
.meat-detail-page .faq-item { border-color: var(--meat-line); }
.meat-detail-page .faq-q,
.meat-detail-page .store-branch-name { color: var(--meat-charcoal); font-family: var(--meat-font-sans); }
.meat-detail-page .faq-a,
.meat-detail-page .store-info dd { color: var(--meat-muted); }
.meat-detail-page .store-branches { margin-top: 32px; }
.meat-detail-page .store-info > div { border-color: var(--meat-line); }

.meat-detail-page .footer-cta { margin: 0; padding: clamp(60px, 8vw, 92px) 0; background: transparent; color: var(--meat-charcoal); border-bottom: 1px solid var(--meat-line); border-radius: 0; text-align: left; }
.meat-detail-page .footer-cta-title { color: var(--meat-charcoal); font-family: var(--meat-font-sans); font-size: clamp(30px, 4vw, 44px); }
.meat-detail-page .footer-cta-sub { color: var(--meat-muted); opacity: 1; }
.meat-detail-page .cta-buttons { max-width: none; margin: 32px 0 0; justify-content: flex-start; }
.meat-detail-page .cta-btn { min-height: 56px; padding: 14px 20px; background: transparent; border: 1px solid var(--meat-charcoal); border-radius: 0; color: var(--meat-charcoal); font-family: var(--meat-font-sans); }
.meat-detail-page .cta-btn:hover { background: var(--meat-soft); }

.meat-detail-page .other-menus { margin: 0; padding: clamp(60px, 8vw, 92px) 0; border-top: 0; }
.meat-detail-page .other-menus-title { margin-bottom: 28px; color: var(--meat-charcoal); font-family: var(--meat-font-sans); font-size: 26px; }
.meat-detail-page .other-menus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; overflow: visible; padding-bottom: 1px; }
.meat-detail-page .other-menu-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); flex: none; min-width: 0; color: var(--meat-charcoal); background: transparent; border: 0; border-top: 1px solid var(--meat-line); border-radius: 0; }
.meat-detail-page .other-menu-card:nth-child(even) { border-left: 1px solid var(--meat-line); }
.meat-detail-page .other-menu-card:nth-last-child(-n + 2) { border-bottom: 1px solid var(--meat-line); }
.meat-detail-page .other-menu-card:hover,
.meat-detail-page .other-menu-card:focus-visible { transform: none; background: var(--meat-soft); border-color: var(--meat-line); }
.meat-detail-page .other-menu-card-img { aspect-ratio: 1; }
.meat-detail-page .other-menu-card-body { display: flex; flex-direction: column; justify-content: center; padding: 22px; }
.meat-detail-page .other-menu-card h3,
.meat-detail-page .other-menu-card p { font-family: var(--meat-font-sans); }
.meat-detail-page .other-menu-card h3 { font-size: 17px; }

@media (max-width: 720px) {
  .meat-detail-page .topnav-inner,
  .meat-detail-page .container { padding-inline: 20px; }
  .meat-detail-page .breadcrumb-nav { padding-inline: 20px; }
  .meat-detail-page .meat-hero { height: auto; min-height: 0; }
  .meat-detail-page .meat-hero__copy { min-height: 326px; padding: 52px 24px; }
  .meat-detail-page .meat-hero h1 { font-size: clamp(40px, 12vw, 50px); }
  .meat-detail-page .meat-hero__copy p { margin-top: 22px; font-size: 16px; }
  .meat-detail-page .meat-hero__image { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .meat-detail-page .meat-fact { min-height: 132px; padding: 26px 104px 26px 24px; }
  .meat-detail-page .meat-fact p { font-size: 20px; }
  .meat-detail-page .meat-stamp { top: 24px; right: 18px; width: 72px; }
  .meat-detail-page .meat-section { display: block; padding: 60px 0; }
  .meat-detail-page .meat-section .section-title { margin-bottom: 30px; font-size: 28px; }
  .meat-detail-page .meat-section__body p { font-size: 16px; }
  .meat-detail-page .section-image { margin: 30px 0; }
  .meat-detail-page .image-caption { margin: -14px 0 30px; }
  .meat-detail-page .store-branches { grid-template-columns: 1fr; }
  .meat-detail-page .footer-cta { padding: 60px 0; }
  .meat-detail-page .cta-buttons { flex-direction: column; }
  .meat-detail-page .cta-btn { width: 100%; }
  .meat-detail-page .other-menus { padding: 60px 0; }
  .meat-detail-page .other-menus-grid { display: block; }
  .meat-detail-page .other-menu-card { grid-template-columns: 108px minmax(0, 1fr); border-left: 0; }
  .meat-detail-page .other-menu-card:nth-child(even) { border-left: 0; }
  .meat-detail-page .other-menu-card:nth-last-child(-n + 2) { border-bottom: 0; }
  .meat-detail-page .other-menu-card:last-child { border-bottom: 1px solid var(--meat-line); }
  .meat-detail-page .other-menu-card-body { padding: 18px; }
}
