/* One-page scale study: default Kaoyibei brand page only. No new colors or flows. */
body.public-warm.brand-landing-body.brand-scale {
  --scale-content: 1040px;
  --scale-section: 64px;
  --scale-module: 24px;
  --scale-item: 16px;
  --scale-title: clamp(28px, 2.8125vw, 36px);
  --scale-heading: clamp(21px, 1.875vw, 24px);
  --scale-body: 15px;
  --scale-caption: 13px;
  --scale-radius: 6px;
  font-size: var(--scale-body);
  line-height: 1.75;
  letter-spacing: .01em;
}
body.public-warm.brand-landing-body.brand-scale .container {
  max-width: calc(var(--scale-content) + 48px);
  padding: 40px 24px 64px;
  gap: var(--scale-section);
}
body.public-warm.brand-landing-body.brand-scale .site-header {
  --tk-shared-header-height: 72px;
  height: 72px;
  min-height: 0;
}
body.public-warm.brand-landing-body.brand-scale .site-header-inner.is-brand-context {
  max-width: calc(var(--scale-content) + 48px);
  height: 100%;
  min-height: 0;
  padding: 0 24px;
}
body.public-warm.brand-landing-body.brand-scale .site-header .brand-link { min-height: 48px; gap: 10px; }
body.public-warm.brand-landing-body.brand-scale .site-header .brand-link img { width: 30px; height: 30px; }
body.public-warm.brand-landing-body.brand-scale .site-header .brand-link .brand-company { font-size: 16px !important; font-weight: 500; letter-spacing: 0; }
body.public-warm.brand-landing-body.brand-scale :is(.hero-btn, .mobile-cta-btn, .store-menu-action-btn, .storefront-reserve-link, .header-primary-link) {
  min-height: 48px !important;
  padding: 12px 18px !important;
  border-radius: var(--scale-radius) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .03em;
}
body.public-warm.brand-landing-body.brand-scale .site-header :is(.header-primary-link, .menu-trigger) {
  min-height: 48px !important;
  padding: 12px 14px !important;
  border-radius: var(--scale-radius) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}
