/* Shared sans-serif typography and tighter vertical rhythm, including mobile. */
:root {
  --sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
  --serif: var(--sans);
}
.hero-stamp > span, .statement-strip > div, .mood-card__number,
.mood-card__art--celebrate span, .venue-card__monogram,
.approach-list li > span, .journal-card__index,
.footer-contact > a:first-of-type, .sidebar-phone,
.venue-heading__emblem, .error-page__number { font-family: var(--sans); }
.venue-card__monogram { font-style: normal; }
.header-inner { min-height: 72px; }
.desktop-nav { min-height: 48px; }
.desktop-nav > .nav-direct, .desktop-nav > .nav-group > summary { padding-block: 12px; }
.home-hero { padding-block: 30px 36px; }
.hero-copy { padding-block: 16px; }
.hero-copy h1 { line-height: 1.4; margin-block: 16px; }
.hero-description { line-height: 1.8; }
.hero-actions { margin-top: 22px; }
.hero-footnote { margin-top: 30px; }
.statement-strip { padding-block: 16px; }
.home-categories { padding-top: 26px; }
.home-categories .venue-filters { margin-top: 12px; }
.section { padding-block: 60px; }
.venues-section { padding-top: 0; }
.section-heading { margin-bottom: 26px; }
.section-heading h2 { line-height: 1.4; margin-top: 8px; }
.mood-card { padding-block: 24px; }
.mood-card h3 { margin-block: 16px 8px; }
.mood-card__link { margin-top: 18px; }
.venue-grid { row-gap: 28px; }
.venue-card__meta { margin-top: 12px; }
.venue-card h3 { margin-block: 6px 8px; }
.approach-section { padding-block: 48px; }
.approach-intro h2 { line-height: 1.45; margin-block: 12px 16px; }
.approach-list li { padding-block: 20px; }
.text-link--light { margin-top: 20px; }
.journal-card, .journal-list--archive .journal-card { padding-block: 22px; }
.closing-note { padding-block: 40px; }
.closing-note h2 { line-height: 1.5; margin-top: 10px; }
.footer-main { padding-block: 40px; }
.footer-bottom { padding-block: 18px; }
.page-main { padding-bottom: 60px; }
.page-heading { padding-block: 32px 28px; }
.breadcrumbs { margin-bottom: 20px; }
.page-heading h1 { line-height: 1.4; margin-top: 10px; }
.page-lead { line-height: 1.8; margin-top: 14px; }
.article-meta { margin-top: 16px; }
.reading-layout { padding-top: 28px; }
.prose { line-height: 1.8; }
.prose p { margin-bottom: 14px; }
.prose h2 { line-height: 1.45; margin-block: 30px 14px; padding-top: 4px; }
.prose h3 { line-height: 1.5; margin-block: 24px 10px; }
.prose h4 { margin-block: 18px 8px; }
.prose ul, .prose ol { margin-block: 14px 18px; }
.prose li { margin-block: 5px; }
.prose table { margin-block: 16px; }
.prose th, .prose td { padding-block: 11px; }
.prose blockquote { margin-block: 20px; padding-block: 16px; }
.prose details { padding-block: 12px; }
.prose .gaia-notice, .prose .gaia-note, .prose .notice,
.prose .callout, .prose aside { margin-block: 18px; padding-block: 16px; }
.prose aside p:last-child { margin-bottom: 0; }
.prose > :first-child { margin-top: 0; }
.page-toc { padding-block: 18px 20px; }
.sidebar-contact { margin-top: 16px; }
.related-venues { padding-bottom: 0; }
@media (max-width: 700px) {
  .header-inner { min-height: 66px; }
  .home-hero { padding-block: 24px 28px; }
  .hero-grid { row-gap: 24px; }
  .hero-copy { padding: 0; }
  .hero-copy h1 { margin-block: 14px; }
  .statement-strip { padding-block: 12px; }
  .home-categories { padding-top: 22px; }
  .section { padding-block: 36px; }
  .venues-section { padding-top: 0; }
  .section-heading { margin-bottom: 20px; }
  .mood-card { padding-block: 20px; }
  .mood-card h3 { margin-block: 9px 8px; }
  .venue-grid { row-gap: 22px; }
  .approach-section, .closing-note { padding-block: 32px; }
  .approach-grid { row-gap: 24px; }
  .journal-card, .journal-list--archive .journal-card { padding-block: 18px; }
  .footer-main { padding-block: 30px; row-gap: 24px; }
  .page-main { padding-bottom: 36px; }
  .page-heading { padding-block: 24px 22px; }
  .breadcrumbs { margin-bottom: 18px; }
  .reading-layout { padding-top: 22px; row-gap: 24px; }
  .prose { line-height: 1.85; }
  .prose h2 { margin-block: 26px 12px; }
  .prose th, .prose td { padding-block: 9px; }
  .related-venues { padding-bottom: 0; }
}
