/* Shared content scale, based on “我们的工作” and the travel service card.
   Keep this file versioned: production serves static CSS with a long cache. */
:root {
  --site-title-size: 1.75rem;
  --site-subtitle-size: 1.5rem;
  --site-body-size: 0.875rem;
}

@media (min-width: 768px) {
  :root {
    --site-title-size: 2.25rem;
  }
}

/* Only content sections participate. Navigation, forms, chat, meeting rooms,
   dialogs and compact dashboard widgets retain their interface typography. */
#app :where(main, section, .biz-security-hero-clip) :is(h1, h2):not(:where(
  header h2, nav *, aside *, form *, [role='dialog'] *,
  .chat-bg-pattern *, .overscroll-none *, .video-grid-bg *, .prose-chat *,
  .urban-gov-gauge-card *, .urban-gov-flow-stats *,
  .urban-gov-flow-aside *, .urban-gov-viz-panel *,
  .text-xs, .text-sm, .text-base, .text-lg
)) {
  font-size: var(--site-title-size);
  line-height: 1.25;
}

#app :where(main, section, .biz-security-hero-clip) :is(h3, h4, h5, h6):not(:where(
  nav *, aside *, form *, [role='dialog'] *,
  .chat-bg-pattern *, .overscroll-none *, .video-grid-bg *, .prose-chat *,
  .urban-gov-gauge-card *, .urban-gov-flow-stats *,
  .urban-gov-flow-aside *, .urban-gov-viz-panel *
)) {
  font-size: var(--site-subtitle-size);
  line-height: 1.375;
}

#app :where(main, section, .biz-security-hero-clip) p:not(:where(
  nav *, aside *, form *, [role='dialog'] *,
  .chat-bg-pattern *, .overscroll-none *, .video-grid-bg *, .prose-chat *,
  .urban-gov-gauge-card *, .urban-gov-flow-stats *,
  .urban-gov-flow-aside *, .urban-gov-viz-panel *,
  .text-xs, .text-\[10px\], .text-\[11px\], .text-\[12px\],
  .uppercase, .tracking-widest, .urban-gov-hero-subtitle
)) {
  font-size: var(--site-body-size);
  line-height: 1.625;
}
