:root {
  --color-primary: #2b7cd3;
  --color-primary-dark: #1f6ab8;
  --color-primary-light: #e8f2fc;
  --color-primary-border: #b3d4f0;
  --color-primary-rgb: 43, 124, 211;

  --color-text: #303133;
  --color-text-secondary: #606266;
  --color-text-muted: #909399;
  --color-border: #dcdfe6;
  --color-bg: #ffffff;
  --color-bg-muted: #eceef1;
  --color-footer-bg: #333333;
  --color-footer-text: #ecf0f1;

  --font-sans: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 40px;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  --container-max: 1200px;
  --container-pad: 16px;
  --header-height: 96px;
  --header-max: 1520px;
  /* 桌面顶栏随视口等比缩放（仅 ≥769px；≤768px 为手机汉堡菜单） */
  --header-control-size: 44px;
  --header-logo-height: 52px;
  --header-logo-max-width: 220px;
  --header-logo-font: 24px;
  --header-nav-font: 18px;
  --header-nav-pad-x: 16px;
  --header-nav-gap: 3rem;
  --header-inner-gap: 48px;

  /* 桌面底栏随视口等比缩放（仅 ≥769px；≤768px 隐藏导航列） */
  --footer-brand-width: 280px;
  --footer-contact-width: 240px;
  --footer-qr-width: 140px;
  --footer-qr-img-size: 120px;
  --footer-logo-width: 118px;
  --footer-main-gap: 2.5rem;
  --footer-nav-gap: 2rem;
  --footer-nav-title-font: 16px;
  --footer-nav-link-font: 14px;
  --footer-contact-font: 14px;
  --footer-legal-font: 12px;

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;

  --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);

  --transition: 0.2s ease;
}

@media (min-width: 769px) {
  :root {
    --container-pad: clamp(12px, 2vw, 24px);
    --header-height: clamp(56px, 7.5vw, 96px);
    --header-control-size: clamp(30px, 4vw, 44px);
    --header-logo-height: clamp(28px, 4.6vw, 52px);
    --header-logo-max-width: clamp(88px, 17vw, 220px);
    --header-logo-font: clamp(14px, 1.4vw, 24px);
    /* 宽屏保持原菜单间距；仅窄桌面再收紧 */
    --header-nav-font: var(--text-lg);
    --header-nav-pad-x: clamp(12px, 1.2vw, 24px);
    --header-nav-gap: clamp(1.25rem, 2.2vw + 0.6rem, 3rem);
    --header-inner-gap: clamp(6px, 1.5vw, 48px);
    --footer-brand-width: clamp(148px, 17vw, 280px);
    --footer-contact-width: clamp(108px, 13vw, 240px);
    --footer-qr-width: clamp(72px, 9vw, 140px);
    --footer-qr-img-size: clamp(64px, 8vw, 120px);
    --footer-logo-width: clamp(68px, 9vw, 118px);
    --footer-main-gap: clamp(0.65rem, 1.8vw, 2.5rem);
    --footer-nav-gap: clamp(0.45rem, 1.35vw, 2rem);
    --footer-nav-title-font: clamp(11px, 1.05vw, 16px);
    --footer-nav-link-font: clamp(10px, 0.92vw, 14px);
    --footer-contact-font: clamp(10px, 0.92vw, 14px);
    --footer-legal-font: clamp(9px, 0.78vw, 12px);
  }

  html[lang="en"] {
    --header-nav-font: var(--text-base);
    --header-nav-pad-x: clamp(6px, 0.9vw, 11px);
    --header-nav-gap: clamp(0.5rem, 1.1vw + 0.2rem, 1.35rem);
    --footer-nav-gap: clamp(0.3rem, 1vw, 1.25rem);
    --footer-nav-title-font: clamp(10px, 0.95vw, 15px);
    --footer-nav-link-font: clamp(9px, 0.85vw, 13px);
    --footer-contact-font: clamp(9px, 0.85vw, 13px);
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  :root {
    --header-nav-font: var(--text-base);
    --header-nav-pad-x: 12px;
    --header-nav-gap: clamp(0.85rem, 1.5vw + 0.4rem, 1.75rem);
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  html[lang="en"] {
    --header-nav-gap: clamp(0.4rem, 0.9vw + 0.15rem, 1rem);
    --header-nav-pad-x: clamp(4px, 0.7vw, 9px);
    --header-nav-font: var(--text-sm);
  }
}

@media (max-width: 768px) {
  :root {
    --header-height: 40px;
    --container-pad: 12px;
  }
}
