:root {
  --color-brand-primary: #0093D8;
  --color-brand-primary-hover: #0084CD;
  --color-brand-deep: #016AAF;
  --color-brand-nav-active: #005BAC;
  --color-brand-accent: #1FA0DC;
  --color-brand-accent-alt: #07A6F1;
  --color-brand-dot: #001EB4;
  --color-surface-dark: #080220;
  --color-surface-dark-alt: #181818;
  --color-surface-canvas: #FFFFFF;
  --color-surface-muted: #F5F5F5;
  --color-surface-soft: #F9F9F9;
  --color-surface-card: #F0F0F0;
  --color-text-primary: #393939;
  --color-text-strong: #333333;
  --color-text-secondary: #666666;
  --color-text-muted: #999999;
  --color-text-footer-title: #4D4D4D;
  --color-text-on-dark: #FFFFFF;
  --color-text-on-dark-soft: rgba(255, 255, 255, 0.8);
  --color-border-hairline: rgba(0, 0, 0, 0.08);
  --color-overlay-dark: rgba(0, 0, 0, 0.5);
  --color-overlay-bubble: rgba(0, 30, 180, 0.77);
  --gradient-brand: linear-gradient(22deg, #015190 0%, #3BB3C2 100%);
  --gradient-mobile-nav: linear-gradient(180deg, #015190 0%, #3BB3C2 100%);
  --shadow-header: 0 0 2px rgba(0, 0, 0, 0.1);
  --font-sans-cn: "PingFang SC", "Microsoft YaHei", Arial, Helvetica, sans-serif;
  --font-label-en: "Dosis", "Barlow Condensed", sans-serif;
  --font-stat: "Barlow Condensed", sans-serif;
  --space-section: 5rem;
  --space-block: 4rem;
  --header-height: 90px;
  --header-padding-top: 16px;
  --container-max: 1620px;
  --nav-area-max: 1250px;
  --radius-pill: 1.625rem;
  --radius-button-lg: 34px;
  --radius-card: 20px;
  --transition-default: 0.5s ease;
  --transition-slow-image: 0.9s ease-in-out;
  --transition-scenario: 0.5s ease;
}

@media (min-width: 1601px) { html { font-size: 16px; } }
@media (min-width: 1400px) and (max-width: 1600px) { html { font-size: 16px; } }
@media (min-width: 640px) and (max-width: 1399px) { html { font-size: 15px; } }
@media (min-width: 471px) and (max-width: 639px) { html { font-size: 14px; } }
@media (min-width: 329px) and (max-width: 470px) { html { font-size: 13px; } }
@media (max-width: 328px) { html { font-size: 12px; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
