/*!
 * GP-Fertility 配色系统 — 为 Prelude 静态导出站提供设计令牌与基础覆盖。
 * 详细说明见 /docs/GP-COLOR-SYSTEM.md（可与 wwww-clean 共用同文档）
 */
:root {
  /* 全站锁定三色：主紫 #8362a9、浅紫 #a186b9、金 #E6D199（强调/深色字与主紫统一） */
  --gp-primary: #8362a9;
  --gp-primary-hover: #a186b9;
  --gp-primary-active: #8362a9;
  --gp-purple-surface: #8362a9;
  --gp-purple-surface-inner: #a186b9;
  /* Hero/页脚/CTA：浅紫 → 主紫 */
  --gp-footer-purple: #8362a9;
  --gp-footer-purple-mid: #a186b9;
  --gp-footer-purple-deep: #8362a9;
  --gp-footer-gold: #e6d199;
  --gp-accent-cream: #f2e6c4;
  --gp-champagne: #c4a574;
  --gp-champagne-light: #f0e6c8;
  --gp-champagne-bg: #f7f2e8;
  --gp-surface-dark: #1e1b2e;

  --gp-text-1: #1a1a1a;
  --gp-text-body: #374151;
  --gp-text-muted: #4b5563;
  --gp-on-inverse: #ffffff;
  --gp-on-inverse-muted: rgba(255, 255, 255, 0.85);
  --gp-on-inverse-soft: rgba(255, 255, 255, 0.65);

  --gp-page-bg: #ffffff;
  --gp-surface-white: #ffffff;
  --gp-surface-muted: #f9fafb;
  --gp-surface-cream: #f8f5f0;
  --gp-surface-teal: #eaf4f2;
  --gp-surface-plum: #2d2640;

  --gp-border-warm: #e8e4dc;
  --gp-border-cool: #e5e2eb;
  --gp-border-neutral: #e5e7eb;
  --gp-image-placeholder: #e8e4f3;
  --gp-accent-lilac: #c4b5e8;
  --gp-tint-lavender: #f0ecf8;
  --gp-tint-page: #faf8ff;

  --gp-font-sans: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", Univers, Helvetica, Arial, sans-serif;
}

html {
  background: var(--gp-page-bg) !important;
  scroll-behavior: smooth;
}

body {
  background: var(--gp-page-bg) !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--gp-primary);
  outline-offset: 2px;
}

/* 可选：与 wwww-clean 一致的区块工具类（自建页面时可复用） */
.gp-split-section {
  padding: 0 !important;
}
.gp-split-section--white { background: var(--gp-surface-white); }
.gp-split-section--gray { background: var(--gp-surface-muted); }
.gp-split-section--cream { background: var(--gp-surface-cream); }
.gp-split-section--teal { background: var(--gp-surface-teal); }
.gp-bg-white { background: var(--gp-surface-white); }
.gp-bg-muted { background: var(--gp-surface-muted); }
.gp-bg-cream { background: var(--gp-surface-cream); }
.gp-bg-teal { background: var(--gp-surface-teal); }
.gp-bg-tint-page { background: var(--gp-tint-page); }

/* 首页 Hero：无 CMS 幻灯时由 inner 显示静态 JPEG；有 .hero-slider-inner--cms 时由子层显示 */
#homepage .slider[data-v-bfb72eba] .slider-inner[data-v-bfb72eba] {
  background-color: var(--gp-image-placeholder);
  background-image: url("../media/2025/11/hero-homepage-1-1.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#homepage .slider[data-v-bfb72eba] .slider-inner.hero-slider-inner--cms[data-v-bfb72eba] {
  background-image: none !important;
  background-color: transparent;
}
.hero-slider-slides {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}
.hero-slider-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.hero-slider-slide.hero-slider-slide--active {
  opacity: 1;
  z-index: 2;
}
/* 隐藏 Vue 遗留块；保留 .dots、.hero-slider-slides、.hero-slider-overlay */
#homepage .slider[data-v-bfb72eba] .slider-inner[data-v-bfb72eba] > :not(.dots):not(.hero-slider-slides):not(.hero-slider-overlay) {
  display: none !important;
}

/* 幻灯片叠层：主标题 + 双按钮（覆盖在轮播图上）
 * 左右：叠层 flex 交叉轴居中；内层 column + align-items:center；文案区 translateY 勿加在外层容器上（部分浏览器下 transform 会破坏 flex 子项水平居中）。
 * 上下：flex 主轴居中后，仅 .hero-slider-copy 使用 translateY 下移。 */
.hero-slider-overlay[data-v-bfb72eba] {
  position: absolute;
  inset: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 4;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
  pointer-events: none;
}
.hero-slider-overlay[data-v-bfb72eba]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(30, 27, 46, 0.35) 0%, rgba(30, 27, 46, 0.15) 45%, rgba(30, 27, 46, 0.4) 100%);
  pointer-events: none;
  z-index: 0;
}
.hero-slider-overlay-inner[data-v-bfb72eba] {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  width: 100%;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem 1.25rem 5rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.hero-slider-copy {
  margin: 0;
  width: 100%;
  max-width: 48rem;
  text-align: center;
  transform: translateY(clamp(4rem, 16vh, 10rem));
}
.hero-slider-heading {
  margin: 0 0 1.75rem;
  font-family: var(--gp-font-sans);
  font-weight: 600;
  font-size: clamp(1.5rem, 3.6vw, 2.75rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--gp-on-inverse);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
  text-align: center;
}
.hero-slider-heading .hero-slider-line1,
.hero-slider-heading .hero-slider-line2 {
  display: block;
}
.hero-slider-heading .hero-slider-line2 {
  margin-top: 0.35em;
  font-size: 0.92em;
  font-weight: 500;
  color: var(--gp-on-inverse-muted);
}
.hero-slider-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  justify-content: center;
  align-items: center;
}
.hero-slider-buttons .button {
  pointer-events: auto;
}
@media (max-width: 1023px) and (min-width: 768px) {
  #homepage .slider[data-v-bfb72eba] .slider-inner[data-v-bfb72eba]:not(.hero-slider-inner--cms) {
    background-image: url("../media/2025/11/tablet-homepage-1.jpg");
  }
}
@media (max-width: 767px) {
  #homepage .slider[data-v-bfb72eba] .slider-inner[data-v-bfb72eba]:not(.hero-slider-inner--cms) {
    background-image: url("../media/2025/11/mobile-homepage-1.jpg");
  }
}

/* 幻灯下介绍条：主题薰衣草底 + 主色标题 + 左对齐正文 + 主按钮
 * 同时使用 #homepage 与 #homepage-content，避免结构层级导致选择器不命中 */
#homepage .section-intro.home-intro-band,
#homepage-content .section-intro.home-intro-band {
  background: linear-gradient(
    180deg,
    var(--gp-tint-page) 0%,
    var(--gp-tint-lavender) 42%,
    var(--gp-tint-page) 100%
  );
  background-color: var(--gp-tint-page);
  border-top: 1px solid var(--gp-border-cool);
  border-bottom: 1px solid var(--gp-border-cool);
  width: 100%;
}
#homepage .section-intro.home-intro-band .group-inner,
#homepage-content .section-intro.home-intro-band .group-inner {
  padding: 2.75rem 1.25rem 3rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #homepage .section-intro.home-intro-band .group-inner,
  #homepage-content .section-intro.home-intro-band .group-inner {
    padding: 3.25rem 1.5rem 3.5rem;
  }
}
#homepage .section-intro.home-intro-band .group-inner > .container,
#homepage-content .section-intro.home-intro-band .group-inner > .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: min(92.5rem, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
#homepage .section-intro.home-intro-band .group-inner > .container > .block-list,
#homepage-content .section-intro.home-intro-band .group-inner > .container > .block-list {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#homepage .section-intro.home-intro-band .block-list,
#homepage-content .section-intro.home-intro-band .block-list {
  text-align: center;
}
#homepage .section-intro.home-intro-band h2.home-intro-heading.heading,
#homepage-content .section-intro.home-intro-band h2.home-intro-heading.heading {
  color: var(--gp-primary-active) !important;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem) !important;
  line-height: 1.3 !important;
  margin: 0 auto 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  max-width: min(72rem, 100%);
}
#homepage .section-intro.home-intro-band .home-intro-body,
#homepage-content .section-intro.home-intro-band .home-intro-body {
  color: var(--gp-text-body) !important;
  max-width: min(72rem, 100%);
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 0.75rem !important;
  line-height: 1.65 !important;
  font-size: 1rem !important;
  text-align: center !important;
}
#homepage .section-intro.home-intro-band .home-intro-body:last-of-type,
#homepage-content .section-intro.home-intro-band .home-intro-body:last-of-type {
  margin-bottom: 1.75rem !important;
}
/* 与 Hero 双按钮同一容器类：flex 居中 + gap；链接仅用全局 .button（主题 38db337）+ #homepage .button 宽度（9d4faf9） */
#homepage .section-intro.home-intro-band .home-intro-actions.hero-slider-buttons,
#homepage-content .section-intro.home-intro-band .home-intro-actions.hero-slider-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem 1rem !important;
  justify-content: center !important;
  align-items: center !important;
}
#homepage .section-intro.home-intro-band .home-intro-actions.hero-slider-buttons .button,
#homepage-content .section-intro.home-intro-band .home-intro-actions.hero-slider-buttons .button {
  pointer-events: auto;
}

