/* ============================================================================
 * GEO-Matrix · 获客落地页公共样式
 * ----------------------------------------------------------------------------
 * 权威来源：docs/04-UI视觉设计阶段/output/产出-design-tokens_v1.1.scss
 *          design/ui-design/_shared/gm-tokens.v1.1.css（与后台逐值一致）
 * 说明：落地页是原生 HTML（无构建），不能直接 @use SCSS，故在此**逐值转录**用到的 token；
 *      与后台 `frontend/admin-system/src/styles/tokens.scss` 保持同值，改值必须两处同步。
 * 体积：本文件 ≈23KB（gzip 前）；单页合计（HTML + CSS + JS）≈55–65KB，远低于 <200KB 预算（架构册 §6.4）。
 * ==========================================================================*/

:root {
  /* L1 同源（与 GEOFlow V3 一致） */
  --gf-blue-50: #eff6ff;
  --gf-blue-100: #dbeafe;
  --gf-blue-200: #bfdbfe;
  --gf-blue-500: #3b82f6;
  --gf-blue-600: #2563eb;
  --gf-blue-700: #1d4ed8;
  --gf-gray-50: #f9fafb;
  --gf-gray-100: #f3f4f6;
  --gf-gray-200: #e5e7eb;
  --gf-gray-300: #d1d5db;
  --gf-gray-400: #9ca3af;
  --gf-gray-500: #6b7280;
  --gf-gray-600: #4b5563;
  --gf-gray-700: #374151;
  --gf-gray-800: #1f2937;
  --gf-gray-900: #111827;
  --gf-emerald-50: #ecfdf5;
  --gf-emerald-600: #059669;
  --gf-amber-50: #fffbeb;
  --gf-amber-600: #d97706;
  --gf-red-50: #fef2f2;
  --gf-red-600: #dc2626;
  --gf-white: #ffffff;

  --gf-font: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', 'PingFang SC', 'Noto Sans SC', sans-serif;
  --gf-font-size-note: 11px;
  --gf-font-size-caption: 12px;
  --gf-font-size-body: 14px;
  --gf-font-size-md: 16px;
  --gf-font-size-lg: 18px;
  --gf-font-size-xl: 20px;
  --gf-font-size-2xl: 22px;
  --gf-font-size-3xl: 26px;
  --gf-font-size-title: 30px;
  --gf-font-size-hero: 40px;
  --gf-radius-nav: 6px;
  --gf-radius-control: 8px;
  --gf-radius-pill: 999px;
  --gf-space-1: 4px;
  --gf-space-2: 8px;
  --gf-space-3: 12px;
  --gf-space-4: 16px;
  --gf-space-5: 20px;
  --gf-space-6: 24px;
  --gf-space-8: 32px;
  --gf-space-12: 48px;
  --gf-motion-fast: 120ms;
  --gf-shadow-menu: 0 10px 24px rgba(15, 23, 42, 0.12);

  /* L2 差异化（20%，共 9 个原语） */
  --gm-brand-navy: #0f1e3d;
  --gm-brand-blue: #2a6fe0;
  --gm-brand-teal: #14b8a6;
  --gm-brand-amber: #f59e0b;
  --gm-font-display: 'Source Han Serif SC', 'Noto Serif SC', 'Songti SC', serif;
  --gm-font-numeric: Inter, 'SF Pro Text', ui-sans-serif, system-ui, sans-serif;
  --gm-motion-standard: 140ms cubic-bezier(0.2, 0.7, 0.3, 1);
  --gm-gap-dashboard: 24px;

  /* L3 派生 */
  --gmd-bg-app: var(--gf-gray-50);
  --gmd-bg-surface: var(--gf-white);
  --gmd-bg-subtle: var(--gf-gray-100);
  --gmd-bg-brand: var(--gm-brand-navy);
  --gmd-border-default: var(--gf-gray-200);
  --gmd-border-strong: var(--gf-gray-300);
  --gmd-text-primary: var(--gf-gray-900);
  --gmd-text-secondary: var(--gf-gray-600);
  --gmd-text-muted: var(--gf-gray-400);
  --gmd-text-inverse: var(--gf-white);
  --gmd-text-link: var(--gm-brand-blue);
  --gmd-action-primary: var(--gm-brand-blue);
  --gmd-action-primary-hover: var(--gf-blue-700);
  --gmd-state-success: var(--gm-brand-teal);
  --gmd-state-warning: var(--gm-brand-amber);
  --gmd-state-danger: var(--gf-red-600);
  --gmd-shadow-card: 0 1px 3px rgba(15, 23, 42, 0.1);
  --gmd-radius-card: var(--gf-radius-control);
  --gmd-radius-control: var(--gf-radius-control);
  --gmd-radius-pill: var(--gf-radius-pill);
  --gmd-font-ui: var(--gf-font);
  --gmd-font-numeric: var(--gm-font-numeric);
  --gmd-chart-1: var(--gm-brand-blue);
  --gmd-chart-2: var(--gm-brand-teal);
  --gmd-chart-3: #7c5cff;
  --gmd-chart-4: var(--gm-brand-amber);
  --gmd-chart-5: var(--gf-blue-500);
  --gmd-chart-6: #ef4444;
  --gm-leading-body: 1.55;
  --gm-leading-caption: 1.5;
  --gm-leading-heading: 1.35;
}

