:root {
  --color-white: #ffffff;
  --color-bg: #ffffff;
  --color-bg-soft: #eef6fc;
  --color-bg-pale: #f8fbfe;
  --color-bg-cta: #eef6fc;

  /* Brand blue kept; slight desat for premium medical feel */
  --color-primary: #4ca9de;
  --color-primary-hover: #2f93c8;
  --color-primary-dark: #1a4a86;
  --color-primary-soft: #d8f0fa;

  --color-heading: #143049;
  --color-text: #5a7084;
  --color-muted: #879bad;
  --color-border: #dceaf4;

  /* Tinted cool shadows (no pure black) */
  --shadow-interface: 0 28px 80px rgba(45, 118, 156, 0.12);
  --shadow-card: 0 16px 42px rgba(45, 118, 156, 0.08);
  --shadow-soft: 0 18px 50px rgba(45, 118, 156, 0.09);
  --shadow-nav: 0 1px 0 rgba(222, 235, 242, 0.95), 0 8px 24px rgba(45, 118, 156, 0.04);

  /* aliases */
  --white: var(--color-white);
  --background: var(--color-bg);
  --background-soft: var(--color-bg-soft);
  --background-blue: var(--color-bg-pale);
  --background-cta: var(--color-bg-cta);
  --primary: var(--color-primary);
  --primary-hover: var(--color-primary-hover);
  --primary-soft: var(--color-primary-soft);
  --heading: var(--color-heading);
  --text: var(--color-text);
  --muted: var(--color-muted);
  --border: var(--color-border);

  --font-sans:
    "PingFang SC",
    "Microsoft YaHei",
    "Noto Sans SC",
    "Segoe UI",
    Arial,
    sans-serif;

  --text-hero: clamp(2.2rem, 4.2vw, 3.4rem);
  --text-h2: clamp(1.7rem, 2.7vw, 2.35rem);
  --text-h3: clamp(1.12rem, 1.4vw, 1.28rem);
  --text-body: 1.0625rem;
  --text-small: 0.94rem;
  --text-xs: 0.78rem;
  --text-nav: 0.9375rem;

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;

  --container: 1280px;
  --nav-h: 72px;
  --section-y: clamp(4.5rem, 7.8vw, 6.75rem);
  --gutter: 32px;
  --read-max: 40rem;

  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --fast: 160ms;
  --base: 260ms;
  --slow: 650ms;

  --z-nav: 1000;
  --z-menu: 1200;
  --z-modal: 1300;
}