/* How can we help you? — 卡片式四列（对齐首页 section-three 的留白与比例，避免巨型线框图标） */
#homepage .pathways-section {
  background: linear-gradient(180deg, var(--gp-surface-white) 0%, var(--gp-tint-page) 55%, var(--gp-surface-white) 100%);
}
#homepage .pathways-section .group-inner {
  padding-top: 3rem;
  padding-bottom: 3.5rem;
}
@media (min-width: 768px) {
  #homepage .pathways-section .group-inner {
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }
}
#homepage .pathways-section h2.heading {
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  line-height: 1.2 !important;
  margin-bottom: 0.75rem !important;
  letter-spacing: -0.02em;
}
#homepage .pathways-section-lead {
  max-width: 36rem;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 2rem !important;
  color: var(--gp-text-muted);
}
#homepage .pathways-columns {
  gap: 1rem;
  align-items: stretch;
}
@media (min-width: 768px) {
  #homepage .pathways-columns {
    gap: 1.25rem;
  }
}
@media (min-width: 1024px) {
  #homepage .pathways-columns {
    gap: 1.5rem;
  }
}
#homepage .pathways-card {
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.25rem 1rem 1.5rem;
  background: transparent;
  border-radius: 0.75rem;
  border: none;
  box-shadow: none;
}
@media (min-width: 768px) {
  #homepage .pathways-card {
    padding: 1.5rem 1.25rem 1.75rem;
  }
}
#homepage .pathways-card-icon {
  margin: 0 0 1rem !important;
  width: 3.5rem;
  height: 3.5rem;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--gp-tint-lavender), var(--gp-surface-white));
  border: 1px solid var(--gp-border-cool);
  flex-shrink: 0;
}
#homepage .pathways-card-icon img {
  width: 2rem !important;
  height: auto !important;
  max-height: 2rem;
  object-fit: contain;
}
#homepage .pathways-card-title {
  font-size: 1.125rem !important;
  line-height: 1.3 !important;
  margin: 0 0 0.5rem !important;
  color: var(--gp-primary-active) !important;
}
@media (min-width: 768px) {
  #homepage .pathways-card-title {
    font-size: 1.25rem !important;
  }
}
#homepage .pathways-card-text {
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
  margin-bottom: 1rem !important;
  flex-grow: 1;
  color: var(--gp-text-body);
}
#homepage .pathways-card-actions {
  margin-top: auto !important;
  width: 100%;
}
#homepage .pathways-card-actions .button {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100%;
}

/* Global Network — Teal 底；与首页其它区块同宽居中、五列栅格 */
#homepage .why-prelude-section,
#homepage-content .why-prelude-section {
  background: var(--gp-surface-teal);
  border-top: 1px solid rgba(229, 226, 235, 0.85);
}
#homepage .why-prelude-section .group-inner,
#homepage-content .why-prelude-section .group-inner {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  #homepage .why-prelude-section .group-inner,
  #homepage-content .why-prelude-section .group-inner {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }
}
/* 覆盖主题 .group-inner>.container{display:flex} 默认横向，避免左窄条 */
#homepage .why-prelude-section .group-inner > .container,
#homepage-content .why-prelude-section .group-inner > .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: min(92.5rem, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
#homepage .why-prelude-section .group-inner > .container > .block-list,
#homepage-content .why-prelude-section .group-inner > .container > .block-list {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#homepage .why-prelude-section .block-list,
#homepage-content .why-prelude-section .block-list {
  text-align: center;
}
#homepage .why-prelude-section h2.heading,
#homepage-content .why-prelude-section h2.heading {
  color: var(--gp-primary-active) !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1.125rem !important;
  max-width: min(72rem, 100%);
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Global Network 图标区：小屏 2 列；900–1199px 用 6 列做 3+2；≥1200px 改为一行 5 等列，消除错位感 */
#homepage .why-prelude-section .why-prelude-tiles.columns,
#homepage-content .why-prelude-section .why-prelude-tiles.columns {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem 1rem !important;
  align-items: start;
  margin-bottom: 1.125rem !important;
}
#homepage .why-prelude-section .why-prelude-tiles > .column,
#homepage-content .why-prelude-section .why-prelude-tiles > .column {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
@media (min-width: 900px) and (max-width: 1199px) {
  #homepage .why-prelude-section .why-prelude-tiles.columns,
  #homepage-content .why-prelude-section .why-prelude-tiles.columns {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 1.75rem 1rem !important;
    row-gap: 2rem !important;
  }
  #homepage .why-prelude-section .why-prelude-tiles > .column:nth-child(1),
  #homepage-content .why-prelude-section .why-prelude-tiles > .column:nth-child(1) {
    grid-column: 1 / 3;
  }
  #homepage .why-prelude-section .why-prelude-tiles > .column:nth-child(2),
  #homepage-content .why-prelude-section .why-prelude-tiles > .column:nth-child(2) {
    grid-column: 3 / 5;
  }
  #homepage .why-prelude-section .why-prelude-tiles > .column:nth-child(3),
  #homepage-content .why-prelude-section .why-prelude-tiles > .column:nth-child(3) {
    grid-column: 5 / 7;
  }
  #homepage .why-prelude-section .why-prelude-tiles > .column:nth-child(4),
  #homepage-content .why-prelude-section .why-prelude-tiles > .column:nth-child(4) {
    grid-column: 2 / 4;
  }
  #homepage .why-prelude-section .why-prelude-tiles > .column:nth-child(5),
  #homepage-content .why-prelude-section .why-prelude-tiles > .column:nth-child(5) {
    grid-column: 4 / 6;
  }
}
@media (min-width: 1200px) {
  #homepage .why-prelude-section .why-prelude-tiles.columns,
  #homepage-content .why-prelude-section .why-prelude-tiles.columns {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1.75rem 1rem !important;
    row-gap: 0 !important;
  }
}
@media (max-width: 767px) {
  #homepage .why-prelude-section .why-prelude-tiles.columns,
  #homepage-content .why-prelude-section .why-prelude-tiles.columns {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
}
#homepage .why-prelude-section .why-prelude-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  text-align: center;
}
#homepage .why-prelude-section .why-prelude-tile--network .why-prelude-tile-caption {
  max-width: 22rem;
  margin-left: auto !important;
  margin-right: auto !important;
}
#homepage .why-prelude-section .why-prelude-icon {
  margin: 0 auto 0.75rem !important;
}
#homepage .why-prelude-section .why-prelude-icon img {
  width: 5rem !important;
  height: auto !important;
  max-height: 5rem;
  object-fit: contain;
}
@media (min-width: 900px) {
  #homepage .why-prelude-section .why-prelude-icon img {
    width: 5.5rem !important;
    max-height: 5.5rem;
  }
}
/* 卡片文案两行：上行地区/网络名，下行说明 */
#homepage .why-prelude-section .why-prelude-tile-caption {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  font-size: 1.0625rem !important;
  line-height: 1.45 !important;
  color: var(--gp-text-body) !important;
}
#homepage .why-prelude-section .why-prelude-country {
  display: block;
  font-weight: 700;
  color: var(--gp-primary-active);
  font-size: 1.0625rem;
  line-height: 1.25;
}
#homepage .why-prelude-section .why-prelude-desc,
#homepage-content .why-prelude-section .why-prelude-desc {
  display: block;
  font-weight: 400;
  color: var(--gp-text-body);
  font-size: 0.9375em;
  line-height: 1.5;
  max-width: min(16rem, 100%);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 900px) {
  #homepage .why-prelude-section .why-prelude-tile-caption {
    font-size: 1.125rem !important;
    gap: 0.4rem !important;
  }
  #homepage .why-prelude-section .why-prelude-country {
    font-size: 1.125rem;
  }
  #homepage .why-prelude-section .why-prelude-desc,
  #homepage-content .why-prelude-section .why-prelude-desc {
    font-size: 0.9375rem;
  }
}
#homepage .why-prelude-section .why-prelude-footnote,
#homepage-content .why-prelude-section .why-prelude-footnote {
  max-width: min(72rem, 100%);
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1rem !important;
  margin-top: 0 !important;
  color: var(--gp-text-muted);
  font-size: 1.0625rem !important;
  line-height: 1.6 !important;
}
@media (min-width: 900px) {
  #homepage .why-prelude-section .why-prelude-footnote,
  #homepage-content .why-prelude-section .why-prelude-footnote {
    font-size: 1.125rem !important;
  }
}
#homepage .why-prelude-section .why-prelude-actions.hero-slider-buttons,
#homepage-content .why-prelude-section .why-prelude-actions.hero-slider-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem 1rem !important;
  justify-content: center !important;
  align-items: center !important;
}
#homepage .why-prelude-section .why-prelude-actions.hero-slider-buttons .button,
#homepage-content .why-prelude-section .why-prelude-actions.hero-slider-buttons .button {
  pointer-events: auto;
}

/* 左文右图区块（section-fertility）：Why Choose GP Fertility */
#homepage .section-fertility .gp-why-choose-gp .heading {
  margin-bottom: 1rem !important;
}
#homepage .section-fertility .gp-why-choose-gp-list li {
  margin-bottom: 0.65rem !important;
  line-height: 1.55 !important;
  color: var(--gp-text-body);
}
#homepage .section-fertility .gp-why-choose-gp-tagline {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
  color: var(--gp-text-muted);
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

/* 图左文右（section-embrace）：Strategy → Execution */
#homepage .section-embrace .gp-strategy-execution .heading {
  margin-bottom: 1rem !important;
}
#homepage .section-embrace .gp-strategy-execution .paragraph {
  margin-top: 0 !important;
  margin-bottom: 0.85rem !important;
  line-height: 1.65 !important;
  color: var(--gp-text-body);
}
#homepage .section-embrace .gp-strategy-execution .paragraph:last-child {
  margin-bottom: 0 !important;
}

