/**
 * EyeNet homepage — premium portal visual system (hero / sections / motion)
 * Loaded after styles.css; scoped with body.portal-home.portal-home--pro
 */
body.portal-home.portal-home--pro {
  /* A1 — design tokens (homepage skin only; other pages unaffected) */
  --eyenet-navy: #0f4c81;
  --eyenet-navy-deep: #0a2540;
  --eyenet-navy-mid: #1e4d8b;
  --eyenet-cyan: #06b6d4;
  --eyenet-amber: #f59e0b;
  --eyenet-text-title: #1f2937;
  --eyenet-text-body: #6b7280;
  --eyenet-surface: #ffffff;
  --eyenet-surface-muted: #f8fafc;
  --eyenet-border-subtle: #e5e7eb;
  --eyenet-hero-sky-top: #c9dff3;
  /* Hero 底部与正文壳层同色（--eyenet-surface-muted），去掉分割线后自然衔接 */
  --eyenet-hero-sky: linear-gradient(
    180deg,
    var(--eyenet-hero-sky-top) 0%,
    #e8f3fb 48%,
    var(--eyenet-surface-muted) 100%
  );
  /* 整页壳层底色（Hero 区域单独覆盖为 --eyenet-hero-sky，不走这条） */
  --eyenet-page-shell-bg: linear-gradient(
    180deg,
    #ffffff 0,
    var(--eyenet-surface-muted) 3.5rem,
    var(--eyenet-surface-muted) 100%
  );
  --eyenet-font-base: 16px;
  --eyenet-line-base: 1.6;
  --eyenet-section-gap: clamp(5rem, 9vw, 6.25rem);
  /* Half at each internal seam so two adjacent blocks ≈ one full gap, not double */
  --eyenet-section-seam: calc(var(--eyenet-section-gap) * 0.5);
  /* 首页主区块 / 卡片竖向间距：与 Welcome ↔ Summary of Resource 之间一致 */
  --eyenet-home-card-gap: clamp(1.25rem, 3vw, 2rem);
  --home-chart-card-gap: var(--eyenet-home-card-gap);
  /* 与 Welcome（#dbIntroContent）外层 .db-intro-portal 横向内边距一致 */
  --eyenet-portal-rail-pad-x: clamp(1rem, 2.5vw, 2rem);
  background: var(--eyenet-page-shell-bg);
  color: var(--eyenet-text-title);
  font-size: var(--eyenet-font-base);
  line-height: var(--eyenet-line-base);
}

/* .content-section defaults add 2rem top + 1.5rem sides — without the old negative margin on
   .home-main-band (portal sets margin:0), a white strip appears under the header. */
body.portal-home.portal-home--pro section.content-section.home-intro {
  padding: 0;
}

/* Hero band: full block top→bottom soft sky gradient（底端收入 surface-muted，与下方区域同色） */
body.portal-home.portal-home--pro .home-intro .home-main-band.home-main-band--v4.home-hero-pro {
  background: var(--eyenet-hero-sky);
  border-bottom: none !important;
}

/* ========== Hero ========== */
.portal-home--pro .home-main-band.home-hero-pro {
  margin: 0;
  padding: 0;
  background: var(--eyenet-hero-sky);
  border-bottom: none !important;
}

.portal-home--pro .home-hero-pro {
  position: relative;
  /* 勿 hidden：Safari 原生 select 会在裁剪容器内向上翻页，盖住上方检索区 */
  overflow: visible;
  background: var(--eyenet-hero-sky);
  color: inherit;
}

/* Decorative layers (noise / dots / glow) — unused on light hero; keep nodes for markup stability */
.portal-home--pro .home-hero-pro__noise,
.portal-home--pro .home-hero-pro__grid-dots,
.portal-home--pro .home-hero-pro__glow {
  display: none;
}

.portal-home--pro .home-hero-pro .home-main-band__inner--v4 {
  position: relative;
  z-index: 1;
  padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 3vw, 1.75rem) clamp(1.75rem, 4vw, 2.5rem);
}

/* One continuous gradient on .home-hero-pro; head has no second background */
.portal-home--pro .home-hero-pro__head {
  position: relative;
  z-index: 2;
  margin-left: calc(-1 * clamp(1rem, 3vw, 1.75rem));
  margin-right: calc(-1 * clamp(1rem, 3vw, 1.75rem));
  padding: clamp(1.5rem, 4vw, 2.25rem) clamp(1rem, 3vw, 1.75rem)
    clamp(0.45rem, 1vw, 0.65rem);
  background: transparent;
  color: #0f172a;
  border-bottom: none;
}

.portal-home--pro .home-hero-pro__head .home-hero-brand-logo {
  margin: 0 auto;
  width: 100%;
  max-width: min(36rem, 100%);
}

.portal-home--pro .home-hero-pro__head .home-hero-brand-logo img {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  margin-inline: auto;
}

.portal-home--pro .home-hero-pro__head .home-hero-brand-logo + .home-subtitle--portal {
  margin-top: clamp(0.75rem, 2vw, 1.25rem);
}

.portal-home--pro .home-hero-pro__head .home-hero-eyebrow {
  color: #64748b;
  letter-spacing: 0.14em;
}

.portal-home--pro .home-hero-pro__head .home-title--portal {
  font-size: clamp(3rem, 5.5vw, 3.75rem);
  font-weight: 800;
  color: #0f172a;
  text-shadow: none;
  margin-bottom: 0.65rem;
  line-height: 1.12;
}

/* 需高于 styles.css 中 body.portal-home .home-intro .home-subtitle（否则会压住 font-size） */
body.portal-home.portal-home--pro .home-intro .home-subtitle.home-subtitle--portal,
.portal-home--pro .home-hero-pro__head .home-subtitle--portal {
  display: block;
  color: #64748b;
  font-size: 1.2rem;
  line-height: 1.55;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

/* 首页副标题写死在 HTML 时使用黑色（不再走接口富文本） */
body.portal-home.portal-home--pro .home-intro .home-subtitle.home-subtitle--portal.home-subtitle--portal-static,
.portal-home--pro .home-hero-pro__head .home-subtitle--portal.home-subtitle--portal-static {
  color: #000;
}

/* 富文本（Wang 多 <p>）在副标题区内排版 */
.portal-home--pro .home-hero-pro__head .home-subtitle--portal.home-eyenet-intro-rich p {
  margin: 0 0 0.5em;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.portal-home--pro .home-hero-pro__head .home-subtitle--portal.home-eyenet-intro-rich p:last-child {
  margin-bottom: 0;
}

.portal-home--pro .home-hero-pro__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--eyenet-home-card-gap);
}

.portal-home--pro .home-hero-pro__head .home-portal-shell__brand {
  width: 100%;
  max-width: 48rem;
}

.portal-home--pro .home-hero-pro__head .home-portal-shell__search {
  width: 100%;
  max-width: min(52rem, 100%);
  margin-inline: auto;
}

.portal-home--pro .home-hero-pro__head .home-hero-pro__search-label {
  margin: 0 0 0.5rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #64748b;
}

.portal-home--pro .home-hero-pro .quick-search--hero {
  margin: 0;
  padding: 1rem 1.05rem 1.08rem;
  background: #ffffff;
  border-radius: 14px;
  border: none;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
}

.portal-home--pro .home-hero-pro .quick-search--hero .quick-search-row {
  gap: 0.5rem !important;
}

/* Hero search controls: neutral chrome */
.portal-home--pro #quickSearch.quick-search--hero {
  --qs-accent: var(--eyenet-navy);
}

.portal-home--pro #quickSearch.quick-search--hero .qs-category-select,
.portal-home--pro #quickSearch.quick-search--hero .qs-species-select,
.portal-home--pro #quickSearch.quick-search--hero .qs-input {
  box-shadow: none;
  border-color: #e5e7eb;
  color: var(--eyenet-text-title);
}