/* ── 重置 ─────────────────────────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--gmd-bg-surface);
  color: var(--gmd-text-primary);
  font-family: var(--gmd-font-ui);
  font-size: var(--gf-font-size-body);
  line-height: var(--gm-leading-body);
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
p,
ul,
ol,
figure {
  margin: 0;
}
ul,
ol {
  padding: 0;
}
a {
  color: var(--gmd-text-link);
  text-decoration: none;
}
a:hover {
  color: var(--gmd-action-primary-hover);
}
img,
svg {
  display: block;
  max-width: 100%;
}
button {
  font-family: inherit;
}
:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.24);
  outline-offset: 2px;
}

/* ── 布局 ─────────────────────────────────────────────────────────────── */
.lp-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--gf-space-5);
}
.lp-section {
  padding: var(--gf-space-12) 0;
}
.lp-section--subtle {
  background: var(--gmd-bg-subtle);
}
.lp-section__title {
  font-size: var(--gf-font-size-3xl);
  font-weight: 700;
  line-height: var(--gm-leading-heading);
  letter-spacing: 0.01em;
}
.lp-section__sub {
  margin-top: var(--gf-space-2);
  font-size: var(--gf-font-size-body);
  color: var(--gmd-text-secondary);
}
.lp-eyebrow {
  font-family: var(--gmd-font-numeric);
  font-size: var(--gf-font-size-note);
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gmd-text-muted);
}

/* ── 吸顶导航（64px；移动端保留 Logo + CTA，不做汉堡抽屉）──────────────── */
.lp-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 64px;
  display: flex;
  align-items: center;
  gap: var(--gf-space-6);
  padding: 0 var(--gf-space-5);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(140%) blur(6px);
  border-bottom: 1px solid var(--gmd-border-default);
}
.lp-brand {
  display: flex;
  align-items: center;
  gap: var(--gf-space-2);
  font-weight: 650;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.lp-brand__mark {
  width: 28px;
  height: 28px;
  border-radius: var(--gf-radius-nav);
  background: var(--gm-brand-navy);
  color: var(--gmd-text-inverse);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--gmd-font-numeric);
  font-size: var(--gf-font-size-caption);
  font-weight: 700;
}
.lp-nav__links {
  display: flex;
  align-items: center;
  gap: var(--gf-space-5);
  font-size: var(--gf-font-size-caption);
  color: var(--gmd-text-secondary);
}
.lp-nav__links a {
  color: inherit;
}
.lp-nav__links a:hover {
  color: var(--gmd-text-primary);
}
.lp-nav__spacer {
  margin-left: auto;
}