/* A+C 混合：三列数字碑 + 每列图标（Outcomes / By the numbers） */
#homepage .section-stats.gp-stats-band,
#homepage-content .section-stats.gp-stats-band {
  background: linear-gradient(180deg, var(--gp-surface-white) 0%, var(--gp-tint-page) 45%, var(--gp-surface-white) 100%);
  border-top: 1px solid var(--gp-border-cool);
  border-bottom: 1px solid var(--gp-border-cool);
}
#homepage .gp-stats-band .group-inner,
#homepage-content .gp-stats-band .group-inner {
  padding: 3rem 1.25rem 3.25rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #homepage .gp-stats-band .group-inner,
  #homepage-content .gp-stats-band .group-inner {
    padding: 3.75rem 1.5rem 4rem;
  }
}
#homepage .gp-stats-band .group-inner > .container,
#homepage-content .gp-stats-band .group-inner > .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: min(92.5rem, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
#homepage .gp-stats-band .group-inner > .container > .block-list,
#homepage-content .gp-stats-band .group-inner > .container > .block-list {
  width: 100% !important;
  max-width: 100% !important;
}
#homepage .gp-stats-band .gp-stats-kicker {
  margin: 0 auto 0.5rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--gp-primary-active) !important;
  opacity: 0.9;
}
#homepage .gp-stats-band h2.heading {
  margin: 0 auto 2rem !important;
  max-width: min(48rem, 100%);
  color: var(--gp-primary-active) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}
#homepage .gp-stats-band .gp-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem 1.25rem !important;
  width: 100% !important;
  align-items: stretch;
}
@media (max-width: 767px) {
  #homepage .gp-stats-band .gp-stats-grid {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
}
#homepage .gp-stats-band .gp-stats-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 1.25rem 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.72);
  border: none;
  border-radius: 0.75rem;
  box-sizing: border-box;
  box-shadow: 0 4px 18px rgba(45, 38, 64, 0.07);
}
#homepage .gp-stats-band .gp-stats-card-icon {
  margin: 0 auto 0.85rem !important;
}
#homepage .gp-stats-band .gp-stats-card-icon img {
  width: 3rem !important;
  height: auto !important;
  max-height: 3rem;
  object-fit: contain;
  opacity: 0.92;
}
#homepage .gp-stats-band .gp-stats-value {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--gp-font-sans);
  font-weight: 700 !important;
  font-size: clamp(2.25rem, 5.5vw, 3.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  color: var(--gp-primary-active) !important;
  font-variant-numeric: tabular-nums;
}
#homepage .gp-stats-band .gp-stats-label {
  margin: 0.65rem 0 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  color: var(--gp-text-body) !important;
  max-width: 14rem;
  margin-left: auto !important;
  margin-right: auto !important;
}
#homepage .gp-stats-band .gp-stats-tagline {
  margin: 2rem auto 0 !important;
  max-width: min(40rem, 100%) !important;
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
  color: var(--gp-text-muted) !important;
  font-style: italic;
}

/* 方案 E：专家 3 人一行（淡青蓝底；与 Testimonials 同 content 宽度） */
#homepage .section-experts.gp-experts-showcase,
#homepage-content .section-experts.gp-experts-showcase {
  background: var(--gp-surface-teal);
  border-top: 1px solid rgba(229, 226, 235, 0.85);
  border-bottom: 1px solid rgba(229, 226, 235, 0.85);
}
/* 覆盖主题 Vue 作用域 .group[data-v-08fb8e9b]{display:flex} 默认横向 */
#homepage .section-experts.gp-experts-showcase.group,
#homepage-content .section-experts.gp-experts-showcase.group {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
}
#homepage .gp-experts-showcase > .group-inner,
#homepage-content .gp-experts-showcase > .group-inner {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 3rem 1.25rem 2.5rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  #homepage .gp-experts-showcase > .group-inner,
  #homepage-content .gp-experts-showcase > .group-inner {
    padding: 3.75rem 1.5rem 3rem;
  }
}
#homepage .gp-experts-showcase > .group-inner > .container,
#homepage-content .gp-experts-showcase > .group-inner > .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: min(92.5rem, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
#homepage .gp-experts-showcase > .group-inner > .container > .block-list,
#homepage-content .gp-experts-showcase > .group-inner > .container > .block-list {
  width: 100% !important;
}
#homepage .gp-experts-showcase .gp-experts-kicker,
#homepage-content .gp-experts-showcase .gp-experts-kicker {
  margin: 0 auto 0.5rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--gp-primary-active) !important;
}
#homepage .gp-experts-showcase h2.heading,
#homepage-content .gp-experts-showcase h2.heading {
  margin: 0 auto 0.85rem !important;
  max-width: min(52rem, 100%);
  color: var(--gp-primary-active) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}
#homepage .gp-experts-showcase .gp-experts-lead,
#homepage-content .gp-experts-showcase .gp-experts-lead {
  margin: 0 auto 2rem !important;
  max-width: min(40rem, 100%) !important;
  color: var(--gp-text-muted) !important;
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
}
/* 三人单行：与下方 .section-testimonials .columns 同宽（占满 container） */
#homepage .gp-experts-showcase .gp-experts-grid,
#homepage-content .gp-experts-showcase .gp-experts-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 1.25rem clamp(0.75rem, 2.5vw, 2rem) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
#homepage .gp-experts-showcase .gp-experts-grid > article,
#homepage-content .gp-experts-showcase .gp-experts-grid > article {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
@media (max-width: 767px) {
  #homepage .gp-experts-showcase .gp-experts-grid,
  #homepage-content .gp-experts-showcase .gp-experts-grid {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 1.35rem !important;
    max-width: 100% !important;
  }
  #homepage .gp-experts-showcase .gp-experts-grid > article,
  #homepage-content .gp-experts-showcase .gp-experts-grid > article {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 22rem !important;
  }
}
#homepage .gp-experts-showcase article.gp-experts-card,
#homepage-content .gp-experts-showcase article.gp-experts-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 1.25rem 1rem 1.5rem;
  background: transparent !important;
  border: none !important;
  border-width: 0 !important;
  outline: none !important;
  border-radius: 0;
  box-sizing: border-box;
  box-shadow: none !important;
}
#homepage .gp-experts-showcase .gp-experts-photo,
#homepage-content .gp-experts-showcase .gp-experts-photo {
  margin: 0 auto 1rem !important;
  width: 100%;
  max-width: min(100%, 18rem);
  aspect-ratio: 1;
  border: none !important;
  border-radius: 50%;
  overflow: hidden;
  background: var(--gp-image-placeholder);
}
#homepage .gp-experts-showcase .gp-experts-photo img,
#homepage-content .gp-experts-showcase .gp-experts-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 20%;
  display: block !important;
}
#homepage .gp-experts-showcase h3.gp-experts-name.heading,
#homepage-content .gp-experts-showcase h3.gp-experts-name.heading {
  margin: 0 0 0.35rem !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--gp-primary-active) !important;
  letter-spacing: -0.02em !important;
}
#homepage .gp-experts-showcase .gp-experts-role,
#homepage-content .gp-experts-showcase .gp-experts-role {
  margin: 0 0 1rem !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  color: var(--gp-text-body) !important;
  flex-grow: 1;
}
#homepage .gp-experts-showcase .gp-experts-card-actions,
#homepage-content .gp-experts-showcase .gp-experts-card-actions {
  margin-top: auto !important;
  width: 100%;
  display: flex !important;
  justify-content: center !important;
}
#homepage .gp-experts-showcase .gp-experts-card-actions .button,
#homepage-content .gp-experts-showcase .gp-experts-card-actions .button {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* 首页 Blog/News 下方 — 居中 CTA（方案 A）
 * 区块挂在 #homepage 下（勿放在 #homepage-content 内）：后者为纵向 flex 时常 align-items:flex-start，会把整段 CTA 贴在横轴左侧 */