.portal-home--pro #quickSearch.quick-search--hero .qs-submit {
  background: linear-gradient(180deg, #fbbf24 0%, var(--eyenet-amber) 100%);
  border-color: #d97706;
  color: #1f2937;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);
}

.portal-home--pro #quickSearch.quick-search--hero .qs-submit:hover {
  background: linear-gradient(180deg, #fcd34d 0%, #f59e0b 100%);
  color: #111827;
}

/* Hero key metrics: card row below search */
.portal-home--pro .home-hero-pro__metrics {
  list-style: none;
  margin: var(--eyenet-home-card-gap) 0 0;
  padding: 0;
  border: none;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--eyenet-home-card-gap);
  justify-items: stretch;
  align-items: stretch;
}

.portal-home--pro .home-hero-pro__metric {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  padding: 1rem 1.125rem;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.portal-home--pro .home-hero-pro__metric:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
  border-color: rgba(14, 165, 233, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .portal-home--pro .home-hero-pro__metric {
    transition-duration: 0.01ms;
  }

  .portal-home--pro .home-hero-pro__metric:hover {
    transform: none;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
  }
}

.portal-home--pro .home-hero-pro__metric-num {
  display: block;
  font-size: 36px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #0ea5e9;
  text-shadow: none;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.portal-home--pro .home-hero-pro__metric-lab {
  display: block;
  margin-top: 0.5rem;
  font-size: 14px;
  font-weight: 500;
  color: #475569;
  line-height: 1.45;
  white-space: normal;
}

/* cite 以上内容区自有留白；main 底部不再额外垫高，避免与页脚之间出现空隙 */
body.portal-home.portal-home--pro .page-main.page-main--portal {
  padding-bottom: 0;
}

/* Hero 与正文之间不再显示分割线（保留 hr 便于 DOM 结构稳定时可改为 display:none） */
body.portal-home.portal-home--pro .home-intro > hr.home-intro-section-rule {
  display: none;
  margin: 0;
  border: 0;
  height: 0;
  visibility: hidden;
}

/* ========== Section rhythm：外层同一壳层底色，分段仅靠内部白卡片区分 ========== */
.portal-home--pro .home-body-stack > * {
  margin-bottom: 0;
}

/* 主区块之间竖向间距与 Welcome 卡 ↔ Summary 卡一致（--eyenet-home-card-gap） */
.portal-home--pro .home-body-stack {
  display: flex;
  flex-direction: column;
  gap: var(--eyenet-home-card-gap);
  margin-top: 0;
}

/* ========== Intro: stat cards + prose ========== */
/* Specificity must beat styles.css `body.portal-home .home-intro .db-intro--portal` (border-top / bg) */
body.portal-home.portal-home--pro .home-intro .db-intro.db-intro--portal {

  padding-bottom: 0;
  background: transparent;
  border-top: none;
  border-bottom: none;
}

body.portal-home.portal-home--pro .home-charts-deck--portal {
  width: var(--layout-width);
  max-width: var(--layout-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: var(--eyenet-portal-rail-pad-x);
  padding-right: var(--eyenet-portal-rail-pad-x);
  box-sizing: border-box;
  background: transparent;
  border-top: none;
  border-bottom: none;
}

/* 外层轨宽已与 Welcome 卡片一致，内部不要再叠一层 layout-width */
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Citation strip：图表区与页脚之间的 “Please Cite Us” */
body.portal-home.portal-home--pro .home-cite-band {
  margin: 0;
  padding-top: 0;
  padding-bottom: var(--eyenet-home-card-gap);
  padding-left: 0;
  padding-right: 0;
  background: transparent;
  border-bottom: none;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro .home-cite-band__inner {
  width: var(--layout-width);
  max-width: var(--layout-max-width);
  margin: 0 auto;
  padding-left: var(--eyenet-portal-rail-pad-x);
  padding-right: var(--eyenet-portal-rail-pad-x);
  box-sizing: border-box;
  text-align: left;
}

body.portal-home.portal-home--pro .home-cite-band__title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--eyenet-text-title);
}

body.portal-home.portal-home--pro .home-cite-band__text {
  margin: 0;
  text-indent: 1em;
  font-size: clamp(0.9rem, 1.35vw, 1rem);
  line-height: 1.55;
  color: var(--eyenet-text-body, #334155);
}

.portal-home--pro .db-flow.db-flow--timeline {
  margin-top: var(--eyenet-home-card-gap);
  /* padding-top: clamp(2rem, 4.5vw, 2.75rem); */
  padding-top: 1rem;
  padding-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
  background: transparent;
  border-bottom: none;
}

/* 竖向只由 .home-body-stack 的 gap 控制；横向总宽与全站版心一致（--layout-width），仅通过 fr 比例在左右卡之间分配 */
body.portal-home.portal-home--pro .home-intro .home-info-stack.home-info-stack--band {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: var(--layout-width) !important;
  max-width: var(--layout-max-width) !important;
  padding: 0 var(--eyenet-portal-rail-pad-x) !important;
  box-sizing: border-box;
  background: transparent !important;
  color: var(--eyenet-text-title);
  border-top: none !important;
  border-bottom: none !important;
}

/* ========== Block heading pattern (A2 + aliases: .home-block-head / .home-kicker / .home-section-title) ========== */
.portal-home--pro .eyenet-block-head,
.portal-home--pro .home-block-head {
  margin-bottom: 1.75rem;
}

.portal-home--pro .eyenet-block-head__label,
.portal-home--pro .home-block-head__label,
.portal-home--pro .home-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--eyenet-cyan);
}

.portal-home--pro .eyenet-block-head__title,
.portal-home--pro .home-block-head__title,
.portal-home--pro .home-section-title {
  margin: 0;
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--eyenet-text-title);
}

.portal-home--pro .eyenet-block-head__rule,
.portal-home--pro .home-block-head__rule {
  width: 3rem;
  height: 3px;
  margin-top: 0.65rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--eyenet-navy), var(--eyenet-cyan));
}

body.portal-home.portal-home--pro .db-intro--portal .db-intro-portal {
  max-width: var(--layout-max-width);
  width: var(--layout-width);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  padding: 2.5rem var(--eyenet-portal-rail-pad-x) 2.75rem;
}

/* 单栏模式：两白卡间距已由内部 gap 控制；外壳不再垫高底边，避免再叠一层 .home-body-stack gap */
body.portal-home.portal-home--pro .db-intro--portal .db-intro-portal.db-intro-portal--single-rich {
  padding-bottom: 0;
}

.portal-home--pro .db-intro-stat-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--eyenet-home-card-gap);
  min-width: 0;
}

.portal-home--pro .db-intro-stat-card {
  container-type: inline-size;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  min-width: 0;
  padding: 16px;
  background: #ffffff;
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.portal-home--pro .db-intro-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.1);
}

.portal-home--pro .db-intro-stat-card > div:not(.db-intro-stat-card__icon) {
  flex: 1 1 auto;
  min-width: 0;
}

.portal-home--pro .db-intro-stat-card__icon {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: transparent;
  color: #94a3b8;
}

.portal-home--pro .db-intro-stat-card__icon svg {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.portal-home--pro .db-intro-stat-card__num {
  /* Scales down inside narrow grid cells so long counts don’t squeeze the icon column */
  font-size: 1.125rem;
  font-size: clamp(0.8125rem, 9cqi + 0.45rem, 1.625rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #0ea5e9;
  letter-spacing: -0.04em;
  line-height: 1.2;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.portal-home--pro .db-intro-stat-card__lab {
  margin-top: 0.35rem;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 单块富文本：宽度由 .db-intro-portal 与全站一致，与上方 metrics 同列宽 */
.portal-home--pro .db-intro-portal--single-rich #dbIntroContent {
  width: 100%;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--eyenet-text-body);
}

.portal-home--pro .db-intro-portal--single-rich #dbIntroContent.is-loading {
  min-height: 6rem;
  opacity: 0.72;
}

.portal-home--pro .db-intro-portal--single-rich #dbIntroContent p {
  margin: 0 0 0.85em;
}