/* ── 按钮（与后台同规格：40px / 8px / 600）────────────────────────────── */
.lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--gf-space-2);
  height: 40px;
  padding: 0 18px;
  border-radius: var(--gmd-radius-control);
  border: 1px solid transparent;
  font-size: var(--gf-font-size-body);
  font-weight: 600;
  cursor: pointer;
  transition: background-color var(--gm-motion-standard), border-color var(--gm-motion-standard),
    color var(--gm-motion-standard), transform var(--gm-motion-standard);
}
.lp-btn--primary {
  background: var(--gmd-action-primary);
  color: var(--gmd-text-inverse);
}
.lp-btn--primary:hover {
  background: var(--gmd-action-primary-hover);
  color: var(--gmd-text-inverse);
}
.lp-btn--ghost {
  background: var(--gmd-bg-surface);
  border-color: var(--gmd-border-strong);
  color: var(--gmd-text-secondary);
}
.lp-btn--ghost:hover {
  background: var(--gmd-bg-subtle);
  border-color: var(--gf-gray-400);
  color: var(--gmd-text-primary);
}
.lp-btn--block {
  width: 100%;
}
.lp-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ── Hero（首屏即表单：左文案 / 右表单 260px）──────────────────────────── */
.lp-hero {
  background: var(--gmd-bg-subtle);
  padding: var(--gf-space-12) 0;
}
.lp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: var(--gf-space-8);
  align-items: start;
}
.lp-hero__title {
  font-family: var(--gm-font-display);
  font-size: var(--gf-font-size-hero);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
.lp-hero__title em {
  font-style: normal;
  color: var(--gm-brand-blue);
}
.lp-hero__sub {
  margin-top: var(--gf-space-4);
  max-width: 36em;
  font-size: var(--gf-font-size-md);
  line-height: 1.65;
  color: var(--gmd-text-secondary);
}
.lp-points {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gf-space-4) var(--gf-space-5);
  margin-top: var(--gf-space-5);
  font-size: var(--gf-font-size-caption);
  color: var(--gmd-text-secondary);
}
.lp-point {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lp-point svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
.lp-hero__actions {
  display: flex;
  gap: var(--gf-space-3);
  flex-wrap: wrap;
  margin-top: var(--gf-space-6);
}
.lp-hero__note {
  margin-top: var(--gf-space-4);
  font-size: var(--gf-font-size-note);
  color: var(--gmd-text-secondary);
  line-height: var(--gm-leading-caption);
}

/* ── 表单卡 ───────────────────────────────────────────────────────────── */
.lp-form {
  background: var(--gmd-bg-surface);
  border: 1px solid var(--gmd-border-default);
  border-radius: var(--gmd-radius-control);
  box-shadow: var(--gmd-shadow-card);
  padding: var(--gf-space-5);
}
.lp-form__title {
  font-size: var(--gf-font-size-md);
  font-weight: 650;
}
.lp-form__hint {
  margin-top: 6px;
  font-size: var(--gf-font-size-caption);
  color: var(--gmd-text-secondary);
  line-height: var(--gm-leading-caption);
}
.lp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: var(--gf-space-3);
}
.lp-field__label {
  font-size: var(--gf-font-size-note);
  /* 表单标签是信息而非装饰：用次级色保证 ≥4.5:1 对比度（V1 走查口径） */
  color: var(--gmd-text-secondary);
}
.lp-field__label .req {
  color: var(--gf-red-600);
  margin-left: 2px;
}
.lp-input,
.lp-select {
  height: 40px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid var(--gmd-border-strong);
  border-radius: 7px;
  background: var(--gmd-bg-surface);
  font-family: inherit;
  font-size: var(--gf-font-size-body);
  color: var(--gmd-text-primary);
  transition: border-color var(--gf-motion-fast), box-shadow var(--gf-motion-fast);
}
.lp-input::placeholder {
  color: var(--gmd-text-muted);
}
.lp-input:hover,
.lp-select:hover {
  border-color: var(--gf-gray-400);
}
.lp-input:focus,
.lp-select:focus {
  outline: none;
  border-color: var(--gf-blue-500);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.lp-field.is-error .lp-input,
.lp-field.is-error .lp-select {
  border-color: var(--gf-red-600);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}
.lp-field__error {
  font-size: var(--gf-font-size-note);
  color: var(--gf-red-600);
  min-height: 0;
}
.lp-form__foot {
  margin-top: var(--gf-space-3);
  /* 2026-10-27 审计：脚注用小字号 + `--gmd-text-muted`(#9ca3af) 在白底上约 2.5:1，
     低于 WCAG AA 的 4.5:1。改用 secondary(#4b5563) 并抬到 12px。 */
  font-size: 12px;
  color: var(--gmd-text-secondary);
  line-height: var(--gm-leading-caption);
}
/* 隐私政策显式同意（2026-10-27 审计）：勾选框与文案同行，点击整行可切换 */
.lp-field--consent {
  margin-top: var(--gf-space-4);
}
/* 同意勾选框的错误态（2026-10-28 审计）：上面的 `.is-error` 规则只覆盖 `.lp-input` /
   `.lp-select`，勾选框标红后页面**看不出任何变化**（只有读屏的 aria-invalid 变了）。
   2026-10-29 客户反馈：给勾选框套 `outline` 红框「像被框起来，不好看」——
   改为**只把文案标红**（已含 `<a>` 以外的整句）+ 下方 `.lp-field__error` 的红色提示，
   视觉提醒够了，也不破坏勾选框原生的方框形状。 */
.lp-field.is-error .lp-field__consent {
  color: var(--gf-red-600);
}
.lp-field__consent {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--gmd-text-secondary);
  cursor: pointer;
}
.lp-field__consent input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  accent-color: var(--gm-brand-blue, #1d4ed8);
}
.lp-field__consent a {
  color: var(--gm-brand-blue, #1d4ed8);
  /* D-281：条款链接去掉**常驻**下划线（客户反馈「下面一条线不好看」）；
     hover / 键盘聚焦时再出现下划线，可发现性与可访问性都不丢。
     本文件是本地生活页与企业版共用，改一处两条线同步生效。 */
  text-decoration: none;
  text-underline-offset: 2px;
}
.lp-field__consent a:hover,
.lp-field__consent a:focus-visible {
  text-decoration: underline;
}
.lp-form__status {
  margin-top: var(--gf-space-3);
  padding: var(--gf-space-2) var(--gf-space-3);
  border-radius: var(--gf-radius-nav);
  background: var(--gf-emerald-50);
  color: var(--gf-emerald-600);
  font-size: var(--gf-font-size-caption);
}
.lp-form__status.is-error {
  background: var(--gf-red-50);
  color: var(--gf-red-600);
}
/* 状态条常驻无障碍树（aria-live 需在写入文本前就存在才会播报），无文本时不占位 */
.lp-form__status:empty {
  display: none;
}

/* ── 卡片 / 网格 ─────────────────────────────────────────────────────── */
.lp-grid {
  display: grid;
  gap: var(--gm-gap-dashboard);
}
.lp-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lp-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lp-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.lp-card {
  background: var(--gmd-bg-surface);
  border: 1px solid var(--gmd-border-default);
  border-radius: var(--gmd-radius-card);
  padding: var(--gf-space-5);
  transition: border-color var(--gm-motion-standard), box-shadow var(--gm-motion-standard),
    transform var(--gm-motion-standard);
}
.lp-card--hover:hover {
  border-color: var(--gf-blue-200);
  box-shadow: var(--gf-shadow-menu);
  transform: translateY(-2px);
}
.lp-card__icon {
  width: 40px;
  height: 40px;
  border-radius: var(--gmd-radius-control);
  background: var(--gf-blue-50);
  color: var(--gm-brand-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--gf-space-3);
}
.lp-card__icon svg {
  width: 20px;
  height: 20px;
}
.lp-card__title {
  font-size: var(--gf-font-size-md);
  font-weight: 650;
  margin-bottom: 6px;
}
.lp-card__text {
  font-size: var(--gf-font-size-caption);
  line-height: 1.7;
  color: var(--gmd-text-secondary);
}

/* ── 数据 / 指标行 ───────────────────────────────────────────────────── */
.lp-kv {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: var(--gf-space-3) var(--gf-space-4);
  font-size: var(--gf-font-size-caption);
}
.lp-kv dt {
  color: var(--gmd-text-muted);
}
.lp-kv dd {
  margin: 0;
  color: var(--gmd-text-primary);
  font-family: var(--gmd-font-numeric);
  font-variant-numeric: tabular-nums;
}
.lp-metric {
  font-family: var(--gmd-font-numeric);
  font-variant-numeric: tabular-nums;
  font-size: var(--gf-font-size-3xl);
  font-weight: 650;
  line-height: 1.15;
}
.lp-footnote {
  margin-top: var(--gf-space-4);
  padding-top: var(--gf-space-4);
  border-top: 1px solid var(--gmd-border-default);
  font-size: var(--gf-font-size-note);
  line-height: 1.7;
  color: var(--gmd-text-secondary);
}

/* ── FAQ ─────────────────────────────────────────────────────────────── */
.lp-faq {
  border-top: 1px solid var(--gmd-border-default);
}
.lp-faq details {
  border-bottom: 1px solid var(--gmd-border-default);
  padding: var(--gf-space-4) 0;
}
.lp-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gf-space-3);
  cursor: pointer;
  font-size: var(--gf-font-size-body);
  font-weight: 650;
  list-style: none;
}
.lp-faq summary::-webkit-details-marker {
  display: none;
}
/* 展开指示（2026-10-27 审计）：原来把系统三角 marker 关掉了却没有替代物，
 * FAQ 看起来和普通段落一样，用户不知道可以点开（也没有任何展开态提示）。 */