#homepage > .gp-home-cta-below-feed,
#homepage .gp-home-cta-below-feed,
#homepage-content .gp-home-cta-below-feed {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
  /* 整段 CTA 区：指定浅紫纯色（与内层半透明卡形成层次） */
  background: var(--gp-footer-purple-mid, #a186b9);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding: clamp(3rem, 6vw, 5rem) 0;
  text-align: center;
}
@media (max-width: 767px) {
  /* 覆盖 9d4faf9.css 中 section { padding: 0 1.75rem }；横边距由内层 .container 承担 */
  #homepage > .gp-home-cta-below-feed,
  #homepage .gp-home-cta-below-feed,
  #homepage-content .gp-home-cta-below-feed {
    padding: clamp(2.5rem, 8vw, 3.5rem) 0 !important;
  }
}
#homepage > .gp-home-cta-below-feed .container,
#homepage .gp-home-cta-below-feed .container,
#homepage-content .gp-home-cta-below-feed .container {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 92.5rem !important;
  width: 100% !important;
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  #homepage > .gp-home-cta-below-feed .container,
  #homepage .gp-home-cta-below-feed .container,
  #homepage-content .gp-home-cta-below-feed .container {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
  }
}
#homepage .gp-home-cta-below-feed .gp-home-cta-below-feed__inner,
#homepage-content .gp-home-cta-below-feed .gp-home-cta-below-feed__inner {
  max-width: 42rem;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
  box-sizing: border-box;
  box-shadow: 0 8px 32px rgba(131, 98, 169, 0.18);
}
#homepage .gp-home-cta-below-feed__title,
#homepage-content .gp-home-cta-below-feed__title {
  margin: 0 0 1rem;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--gp-footer-gold, #e6d199);
  font-family: var(--gp-font-sans);
  text-align: center !important;
}
#homepage .gp-home-cta-below-feed__lead,
#homepage-content .gp-home-cta-below-feed__lead {
  margin: 0 0 1.75rem;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: #ffffff;
  font-family: Caslon, "Times New Roman", "Microsoft YaHei", serif;
  text-align: center !important;
}
#homepage .gp-home-cta-below-feed__actions,
#homepage-content .gp-home-cta-below-feed__actions {
  display: flex;
  justify-content: center;
}
#homepage .gp-home-cta-below-feed__btn.button,
#homepage-content .gp-home-cta-below-feed__btn.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12rem;
  padding: 0.85rem 1.75rem;
  border-radius: 9999px;
  background: #ffffff !important;
  color: var(--gp-primary-active, #8362a9) !important;
  border: 2px solid rgba(255, 255, 255, 0.95) !important;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  width: auto !important;
  max-width: 100%;
}
#homepage .gp-home-cta-below-feed__btn.button:hover,
#homepage-content .gp-home-cta-below-feed__btn.button:hover {
  background: var(--gp-accent-cream, #f2e6c4) !important;
  color: var(--gp-primary-active, #8362a9) !important;
  border-color: var(--gp-accent-cream, #f2e6c4) !important;
}

/* ========== 首页手机端 / 小屏优化（≤767px）==========
 * 防横向滚动、Hero 可读性、单列信息流、触控高度、安全区 */
@media (max-width: 767px) {
  #homepage {
    overflow-x: clip;
    max-width: 100%;
  }
  /* 首屏 Hero：手机端保留标题+双按钮（不再整段 display:none，否则首屏无 CTA）；略缩小字号与位移，避免被 overflow 裁切 */
  #homepage .slider[data-v-bfb72eba] .hero-slider-overlay .hero-slider-copy,
  #homepage .slider .hero-slider-overlay .hero-slider-copy {
    display: block !important;
    transform: translateY(clamp(0.25rem, 5vh, 2.5rem)) !important;
  }
  #homepage .slider .hero-slider-overlay .hero-slider-heading {
    font-size: clamp(1.2rem, 4.5vw, 1.65rem) !important;
    margin-bottom: 1rem !important;
  }
  #homepage .slider .hero-slider-overlay .hero-slider-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 18.5rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 0.65rem !important;
  }
  #homepage .slider .hero-slider-overlay .hero-slider-buttons .button {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  #homepage .slider[data-v-bfb72eba] .dots,
  #homepage .slider .dots {
    display: none !important;
  }
  .hero-slider-overlay-inner[data-v-bfb72eba] {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  }
  #homepage .section-intro.home-intro-band .group-inner,
  #homepage-content .section-intro.home-intro-band .group-inner {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
  #homepage .section-intro.home-intro-band .home-intro-actions.hero-slider-buttons .button,
  #homepage-content .section-intro.home-intro-band .home-intro-actions.hero-slider-buttons .button {
    min-height: 46px;
  }
  #homepage .pathways-section .group-inner {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
  #homepage .pathways-columns.columns,
  #homepage .pathways-section .pathways-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
  }
  #homepage .pathways-columns .column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
  #homepage .why-prelude-section .group-inner,
  #homepage-content .why-prelude-section .group-inner {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
  #homepage .gp-stats-band .group-inner,
  #homepage-content .gp-stats-band .group-inner {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
  #homepage .gp-experts-showcase > .group-inner,
  #homepage-content .gp-experts-showcase > .group-inner {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }
  #homepage .feed .container {
    padding-left: max(1.75rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1.75rem, env(safe-area-inset-right, 0px)) !important;
  }
  #homepage .gp-home-cta-below-feed .container,
  #homepage-content .gp-home-cta-below-feed .container {
    padding-left: max(1.75rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1.75rem, env(safe-area-inset-right, 0px)) !important;
  }
  #homepage .gp-home-cta-below-feed__actions,
  #homepage-content .gp-home-cta-below-feed__actions {
    width: 100%;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }
  #homepage .gp-home-cta-below-feed__btn.button,
  #homepage-content .gp-home-cta-below-feed__btn.button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px;
  }
}

/*
 * 页脚手风琴：侧栏 #mobile-menu 曾用 z-index:10050，fixed 层盖住整视口，滚到底部时挡住 #nav-footer。
 * 恢复与 4bd7849 一致的叠层（菜单约 2），页脚略高但低于 .modal（6）。
 */
@media (max-width: 1023px) {
  #footer {
    position: relative;
    z-index: 5;
  }
}

/* 移动端抽屉菜单：与公告/顶栏对齐、不透底、箭头与文案紧凑 */
@media (max-width: 767px) {
  /*
   * 4bd7849：body.has-announcement #mobile-menu.sticky 误用 top:4.688rem，低于「公告+顶栏」总高，会露出 Hero 细缝。
   * 公告仍在时与 #mobile-menu 非 sticky 一致用 7.1875rem；公告收起 (hero-passed) 后顶栏贴顶，用 4.688rem。
   * 勿抬 z-index：否则滚到页脚时挡住底部折叠菜单。
   */
  body.has-announcement:not(.hero-passed) #mobile-menu[data-v-22a6412e],
  body.has-announcement:not(.hero-passed) #mobile-menu.sticky[data-v-22a6412e] {
    top: 7.1875rem !important;
    max-height: calc(100vh - 7.1875rem - env(safe-area-inset-bottom, 0px)) !important;
  }
  body.has-announcement.hero-passed #mobile-menu[data-v-22a6412e],
  body.has-announcement.hero-passed #mobile-menu.sticky[data-v-22a6412e] {
    top: 4.688rem !important;
    max-height: calc(100vh - 4.688rem - env(safe-area-inset-bottom, 0px)) !important;
  }
  #mobile-menu[data-v-22a6412e] {
    box-shadow: none !important;
    border: none !important;
    /* 勿用 transparent：否则菜单顶缘至 ul 之间会透出正文/Hero */
    background: var(--gp-tint-lavender) !important;
  }
  #mobile-menu nav[data-v-22a6412e] {
    min-height: 100%;
    background: var(--gp-tint-lavender);
  }
  #mobile-menu ul[data-v-22a6412e],
  #mobile-menu ul.mobile-submenu {
    padding-left: max(1.5rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1.5rem, env(safe-area-inset-right, 0px)) !important;
    padding-top: 0.75rem !important;
    padding-bottom: 1.5rem !important;
    box-shadow: none !important;
    border: none !important;
  }
  #mobile-menu .menu-item .mobile-menu-button[data-v-a908ced0],
  #mobile-menu .menu-item .mobile-menu-link[data-v-a908ced0] {
    justify-content: flex-start !important;
    gap: 0.5rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid rgba(85, 69, 168, 0.12) !important;
    line-height: 1.35 !important;
  }
  /* 文案宽度随文字，箭头 margin-left:auto 贴右，避免 flex:1 在字与箭头间留出大块空 */
  #mobile-menu .menu-item .mobile-menu-button[data-v-a908ced0] > span[data-v-a908ced0],
  #mobile-menu .menu-item .mobile-menu-link[data-v-a908ced0] > span[data-v-a908ced0] {
    flex: 0 1 auto !important;
    text-align: left !important;
    min-width: 0 !important;
    max-width: calc(100% - 1.75rem) !important;
  }
  #mobile-menu .menu-item .mobile-menu-button[data-v-a908ced0] .caret[data-v-a908ced0],
  #mobile-menu .menu-item .mobile-menu-link[data-v-a908ced0] .caret[data-v-a908ced0] {
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }
  #mobile-menu .cta-buttons[data-v-22a6412e] {
    margin-top: 1.75rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
    justify-content: stretch !important;
  }
  #mobile-menu .cta-buttons[data-v-22a6412e] .button {
    flex: 1 1 calc(50% - 0.375rem) !important;
    min-width: 0 !important;
    text-align: center !important;
  }
}

/* Partner logos: ensure raster/SVG from src is visible (was background-only) */
#homepage .trust-logos .trust-logo img.bg-img {
  object-fit: contain;
  width: 100%;
  max-width: 15rem;
  height: auto;
}

/* Why GP / Our Awards：.practice-trust-logos 内多枚头像在同一 .column > .block-list，
 * 小屏 .columns 变单列后易被拉成「整行一张图」。强制横向换行 + 头像最大约 180px。 */
.group.practice-trust-logos .columns > .column {
  width: 100% !important;
  max-width: 100% !important;
}

.group.practice-trust-logos .columns > .column > .block-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  align-content: center !important;
  gap: 1.25rem clamp(1rem, 4vw, 2.5rem) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.group.practice-trust-logos figure.media {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 11.25rem !important;
  margin: 0 !important;
}

.group.practice-trust-logos figure.media img {
  display: block !important;
  width: auto !important;
  max-width: 11.25rem !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .group.practice-trust-logos figure.media,
  .group.practice-trust-logos figure.media img {
    max-width: min(11.25rem, 42vw) !important;
  }
}

/* v-lazy-load 未执行时，避免大图列空白 */
#homepage .bg-container[data-v-63ff54d6] {
  position: relative;
  overflow: hidden;
}
#homepage .bg-container[data-v-63ff54d6] > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 顶栏绝对定位盖住主行时，透明区域会挡 logo：顶栏不接收指针，仅内部 a/button/input 可点 */
#header #topbar {
  pointer-events: none !important;
}
#header #topbar a,
#header #topbar button,
#header #topbar input {
  pointer-events: auto !important;
}

