/* DON2 typography reference, adapted for Donbyeorak's existing brand colors and layout. */
:root { --type-ink: #171717; --type-muted: #656565; }
html { -webkit-text-size-adjust: 100%; }
body, button, input, textarea, select {
  font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
  font-weight: 500;
  letter-spacing: -.02em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.site-header, .site-header * { font-family: inherit; }
.brandmark strong { font-size: 20px; font-weight: 800; line-height: 1.2; letter-spacing: -.065em; }
.brandmark span { font-size: 9px; font-weight: 600; line-height: 1.35; letter-spacing: .12em; }
.nav a { font-size: 18px; font-weight: 500; line-height: 27px; letter-spacing: -.02em; }
.header-booking { font-size: 13px; font-weight: 600; line-height: 18px; letter-spacing: -.03em; }
.menu-toggle { font-family: inherit; font-weight: 400; }
/* Decorative menu placeholders must not reintroduce a serif typeface. */
.menu-placeholder { font-family: inherit; font-size: 32px; font-weight: 800; letter-spacing: -.06em; }

.hero-kicker, .eyebrow { font-size: 12px; font-weight: 600; line-height: 18px; letter-spacing: .12em; }
.hero h1 { font-size: 54px; font-weight: 900; line-height: 1.05; letter-spacing: -.075em; }
.hero p, .copy-lg, .section-intro, .story-banner p, .cta p { font-size: 16px; font-weight: 500; line-height: 24px; letter-spacing: -.025em; }
.stat strong { font-size: 22px; font-weight: 700; line-height: 30px; letter-spacing: -.035em; }
.stat span { font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: -.025em; }
.section-title { font-size: 48px; font-weight: 900; line-height: 1.1; letter-spacing: -.055em; }
.signature { font-size: 44px; font-weight: 900; line-height: 1.12; letter-spacing: -.06em; }
.story-banner h2, .page-hero h1, .cta h2 { font-family: inherit; font-weight: 900; line-height: 1.08; letter-spacing: -.065em; }
.feature .num, .menu-card .subtitle, .info-row span, .news-type, .news-date, .footer-bottom { font-size: 14px; font-weight: 500; line-height: 20px; }
.feature h3 { font-size: 24px; font-weight: 700; line-height: 32px; letter-spacing: -.04em; }
.feature p, .value-card span, .menu-card p, .review-card p, .footer p, .footer a { font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: -.02em; }
.value-card b, .menu-card h3, .info-row b, .news-title { font-size: 20px; font-weight: 600; line-height: 30px; letter-spacing: -.035em; }
.price { font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: -.035em; }
.btn { font-size: 14px; font-weight: 600; line-height: 20px; letter-spacing: -.025em; }
.footer-brand { font-size: 24px; font-weight: 800; line-height: 32px; letter-spacing: -.05em; }

@media (max-width: 680px) {
  body { font-size: 14px; line-height: 19.6px; }
  .brandmark strong { font-size: 17px; }
  .nav a { font-size: 16px; line-height: 24px; }
  .header-booking { font-size: 12px; line-height: 18px; }
  .hero-kicker, .eyebrow { font-size: 11px; line-height: 16px; }
  .hero h1 { font-size: 38px; line-height: 1.08; letter-spacing: -.07em; }
  .hero p, .copy-lg, .section-intro, .story-banner p, .cta p { font-size: 14px; line-height: 19.6px; }
  .stat strong { font-size: 18px; line-height: 27px; }
  .stat span { font-size: 12px; line-height: 18px; }
  .section-title { font-size: 32px; line-height: 1.15; letter-spacing: -.05em; }
  .signature { font-size: 32px; line-height: 1.15; letter-spacing: -.055em; }
  .feature h3 { font-size: 20px; line-height: 30px; }
  .value-card b, .menu-card h3, .info-row b, .news-title { font-size: 18px; line-height: 27px; }
  .feature .num, .menu-card .subtitle, .info-row span, .news-type, .news-date, .footer-bottom,
  .feature p, .value-card span, .menu-card p, .review-card p, .footer p, .footer a, .btn { font-size: 14px; line-height: 19.6px; }
  .price { font-size: 14px; line-height: 20px; }
  .footer-brand { font-size: 20px; line-height: 30px; }
}