.lp-faq summary::after {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-right: 2px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.55;
  transition: transform 200ms var(--lp-ease-out, ease);
}
.lp-faq details[open] summary::after {
  transform: rotate(-135deg);
}
.lp-faq p {
  margin-top: var(--gf-space-2);
  font-size: var(--gf-font-size-caption);
  line-height: 1.7;
  color: var(--gmd-text-secondary);
}

/* ── 页脚 ────────────────────────────────────────────────────────────── */
.lp-footer {
  padding: var(--gf-space-8) 0;
  border-top: 1px solid var(--gmd-border-default);
  font-size: var(--gf-font-size-note);
  color: var(--gmd-text-secondary);
  line-height: 1.8;
}
.lp-footer__row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gf-space-4);
  align-items: center;
}
.lp-footer__disclaimer {
  margin-top: var(--gf-space-3);
  color: var(--gmd-text-muted);
}
/* ICP 备案号整串不折行（折行会读成两段）；「ICP备案」前缀跟页脚正文色，不跟链接蓝 */
.lp-footer__icp { white-space: nowrap; }

/* 页脚联系方式（2026-10-28）：邮箱 / 电话 / 工作时间并排，窄屏按项换行。
   每一项单独 nowrap —— 长邮箱与手机号被拆成两行会被读错 / 拨错。 */
