:root {
  --color-brand-red: #e60012;
  --color-primary: #2563eb;
  --color-primary-soft: #6366f1;
  --color-accent: #0ea5e9;
  --color-success: #14b8a6;
  --color-text: #172033;
  --color-text-secondary: #53657a;
  --color-text-muted: #708096;
  --color-surface: #ffffff;
  --color-canvas: #f4f7fb;
  --color-border: rgba(37, 99, 235, 0.12);

  /*
   * rem 适配约定：
   * - 设计基准宽 1440px 时，1rem = 16px
   * - 只通过 html { font-size } 统一缩放
   * - 组件用 rem；不要再叠 --ui-scale / 二次 vw 缩放
   */
  --rem-base: 16; /* px，仅作换算参考 */
  /* 版心宽度保持 px，避免根字号缩放时整页忽宽忽窄 */
  --content-max: 1600px;
  --section-space-lg: clamp(4.5rem, 7vw, 7rem);
  --section-space-md: clamp(3.25rem, 5vw, 5rem);
  --section-space-sm: clamp(2.25rem, 4vw, 3.5rem);
  --type-section-size: clamp(2rem, 3.6vw, 3.15rem);
  --type-section-size-mobile: clamp(1.75rem, 8vw, 2.25rem);
  --type-section-line: 1.16;
  --type-section-weight: 850;

  --radius-sm: 0.625rem;
  --radius-md: 1.125rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;

  --shadow-sm: 0 10px 28px rgba(48, 74, 112, 0.08);
  --shadow-md: 0 22px 54px rgba(48, 74, 112, 0.10);
  --shadow-lg: 0 30px 80px rgba(48, 74, 112, 0.12);

  --motion-fast: 180ms;
  --motion-base: 280ms;
  --motion-slow: 500ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .sr,
  .sr.sr-in,
  .hero-panel-anim {
    opacity: 1 !important;
    transform: none !important;
  }
  .new-cap-bg-icon svg,
  .new-skill-bg-icon svg,
  .btn-base-deploy,
  .organization-leader-icon::before,
  .organization-arrow::after,
  .organization-row::after {
    animation: none !important;
  }
}