/* 覆盖 38db337：≤1023px 时隐藏 Find/Request 且 .topbar-right 仅 6rem 宽 */
@media (max-width: 1023px) {
  #header #topbar .topbar-right[data-v-d82155de],
  #sticky-topbar .topbar-right {
    width: auto !important;
    max-width: min(92.5rem, 96vw) !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0.45rem 0.65rem !important;
  }
  #header #topbar .topbar-right .form-find-a-location.button,
  #header #topbar .topbar-right .request,
  #sticky-topbar .topbar-right .form-find-a-location.button,
  #sticky-topbar .topbar-right .request {
    display: inline-flex !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
}

/* 页头 Logo 与主行（与 header.html 内联块同步；若将本文件置于主题链末尾可单独生效） */
#header > .container {
  gap: 0.75rem 1.25rem !important;
  align-items: center !important;
  align-content: center !important;
}
#header .logo {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  width: auto !important;
  height: auto !important;
  max-width: min(55vw, 26rem) !important;
  flex-shrink: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 0 !important;
  position: relative !important;
  z-index: 8 !important;
  pointer-events: auto !important;
}
#header .logo img {
  position: relative !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: 3.625rem !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
@media (min-width: 768px) {
  #header .logo img {
    max-height: 6rem !important;
  }
}
@media (min-width: 1200px) {
  #header .logo img {
    max-height: 6.75rem !important;
  }
}
#header.sticky .logo {
  width: auto !important;
  height: auto !important;
}
#header.sticky .logo img {
  position: relative !important;
  max-height: 3rem !important;
}
@media (min-width: 768px) {
  #header.sticky .logo img {
    max-height: 4.875rem !important;
  }
}
@media (min-width: 1200px) {
  #header.sticky .logo img {
    max-height: 5.5rem !important;
  }
}
#header .menu[data-v-fb167fda] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: center !important;
  align-self: center !important;
}
/* 平板：顶栏双按钮 + Logo/导航两行；padding 略小。
 * 桌面（≥1024）：须接近主题原生 #header>.container{padding-top:9rem}，否则 3.5rem 会压扁两行，
 * 内页导航「贴顶」、首页顶栏按钮也像消失（实为与主行重叠/裁切）。 */
@media (min-width: 768px) and (max-width: 1023px) {
  #header #topbar {
    top: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    z-index: 6 !important;
  }
  #header #topbar .container[data-v-d82155de] {
    position: relative !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
  }
  #header #topbar .topbar-right[data-v-d82155de] {
    position: absolute !important;
    top: 0.2rem !important;
    right: 0 !important;
    left: auto !important;
    width: auto !important;
    max-width: min(92.5rem, 94vw) !important;
    margin-left: auto !important;
    align-items: center !important;
    gap: 0.4rem 0.75rem !important;
    transform: none !important;
    z-index: 10 !important;
  }
  #header > .container[data-v-d82155de] {
    padding-top: 0.4rem !important;
    padding-bottom: 0.35rem !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }
  #header.sticky > .container[data-v-d82155de] {
    padding-top: 0.3rem !important;
    padding-bottom: 0.25rem !important;
  }
  #header .logo {
    margin-top: 0 !important;
  }
  #header {
    height: auto !important;
  }
}
@media (min-width: 1024px) {
  #header #topbar {
    top: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    z-index: 6 !important;
  }
  #header #topbar .container[data-v-d82155de] {
    position: relative !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
  }
  #header #topbar .topbar-right[data-v-d82155de] {
    position: absolute !important;
    top: 0.2rem !important;
    right: 0 !important;
    left: auto !important;
    width: auto !important;
    max-width: min(92.5rem, 96vw) !important;
    margin-left: auto !important;
    align-items: center !important;
    gap: 0.4rem 0.75rem !important;
    transform: none !important;
    z-index: 10 !important;
  }
  #header > .container[data-v-d82155de] {
    padding-top: 0.4rem !important;
    padding-bottom: 0.35rem !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
  }
  #header.sticky > .container[data-v-d82155de] {
    padding-top: 0.3rem !important;
    padding-bottom: 0.25rem !important;
  }
  #header .logo {
    margin-top: 0 !important;
  }
  #header {
    height: auto !important;
  }
}
@media (max-width: 767px) {
  #header #topbar {
    display: block !important;
    pointer-events: none !important;
  }
  #header #topbar a,
  #header #topbar button,
  #header #topbar input {
    pointer-events: auto !important;
  }
  #header #topbar .container[data-v-d82155de] {
    position: relative !important;
    min-height: auto !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
  }
  #header #topbar .topbar-right[data-v-d82155de] {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 0.5rem 0.75rem !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
  #header #topbar .pin-schedule,
  #header #topbar .pin-find-a-location {
    display: none !important;
  }
  #header #topbar .button.primary.form-find-a-location,
  #header #topbar .button.primary.request {
    font-size: 0.8125rem !important;
    padding: 0.5rem 0.75rem !important;
    line-height: 1.25 !important;
    white-space: nowrap;
  }
  #header > .container[data-v-d82155de] {
    padding-top: 0.25rem !important;
  }
}

/* 仅当 #hero 包在 #homepage 内时（如 Fertility Health Span）：9d4faf9 的 #homepage .container 会去掉 max-width，
 * Hero 全宽导致紫条标题贴齐视口；其它栏目/内页无 #homepage，仍继承 .container 的 92.5rem + 左右 padding，与顶栏红框一致 */
#homepage #hero .container {
  max-width: min(92.5rem, 94vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  #homepage #hero .container {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
  }
}

/* =============================================================================
 * 全局 #hero 顶栏避让：向上延伸与 fixed 顶栏重叠，消除间隙。
 * 不用 padding-top（会影响内部绝对定位子元素的位置），
 * 只用 margin-top 负值让 #hero 向上延伸被固定顶栏遮住。
 * #hero 自带 background:var(--gp-primary-active)，上延部分颜色正确。
 * --gp-header-offset 由 header.html 底部 JS 实时写入精确 px 值。
 * .landing-hero.eggdonor 有独立的 eggdonor-page.css 处理，此处排除。
 * ============================================================================= */
body.has-announcement #hero:not(.landing-hero) {
  --gp-header-offset: 13.25rem;
}
body:not(.has-announcement) #hero:not(.landing-hero) {
  --gp-header-offset: 9.25rem;
}
/* 内容区高度 = 固定 band；顶栏重叠仅靠 padding-top，勿在 min-height 再加 offset，
 * 否则 content-box 被拉高，左侧 grid 与右侧 absolute .hero 视觉高度易不一致。
 * --gp-hero-top-bleed：只加在 margin-top（更负），勿加在 padding-top / .hero top。
 * 否则会把正文整体下移，固定顶栏下缘与 Hero 内容之间露出一条紫色 padding 带。 */
#hero:not(.landing-hero) {
  --gp-hero-top-bleed: 2px;
  margin-top: calc(-1 * (var(--gp-header-offset) + var(--gp-hero-top-bleed))) !important;
  padding-top: var(--gp-header-offset) !important;
  /* 内容区高度：在主题默认 31.25rem 基础上增高 30%（≈40.625rem） */
  min-height: calc(31.25rem * 1.3) !important;
  box-sizing: content-box !important;
  height: calc(31.25rem * 1.3) !important;
}
@media (max-width: 1199px) {
  #hero:not(.landing-hero) {
    min-height: calc(18.75rem * 1.3) !important;
    height: calc(18.75rem * 1.3) !important;
  }
}
@media (max-width: 767px) {
  #hero:not(.landing-hero) {
    min-height: calc(14.5rem * 1.3) !important;
    height: calc(14.5rem * 1.3) !important;
  }
}
/* 左侧 grid 仅一列有内容时，行高须拉满 #hero 内容区，#hero .title{height:100%} 才能与右侧图同高 */
#hero:not(.landing-hero) > .container {
  min-height: 100% !important;
  align-content: stretch !important;
  grid-template-rows: minmax(0, 1fr) !important;
}
/* 右侧图片 .hero：top 与 #hero 的 padding-top 一致（不含 bleed，与左侧内容对齐） */
#hero:not(.landing-hero) > .hero {
  top: var(--gp-header-offset) !important;
  bottom: 0 !important;
  height: auto !important;
}

/* 分栏 Hero（左文案 + 右绝对定位 .hero）：抬升 .container 叠放，避免无 .eggdonor 类时标题被大图盖住
 * （共享栏目 /egg_donor 曾走 category.html 无专用类名）。.practice-hero / .landing-hero 仍走各自规则。 */
#hero:not(.landing-hero):not(.practice-hero) > .container {
  position: relative !important;
  z-index: 20 !important;
  isolation: isolate !important;
}
#hero:not(.landing-hero):not(.practice-hero) > .hero {
  z-index: 1 !important;
}

/* 共享栏目 category.html + 列表 list.html（如 /media/in_the_news、/media/news__articles）：
 * 与 #hero:not(.landing-hero) 同高（同 calc*1.3 + content-box），与其它内页 Hero 视觉一致。
 * 仍禁用 #hero 的 padding-top 与 .container 顶 padding，避免 bottom 对齐 #title 上方空白紫带、
 * 及 border-box+padding 与 .hero{top:offset} 双扣高度导致右侧图错位。右侧 .hero 用 top:0 铺满内容区。 */