.lp-footer__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px var(--gf-space-4);
}
.lp-footer__contact > * { white-space: nowrap; }

/* ── 隐私同意条（Cookie 同意前不采集）────────────────────────────────── */
.lp-consent {
  position: fixed;
  left: var(--gf-space-4);
  right: var(--gf-space-4);
  bottom: var(--gf-space-4);
  z-index: 80;
  display: none;
  align-items: center;
  gap: var(--gf-space-4);
  padding: var(--gf-space-4);
  background: var(--gf-gray-900);
  color: var(--gf-gray-50);
  border-radius: var(--gmd-radius-control);
  box-shadow: var(--gf-shadow-menu);
  font-size: var(--gf-font-size-caption);
  line-height: var(--gm-leading-caption);
}
.lp-consent.is-visible {
  display: flex;
}
.lp-consent__actions {
  margin-left: auto;
  display: flex;
  gap: var(--gf-space-2);
  flex-wrap: wrap;
}
.lp-consent button {
  height: 32px;
  padding: 0 12px;
  border-radius: var(--gf-radius-nav);
  border: 1px solid var(--gf-gray-600);
  background: transparent;
  color: var(--gf-gray-50);
  font-size: var(--gf-font-size-caption);
  cursor: pointer;
}
.lp-consent button.primary {
  background: var(--gm-brand-blue);
  border-color: var(--gm-brand-blue);
  font-weight: 650;
}

/* ── 移动端吸底 CTA ─────────────────────────────────────────────────── */
.lp-sticky-cta {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 70;
  padding: var(--gf-space-3) var(--gf-space-4);
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid var(--gmd-border-default);
  box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.08);
}

/* ── 微动效（进入；由 motion.js 添加 .is-in）────────────────────────── */
/* 渐进增强：只有 JS 可用（html.js）时才隐藏待入场内容；
 * 无 JS / 爬虫抓取时内容直接可见（不牺牲可读性与 SEO）。 */
html.js [data-reveal] {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 220ms ease-out, transform 220ms cubic-bezier(0.2, 0.7, 0.3, 1);
  will-change: opacity, transform;
}
html.js [data-reveal].is-in {
  opacity: 1;
  transform: none;
}
/* 兜底（2026-10-27 审计）：motion.js 若未初始化（CSP / 拦截器 / 404），
 * 由页面 <head> 内联脚本在 3s 后给 <html> 加 .lp-no-motion 解除隐藏，
 * 避免「脚本挂了 → 首屏以下正文永久空白」。 */
html.js.lp-no-motion [data-reveal] {
  opacity: 1;
  transform: none;
  will-change: auto;
}
[data-reveal-delay='1'] {
  transition-delay: 60ms;
}
[data-reveal-delay='2'] {
  transition-delay: 120ms;
}
[data-reveal-delay='3'] {
  transition-delay: 180ms;
}