.portal-home--pro .db-intro-portal--single-rich #dbIntroContent p:last-child {
  margin-bottom: 0;
}

/* 富文本下方：写死的资源摘要（与 Welcome 卡同宽） */
body.portal-home.portal-home--pro .db-intro-portal--single-rich {
  display: flex;
  flex-direction: column;
  gap: var(--eyenet-home-card-gap);
}

.portal-home--pro .home-resource-summary {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
  background: #ffffff;
  border: 1px solid var(--eyenet-border-subtle);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.portal-home--pro .home-resource-summary__title {
  margin: 0;
  text-align: center;
  font-size: clamp(1.65rem, 3.8vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #263a63;
}

/* 与摘要卡片同宽（此前 max-width:28rem 导致短线） */
.portal-home--pro .home-resource-summary__rule {
  width: 100%;
  max-width: 100%;
  height: 1px;
  margin: clamp(0.65rem, 1.5vw, 0.85rem) 0 clamp(1rem, 2vw, 1.25rem);
  box-sizing: border-box;
  background: var(--eyenet-border-subtle);
  border-radius: 999px;
}

.portal-home--pro .home-resource-summary__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--eyenet-home-card-gap);
}

@media (max-width: 720px) {
  .portal-home--pro .home-resource-summary__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  .portal-home--pro .home-resource-summary__grid {
    grid-template-columns: 1fr;
  }
}

/* 与首页 Hero 指标卡 .home-hero-pro__metric 同套样式与悬停动效 */
.portal-home--pro .home-resource-summary__cell {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  padding: 1rem 1.125rem;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.portal-home--pro .home-resource-summary__cell:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
  border-color: rgba(14, 165, 233, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .portal-home--pro .home-resource-summary__cell {
    transition-duration: 0.01ms;
  }

  .portal-home--pro .home-resource-summary__cell:hover {
    transform: none;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
  }
}

.portal-home--pro .home-resource-summary__value {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: clamp(1.125rem, 2.75vw + 0.85rem, 2.8rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  /* rgb(198, 82, 42) */
  color: #c6522a;
  text-shadow: none;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.portal-home--pro .home-resource-summary__label {
  display: block;
  margin-top: 0.5rem;
  max-width: 100%;
  font-size: clamp(0.875rem, 1.35vw + 0.55rem, 2.12rem);
  font-weight: 600;
  color: #263a63;
  line-height: 1.45;
  white-space: normal;
}

/* —— Brief intro: scheme 2 — 左：富文本 | 右：指标四宫格 + Key Features —— */
body.portal-home.portal-home--pro .db-intro-portal__body.db-intro-portal__body--scheme2 {
  display: grid;
  gap: var(--eyenet-home-card-gap);
  align-items: start;
}

@media (min-width: 900px) {
  body.portal-home.portal-home--pro .db-intro-portal__body.db-intro-portal__body--scheme2 {
    grid-template-columns: minmax(0, 1.12fr) minmax(260px, min(34vw, 420px));
  }
}

body.portal-home.portal-home--pro .db-intro-portal__prose-stack {
  display: flex;
  flex-direction: column;
  gap: var(--eyenet-home-card-gap);
  min-width: 0;
}

body.portal-home.portal-home--pro .db-intro-portal__side-stack {
  display: flex;
  flex-direction: column;
  gap: var(--eyenet-home-card-gap);
  min-width: 0;
}

body.portal-home.portal-home--pro .db-intro-portal__features-rail {
  min-width: 0;
}

/* 右侧栏首个 aside（指标 ul）：与正文区左缘对齐习惯一致，去掉多余缩进 */
.portal-home--pro .db-intro-portal__side-stack > aside:first-of-type {
  margin: 0;
  padding: 0;
}

.portal-home--pro .db-intro-prose-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 20px;
  box-sizing: border-box;
}

.portal-home--pro .db-intro-prose-card__title {
  margin: 0 0 0.75rem;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #0ea5e9;
  letter-spacing: normal;
  text-transform: none;
}

.portal-home--pro .db-intro-prose-card--accent {
  border-left: 4px solid #0ea5e9;
}

.portal-home--pro .db-intro-prose-card .db-intro-rich p,
.portal-home--pro .db-intro-prose-card > p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--eyenet-text-body);
}

.portal-home--pro .db-intro-prose-card--accent .db-intro-panel.db-intro-panel--data {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.portal-home--pro .db-intro-prose-card .db-intro-panel.db-intro-panel--data p {
  margin: 0;
}

.portal-home--pro .db-intro-prose-card .db-intro-kicker {
  font-weight: 700;
  color: var(--eyenet-navy);
}

.portal-home--pro .db-intro-prose-card .db-intro-kicker--accent {
  color: var(--eyenet-cyan);
}

.portal-home--pro .db-intro-features.db-intro-prose-card .db-intro-features__list {
  margin-top: 0;
}

/* Key Features — inherited list styles */
.portal-home--pro .db-intro-features {
  min-width: 0;
}

.portal-home--pro .db-intro-features__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.portal-home--pro .db-intro-features__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--eyenet-text-body);
}

.portal-home--pro .db-intro-features__icon {
  flex-shrink: 0;
  margin-top: 0.1rem;
  color: #10b981;
  font-size: 1rem;
  line-height: 1;
}

.portal-home--pro .db-intro-features__text {
  flex: 1;
  min-width: 0;
}

.portal-home--pro .db-intro-prose {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--eyenet-text-body);
}

.portal-home--pro .db-intro-prose__block + .db-intro-prose__block {
  margin-top: 1.5rem;
}

.portal-home--pro .db-intro-prose__block h3 {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--eyenet-text-title);
}

.portal-home--pro .db-intro-prose__block p {
  margin: 0;
}

.portal-home--pro .db-intro-prose .db-intro-kicker {
  font-weight: 700;
  color: var(--eyenet-navy);
}

.portal-home--pro .db-intro-prose .db-intro-kicker--accent {
  color: var(--eyenet-cyan);
}

.portal-home--pro .db-intro-prose .db-intro-panel {
  margin-top: 1rem;
  padding: 1.1rem 1.15rem;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-left: 4px solid var(--eyenet-cyan);
  border-radius: 12px;
}

.portal-home--pro .db-intro-rich--client .db-intro-num {
  color: var(--eyenet-amber);
  font-weight: 800;
}

/* ========== Charts: 三张统计图共一张外层白卡片；各图内部结构不变 ========== */
body.portal-home.portal-home--pro .home-charts-deck--portal > .home-stats-deck-card {
  display: flex;
  flex-direction: column;
  gap: var(--home-chart-card-gap);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 16px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* 大卡片顶栏：与 Workflow 白卡顶栏（.db-flow-card-shell__head）同分割线、同内边距 */
body.portal-home.portal-home--pro .home-charts-deck--portal > .home-stats-deck-card > .home-stats-deck-card__head {
  margin: 0;
  padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.25rem, 3vw, 1.75rem) clamp(0.85rem, 2vw, 1rem);
  text-align: center;
  border-bottom: 1px solid #e8edf3;
}