#hero.gp-hero-category:not(.landing-hero):not(.practice-hero):not(.eggdonor) {
  padding-top: 0 !important;
  min-height: calc(31.25rem * 1.3) !important;
  height: calc(31.25rem * 1.3) !important;
  box-sizing: content-box !important;
}
@media (max-width: 1199px) {
  #hero.gp-hero-category:not(.landing-hero):not(.practice-hero):not(.eggdonor) {
    min-height: calc(18.75rem * 1.3) !important;
    height: calc(18.75rem * 1.3) !important;
  }
}
@media (max-width: 767px) {
  #hero.gp-hero-category:not(.landing-hero):not(.practice-hero):not(.eggdonor) {
    min-height: calc(14.5rem * 1.3) !important;
    height: calc(14.5rem * 1.3) !important;
  }
}
#hero.gp-hero-category:not(.landing-hero) > .container {
  padding-top: 0 !important;
  box-sizing: border-box !important;
}
#hero.gp-hero-category:not(.landing-hero) > .hero {
  top: 0 !important;
}
#hero.gp-hero-category:not(.landing-hero) .title #title {
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  line-height: 1.12;
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  #hero.gp-hero-category:not(.landing-hero) .title #title {
    margin-top: 0 !important;
    padding: 1.25rem 1.5rem 1.5rem !important;
  }
}

/* =============================================================================
 * 共享栏目 category.html —「Explore Topics」子栏目卡片（Fertility Centers 等）
 * 原灰底 + 纯灰字与品牌脱节；改为浅薰衣草渐变卡片、主色标题、可选封面图 16:10。
 * ============================================================================= */
.container._template #content-box .gp-share-category-heading {
  margin-top: 2.5rem;
}

.container._template #content-box .gp-share-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr));
  gap: 1.25rem;
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .container._template #content-box .gp-share-category-grid {
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fill, minmax(18.5rem, 1fr));
  }
}

.container._template #content-box .gp-share-category-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  text-decoration: none;
  background: linear-gradient(
    165deg,
    var(--gp-tint-lavender) 0%,
    var(--gp-tint-page) 52%,
    var(--gp-surface-white) 100%
  );
  border: 1px solid var(--gp-border-cool);
  box-shadow: 0 1px 3px rgba(85, 69, 168, 0.06);
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  box-sizing: border-box;
}

.container._template #content-box .gp-share-category-card:hover {
  border-color: rgba(131, 98, 169, 0.35);
  box-shadow: 0 8px 28px rgba(131, 98, 169, 0.12);
  transform: translateY(-2px);
}

.container._template #content-box .gp-share-category-card:focus-visible {
  outline: 2px solid var(--gp-primary);
  outline-offset: 3px;
}

.container._template #content-box .gp-share-category-card__media {
  aspect-ratio: 16 / 10;
  background: var(--gp-tint-page);
  overflow: hidden;
}

.container._template #content-box .gp-share-category-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.container._template #content-box .gp-share-category-card__body {
  padding: 1.25rem 1.35rem 1.4rem;
  flex: 1 1 auto;
}

.container._template #content-box .gp-share-category-card__title {
  margin: 0 0 0.5rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--gp-primary-active);
}

.container._template #content-box .gp-share-category-card__excerpt {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.62;
  color: var(--gp-text-muted);
}

/* =============================================================================
 * Fertility Centers 旗舰单页（main.gp-fc-center-page）— ui-ux-pro-max 审计落地
 * 原则：医疗信任感、层级清晰、正文对比充足、交互过渡 150–300ms、不位移布局；
 * 保留站内涵盖色（主紫 / 浅紫 tint），不改用脚本推荐的替代色板。
 * ============================================================================= */

/* Intro 双栏：节奏 + 右侧「GP-Fertility」轻量信息卡 */
main#page.gp-fc-center-page .columns.intro {
  align-items: stretch;
  column-gap: clamp(1.25rem, 3vw, 2.5rem);
  row-gap: 1.75rem;
  padding-bottom: 2rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid var(--gp-border-cool);
}

main#page.gp-fc-center-page .columns.intro > .column:last-child .block-list {
  box-sizing: border-box;
  margin: 0;
  padding: clamp(1.25rem, 2.5vw, 1.65rem) clamp(1.15rem, 2.5vw, 1.5rem);
  border-radius: 0.75rem;
  background: linear-gradient(
    165deg,
    var(--gp-tint-lavender) 0%,
    var(--gp-surface-white) 72%
  );
  border: 1px solid var(--gp-border-cool);
  box-shadow: 0 1px 3px rgba(85, 69, 168, 0.06);
}

main#page.gp-fc-center-page .columns.intro > .column:last-child .heading {
  margin-top: 0;
}

main#page.gp-fc-center-page .columns.intro > .column:first-child h1.heading {
  margin-top: 0;
}

/* 顶栏式 eyebrow：主紫 + 字重，满足浅色底上对比 */
.gp-fc-intro-eyebrow {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--gp-primary-active);
  margin-bottom: 0.45rem;
  line-height: 1.35;
}

@media (min-width: 768px) {
  .gp-fc-intro-eyebrow {
    font-size: 0.875rem;
  }
}

.gp-fc-intro-eyebrow--wide {
  letter-spacing: 0.065em;
}

.gp-fc-intro-eyebrow--compact {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}

main#page.gp-fc-center-page .gp-fc-intro-tagline {
  font-weight: 600;
  margin-top: 0.5rem;
  color: #2d2640;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

/* Checkerboard 配图：圆角 + 轻阴影；仅阴影过渡，避免 hover 位移 */
main#page.gp-fc-center-page .image-block .bg-container {
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow:
    0 4px 20px rgba(45, 38, 64, 0.07),
    0 0 0 1px rgba(229, 226, 235, 0.9);
  transition: box-shadow 0.2s ease;
}

main#page.gp-fc-center-page .image-block .bg-container:hover {
  box-shadow:
    0 10px 32px rgba(131, 98, 169, 0.12),
    0 0 0 1px rgba(131, 98, 169, 0.14);
}

main#page.gp-fc-center-page .image-block .bg-container img {
  border-radius: inherit;
}

/* 居中导语：行长限制，利于扫读 */
main#page.gp-fc-center-page .practice-container .heading.align-center + .paragraph.align-center {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

main#page.gp-fc-center-page .practice-container .paragraph.align-center {
  color: var(--gp-text-body);
}

main#page.gp-fc-center-page .practice-container h3.heading {
  margin-bottom: 0.35rem;
}

/* 底部预约表单与上文分隔 */
main#page.gp-fc-center-page .consultation-form {
  margin-top: 2rem;
  padding-top: 2.25rem;
  border-top: 1px solid var(--gp-border-cool);
}

@media (prefers-reduced-motion: reduce) {
  main#page.gp-fc-center-page .image-block .bg-container {
    transition: none;
  }
}

/* 主题 theme-chunk：main#page 的 margin-top（rem+px）与 JS --gp-header-offset 不一致时顶栏下会夹缝。
 * 由 #hero 单独做负 margin + padding-top 避让时，应去掉 main / #homepage 顶距。
 * eggdonor 等页在 section#hero 前可能有 <link>，故同时匹配「首子为 hero」与「link + hero」。 */
body main#page:has(> #hero:first-child),
body main#page:has(> link:first-child + #hero),
body #homepage:has(> #hero:first-child) {
  margin-top: 0 !important;
}

/* =============================================================================
 * 诊所/分诊单页 Hero（原 prelude 7792b10.css，此前未在 header 中加载）
 * 与 .practice-box 配套：须给 #hero 加 class="practice-hero"。
 * 栅格 + z-index：避免右侧绝对定位 .hero 盖住左侧标题（与 eggdonor 同理）。
 * ============================================================================= */
#hero.practice-hero > .container {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: 36.11% 63.89% !important;
  grid-column-gap: 2.5rem !important;
  padding-left: 5rem !important;
  box-sizing: border-box !important;
}

#hero.practice-hero > .hero {
  z-index: 1 !important;
  background-position: 85% !important;
  left: 36.11% !important;
  width: 63.89% !important;
}

@media (min-width: 1920px) {
  #hero.practice-hero > .hero {
    left: 40% !important;
    width: 60% !important;
  }
  #hero.practice-hero > .container {
    grid-template-columns: 40% 60% !important;
  }
}

@media (max-width: 1366px) {
  #hero.practice-hero > .hero {
    left: 40% !important;
    width: 60% !important;
  }
  #hero.practice-hero > .container {
    grid-template-columns: 40% 60% !important;
  }
}

@media (max-width: 767px) {
  #hero.practice-hero > .hero {
    background-position: 45% top !important;
    left: 0 !important;
    width: 100% !important;
  }
  #hero.practice-hero > .container {
    grid-template-columns: 100% !important;
    padding-left: 0 !important;
  }
}

#hero.practice-hero .title #title {
  font-size: 4rem !important;
  line-height: 4rem !important;
  max-width: 24.375rem !important;
  padding: 2.5rem 0 3.75rem !important;
}

@media (max-width: 1366px) {
  #hero.practice-hero .title #title {
    font-size: 3.5rem !important;
  }
}

@media (max-width: 1199px) {
  #hero.practice-hero .title #title {
    max-width: 20.625rem !important;
  }
}

@media (max-width: 1023px) {
  #hero.practice-hero .title #title {
    font-size: 2.25rem !important;
    line-height: 2.25rem !important;
    max-width: 15.625rem !important;
  }
}