/* 2026-10-28（D-287）：原「报告进度 / 预览页专用」整段（.lp-progress / .lp-bar / .lp-paper / .lp-dim，
 * 约 1.9KB）已删除 —— 进度页与报告页自 D-156 起由 Blade + gm-shell.scss 渲染，这些 class
 * 在落地页 HTML / Blade / 前端三处**零引用**（全仓扫描确认），留着只占单页 200KB 预算。 */



/* ── 报告样例卡（D-154：与真实报告同一视觉语言，点开即看完整样例）────── */
.lp-sample {
  display: block;
  position: relative;
  overflow: hidden;
  min-height: 168px;
  padding: 18px 20px;
  border-radius: var(--gmd-radius-card);
  color: #eaf0ff;
  text-decoration: none;
  background:
    radial-gradient(420px 200px at 88% -20%, rgba(42, 111, 224, 0.55), rgba(42, 111, 224, 0) 62%),
    linear-gradient(160deg, #0e1c37 0%, #16294c 60%, #10203c 100%);
  border: 1px solid #1b3161;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.lp-sample:hover,
.lp-sample:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(15, 30, 61, 0.22);
}
.lp-sample__top {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  letter-spacing: 0.02em;
  color: rgba(234, 240, 255, 0.72);
}
.lp-sample__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gm-brand-teal);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.18);
}
.lp-sample__badge {
  margin-left: auto;
  padding: 1px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-size: 10.5px;
}
.lp-sample__body {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
}
.lp-sample__ring {
  position: relative;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: 50%;
  background: conic-gradient(#4f8ff0 0 61%, rgba(255, 255, 255, 0.14) 61% 100%);
  display: grid;
  place-items: center;
}
.lp-sample__ring::before {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  background: #12233f;
}
.lp-sample__ring b {
  position: relative;
  font-family: var(--gmd-font-numeric);
  font-size: 18px;
  color: #fff;
}
.lp-sample__verdict {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(234, 240, 255, 0.92);
}
.lp-sample__verdict em {
  font-style: normal;
  color: #7fe3cd;
}
.lp-sample__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #9dc0ff;
}
.lp-deliver {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lp-deliver__tag {
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: 0.06em;
  color: var(--gm-brand-blue);
  text-transform: uppercase;
}
.lp-deliver ul {
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.85;
  color: var(--gmd-text-secondary);
}
.lp-deliver a {
  margin-top: auto;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--gm-brand-blue);
  text-decoration: none;
}

/* ── 响应式（断点与设计系统 §3.4.3 一致）────────────────────────────── */
@media (max-width: 1023px) {
  .lp-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .lp-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lp-grid--3 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .lp-nav__links {
    display: none;
  }
  .lp-hero {
    padding: var(--gf-space-8) 0 var(--gf-space-12);
  }
  .lp-hero__title {
    font-size: var(--gf-font-size-3xl);
  }
  .lp-section {
    padding: var(--gf-space-8) 0;
  }
  .lp-grid--2,
  .lp-grid--4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .lp-kv {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
  .lp-kv dd {
    margin-bottom: var(--gf-space-2);
  }
  .lp-sticky-cta {
    display: block;
  }
  .lp-footer__row { flex-direction: column; align-items: flex-start; gap: 6px; }
  body.has-sticky-cta {
    padding-bottom: 72px;
  }
}

/* ── 无障碍降级 / 打印 ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}
@media print {
  .lp-nav,
  .lp-sticky-cta,
  .lp-consent,
  .no-print {
    display: none !important;
  }
  body {
    background: #ffffff;
  }
  .lp-paper {
    box-shadow: none;
    border: 0;
    padding: 0;
    max-width: none;
  }
  .lp-hero {
    background: #ffffff;
  }
}

/* 孤字末行治理（2026-10-29 适配体检）：2–6 行的短块均分行宽，避免末行只剩一个字；
   超长段落引擎会自动放弃均分，旧内核忽略该属性（与改前一致）。
   排除 td/th：text-wrap 是 text-wrap-mode 简写，会把表格单元继承的 nowrap 覆盖掉。 */
h1, h2, h3, h4, p, li, dt, dd, summary, figcaption { text-wrap: balance; }
/* 样例卡 CTA 是「一句话入口」，不让它折成两行（文案已压到 8 个字，320px 也放得下） */
.lp-sample__cta { white-space: nowrap; }
