﻿/* ============================================================
   北欧风字体：Work Sans（几何无衬线）+ Lora（人文衬线）
   本地 @font-face，不依赖外部网络
   ============================================================ */
@font-face {
  font-family: 'Work Sans Nordic';
  src: url('fonts/worksans-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Work Sans Nordic';
  src: url('fonts/worksans-bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Work Sans Nordic';
  src: url('fonts/worksans-regular.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lora Nordic';
  src: url('fonts/lora-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lora Nordic';
  src: url('fonts/lora-italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Lora Nordic';
  src: url('fonts/lora-bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ============================================================
   Apple Design Tokens（依据 design-md/apple/DESIGN.md）
   ============================================================ */
:root {
  /* 色彩 */
  --primary: #0066cc;            /* Action Blue — 唯一交互强调色 */
  --primary-focus: #0071e3;      /* 焦点环 */
  --primary-on-dark: #2997ff;    /* 深色面上的链接蓝 */
  --ink: #1d1d1f;
  --ink-80: #333333;
  --ink-48: #7a7a7a;
  --body-muted: #cccccc;
  --canvas: #ffffff;
  --parchment: #f5f5f7;
  --pearl: #fafafc;
  --tile-1: #272729;
  --tile-2: #2a2a2c;
  --tile-3: #252527;
  --black: #000000;
  --hairline: #e0e0e0;
  --divider: #f0f0f0;

  /* 圆角 */
  --r-sm: 8px;
  --r-md: 11px;
  --r-lg: 18px;
  --r-pill: 9999px;

  /* 间距 */
  --sp-xxs: 4px; --sp-xs: 8px; --sp-sm: 12px; --sp-md: 17px;
  --sp-lg: 24px; --sp-xl: 32px; --sp-xxl: 48px; --sp-section: 80px;

  /* 阴影 —— 全系统唯一：产品渲染图专用 */
  --shadow-product: 3px 5px 30px 0 rgba(0, 0, 0, 0.22);

  --font-display: "Lora Nordic", "Songti SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", Georgia, serif;
  --font-body: "Lora Nordic", "Songti SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", Georgia, serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth;
  scroll-padding-top: 72px;   /* 吸顶导航高度,锚点不被遮挡 */ }

body {
  font-family: var(--font-body);
  background: var(--canvas);
  color: var(--ink);
  line-height: 1.47;
  letter-spacing: -0.374px;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ============================================================
   全局导航（global-nav：纯黑 44px）
   ============================================================ */
.global-nav {
  position: sticky; top: 0; z-index: 100;
  background: var(--black);
  color: var(--body-muted);
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  font-size: 12px;
  letter-spacing: -0.12px;
}
.global-nav .nav-brand {
  display: flex; align-items: center; gap: 8px;
  color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 0.2px;
}
.global-nav .nav-brand svg { display: block; }
.global-nav .nav-links { display: flex; align-items: center; gap: 20px; }
.global-nav .nav-links a { color: var(--body-muted); font-size: 12px; }
.global-nav .nav-links a:hover { color: #fff; text-decoration: none; }
.global-nav .nav-cta {
  background: var(--primary); color: #fff;
  border-radius: var(--r-pill);
  padding: 4px 14px; font-size: 12px; font-weight: 400;
  transition: transform 0.1s ease, background 0.2s ease;
}
.global-nav .nav-cta:hover { background: var(--primary-focus); text-decoration: none; }
.global-nav .nav-cta:active { transform: scale(0.95); }

/* ============================================================
   Hero（深色 tile + 产品渲染 + 唯一阴影）
   ============================================================ */
.hero {
  background: var(--tile-1);
  color: #fff;
  padding: calc(var(--sp-section) * 1.25) 24px var(--sp-section);
  text-align: center;
  overflow: hidden;
  position: relative;
}
.hero .hero-inner { max-width: 980px; margin: 0 auto; }
.hero .hero-kicker {
  font-size: 21px; font-weight: 600; line-height: 1.19; letter-spacing: 0.231px;
  color: var(--primary-on-dark);
  margin-bottom: 24px;
}
.hero h1 {
  font-family: var(--font-display);
  font-size: 46px; font-weight: 600; line-height: 1.12; letter-spacing: -0.2px;
  margin: 0 auto 24px;
  max-width: 900px;
}
.hero .hero-sub {
  font-size: 23px; font-weight: 400; line-height: 1.3; letter-spacing: 0.16px;
  color: var(--body-muted);
  max-width: 720px; margin: 0 auto 40px;
}
.hero .hero-ctas { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.hero .hero-meta {
  margin-top: 40px;
  font-size: 12px; letter-spacing: -0.12px;
  color: var(--ink-48);
}

/* 按钮 */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  border: none; cursor: pointer;
  font-family: var(--font-body);
  transition: transform 0.1s ease, background 0.2s ease, border-color 0.2s ease;
}
.btn:active { transform: scale(0.95); }
.btn:focus-visible { outline: 2px solid var(--primary-focus); outline-offset: 2px; }
.btn-primary {
  background: var(--primary); color: #fff;
  border-radius: var(--r-pill);
  padding: 11px 22px; font-size: 17px; font-weight: 400; line-height: 1.24;
}
.btn-primary:hover { background: var(--primary-focus); text-decoration: none; }
.btn-secondary-pill {
  background: transparent; color: var(--primary);
  border: 1px solid var(--primary); border-radius: var(--r-pill);
  padding: 11px 22px; font-size: 17px; font-weight: 400; line-height: 1.24;
}
.btn-secondary-pill:hover { background: var(--hover-bg); text-decoration: none; }
.btn-dark-utility {
  background: var(--ink); color: #fff;
  border-radius: var(--r-sm);
  padding: 8px 15px; font-size: 14px; font-weight: 400; line-height: 1.29; letter-spacing: -0.224px;
}
.btn-on-dark {
  background: var(--primary); color: #fff;
  border-radius: var(--r-pill);
  padding: 11px 22px; font-size: 17px;
}
.btn-on-dark:hover { background: var(--primary-focus); text-decoration: none; }

/* Hero 产品渲染（分子结构示意，唯一允许的阴影） */
.hero-art {
  margin: 56px auto 0;
  max-width: 620px;
}
.hero-art svg { width: 100%; height: auto; display: block; }
.hero-art .art-wrap {
  filter: drop-shadow(var(--shadow-product));
}

/* ============================================================
   磨砂子导航（sub-nav-frosted）
   ============================================================ */
.sub-nav {
  position: sticky; top: 60px; z-index: 90;
  background: rgba(245, 245, 247, 0.8);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  height: 52px;
  display: flex; align-items: center;
  padding: 0 24px;
  gap: 20px;
  overflow-x: auto;
  white-space: nowrap;
}
.sub-nav .sub-category {
  font-size: 21px; font-weight: 600; line-height: 1.19; letter-spacing: 0.231px;
  color: var(--ink);
  flex-shrink: 0;
}
.sub-nav .sub-links { display: flex; align-items: center; gap: 18px; margin-left: auto; flex-shrink: 0; }
.sub-nav .sub-links a {
  font-size: 14px; letter-spacing: -0.224px;
  color: var(--ink-80);
  white-space: nowrap;
}
.sub-nav .sub-links a:hover { color: var(--primary); text-decoration: none; }
.sub-nav .sub-buy { flex-shrink: 0; }

/* ============================================================
   Tile 体系（明暗交替 = 分隔符）
   ============================================================ */
.tile { width: 100%; }
.tile-light { background: var(--canvas); color: var(--ink); }
.tile-parchment { background: var(--parchment); color: var(--ink); }
.tile-dark { background: var(--tile-1); color: #fff; }
.tile-dark-2 { background: var(--tile-2); color: #fff; }
.tile-dark h2, .tile-dark h3, .tile-dark-2 h2, .tile-dark-2 h3 { color: #fff; }
.tile-dark .lead, .tile-dark-2 .lead { color: var(--body-muted); }

.tile-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: var(--sp-section) 24px;
}
.tile-wide .tile-inner { max-width: 1440px; }

/* 标题体系 */
h2.section-title {
  font-family: var(--font-display);
  font-size: 34px; font-weight: 600; line-height: 1.15; letter-spacing: 0;
  margin-bottom: 20px;
}
h2.section-title em { font-style: normal; color: var(--primary); }
.tile-dark h2.section-title em { color: var(--primary-on-dark); }
h3.sub-title {
  font-family: var(--font-display);
  font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: 0.16px;
  margin: 48px 0 20px;
}
h4.minor-title {
  font-size: 21px; font-weight: 600; line-height: 1.19; letter-spacing: 0.231px;
  margin: 36px 0 14px;
}
.lead {
  font-size: 23px; font-weight: 400; line-height: 1.3; letter-spacing: 0.16px;
  color: var(--ink-80);
  margin-bottom: 24px;
}
/* 公司介绍·定位语:字号较默认 .lead 减小 1.2(桌面 23→21.8,窄屏 21→19.8) */
.lead.lead-sm { font-size: 15.8px; font-weight: 400; line-height: 1.78; letter-spacing: 0.2px;
  font-family: "Lora Nordic", "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif; }
@media (max-width: 834px) { .lead.lead-sm { font-size: 13.8px; } }
.body-copy { font-size: 17px; line-height: 1.47; letter-spacing: -0.374px; color: var(--ink); margin-bottom: 16px; }
.tile-dark .body-copy { color: var(--body-muted); }
.body-copy strong { font-weight: 600; color: var(--ink); }
.tile-dark .body-copy strong { color: #fff; }
.caption { font-size: 14px; line-height: 1.43; letter-spacing: -0.224px; color: var(--ink-48); }
.tile-dark .caption { color: var(--ink-48); }

/* 来源链接 */
.source-link {
  font-size: 12px; color: var(--primary);
  white-space: nowrap;
}
.source-link sup { font-size: 10px; }
.tile-dark .source-link { color: var(--primary-on-dark); }

/* ============================================================
   卡片（utility card：白底 / hairline / 18px 圆角 / 无阴影）
   ============================================================ */
.card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 32px 0;
}
.card-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }

.card {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: var(--sp-lg);
}
.card .card-tag {
  display: inline-block;
  font-size: 12px; font-weight: 600; letter-spacing: 0.2px;
  color: var(--primary);
  background: var(--tag-bg);
  border-radius: var(--r-pill);
  padding: 3px 12px;
  margin-bottom: 12px;
}
.card .card-title {
  font-size: 17px; font-weight: 600; line-height: 1.24; letter-spacing: -0.374px;
  color: var(--ink);
  margin-bottom: 8px;
}
.card .card-body { font-size: 15px; line-height: 1.6; color: var(--ink-80); }
.card .card-body strong { font-weight: 600; color: var(--ink); }

/* 深色 tile 上的卡片（tile-2 底 + 白字） */
.tile-dark .card, .tile-dark-2 .card {
  background: var(--tile-2);
  border-color: rgba(255, 255, 255, 0.12);
}
.tile-dark .card .card-title { color: #fff; }
.tile-dark .card .card-body { color: var(--body-muted); }
.tile-dark .card .card-body strong { color: #fff; }
.tile-dark .card .card-tag { color: var(--primary-on-dark); background: var(--tag-bg); }

/* 领域卡片（domain card） */
.domain-card {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 24px 28px;
  margin-bottom: 16px;
}
.tile-dark .domain-card { background: var(--tile-2); border-color: rgba(255, 255, 255, 0.12); }
.dc-header { display: flex; align-items: baseline; gap: 14px; margin-bottom: 10px; }
.dc-num {
  font-size: 14px; font-weight: 600; color: var(--primary);
  flex-shrink: 0;
  min-width: 28px;
}
.tile-dark .dc-num { color: var(--primary-on-dark); }
.dc-title { font-size: 17px; font-weight: 600; color: var(--ink); letter-spacing: -0.374px; }
.tile-dark .dc-title { color: #fff; }
.dc-title .dc-note { font-size: 12px; font-weight: 400; color: var(--ink-48); margin-left: 6px; }
.tile-dark .dc-title .dc-note { color: var(--ink-48); }
.dc-body { font-size: 15px; line-height: 1.7; color: var(--ink-80); padding-left: 42px; }
.tile-dark .dc-body { color: var(--body-muted); }
.dc-body strong { font-weight: 600; color: var(--ink); }
.tile-dark .dc-body strong { color: #fff; }
.dc-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-left: 42px; }

/* 标签 */
.tag {
  font-size: 13px; font-weight: 400; letter-spacing: -0.12px;
  color: var(--ink-80);
  background: var(--parchment);
  border-radius: var(--r-pill);
  padding: 4px 14px;
}
.tile-dark .tag { color: var(--body-muted); background: rgba(255, 255, 255, 0.1); }
.tag.tag-accent { color: var(--primary); background: var(--tag-bg); }
.tile-dark .tag.tag-accent { color: var(--primary-on-dark); background: var(--tag-bg); }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }

/* ============================================================
   产品块（天然产物）
   ============================================================ */
.product-block {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 32px;
  margin-bottom: 24px;
}
.pb-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.pb-icon {
  width: 44px; height: 44px; border-radius: var(--r-pill);
  background: var(--parchment);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
  align-self: flex-start;
}
.pb-name { font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: 0.16px; color: var(--ink); }
.pb-latin { font-size: 14px; color: var(--ink-48); font-style: italic; letter-spacing: -0.224px; }
.pb-desc { font-size: 15px; line-height: 1.6; color: var(--ink-80); margin-bottom: 20px; }

/* ============================================================
   表格（发丝线分隔，无渐变表头）
   ============================================================ */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 20px 0; }
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
  min-width: 560px;
}
.data-table th {
  background: var(--parchment);
  color: var(--ink);
  font-weight: 600;
  font-size: 14px; letter-spacing: -0.224px;
  text-align: left;
  padding: 12px 16px;
  border-bottom: 1px solid var(--hairline);
}
.data-table td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--divider);
  color: var(--ink);
  vertical-align: top;
  text-align: left;
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table .center { text-align: center; }
.data-table .compound { font-weight: 600; color: var(--ink); white-space: nowrap; }
.data-table .check { color: var(--primary); font-weight: 600; font-size: 17px; }
.data-table .pathway { font-family: "SF Mono", ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 13px; color: var(--ink); font-weight: 600; white-space: nowrap; }
.data-table .dim { color: var(--ink-48); font-size: 13px; }

/* 层级 pill（平台表） */
.level-pill {
  display: inline-block;
  font-size: 12px; font-weight: 600;
  border-radius: var(--r-pill);
  padding: 3px 12px;
  white-space: nowrap;
}
.level-national { background: var(--primary); color: #fff; }
.level-province { background: var(--parchment); color: var(--ink); border: 1px solid var(--hairline); }
.level-city { background: var(--parchment); color: var(--ink-48); border: 1px solid var(--hairline); }

/* ============================================================
   通路 / 高亮 / 信息框（Apple 化：无彩色渐变，仅结构与强调色）
   ============================================================ */
.pathway-box {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 24px 28px;
  margin: 24px 0;
}
.tile-dark .pathway-box { background: var(--tile-2); border-color: rgba(255, 255, 255, 0.12); }
.pw-title { font-size: 14px; font-weight: 600; letter-spacing: -0.224px; color: var(--ink); margin-bottom: 10px; }
.tile-dark .pw-title { color: #fff; }
.pw-content { font-size: 15px; line-height: 1.8; color: var(--ink-80); }
.tile-dark .pw-content { color: var(--body-muted); }
.pw-arrow { color: var(--primary); font-weight: 600; margin: 0 6px; }
.tile-dark .pw-arrow { color: var(--primary-on-dark); }

.highlight {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 28px 32px;
  margin: 24px 0;
}
.hl-title {
  font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: 0.16px;
  color: var(--ink);
  margin-bottom: 10px;
}
.hl-title::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px; border-radius: var(--r-pill);
  background: var(--primary);
  margin-right: 14px;
  vertical-align: middle;
}
.highlight p { font-size: 16px; line-height: 1.6; color: var(--ink-80); }

.info-box {
  background: var(--info-bg);
  border: 1px solid var(--info-bd);
  border-radius: var(--r-lg);
  padding: 20px 24px;
  margin: 24px 0;
}
.ib-title { font-size: 14px; font-weight: 600; letter-spacing: -0.224px; color: var(--primary); margin-bottom: 8px; }
.info-box p { font-size: 14px; line-height: 1.7; color: var(--ink-80); }

/* 列表 */
.styled-list { list-style: none; margin: 20px 0; }
.styled-list li {
  font-size: 17px; line-height: 1.6; color: var(--ink-80);
  padding-left: 28px; position: relative; margin-bottom: 14px;
}
.styled-list li::before {
  content: '';
  position: absolute; left: 4px; top: 12px;
  width: 6px; height: 6px; border-radius: var(--r-pill);
  background: var(--primary);
}
.styled-list li strong { font-weight: 600; color: var(--ink); }

/* ============================================================
   页脚（dense-link 布局）
   ============================================================ */
.footer {
  background: var(--parchment);
  color: var(--ink-80);
  padding: 64px 24px 40px;
}
.footer-inner { max-width: 980px; margin: 0 auto; }
.footer-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--hairline);
}
.footer-col h4 {
  font-size: 14px; font-weight: 600; letter-spacing: -0.224px;
  color: var(--ink); margin-bottom: 12px;
}
.footer-col a, .footer-col span {
  display: block;
  font-size: 14px; line-height: 2.2; letter-spacing: -0.224px;
  color: var(--ink-48);
}
.footer-col a:hover { color: var(--primary); text-decoration: none; }
.footer-legal {
  margin-top: 24px;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-size: 12px; line-height: 1.4; letter-spacing: -0.12px;
  color: var(--ink-48);
}

/* ============================================================
   响应式（断点：1068 / 834 / 640）
   ============================================================ */
@media (max-width: 1068px) {
  .hero h1 { font-size: 40px; }
  .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 834px) {
  .hero h1 { font-size: 36px; }
  .hero .hero-sub { font-size: 21px; }
  .global-nav .nav-links { display: none; }
  .sub-nav .sub-links { display: none; }
  .card-grid, .card-grid.cols-2, .card-grid.cols-4 { grid-template-columns: 1fr; }
  .footer-cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hero { padding: 48px 20px 64px; }
  .hero h1 { font-size: 30px; letter-spacing: -0.2px; }
  .hero .hero-sub { font-size: 18px; }
  .hero .hero-kicker { font-size: 17px; }
  .tile-inner { padding: 48px 20px; }
  h2.section-title { font-size: 29px; }
  h3.sub-title { font-size: 24px; }
  .lead { font-size: 21px; }
  .product-block { padding: 24px 20px; }
  .pb-name { font-size: 24px; }
  .dc-body { padding-left: 0; }
  .dc-tags { padding-left: 0; }
  .footer-cols { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================================================
   北欧深色底默认覆盖层（兜底 = Nordic Pine）
   ============================================================ */
:root {
  --primary: #62c08d;
  --primary-focus: #74cda0;
  --primary-on-dark: #93dcb6;
  --ink: #f6f4ed;
  --ink-80: #dcd8ca;
  --ink-48: #a7a295;
  --body-muted: #c8c3b3;
  --canvas: #16372b;
  --parchment: #1b3e31;
  --pearl: #214738;
  --tile-1: #102a20;
  --tile-2: #16332a;
  --tile-3: #0d241b;
  --black: #091a12;
  --divider: rgba(255, 255, 255, 0.07);
  --hairline: rgba(255, 255, 255, 0.12);
  --shadow-product: 3px 5px 30px 0 rgba(0, 0, 0, 0.35);
}

body { background: var(--canvas); }

/* 磨砂子导航 → 深紫磨砂 */
.sub-nav {
  background: var(--glass-bg);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
.sub-nav .sub-category { color: var(--ink); }
.sub-nav .sub-links a { color: var(--ink-80); }

/* 按钮适配深紫底 */
.btn-dark-utility { background: var(--black); color: #fff; }
.btn-primary:hover { background: var(--primary-focus); }
.btn-secondary-pill { border-color: var(--primary-on-dark); color: var(--primary-on-dark); }
.btn-secondary-pill:hover { background: var(--hover-bg); }

/* 卡片 / 标签 / 强调 chip */
.card .card-tag { background: var(--tag-bg); color: var(--primary-on-dark); }
.tile-dark .card .card-tag { background: var(--tag-bg); color: var(--primary-on-dark); }
.tag.tag-accent { background: var(--tag-bg); color: var(--primary-on-dark); }
.tile-dark .tag.tag-accent { background: var(--tag-bg); color: var(--primary-on-dark); }

/* 表格 —— 深底浅字（关键信号通路详解 / 天然活性成分大类与功能 等） */
.data-table th {
  background: var(--black);
  color: var(--ink);
  border-bottom-color: rgba(255, 255, 255, 0.14);
}
.data-table td { color: var(--ink); border-bottom-color: var(--divider); }
.data-table .compound { color: var(--ink); }
.data-table .check { color: var(--primary-on-dark); }
.data-table .pathway { color: var(--primary-on-dark); }
.data-table .dim { color: var(--ink-48); }

/* 信息框 */
.info-box { background: var(--info-bg); border-color: var(--info-bd); }
.ib-title { color: var(--primary-on-dark); }
.info-box p { color: var(--ink-80); }

/* 列表 */
.styled-list li::before { background: var(--primary-on-dark); }

/* 层级 pill */
.level-pill.level-national { background: var(--primary); }
.level-pill.level-province { background: var(--black); color: var(--ink); border-color: var(--hairline); }
.level-pill.level-city { background: var(--black); color: var(--ink-48); border-color: var(--hairline); }

/* 页脚 */
.footer { background: var(--parchment); }
.footer-col h4 { color: var(--ink); }
.footer-col a, .footer-col span { color: var(--ink-48); }
.footer-col a:hover { color: var(--primary-on-dark); }
.footer-legal { color: var(--ink-48); }

/* ============================================================
   科技插图（内联 SVG + 发光/浮动动画）
   ============================================================ */
.hero-art { max-width: 880px; margin: 64px auto 0; }
.art-glow { animation: glowPulse 5.5s ease-in-out infinite; }
@keyframes glowPulse {
  0%, 100% { opacity: 0.82; }
  50% { opacity: 1; }
}
.particle {
  animation: floatY 7s ease-in-out infinite;
  transform-box: fill-box;
  transform-origin: center;
}
.particle:nth-child(3n) { animation-duration: 9s; animation-delay: -2s; }
.particle:nth-child(4n) { animation-duration: 6s; animation-delay: -4s; }
@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.spin-slow { animation: spinSlow 26s linear infinite; transform-box: fill-box; transform-origin: center; }
@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.vis-fig { margin: 32px 0; }
.vis-fig svg { width: 100%; height: auto; display: block; }
.vis-fig .fig-caption {
  text-align: center;
  font-size: 12px; letter-spacing: -0.12px;
  color: var(--ink-48);
  margin-top: 10px;
}
/* 产品分子式小图 */
.pb-art { margin: 4px 0 16px; }
.pb-art svg { width: 100%; max-width: 320px; height: auto; display: block; }
/* 循环流程 */
.loop-fig { margin: 32px 0; }
.loop-fig svg { width: 100%; height: auto; display: block; }


/* ============================================================
   益尔乐官网扩展样式
   ============================================================ */
/* 导航 active 高亮 */
.global-nav .nav-links a.active { color: #fff; }
.page-hero .nav-cta { }
/* 子页 hero（比首页略紧凑） */
.hero-compact { padding: 88px 24px 72px; text-align: center; }
.hero-compact .hero-kicker { margin-bottom: 14px; }
.hero-compact h1 { font-size: 40px; }
@media (max-width: 640px) {
  .hero-compact h1 { font-size: 30px; }
}
/* 首页横幅标语 */
.strap {
  background: var(--strap-bg);
  border: 1px solid var(--strap-bd);
  border-radius: var(--r-lg);
  padding: 18px 28px;
  margin: 24px 0 0;
  font-size: 17px; line-height: 1.6;
  color: var(--ink-80);
  text-align: center;
}
.strap strong { color: var(--primary-on-dark); font-weight: 600; }
/* 组织卡片行 */
.org-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 28px 0 8px;
}
.org-strip .card { text-align: center; }
.org-strip .card-tag { margin-bottom: 10px; }
@media (max-width: 834px) {
  .org-strip { grid-template-columns: 1fr; }
}
/* 数据高亮数字 */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 32px 0;
}
.stat {
  text-align: center;
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-lg);
  padding: 28px 16px;
}
.stat .num {
  font-size: 32px; font-weight: 700; letter-spacing: -0.01em;
  color: var(--primary-on-dark);
  font-family: var(--font-display);
  line-height: 1;
}
.stat .lbl { margin-top: 10px; font-size: 13px; color: var(--ink-48); }
@media (max-width: 834px) {
  .stat-row { grid-template-columns: repeat(2, 1fr); }
}
/* 合作流程步骤 */
.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 28px 0;
  counter-reset: step;
}
.step {
  position: relative;
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-lg);
  padding: 24px 20px 20px;
}
.step::before {
  counter-increment: step;
  content: counter(step);
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 13px; font-weight: 700;
  margin-bottom: 12px;
}
.step h4 { font-size: 16px; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.step p { font-size: 13.5px; line-height: 1.6; color: var(--ink-48); }
@media (max-width: 834px) {
  .steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .steps { grid-template-columns: 1fr; }
}
/* 联系方式卡 */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 28px 0;
}
.contact-card {
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-lg);
  padding: 24px;
  text-align: center;
}
.contact-card .c-icon {
  width: 48px; height: 48px; margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--tag-bg);
  display: flex; align-items: center; justify-content: center;
}
.contact-card h4 { font-size: 15px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.contact-card p { font-size: 13.5px; color: var(--ink-48); line-height: 1.6; }
@media (max-width: 834px) {
  .contact-grid { grid-template-columns: 1fr; }
}
/* 表单占位 */
.form-placeholder {
  background: var(--tile-2);
  border: 1px dashed var(--chip-bd);
  border-radius: var(--r-lg);
  padding: 48px 32px;
  text-align: center;
  color: var(--ink-48);
  font-size: 15px;
  margin: 28px 0;
}
.form-placeholder strong { color: var(--ink); display: block; margin-bottom: 8px; font-size: 17px; }
/* 面包屑页面提示条 */
.page-hint {
  max-width: 980px; margin: 24px auto 0; padding: 0 24px;
  font-size: 12.5px; color: var(--ink-48); letter-spacing: -0.12px;
}
.page-hint a { color: var(--primary-on-dark); }


/* ============================================================
   多主题系统（每页一套莫兰迪色板）
   body.theme-violet / theme-indigo / theme-teal / theme-amber
   ============================================================ */

/* ---- 语义强调色默认值（紫晶，用于上面替换出的 var） ---- */
:root {
  --glass-bg: rgba(61, 51, 76, 0.82);
  --hover-bg: rgba(74, 143, 247, 0.12);
  --tag-bg: rgba(74, 143, 247, 0.16);
  --info-bg: rgba(74, 143, 247, 0.08);
  --info-bd: rgba(74, 143, 247, 0.2);
  --strap-bg: rgba(74, 143, 247, 0.08);
  --strap-bd: rgba(127, 181, 255, 0.2);
  --chip-bd: rgba(127, 181, 255, 0.35);
  /* SVG 插画用色（覆盖层已定义 primary 等，这里定义三档辅助） */
  --aux-1: #b39ddb;
  --aux-2: #7e57c2;
  --aux-rgb: 179, 157, 219;
  --prim-rgb: 74, 143, 247;
  --ondark-rgb: 127, 181, 255;
}



/* ============================================================
   北欧新药研发企业风格 — 主题色板（深色北欧底）
   body.theme-nordic-pine / nordic-fjord / nordic-mist / nordic-sand
   配套北欧形态覆盖层（短划线标题 / 矩形按钮 / 细框 / 宽留白）
   ============================================================ */

/* ---- 语义强调色默认值（Nordic Pine） ---- */
:root {
  --ink: #f6f4ed; --ink-80: #dcd8ca; --ink-48: #a7a295; --body-muted: #c8c3b3;
  --glass-bg: rgba(12, 32, 24, 0.82);
  --hover-bg: rgba(98, 192, 141, 0.14);
  --tag-bg: rgba(98, 192, 141, 0.18);
  --info-bg: rgba(98, 192, 141, 0.1);
  --info-bd: rgba(98, 192, 141, 0.26);
  --strap-bg: rgba(98, 192, 141, 0.1);
  --strap-bd: rgba(147, 220, 182, 0.26);
  --chip-bd: rgba(147, 220, 182, 0.4);
  --aux-1: #9cc3a9; --aux-2: #46845f;
  --aux-rgb: 156, 195, 169;
  --prim-rgb: 98, 192, 141;
  --ondark-rgb: 147, 220, 182;
}

/* ---- 北欧 · 松林绿 Nordic Pine（公司介绍） ---- */
body.theme-nordic-pine {
  --primary: #62c08d; --primary-focus: #74cda0; --primary-on-dark: #93dcb6;
  --ink: #f6f4ed; --ink-80: #dcd8ca; --ink-48: #a7a295; --body-muted: #c8c3b3;
  --canvas: #16372b; --parchment: #1b3e31; --pearl: #214738;
  --tile-1: #102a20; --tile-2: #16332a; --tile-3: #0d241b; --black: #091a12;
  --glass-bg: rgba(10, 26, 19, 0.82); --hover-bg: rgba(98, 192, 141, 0.14);
  --tag-bg: rgba(98, 192, 141, 0.18); --info-bg: rgba(98, 192, 141, 0.1);
  --info-bd: rgba(98, 192, 141, 0.26); --strap-bg: rgba(98, 192, 141, 0.1);
  --strap-bd: rgba(147, 220, 182, 0.26); --chip-bd: rgba(147, 220, 182, 0.4);
  --aux-1: #9cc3a9; --aux-2: #46845f; --aux-rgb: 156, 195, 169;
  --prim-rgb: 98, 192, 141; --ondark-rgb: 147, 220, 182;
}

/* ---- 北欧 · 峡湾蓝 Nordic Fjord（天然小分子药物研究） ---- */
body.theme-nordic-fjord {
  --primary: #77aadb; --primary-focus: #88b8e6; --primary-on-dark: #aacbee;
  --ink: #f2f4f8; --ink-80: #d5dce8; --ink-48: #9aa6b8; --body-muted: #bfc9d6;
  --canvas: #1b2c42; --parchment: #21334c; --pearl: #273a56;
  --tile-1: #16243a; --tile-2: #1b2c44; --tile-3: #132033; --black: #0d1524;
  --glass-bg: rgba(12, 19, 32, 0.82); --hover-bg: rgba(119, 170, 219, 0.14);
  --tag-bg: rgba(119, 170, 219, 0.18); --info-bg: rgba(119, 170, 219, 0.1);
  --info-bd: rgba(119, 170, 219, 0.26); --strap-bg: rgba(119, 170, 219, 0.1);
  --strap-bd: rgba(170, 203, 238, 0.26); --chip-bd: rgba(170, 203, 238, 0.4);
  --aux-1: #9db3cc; --aux-2: #54749b; --aux-rgb: 157, 179, 204;
  --prim-rgb: 119, 170, 219; --ondark-rgb: 170, 203, 238;
}

/* ---- 北欧 · 海雾青 Nordic Mist（天然健康解决方案） ---- */
body.theme-nordic-mist {
  --primary: #6ab9b0; --primary-focus: #7bc7be; --primary-on-dark: #a2dcd4;
  --ink: #f1f5f4; --ink-80: #d2dfdc; --ink-48: #96adaa; --body-muted: #bccbc8;
  --canvas: #203336; --parchment: #263b3e; --pearl: #2c4548;
  --tile-1: #1a2b2e; --tile-2: #203437; --tile-3: #17272a; --black: #101c1e;
  --glass-bg: rgba(15, 26, 28, 0.82); --hover-bg: rgba(106, 185, 176, 0.14);
  --tag-bg: rgba(106, 185, 176, 0.18); --info-bg: rgba(106, 185, 176, 0.1);
  --info-bd: rgba(106, 185, 176, 0.26); --strap-bg: rgba(106, 185, 176, 0.1);
  --strap-bd: rgba(162, 220, 212, 0.26); --chip-bd: rgba(162, 220, 212, 0.4);
  --aux-1: #96bdb8; --aux-2: #47817b; --aux-rgb: 150, 189, 184;
  --prim-rgb: 106, 185, 176; --ondark-rgb: 162, 220, 212;
}

/* ---- 北欧 · 桦木金 Nordic Sand（业务合作需求） ---- */
body.theme-nordic-sand {
  --primary: #d09c53; --primary-focus: #dcae68; --primary-on-dark: #e9c98f;
  --ink: #f8f4ec; --ink-80: #e2d9c4; --ink-48: #b2a48a; --body-muted: #d2c6ab;
  --canvas: #3a3227; --parchment: #443b2f; --pearl: #4e4435;
  --tile-1: #312a20; --tile-2: #393126; --tile-3: #2a241b; --black: #1e1810;
  --glass-bg: rgba(30, 24, 16, 0.82); --hover-bg: rgba(208, 156, 83, 0.14);
  --tag-bg: rgba(208, 156, 83, 0.18); --info-bg: rgba(208, 156, 83, 0.1);
  --info-bd: rgba(208, 156, 83, 0.26); --strap-bg: rgba(208, 156, 83, 0.1);
  --strap-bd: rgba(233, 201, 143, 0.26); --chip-bd: rgba(233, 201, 143, 0.4);
  --aux-1: #d0bc9a; --aux-2: #93764a; --aux-rgb: 208, 188, 154;
  --prim-rgb: 208, 156, 83; --ondark-rgb: 233, 201, 143;
}

/* ============================================================
   北欧形态覆盖层
   ============================================================ */
body {
  background: var(--canvas);
  letter-spacing: 0.005em;
}

/* 标题：上方短划线 */
h2.section-title::before {
  content: '';
  display: block;
  width: 44px; height: 3px;
  background: var(--primary);
  margin-bottom: 20px;
}
h3.sub-title::before {
  content: '';
  display: inline-block;
  width: 18px; height: 3px;
  background: var(--primary);
  margin-right: 12px;
  vertical-align: middle;
}

/* 导航：更细更高 + 底部发丝线 */
.global-nav {
  height: 60px;
  background: var(--nav-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  letter-spacing: 0.02em;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.global-nav .nav-brand { letter-spacing: 0.06em; font-weight: 600; font-size: 15px; color: #fff; }
.global-nav .nav-links a { font-size: 15px; opacity: 0.85; color: var(--ink-80); }
.global-nav .nav-links a:hover { opacity: 1; color: #fff; }
.global-nav .nav-links a.active { opacity: 1; color: var(--primary-on-dark); }
.nav-cta {
  border-radius: 6px;
  background: var(--primary);
  border: 1px solid var(--primary);
  color: var(--black);
  padding: 7px 20px;
  font-size: 14px;
  font-weight: 600;
}
.nav-cta:hover { background: var(--primary-focus); border-color: var(--primary-focus); color: var(--black); }

/* 子导航 */
.sub-nav { top: 56px; }
.sub-nav .sub-category { letter-spacing: 0.02em; }

/* Hero：更阔留白 + kicker 处理 */
.hero { padding: 120px 24px 96px; }
.hero h1 { font-weight: 600; }
.hero .hero-kicker {
  letter-spacing: 0.12em;
  font-size: 14px; font-weight: 600;
  color: var(--primary-on-dark);
  text-transform: uppercase;
}
.hero-compact { padding: 96px 24px 80px; }

/* 按钮：矩形小圆角（北欧） */
.btn-primary, .btn-on-dark, .btn-secondary-pill {
  border-radius: 6px;
  padding: 12px 26px;
  letter-spacing: 0.02em;
}
.btn-primary, .btn-on-dark { background: var(--primary); color: var(--black); }
.btn-primary:hover, .btn-on-dark:hover { background: var(--primary-focus); }
.btn-primary:active, .btn-on-dark:active, .btn-secondary-pill:active { transform: scale(0.97); }

/* 卡片：更深层次 + 更细边框 */
.card, .domain-card, .product-block, .pathway-box, .highlight {
  background: var(--pearl);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
}
.tile-dark .card, .tile-dark-2 .card { background: var(--pearl); }

/* 表格 */
.data-table th {
  background: var(--black);
  letter-spacing: 0.02em;
  font-weight: 500;
}
.data-table td { border-bottom-color: rgba(255, 255, 255, 0.06); }

/* 标签：细描边 */
.tag {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: var(--body-muted);
}
.tag.tag-accent {
  background: transparent;
  border: 1px solid var(--primary-on-dark);
  color: var(--primary-on-dark);
}

/* 页脚 */
.footer { border-top: 1px solid rgba(255, 255, 255, 0.08); }

/* 移动端留白收紧 */
@media (max-width: 640px) {
  .hero { padding: 64px 20px 56px; }
  .hero-compact { padding: 56px 20px 48px; }
}

/* ============================================================
   沉稳暖色系覆盖（北欧药房 · 暖调）
   body.theme-nordic-pine/fjord/mist/sand 值覆盖为暖可可/暖咖/暖赭/暖沙金
   ============================================================ */

/* 兜底默认 = 暖可可 */
:root {
  --primary: #c99a6b; --primary-focus: #d4a87c; --primary-on-dark: #e0bc95;
  --ink: #f4efe7; --ink-80: #ddd2c0; --ink-48: #a89a85; --body-muted: #c8bba6;
  --canvas: #3a3126; --parchment: #42382b; --pearl: #4b4031;
  --tile-1: #2f281f; --tile-2: #352d23; --tile-3: #2a241c; --black: #201a14;
  --glass-bg: rgba(32, 26, 20, 0.86);
  --hover-bg: rgba(201, 154, 107, 0.14);
  --tag-bg: rgba(201, 154, 107, 0.2);
  --info-bg: rgba(201, 154, 107, 0.1);
  --info-bd: rgba(224, 188, 149, 0.3);
  --strap-bg: rgba(201, 154, 107, 0.1);
  --strap-bd: rgba(224, 188, 149, 0.3);
  --chip-bd: rgba(224, 188, 149, 0.45);
  --aux-1: #c9ad8a; --aux-2: #8a6a48;
  --aux-rgb: 201, 173, 138; --prim-rgb: 201, 154, 107; --ondark-rgb: 224, 188, 149;
}

/* 暖可可 Warm Cocoa — 公司介绍 */
body.theme-nordic-pine {
  --primary: #c99a6b; --primary-focus: #d4a87c; --primary-on-dark: #e0bc95;
  --ink: #f4efe7; --ink-80: #ddd2c0; --ink-48: #a89a85; --body-muted: #c8bba6;
  --canvas: #3a3126; --parchment: #42382b; --pearl: #4b4031;
  --tile-1: #2f281f; --tile-2: #352d23; --tile-3: #2a241c; --black: #201a14;
  --glass-bg: rgba(32, 26, 20, 0.86);
  --hover-bg: rgba(201, 154, 107, 0.14);
  --tag-bg: rgba(201, 154, 107, 0.2);
  --info-bg: rgba(201, 154, 107, 0.1);
  --info-bd: rgba(224, 188, 149, 0.3);
  --strap-bg: rgba(201, 154, 107, 0.1);
  --strap-bd: rgba(224, 188, 149, 0.3);
  --chip-bd: rgba(224, 188, 149, 0.45);
  --aux-1: #c9ad8a; --aux-2: #8a6a48;
  --aux-rgb: 201, 173, 138; --prim-rgb: 201, 154, 107; --ondark-rgb: 224, 188, 149;
}

/* 暖咖 Warm Mocha — 天然小分子药物研究 */
body.theme-nordic-fjord {
  --primary: #c08a5f; --primary-focus: #cd9a70; --primary-on-dark: #dcb28d;
  --ink: #f3eee6; --ink-80: #dccfbd; --ink-48: #a3947f; --body-muted: #c6b8a3;
  --canvas: #352c23; --parchment: #3d3329; --pearl: #453a2e;
  --tile-1: #2b241c; --tile-2: #302821; --tile-3: #262019; --black: #1c1712;
  --glass-bg: rgba(28, 23, 18, 0.86);
  --hover-bg: rgba(192, 138, 95, 0.15);
  --tag-bg: rgba(192, 138, 95, 0.2);
  --info-bg: rgba(192, 138, 95, 0.1);
  --info-bd: rgba(220, 178, 141, 0.3);
  --strap-bg: rgba(192, 138, 95, 0.1);
  --strap-bd: rgba(220, 178, 141, 0.3);
  --chip-bd: rgba(220, 178, 141, 0.45);
  --aux-1: #c4a583; --aux-2: #7d5c3c;
  --aux-rgb: 196, 165, 131; --prim-rgb: 192, 138, 95; --ondark-rgb: 220, 178, 141;
}

/* 暖赭 Warm Ochre — 天然健康解决方案 */
body.theme-nordic-mist {
  --primary: #bd8f5f; --primary-focus: #cba173; --primary-on-dark: #d9b98e;
  --ink: #f4efe6; --ink-80: #ddd0bb; --ink-48: #a6967e; --body-muted: #c9b9a0;
  --canvas: #373026; --parchment: #3f362a; --pearl: #483e30;
  --tile-1: #2d2720; --tile-2: #332c24; --tile-3: #28221c; --black: #1e1913;
  --glass-bg: rgba(30, 25, 19, 0.86);
  --hover-bg: rgba(189, 143, 95, 0.15);
  --tag-bg: rgba(189, 143, 95, 0.2);
  --info-bg: rgba(189, 143, 95, 0.1);
  --info-bd: rgba(217, 185, 142, 0.3);
  --strap-bg: rgba(189, 143, 95, 0.1);
  --strap-bd: rgba(217, 185, 142, 0.3);
  --chip-bd: rgba(217, 185, 142, 0.45);
  --aux-1: #c4a67f; --aux-2: #7f5f3c;
  --aux-rgb: 196, 166, 127; --prim-rgb: 189, 143, 95; --ondark-rgb: 217, 185, 142;
}

/* 暖沙金 Warm Sand — 业务合作需求 */
body.theme-nordic-sand {
  --primary: #cfa268; --primary-focus: #dab27e; --primary-on-dark: #e6c69a;
  --ink: #f5f0e7; --ink-80: #dfd3bf; --ink-48: #ab9c84; --body-muted: #cdbfa6;
  --canvas: #40362a; --parchment: #483d2f; --pearl: #514536;
  --tile-1: #342c22; --tile-2: #3a3126; --tile-3: #2f281f; --black: #221c15;
  --glass-bg: rgba(34, 28, 21, 0.86);
  --hover-bg: rgba(207, 162, 104, 0.15);
  --tag-bg: rgba(207, 162, 104, 0.2);
  --info-bg: rgba(207, 162, 104, 0.1);
  --info-bd: rgba(230, 198, 154, 0.3);
  --strap-bg: rgba(207, 162, 104, 0.1);
  --strap-bd: rgba(230, 198, 154, 0.3);
  --chip-bd: rgba(230, 198, 154, 0.45);
  --aux-1: #d0b188; --aux-2: #8d6a40;
  --aux-rgb: 208, 177, 136; --prim-rgb: 207, 162, 104; --ondark-rgb: 230, 198, 154;
}


/* 导航底色变量注入（暖深色随主题） */
:root { --nav-bg: rgba(26, 21, 16, 0.9); }
body.theme-nordic-pine { --nav-bg: rgba(26, 21, 16, 0.92); }
body.theme-nordic-fjord { --nav-bg: rgba(23, 18, 14, 0.92); }
body.theme-nordic-mist { --nav-bg: rgba(24, 20, 15, 0.92); }
body.theme-nordic-sand { --nav-bg: rgba(28, 22, 16, 0.92); }

/* ============================================================
   首页 Hero 动画替换：沉稳呼吸（替换旋转/漂浮）
   ============================================================ */
/* 关闭 DNA 缓慢旋转与粒子漂浮（仅首页 hero） */
.hero-art .spin-slow { animation: none !important; }
.hero-art .particle { animation: none !important; }
/* 光晕：旋转淡出改为柔和呼吸 */
.hero-art .art-glow {
  animation: warmBreath 7s ease-in-out infinite;
}
@keyframes warmBreath {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 0.65; }
}
/* 容器入场：轻柔上浮淡入（一次性） */
.hero .hero-art { animation: heroIn 1.1s ease-out both; }
@keyframes heroIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   莫兰迪多色 · 北欧药房（每页不同色相，低饱和不刺眼）
   覆盖：紫 Plum(公司) / 孔雀绿 Peacock(研究) / 芥末黄 Mustard(方案) / 雾蓝 Dusty Blue(合作)
   ============================================================ */

/* 兜底默认 = 松林深绿 Spruce */
:root {
  --primary: #6fae85; --primary-focus: #7dbc93; --primary-on-dark: #9fd3af;
  --ink: #eef4ef; --ink-80: #d3e2d6; --ink-48: #9cb1a2; --body-muted: #bdcebf;
  --canvas: #1f3a2c; --parchment: #244231; --pearl: #2b4c39;
  --tile-1: #193024; --tile-2: #1e382a; --tile-3: #15291f; --black: #101f16;
  --nav-bg: rgba(13, 26, 19, 0.92);
  --glass-bg: rgba(14, 28, 20, 0.86);
  --hover-bg: rgba(111, 174, 133, 0.16);
  --tag-bg: rgba(111, 174, 133, 0.2);
  --info-bg: rgba(111, 174, 133, 0.12);
  --info-bd: rgba(159, 211, 175, 0.32);
  --strap-bg: rgba(111, 174, 133, 0.12);
  --strap-bd: rgba(159, 211, 175, 0.32);
  --chip-bd: rgba(159, 211, 175, 0.46);
  --aux-1: #a3c9ad; --aux-2: #52805f;
  --aux-rgb: 163, 201, 173; --prim-rgb: 111, 174, 133; --ondark-rgb: 159, 211, 175;
}

/* 松林深绿 Spruce — 公司介绍 */
body.theme-nordic-pine {
  --primary: #6fae85; --primary-focus: #7dbc93; --primary-on-dark: #9fd3af;
  --ink: #eef4ef; --ink-80: #d3e2d6; --ink-48: #9cb1a2; --body-muted: #bdcebf;
  --canvas: #1f3a2c; --parchment: #244231; --pearl: #2b4c39;
  --tile-1: #193024; --tile-2: #1e382a; --tile-3: #15291f; --black: #101f16;
  --nav-bg: rgba(13, 26, 19, 0.92);
  --glass-bg: rgba(14, 28, 20, 0.86);
  --hover-bg: rgba(111, 174, 133, 0.16);
  --tag-bg: rgba(111, 174, 133, 0.2);
  --info-bg: rgba(111, 174, 133, 0.12);
  --info-bd: rgba(159, 211, 175, 0.32);
  --strap-bg: rgba(111, 174, 133, 0.12);
  --strap-bd: rgba(159, 211, 175, 0.32);
  --chip-bd: rgba(159, 211, 175, 0.46);
  --aux-1: #a3c9ad; --aux-2: #52805f;
  --aux-rgb: 163, 201, 173; --prim-rgb: 111, 174, 133; --ondark-rgb: 159, 211, 175;
}

/* 莫兰迪孔雀绿 Peacock — 天然小分子药物研究 */
body.theme-nordic-fjord {
  --primary: #5fb2a3; --primary-focus: #70c0b2; --primary-on-dark: #8fd0c4;
  --ink: #eff6f3; --ink-80: #d2e4de; --ink-48: #99b3ac; --body-muted: #bfd3cd;
  --canvas: #1f3a37; --parchment: #264541; --pearl: #2d4f4a;
  --tile-1: #1a312f; --tile-2: #203a37; --tile-3: #162b29; --black: #101f1d;
  --nav-bg: rgba(13, 26, 24, 0.92);
  --glass-bg: rgba(16, 31, 29, 0.86);
  --hover-bg: rgba(95, 178, 163, 0.16);
  --tag-bg: rgba(95, 178, 163, 0.2);
  --info-bg: rgba(95, 178, 163, 0.12);
  --info-bd: rgba(143, 208, 196, 0.32);
  --strap-bg: rgba(95, 178, 163, 0.12);
  --strap-bd: rgba(143, 208, 196, 0.32);
  --chip-bd: rgba(143, 208, 196, 0.46);
  --aux-1: #93bfb6; --aux-2: #3f7f74;
  --aux-rgb: 147, 191, 182; --prim-rgb: 95, 178, 163; --ondark-rgb: 143, 208, 196;
}

/* 莫兰迪芥末黄 Mustard — 天然健康解决方案 */
body.theme-nordic-mist {
  --primary: #cdb26a; --primary-focus: #d7bf7e; --primary-on-dark: #e2cf9c;
  --ink: #f8f4e9; --ink-80: #e5dcc2; --ink-48: #b0a27c; --body-muted: #d6c9a6;
  --canvas: #3f3826; --parchment: #47402c; --pearl: #504930;
  --tile-1: #352f20; --tile-2: #3b3425; --tile-3: #302a1d; --black: #242013;
  --nav-bg: rgba(28, 24, 14, 0.92);
  --glass-bg: rgba(36, 32, 20, 0.86);
  --hover-bg: rgba(205, 178, 106, 0.16);
  --tag-bg: rgba(205, 178, 106, 0.2);
  --info-bg: rgba(205, 178, 106, 0.12);
  --info-bd: rgba(226, 207, 156, 0.32);
  --strap-bg: rgba(205, 178, 106, 0.12);
  --strap-bd: rgba(226, 207, 156, 0.32);
  --chip-bd: rgba(226, 207, 156, 0.46);
  --aux-1: #cdbd93; --aux-2: #8d7a45;
  --aux-rgb: 205, 189, 147; --prim-rgb: 205, 178, 106; --ondark-rgb: 226, 207, 156;
}

/* 莫兰迪雾蓝 Dusty Blue — 业务合作需求 */
body.theme-nordic-sand {
  --primary: #8aa9c7; --primary-focus: #9bb7d2; --primary-on-dark: #b6cde2;
  --ink: #f1f4f8; --ink-80: #d6dfe9; --ink-48: #9fafbf; --body-muted: #c4d0dd;
  --canvas: #2f3a47; --parchment: #37424f; --pearl: #3f4b59;
  --tile-1: #28323d; --tile-2: #2e3945; --tile-3: #242d37; --black: #1a212a;
  --nav-bg: rgba(20, 26, 34, 0.92);
  --glass-bg: rgba(26, 33, 42, 0.86);
  --hover-bg: rgba(138, 169, 199, 0.16);
  --tag-bg: rgba(138, 169, 199, 0.2);
  --info-bg: rgba(138, 169, 199, 0.12);
  --info-bd: rgba(182, 205, 226, 0.32);
  --strap-bg: rgba(138, 169, 199, 0.12);
  --strap-bd: rgba(182, 205, 226, 0.32);
  --chip-bd: rgba(182, 205, 226, 0.46);
  --aux-1: #a3b6ca; --aux-2: #5f7a96;
  --aux-rgb: 163, 182, 202; --prim-rgb: 138, 169, 199; --ondark-rgb: 182, 205, 226;
}


/* ============================================================
   新增页面主题（莫兰迪低饱和）
   team=陶土 Terra / clinical=鼠尾草 Sage / news=雾玫瑰 Rose / contact=石墨金 Graphite
   ============================================================ */

/* 陶土 Terra — 专家团队 */
body.theme-nordic-terra {
  --primary: #cf8e6b; --primary-focus: #dca184; --primary-on-dark: #e8c1a9;
  --ink: #f5f0ea; --ink-80: #ded2c4; --ink-48: #ab9c8b; --body-muted: #cdbda9;
  --canvas: #412f27; --parchment: #49362d; --pearl: #523d33;
  --tile-1: #362920; --tile-2: #3e2e25; --tile-3: #30251d; --black: #221612;
  --nav-bg: rgba(26, 17, 13, 0.92);
  --glass-bg: rgba(34, 22, 17, 0.86);
  --hover-bg: rgba(207, 142, 107, 0.16);
  --tag-bg: rgba(207, 142, 107, 0.2);
  --info-bg: rgba(207, 142, 107, 0.12);
  --info-bd: rgba(232, 193, 169, 0.32);
  --strap-bg: rgba(207, 142, 107, 0.12);
  --strap-bd: rgba(232, 193, 169, 0.32);
  --chip-bd: rgba(232, 193, 169, 0.46);
  --aux-1: #d3aa8d; --aux-2: #94603f;
  --aux-rgb: 211, 170, 141; --prim-rgb: 207, 142, 107; --ondark-rgb: 232, 193, 169;
}

/* 鼠尾草 Sage — 临床研究 */
body.theme-nordic-sage {
  --primary: #8fb59f; --primary-focus: #a0c2ae; --primary-on-dark: #bcd8c6;
  --ink: #f0f5f1; --ink-80: #d2dfd6; --ink-48: #97aa9e; --body-muted: #bccbbf;
  --canvas: #2e3d35; --parchment: #35463d; --pearl: #3d5046;
  --tile-1: #27342e; --tile-2: #2e3b34; --tile-3: #232f2a; --black: #17211c;
  --nav-bg: rgba(16, 26, 21, 0.92);
  --glass-bg: rgba(23, 33, 28, 0.86);
  --hover-bg: rgba(143, 181, 159, 0.16);
  --tag-bg: rgba(143, 181, 159, 0.2);
  --info-bg: rgba(143, 181, 159, 0.12);
  --info-bd: rgba(188, 216, 198, 0.32);
  --strap-bg: rgba(143, 181, 159, 0.12);
  --strap-bd: rgba(188, 216, 198, 0.32);
  --chip-bd: rgba(188, 216, 198, 0.46);
  --aux-1: #a8c3b2; --aux-2: #5c8371;
  --aux-rgb: 168, 195, 178; --prim-rgb: 143, 181, 159; --ondark-rgb: 188, 216, 198;
}

/* 雾玫瑰 Rose — 新闻动态 */
body.theme-nordic-rose {
  --primary: #c7949f; --primary-focus: #d5a6b0; --primary-on-dark: #e3bfc6;
  --ink: #f6f0f2; --ink-80: #dfd0d5; --ink-48: #b09da3; --body-muted: #d0bcc2;
  --canvas: #432f38; --parchment: #4b3640; --pearl: #553d48;
  --tile-1: #382830; --tile-2: #402e37; --tile-3: #33242c; --black: #24171c;
  --nav-bg: rgba(28, 17, 22, 0.92);
  --glass-bg: rgba(36, 23, 29, 0.86);
  --hover-bg: rgba(199, 148, 159, 0.16);
  --tag-bg: rgba(199, 148, 159, 0.2);
  --info-bg: rgba(199, 148, 159, 0.12);
  --info-bd: rgba(227, 191, 198, 0.32);
  --strap-bg: rgba(199, 148, 159, 0.12);
  --strap-bd: rgba(227, 191, 198, 0.32);
  --chip-bd: rgba(227, 191, 198, 0.46);
  --aux-1: #d1adb5; --aux-2: #966571;
  --aux-rgb: 209, 173, 181; --prim-rgb: 199, 148, 159; --ondark-rgb: 227, 191, 198;
}

/* 石墨金 Graphite — 联系我们 */
body.theme-nordic-graphite {
  --primary: #c0a77e; --primary-focus: #ceb78f; --primary-on-dark: #e0cfa9;
  --ink: #f4f1ec; --ink-80: #dcd4c6; --ink-48: #a99f8e; --body-muted: #c9bfac;
  --canvas: #3b3730; --parchment: #433e36; --pearl: #4c463d;
  --tile-1: #322e28; --tile-2: #38342d; --tile-3: #2d2924; --black: #1f1b16;
  --nav-bg: rgba(24, 21, 17, 0.92);
  --glass-bg: rgba(31, 27, 22, 0.86);
  --hover-bg: rgba(192, 167, 126, 0.16);
  --tag-bg: rgba(192, 167, 126, 0.2);
  --info-bg: rgba(192, 167, 126, 0.12);
  --info-bd: rgba(224, 207, 169, 0.32);
  --strap-bg: rgba(192, 167, 126, 0.12);
  --strap-bd: rgba(224, 207, 169, 0.32);
  --chip-bd: rgba(224, 207, 169, 0.46);
  --aux-1: #cdbd9e; --aux-2: #8b7750;
  --aux-rgb: 205, 189, 158; --prim-rgb: 192, 167, 126; --ondark-rgb: 224, 207, 169;
}

/* 多页面导航适配 */
@media (max-width: 1068px) {
  .global-nav .nav-links a { font-size: 13px; }
  .global-nav .nav-links { gap: 12px; }
  .global-nav .nav-brand { font-size: 14px; }
}
@media (max-width: 940px) {
  .global-nav .nav-links a { font-size: 12px; }
  .global-nav .nav-links { gap: 8px; }
}


/* ============================================================
   行距加宽覆盖层（北欧松弛排版 · 2026 更新）
   ============================================================ */
body { line-height: 1.85; }
p { line-height: 1.85; }
.lead { line-height: 1.65; }
.hero .hero-sub { line-height: 1.55; }
.body-copy { line-height: 1.85; }
.card .card-body { line-height: 1.9; }
.domain-card .dc-body { line-height: 1.95; }
.pb-desc { line-height: 1.9; }
.product-block .card-body { line-height: 1.9; }
.highlight p { line-height: 1.9; }
.highlight .hl-title { line-height: 1.45; }
.info-box p { line-height: 1.9; }
.pw-content { line-height: 2.0; }
.styled-list li { line-height: 1.9; }
.styled-list li strong { line-height: 1.9; }
.strap { line-height: 1.9; }
.form-placeholder { line-height: 1.9; }
.step p { line-height: 1.85; }
.contact-card p { line-height: 1.85; }
.org-strip .card .card-body { line-height: 1.9; }
.stat .lbl { line-height: 1.6; }
/* 表格单元格加宽 */
.data-table td { line-height: 1.75; }
.data-table th { line-height: 1.6; }
/* 页脚链接列更松弛 */
.footer-col a, .footer-col span { line-height: 2.5; }
.footer-legal { line-height: 1.8; }
/* 描述/弱文字 */
.caption { line-height: 1.7; }
.pb-latin { line-height: 1.6; }


/* ============================================================
   主体 · 伙伴 · 支持单位 文字排版（科研平台体系）
   ============================================================ */
.org-note {
  margin: 36px 0 8px;
}
.org-note-core {
  background: var(--black);
  border: 1px solid var(--primary-on-dark);
  border-left: 5px solid var(--primary-on-dark);
  border-radius: 10px;
  padding: 22px 28px;
  margin-bottom: 18px;
}
.org-note-badge {
  display: inline-block;
  font-size: 12px; font-weight: 600;
  color: var(--black);
  background: var(--primary-on-dark);
  border-radius: 4px;
  padding: 2px 10px;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
}
.org-note-core-name {
  font-size: 24px; font-weight: 700; letter-spacing: 0.01em;
  color: var(--ink);
  line-height: 1.35;
}
.org-note-core-sub {
  margin-top: 8px;
  font-size: 14px; line-height: 1.8;
  color: var(--ink-48);
}
.org-note-row {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 20px;
}
.org-note-col {
  background: var(--tile-2);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 22px 24px;
}
.org-note-head {
  margin-bottom: 14px;
}
.org-note-tag {
  display: inline-block;
  font-size: 13px; font-weight: 700;
  border-radius: 4px;
  padding: 3px 12px;
  letter-spacing: 0.02em;
  margin-right: 8px;
}
.org-note-tag-partner { background: var(--primary); color: var(--black); }
.org-note-tag-support { background: transparent; border: 1px solid var(--primary-on-dark); color: var(--primary-on-dark); }
.org-note-hint {
  font-size: 12px; color: var(--ink-48);
}
.org-note-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.org-note-list li {
  position: relative;
  padding: 6px 0 6px 20px;
  font-size: 15px; line-height: 1.75;
  color: var(--ink-80);
}
.org-note-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 15px;
  width: 6px; height: 6px;
  background: var(--primary-on-dark);
  border-radius: 1px;
}
.org-note-group { margin-bottom: 6px; }
.org-note-group-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 600;
  color: var(--ink-48);
  margin: 12px 0 2px;
}
.pill {
  display: inline-block;
  font-size: 11px; font-weight: 700;
  border-radius: 3px;
  padding: 1px 8px;
  letter-spacing: 0.03em;
}
.pill-n { background: var(--primary); color: var(--black); }
.pill-p { border: 1px solid var(--primary-on-dark); color: var(--primary-on-dark); }
.pill-c { border: 1px solid rgba(255,255,255,0.35); color: var(--ink-48); }
@media (max-width: 834px) {
  .org-note-row { grid-template-columns: 1fr; }
}


/* ============================================================
   专家子页主题（莫兰迪低饱和）
   chen=墨蓝靛 / wu=酒红 / wang=药草橄榄 / tan=烟灰
   ============================================================ */

/* 陈旭东 教授 · 墨蓝靛 Ink-Indigo */
body.theme-expert-chen {
  --primary: #8fa7d9; --primary-focus: #a3b7e4; --primary-on-dark: #c2d1f0;
  --ink: #f2f4f9; --ink-80: #d5dbe9; --ink-48: #9ba6bd; --body-muted: #c0c8da;
  --canvas: #2b3550; --parchment: #323d5c; --pearl: #3a4668;
  --tile-1: #242d45; --tile-2: #2a3450; --tile-3: #20283e; --black: #161c2e;
  --nav-bg: rgba(16, 20, 34, 0.92);
  --glass-bg: rgba(22, 28, 46, 0.86);
  --hover-bg: rgba(143, 167, 217, 0.16);
  --tag-bg: rgba(143, 167, 217, 0.2);
  --info-bg: rgba(143, 167, 217, 0.12);
  --info-bd: rgba(194, 209, 240, 0.32);
  --strap-bg: rgba(143, 167, 217, 0.12);
  --strap-bd: rgba(194, 209, 240, 0.32);
  --chip-bd: rgba(194, 209, 240, 0.46);
  --aux-1: #aebede; --aux-2: #667bab;
  --aux-rgb: 174, 190, 222; --prim-rgb: 143, 167, 217; --ondark-rgb: 194, 209, 240;
}

/* 吴海强 教授 · 酒红 Wine */
body.theme-expert-wu {
  --primary: #cf8f9f; --primary-focus: #dba3b1; --primary-on-dark: #e6bcc6;
  --ink: #f8f1f3; --ink-80: #e4d2d8; --ink-48: #b49aa2; --body-muted: #d4bcc3;
  --canvas: #40292e; --parchment: #493136; --pearl: #543a40;
  --tile-1: #35222a; --tile-2: #3c2730; --tile-3: #2f1e25; --black: #211317;
  --nav-bg: rgba(29, 16, 20, 0.92);
  --glass-bg: rgba(33, 19, 24, 0.86);
  --hover-bg: rgba(207, 143, 159, 0.16);
  --tag-bg: rgba(207, 143, 159, 0.2);
  --info-bg: rgba(207, 143, 159, 0.12);
  --info-bd: rgba(230, 188, 198, 0.32);
  --strap-bg: rgba(207, 143, 159, 0.12);
  --strap-bd: rgba(230, 188, 198, 0.32);
  --chip-bd: rgba(230, 188, 198, 0.46);
  --aux-1: #d9b3bd; --aux-2: #99646f;
  --aux-rgb: 217, 179, 189; --prim-rgb: 207, 143, 159; --ondark-rgb: 230, 188, 198;
}

/* 王 · 临床中医 · 药草橄榄 Herb-Olive */
body.theme-expert-wang {
  --primary: #a8b070; --primary-focus: #b8c082; --primary-on-dark: #cfd5a0;
  --ink: #f4f5ec; --ink-80: #dcdec8; --ink-48: #a9ab8d; --body-muted: #c9cbae;
  --canvas: #3a3c26; --parchment: #43452d; --pearl: #4c4e34;
  --tile-1: #31331f; --tile-2: #373a25; --tile-3: #2b2d1b; --black: #1e1f12;
  --nav-bg: rgba(28, 28, 16, 0.92);
  --glass-bg: rgba(30, 31, 18, 0.86);
  --hover-bg: rgba(168, 176, 112, 0.16);
  --tag-bg: rgba(168, 176, 112, 0.2);
  --info-bg: rgba(168, 176, 112, 0.12);
  --info-bd: rgba(207, 213, 160, 0.32);
  --strap-bg: rgba(168, 176, 112, 0.12);
  --strap-bd: rgba(207, 213, 160, 0.32);
  --chip-bd: rgba(207, 213, 160, 0.46);
  --aux-1: #c2c79a; --aux-2: #7f8449;
  --aux-rgb: 194, 199, 154; --prim-rgb: 168, 176, 112; --ondark-rgb: 207, 213, 160;
}

/* 谭 · 首席顾问 · 烟灰 Smoke */
body.theme-expert-tan {
  --primary: #a8adb4; --primary-focus: #babfc6; --primary-on-dark: #d4d8dd;
  --ink: #f2f3f4; --ink-80: #d4d7da; --ink-48: #9ba0a6; --body-muted: #c0c4c8;
  --canvas: #34373a; --parchment: #3d4043; --pearl: #46494d;
  --tile-1: #2c2e31; --tile-2: #323437; --tile-3: #27292c; --black: #1a1c1e;
  --nav-bg: rgba(22, 24, 26, 0.92);
  --glass-bg: rgba(26, 28, 30, 0.86);
  --hover-bg: rgba(168, 173, 180, 0.16);
  --tag-bg: rgba(168, 173, 180, 0.2);
  --info-bg: rgba(168, 173, 180, 0.12);
  --info-bd: rgba(212, 216, 221, 0.32);
  --strap-bg: rgba(168, 173, 180, 0.12);
  --strap-bd: rgba(212, 216, 221, 0.32);
  --chip-bd: rgba(212, 216, 221, 0.46);
  --aux-1: #c5c9cd; --aux-2: #767b81;
  --aux-rgb: 197, 201, 205; --prim-rgb: 168, 173, 180; --ondark-rgb: 212, 216, 221;
}


/* ============================================================
   文字随版面宽度自然排布（2026-09 调整）
   ============================================================ */
/* 标题：允许按宽度自然折行，不人为断行，也不溢出 */
h1, h2, h3, h4, .hero h1, .hero-sub, .lead, .section-title, .sub-title,
.pb-name, .pb-desc, .dc-title, .dc-body, .card-title, .card-body {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: balance;
}
/* 步骤说明块、列表项与正文按宽度排布 */
.step p, .styled-list li, .body-copy, p, .strap {
  white-space: normal;
  overflow-wrap: break-word;
}


/* ============================================================
   产品中心主题 · 苔原绿 Tundra（天然产物产品页）
   ============================================================ */
body.theme-product {
  --primary: #8aa77a; --primary-focus: #9db98d; --primary-on-dark: #c2d4b4;
  --ink: #f3f5f0; --ink-80: #d7decf; --ink-48: #a4ad99; --body-muted: #c6cebb;
  --canvas: #33382e; --parchment: #3a4035; --pearl: #434a3e;
  --tile-1: #2b3027; --tile-2: #31362c; --tile-3: #262a22; --black: #1b1f18;
  --nav-bg: rgba(22, 25, 20, 0.92);
  --glass-bg: rgba(27, 31, 24, 0.86);
  --hover-bg: rgba(138, 167, 122, 0.16);
  --tag-bg: rgba(138, 167, 122, 0.2);
  --info-bg: rgba(138, 167, 122, 0.12);
  --info-bd: rgba(194, 212, 180, 0.32);
  --strap-bg: rgba(138, 167, 122, 0.12);
  --strap-bd: rgba(194, 212, 180, 0.32);
  --chip-bd: rgba(194, 212, 180, 0.46);
  --aux-1: #a9bd9a; --aux-2: #5f7752;
  --aux-rgb: 169, 189, 154; --prim-rgb: 138, 167, 122; --ondark-rgb: 194, 212, 180;
}
/* 产品网格 */
.product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 28px 0;
}
.product-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--pearl);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  padding: 22px;
  text-decoration: none;
  transition: transform 0.15s ease, border-color 0.2s ease;
}
.product-card:hover { transform: translateY(-2px); border-color: var(--primary-on-dark); text-decoration: none; }
.product-card .pc-ico-box {
  flex-shrink: 0;
  width: 64px; height: 64px;
  display: flex; align-items: center; justify-content: center;
  font-size: 34px;
  background: rgba(255,255,255,0.06);
  border-radius: 14px;
}
.product-card .pc-main { flex: 1; min-width: 0; }
.product-card .pc-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.product-card .pc-desc {
  margin-top: 8px;
  font-size: 13.5px; line-height: 1.75;
  color: var(--ink-80);
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.product-card:hover { transform: translateY(-2px); border-color: var(--primary-on-dark); text-decoration: none; }
.product-card .pc-icon {
  font-size: 30px; line-height: 1;
  margin-bottom: 12px;
  display:block;
}
.product-card .pc-name { font-size: 16px; font-weight: 600; color: var(--ink); letter-spacing: 0; line-height:1.4; }
.product-card .pc-latin { font-size: 11px; color: var(--ink-48); margin-top: 4px; line-height: 1.5; word-break: break-all; }
.product-card .pc-tag {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  color: var(--primary-on-dark);
  border: 1px solid var(--primary-on-dark);
  border-radius: 4px;
  padding: 1px 8px;
}
@media (max-width: 900px) { .product-grid { grid-template-columns: 1fr; } }




/* ============================================================
   北欧风字体细节层（2026 调整）
   ============================================================ */
/* 标题统一 Work Sans（西文）优先；字距收紧更具北欧几何感 */
h1, h2, h3, h4, .section-title, .sub-title, .minor-title,
.pb-name, .dc-title, .card-title, .hl-title, .hero-compact h1,
.stat .num {
  font-family: var(--font-display);
  letter-spacing: -0.01em;
}
/* 英文 kicker：用 Work Sans + 大写字距 */
.hero-kicker {
  font-family: var(--font-display);
  letter-spacing: 0.14em;
  font-weight: 700;
}
/* 产品拉丁名：北欧衬线点缀（Lora） */
.pb-latin {
  font-family: "Lora Nordic", Georgia, "Times New Roman", serif;
  font-style: italic;
  letter-spacing: 0.01em;
}
.product-card .pc-latin {
  font-family: "Lora Nordic", Georgia, serif;
  font-style: italic;
}
/* 表格英文注释（dim 行内西文）用 Lora 斜体保持一致性 */
.data-table .dim {
  font-family: "Lora Nordic", Georgia, serif;
  font-style: italic;
}
/* 导航与正文使用 Work Sans 系西文，字重控制 */
.global-nav .nav-brand,
.global-nav .nav-links a,
.nav-cta {
  font-family: var(--font-display);
}
body, p, .body-copy, .card-body, .lead, .strap, .styled-list li,
.footer, .tag, .info-box, .highlight, .form-placeholder {
  font-family: var(--font-body);
}
/* 数字展示（stat）用 Work Sans 收紧 */
.stat .num {
  font-family: var(--font-display);
  font-weight: 700;
}


/* ============================================================
   公司介绍新增板块组件
   ============================================================ */
/* 时间轴（发展历程） */
.milestones { position: relative; margin: 36px 0 12px; padding-left: 28px; }
.milestones::before {
  content: '';
  position: absolute; left: 7px; top: 6px; bottom: 6px;
  width: 2px;
  background: linear-gradient(to bottom, var(--primary-on-dark), var(--primary), transparent);
}
.milestone { position: relative; padding: 0 0 26px 8px; }
.milestone:last-child { padding-bottom: 4px; }
.milestone::before {
  content: '';
  position: absolute; left: -28px; top: 5px;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--primary);
  border: 3px solid var(--canvas);
  box-shadow: 0 0 0 2px var(--primary-on-dark);
}
.milestone .ms-year {
  font-family: var(--font-display);
  font-size: 15px; font-weight: 700;
  color: var(--primary-on-dark);
  letter-spacing: 0.02em;
}
.milestone .ms-title { font-size: 17px; font-weight: 600; color: var(--ink); margin: 2px 0 4px; line-height:1.4; }
.milestone .ms-desc { font-size: 14px; line-height: 1.8; color: var(--ink-48); }
/* 合作伙伴 */
.partner-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 28px 0;
}
.partner-card {
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
}
.partner-card .pk-name { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.5; }
.partner-card .pk-role {
  display: inline-block;
  margin-top: 8px;
  font-size: 11px;
  color: var(--primary-on-dark);
  border: 1px solid var(--primary-on-dark);
  border-radius: 4px;
  padding: 1px 8px;
}
.partner-card .pk-desc { margin-top: 10px; font-size: 12.5px; line-height: 1.7; color: var(--ink-48); }
@media (max-width: 1068px) { .partner-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .partner-grid { grid-template-columns: 1fr; } }
/* 科研成果卡（横向亮点条） */
.result-card {
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 4px solid var(--primary);
  border-radius: 10px;
  padding: 18px 22px;
  margin-bottom: 12px;
}
.result-card .rc-title { font-size: 15px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.result-card .rc-meta { font-size: 12.5px; color: var(--ink-48); margin-bottom: 6px; letter-spacing:0.02em; }
.result-card .rc-desc { font-size: 13.5px; line-height: 1.8; color: var(--ink-80); }


/* ============================================================
   董事长致辞板块
   ============================================================ */
.chairman-wrap {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 36px;
  align-items: start;
  margin: 32px 0 8px;
}
.chairman-photo {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.15);
  background: var(--tile-2);
}
.chairman-photo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.chairman-photo .cp-frame {
  padding: 14px;
  text-align: center;
}
.chairman-photo .cp-name { font-size: 17px; font-weight: 700; color: var(--ink); }
.chairman-photo .cp-role { font-size: 12px; color: var(--primary-on-dark); margin-top: 4px; letter-spacing: 0.04em; }
.chairman-body .cb-title {
  font-size: 22px; font-weight: 700; color: var(--ink);
  margin-bottom: 14px; line-height: 1.4;
  font-family: var(--font-display);
}
.chairman-body .cb-message {
  font-size: 16px; line-height: 2.0; color: var(--ink-80);
  margin-bottom: 22px;
  font-family: var(--font-body);
}
.chairman-body .cb-roles-title {
  font-size: 13px; font-weight: 700; color: var(--primary-on-dark);
  letter-spacing: 0.06em; margin-bottom: 10px;
}
.chairman-body .cb-roles {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.chairman-body .cb-roles .role-tag {
  font-size: 12.5px;
  color: var(--ink-80);
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 6px;
  padding: 5px 12px;
}
@media (max-width: 834px) {
  .chairman-wrap { grid-template-columns: 1fr; }
  .chairman-photo { max-width: 300px; }
}


/* ============================================================
   文字按容器实际宽度自然排布（2026 更新）
   不使用写死断行；长文本依容器宽度自然折行并均衡排版
   ============================================================ */
.partner-card .pk-name {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: balance;
  max-width: 100%;
}
.chairman-body .cb-title,
.chairman-body .cb-message {
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.org-note-core-name,
.org-note-core-sub,
.org-strip .card-title,
.org-strip .card-body,
.result-card .rc-title,
.result-card .rc-desc,
.milestone .ms-title,
.milestone .ms-desc,
.partner-card .pk-desc {
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}


/* ============================================================
   首页 · 高饱和莫兰迪主题 Vivid Spruce（2026 提亮版）
   深色底保留，强调色提高饱和度、更鲜亮
   ============================================================ */
body.theme-vivid-pine {
  --primary: #3ecf8e;              /* 翡翠亮绿 — 主强调 */
  --primary-focus: #4fe0a0;        /* hover 更亮 */
  --primary-on-dark: #6ef7bb;      /* 深底亮绿文字/链接 */
  --ink: #f2f9f4; --ink-80: #d4eade; --ink-48: #9cbcae; --body-muted: #c2ddcf;
  --canvas: #14301f;               /* 深松绿（比原略深，衬亮色） */
  --parchment: #1a3b27;
  --pearl: #20452f;
  --tile-1: #102719;
  --tile-2: #153120;
  --tile-3: #0d2115;
  --black: #0a1810;
  --nav-bg: rgba(8, 20, 12, 0.94);
  --glass-bg: rgba(10, 24, 14, 0.86);
  --hover-bg: rgba(62, 207, 142, 0.18);
  --tag-bg: rgba(62, 207, 142, 0.22);
  --info-bg: rgba(62, 207, 142, 0.14);
  --info-bd: rgba(110, 247, 187, 0.4);
  --strap-bg: rgba(62, 207, 142, 0.14);
  --strap-bd: rgba(110, 247, 187, 0.4);
  --chip-bd: rgba(110, 247, 187, 0.55);
  --aux-1: #7be0b0;                /* 辅助亮绿 */
  --aux-2: #2f9e6b;                /* 深绿辅助 */
  --aux-rgb: 123, 224, 176; --prim-rgb: 62, 207, 142; --ondark-rgb: 110, 247, 187;
}


/* ============================================================
   首页 · 高饱和莫兰迪紫 Vivid Plum（紫色调提亮版）
   深紫底保留，强调色为鲜亮高饱和紫
   ============================================================ */
body.theme-vivid-plum {
  --primary: #b06ef0;              /* 鲜亮紫 — 主强调 */
  --primary-focus: #c084fc;        /* hover 更亮 */
  --primary-on-dark: #d9b3ff;      /* 深底亮紫文字/链接 */
  --ink: #f8f4fc; --ink-80: #e2d7ef; --ink-48: #ab9dc4; --body-muted: #cdbede;
  --canvas: #241539;               /* 深紫底 */
  --parchment: #2c1b45;
  --pearl: #352157;
  --tile-1: #1d0f2e;
  --tile-2: #241536;
  --tile-3: #180b26;
  --black: #10081c;
  --nav-bg: rgba(12, 6, 22, 0.94);
  --glass-bg: rgba(14, 8, 26, 0.86);
  --hover-bg: rgba(176, 110, 240, 0.2);
  --tag-bg: rgba(176, 110, 240, 0.24);
  --info-bg: rgba(176, 110, 240, 0.15);
  --info-bd: rgba(217, 179, 255, 0.4);
  --strap-bg: rgba(176, 110, 240, 0.15);
  --strap-bd: rgba(217, 179, 255, 0.4);
  --chip-bd: rgba(217, 179, 255, 0.55);
  --aux-1: #cba3ff;                /* 辅助亮紫 */
  --aux-2: #7a3fb0;                /* 深紫辅助 */
  --aux-rgb: 203, 163, 255; --prim-rgb: 176, 110, 240; --ondark-rgb: 217, 179, 255;
}


/* ============================================================
   学术交流主题 · 雾蓝紫 Mist Violet（新配色）
   ============================================================ */
body.theme-academic {
  --primary: #9d8cff; --primary-focus: #b1a2ff; --primary-on-dark: #cbbfff;
  --ink: #f5f3fd; --ink-80: #ddd8f5; --ink-48: #a9a3cf; --body-muted: #c8c3e8;
  --canvas: #2b2547; --parchment: #332c55; --pearl: #3c3465;
  --tile-1: #231e3b; --tile-2: #2a2447; --tile-3: #1e1934; --black: #141027;
  --nav-bg: rgba(16, 12, 32, 0.94);
  --glass-bg: rgba(20, 15, 38, 0.86);
  --hover-bg: rgba(157, 140, 255, 0.2);
  --tag-bg: rgba(157, 140, 255, 0.24);
  --info-bg: rgba(157, 140, 255, 0.15);
  --info-bd: rgba(203, 191, 255, 0.42);
  --strap-bg: rgba(157, 140, 255, 0.15);
  --strap-bd: rgba(203, 191, 255, 0.42);
  --chip-bd: rgba(203, 191, 255, 0.55);
  --aux-1: #b7abff; --aux-2: #6a58c0;
  --aux-rgb: 183, 171, 255; --prim-rgb: 157, 140, 255; --ondark-rgb: 203, 191, 255;
}
/* 学术论文列表 */
.paper-item {
  background: var(--tile-2);
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 4px solid var(--primary);
  border-radius: 10px;
  padding: 18px 22px;
  margin-bottom: 12px;
}
.paper-item .pp-title { font-size: 15.5px; font-weight: 600; color: var(--ink); line-height: 1.6; }
.paper-item .pp-journal { font-size: 13px; color: var(--primary-on-dark); font-style: italic; margin-top: 6px; }
.paper-item .pp-year {
  display: inline-block;
  background: var(--tag-bg); color: var(--primary-on-dark);
  border-radius: 6px; padding: 1px 10px; font-size: 12px;
  margin-left: 8px;
}
.paper-item .pp-team { font-size: 12px; color: var(--ink-48); margin-top: 6px; }

/* ===== 正文类字号整体下调 2 号(标题/图标/数字保持;删除本段即可还原) ===== */
body { font-size: 15px; }
.global-nav { font-size: 11px; }
.global-nav .nav-brand { font-size: 11px; }
.global-nav .nav-links a { font-size: 11px; }
.global-nav .nav-cta { font-size: 11px; }
.hero .hero-kicker { font-size: 19px; }
.hero .hero-sub { font-size: 21px; }
.hero .hero-meta { font-size: 11px; }
.btn-primary { font-size: 15px; }
.btn-secondary-pill { font-size: 15px; }
.btn-dark-utility { font-size: 12px; }
.btn-on-dark { font-size: 15px; }
.sub-nav .sub-category { font-size: 19px; }
.sub-nav .sub-links a { font-size: 12px; }
.lead { font-size: 21px; }
.lead.lead-sm { font-size: 15.8px; font-weight: 400; line-height: 1.78; letter-spacing: 0.2px;
  font-family: "Lora Nordic", "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif; }
.body-copy { font-size: 15px; }
.caption { font-size: 12px; }
.source-link { font-size: 11px; }
.card .card-tag { font-size: 11px; }
.card .card-body { font-size: 13px; }
.dc-num { font-size: 12px; }
.dc-body { font-size: 13px; }
.tag { font-size: 12px; }
.pb-latin { font-size: 12px; }
.pb-desc { font-size: 13px; }
.data-table { font-size: 13px; }
.data-table th { font-size: 12px; }
.data-table .check { font-size: 15px; }
.data-table .pathway { font-size: 12px; }
.data-table .dim { font-size: 12px; }
.level-pill { font-size: 11px; }
.pw-content { font-size: 13px; }
.highlight p { font-size: 14px; }
.info-box p { font-size: 12px; }
.styled-list li { font-size: 15px; }
.footer-col a, .footer-col span { font-size: 12px; }
.footer-legal { font-size: 11px; }
.vis-fig .fig-caption { font-size: 11px; }
.strap { font-size: 15px; }
.step p { font-size: 12.5px; }
.contact-card p { font-size: 12.5px; }
.form-placeholder { font-size: 13px; }
.form-placeholder strong { font-size: 15px; }
.page-hint { font-size: 11.5px; }
.global-nav .nav-brand { font-size: 13px; }
.global-nav .nav-links a { font-size: 13px; }
.nav-cta { font-size: 12px; }
.hero .hero-kicker { font-size: 12px; }
.org-note-badge { font-size: 11px; }
.org-note-core-sub { font-size: 12px; }
.org-note-tag { font-size: 12px; }
.org-note-hint { font-size: 11px; }
.org-note-list li { font-size: 13px; }
.product-card .pc-desc { font-size: 12.5px; }
.milestone .ms-year { font-size: 13px; }
.milestone .ms-desc { font-size: 12px; }
.partner-card .pk-desc { font-size: 11.5px; }
.result-card .rc-meta { font-size: 11.5px; }
.result-card .rc-desc { font-size: 12.5px; }
.chairman-photo .cp-role { font-size: 11px; }
.chairman-body .cb-message { font-size: 14px; }
.chairman-body .cb-roles .role-tag { font-size: 11.5px; }
.paper-item .pp-journal { font-size: 12px; }
.paper-item .pp-team { font-size: 11px; }

@media (max-width: 1068px) {
.global-nav .nav-links a { font-size: 12px; }
.global-nav .nav-brand { font-size: 12px; }
}

@media (max-width: 940px) {
.global-nav .nav-links a { font-size: 11px; }
}

@media (max-width: 834px) {
.lead.lead-sm { font-size: 13.8px; }
.hero .hero-sub { font-size: 19px; }
}

@media (max-width: 640px) {
.hero .hero-sub { font-size: 16px; }
.hero .hero-kicker { font-size: 15px; }
.lead { font-size: 19px; }
}

/* ===== 三级小节标题(h3.sub-title)字号下调 3 号(24→21);删除本段即可还原 ===== */
h3.sub-title, .sub-title { font-size: 21px; }

/* 三段定位语内的强调:改用中等字重,避免过粗 */
.lead.lead-sm strong { font-weight: 500; }

/* ==================================================================
   导语版式:轻量无衬线(300)+ 首页定位语楷体 + 字号下调 + 行距 1.9
   删除本段即可整体还原
   ================================================================== */
/* 1) 全站导语/正文:轻量无衬线 */
.lead, .hero .hero-sub, .body-copy, .card .card-body, .card .card-title,
.section-intro, .highlight p, .strap, .styled-list li {
  font-family: -apple-system, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
}
.lead, .hero .hero-sub, .section-intro, .highlight p { font-weight: 300; line-height: 1.9; }
.body-copy, .card .card-body, .strap, .styled-list li { font-weight: 300; line-height: 1.9; }
/* 2) 导语字号再下调 2 号 */
.lead { font-size: 19px; }
.hero .hero-sub { font-size: 19px; }
/* 3) 首页三段定位语:楷体,更疏行距,字号再降 1 号 */
.lead.lead-sm {
  font-family: "Kaiti SC", "Kaiti TC", "STKaiti", "KaiTi", "BiauKai", "Lora Nordic", serif;
  font-size: 14.8px; font-weight: 400; line-height: 1.95; letter-spacing: 0.3px;
}
.lead.lead-sm strong { font-weight: 500; }
/* 4) 移动端同步 */
@media (max-width: 834px) {
  .lead { font-size: 17px; }
  .hero .hero-sub { font-size: 17px; }
  .lead.lead-sm { font-size: 13.2px; line-height: 1.95; }
}

/* ===== 公司介绍区(#about)统一楷体:标题、三段简介、四张卡片 ===== */
#about .section-title,
#about .lead,
#about .lead.lead-sm,
#about .card .card-title,
#about .card .card-body,
#about .card .card-tag,
#about .highlight p,
#about .hl-title {
  font-family: "Kaiti SC", "Kaiti TC", "STKaiti", "KaiTi", "BiauKai", serif;
}
#about .card .card-title { font-size: 16.5px; font-weight: 600; line-height: 1.6; }
#about .card .card-body { font-size: 13.5px; font-weight: 400; line-height: 1.95; }
#about .card .card-tag { font-size: 12px; font-weight: 600; letter-spacing: .06em; }
#about .section-title { font-weight: 600; }

/* ==================================================================
   主页设计完善 · 依《设计规范模板_DESIGN.md》+《设计风格对比分析》
   1 标题负字距  2 数字等宽(tabular-nums)  3 技术名词等宽字体
   4 tile 与卡片明度层次  5 移动端区块留白 48px  6 字重阶梯合规
   删除本段即可整体还原
   ================================================================== */
:root {
  --font-mono: "Lora Nordic", "Songti SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", Georgia, serif;
}
/* 1) 标题负字距(规范:标题 ≥17px 一律负字距) */
body.theme-vivid-plum .hero h1 { letter-spacing: -0.022em; }
body.theme-vivid-plum h2.section-title { letter-spacing: -0.014em; }
body.theme-vivid-plum h3.sub-title,
body.theme-vivid-plum h4.minor-title,
body.theme-vivid-plum .hl-title,
body.theme-vivid-plum .card .card-title,
body.theme-vivid-plum .pb-name { letter-spacing: -0.011em; }
body.theme-vivid-plum .hero .hero-kicker { letter-spacing: 0.14em; }
/* 2) 数字等宽(规范/对比分析:统计数字开启等宽数字) */
body.theme-vivid-plum .stat .num,
body.theme-vivid-plum .milestone .ms-year,
body.theme-vivid-plum .data-table,
body.theme-vivid-plum .result-card .rc-meta,
body.theme-vivid-plum .partner-card .pk-role { font-variant-numeric: tabular-nums; }
/* 3) 年份/技术标记用等宽字体,强化科研数据气质 */
body.theme-vivid-plum .milestone .ms-year { font-family: var(--font-mono); letter-spacing: -0.02em; }
body.theme-vivid-plum .partner-card .pk-role { font-family: var(--font-mono); }
/* 4) tile 与卡片明度层次:拉开"核心卡 > 内容区 > 页面底" */
body.theme-vivid-plum {
  --r-lg: 18px; /* 规范对齐:卡片圆角 18px */
  --parchment: #2f1d4a;
  --pearl: #3d2766;
  --tile-1: #170a25;
  --tile-2: #1f1030;
  --tile-3: #130821;
  --hover-bg: rgba(176, 110, 240, 0.22);
}
/* 5) 移动端区块留白收至 48px(规范) */
@media (max-width: 640px) {
  body.theme-vivid-plum .tile-inner { padding-top: 48px; padding-bottom: 48px; }
}
/* 6) 字重阶梯合规:移除 500 字重,强调改用强调色 */
.lead.lead-sm strong,
#about .card .card-title,
#about .card .card-tag { font-weight: 600; }
.lead.lead-sm strong { font-weight: 400; color: var(--primary-on-dark); }

/* ==================================================================
   北欧药房风格 Nordic Pharmacy(2026-09)
   浅色纸感底 + 药房绿强调 + 细线分隔 + 深绿 hero/暗色带交替
   删除本段并将 body 类名改回 theme-vivid-plum 即可还原
   ================================================================== */
body.theme-nordic-pharmacy {
  --primary: #2F7D5C;              /* 药房绿 — 主强调 */
  --primary-focus: #38926C;
  --primary-on-dark: #A8DCC2;      /* 深绿底上的亮绿 */
  --ink: #1E2B24;                  /* 主文字:深墨绿 */
  --ink-80: #3E4C44;
  --ink-48: #6F7D74;
  --body-muted: #56645B;
  --canvas: #FAF8F3;               /* 暖纸白 — 页面底 */
  --parchment: #F2EFE7;            /* 次级底:暖砂 */
  --pearl: #FFFFFF;                /* 卡片:纯白 */
  --tile-1: #1F4739;               /* 深药房绿(hero / 暗色带) */
  --tile-2: #EFF3EE;               /* 浅鼠尾草底 */
  --tile-3: #F6F4EE;
  --black: #15332A;                /* 导航/表头 */
  --nav-bg: rgba(18, 46, 37, 0.96);
  --glass-bg: rgba(250, 248, 243, 0.88);
  --hover-bg: rgba(47, 125, 92, 0.10);
  --tag-bg: rgba(47, 125, 92, 0.12);
  --info-bg: rgba(47, 125, 92, 0.08);
  --info-bd: rgba(47, 125, 92, 0.22);
  --strap-bg: rgba(47, 125, 92, 0.07);
  --strap-bd: rgba(47, 125, 92, 0.22);
  --chip-bd: rgba(47, 125, 92, 0.35);
  --divider: rgba(31, 71, 57, 0.08);
  --hairline: rgba(31, 71, 57, 0.14);
  --aux-1: #8FBF9F;
  --aux-2: #2F7D5C;
  --aux-rgb: 143, 191, 159;
  --prim-rgb: 47, 125, 92;
  --ondark-rgb: 168, 220, 194;
  --r-lg: 18px;
  --shadow-product: 0 10px 30px rgba(31, 71, 57, 0.12);
}
/* 浅色层:修正"深色假设"的硬编码 */
body.theme-nordic-pharmacy .nav-cta,
body.theme-nordic-pharmacy .btn-primary,
body.theme-nordic-pharmacy .btn-on-dark { color: #fff; }
body.theme-nordic-pharmacy .nav-cta:hover,
body.theme-nordic-pharmacy .btn-primary:hover,
body.theme-nordic-pharmacy .btn-on-dark:hover { color: #fff; }
body.theme-nordic-pharmacy .btn-secondary-pill { border-color: var(--primary); color: var(--primary); }
body.theme-nordic-pharmacy .tag { background: #fff; border-color: var(--hairline); color: var(--ink-80); }
body.theme-nordic-pharmacy .stat { background: var(--tile-2); border-color: var(--hairline); }
body.theme-nordic-pharmacy .stat .num { color: var(--primary); }
body.theme-nordic-pharmacy .stat .lbl { color: var(--ink-48); }
body.theme-nordic-pharmacy .partner-card,
body.theme-nordic-pharmacy .result-card,
body.theme-nordic-pharmacy .step,
body.theme-nordic-pharmacy .contact-card,
body.theme-nordic-pharmacy .product-card,
body.theme-nordic-pharmacy .paper-item,
body.theme-nordic-pharmacy .pathway-box,
body.theme-nordic-pharmacy .domain-card { border-color: var(--hairline); }
body.theme-nordic-pharmacy .partner-card .pk-role,
body.theme-nordic-pharmacy .product-card .pc-tag { color: var(--primary); border-color: rgba(47, 125, 92, 0.45); }
body.theme-nordic-pharmacy .partner-card .pk-name,
body.theme-nordic-pharmacy .product-card .pc-name,
body.theme-nordic-pharmacy .result-card .rc-title,
body.theme-nordic-pharmacy .paper-item .pp-title { color: var(--ink); }
body.theme-nordic-pharmacy .data-table th { background: var(--black); color: #fff; }
body.theme-nordic-pharmacy .data-table td { border-bottom-color: var(--divider); }
body.theme-nordic-pharmacy .highlight { background: #fff; border-color: var(--hairline); }
body.theme-nordic-pharmacy .strap { background: var(--strap-bg); border-color: var(--strap-bd); }
body.theme-nordic-pharmacy .sub-nav { background: var(--glass-bg); border-bottom-color: var(--hairline); }
body.theme-nordic-pharmacy .sub-nav .sub-category { color: var(--ink); }
body.theme-nordic-pharmacy .sub-nav .sub-links a { color: var(--ink-80); }
body.theme-nordic-pharmacy .footer { background: var(--parchment); color: var(--ink-80); border-top-color: var(--hairline); }
body.theme-nordic-pharmacy .footer-col h4 { color: var(--ink); }
body.theme-nordic-pharmacy .footer-col a,
body.theme-nordic-pharmacy .footer-col span { color: var(--ink-48); }
body.theme-nordic-pharmacy .milestone::before { border-color: var(--canvas); }
body.theme-nordic-pharmacy .tile-dark .card,
body.theme-nordic-pharmacy .tile-dark-2 .card { background: var(--pearl); }
body.theme-nordic-pharmacy .hero .hero-art .art-wrap { filter: drop-shadow(0 16px 44px rgba(0, 0, 0, 0.38)); }
/* 浅色层对比度修正:深绿带上的文字用亮色,浅底上的强调色用主绿 */
body.theme-nordic-pharmacy .hero .hero-sub,
body.theme-nordic-pharmacy .hero .hero-meta { color: rgba(255, 255, 255, 0.88); }
body.theme-nordic-pharmacy .hero .hero-kicker { color: var(--primary-on-dark); }
body.theme-nordic-pharmacy .milestone .ms-year,
body.theme-nordic-pharmacy .strap strong,
body.theme-nordic-pharmacy .info-box .ib-title,
body.theme-nordic-pharmacy .paper-item .pp-journal,
body.theme-nordic-pharmacy .data-table .check,
body.theme-nordic-pharmacy .data-table .pathway,
body.theme-nordic-pharmacy .footer-col a:hover { color: var(--primary); }
body.theme-nordic-pharmacy .styled-list li::before { background: var(--primary); }
/* 深绿带内保持亮绿 */
body.theme-nordic-pharmacy .tile-dark .strap strong,
body.theme-nordic-pharmacy .tile-dark .milestone .ms-year,
body.theme-nordic-pharmacy .tile-dark .info-box .ib-title,
body.theme-nordic-pharmacy .tile-dark .footer-col a:hover { color: var(--primary-on-dark); }
body.theme-nordic-pharmacy .tile-dark .styled-list li::before { background: var(--primary-on-dark); }
/* 深绿带内为白卡片,卡片文字回到深色(修正白字压白底) */
body.theme-nordic-pharmacy .tile-dark .card .card-title,
body.theme-nordic-pharmacy .tile-dark-2 .card .card-title,
body.theme-nordic-pharmacy .tile-dark .card .card-body strong,
body.theme-nordic-pharmacy .tile-dark-2 .card .card-body strong { color: var(--ink); }
body.theme-nordic-pharmacy .tile-dark .card .card-body,
body.theme-nordic-pharmacy .tile-dark-2 .card .card-body { color: var(--ink-80); }
body.theme-nordic-pharmacy .tile-dark .card .card-tag,
body.theme-nordic-pharmacy .tile-dark-2 .card .card-tag { color: var(--primary); }
body.theme-nordic-pharmacy .chairman-photo .cp-role { color: var(--primary); }
/* 卡片标签在浅色卡片上用主绿(深绿带内的白卡片同样适用) */
body.theme-nordic-pharmacy .card .card-tag { color: var(--primary); background: var(--tag-bg); }
body.theme-nordic-pharmacy .org-strip .card .card-tag { color: var(--primary); }

/* ==================================================================
   Novartis 风格主题 + 版面(2026-09)
   参考:Novartis 企业官网 — 深蓝主色 / 大留白 / 左对齐大标题 /
   白底导航 + 蓝色方角按钮 / 白卡细边 / 白↔浅蓝灰交替色带
   删除本段并将 body 类名改回 theme-vivid-plum 即可还原
   ================================================================== */
body.theme-novartis {
  --primary: #0460A9;              /* Novartis 蓝 */
  --primary-focus: #0A78CC;
  --primary-on-dark: #8CC6EE;
  --ink: #0B2A43;                  /* 深海军蓝文字 */
  --ink-80: #35526B;
  --ink-48: #6B8299;
  --body-muted: #4C6377;
  --canvas: #FFFFFF;               /* 白底 */
  --parchment: #F4F7FA;            /* 浅蓝灰带 */
  --pearl: #FFFFFF;
  --tile-1: #04385F;               /* 深蓝品牌带 */
  --tile-2: #EEF4F9;
  --tile-3: #F7FAFC;
  --black: #062B4A;
  --nav-bg: rgba(255, 255, 255, 0.97);
  --glass-bg: rgba(255, 255, 255, 0.94);
  --hover-bg: rgba(4, 96, 169, 0.08);
  --tag-bg: rgba(4, 96, 169, 0.10);
  --info-bg: rgba(4, 96, 169, 0.06);
  --info-bd: rgba(4, 96, 169, 0.20);
  --strap-bg: #F4F7FA;
  --strap-bd: #E1E8EF;
  --chip-bd: rgba(4, 96, 169, 0.35);
  --divider: #E9EEF4;
  --hairline: #E1E8EF;
  --aux-1: #6FB3DE;
  --aux-2: #0460A9;
  --aux-rgb: 111, 179, 222;
  --prim-rgb: 4, 96, 169;
  --ondark-rgb: 140, 198, 238;
  --r-lg: 6px;                     /* 方角卡片 */
  --shadow-product: 0 8px 24px rgba(4, 56, 95, 0.10);
}
/* —— 导航:白底 + 深蓝字 + 蓝按钮 —— */
body.theme-novartis .global-nav {
  background: var(--nav-bg);
  border-bottom: 1px solid var(--hairline);
  box-shadow: 0 1px 0 rgba(4, 56, 95, 0.04);
}
body.theme-novartis .global-nav .nav-brand { color: var(--primary); letter-spacing: 0.01em; }
body.theme-novartis .global-nav .nav-brand svg path { fill: var(--primary); }
body.theme-novartis .global-nav .nav-links a { color: var(--ink-80); opacity: 1; }
body.theme-novartis .global-nav .nav-links a:hover { color: var(--primary); }
body.theme-novartis .global-nav .nav-links a.active { color: var(--primary); }
body.theme-novartis .nav-cta {
  background: var(--primary); border-color: var(--primary); color: #fff;
  border-radius: 2px; font-weight: 600; letter-spacing: 0;
}
body.theme-novartis .nav-cta:hover { background: var(--primary-focus); border-color: var(--primary-focus); color: #fff; }
/* —— 版面:Hero 两栏(左文右图)、白底、左对齐 —— */
body.theme-novartis .hero {
  background: #FFFFFF; color: var(--ink); text-align: left;
  padding: 104px 24px 88px;
}
body.theme-novartis .hero-inner {
  display: grid; grid-template-columns: 1.05fr 0.95fr;
  gap: 56px; align-items: center; max-width: 1180px;
}
body.theme-novartis .hero-inner > * { grid-column: 1; }
body.theme-novartis .hero-art {
  grid-column: 2; grid-row: 1 / span 6; margin: 0; max-width: none;
  background: var(--parchment); border: 1px solid var(--hairline);
  border-radius: 6px; padding: 22px;
}
body.theme-novartis .hero-art svg { filter: brightness(0.42) saturate(1.6) hue-rotate(-28deg); }
body.theme-novartis .hero h1 { color: var(--ink); }
body.theme-novartis .hero .hero-sub { color: var(--ink-80); }
body.theme-novartis .hero .hero-kicker {
  color: var(--primary); letter-spacing: 0.16em; text-transform: uppercase;
}
body.theme-novartis .hero .hero-meta { color: var(--ink-48); text-align: left; }
body.theme-novartis .hero .hero-ctas { justify-content: flex-start; }
@media (max-width: 900px) {
  body.theme-novartis .hero { padding: 64px 20px 56px; }
  body.theme-novartis .hero-inner { grid-template-columns: 1fr; gap: 32px; }
  body.theme-novartis .hero-inner > * { grid-column: 1; }
  body.theme-novartis .hero-art { grid-column: 1; grid-row: auto; }
}
/* —— 按钮:方角、无阴影 —— */
body.theme-novartis .btn-primary,
body.theme-novartis .btn-on-dark {
  background: var(--primary); color: #fff; border-radius: 2px; font-weight: 600; letter-spacing: 0;
}
body.theme-novartis .btn-primary:hover,
body.theme-novartis .btn-on-dark:hover { background: var(--primary-focus); color: #fff; }
body.theme-novartis .btn-secondary-pill {
  border-radius: 2px; border-color: var(--primary); color: var(--primary); background: transparent;
}
body.theme-novartis .btn-secondary-pill:hover { background: var(--hover-bg); }
/* —— 卡片:白卡 + 1px 细边 + 方角 —— */
body.theme-novartis .card,
body.theme-novartis .highlight,
body.theme-novartis .info-box,
body.theme-novartis .domain-card,
body.theme-novartis .pathway-box,
body.theme-novartis .product-block { background: #fff; border-color: var(--hairline); border-radius: 6px; }
body.theme-novartis .stat,
body.theme-novartis .step,
body.theme-novartis .contact-card,
body.theme-novartis .partner-card,
body.theme-novartis .result-card,
body.theme-novartis .paper-item {
  background: #fff; border: 1px solid var(--hairline); border-radius: 6px;
}
body.theme-novartis .stat .num { color: var(--primary); font-weight: 700; }
body.theme-novartis .stat .lbl { color: var(--ink-48); }
body.theme-novartis .card .card-tag { color: var(--primary); background: var(--tag-bg); border-radius: 2px; }
body.theme-novartis .partner-card .pk-role,
body.theme-novartis .product-card .pc-tag { color: var(--primary); border-color: rgba(4, 96, 169, 0.4); }
body.theme-novartis .card .card-title,
body.theme-novartis .partner-card .pk-name,
body.theme-novartis .result-card .rc-title,
body.theme-novartis .paper-item .pp-title { color: var(--ink); }
body.theme-novartis .card .card-body { color: var(--ink-80); }
/* —— 深蓝品牌带上的元素 —— */
body.theme-novartis .tile-dark { background: var(--tile-1); color: #fff; }
body.theme-novartis .tile-dark .card { background: #fff; }
body.theme-novartis .tile-dark .card .card-title { color: var(--ink); }
body.theme-novartis .tile-dark .card .card-body { color: var(--ink-80); }
body.theme-novartis .tile-dark .card .card-tag { color: var(--primary); }
body.theme-novartis .tile-dark .strap strong,
body.theme-novartis .tile-dark .info-box .ib-title,
body.theme-novartis .tile-dark .milestone .ms-year,
body.theme-novartis .tile-dark .footer-col a:hover { color: var(--primary-on-dark); }
/* —— 浅底上的强调色 —— */
body.theme-novartis .milestone .ms-year,
body.theme-novartis .strap strong,
body.theme-novartis .info-box .ib-title,
body.theme-novartis .paper-item .pp-journal,
body.theme-novartis .data-table .check,
body.theme-novartis .data-table .pathway,
body.theme-novartis .footer-col a:hover,
body.theme-novartis .chairman-photo .cp-role { color: var(--primary); }
body.theme-novartis .styled-list li::before { background: var(--primary); }
body.theme-novartis .tag { background: #fff; border-color: var(--hairline); color: var(--ink-80); }
body.theme-novartis .data-table th { background: var(--black); color: #fff; }
body.theme-novartis .data-table td { border-bottom-color: var(--divider); }
body.theme-novartis .footer { background: var(--parchment); color: var(--ink-80); border-top: 1px solid var(--hairline); }
body.theme-novartis .footer-col h4 { color: var(--ink); }
body.theme-novartis .footer-col a,
body.theme-novartis .footer-col span { color: var(--ink-48); }
body.theme-novartis .sub-nav { background: var(--glass-bg); border-bottom-color: var(--hairline); }
body.theme-novartis .milestone::before { border-color: #fff; }

/* 品牌名作为回首页链接:取消下划线 */
.global-nav a.nav-brand, .global-nav a.nav-brand:hover { text-decoration: none; }

/* ==================================================================
   莫兰迪紫配色(叠加在 Novartis 版式之上)2026-09
   淡莫兰迪紫底 + 深莫兰迪紫品牌带 + 紫调强调色
   删除本段并将 body 类去掉 theme-morandi 即可还原
   ================================================================== */
body.theme-novartis.theme-morandi {
  --primary: #6E5C8E;              /* 莫兰迪紫 — 主强调 */
  --primary-focus: #7E6B9E;
  --primary-on-dark: #C9BCE0;
  --ink: #2E2838;
  --ink-80: #4C4459;
  --ink-48: #7C7489;
  --body-muted: #5B5368;
  --canvas: #EAE4F0;               /* 淡莫兰迪紫 — 页面底色 */
  --parchment: #E0D8EA;            /* 次级底 */
  --pearl: #FFFFFF;                /* 卡片纯白 */
  --tile-1: #4A4159;               /* 深莫兰迪紫 — 品牌带/hero */
  --tile-2: #E3DBEC;
  --tile-3: #EFEAF4;
  --black: #3A3247;
  --nav-bg: rgba(255, 255, 255, 0.94);
  --glass-bg: rgba(255, 255, 255, 0.90);
  --hover-bg: rgba(110, 92, 142, 0.10);
  --tag-bg: rgba(110, 92, 142, 0.12);
  --info-bg: rgba(110, 92, 142, 0.08);
  --info-bd: rgba(110, 92, 142, 0.22);
  --strap-bg: #E3DBEC;
  --strap-bd: rgba(74, 65, 89, 0.16);
  --chip-bd: rgba(110, 92, 142, 0.38);
  --divider: rgba(74, 65, 89, 0.09);
  --hairline: rgba(74, 65, 89, 0.16);
  --aux-1: #A796C4;
  --aux-2: #6E5C8E;
  --aux-rgb: 167, 150, 196;
  --prim-rgb: 110, 92, 142;
  --ondark-rgb: 201, 188, 224;
  --shadow-product: 0 10px 30px rgba(74, 65, 89, 0.14);
  /* —— 首页组件变量(莫兰迪紫) —— */
  --nv-accent: #6E5C8E;
  --nv-accent-2: #8574A8;
  --nv-accent-soft: rgba(110, 92, 142, 0.12);
  --nv-hero-from: #453B52;
  --nv-hero-to: #6E5C8E;
  --nv-eyebrow: #CDBFE4;
  --nv-on-dark-accent: #CDBFE4;
  --nv-btn-solid-hover: #F0EBF6;
  --nv-ink: #2E2838;
  --nv-ink-80: #4C4459;
  --nv-muted: #5B5368;
  --nv-muted-2: #7C7489;
  --nv-border: rgba(74, 65, 89, 0.16);
  --nv-band-soft: #E3DBEC;
  --nv-stats-bg: #453B52;
  --nv-media-from: #E9E3F0;
  --nv-media-to: #D8CFE5;
}
body.theme-novartis.theme-morandi { background: var(--canvas); }
/* 莫兰迪紫层:白卡+紫边,深紫带内白卡 */
body.theme-novartis.theme-morandi .nv-tile,
body.theme-novartis.theme-morandi .nv-doc { background: #fff; border-color: var(--nv-border); }
body.theme-novartis.theme-morandi .nv-stats { background: var(--nv-stats-bg); }
body.theme-novartis.theme-morandi .nv-pillars,
body.theme-novartis.theme-morandi .nv-docs { background: var(--nv-band-soft); }
body.theme-novartis.theme-morandi .global-nav { background: var(--nav-bg); border-bottom-color: var(--nv-border); }
body.theme-novartis.theme-morandi .footer { background: var(--parchment); border-top-color: var(--nv-border); }
body.theme-novartis.theme-morandi .footer-col h4 { color: var(--ink); }
body.theme-novartis.theme-morandi .footer-col a,
body.theme-novartis.theme-morandi .footer-col span { color: var(--ink-48); }
body.theme-novartis.theme-morandi .footer-col a:hover { color: var(--primary); }
body.theme-novartis.theme-morandi .nav-cta { background: var(--primary); border-color: var(--primary); color: #fff; }
body.theme-novartis.theme-morandi .nav-cta:hover { background: var(--primary-focus); border-color: var(--primary-focus); }
body.theme-novartis.theme-morandi .global-nav .nav-brand,
body.theme-novartis.theme-morandi .global-nav .nav-brand svg path { color: var(--primary); fill: var(--primary); }
body.theme-novartis.theme-morandi .global-nav .nav-links a { color: var(--ink-80); }
body.theme-novartis.theme-morandi .global-nav .nav-links a:hover,
body.theme-novartis.theme-morandi .global-nav .nav-links a.active { color: var(--primary); }

/* ===== 左上角品牌名放大(去掉星形符号后) ===== */
.global-nav .nav-brand,
.global-nav a.nav-brand {
  font-size: 19px; font-weight: 600; letter-spacing: 0.005em; line-height: 1.1;
}
@media (max-width: 1068px) { .global-nav .nav-brand, .global-nav a.nav-brand { font-size: 18px; } }
@media (max-width: 834px)  { .global-nav .nav-brand, .global-nav a.nav-brand { font-size: 17px; } }

/* ==================================================================
   第一页(首页)· 温润同调配色(莫兰迪本意)2026-09
   紫为主色 60–70% · 燕麦米白 #E8E2D9 打底 · 灰蓝 #8FA1AD / 灰粉 #C0A8A8 弱对比
   芥末黄点缀约 5% · 低饱和对比靠明度差
   删除本段即可还原上一版配色
   ================================================================== */
body.theme-novartis.theme-morandi {
  /* —— 中性打底(燕麦/米白) —— */
  --canvas: #F2EDE4;              /* 页面底:温润米白 */
  --parchment: #E8E2D9;           /* 频带底:燕麦 */
  --pearl: #FFFFFF;               /* 卡片 */
  --tile-3: #F7F3EC;
  /* —— 主色:莫兰迪紫 —— */
  --primary: #6E5C8E;
  --primary-focus: #7E6B9E;
  --primary-on-dark: #D9CFE6;
  --tile-1: #4A4159;              /* 深紫品牌带 */
  --tile-2: #EAE4F0;
  /* —— 文字:暖调墨色 —— */
  --ink: #3A3540;
  --ink-80: #544E5B;
  --ink-48: #8A8590;
  --body-muted: #5F5966;
  /* —— 线条:暖灰 —— */
  --hairline: rgba(120, 110, 95, 0.22);
  --divider: rgba(120, 110, 95, 0.12);
  /* —— 弱对比辅色 —— */
  --warm-blue: #8FA1AD;           /* 灰蓝 */
  --warm-blue-2: #A9B7C0;
  --warm-pink: #C0A8A8;           /* 灰粉 */
  --warm-pink-2: #D0BDBC;
  --warm-mustard: #C9A64B;        /* 芥末黄(约 5% 点缀) */
  --warm-mustard-ink: #7A6420;
  --nav-bg: rgba(247, 243, 236, 0.94);
  --glass-bg: rgba(247, 243, 236, 0.92);
  --hover-bg: rgba(110, 92, 142, 0.08);
  --tag-bg: rgba(110, 92, 142, 0.10);
  /* —— 首页组件变量 —— */
  --nv-accent: #6E5C8E;
  --nv-accent-2: #8574A8;
  --nv-accent-soft: rgba(110, 92, 142, 0.12);
  --nv-hero-from: #4A4159;
  --nv-hero-to: #6E5C8E;
  --nv-eyebrow: #D9CFE6;
  --nv-on-dark-accent: #D9CFE6;
  --nv-btn-solid-hover: #F5F1EA;
  --nv-ink: #3A3540;
  --nv-ink-80: #544E5B;
  --nv-muted: #5F5966;
  --nv-muted-2: #8A8590;
  --nv-border: rgba(120, 110, 95, 0.22);
  --nv-band-soft: #E8E2D9;
  --nv-stats-bg: #4A4159;
  --nv-media-from: #E4E9ED;
  --nv-media-to: #CDD7DE;
}
body.theme-novartis.theme-morandi { background: var(--canvas); }
body.theme-novartis.theme-morandi .nv-pillars,
body.theme-novartis.theme-morandi .nv-docs { background: var(--parchment); }
body.theme-novartis.theme-morandi .global-nav { background: var(--nav-bg); }
/* 支柱瓦片媒体块:紫 70% + 灰蓝/灰粉 30% 轮换(弱对比,明度拉开) */
body.theme-novartis.theme-morandi .nv-pillar-grid > .nv-tile:nth-child(1) .nv-tile-media {
  background: linear-gradient(135deg, #6E5C8E, #8574A8);
}
body.theme-novartis.theme-morandi .nv-pillar-grid > .nv-tile:nth-child(2) .nv-tile-media {
  background: linear-gradient(135deg, #8FA1AD, #A9B7C0);
}
body.theme-novartis.theme-morandi .nv-pillar-grid > .nv-tile:nth-child(3) .nv-tile-media {
  background: linear-gradient(135deg, #C0A8A8, #D0BDBC);
}
body.theme-novartis.theme-morandi .nv-pillar-grid > .nv-tile:nth-child(4) .nv-tile-media {
  background: linear-gradient(135deg, #6E5C8E, #8574A8);
}
body.theme-novartis.theme-morandi .nv-tile-media svg { stroke: #fff; }
/* 芥末黄点缀(约 5%):新闻类别标签、数据卡顶线、链接下划线 */
body.theme-novartis.theme-morandi .nv-cat {
  background: rgba(201, 166, 75, 0.20); color: var(--warm-mustard-ink);
}
body.theme-novartis.theme-morandi .nv-stat { border-top-color: rgba(201, 166, 75, 0.8); }
body.theme-novartis.theme-morandi .nv-link:hover { text-decoration: underline; text-decoration-color: rgba(201, 166, 75, 0.7); }
body.theme-novartis.theme-morandi .nv-btn-solid { background: #fff; color: var(--primary); }
body.theme-novartis.theme-morandi .nv-btn-solid:hover { background: var(--nv-btn-solid-hover); color: var(--primary); }
body.theme-novartis.theme-morandi .nv-cta-band { background: var(--primary); }
body.theme-novartis.theme-morandi .footer { background: var(--parchment); }

/* 温润同调:页脚文字加深(燕麦底上保证可读) */
body.theme-novartis.theme-morandi .footer-col a,
body.theme-novartis.theme-morandi .footer-col span,
body.theme-novartis.theme-morandi .footer-legal,
body.theme-novartis.theme-morandi .footer-col h4 { color: #635C69; }
body.theme-novartis.theme-morandi .footer-col a:hover { color: var(--primary); }

/* ===== 首页白色色块温润化:纯白 → 暖白/奶白,与米白打底同调 ===== */
body.theme-novartis.theme-morandi {
  --cream: #F8F4ED;        /* 暖白:浅色区带 */
  --cream-card: #FDFBF6;   /* 奶白:卡片 */
}
/* 大色块:原纯白 → 暖白 */
body.theme-novartis.theme-morandi .nv-band,
body.theme-novartis.theme-morandi .nv-news,
body.theme-novartis.theme-morandi .nv-story,
body.theme-novartis.theme-morandi .nv-res { background: var(--cream); }
/* 卡片:原纯白 → 奶白 + 暖灰细边 */
body.theme-novartis.theme-morandi .nv-tile,
body.theme-novartis.theme-morandi .nv-doc { background: var(--cream-card); border-color: var(--nv-border); }
body.theme-novartis.theme-morandi .nv-tile:hover,
body.theme-novartis.theme-morandi .nv-doc:hover { border-color: var(--primary); }
/* 按钮:浅色按钮也改为暖白 */
body.theme-novartis.theme-morandi .nv-btn-solid { background: #FFFDF9; color: var(--primary); }
body.theme-novartis.theme-morandi .nv-btn-solid:hover { background: #F3EEE4; color: var(--primary); }
/* 引导带与页脚保持燕麦,形成"暖白 → 米白 → 燕麦"三级同调 */
body.theme-novartis.theme-morandi .nv-pillars,
body.theme-novartis.theme-morandi .nv-docs { background: #E8E2D9; }

/* ===== 正文文字改偏紫深灰(替代近黑),保持对比度达标 ===== */
body.theme-novartis.theme-morandi {
  --ink: #4A4458;        /* 标题/主文字:偏紫深灰 */
  --ink-80: #5E5769;     /* 次级正文 */
  --ink-48: #655D6F;     /* 弱化文字/小字 */
  --body-muted: #655D6F;
  --nv-ink: #4A4458;
  --nv-ink-80: #5E5769;
  --nv-muted: #655D6F;
  --nv-muted-2: #655D6F;
}
body.theme-novartis.theme-morandi .nv-hero h1,
body.theme-novartis.theme-morandi .nv-hero-sub,
body.theme-novartis.theme-morandi .nv-eyebrow { color: #fff; }
body.theme-novartis.theme-morandi .nv-hero-sub { color: rgba(255, 255, 255, 0.92); }

/* 段落类文字自然换行(占满行宽,不用均衡换行) */
.card .card-body, .card-body, .dc-body, .pb-desc, .org-note-list li,
.coop-step span, .ing-desc, .ing-tag, .result-card .rc-desc, .info-box p {
  text-wrap: pretty;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}

/* ===== 页脚链接字号增大 1 号（12px → 13px，20260918，删除本段即还原） ===== */
.footer-col a, .footer-col span { font-size: 13px; line-height: 2.15; }

/* ===== 站内搜索条（2026-09-18） ===== */
.site-search { position: relative; display: flex; align-items: center; margin-left: 14px; margin-right: 12px; }
.site-search .ss-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 13px; line-height: 1; opacity: .55; pointer-events: none; }
.site-search .ss-input { width: 156px; height: 36px; padding: 0 12px 0 32px; border: 1px solid var(--hairline); border-radius: 18px; background: rgba(255, 255, 255, .07); color: var(--ink); font-size: 13px; font-family: inherit; outline: none; transition: width .2s ease, border-color .2s ease, background .2s ease; }
.site-search .ss-input::placeholder { color: var(--ink-48); }
.site-search .ss-input:focus { width: 224px; border-color: var(--primary-on-dark); background: rgba(255, 255, 255, .12); }
.site-search .ss-panel { position: absolute; top: calc(100% + 10px); right: 0; width: 380px; max-height: 62vh; overflow: auto; padding: 6px; background: var(--canvas); border: 1px solid var(--hairline); border-radius: 12px; box-shadow: 0 14px 36px rgba(0, 0, 0, .28); z-index: 80; }
.site-search .ss-item { display: block; padding: 9px 11px; border-radius: 8px; text-decoration: none; color: var(--ink); }
.site-search .ss-item:hover, .site-search .ss-item.on { background: var(--hover-bg, rgba(255, 255, 255, .09)); }
.site-search .ss-t { font-size: 13.5px; font-weight: 600; line-height: 1.4; margin-bottom: 3px; }
.site-search .ss-b { font-size: 12px; line-height: 1.55; color: var(--ink-48); }
.site-search .ss-empty { padding: 12px 12px 13px; font-size: 12.5px; color: var(--ink-48); }
@media (max-width: 1180px) { .site-search .ss-input { width: 120px; } .site-search .ss-input:focus { width: 180px; } .site-search .ss-panel { width: 320px; } }
@media (max-width: 980px) { .site-search { display: none; } }

/* ===== 莫兰迪灰蓝主题（共享：团队 / 专家页使用，20260918） ===== */
body.theme-morandi-blue { --primary: #8aa9c7; --primary-focus: #9bb7d2; --primary-on-dark: #b6cde2; --ink: #f1f4f8; --ink-80: #d6dfe9; --ink-48: #9fafbf; --body-muted: #c4d0dd; --canvas: #2f3a47; --parchment: #37424f; --pearl: #3f4b59; --tile-1: #28323d; --tile-2: #2e3945; --tile-3: #242d37; --black: #1a212a; --nav-bg: rgba(20, 26, 34, 0.92); --glass-bg: rgba(26, 33, 42, 0.86); --hover-bg: rgba(138, 169, 199, 0.16); --tag-bg: rgba(138, 169, 199, 0.2); --info-bg: rgba(138, 169, 199, 0.12); --info-bd: rgba(182, 205, 226, 0.32); --strap-bg: rgba(138, 169, 199, 0.12); --strap-bd: rgba(182, 205, 226, 0.32); --chip-bd: rgba(182, 205, 226, 0.46); --aux-1: #a3b6ca; --aux-2: #5f7a96; --aux-rgb: 163, 182, 202; --prim-rgb: 138, 169, 199; --ondark-rgb: 182, 205, 226; }

/* ============================================================
   全站字体统一(2026-09-19):Lora Nordic + 宋体衬线
   覆盖所有无衬线/楷体/等宽声明(page 级 !important 存在时不生效)
   ============================================================ */
html, body, body *, body *::before, body *::after {
  font-family: "Lora Nordic", "Songti SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", Georgia, serif !important;
}

/* ============================================================
   导语类段落按版面宽度自然折行(20260919)
   .lead 此前被 text-wrap:balance 平均压缩行宽,末行/中间行都填不满版面;
   这里改为 pretty:按容器宽度切行,只避免末行孤字。
   ============================================================ */
body .lead, body .lead.lead-sm, body .body-copy {
  text-wrap: pretty;
}

/* ============================================================
   业务合作需求:卡片式(合作页 / 药物研究页 / 产品页共用)
   布局:第一行 2 项(各占 3/6),第二行 3 项(各占 2/6)
   ============================================================ */
.needs-cards { gap: 20px; margin: 22px 0 10px; }
.needs-cards .card { padding: 24px 22px; }
.needs-cards .card-title { font-size: 16px; margin-bottom: 8px; }
.needs-cards .card-body { font-size: 13.5px; line-height: 1.82; }
@media (min-width: 835px) {
  .needs-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .needs-cards > *:nth-child(-n+2) { grid-column: span 3; }
  .needs-cards > *:nth-child(n+3) { grid-column: span 2; }
}
@media (max-width: 834px) { .needs-cards { grid-template-columns: minmax(0,1fr); } .needs-cards > * { grid-column: auto; } }

/* ============================================================
   card-tag 对比度修复:标签底由浅色叠加(0.2)改为深色叠加
   原写法在深色卡片上把底拉浅,浅色标签字对比度只有 3.9–4.5
   ============================================================ */
.card-tag { background: rgba(0, 0, 0, .26) !important; }

/* ============================================================
   标题装饰横线:全站去掉(h2.section-title 上方短划线 / h3.sub-title 前方短划线)
   保留原间距:padding-top 补回原色块 3px + 间距 20px
   ============================================================ */
body h2.section-title::before, body .section-title::before { content: none !important; display: none !important; }
body h3.sub-title::before, body .sub-title::before { content: none !important; display: none !important; }
body h2.section-title { padding-top: 23px; }

/* ============================================================
   莫兰迪柔调卡片色(12 色循环):给卡片网格加 .morandi-grid 即生效
   色值取自首页卡位色板;卡内文字自动转深墨色以保证对比度
   ============================================================ */
.morandi-grid > *:nth-child(12n+1), .morandi-grid > *:nth-child(12n+1) .card { background: #DDC6C3 !important; }
.morandi-grid > *:nth-child(12n+2), .morandi-grid > *:nth-child(12n+2) .card { background: #C5D0DC !important; }
.morandi-grid > *:nth-child(12n+3), .morandi-grid > *:nth-child(12n+3) .card { background: #CBDCC3 !important; }
.morandi-grid > *:nth-child(12n+4), .morandi-grid > *:nth-child(12n+4) .card { background: #DDC4D7 !important; }
.morandi-grid > *:nth-child(12n+5), .morandi-grid > *:nth-child(12n+5) .card { background: #C5DCDC !important; }
.morandi-grid > *:nth-child(12n+6), .morandi-grid > *:nth-child(12n+6) .card { background: #DDD4C3 !important; }
.morandi-grid > *:nth-child(12n+7), .morandi-grid > *:nth-child(12n+7) .card { background: #DCDCC3 !important; }
.morandi-grid > *:nth-child(12n+8), .morandi-grid > *:nth-child(12n+8) .card { background: #D0C4DC !important; }
.morandi-grid > *:nth-child(12n+9), .morandi-grid > *:nth-child(12n+9) .card { background: #C5C7DC !important; }
.morandi-grid > *:nth-child(12n+10), .morandi-grid > *:nth-child(12n+10) .card { background: #C5DCD0 !important; }
.morandi-grid > *:nth-child(12n+11), .morandi-grid > *:nth-child(12n+11) .card { background: #DDCDC3 !important; }
.morandi-grid > *:nth-child(12n+12), .morandi-grid > *:nth-child(12n+12) .card { background: #DDCFC3 !important; }

.morandi-grid > * .card { border-color: transparent !important; }
/* 浅色卡上的链接与标签:统一转深墨色(原主题强调色在浅底上对比度不足) */
.morandi-grid a, .morandi-grid a:hover { color: #4A4353 !important; }
.morandi-grid .card-title { color: #332D3E !important; }
.morandi-grid .card-body { color: #423C4C !important; }
.morandi-grid .card-tag { background: rgba(255, 255, 255, .55) !important; color: #332D3E !important;
  border-color: transparent !important; }

/* ============================================================
   健康管理解决方案（body.theme-nordic-mist）：底色改为「雾绿·浅色系」
   2026-09-25 追加（放在文件末尾以覆盖前面的同名主题定义）
   ============================================================ */
body.theme-nordic-mist {
  --primary: #2C7A61; --primary-focus: #3A8F73; --primary-on-dark: #2C7A61;
  --ink: #1F2E27; --ink-80: #35473D; --ink-48: #5F7268; --body-muted: #4C6157;
  --canvas: #F2F6F3; --parchment: #EAF1EC; --pearl: #E3ECE6;
  --tile-1: #FFFFFF; --tile-2: #EDF3EE; --tile-3: #E6EFE9; --black: #1E2C25;
  --glass-bg: rgba(255, 255, 255, 0.88); --hover-bg: rgba(44, 122, 97, 0.08);
  --tag-bg: rgba(44, 122, 97, 0.12); --info-bg: rgba(44, 122, 97, 0.07);
  --info-bd: rgba(44, 122, 97, 0.22); --strap-bg: rgba(44, 122, 97, 0.07);
  --strap-bd: rgba(44, 122, 97, 0.22); --chip-bd: rgba(44, 122, 97, 0.28);
  --aux-1: #4E7F6A; --aux-2: #8FB3A3; --aux-rgb: 78, 127, 106;
  --prim-rgb: 44, 122, 97; --ondark-rgb: 44, 122, 97;
  --nav-bg: rgba(255, 255, 255, 0.92);
}
body.theme-nordic-mist .hero,
body.theme-nordic-mist .hero h1,
body.theme-nordic-mist .hero .hero-sub { color: var(--ink) !important; }
body.theme-nordic-mist .hero .hero-kicker { color: var(--primary) !important; }
body.theme-nordic-mist .hero { border-bottom: 1px solid var(--info-bd); }
body.theme-nordic-mist .tile-dark,
body.theme-nordic-mist .tile-parchment,
body.theme-nordic-mist .tile-light { color: var(--ink); }
body.theme-nordic-mist .tile-dark .lead,
body.theme-nordic-mist .tile-dark .body-copy,
body.theme-nordic-mist .tile-dark .caption,
body.theme-nordic-mist .tile-dark p { color: var(--ink-80); }
/* 版式自我完善：去描边、统一卡内间距、悬停轻抬、标题与正文节奏 */
body.theme-nordic-mist .domain-card,
body.theme-nordic-mist .card,
body.theme-nordic-mist .info-box,
body.theme-nordic-mist .strap { border-color: transparent !important; }
body.theme-nordic-mist .domain-card,
body.theme-nordic-mist .card {
  background: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(31, 46, 39, 0.04), 0 6px 20px rgba(31, 46, 39, 0.05);
  transition: transform .16s ease, box-shadow .16s ease;
}
body.theme-nordic-mist .domain-card:hover,
body.theme-nordic-mist .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 3px 8px rgba(31, 46, 39, 0.07), 0 12px 30px rgba(31, 46, 39, 0.08);
}
body.theme-nordic-mist .domain-card,
body.theme-nordic-mist .card { padding: 20px 20px 18px; border-radius: 12px; }
body.theme-nordic-mist .dc-title,
body.theme-nordic-mist .card-title { color: var(--ink) !important; }
body.theme-nordic-mist .dc-body,
body.theme-nordic-mist .card-body { color: var(--ink-80) !important; line-height: 1.85 !important; }
body.theme-nordic-mist .tag { background: var(--tag-bg) !important; color: var(--primary) !important; border-color: transparent !important; }
body.theme-nordic-mist .section-title { color: var(--ink); }
body.theme-nordic-mist .lead { color: var(--ink-80); }
/* 浅底修正：导航条保持深色、按钮文字用白（避免浅底上白字/深绿字叠色不可读） */
body.theme-nordic-mist { --nav-bg: rgba(30, 44, 37, 0.94); }
body.theme-nordic-mist .global-nav { background: #1E2C25 !important; }
body.theme-nordic-mist .global-nav .nav-brand,
body.theme-nordic-mist .global-nav .nav-links a:hover { color: #FFFFFF !important; }
body.theme-nordic-mist .global-nav .nav-links a { color: rgba(255,255,255,.72) !important; }
body.theme-nordic-mist .global-nav .nav-links a.active { color: #FFFFFF !important; }
body.theme-nordic-mist .global-nav .nav-cta { background: var(--primary) !important; color: #FFFFFF !important; }
body.theme-nordic-mist .btn-primary,
body.theme-nordic-mist .btn-on-dark { color: #FFFFFF !important; }
body.theme-nordic-mist .btn-secondary-pill { color: var(--primary) !important; }
/* 浅底修正 · 二：卡内加粗文字改主题绿（原为深色主题下的白字，浅底上会看不见）、小标签与导航链接加深保证对比度 */
body.theme-nordic-mist .dc-body strong,
body.theme-nordic-mist .card-body strong,
body.theme-nordic-mist .lead strong,
body.theme-nordic-mist .body-copy strong { color: var(--primary) !important; }
body.theme-nordic-mist .tag,
body.theme-nordic-mist .tag-accent { color: #256A54 !important; }
body.theme-nordic-mist .global-nav .nav-links a { color: rgba(255, 255, 255, 0.82) !important; }
/* 浅底修正 · 三：页脚（浅底）用深色链接，避免白字看不见；法务行加深到 ≥4.5 */
body.theme-nordic-mist .footer { background: var(--parchment) !important; }
body.theme-nordic-mist .footer a,
body.theme-nordic-mist .footer-col a { color: var(--ink-80) !important; }
body.theme-nordic-mist .footer-col a:hover { color: var(--primary) !important; }
body.theme-nordic-mist .footer-legal,
body.theme-nordic-mist .footer p { color: #465B51 !important; }
body.theme-nordic-mist .site-search .ss-icon { color: var(--primary) !important; filter: none; }

/* ==================== 顶部导航「天然活性产物原料」下拉菜单（20260929） ====================
   把 30 种天然活性产物（含柠檬）挂进导航条,桌面端悬停/键盘聚焦展开,窄屏点击展开 */
.nav-drop { position: relative; display: inline-flex; align-items: center; }
.nav-drop > a::after { content: "▾"; font-size: 10px; margin-left: 4px; opacity: .8; }
.nav-drop-panel {
  position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%);
  display: none; grid-template-columns: repeat(3, minmax(104px, 1fr)); gap: 2px 10px;
  min-width: 460px; max-width: 92vw; max-height: 62vh; overflow-y: auto;
  padding: 14px 16px; border-radius: 14px; z-index: 1200;
  background: var(--pearl, #ffffff); color: var(--ink, #2a2712);
  border: 1px solid var(--hairline, rgba(0,0,0,.12));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
}
.nav-drop-panel a {
  display: block; padding: 6px 8px; border-radius: 8px; font-size: 13.5px;
  color: var(--ink, #2a2712); text-decoration: none; white-space: nowrap;
}
.nav-drop-panel a:hover, .nav-drop-panel a:focus { background: rgba(127, 127, 127, .16); }
.nav-drop-panel .nav-drop-all {
  grid-column: 1 / -1; margin-top: 6px; padding-top: 10px; font-weight: 700;
  border-top: 1px solid var(--hairline, rgba(0,0,0,.12)); color: var(--primary, #7a5c00);
}
.nav-drop:hover .nav-drop-panel, .nav-drop:focus-within .nav-drop-panel { display: grid; }
@media (max-width: 900px) {
  .nav-drop-panel { grid-template-columns: repeat(2, minmax(96px, 1fr)); left: 0; transform: none; min-width: 0; width: 84vw; }
}

/* ==================== 页脚免责声明:与页脚内容栏对齐（20260929） ==================== */
.footer-disclaimer {
  margin: 10px 0 0;
  font-size: 12.5px;
  line-height: 1.85;
  opacity: .8;
  max-width: none;
}
.footer-disclaimer b { font-weight: 600; }