/* =============================================================================
 * 迅睿网站表单（iframe / 独立页）：字段与按钮与 Prelude 主站 CTA 风格对齐（仅样式）
 * ============================================================================= */
.gp-xrm-form-iframe {
  width: 100%;
  max-width: 100%;
  border: 0;
  background: transparent;
}
.form-wrapper .gp-xrm-form-iframe {
  border-radius: 8px;
}

.gp-xrm-form.gp-xrm-form--prelude {
  font-family: var(--gp-font-sans);
}
.gp-xrm-form.gp-xrm-form--prelude .form-group {
  margin-bottom: 1.25rem !important;
  margin-left: 0 !important;
}
.gp-xrm-form.gp-xrm-form--prelude [class*="col-md-"],
.gp-xrm-form.gp-xrm-form--prelude [class*="col-sm-"],
.gp-xrm-form.gp-xrm-form--prelude [class*="col-xs-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.gp-xrm-form.gp-xrm-form--prelude .control-label {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 0 0.375rem !important;
  margin: 0 !important;
  text-align: left !important;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--gp-text-1);
  line-height: 1.4;
}
.gp-xrm-form.gp-xrm-form--prelude .form-control {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  min-height: 2.75rem;
  padding: 0.625rem 0.875rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--gp-text-body);
  background: var(--gp-surface-white);
  border: 1px solid #d5d9de;
  border-radius: 6px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.gp-xrm-form.gp-xrm-form--prelude .form-control:focus {
  border-color: var(--gp-primary);
  box-shadow: 0 0 0 3px rgba(123, 102, 215, 0.18);
  outline: none;
}
.gp-xrm-form.gp-xrm-form--prelude textarea.form-control {
  min-height: 9rem;
  resize: vertical;
}
.gp-xrm-form.gp-xrm-form--prelude .gp-form-actions {
  margin-top: 1.5rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid var(--gp-border-cool) !important;
  text-align: center;
}
.gp-xrm-form.gp-xrm-form--prelude .gp-form-actions .button,
.gp-xrm-form.gp-xrm-form--prelude .gp-form-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12.5rem;
  min-height: 2.75rem;
  padding: 0.625rem 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 6px;
  border: none !important;
  cursor: pointer;
  background: var(--gp-primary) !important;
  color: var(--gp-on-inverse) !important;
  box-shadow: 0 2px 10px rgba(123, 102, 215, 0.28);
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.gp-xrm-form.gp-xrm-form--prelude .gp-form-actions .button:hover,
.gp-xrm-form.gp-xrm-form--prelude .gp-form-submit-btn:hover {
  background: var(--gp-primary-hover) !important;
  color: var(--gp-on-inverse) !important;
}
.gp-xrm-form.gp-xrm-form--prelude .gp-form-actions .button:active,
.gp-xrm-form.gp-xrm-form--prelude .gp-form-submit-btn:active {
  background: var(--gp-primary-active) !important;
}
.gp-xrm-form.gp-xrm-form--prelude .gp-code-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
body.gp-form-embed-body .gp-form-card {
  border: none;
  box-shadow: none;
  padding: 0 !important;
  background: transparent;
}

/* Select / Radio / Checkbox（Prelude 式联系表单扩展字段） */
.gp-xrm-form.gp-xrm-form--prelude select.form-control {
  appearance: auto;
  background-image: none;
  cursor: pointer;
}
.gp-xrm-form.gp-xrm-form--prelude .mt-radio-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}
.gp-xrm-form.gp-xrm-form--prelude .mt-radio-inline .mt-radio {
  margin: 0;
  padding: 0.75rem 1rem;
  border: 1px solid #d5d9de;
  border-radius: 6px;
  background: var(--gp-surface-white);
  min-width: 5rem;
}
.gp-xrm-form.gp-xrm-form--prelude .mt-radio-inline .mt-radio:hover {
  border-color: var(--gp-primary);
}
.gp-xrm-form.gp-xrm-form--prelude .mt-checkbox-inline,
.gp-xrm-form.gp-xrm-form--prelude .mt-checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.gp-xrm-form.gp-xrm-form--prelude .mt-checkbox-inline .mt-checkbox,
.gp-xrm-form.gp-xrm-form--prelude .mt-checkbox-list .mt-checkbox {
  margin: 0;
  padding: 0.875rem 1rem;
  border: 1px solid #d5d9de;
  border-radius: 6px;
  background: var(--gp-surface-white);
}