body.portal-home.portal-home--pro .home-charts-deck--portal > .home-stats-deck-card > .home-stats-section.home-stats-panel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-panel__inner {
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-section--chart2 .home-stats-panel__inner {
  background: transparent;
}

body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-section__title {
  margin: 0;
  margin-top: 16px;
  padding: 0.55rem 0 0.95rem;
  text-align: center;
  /* border-bottom: 2px solid #0ea5e9; */
  border-bottom: none;
  font-family: Arial, sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f172a;
}

/* 标题移入白底 shell 顶部：与图区间留白；顶侧略松避免贴边 */
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-chart1-shell > .home-stats-section__title,
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-chart2-shell > .home-stats-section__title,
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-chart3-shell > .home-stats-section__title {
  padding: 0.35rem 0.25rem 0.55rem;
  flex-shrink: 0;
}

body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-section__lead {
  margin-top: 0.75rem;
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
  max-width: 52rem;
}

.portal-home--pro .home-stats-panel.home-stats-reveal {
  opacity: 0;
  transition: opacity 0.45s ease;
}

.portal-home--pro .home-stats-panel.home-stats-reveal.is-visible {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .portal-home--pro .home-stats-panel.home-stats-reveal {
    opacity: 1;
  }
}

.portal-home--pro .home-charts-deck .home-stats-chart1-canvas {
  height: min(50vw, 380px) !important;
  min-height: 280px !important;
}

@media (min-width: 992px) {
  .portal-home--pro .home-charts-deck .home-stats-chart1-canvas {
    height: 420px !important;
  }
}

.portal-home--pro .home-chart3-panel .home-stats-chart3-shell {
  margin-top: 0;
}

/* 每张图：标题在白底 shell 内；纵向排列图表与图例 */
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-chart1-shell,
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-chart2-shell,
body.portal-home.portal-home--pro .home-charts-deck--portal .home-stats-chart3-shell {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  padding: 0.95rem 0.65rem 0.6rem;
  box-sizing: border-box;
  overflow: hidden;
  min-width: 0;
}

/* 图 1 底部图例：与 ECharts 坐标轴字一致（见 home-stats-chart1.js EYENET_AXIS_LABEL） */
body.portal-home.portal-home--pro .home-stats-chart1-legend__title,
body.portal-home.portal-home--pro .home-stats-chart1-legend__label {
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
}

body.portal-home.portal-home--pro .home-stats-chart1-legend__label {
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

/* 图 1：“Interaction count” 靠近圆点图例（不用 absolute，避免压到圆点上） */
body.portal-home.portal-home--pro .home-stats-chart1-legend {
  justify-content: center;
  align-items: center;
  gap: 0.45rem 0.65rem;
  margin-top: 0;
  /* padding-top: 0.2rem; */
}

body.portal-home.portal-home--pro .home-stats-chart1-legend__row {
  flex: 0 1 auto;
}

/* ========== Workflow 轮播：与 Data overview 同横向留白（收窄后与统计图一起更接近通栏） ========== */
body.portal-home.portal-home--pro .home-intro .db-flow.db-flow--image-carousel {
  width: var(--layout-width);
  max-width: var(--layout-max-width);
  margin-left: auto;
  margin-right: auto;
  margin-top: 0 !important;
  /* 与上下区块的间距只保留 .home-body-stack gap，不在 section 上再叠竖向内边距 */
  padding: 0 var(--eyenet-portal-rail-pad-x);
  background: transparent;
  border-top: none;
  border-bottom: none;
  box-sizing: border-box;
}

/* 白卡片：填满与 Welcome 同宽的轨（外层 section 已约束版心） */
.portal-home--pro .db-flow-card-shell {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  background: #ffffff;
  border: 1px solid #dce3ec;
  border-radius: 18px;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.06),
    0 14px 32px -12px rgba(22, 74, 132, 0.12);
  box-sizing: border-box;
  overflow: hidden;
}

.portal-home--pro .db-flow-card-shell__head {
  padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.25rem, 3vw, 1.75rem) clamp(0.85rem, 2vw, 1rem);
  text-align: center;
  border-bottom: 1px solid #e8edf3;
  /* background: linear-gradient(180deg, #fbfcfe 0%, #f5f8fb 100%); */
}

/* 与下方「Summary of Statistics」共用一套字号/颜色，避免两处漂移 */
.portal-home--pro .db-flow-card-shell__title,
body.portal-home.portal-home--pro
  .home-charts-deck--portal
  > .home-stats-deck-card
  > .home-stats-deck-card__title {
  margin: 0;
  font-size: clamp(1.65rem, 3.8vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: none;
  font-variant: normal;
  color: #263a63;
}

.portal-home--pro .db-flow-card-shell__body {
  padding: 0;
}

.portal-home--pro .db-flow--image-carousel .db-flow-frame {
  max-width: none;
  width: 100%;
  margin: 0 auto;
  /* 与统计卡白底内边距同量级（略小于原 24px，轮播区更宽） */
  padding: 1rem;
  border: none;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}

.portal-home--pro .db-flow-carousel__slide-inner {
  margin: 0;
  /* border-radius: 16px; */
  border: 1px solid #e2e8f0;
  overflow: hidden;
  background: #fafbfc;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

.portal-home--pro .db-flow-carousel__slide-inner img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

/* ========== Workflow carousel ========== */
.portal-home--pro .db-flow-gallery--empty .db-flow-carousel {
  display: none !important;
}

.portal-home--pro .db-flow-carousel {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 2vw, 1rem);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.portal-home--pro .db-flow-carousel__viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
}

.portal-home--pro .db-flow-carousel__track.db-flow-mosaic {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: clamp(1rem, 2.5vw, 1.25rem);
  margin: 0;
  padding: 0;
  list-style: none;
  width: max-content;
  min-width: 100%;
  will-change: transform;
  transition: transform 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .portal-home--pro .db-flow-carousel__track.db-flow-mosaic {
    transition: none;
  }
}

/* 原型：小圆钮、白底、浅灰影、青色 chevron */
.portal-home--pro .db-flow-carousel__btn {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #ffffff;
  color: #22d3ee;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    box-shadow 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
}

.portal-home--pro .db-flow-carousel__btn:hover:not(:disabled) {
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
  color: #06b6d4;
}

.portal-home--pro .db-flow-carousel__btn:focus-visible {
  outline: 2px solid #06b6d4;
  outline-offset: 2px;
}

.portal-home--pro .db-flow-carousel__btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  box-shadow: 0 1px 6px rgba(15, 23, 42, 0.06);
}

.portal-home--pro .db-flow-carousel__ico {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.portal-home--pro .db-flow-carousel--single-page .db-flow-carousel__btn {
  display: none;
}

.portal-home--pro .db-flow-carousel--single-page .db-flow-carousel__viewport {
  overflow: visible;
}

.portal-home--pro .db-flow-carousel--single-page .db-flow-carousel__track.db-flow-mosaic {
  transform: none !important;
  width: 100%;
}

.portal-home--pro .db-flow-carousel--single-page .db-flow-mosaic__item {
  flex: 1 1 calc((100% - 2 * clamp(0.75rem, 2vw, 1rem)) / 3) !important;
  max-width: none !important;
}

.portal-home--pro .db-flow--image-carousel .db-flow-carousel .db-flow-carousel__track.db-flow-mosaic {
  flex-wrap: nowrap !important;
  justify-content: flex-start;
}

/* 轮播内条目：不要时间轴箭头/虚线装饰 */
.portal-home--pro .db-flow-carousel .db-flow-mosaic__item::before,
.portal-home--pro .db-flow-carousel .db-flow-mosaic__item::after {
  display: none !important;
  content: none !important;
}

/* ========== Workflow timeline ========== */
/* Title stays inside padded header — do not add second horizontal padding on h2 */
.portal-home--pro .db-flow--timeline .db-flow-title {
  max-width: none;
  width: auto;
  margin: 0;
  padding: 0;
}

.portal-home--pro .db-flow--timeline .db-flow-frame {
  max-width: var(--layout-max-width);
  width: var(--layout-width);
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 1.75rem);
  border: none;
  background: transparent;
  box-shadow: none;
}

.portal-home--pro .db-flow--timeline .db-flow-mosaic {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: stretch;
}

@media (min-width: 900px) {
  .portal-home--pro .db-flow--timeline .db-flow-mosaic {
    flex-wrap: nowrap;
    gap: clamp(0.65rem, 1.5vw, 1rem);
    position: relative;
    isolation: isolate;
  }

  /* Faint spine behind steps (connectors stay above via item z-index) */
  .portal-home--pro .db-flow--timeline .db-flow-mosaic::before {
    content: '';
    position: absolute;
    left: 5%;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    height: 1px;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(15, 76, 129, 0.1) 18%,
      rgba(6, 182, 212, 0.18) 50%,
      rgba(15, 76, 129, 0.1) 82%,
      transparent 100%
    );
  }
}