body.public-warm.brand-landing-body.brand-scale .hero-refined {
  grid-template-columns: minmax(0, .43fr) minmax(0, .57fr);
  gap: 40px;
}
body.public-warm.brand-landing-body.brand-scale .hero-refined:not(.hero-card-image-led) { grid-template-columns: 1fr; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-media { order: 2; aspect-ratio: 3 / 2; border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-media img { object-position: 50% 42%; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-content { order: 1; gap: 20px; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-main h1 { font-size: var(--scale-title); line-height: 1.4; letter-spacing: .025em; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-badge-row { margin-bottom: 12px; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-badge { font-size: 12px; line-height: 1.5; letter-spacing: .04em; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-description { max-width: 40ch; font-size: 15px; line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-store-panel { padding: 16px 0 0; gap: 16px; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-store-name { font-size: 14px; font-weight: 500; line-height: 1.6; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-store-meta { font-size: 13px; line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-store-panel .hero-actions { gap: 8px; }
body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-btn { min-width: 112px; flex: 0 0 auto; width: auto; }
body.public-warm.brand-landing-body.brand-scale :is(.section-head, .featured-section-head) { display: grid; gap: 8px; }
body.public-warm.brand-landing-body.brand-scale :is(.section-head h2, .featured-section-copy h2) { margin: 0; font-size: var(--scale-heading); line-height: 1.45; letter-spacing: .035em; }
body.public-warm.brand-landing-body.brand-scale .section-head p { margin: 0; max-width: 60ch; font-size: var(--scale-body); line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale :is(.section-card-environment, .section-card-featured, .section-card-store, .section-card-parking, .section-card-nearby) { gap: var(--scale-module); }
body.public-warm.brand-landing-body.brand-scale .environment-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.public-warm.brand-landing-body.brand-scale .environment-shot-image { display: block; aspect-ratio: 3 / 2; border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .environment-shot-copy { padding-top: 12px; gap: 6px; }
body.public-warm.brand-landing-body.brand-scale .environment-shot-title { font-size: 16px; font-weight: 500; line-height: 1.5; }
body.public-warm.brand-landing-body.brand-scale .environment-shot-desc { font-size: 13px; line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .private-dish-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; align-items: start; }
body.public-warm.brand-landing-body.brand-scale .private-dish-card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 12px; align-content: start; }
body.public-warm.brand-landing-body.brand-scale .private-dish-media { width: 100%; line-height: 0; }
body.public-warm.brand-landing-body.brand-scale .private-dish-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .private-dish-body { display: flex; flex-direction: column; gap: 8px; align-items: start; }
body.public-warm.brand-landing-body.brand-scale .featured-dish-title { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
body.public-warm.brand-landing-body.brand-scale .dish-title-en { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; font-weight: 400; color: var(--warm-secondary); }
body.public-warm.brand-landing-body.brand-scale .dish-numeric { white-space: nowrap; }
body.public-warm.brand-landing-body.brand-scale .private-dish-body .featured-dish-pitch { margin: 0; font-size: var(--scale-body); line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .tk-dish-video-play { width: 40px; height: 40px; border-width: 1px; box-shadow: none; }
body.public-warm.brand-landing-body.brand-scale .tk-dish-video-play::after { border-top-width: 7px; border-bottom-width: 7px; border-left-width: 11px; margin-left: 3px; }
body.public-warm.brand-landing-body.brand-scale .tk-dish-video-label { font-size: 12px; font-weight: 500; padding: 4px 8px; }
body.public-warm.brand-landing-body.brand-scale .store-intro-copy { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; }
body.public-warm.brand-landing-body.brand-scale .store-menu-notice { max-width: 52ch; font-size: var(--scale-body); line-height: 1.85; }
body.public-warm.brand-landing-body.brand-scale .store-menu-preview-grid { width: 100%; max-width: 360px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.public-warm.brand-landing-body.brand-scale .store-menu-preview-card { border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .store-menu-preview-card img { display: block; width: 100%; height: auto; aspect-ratio: 210 / 297; object-fit: contain; border-radius: 3px; }
body.public-warm.brand-landing-body.brand-scale .store-menu-action-card { justify-items: start; gap: 16px; }
body.public-warm.brand-landing-body.brand-scale .parking-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body.public-warm.brand-landing-body.brand-scale .visit-info-card { padding-top: 16px; border-top: 1px solid var(--warm-line); }
body.public-warm.brand-landing-body.brand-scale .visit-info-card-layout { grid-template-columns: 136px minmax(0, 1fr); gap: 16px; }
body.public-warm.brand-landing-body.brand-scale .visit-info-card-image { aspect-ratio: 4 / 3; border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .visit-info-card-title { font-size: 16px; font-weight: 500; line-height: 1.5; }
body.public-warm.brand-landing-body.brand-scale .visit-info-card-body { font-size: 14px; line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .parking-map-link { min-height: 44px; padding: 6px 0; border: 0; border-radius: 0; background: transparent; font-size: 13px; line-height: 1.5; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
body.public-warm.brand-landing-body.brand-scale .section-card-contact { padding: 32px; border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .brand-contact-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-copy { gap: 16px; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-copy h2 { font-size: var(--scale-heading); line-height: 1.5; letter-spacing: .025em; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-copy p { font-size: var(--scale-body); line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-copy .brand-contact-kicker { font-size: 12px; line-height: 1.5; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-row { padding: 12px 0; gap: 12px; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-row-label { font-size: 12px; line-height: 1.5; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-value { font-size: 14px; line-height: 1.75; font-weight: 400; }
body.public-warm.brand-landing-body.brand-scale .brand-contact-row-action { min-width: 44px; min-height: 44px; padding: 8px 10px; border-radius: var(--scale-radius); font-size: 13px; font-weight: 500; }
body.public-warm.brand-landing-body.brand-scale .brand-business-hours { margin-top: 12px; }
body.public-warm.brand-landing-body.brand-scale .brand-business-hours summary { min-height: 48px; padding: 12px 0; }
body.public-warm.brand-landing-body.brand-scale .brand-business-hours-label { font-size: 13px; line-height: 1.5; }
body.public-warm.brand-landing-body.brand-scale .brand-business-hours-today { font-size: 13px; line-height: 1.6; font-weight: 400; }
body.public-warm.brand-landing-body.brand-scale .section-card-storefront-cta { min-height: 0; padding: 28px 32px; border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .storefront-section-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: none; align-items: center; justify-items: start; gap: 8px 24px; }
body.public-warm.brand-landing-body.brand-scale .storefront-section-footer-title { grid-area: auto; grid-column: 1; grid-row: 1; font-size: var(--scale-heading); line-height: 1.45; letter-spacing: .025em; text-align: left; }
body.public-warm.brand-landing-body.brand-scale .storefront-section-note { grid-area: auto; grid-column: 1; grid-row: 2; font-size: 14px; line-height: 1.75; text-align: left; }
body.public-warm.brand-landing-body.brand-scale .storefront-reserve-link { grid-area: auto; grid-column: 2; grid-row: 1 / span 2; min-width: 128px; margin: 0; }
body.public-warm.brand-landing-body.brand-scale .section-card-ffclub { border-radius: var(--scale-radius); }
body.public-warm.brand-landing-body.brand-scale .ffclub-promo-layout { min-height: 216px; height: auto; }
body.public-warm.brand-landing-body.brand-scale .ffclub-promo-copy { padding: 28px 32px; gap: 12px; }
body.public-warm.brand-landing-body.brand-scale .ffclub-promo-copy h2 { font-size: var(--scale-heading); line-height: 1.45; font-weight: 600; letter-spacing: .025em; }
body.public-warm.brand-landing-body.brand-scale .ffclub-promo-copy p:not(.ffclub-promo-eyebrow) { font-size: var(--scale-body); line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .ffclub-promo-copy>a { min-height: 48px; padding: 12px 18px; border-radius: var(--scale-radius); font-size: 14px; font-weight: 500; }
body.public-warm.brand-landing-body.brand-scale .ffclub-promo-media img { position: absolute; inset: 0; }
body.public-warm.brand-landing-body.brand-scale .nearby-attraction-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.public-warm.brand-landing-body.brand-scale .nearby-attraction-card { padding-top: 16px; gap: 8px; }
body.public-warm.brand-landing-body.brand-scale .nearby-attraction-card h3 { font-size: 16px; line-height: 1.5; font-weight: 500; }
body.public-warm.brand-landing-body.brand-scale .nearby-attraction-card p { font-size: 14px; line-height: 1.75; }
body.public-warm.brand-landing-body.brand-scale .group-footer-shell { max-width: calc(var(--scale-content) + 48px); padding: 44px 24px 24px; }
body.public-warm.brand-landing-body.brand-scale .group-footer-main { gap: 40px; padding-bottom: 32px; }
body.public-warm.brand-landing-body.brand-scale .group-footer-identity { gap: 8px; }
body.public-warm.brand-landing-body.brand-scale .group-footer-name { font-size: 28px; line-height: 1.4; letter-spacing: .06em; }
body.public-warm.brand-landing-body.brand-scale .group-footer-bottom { padding-top: 16px; }

@media (min-width: 760px) and (max-width: 1023px) {
  body.public-warm.brand-landing-body.brand-scale .hero-refined { gap: 32px; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.public-warm.brand-landing-body.brand-scale .nearby-attraction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.public-warm.brand-landing-body.brand-scale .visit-info-card-layout { grid-template-columns: 104px minmax(0, 1fr); }
}
@media (max-width: 759px) {
  body.public-warm.brand-landing-body.brand-scale {
    --scale-section: 48px;
    --scale-module: 20px;
    --scale-title: 26px;
    --scale-heading: 21px;
  }
  body.public-warm.brand-landing-body.brand-scale .container { padding: 20px 24px 48px; }
  body.public-warm.brand-landing-body.brand-scale .site-header { --tk-shared-header-height: 64px; height: 64px; }
  body.public-warm.brand-landing-body.brand-scale .site-header-inner.is-brand-context { padding-inline: 20px; }
  body.public-warm.brand-landing-body.brand-scale .site-header .brand-link { gap: 8px; }
  body.public-warm.brand-landing-body.brand-scale .site-header .brand-link img { width: 28px; height: 28px; }
  body.public-warm.brand-landing-body.brand-scale .site-header .brand-link .brand-company { font-size: 13px !important; line-height: 1.5; }
  body.public-warm.brand-landing-body.brand-scale .site-header :is(.header-primary-link, .menu-trigger) { padding-inline: 12px !important; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined { grid-template-columns: 1fr; gap: 20px; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-media { order: 1; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-content { order: 2; gap: 16px; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-main h1 { line-height: 1.4; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-store-panel { padding-top: 16px; gap: 16px; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-btn { min-width: 120px; }
  body.public-warm.brand-landing-body.brand-scale .environment-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
  body.public-warm.brand-landing-body.brand-scale .environment-shot:first-child { grid-column: 1 / -1; }
  body.public-warm.brand-landing-body.brand-scale .environment-shot-title { font-size: 15px; }
  body.public-warm.brand-landing-body.brand-scale .environment-shot-image { aspect-ratio: 4 / 3; }
  body.public-warm.brand-landing-body.brand-scale .environment-shot:first-child .environment-shot-image { aspect-ratio: 3 / 2; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-grid { grid-template-columns: 1fr; gap: 24px; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-card { grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto; gap: 16px; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-body { gap: 8px; }
  body.public-warm.brand-landing-body.brand-scale .featured-dish-title { font-size: 15px; line-height: 1.5; }
  body.public-warm.brand-landing-body.brand-scale .tk-dish-video-overlay { gap: 4px; }
  body.public-warm.brand-landing-body.brand-scale .tk-dish-video-play { width: 28px; height: 28px; }
  body.public-warm.brand-landing-body.brand-scale .tk-dish-video-play::after { border-top-width: 5px; border-bottom-width: 5px; border-left-width: 8px; margin-left: 2px; }
  body.public-warm.brand-landing-body.brand-scale .tk-dish-video-label { padding: 3px 5px; font-size: 11px; }
  body.public-warm.brand-landing-body.brand-scale .store-intro-copy { grid-template-columns: 1fr; gap: 20px; }
  body.public-warm.brand-landing-body.brand-scale .parking-info-grid { grid-template-columns: 1fr; gap: 16px; }
  body.public-warm.brand-landing-body.brand-scale .visit-info-card-layout { grid-template-columns: 104px minmax(0, 1fr); gap: 16px; }
  body.public-warm.brand-landing-body.brand-scale .section-card-contact { padding: 24px; }
  body.public-warm.brand-landing-body.brand-scale .brand-contact-layout { grid-template-columns: 1fr; gap: 24px; }
  body.public-warm.brand-landing-body.brand-scale .brand-contact-copy { gap: 12px; }
  body.public-warm.brand-landing-body.brand-scale .section-card-storefront-cta { padding: 24px; }
  body.public-warm.brand-landing-body.brand-scale .storefront-section-footer { grid-template-columns: 1fr; gap: 12px; }
  body.public-warm.brand-landing-body.brand-scale .storefront-reserve-link { grid-column: 1; grid-row: 3; margin-top: 4px; }
  body.public-warm.brand-landing-body.brand-scale .ffclub-promo-layout { grid-template-columns: 1fr; }
  body.public-warm.brand-landing-body.brand-scale .ffclub-promo-media { aspect-ratio: 2 / 1; }
  body.public-warm.brand-landing-body.brand-scale .ffclub-promo-copy { padding: 24px; }
  body.public-warm.brand-landing-body.brand-scale .nearby-attraction-grid { grid-template-columns: 1fr; gap: 20px; }
  body.public-warm.brand-landing-body.brand-scale .group-footer-shell { padding: 32px 24px calc(96px + env(safe-area-inset-bottom, 0px)); }
  body.public-warm.brand-landing-body.brand-scale .group-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-bottom: 24px; }
  body.public-warm.brand-landing-body.brand-scale .group-footer-identity { grid-column: 1 / -1; }
  body.public-warm.brand-landing-body.brand-scale .group-footer-name { font-size: 24px; }
  body.public-warm.brand-landing-body.brand-scale .group-footer-column>a { font-size: 13px; }
  body.public-warm.brand-landing-body.brand-scale .mobile-cta-inner { gap: 8px; }
  body.public-warm.brand-landing-body.brand-scale .mobile-cta-bar { padding: 8px 24px calc(8px + env(safe-area-inset-bottom, 0px)); }
}
@media (min-width: 600px) and (max-width: 759px) {
  body.public-warm.brand-landing-body.brand-scale .hero-refined { grid-template-columns: minmax(0, .48fr) minmax(0, .52fr); gap: 24px; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-media { order: 2; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-card-content { order: 1; }
  body.public-warm.brand-landing-body.brand-scale .hero-refined .hero-btn { min-width: 112px; }
  body.public-warm.brand-landing-body.brand-scale .environment-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  body.public-warm.brand-landing-body.brand-scale .environment-shot:first-child { grid-column: auto; }
  body.public-warm.brand-landing-body.brand-scale .environment-shot-image { aspect-ratio: 3 / 2; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 12px; }
  body.public-warm.brand-landing-body.brand-scale .featured-dish-title { font-size: 16px; }
  body.public-warm.brand-landing-body.brand-scale .tk-dish-video-play { width: 40px; height: 40px; }
  body.public-warm.brand-landing-body.brand-scale .ffclub-promo-layout { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
  body.public-warm.brand-landing-body.brand-scale .ffclub-promo-media { aspect-ratio: auto; }
  body.public-warm.brand-landing-body.brand-scale .nearby-attraction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 359px) {
  body.public-warm.brand-landing-body.brand-scale .container { padding-inline: 20px; }
  body.public-warm.brand-landing-body.brand-scale .private-dish-card { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
  body.public-warm.brand-landing-body.brand-scale .visit-info-card-layout { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  body.public-warm.brand-landing-body.brand-scale .section-card-contact { padding: 20px; }
  body.public-warm.brand-landing-body.brand-scale .group-footer-shell { padding-inline: 20px; }
  body.public-warm.brand-landing-body.brand-scale .mobile-cta-bar { padding-inline: 20px; }
}