/* TPN Contact：SMS 说明在勾选框上方；空标题列隐藏 */
.gp-xrm-form.gp-xrm-form--prelude #dr_row_agree_terms .control-label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.gp-xrm-form.gp-xrm-form--prelude #dr_row_agree_terms .col-md-10 {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  display: flex;
  flex-direction: column;
}
.gp-xrm-form.gp-xrm-form--prelude #dr_agree_terms_tips {
  order: -1;
  margin-bottom: 0.75rem;
}
.gp-xrm-form.gp-xrm-form--prelude .gp-tpn-sms-copy {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  font-weight: 400;
  color: var(--gp-text-body, #4c4c4c);
}
.gp-xrm-form.gp-xrm-form--prelude .gp-tpn-sms-copy a {
  color: var(--gp-primary, #214d81);
  text-decoration: underline;
}

/* 邮件 Yes/No：竖排块状（与 TPN 一致） */
.gp-xrm-form.gp-xrm-form--prelude #dr_row_email_news_optin .mt-radio-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
.gp-xrm-form.gp-xrm-form--prelude #dr_row_email_news_optin .mt-radio-list .mt-radio {
  margin: 0;
  padding: 0.875rem 1rem;
  border: 1px solid #d5d9de;
  border-radius: 6px;
  background: var(--gp-surface-white);
  width: 100%;
  box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
 * TPN / 123formbuilder 参考图（必须用完整选择器链，否则被上方 .gp-xrm-form--prelude 紫色样式覆盖）
 * --------------------------------------------------------------------------- */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive {
  --gp-tpn-line: var(--gp-border-neutral, #e5e7eb);
  --gp-tpn-line-focus: var(--gp-primary);
  --gp-tpn-submit: var(--gp-primary);
  --gp-tpn-submit-hover: var(--gp-primary-hover);
  --gp-tpn-submit-active: var(--gp-primary-active);
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  color: #1f2937;
  -webkit-font-smoothing: antialiased;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .form-group,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .form-group {
  margin-bottom: 1.125rem !important;
}

/* 首行 First/Last：Grid 并排（比 float 更稳）；右侧标签隐藏后与左侧「Name」标签区对齐 */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .fc-form-body {
  display: block !important;
}
@media (min-width: 640px) {
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .fc-form-body {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 0.75rem;
    row-gap: 1.125rem;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
  }
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .fc-form-body > .form-group {
    grid-column: 1 / -1;
    width: auto !important;
    max-width: none !important;
    margin-bottom: 0 !important;
    float: none !important;
  }
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .fc-form-body > #dr_row_first_name {
    grid-column: 1;
  }
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .fc-form-body > #dr_row_last_name {
    grid-column: 2;
  }
  /* 左侧有「Name」标签行，右侧 Last 标签视觉隐藏，输入区下移与 First 的输入对齐 */
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_last_name > [class*="col-"] {
    margin-top: calc(1.35rem + 0.35rem);
  }
}
@media (max-width: 639px) {
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .fc-form-body > .form-group {
    margin-bottom: 1.125rem !important;
  }
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_last_name > [class*="col-"] {
    margin-top: 0 !important;
  }
}

/* 单一「Name」标题（避免首行高度为 0 看不见） */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_first_name .control-label {
  position: relative !important;
  display: block !important;
  min-height: 1.35rem !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_first_name .control-label::before {
  content: "Name";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--gp-text-1, #111827);
  letter-spacing: 0.01em;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_last_name .control-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 普通标签：参考图略浅、非标题过粗 */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .control-label,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .control-label {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #111827 !important;
  padding-bottom: 0.35rem !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .form-control,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form select.form-control,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .form-control,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive select.form-control {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid var(--gp-tpn-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  color: #374151 !important;
  background-color: #fff !important;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .form-control:focus,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form select.form-control:focus,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .form-control:focus,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive select.form-control:focus {
  border-color: var(--gp-tpn-line-focus) !important;
  box-shadow: 0 0 0 1px var(--gp-tpn-line-focus) !important;
  outline: none !important;
}

/* 下拉：右侧箭头、与输入框同高 */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form select.form-control,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive select.form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem !important;
  cursor: pointer;
}

/* 提交：覆盖紫色按钮（必须同优先级链 + !important） */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-actions,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-actions {
  text-align: left !important;
  border-top: 1px solid #eceff2 !important;
  margin-top: 1.75rem !important;
  padding-top: 1.5rem !important;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-submit-btn,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-actions .button,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-submit-btn,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-actions .button {
  min-width: 10rem !important;
  max-width: 100%;
  border-radius: 4px !important;
  background: var(--gp-tpn-submit) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  padding: 0.55rem 1.35rem !important;
  min-height: 2.65rem;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-submit-btn:hover,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-actions .button:hover,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-submit-btn:hover,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-actions .button:hover {
  background: var(--gp-tpn-submit-hover) !important;
  color: #fff !important;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-submit-btn:active,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-actions .button:active,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-submit-btn:active,
.gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-actions .button:active {
  background: var(--gp-tpn-submit-active) !important;
}

/* SMS：说明在框外；仅「I agree」在浅边框块内（参考 123formbuilder） */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .col-md-10,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .col-sm-9,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .col-sm-12 {
  display: flex !important;
  flex-direction: column !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_agree_terms_tips {
  order: -1;
  margin-bottom: 0.65rem;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .gp-tpn-sms-copy {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #4b5563;
  margin: 0;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .gp-tpn-sms-copy a {
  color: #1d4ed8 !important;
  text-decoration: underline;
  font-weight: 400;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .mt-checkbox-list {
  border: 1px solid var(--gp-tpn-line);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  background: #fff;
  margin: 0;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_agree_terms .mt-checkbox-list .mt-checkbox {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/* 邮件：标题在框外；Yes/No 整块边框 */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_email_news_optin .control-label {
  font-size: 0.875rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-bottom: 0.75rem !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_email_news_optin .control-label .gp-tpn-brand {
  font-weight: 700;
  color: #1d4ed8;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_email_news_optin .mt-radio-list {
  border: 1px solid var(--gp-tpn-line);
  border-radius: 4px;
  padding: 0.35rem 0;
  background: #fff;
  gap: 0 !important;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_email_news_optin .mt-radio-list .mt-radio {
  border: none !important;
  border-radius: 0 !important;
  border-bottom: 1px solid #eef1f4 !important;
  margin: 0 !important;
  padding: 0.8rem 1rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form #dr_row_email_news_optin .mt-radio-list .mt-radio:last-child {
  border-bottom: none !important;
}

/* iframe 内嵌：去掉卡片投影 */
body.gp-form-embed-body .gp-form-card--embed {
  box-shadow: none !important;
  border: none !important;
}

/* =============================================================================
 * 表单页自适应：流体容器、刘海安全区、小屏全宽按钮、避免横向滚动
 * ============================================================================= */
body.gp-form-embed-body {
  padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
  padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
}

.gp-form-responsive .gp-form-container {
  width: 100%;
  max-width: min(40rem, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(0.75rem, 4vw, 1.25rem);
  padding-right: clamp(0.75rem, 4vw, 1.25rem);
  box-sizing: border-box;
}

.gp-form-responsive.gp-form-page--embed .gp-form-container {
  max-width: min(36rem, 100%);
}

.gp-form-responsive:not(.gp-form-page--embed) .gp-form-container {
  max-width: min(45rem, 100%);
}

@media (max-width: 639px) {
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .form-control,
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form select.form-control,
  .gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .form-control,
  .gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive select.form-control {
    font-size: 16px !important;
  }
}

@media (max-width: 480px) {
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-submit-btn,
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-actions .button,
  .gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-submit-btn,
  .gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-actions .button {
    width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form .gp-form-actions,
  .gp-xrm-form.gp-xrm-form--prelude.gp-form-responsive .gp-form-actions {
    padding-left: 0;
    padding-right: 0;
  }
}

/* ------------------------------------------------------------------ */
/* gp_egg_donor：对齐参考图（说明常规字重、#ccc 盒、约 16px 间距、三列列优先、APPLY NOW、内容区 max 1440px） */
/* 线上以 public/static/skin 本文件为准；template/gdtheme 中同名文件请同步 */
/* ------------------------------------------------------------------ */

body.gp-egg-donor-embed-body {
  background: #f8f8fb;
}

/* 嵌入页与独立页：地点表单内容区最大 1440px，宽度随视口自适应并水平居中 */
.gp-form-responsive.gp-egg-donor-layout .gp-form-container {
  max-width: min(1440px, 100%);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 2.5vw, 2rem);
  padding-right: clamp(1rem, 2.5vw, 2rem);
  box-sizing: border-box;
}

.gp-egg-donor-page-title {
  margin: 0 0 1.25rem;
  padding: 0;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: clamp(1.5rem, 4.2vw, 1.95rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  color: var(--gp-primary, #1a365d);
}

/* 参考图一：说明为常规字重；仅 * 加粗 */
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .control-label {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  text-align: left !important;
  padding-top: 0 !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.875rem !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #1a1a1a !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .control-label .required {
  font-weight: 700 !important;
  color: #1a1a1a !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

/* 三列等宽 + 列优先（DOM 顺序须与 gp_gp_egg_donor_field_options_column_order.sql 一致） */
.form-horizontal.gp-egg-donor-form #dr_row_preferred_location .mt-radio-list,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .mt-radio-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(5, auto) !important;
  grid-auto-flow: column !important;
  gap: 16px !important;
  align-content: start;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .mt-radio-list .mt-radio {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 3rem;
  padding: 0.75rem 0.875rem !important;
  border: 1px solid #cccccc !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  font-size: 0.9375rem !important;
  line-height: 1.35 !important;
  color: #1f2937 !important;
  transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .mt-radio-list .mt-radio:hover {
  border-color: #b3b3b3 !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .mt-radio:has(input:checked) {
  border-color: var(--gp-primary) !important;
  box-shadow: 0 0 0 1px var(--gp-primary);
  background: #f3f4f6 !important;
}

@supports (background: color-mix(in srgb, red 10%, white)) {
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .mt-radio:has(input:checked) {
    background: color-mix(in srgb, var(--gp-primary) 10%, #ffffff) !important;
  }
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form .gp-egg-donor-divider {
  display: block;
  width: 100%;
  height: 0;
  margin: 1.5rem 0 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #e5e7eb;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form .gp-egg-donor-actions {
  align-items: flex-start;
  flex-direction: column;
  gap: 0.75rem;
  text-align: left !important;
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 1.25rem !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form.gp-form-responsive .gp-egg-donor-actions .gp-form-submit-btn,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form.gp-form-responsive .gp-egg-donor-actions .button {
  background: var(--gp-tpn-submit, var(--gp-primary)) !important;
  border-radius: 5px !important;
  color: #fff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
  font-size: 0.8125rem !important;
  padding: 0.7rem 1.5rem !important;
  min-width: 10.5rem !important;
  max-width: 100%;
  min-height: 2.75rem;
  box-shadow: none !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form.gp-form-responsive .gp-egg-donor-actions .gp-form-submit-btn:hover,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form.gp-form-responsive .gp-egg-donor-actions .button:hover {
  background: var(--gp-tpn-submit-hover, var(--gp-primary-hover)) !important;
  color: #fff !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form.gp-form-responsive .gp-egg-donor-actions .gp-form-submit-btn:active,
.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form.gp-form-responsive .gp-egg-donor-actions .button:active {
  background: var(--gp-tpn-submit-active, var(--gp-primary-active)) !important;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form .gp-egg-donor-find-wrap {
  margin: 0;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form .gp-egg-donor-find-link {
  display: inline-block;
  padding: 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--gp-primary) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form .gp-egg-donor-find-link:hover {
  color: var(--gp-primary-hover, var(--gp-primary)) !important;
}

@media (max-width: 639px) {
  .gp-xrm-form.gp-xrm-form--prelude.gp-tpn-form.gp-egg-donor-form #dr_row_preferred_location .mt-radio-list {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
  }
}

/* iframe 嵌入表单 UTM 隐藏字段（gp_consult / gp_subscribe / gp_guide / gp_contact 等，与 embed 内联样式互补） */
.gp-xrm-form input.gp-utm-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* 学习页「Take the Next Step」仅保留一个 CTA 时居中（如 lgbtq-fertility） */
.container._template #content-box .block-list .gp-next-step-cta-single {
  display: flex !important;
  justify-content: center !important;
  width: 100%;
  margin-top: 0.35rem;
  margin-bottom: 0.25rem;
}
.container._template #content-box .block-list .gp-next-step-cta-single .button {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --------------------------------------------------------------------------
 * .columns.video：恢复 theme 整块品牌紫底；仅修复字色。
 * 主题把白字写在 `> div:last-child:not(.image)`，但 `image-block` 仍匹配 :not(.image)，
 * 白字常套错列；首列文案仍吃 `.practice-box .columns>div h2 { color: 主紫 }` → 不可读。
 * 凡 .text-block 内标题/正文/列表与列表圆点一律浅色，与紫底对比充足。
 * （checkerboard 浅紫底、light-blue 等不再改香槟金，交还 theme-chunk 原配色。）
 * -------------------------------------------------------------------------- */
.practice-box .columns.video .text-block .heading,
.practice-box .columns.video .text-block h2.heading,
.container._template #content-box .columns.video .text-block .heading,
.container._template #content-box .columns.video .text-block h2.heading,
html body #page #content-box .columns.video .column.text-block .heading,
html body #page #content-box .columns.video .column.text-block h2.heading {
  color: #ffffff !important;
}

.practice-box .columns.video .text-block .paragraph,
.practice-box .columns.video .text-block p.paragraph,
.practice-box .columns.video .text-block .ul-list li,
.container._template #content-box .columns.video .text-block .paragraph,
.container._template #content-box .columns.video .text-block p.paragraph,
.container._template #content-box .columns.video .text-block .ul-list li,
html body #page #content-box .columns.video .column.text-block .paragraph,
html body #page #content-box .columns.video .column.text-block .ul-list li {
  color: rgba(255, 255, 255, 0.93) !important;
}

.container._template #content-box .columns.video .text-block ul.ul-list li::before,
.practice-box .columns.video .text-block ul.ul-list li::before {
  color: rgba(255, 255, 255, 0.88) !important;
}

.container._template #content-box .columns.video .text-block strong,
.practice-box .columns.video .text-block strong {
  color: #ffffff !important;
}

.container._template #content-box .columns.video .text-block a:not(.button),
.practice-box .columns.video .text-block a:not(.button) {
  color: rgba(255, 255, 255, 0.95) !important;
}