.portal-home--pro .db-flow--timeline .db-flow-mosaic__item {
  flex: 1 1 220px;
  min-width: 0;
  position: relative;
}

@media (min-width: 900px) {
  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item {
    flex: 1 1 0;
    z-index: 1;
  }

  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -6px;
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--eyenet-cyan);
    border-right: 2px solid var(--eyenet-cyan);
    transform: translateY(-50%) rotate(45deg);
    opacity: 0.65;
    z-index: 2;
    animation: flow-arrow-pulse 2.8s ease-in-out infinite;
  }
}

@keyframes flow-arrow-pulse {
  0%,
  100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}

@media (min-width: 900px) {
  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:not(:first-child)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: clamp(26px, 3.6vw, 44px);
    height: 2px;
    transform: translate(-78%, -50%);
    z-index: 1;
    pointer-events: none;
    opacity: 0.68;
    background: repeating-linear-gradient(
      90deg,
      rgba(6, 182, 212, 0.5) 0,
      rgba(6, 182, 212, 0.5) 7px,
      transparent 7px,
      transparent 14px
    );
    background-size: 14px 2px;
    animation: flow-dash-marquee 2.1s linear infinite;
  }
}

@keyframes flow-dash-marquee {
  to {
    background-position: 14px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:not(:last-child)::after {
    animation: none;
    opacity: 0.72;
  }

  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:not(:first-child)::before {
    animation: none;
    opacity: 0.42;
  }

  .portal-home--pro .db-flow--timeline .db-flow-card,
  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:hover .db-flow-card,
  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:focus-within .db-flow-card {
    transform: none;
    transition: none;
  }
}

/* No spine / arrows / dashed rails — calmer strip next to charts & band */
@media (min-width: 900px) {
  .portal-home--pro .db-flow--timeline .db-flow-mosaic::before {
    content: none;
  }

  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:not(:last-child)::after {
    content: none;
  }

  .portal-home--pro .db-flow--timeline .db-flow-mosaic__item:not(:first-child)::before {
    content: none;
  }
}

.portal-home--pro .db-flow--timeline .db-flow-card {
  margin: 0;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 6px 22px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  background: #fff;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.portal-home--pro .db-flow--timeline .db-flow-mosaic__item:hover .db-flow-card,
.portal-home--pro .db-flow--timeline .db-flow-mosaic__item:focus-within .db-flow-card {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.09);
  border-color: rgba(6, 182, 212, 0.28);
}

.portal-home--pro .db-flow--timeline .db-flow-card__img-wrap {
  background: #ffffff;
}

.portal-home--pro .db-flow--timeline .db-flow-card__img-wrap img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
  background-color: #fff;
}

.portal-home--pro .db-flow--timeline .db-flow-card__cap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  padding: 0.65rem 0.85rem;
  border-top: 1px solid #eef2f7;
  background: #fafbfc;
}

.portal-home--pro .db-flow--timeline .db-flow-card__step {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(120deg, var(--eyenet-navy-deep), var(--eyenet-navy-mid));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

.portal-home--pro .db-flow--timeline .db-flow-card__open {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--eyenet-cyan);
  text-decoration: none;
}

.portal-home--pro .db-flow--timeline .db-flow-card__open:hover {
  color: var(--eyenet-navy-mid);
  text-decoration: underline;
}

.portal-home--pro .db-flow--timeline .db-flow-card__open:focus-visible {
  outline: 2px solid var(--eyenet-cyan);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ========== Highlights mega + three-column band (light surface) ========== */
/* 外层宽度由 .home-info-stack--band 锁定为全站版心；内层双栏 grid 仅分配 fr，不改变总宽 */
body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-info-band {
  display: block !important;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.portal-home--pro .home-info-band--pro {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  gap: 0;
  box-sizing: border-box;
}

.portal-home--pro .home-info-band__row-split {
  /* display: grid !important; */
  /* grid-template-columns: repeat(2, minmax(0, 1fr)) !important; */
  /* 中间缝略加大（占宽度）；左右宽度分配见下方 ≥1000px 的 fr */
  /* gap: var(--eyenet-home-card-gap) !important; */
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: transparent;
  padding: 0;
  border: none;
}

/* 与标准版心两栏：左栏与右栏之间仅留 grid gap，不画竖线（覆盖 styles.css border-right） */
@media (min-width: 1000px) {
  body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-info-band__col--highlights {
    border-right: none !important;
    padding-right: 0 !important;
  }

  /* 总宽不变：缝变大后略提高左栏 fr，使左侧宽度接近原先；右侧相对更窄 */
  .portal-home--pro .home-info-band__row-split {
    /* grid-template-columns: minmax(0, 1.88fr) minmax(0, 1fr) !important; */
  }

  /* 双栏并列：左栏只占一列（默认 1 / -1 用于窄屏单列占满） */
  .portal-home--pro .home-info-band__col--highlights {
    grid-column: auto;
  }
}

.portal-home--pro .home-info-band__col--highlights {
  /* 根据左栏实际宽度决定内部 2×2 或单列；阈值见 band-highlights */
  container-type: inline-size;
  container-name: band-highlights;
}

@media (max-width: 999.98px) {
  .portal-home--pro .home-info-band__row-split {
    /* grid-template-columns: minmax(0, 1fr) !important; */
  }

  .portal-home--pro .home-info-band__col--highlights {
    grid-column: auto;
  }
}

.portal-home--pro .home-info-band__col {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.portal-home--pro .home-info-band__col > article,
.portal-home--pro .home-info-band__col .home-rich {
  max-width: 100%;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro .home-intro .home-highlight-iconlist {
  gap: clamp(0.48rem, 1.05vw, 0.75rem);
}

body.portal-home.portal-home--pro .home-intro .home-highlight-iconlist > li {
  gap: clamp(0.72rem, 1.65vw, 1rem);
}

.portal-home--pro .home-highlight-grid--mega {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.65rem, 2vw, 1.15rem);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .portal-home--pro .home-highlight-grid--mega {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 盖过 styles.css 里 feature 宫格的列定义；窄栏（见下方 @container）内强制单列 */
@media (min-width: 640px) {
  body.portal-home.portal-home--pro
    .home-intro
    .home-info-stack--band
    .home-info-card--feature
    .home-highlight-grid--mega {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 仅在左栏极窄时改为单列（等宽两栏 + 大屏也会 <560px，误触会变成第一张图） */
@container band-highlights (max-width: 400px) {
  body.portal-home.portal-home--pro
    .home-intro
    .home-info-stack--band
    .home-info-card--feature
    .home-highlight-grid--mega {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* .home-rich 的 overflow-wrap:anywhere 会继承进 tile，盖掉后标题只在词边界换行 */
body.portal-home.portal-home--pro .home-intro .home-rich .home-highlight-grid--mega {
  overflow-wrap: break-word;
  word-break: normal;
}

body.portal-home.portal-home--pro
  .home-intro
  .home-rich
  .home-highlight-grid--mega
  .home-highlight-tile--mega
  .home-highlight-tile__title,
body.portal-home.portal-home--pro
  .home-intro
  .home-rich
  .home-highlight-grid--mega
  .home-highlight-tile--mega
  .home-highlight-tile__desc {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

body.portal-home.portal-home--pro .home-intro .home-highlight-grid--mega > li {
  min-width: 0;
  max-width: 100%;
}

body.portal-home.portal-home--pro .home-intro .home-highlight-grid--mega > li.home-highlight-tile--mega {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro .home-intro #homeInfoStack.home-info-stack.home-info-stack--band {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: visible;
  overflow-y: visible;
}

.portal-home--pro .home-highlight-tile--mega {
  position: relative;
  overflow: hidden;
  padding: clamp(0.85rem, 2.2vw, 1.35rem) clamp(0.75rem, 1.8vw, 1.25rem) clamp(0.9rem, 2.2vw, 1.4rem) !important;
  border-radius: clamp(12px, 1.5vw, 16px) !important;
  border: 1px solid var(--eyenet-border-subtle) !important;
  min-height: auto;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--eyenet-surface) !important;
  box-shadow: none !important;
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.portal-home--pro .home-highlight-tile--mega:hover {
  transform: translateY(-2px);
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

@media (prefers-reduced-motion: reduce) {
  .portal-home--pro .home-highlight-tile--mega,
  .portal-home--pro .home-highlight-tile--mega:hover {
    transform: none;
    transition: none;
  }
}

/* No pastel gradient fills — tiles sit on light band */
.portal-home--pro .home-highlight-tile--mega::before {
  display: none;
}

.portal-home--pro .home-highlight-tile--mega .home-highlight-tile__icon {
  position: relative;
  z-index: 1;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(2.5rem, 6vw, 3.25rem) !important;
  height: clamp(2.5rem, 6vw, 3.25rem) !important;
  flex-shrink: 0;
  border-radius: clamp(10px, 1.2vw, 14px) !important;
  border: 1px solid var(--eyenet-border-subtle) !important;
  background: var(--eyenet-surface-muted) !important;
}

.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--azure .home-highlight-tile__icon,
.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--mint .home-highlight-tile__icon,
.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--violet .home-highlight-tile__icon,
.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--sand .home-highlight-tile__icon {
  border-color: var(--eyenet-border-subtle) !important;
  background: var(--eyenet-surface-muted) !important;
}

.portal-home--pro .home-highlight-tile--mega .home-highlight-tile__fa {
  font-size: clamp(1.5rem, 3.6vw, 2.5rem);
  line-height: 1;
}

.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--azure .home-highlight-tile__fa {
  color: #0284c7;
}

.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--mint .home-highlight-tile__fa {
  color: #059669;
}

.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--violet .home-highlight-tile__fa {
  color: #7c3aed;
}

.portal-home--pro .home-highlight-tile--mega.home-highlight-tile--sand .home-highlight-tile__fa {
  color: #ea580c;
}

.portal-home--pro .home-highlight-tile--mega .home-highlight-tile__body {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
}

.portal-home--pro .home-highlight-tile--mega .home-highlight-tile__title {
  font-size: clamp(0.88rem, 0.65rem + 0.9vw, 1.08rem) !important;
  font-weight: 700 !important;
  color: var(--eyenet-text-title);
  overflow-wrap: break-word;
  word-break: normal;
}

.portal-home--pro .home-highlight-tile--mega .home-highlight-tile__desc {
  font-size: clamp(0.78rem, 0.68rem + 0.45vw, 0.92rem) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--eyenet-text-body);
  overflow-wrap: break-word;
  word-break: normal;
}

.portal-home--pro .home-info-band__col--highlights .home-info-card--feature {
  margin: 0;
  padding: clamp(0.85rem, 2.2vw, 1.35rem) clamp(0.75rem, 2vw, 1.35rem);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--eyenet-surface);
  border-radius: 16px;
  border: 1px solid var(--eyenet-border-subtle);
  box-shadow: none;
  overflow: hidden;
}

.portal-home--pro .home-info-band__col--highlights .home-info-card--highlights-icons {
  margin: 0;
  padding: 1.15rem 1.2rem 1.25rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--eyenet-surface);
  border-radius: 14px;
  border: 1px solid var(--eyenet-border-subtle);
  box-shadow: none;
  overflow: hidden;
}

/* 双栏：左侧卡片与右侧 Related links 同高；Highlights 四条在剩余高度内上下均分 */
@media (min-width: 1000px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__row-split {
    align-items: stretch;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--highlights,
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    display: flex;
    flex-direction: column;
    min-height: 0;
    align-self: stretch;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--highlights
    > article.home-info-card--highlights-icons {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--highlights
    #homeRichHighlights.home-rich {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--highlights
    .home-highlight-iconlist {
    flex: 1 1 auto;
    min-height: 0;
    justify-content: space-between;
    gap: 0;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links
    > article.home-info-card--compact {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
  }
}

/* 双卡片标题：与 Workflow（.db-flow-card-shell__title）字号、颜色一致 */
.portal-home--pro .home-info-band__col--highlights .home-proto-card__title,
.portal-home--pro .home-info-band__col--links .home-proto-card__title {
  margin: 0 0 1rem !important;
  padding: 0 0 clamp(0.75rem, 2vw, 1rem) !important;
  border: none !important;
  border-bottom: 1px solid var(--eyenet-border-subtle) !important;
  text-align: center !important;
  font-size: clamp(1.65rem, 3.8vw, 2.25rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #263a63 !important;
}

.portal-home--pro .home-info-band__col--highlights .home-highlight-iconlist__text {
  font-size: clamp(1.58rem, 1.4rem + 1.27vw, 2rem);
  line-height: 1.5;
  color: #111827;
}

/* 双栏（≥1000px）：每条文案单行显示，过长省略；略缩小字号与图标以利排布 */
@media (min-width: 1000px) {
  body.portal-home.portal-home--pro
    .home-intro
    .home-info-stack--band
    .home-highlight-iconlist__text {
    flex: 1 1 0;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.92rem, 0.78rem + 0.65vw, 1.32rem);
    line-height: 1.45;
  }

  body.portal-home.portal-home--pro
    .home-intro
    .home-info-stack--band
    .home-highlight-iconlist__icon
    img {
    width: clamp(2.35rem, 2rem + 0.85vw, 3rem);
    max-width: clamp(2.35rem, 2rem + 0.85vw, 3rem);
  }
}

.portal-home--pro .home-info-card__title--pro {
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  color: var(--eyenet-text-title) !important;
  border-bottom-color: var(--eyenet-border-subtle) !important;
}

/* Related links（高度由 JS 对齐左侧 Highlights；超出时仅内容区滚动） */
.portal-home--pro .home-info-band__col--links .home-info-card.home-info-card--compact {
  border-radius: 14px;
  border: 1px solid var(--eyenet-border-subtle);
  background: var(--eyenet-surface);
  box-shadow: none;
  padding: 1.15rem 1.2rem 1.25rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.portal-home--pro .home-info-band__col--links .home-info-card.home-info-card--compact > .home-rich {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.portal-home--pro .home-info-band__col--links .home-info-card.home-info-card--compact .home-related-logos {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.portal-home--pro .home-info-band__col--links .home-info-card__title {
  margin-bottom: 1rem;
  padding-bottom: 0;
  border-bottom: none !important;
  color: var(--eyenet-text-title) !important;
}

.portal-home--pro .home-info-band__col--links .home-info-card__title::after {
  content: '';
  display: block;
  width: 2.25rem;
  height: 3px;
  margin-top: 0.55rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #38bdf8, #22d3ee);
}

.portal-home--pro .home-info-band__col--links .home-related-simple {
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-home--pro .home-info-band__col--links .home-related-simple li + li {
  margin-top: 0.55rem;
}

.portal-home--pro .home-info-band__col--links .home-related-simple li {
  position: relative;
  padding-left: 1.45rem;
}

.portal-home--pro .home-info-band__col--links .home-related-simple li::before {
  content: '→';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  font-size: 0.95em;
  font-weight: 600;
  color: var(--eyenet-navy);
  line-height: 1;
}

.portal-home--pro .home-info-band__col--links .home-related-simple a {
  color: var(--eyenet-navy);
  font-weight: 600;
  text-decoration: none;
}

.portal-home--pro .home-info-band__col--links .home-related-simple a:hover {
  color: #0ea5e9;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.portal-home--pro .home-info-band__col--links .home-related-simple a:focus-visible {
  outline: 2px solid var(--eyenet-cyan);
  outline-offset: 3px;
  border-radius: 4px;
}

.portal-home--pro .home-info-band__col--links .home-related-logos {
  margin: 0;
  padding: 0;
}

/*
 * Related links — 原型红框布局（6 列轨道）：
 * R1: GWAS 占左 4 列 | ClinVar 右 2 列
 * R2: gnomAD 左 2 列 | DiseaseEnhancer 右 4 列（与 R1 左右比例对调）
 * R3–R4: ICGC 左 4 列 | OMIM 右 2 列 rowspan 2
 * R4: TCGA 占列 1–2 | RNAInter 占列 3–4（与 ICGC 同宽左区）
 */
body.portal-home.portal-home--pro .home-intro .home-related-logos {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: auto;
  gap: 0.42rem 0;
  align-items: stretch;
  justify-items: stretch;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--gwas {
  grid-column: 1 / 5;
  grid-row: 1;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--clinvar {
  grid-column: 5 / 7;
  grid-row: 1;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--gnomad {
  grid-column: 1 / 3;
  grid-row: 2;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--disease {
  grid-column: 3 / 7;
  grid-row: 2;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--icgc {
  grid-column: 1 / 5;
  grid-row: 3;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--omim {
  grid-column: 5 / 7;
  grid-row: 3 / 5;
  align-self: stretch;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--tcga {
  grid-column: 1 / 3;
  grid-row: 4;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--rnainter {
  grid-column: 3 / 5;
  grid-row: 4;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos > li {
  display: flex;
  min-height: 0;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 0;
  height: 100%;
  padding: 0.18rem 0;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--omim img {
  max-height: min(100%, clamp(3rem, 8vw, 4.5rem));
}

/* 仅放大底部 TCGA / RNAInter（其它 logo 仍走 styles.css 各 __item--*） */
body.portal-home.portal-home--pro .home-intro .home-related-logos__item--tcga img {
  max-height: clamp(2.1rem, 4.5vw, 2.95rem);
}

body.portal-home.portal-home--pro .home-intro .home-related-logos__item--rnainter img {
  max-height: clamp(2.15rem, 4.6vw, 3rem);
}

@media (max-width: 640px) {
  body.portal-home.portal-home--pro .home-intro .home-related-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.4rem 0;
  }

  body.portal-home.portal-home--pro .home-intro .home-related-logos > li[class*='home-related-logos__item--'] {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: auto !important;
  }

  body.portal-home.portal-home--pro .home-intro .home-related-logos a {
    height: auto;
    padding: 0.12rem 0;
  }

  body.portal-home.portal-home--pro .home-intro .home-related-logos__item--omim img {
    max-height: clamp(2.25rem, 12vw, 3.25rem);
  }

  body.portal-home.portal-home--pro .home-intro .home-related-logos__item--tcga img,
  body.portal-home.portal-home--pro .home-intro .home-related-logos__item--rnainter img {
    max-height: clamp(2.2rem, 13.5vw, 3.05rem) !important;
  }
}

.portal-home--pro .home-info-band__col--links .home-related-logos a:hover {
  background: transparent;
}

.portal-home--pro .home-info-band__col--links .home-related-logos a:focus-visible {
  outline: 2px solid var(--eyenet-cyan);
  outline-offset: 3px;
}

/* Related links（#homeRichLinks）：上两行 flex+gap 无列内留白；底部子 grid + OMIM 跨行；整卡缩放 */
body.portal-home.portal-home--pro #homeRichLinks.home-rich {
  min-width: 0;
}

/* 标题在 scale frame 外，与 Highlights 同字号/边距，不被 zoom/transform 缩小 */
body.portal-home.portal-home--pro #homeRichLinks > .home-proto-card__title {
  flex-shrink: 0;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-proto-scale-viewport {
  container-type: inline-size;
  container-name: homerelated;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-proto-frame {
  /* 定稿最宽行：414 + 10 + 195 = 619；底部区 445+10+145=600；整卡仍由外层缩放 */
  --home-related-design-w: 619;
  box-sizing: border-box;
  width: calc(var(--home-related-design-w) * 1px);
  max-width: 100%;
  transform-origin: top left;
}

@supports (width: 1cqi) {
  body.portal-home.portal-home--pro #homeRichLinks .home-related-proto-frame {
    transform: scale(min(1, calc(100cqi / (var(--home-related-design-w) * 1px))));
  }
}

@supports (width: 1cqi) and (zoom: 0.5) {
  body.portal-home.portal-home--pro #homeRichLinks .home-related-proto-frame {
    transform: none;
    zoom: min(1, calc(100cqi / (var(--home-related-design-w) * 1px)));
  }
}

@supports not (width: 1cqi) {
  body.portal-home.portal-home--pro #homeRichLinks .home-related-proto-frame {
    width: min(100%, calc(var(--home-related-design-w) * 1px));
  }
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-shell {
  width: max-content;
  max-width: none;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: max-content;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: max-content;
  flex-shrink: 0;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__bottom {
  display: grid;
  grid-template-columns: max-content max-content;
  grid-template-rows: minmax(0, auto) minmax(0, auto);
  grid-template-areas:
    'hrb-icgc hrb-omim'
    'hrb-pair hrb-omim';
  column-gap: 10px;
  row-gap: 10px;
  align-items: start;
  width: max-content;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__bottom .home-related-board__hit--icgc {
  grid-area: hrb-icgc;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__bottom .home-related-board__hit--omim {
  grid-area: hrb-omim;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 145px;
  min-width: 145px;
  max-width: 145px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__bottom .home-related-board__pair {
  grid-area: hrb-pair;
  justify-self: start;
  width: max-content;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  padding: 2px 0;
  text-decoration: none;
}

/* 与行内 style 一致；类名兜底 */
body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--gwas {
  width: 414px;
  min-width: 414px;
  max-width: 414px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--clinvar {
  width: 195px;
  min-width: 195px;
  max-width: 195px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--gnomad {
  width: 195px;
  min-width: 195px;
  max-width: 195px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--disease {
  width: 414px;
  min-width: 414px;
  max-width: 414px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--icgc-stretch {
  width: 445px;
  min-width: 445px;
  max-width: 445px;
  justify-content: flex-start;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--pair-tcga {
  width: 145px;
  min-width: 145px;
  max-width: 145px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--pair-rnainter {
  width: 283px;
  min-width: 283px;
  max-width: 283px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit:hover {
  opacity: 0.92;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit:focus-visible {
  outline: 2px solid var(--eyenet-cyan);
  outline-offset: 3px;
  border-radius: 4px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit img {
  display: block;
  height: auto;
  max-width: none;
  flex-shrink: 0;
  object-fit: contain;
  object-position: left center;
}

/* 1920 定稿各图「长」方向宽度（px）；随外层 frame 整体缩放，不在此用 vw/clamp */
body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--gwas img {
  width: 414px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--clinvar img {
  width: 195px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--gnomad img {
  width: 195px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--disease img {
  width: 414px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--icgc img {
  width: 445px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--omim img {
  width: 145px;
  height: auto;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__pair {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  flex-shrink: 0;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__pair .home-related-board__hit {
  flex-shrink: 0;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--pair-tcga img {
  width: 145px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--pair-rnainter img {
  width: 283px;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--col-left {
  justify-content: flex-start;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--col-right {
  justify-content: flex-start;
}

body.portal-home.portal-home--pro #homeRichLinks .home-related-board__hit--col-right img {
  object-position: left center;
}

.portal-home--pro .home-info-band__col--highlights .home-info-head__title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--eyenet-text-title) !important;
}

.portal-home--pro .home-info-band__col--highlights .home-info-head {
  margin-bottom: 1.05rem;
}

.portal-home--pro .home-info-band__col--highlights .home-info-head__spark {
  color: #38bdf8;
}

.portal-home--pro .home-info-band__col--highlights .home-info-head::after {
  content: '';
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: 0.65rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #38bdf8, #22d3ee);
}

.portal-home--pro .home-info-band__col--cite > .home-info-card.home-info-card--compact {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0;
  margin: 0;
}

.portal-home--pro .home-info-band__col--cite .home-info-card__title {
  margin-bottom: 0.95rem;
  color: var(--eyenet-text-title) !important;
  border-bottom-color: var(--eyenet-border-subtle) !important;
  letter-spacing: 0.12em;
}

.portal-home--pro .home-info-band__col--cite .home-cite-panel {
  background: var(--eyenet-surface);
  border: 1px solid var(--eyenet-border-subtle);
  border-radius: 12px;
  padding: 1rem 1.1rem 1.05rem;
  color: var(--eyenet-text-body);
}

.portal-home--pro .home-info-band__col--cite .home-cite-panel__text {
  margin: 0;
  font-size: clamp(0.85rem, 1.35vw, 0.95rem);
  line-height: 1.72;
  max-width: none;
  width: 100%;
  color: var(--eyenet-text-body);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.portal-home--pro .home-info-band__col--cite .home-cite-panel__text em {
  font-style: italic;
  color: var(--eyenet-text-title);
}

.portal-home--pro .home-info-band__col--cite .home-cite-panel__pmid {
  margin: 0.85rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--eyenet-border-subtle);
  color: var(--eyenet-text-body);
  font-variant-numeric: tabular-nums;
}

.portal-home--pro .home-info-band__col--cite .home-cite-panel__actions {
  margin: 0.65rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1rem;
  font-size: 0.88rem;
}

.portal-home--pro .home-info-band__col--cite .home-cite-panel__actions .home-cite-panel__sep {
  opacity: 0.5;
}

.portal-home--pro .home-info-band__col--cite a {
  color: var(--eyenet-navy);
  font-weight: 600;
  text-decoration: none;
}

.portal-home--pro .home-info-band__col--cite a:hover {
  color: #0ea5e9;
  text-decoration: underline;
}

.portal-home--pro .home-info-band__col--cite a:focus-visible {
  outline: 2px solid var(--eyenet-cyan);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Beat styles.css band utilities on portal home — align with light band */
body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-info-card--feature {
  overflow: hidden;
}

body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-highlight-tile--mega {
  background: var(--eyenet-surface) !important;
  border: 1px solid var(--eyenet-border-subtle) !important;
  box-shadow: none !important;
}

body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-highlight-tile--mega .home-highlight-tile__title {
  color: var(--eyenet-text-title) !important;
}

body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-highlight-tile--mega .home-highlight-tile__desc {
  color: var(--eyenet-text-body) !important;
}

body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-info-band__col--cite .home-cite-panel {
  background: var(--eyenet-surface) !important;
  border: 1px solid var(--eyenet-border-subtle) !important;
  box-shadow: none !important;
}

body.portal-home.portal-home--pro .home-intro .home-info-stack--band .home-related-simple li {
  border-bottom-color: var(--eyenet-border-subtle);
}

.home-info-band__row-split{
  display: flex;
}
.home-info-band__col--highlights{
  width: 100%;
  flex: 1;
  margin-right: 10px;
}
.home-highlight-iconlist{
  justify-content: space-around !important;
}
.home-highlight-iconlist__text{
  font-size: 35px !important;
}
.home-highlight-iconlist__icon{
  margin-top: -15px;
}

/* .home-info-band__col--links{
  width: 650px;
} */
.home-related-board__hit--gwas{
  width: 414px; min-width: 414px; max-width: 414px;
}
.home-related-board__hit--clinvar{
  width: 195px; min-width: 195px; max-width: 195px;
}
.home-related-board__hit--gnomad {
  width: 195px; min-width: 195px; max-width: 195px;
}
.home-related-board__hit--disease{
  width: 414px; min-width: 414px; max-width: 414px;
}
.home-related-board__hit--icgc-stretch{
  width: 445px; min-width: 445px; max-width: 445px;
}
.home-related-board__hit--pair-tcga{
  width: 145px; min-width: 145px; max-width: 145px;
}
.home-related-board__hit--pair-rnainter{
  width: 283px; min-width: 283px; max-width: 283px;
}
.home-related-board__hit--omim {
  width: 145px; min-width: 145px; max-width: 145px;
}









/* 双栏容器：左吃剩余、右有上限 → 近似保持「左宽:右宽」比例 */
body.portal-home.portal-home--pro
  .home-intro
  #homeInfoStack.home-info-stack--band
  .home-info-band__row-split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  gap: clamp(0.75rem, 2vw, 1.35rem); /* 与全站缝对齐，可改 */
}
body.portal-home.portal-home--pro
  .home-intro
  #homeInfoStack.home-info-stack--band
  .home-info-band__col--highlights {
  flex: 1 1 0;
  min-width: 0; /* 关键：允许在 flex 里收缩，避免文字区被「挤到 0」 */
  max-width: 100%;
  box-sizing: border-box;
}
/* 右栏：默认「最宽档」——数值请按设计（原 650 可从这里起） */
body.portal-home.portal-home--pro
  .home-intro
  #homeInfoStack.home-info-stack--band
  .home-info-band__col--links {
  flex: 0 0 auto;
  width: min(650px, 100%); /* 大屏不超过 650；窄屏跟随父级 */
  max-width: 100%;
  box-sizing: border-box;
}

body.portal-home.portal-home--pro
.home-intro
#homeInfoStack.home-info-stack--band
.home-highlight-iconlist__text {
  font-size: 30px !important;
}
@media (max-width: 1770px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(500px, 100%);
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board img {
    max-width: 100%;
    height: auto;
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board__hit {
    max-width: 100%;
    box-sizing: border-box;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-highlight-iconlist__text {
      font-size: 28px !important;
  }
}


@media (max-width: 1600px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(500px, 100%);
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board img {
    max-width: 100%;
    height: auto;
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board__hit {
    max-width: 100%;
    box-sizing: border-box;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-highlight-iconlist__text {
      font-size: 24px !important;
  }
}
@media (max-width: 1500px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(500px, 100%);
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board img {
    max-width: 100%;
    height: auto;
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board__hit {
    max-width: 100%;
    box-sizing: border-box;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-highlight-iconlist__text {
      font-size: 22px !important;
  }
}
@media (max-width: 1400px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(500px, 100%);
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board img {
    max-width: 100%;
    height: auto;
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board__hit {
    max-width: 100%;
    box-sizing: border-box;
  }

  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-highlight-iconlist__text {
      font-size: 20px !important;
  }
}
/* ---------- 断点 1：略缩右栏 + 略缩图（示例：≤1200） ---------- */
@media (max-width: 1200px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(580px, 100%);
  }
  /* 内部 logo 栅格：按你们真实 DOM 改选择器（示例两种写法） */
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board img {
    max-width: 100%;
    height: auto;
  }
  /* 若每条 hit 用固定 style 宽度，可在此用 max-width 压一档（需能覆盖内联时加 !important，或改 HTML） */
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board__hit {
    max-width: 100%;
    box-sizing: border-box;
  }
}
/* ---------- 断点 2：再缩一档（示例：≤1080） ---------- */
@media (max-width: 1080px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(520px, 100%);
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-related-board img {
    /* 用 clamp 做「随视口平滑」也可： */
    /* width: clamp(140px, 28vw, 220px); */
  }
}
/* ---------- 断点 3：平板附近（示例：≤960） ---------- */
@media (max-width: 960px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(460px, 100%);
  }
}
/* ---------- 断点 4：更窄（示例：≤820） ---------- */
@media (max-width: 820px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: min(400px, 100%);
  }
}

@media (max-width: 720px) {
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__row-split {
    flex-direction: column;
  }
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--highlights,
  body.portal-home.portal-home--pro
    .home-intro
    #homeInfoStack.home-info-stack--band
    .home-info-band__col--links {
    width: 100%;
    flex: 0 0 auto;
  }
}






