/* =========================================================
   Moreast International — 外贸独立站样式管理文件
   说明：所有页面视觉格式（颜色、间距、排版、响应式）集中于此，
        便于后续统一维护与品牌调整。
   ========================================================= */

/* ---------- 1. 设计变量（品牌主题，改这里即可全局生效） ---------- */
:root {
  /* 主色 / 强调色 */
  --color-brand: #1b3a6b;        /* 深海军蓝 — 信任、专业 */
  --color-brand-dark: #122a4f;
  --color-accent: #f5a623;       /* 琥珀橙 — 行动召唤、活力 */
  --color-accent-dark: #d98c0c;

  /* 中性色 */
  --color-text: #1f2937;
  --color-text-muted: #5b6675;
  --color-bg: #ffffff;
  --color-bg-soft: #f4f7fb;
  --color-bg-dark: #0f2545;
  --color-border: #e3e9f2;

  /* 排版 */
  --font-base: "Segoe UI", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --fs-xs: 0.8rem;
  --fs-sm: 0.92rem;
  --fs-base: 1rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.5rem;
  --fs-3xl: 3.25rem;

  /* 间距 / 圆角 / 阴影 */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
  --radius: 10px;
  --radius-lg: 18px;
  --shadow-sm: 0 2px 8px rgba(18, 42, 79, 0.06);
  --shadow-md: 0 10px 30px rgba(18, 42, 79, 0.10);
  --maxw: 1200px;
}

/* ---------- 2. 基础重置 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-base);
  font-size: var(--fs-base);
  line-height: 1.65;
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { line-height: 1.2; margin: 0 0 var(--space-xs); font-weight: 700; }

/* ---------- 3. 通用布局类 ---------- */
.container {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--space-md);
}
.section { padding: var(--space-lg) 0; }
.section--soft { background: var(--color-bg-soft); }
.section--dark { background: var(--color-bg-dark); color: #fff; }
.section__head { text-align: center; max-width: 720px; margin: 0 auto var(--space-lg); }
.section__head h2 { font-size: var(--fs-2xl); color: var(--color-brand); }
.section--dark .section__head h2 { color: #fff; }
.section__head p { color: var(--color-text-muted); font-size: var(--fs-lg); }
.section--dark .section__head p { color: #c7d4e6; }
.eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-accent-dark);
  font-weight: 700;
  margin-bottom: var(--space-sm);
}

/* ---------- 4. 按钮 ---------- */
.btn {
  display: inline-block;
  padding: 0.8rem 1.8rem;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: var(--fs-sm);
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.25s ease;
}
.btn--primary { background: var(--color-accent); color: #1a1a1a; }
.btn--primary:hover { background: var(--color-accent-dark); transform: translateY(-2px); }
.btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,0.5); }
.btn--ghost:hover { background: rgba(255,255,255,0.12); border-color: #fff; }
.btn--outline { background: transparent; color: var(--color-brand); border-color: var(--color-brand); }
.btn--outline:hover { background: var(--color-brand); color: #fff; }


/* ---------- 6. 首屏 Hero（左右分栏，深色背景） ---------- */
.hero {
  background: #0d1117;
  color: #fff;
  padding: var(--space-xl) 0;
}
.hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
}
.hero__text { max-width: 540px; }

/* Eyebrow —— 带装饰的标签徽章 */
.hero__badge {
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.5rem 1.15rem;
  border-radius: 50px;
  background: rgba(245,166,35,0.12);
  border: 1px solid rgba(245,166,35,0.25);
  color: #f5c06a;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 1.6rem;
}
.hero__badge-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #f5a623;
  box-shadow: 0 0 8px rgba(245,166,35,0.6);
  animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(0.85); }
}

/* 主标题 —— 更大、更粗、更紧凑 */
.hero h1 {
  font-size: clamp(2.3rem, 5vw, 3.8rem);
  font-weight: 900;
  line-height: 1.08;
  margin-bottom: 1.6rem;
  letter-spacing: -0.03em;
  color: #fff;
}
.hero h1 br { margin-top: -0.05em; }

/* 描述段落 —— 更透气、更易读 */
.hero p {
  font-size: 1.08rem;
  color: #9aa3b0;
  line-height: 1.85;
  margin-bottom: 2.4rem;
}

/* CTA 按钮（橙红，带箭头，更精致） */
.btn--cta {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 1rem 2.2rem; border-radius: 10px;
  background: #e85a3c; color: #fff;
  font-weight: 700; font-size: 0.95rem;
  letter-spacing: 0.01em;
  transition: all 0.28s ease;
  box-shadow: 0 4px 18px rgba(232,90,60,0.35);
  cursor: pointer; text-decoration: none; border: none;
}
.btn--cta:hover {
  background: #d04428;
  transform: translateY(-3px);
  box-shadow: 0 8px 26px rgba(232,90,60,0.45);
}

/* 右侧视觉场景 */
.hero__visual { display: flex; justify-content: flex-end; position: relative; }
.hero__scene { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1 / 1; }

/* ===== 悬浮地球仪 ===== */
.globe {
  position: absolute; inset: 0;
  display: grid; place-items: center;
}
.globe__svg {
  width: 100%; height: 100%;
  filter: drop-shadow(0 26px 64px rgba(27,58,107,0.6));
  animation: globe-breathe 6s ease-in-out infinite;
}
@keyframes globe-breathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}

/* 航线（虚线流动） */
.arc {
  fill: none; stroke: url(#arcg); stroke-width: 1.6;
  stroke-dasharray: 5 6; opacity: 0.6;
  animation: arc-flow 3.2s linear infinite;
}
@keyframes arc-flow { to { stroke-dashoffset: -44; } }

/* 城市光点脉冲 */
.pin { animation: pin-pulse 2s ease-in-out infinite; }
@keyframes pin-pulse { 0%,100% { opacity: 0.55; } 50% { opacity: 1; } }

/* 彗星光点沿航线移动（SMIL animateMotion） */
.comet { filter: drop-shadow(0 0 4px rgba(255,255,255,0.9)); }

/* 旋转高光 */
.globe__shine {
  position: absolute; width: 80%; height: 80%; top: 10%; left: 10%;
  border-radius: 50%; pointer-events: none;
  background: conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,0.16) 38deg, transparent 85deg, transparent 360deg);
  animation: shine-spin 5s linear infinite;
}
@keyframes shine-spin { to { transform: rotate(360deg); } }

/* 环绕轨道 + 卫星 */
.orbit {
  position: absolute; inset: -9%;
  border: 1px solid rgba(130,180,250,0.22);
  border-radius: 50%;
  animation: orbit-spin 16s linear infinite;
}
.orbit .sat {
  position: absolute; top: -7px; left: 50%;
  width: 14px; height: 14px; border-radius: 50%;
  background: #f5a623; box-shadow: 0 0 18px rgba(245,166,35,0.9);
}
@keyframes orbit-spin { to { transform: rotate(360deg); } }

/* ===== 装饰粒子（漂浮几何符号） ===== */
.particles .p {
  position: absolute; font-style: normal;
  animation-timing-function: ease-in-out; animation-iteration-count: infinite;
}
.p1 { top: -15%; left: 10%; font-size: 1.5rem; color: rgba(245,166,35,.5); animation: drift1 4s infinite; }
.p2 { top: 20%; right: -8%; font-size:1rem; color: rgba(59,130,246,.45); animation: drift2 5s infinite; }
.p3 { bottom: 10%; left: -6%; font-size:1.3rem; color: rgba(232,90,60,.4); animation: drift3 4.5s infinite; }
.p4 { bottom: -8%; right: 20%; font-size:1.15rem; color: rgba(245,166,35,.45); animation: drift4 3.5s infinite; }
.p5 { top: 45%; left: -10%; font-size:.85rem; color: rgba(59,130,246,.35); animation: drift5 5.5s infinite; }

@keyframes drift1 { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-12px) rotate(180deg)} }
@keyframes drift2 { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(16px) scale(1.25)} }
@keyframes drift3 { 0%,100%{transform:translateX(0)} 50%{transform:translateX(12px) rotate(90deg)} }
@keyframes drift4 { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-10px) rotate(270deg)} }
@keyframes drift5 { 0%,100%{opacity:.3} 50%{opacity:.85} }

/* ===== 地球仪上的文字标注 ===== */
/* 城市标签（放大版 + 圆点） */
.tag {
  position: absolute;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.98rem; font-weight: 700; color: #f3f7fc;
  padding: 7px 16px; border-radius: 24px;
  background: rgba(255,255,255,0.13);
  border: 1px solid rgba(255,255,255,0.24);
  backdrop-filter: blur(6px);
  box-shadow: 0 5px 16px rgba(0,0,0,0.3);
  white-space: nowrap;
  animation: tag-float 4s ease-in-out infinite;
}
.tag .dot { width: 9px; height: 9px; border-radius: 50%; background: #f5a623; box-shadow: 0 0 9px rgba(245,166,35,.9); }
.tag--c1 { top: 25%; left: -3%; }
.tag--c2 { top: 43%; right: -5%; animation-delay: -1.3s; }
.tag--c3 { bottom: 19%; left: -1%; animation-delay: -2.4s; }
@keyframes tag-float { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-9px); } }

/* 漂浮关键词（玻璃拟态胶囊，放大版） */
.chip {
  position: absolute;
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 1.05rem; font-weight: 600; color: #e8eefb;
  padding: 9px 18px; border-radius: 32px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(8px);
  box-shadow: 0 7px 20px rgba(0,0,0,0.32);
  white-space: nowrap;
  animation: chip-float 5s ease-in-out infinite;
}
.cdot { width: 10px; height: 10px; border-radius: 50%; }
.cdot--a { background: #f5a623; box-shadow: 0 0 11px rgba(245,166,35,.85); }
.cdot--b { background: #4d86d6; box-shadow: 0 0 11px rgba(77,134,214,.85); }
.cdot--c { background: #e85a3c; box-shadow: 0 0 11px rgba(232,90,60,.85); }
.chip--1 { top: 1%; left: 20%; }
.chip--2 { top: 7%; right: 1%; animation-delay: -1.6s; }
.chip--3 { bottom: 3%; right: 12%; animation-delay: -3.1s; }
@keyframes chip-float { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-12px); } }

/* 底部说明胶囊 */
.globe__caption {
  position: absolute; bottom: -5%; left: 50%; transform: translateX(-50%);
  font-size: 1.02rem; color: #d6e1f0; white-space: nowrap;
  padding: 11px 26px; border-radius: 32px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(8px);
  box-shadow: 0 7px 20px rgba(0,0,0,0.34);
}
.globe__caption b { color: #f5a623; font-weight: 900; }

/* 响应式 */
@media (max-width: 900px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__text { max-width: none; text-align: center; padding-bottom: var(--space-md); }
  .hero .eyebrow, .btn--cta, .hero p { margin-left: auto; margin-right: auto; }
  .hero h1 br { display: none; }
  .hero__visual { justify-content: center; }
}

/* ---------- 6b. 信任背书 / 服务能力 ---------- */
.trust { background: var(--color-bg); }
.trust__grid {
  display: grid; grid-template-columns: 1.05fr 1fr;
  gap: var(--space-lg); align-items: center;
}

/* 左侧视觉 —— AI 生成效果图片 */
.trust__visual { position: relative; }
.trust__mockup-img {
  width: 100%; display: block;
  border-radius: var(--radius-lg);
  box-shadow:
    0 20px 60px rgba(18,42,79,0.12),
    0 4px 16px rgba(18,42,79,0.06);
}

/* 漂浮评分卡片 */
.score-card {
  position: absolute;
  background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
  box-shadow: var(--shadow-md); padding: 12px 16px; z-index: 3;
}
.score-card strong { display: block; font-size: 1.7rem; font-weight: 900; color: var(--color-brand); line-height: 1; }
.score-card strong span { font-size: 1rem; color: var(--color-accent-dark); }
.score-card > span { display: block; font-size: 0.86rem; font-weight: 600; color: var(--color-text); margin-top: 4px; }
.score-card small { display: block; font-size: 0.72rem; color: var(--color-text-muted); margin-top: 2px; }
.score--top { top: -22px; right: -14px; border-top: 3px solid var(--color-accent); }
.score--mid { top: 42%; right: -28px; border-top: 3px solid var(--color-brand); }
.score--bot { bottom: -20px; right: 8%; border-top: 3px solid var(--color-accent); }

/* 右侧文字 —— 保持原布局，微调精致度 */
/* 右侧文字 —— 极简明亮风格（对标参考图） */
.trust__text h2 {
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  color: #1a1a2e;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 0.7rem;
}
/* 橙色装饰下划线 */
.trust__line {
  width: 48px;
  height: 4px;
  background: #e85a3c;
  border-radius: 2px;
  margin-bottom: 1.6rem;
}
.trust__text p {
  color: #4a5568;
  margin-bottom: 2rem;
  font-size: 1.05rem;
  line-height: 1.85;
  font-weight: 400;
}
/* 单列小圆点清单 */
.trust__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}
.trust__list li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 1rem;
  color: #374151;
  line-height: 1.6;
  font-weight: 400;
}
.trust__list li::before {
  content: "";
  position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #e85a3c;
}

/* ---------- 6.5. AI 驱动建站能力（极简明亮） ---------- */
.ai-capability {
  background: #fafafa;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.ai__inner {
  max-width: 820px;
  margin: 0 auto;
}
.ai-capability h2 {
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  color: #1a1a2e;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 2rem;
}
.ai__lead {
  font-size: 1.12rem;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.75;
  margin-bottom: 1.5rem;
}
.ai-capability > p:not(.ai__lead) {
  font-size: 1.02rem;
  color: #4b5563;
  line-height: 1.85;
  margin-bottom: 1.5rem;
}
.ai-capability > p strong {
  font-weight: 800;
  color: #111827;
}
.ai-capability ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.ai-capability ul li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.98rem;
  color: #374151;
  line-height: 1.65;
}
.ai-capability ul li::before {
  content: "";
  position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #e85a3c;
}

/* ---------- 6.6. 转化率优化（左右分栏） ---------- */
.cro-section { background: #fff; }
.cro__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--space-lg);
  align-items: center;
}
/* 左侧文字 —— 极简明亮 */
.cro__text h2 {
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  color: #1a1a2e;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 0.7rem;
}
.cro__line {
  width: 48px; height: 4px;
  background: #e85a3c; border-radius: 2px;
  margin-bottom: 1.6rem;
}
.cro__lead {
  font-size: 1.1rem; font-weight: 700;
  color: #1f2937; line-height: 1.75;
  margin-bottom: 1.4rem;
}
.cro__text > p:not(.cro__lead):not(.cro__note) {
  font-size: 1.02rem; color: #4b5563; line-height: 1.85;
  margin-bottom: 1.3rem;
}
.cro__text > p strong { font-weight: 800; color: #111827; }
.cro__text ul {
  list-style: none; padding: 0; margin: 0 0 1.4rem;
  display: flex; flex-direction: column; gap: 0.9rem;
}
.cro__text ul li {
  position: relative; padding-left: 1.35rem;
  font-size: 0.98rem; color: #374151; line-height: 1.6;
}
.cro__text ul li::before {
  content: ""; position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px; border-radius: 50%;
  background: #e85a3c;
}
.cro__note {
  font-size: 0.98rem; color: #6b7280; line-height: 1.7;
  padding: 0.9rem 1.1rem; background: #f7f8fa;
  border-left: 3px solid #e85a3c; border-radius: 4px;
}

/* 右侧示意图 */
/* ===== CRO 右侧：标注示意图（图片） ===== */
.cro__visual { position: relative; }
.cro__img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(15,23,42,0.08);
}

/* ---------- 6.7. 数据驱动研究方法（左卡片+右文字） ---------- */
.research-section { background: #fff; }
.research__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--space-lg);
  align-items: center;
}

/* ===== 左侧：三张特性卡片（纵向堆叠） ===== */
.research__cards {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.res-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--color-bg-soft);
  border-radius: var(--radius-lg);
  padding: 1.3rem 1.5rem;
  position: relative;
  border: 1px solid transparent;
  transition: border-color .25s, box-shadow .25s, transform .25s;
}
.res-card:hover {
  border-color: rgba(27,58,107,.12);
  box-shadow: 0 8px 28px rgba(18,42,79,.08);
  transform: translateY(-2px);
}

/* 图标区 */
.res-card__icon {
  flex-shrink: 0;
  width: 56px; height: 56px;
  display: grid; place-items: center;
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--color-border);
}

/* 文字区 */
.res-card__body { flex: 1; min-width: 0; }
.res-card__body h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 0.25rem;
}
.res-card__body p {
  font-size: 0.88rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.55;
}

/* 箭头 */
.res-card__arrow { flex-shrink: 0; opacity: .6; }

/* 右侧预览小图 */
.res-card__preview {
  flex-shrink: 0;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--color-border);
  padding: 6px;
}

/* ===== 右侧：大标题 + 文案 ===== */
.research__text h2 {
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: #1a1a2e;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
  margin-bottom: 0.6rem;
}

/* 橙红装饰线 */
.research__line {
  width: 48px; height: 4px;
  background: #e85a3c;
  border-radius: 2px;
  margin-bottom: 1.8rem;
}

/* 副标题 */
.research__sub {
  font-size: 1.25rem;
  font-weight: 800;
  color: #1f2937;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}

/* 段落 */
.research__text > p {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.85;
  margin-bottom: 1.2rem;
}
.research__text > p strong {
  font-weight: 800;
  color: #111827;
}

/* 响应式 */
@media (max-width: 960px) {
  .research__grid { grid-template-columns: 1fr; }
  .research__cards { order: 2; }
  .research__text { order: 1; margin-bottom: var(--space-md); }
}
@media (max-width: 640px) {
  .res-card { flex-wrap: wrap; }
  .res-card__preview { display: none; }
  .res-card__arrow { display: none; }
}

/* ---------- 6.8. 品牌叙事与内容策略（左文右图） ---------- */
.story-section { background: #fff; }
.story__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: var(--space-lg);
  align-items: center;
}

/* ===== 左侧文字 ===== */
.story__text h2 {
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: #1a1a2e;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
  margin-bottom: 0.6rem;
}

/* 橙红装饰线 */
.story__line {
  width: 48px; height: 4px;
  background: #e85a3c; border-radius: 2px;
  margin-bottom: 1.6rem;
}

/* 副标题 */
.story__sub {
  font-size: 1.2rem;
  font-weight: 800;
  color: #1f2937;
  line-height: 1.4;
  margin-bottom: 1.3rem;
}

/* 段落 */
.story__text > p:not(.story__closing) {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.85;
  margin-bottom: 1.2rem;
}
.story__text > p strong { font-weight: 800; color: #111827; }

/* 清单 */
.story__list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.story__list li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.98rem;
  color: #374151;
  line-height: 1.6;
}
.story__list li::before {
  content: "";
  position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #e85a3c;
}

/* 结尾段落 */
.story__closing {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.85;
  font-weight: 500;
}

/* ===== 右侧：内容编辑器界面（图片） ===== */
.story__visual { position: relative; }
.story__img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(15,23,42,.08);
}

/* 响应式 */
@media (max-width: 960px) {
  .story__grid { grid-template-columns: 1fr; }
  .story__visual { margin-top: var(--space-md); }
}

/* ---------- 6.9. 易用编辑与后台管理（左线框+右文字） ---------- */
.easyedit-section { background: #fff; }
.easyedit__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--space-lg);
  align-items: center;
}

/* ===== 左侧：两个线框 + 编辑工具 ===== */
.easyedit__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

/* 线框通用样式 */
.easyedit__wireframe {
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px;
  box-shadow:
    0 8px 30px rgba(18,42,79,.07),
    0 2px 8px rgba(18,42,79,.04);
  width: 160px;
  flex-shrink: 0;
}
/* 旧版（稍窄） */
.easyedit__wireframe--old { width: 150px; }
/* 新版（稍宽） */
.easyedit__wireframe--new { width: 175px; border-color: #d1d5db; }

/* 线框顶部栏 */
.ew-header { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.ew-dot--red { width: 12px; height: 12px; background: #eee; border: 2px solid #ddd; border-radius: 3px; }
.ew-circle-outline { width: 16px; height: 16px; border: 2px solid #17a2b8; border-radius: 50%; }
.ew-line { height: 5px; border-radius: 3px; background: #e5e7eb; flex: 1; }
.ew-line--short { width: 36px; flex: none; }
.ew-line--accent { background: linear-gradient(90deg,#17a2b8,transparent); width: 60px; flex: none; }
.ew-menu { display: flex; gap: 3px; }
.ew-menu::before, .ew-menu::after { content:""; display:block; width:14px; height:2px; background:#ccc; border-radius:1px; }

/* Hero 区域 */
.ew-hero { border-radius: 6px; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; }
.ew-hero--red { background: #c0392b; height: 56px; }
.ew-hero--teal { background: #17a2b8; height: 64px; }
.ew-hero--yellow { background: #f1c40f; height: 50px; }
.ew-mountain { font-size: 1.4rem; opacity: .7; }
.ew-mountain-lg { font-size: 1.7rem; opacity: .75; }

/* 文本行 */
.ew-lines { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.ew-lines span { height: 5px; border-radius: 3px; background: #ececec; }
.ew-lines .ew-l-long { width: 80%; }

/* 卡片行 */
.ew-cards-row { display: flex; gap: 6px; margin-bottom: 10px; }
.ew-card {
  flex: 1; height: 38px; border-radius: 6px;
  display: grid; place-items: center;
  font-size: .9rem; color: rgba(255,255,255,.6);
}
.ew-card--red { background: #c0392b; }
.ew-card--teal { background: #17a2b8; }
.ew-card--yellow { background: #f1c40f; color: rgba(0,0,0,.35); }

/* 横幅 */
.ew-banner { height: 22px; background: #17a2b8; border-radius: 4px; margin-bottom: 12px; }

/* 文章条目 */
.ew-article { display: flex; gap: 8px; margin-bottom: 10px; align-items: center; }
.ew-art-img { width: 44px; height: 32px; background: #eef3f6; border-radius: 4px; flex-shrink: 0; }
.ew-art-lines { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ew-art-lines span { height: 4px; border-radius: 2px; background: #e8ecf1; }
.ew-art-lines span:nth-child(2) { width: 70%; }

/* ===== 中间编辑工具 ===== */
.easyedit__tools {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.eetool {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: grid; place-items: center;
  font-size: 1.15rem;
  background: #f8f9fb;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.eetool--code { font-size: .85rem; font-weight: 700; color: #374151; font-family: "Courier New", monospace; }
.ee-arrow { margin: 2px 0; }
.eetool-colors { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.eetool-colors span { width: 16px; height: 16px; border-radius: 3px; border: 1px solid rgba(0,0,0,.08); }
.eetool-a11y {
  text-align: center;
  line-height: 1;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #9ca3af;
}
.eetool-a11y span:nth-child(-n+4) { color: #111827; }

/* ===== 右侧文字 ===== */
.easyedit__text h2 {
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: #1a1a2e;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
  margin-bottom: 0.6rem;
}
.easyedit__line {
  width: 48px; height: 4px;
  background: #e85a3c; border-radius: 2px;
  margin-bottom: 1.6rem;
}
.easyedit__sub {
  font-size: 1.2rem;
  font-weight: 800;
  color: #1f2937;
  line-height: 1.4;
  margin-bottom: 1.3rem;
}
.easyedit__text > p:not(.easyedit__quote) {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.85;
  margin-bottom: 1.2rem;
}
.easyedit__text > p strong { font-weight: 800; color: #111827; }

/* 清单 */
.easyedit__list {
  list-style: none; padding: 0; margin: 0 0 1.5rem;
  display: flex; flex-direction: column; gap: 0.85rem;
}
.easyedit__list li {
  position: relative; padding-left: 1.35rem;
  font-size: 0.98rem; color: #374151; line-height: 1.6;
}
.easyedit__list li::before {
  content: ""; position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px; border-radius: 50%;
  background: #e85a3c;
}

/* 引用段落 */
.easyedit__quote {
  font-size: 0.95rem;
  color: #6b7280;
  line-height: 1.8;
  font-style: italic;
  padding-left: 14px;
  border-left: 3px solid #e85a3c;
  border-radius: 0 4px 4px 0;
}

/* 响应式 */
@media (max-width: 960px) {
  .easyedit__grid { grid-template-columns: 1fr; }
  .easyedit__visual { margin-top: var(--space-md); }
  .easyedit__wireframe--old,
  .easyedit__wireframe--new { width: 130px; }
}
@media (max-width: 640px) {
  .easyedit__visual { flex-wrap: wrap; }
  .easyedit__tools { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  .easyedit__wireframe--old,
  .easyedit__wireframe--new { width: 140px; }
  .ee-arrow { transform: rotate(90deg); }
}

/* ---------- 6.10. 持续优化与数据驱动（左文右圆环图） ---------- */
.optimize-section { background: #fff; }
.optimize__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  align-items: center;
}

/* ===== 左侧文字 ===== */
.optimize__text h2 {
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: #1a1a2e;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.03em;
  margin-bottom: 0.6rem;
}
.optimize__line {
  width: 48px; height: 4px;
  background: #e85a3c; border-radius: 2px;
  margin-bottom: 1.6rem;
}
.optimize__sub {
  font-size: 1.25rem;
  font-weight: 800;
  color: #1f2937;
  line-height: 1.4;
  margin-bottom: 1.3rem;
}
.optimize__text > p:not(.optimize__closing) {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.85;
  margin-bottom: 1.2rem;
}
.optimize__text > p strong { font-weight: 800; color: #111827; }

/* 清单 */
.optimize__list {
  list-style: none; padding: 0; margin: 0 0 1.5rem;
  display: flex; flex-direction: column; gap: 0.8rem;
}
.optimize__list li {
  position: relative; padding-left: 1.35rem;
  font-size: 0.96rem; color: #374151; line-height: 1.6;
}
.optimize__list li::before {
  content: ""; position: absolute; left: 0; top: 0.6em;
  width: 7px; height: 7px; border-radius: 50%;
  background: #e85a3c;
}

/* 结尾段落 */
.optimize__closing {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.85;
  font-weight: 500;
}

/* ===== 右侧：数据仪表盘 ===== */
.optimize__visual {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
}

.dashboard {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #e8ecf1;
  box-shadow:
    0 20px 60px rgba(15,23,42,.08),
    0 4px 16px rgba(15,23,42,.04);
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ---- 顶部标题栏 ---- */
.dash__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #eef1f6;
}
.dash__dots { display: flex; gap: 5px; }
.dash__dot {
  width: 10px; height: 10px; border-radius: 50%;
}
.dash__dot--r { background: #ff5f57; }
.dash__dot--y { background: #febc2e; }
.dash__dot--g { background: #28c840; }
.dash__title {
  font-size: .75rem;
  font-weight: 700;
  color: #64748b;
  letter-spacing: .02em;
}
.dash__badge {
  margin-left: auto;
  font-size: .62rem;
  font-weight: 800;
  color: #16a34a;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  padding: 2px 8px;
  border-radius: 20px;
  animation: live-blink 2s ease-in-out infinite;
}
@keyframes live-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: .5; }
}

/* ---- 指标卡片行 ---- */
.dash__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid #f0f2f5;
}
.dash__metric {
  background: #f8fafc;
  border-radius: 10px;
  padding: 10px 8px;
  text-align: center;
  border: 1px solid #f0f2f5;
  transition: transform .3s ease, box-shadow .3s ease;
}
.dash__metric:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(15,23,42,.08);
}
.dash__metric-label {
  display: block;
  font-size: .65rem;
  color: #94a3b8;
  margin-bottom: 4px;
  font-weight: 600;
}
.dash__metric-value {
  display: block;
  font-size: 1.05rem;
  font-weight: 900;
  color: #1a1a2e;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.dash__metric-change {
  display: block;
  font-size: .62rem;
  color: #16a34a;
  font-weight: 700;
  margin-top: 3px;
}
.dash__metric-green { color: #16a34a !important; }

/* 指标卡片颜色区分 */
.dash__metric:nth-child(2) .dash__metric-value { color: #3b82f6; }
.dash__metric:nth-child(3) .dash__metric-value { color: #8b5cf6; }
.dash__metric:nth-child(4) .dash__metric-value { color: #e85a3c; }

/* ---- 图表区 ---- */
.dash__chart-wrap { padding: 12px 14px 10px; }
.dash__chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: .72rem;
  font-weight: 700;
  color: #475569;
}
.dash__chart-legend {
  display: flex;
  gap: 10px;
  font-size: .6rem;
  font-weight: 600;
  color: #94a3b8;
}
.legend-dot {
  width: 8px; height: 8px; border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 3px;
}
.legend--blue  { background: #3b82f6; }
.legend--orange { background: #e85a3c; }

.dash__chart {
  position: relative;
  height: 150px;
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
  border-radius: 10px;
  border: 1px solid #f0f2f5;
  overflow: hidden;
}
.chart-grid {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}
.chart-area {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}
.chart-line {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}

/* 面积图动画 —— 从左到右展开 */
.area-path--blue {
  stroke-dasharray: 700;
  stroke-dashoffset: 700;
  animation: draw-area 2s ease-out forwards .3s;
}
.line-path--blue {
  stroke-dasharray: 500;
  stroke-dashoffset: 500;
  animation: draw-line 2s ease-out forwards .3s;
}
.line-path--orange {
  animation: draw-line-orange 2.5s ease-out forwards .8s;
}
@keyframes draw-area {
  to { stroke-dashoffset: 0; }
}
@keyframes draw-line {
  to { stroke-dashoffset: 0; }
}
@keyframes draw-line-orange {
  to { stroke-dashoffset: 0; }
}

/* 数据点脉冲 */
.chart-dot--pulse {
  animation: dot-pulse 2s ease-in-out infinite 1.5s;
}
@keyframes dot-pulse {
  0%, 100% { r: 4; opacity: 1; }
  50%      { r: 7; opacity: .6; }
}

/* 图表末端标注 */
.chart-tooltip--end {
  position: absolute;
  top: 22px;
  right: 24px;
  background: #e85a3c;
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 6px;
  animation: tooltip-pop .4s ease-out 2.5s both;
}
.chart-tooltip--end::after {
  content: "";
  position: absolute;
  bottom: -4px;
  right: 10px;
  border: 4px solid transparent;
  border-top-color: #e85a3c;
  border-bottom: none;
}
@keyframes tooltip-pop {
  from { opacity: 0; transform: translateY(6px) scale(.9); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---- 底部优化行动列表 ---- */
.dash__actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 14px 14px;
}
.dash__action {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #f0f2f5;
  border-radius: 10px;
  padding: 9px 12px;
  transition: background .25s ease;
}
.dash__action:hover { background: #f1f5f9; }
.action-icon { font-size: 1.1rem; line-height: 1; }
.action-text {
  flex: 1;
  min-width: 0;
}
.action-text strong {
  display: block;
  font-size: .72rem;
  color: #1a1a2e;
  font-weight: 700;
  line-height: 1.3;
}
.action-text span {
  display: block;
  font-size: .6rem;
  color: #94a3b8;
  line-height: 1.3;
}
.action-badge {
  font-size: .58rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 20px;
  white-space: nowrap;
  flex-shrink: 0;
}
.action-badge--run {
  color: #d97706;
  background: #fffbeb;
  border: 1px solid #fde68a;
}
.action-badge--done {
  color: #16a34a;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

/* ---- 流动粒子装饰 ---- */
.dash__particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.particle {
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: #3b82f6;
  opacity: 0;
}
.particle:nth-child(1) { left: 10%; top: 80%; animation: float-up 4s ease-in-out infinite; }
.particle:nth-child(2) { left: 30%; top: 90%; animation: float-up 5s ease-in-out infinite .8s; background: #e85a3c; }
.particle:nth-child(3) { left: 55%; top: 85%; animation: float-up 4.5s ease-in-out infinite 1.6s; }
.particle:nth-child(4) { left: 75%; top: 88%; animation: float-up 5.5s ease-in-out infinite 2.4s; background: #8b5cf6; }
.particle:nth-child(5) { left: 90%; top: 82%; animation: float-up 4.2s ease-in-out infinite 3.2s; }

@keyframes float-up {
  0%   { transform: translateY(0) scale(0); opacity: 0; }
  20%  { opacity: .6; transform: translateY(-20px) scale(1); }
  80%  { opacity: .3; }
  100% { transform: translateY(-120px) scale(.3); opacity: 0; }
}

/* 图标放大 */
.rl-icon {
  font-size: 1.5rem;
  margin-bottom: 4px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.08));
}

/* 各标签位置 —— 围绕大圆环重新分布 */
.ring-label--wc {
  top: -4%;
  left: 50%;
  transform: translateX(-50%);
}
.ring-label--vb  {
  top: 26%;
  right: -8%;
}
.ring-label--ai  {
  bottom: 18%;
  right: -4%;
}
.ring-label--sc  {
  bottom: 0%;
  left: 24%;
  background: linear-gradient(135deg,#fffbeb,#fef3c7);
  border-color: #fde68a;
  box-shadow:
    0 6px 28px rgba(245,180,66,.18),
    0 2px 6px rgba(18,42,79,.06);
  /* 成功标签脉冲动画 */
  animation: success-pulse 3s ease-in-out infinite;
}
@keyframes success-pulse {
  0%, 100% { box-shadow: 0 6px 28px rgba(245,180,66,.18), 0 2px 6px rgba(18,42,79,.06); }
  50%      { box-shadow: 0 8px 36px rgba(245,180,66,.32), 0 4px 10px rgba(18,42,79,.08); }
}
.ring-label--sc strong { color: #92400e; }
.ring-label--sc .rl-icon { font-size: 1.7rem; }

.ring-label--io  {
  top: 30%;
  left: -8%;
}

/* 响应式 */
@media (max-width: 960px) {
  .optimize__grid { grid-template-columns: 1fr; }
  .optimize__visual { margin-top: var(--space-md); justify-content: center; }
}
@media (max-width: 640px) {
  .dashboard { max-width: 100%; border-radius: 14px; }
  .dash__metrics { grid-template-columns: repeat(2, 1fr); gap: 6px; padding: 10px; }
  .dash__metric-value { font-size: .9rem; }
  .dash__chart { height: 120px; }
  .dash__action { padding: 8px 10px; }
  .action-text strong { font-size: .66rem; }
}

/* ---------- 6.11. 优先级演变（左图表右文案） ---------- */
.priority-section { background: #fff; }
.priority {
  display: grid;
  grid-template-columns: 1.15fr .9fr;
  gap: var(--space-lg);
  align-items: center;
}

/* ===== 左侧：优先级演变图（图片） ===== */
.priority__chart-wrap { width: 100%; }
.priority__img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(15,23,42,.06);
}

/* ===== 右侧：文案 ===== */
.priority__text h2 {
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  color: #1a1a2e;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -.03em;
  margin-bottom: .5rem;
}
.priority__line {
  width: 48px; height: 4px;
  background: #e85a3c; border-radius: 2px;
  margin-bottom: 1.4rem;
}
.priority__sub {
  font-size: 1.15rem;
  font-weight: 800;
  color: #374151;
  line-height: 1.45;
  margin-bottom: 1.2rem;
}
.priority__text > p:not(.priority__closing) {
  font-size: .96rem;
  color: #4b5563;
  line-height: 1.85;
  margin-bottom: 1.1rem;
}
.priority__text > p strong { font-weight: 800; color: #111827; }

/* 清单 */
.priority__list {
  list-style: none; padding: 0; margin: 0 0 1.4rem;
  display: flex; flex-direction: column; gap: .7rem;
}
.priority__list li {
  position: relative; padding-left: 1.35rem;
  font-size: .92rem; color: #374151; line-height: 1.55;
}
.priority__list li::before {
  content: ""; position: absolute; left: 0; top: .6em;
  width: 7px; height: 7px; border-radius: 50%;
  background: #e85a3c;
}
.priority__list li strong { font-weight: 800; color: #e85a3c; }

/* 结尾 + CTA */
.priority__closing {
  font-size: .98rem;
  color: #1f2937;
  line-height: 1.75;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
.priority__closing strong { color: #e85a3c; font-weight: 900; }

.priority__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 26px;
  background: #e85a3c;
  color: #fff;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 800;
  border-radius: 10px;
  transition: all .25s ease;
  box-shadow: 0 4px 14px rgba(232,90,60,.25);
}
.priority__cta:hover {
  background: #d14a2e;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(232,90,60,.32);
}

/* 响应式 */
@media (max-width: 960px) {
  .priority { grid-template-columns: 1fr; }
  .priority__chart-wrap { order: 1; }
  .priority__text { order: 2; }
}
@media (max-width: 640px) {
}

/* ---------- 7. 关于我们 ---------- */
.about { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); align-items: center; }
.about__media {
  border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md);
  aspect-ratio: 4/3; background: var(--color-bg-soft) url("https://images.unsplash.com/photo-1601598851547-4302969d0614?auto=format&fit=crop&w=900&q=80") center/cover;
}
.about h2 { font-size: var(--fs-2xl); color: var(--color-brand); }
.about p { color: var(--color-text-muted); margin-bottom: var(--space-sm); }
.about__list li { display: flex; gap: 0.6rem; align-items: flex-start; margin-bottom: 0.6rem; }
.about__list .tick { color: var(--color-accent-dark); font-weight: 800; }

/* ---------- 8. 产品 / 业务分类网格 ---------- */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.card {
  background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md); box-shadow: var(--shadow-sm); transition: transform 0.25s, box-shadow 0.25s;
}
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.card__icon {
  width: 52px; height: 52px; border-radius: 12px; display: grid; place-items: center;
  background: var(--color-bg-soft); color: var(--color-brand); font-size: 1.5rem; margin-bottom: var(--space-sm);
}
.card h3 { font-size: var(--fs-lg); color: var(--color-brand); }
.card p { color: var(--color-text-muted); font-size: var(--fs-sm); margin: 0; }

/* ---------- 9. 数据指标 ---------- */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); text-align: center; }
.stat strong { display: block; font-size: var(--fs-2xl); color: var(--color-accent); }
.stat span { font-size: var(--fs-sm); color: #c7d4e6; }

/* ---------- 10. 服务流程 ---------- */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
.step { text-align: center; }
.step__num {
  width: 56px; height: 56px; margin: 0 auto var(--space-sm); border-radius: 50%;
  background: var(--color-brand); color: #fff; display: grid; place-items: center; font-size: var(--fs-xl); font-weight: 800;
}
.step h3 { font-size: var(--fs-lg); color: var(--color-brand); }
.section--dark .step h3 { color: #fff; }
.step p { color: var(--color-text-muted); font-size: var(--fs-sm); }
.section--dark .step p { color: #c7d4e6; }

/* ---------- 10.5 联系我们（关于 Moreast 上方） ---------- */
.contact-top {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: var(--space-lg);
  align-items: stretch;
}
/* 左侧：快捷联系卡片 */
.contact-top__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  justify-content: center;
}
.contact-chip {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--color-border, #e8ecf1);
  border-radius: 14px;
  text-decoration: none;
  color: var(--color-text);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-chip:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  border-color: var(--color-brand);
}
.contact-chip__icon {
  flex: none;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  background: var(--color-bg-soft, #f4f6f9);
  border-radius: 12px;
}
.contact-chip__text { display: flex; flex-direction: column; line-height: 1.4; }
.contact-chip__text strong { font-size: .8rem; color: var(--color-text-muted); font-weight: 600; }
.contact-chip__text { font-size: .95rem; font-weight: 700; color: var(--color-text); }
.contact-top__note {
  margin-top: .4rem;
  font-size: .8rem;
  color: var(--color-text-muted);
  text-align: center;
}
/* 右侧：表单卡片 */
.contact-top__form {
  background: #fff;
  border: 1px solid var(--color-border, #e8ecf1);
  border-radius: 18px;
  padding: 1.6rem 1.6rem 1.4rem;
  box-shadow: 0 12px 40px rgba(15,23,42,.06);
}
.form__status {
  margin: .2rem 0 0;
  font-size: .85rem;
  font-weight: 600;
  min-height: 1.2em;
}
.form__status.is-success { color: #16a34a; }
.form__status.is-error { color: #dc2626; }

/* 响应式 */
@media (max-width: 960px) {
  .contact-top { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .contact-top__form { padding: 1.2rem 1.1rem; }
}

/* ---------- 11. 询盘表单 ---------- */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); align-items: start; }
.contact h2 { font-size: var(--fs-2xl); color: var(--color-brand); }
.contact__info li { margin-bottom: var(--space-sm); color: var(--color-text-muted); }
.contact__info strong { color: var(--color-text); display: block; font-size: var(--fs-sm); }
.form { display: grid; gap: var(--space-sm); }
.form label { font-size: var(--fs-sm); font-weight: 600; color: var(--color-text); }
.form input, .form textarea, .form select {
  width: 100%; padding: 0.75rem 0.9rem; border: 1px solid var(--color-border);
  border-radius: var(--radius); font-family: inherit; font-size: var(--fs-sm); background: #fff;
}
.form input:focus, .form textarea:focus, .form select:focus { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px rgba(27,58,107,0.12); }
.form textarea { min-height: 120px; resize: vertical; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); }


/* ---------- 13. 响应式 ---------- */
@media (max-width: 960px) {
  .about, .contact, .trust__grid, .cro__grid { grid-template-columns: 1fr; }
  .trust__visual { margin-bottom: var(--space-md); }
  .cro__visual { margin-top: var(--space-md); }
  .score-card { position: static; display: inline-block; margin: 0 12px 12px 0; }
  .grid-3, .steps { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .hero h1 { font-size: var(--fs-2xl); }
}
@media (max-width: 640px) {
  .grid-3, .steps, .stats, .form__row { grid-template-columns: 1fr; }
  .hero h1 { font-size: var(--fs-xl); }
  .section { padding: var(--space-md) 0; }
  .score-card { display: block; margin: 0 0 10px; }
}

/* =========================================================
   15. 网站开发页（web-development.html）专属样式
   说明：内容样式仍集中于此文件；页眉/页脚布局见对应页面的 index-layout.css / web-development-layout.css
   ========================================================= */

/* Hero 浏览器示意 */
.wd-browser {
  background: #fff; border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-md); border: 1px solid var(--color-border);
  transform: perspective(1400px) rotateY(-7deg) rotateX(3deg);
}
.wd-browser__bar {
  display: flex; align-items: center; gap: 6px; padding: 0.6rem 0.9rem;
  background: var(--color-bg-soft); border-bottom: 1px solid var(--color-border);
}
.wd-dot { width: 11px; height: 11px; border-radius: 50%; }
.wd-dot--r { background: #ff5f57; } .wd-dot--y { background: #febc2e; } .wd-dot--g { background: #28c840; }
.wd-browser__url {
  margin-left: 0.6rem; font-size: 0.78rem; color: var(--color-text-muted);
  background: #fff; border: 1px solid var(--color-border); border-radius: 20px;
  padding: 0.2rem 0.9rem; flex: 1; max-width: 260px;
}
.wd-browser__body { padding: 1.1rem; background: linear-gradient(180deg, #fbfdff, #fff); }
.wd-browser__nav { height: 14px; width: 55%; background: var(--color-brand); border-radius: 6px; opacity: .85; margin-bottom: 0.9rem; }
.wd-browser__hero { height: 72px; border-radius: 10px; background: linear-gradient(120deg, #1b3a6b, #2b62b8); margin-bottom: 0.9rem; position: relative; overflow: hidden; }
.wd-browser__hero::before { content: ""; position: absolute; left: 12px; top: 12px; width: 26%; height: 8px; background: var(--color-accent); border-radius: 4px; }
.wd-browser__hero::after { content: ""; position: absolute; left: 12px; bottom: 12px; width: 42%; height: 8px; background: rgba(255,255,255,.75); border-radius: 4px; }
.wd-browser__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
.wd-browser__cards span { height: 46px; border-radius: 8px; background: var(--color-bg-soft); border: 1px solid var(--color-border); }
.wd-browser__cards span:nth-child(2) { background: #eef4ff; }
.wd-browser__cards span:nth-child(3) { background: #fff6e8; }

/* 通用三栏卡片 */
.wd-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.wd-card {
  background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-md); box-shadow: var(--shadow-sm);
  transition: transform .25s, box-shadow .25s;
}
.wd-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.wd-card__icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: linear-gradient(150deg, var(--color-brand), #2b62b8);
  display: grid; place-items: center; color: #fff; font-size: 1.5rem; margin-bottom: var(--space-sm);
}
.wd-card h3 { font-size: 1.15rem; margin-bottom: 0.4rem; }
.wd-card p { font-size: var(--fs-sm); color: var(--color-text-muted); margin: 0; }

/* CMS 卡片 */
.cms-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-sm); }
.cms-card {
  background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
  padding: var(--space-md); text-align: center; box-shadow: var(--shadow-sm);
  transition: transform .25s, box-shadow .25s;
}
.cms-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.cms-card__badge {
  width: 54px; height: 54px; border-radius: 14px; margin: 0 auto var(--space-sm);
  display: grid; place-items: center; font-weight: 900; font-size: 1.25rem; color: #fff;
}
.cms-card h3 { font-size: 1.05rem; margin-bottom: 0.3rem; }
.cms-card p { font-size: var(--fs-xs); color: var(--color-text-muted); margin: 0; }

/* 开发服务清单（两栏） */
.dev-list { columns: 2; column-gap: var(--space-lg); margin: 0; padding: 0; }
.dev-list li {
  break-inside: avoid; display: flex; gap: 0.6rem; align-items: flex-start;
  padding: 0.7rem 0; border-bottom: 1px dashed var(--color-border); font-size: var(--fs-sm);
}
.dev-list li::before { content: "✓"; color: var(--color-accent-dark); font-weight: 800; }

/* 技术架构代码示意 */
.wd-tech {
  background: var(--color-bg-dark); border-radius: var(--radius-lg); padding: 1.2rem 1.3rem;
  color: #c7d4e6; font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.82rem; line-height: 2; box-shadow: var(--shadow-md); overflow-x: auto;
}
.wd-tech .t-tag { color: #7fd1ff; } .wd-tech .t-attr { color: #f5a623; }
.wd-tech .t-str { color: #9be7a0; } .wd-tech .t-com { color: #5b7da8; }

/* FAQ 手风琴 */
.faq { max-width: 860px; margin: 0 auto; }
.faq__item { border: 1px solid var(--color-border); border-radius: var(--radius); margin-bottom: var(--space-sm); overflow: hidden; background: #fff; }
.faq__q {
  width: 100%; text-align: left; background: var(--color-bg-soft); border: none;
  padding: 1rem 1.2rem; font-size: 1.02rem; font-weight: 700; color: var(--color-brand);
  cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.faq__q .faq__sign { transition: transform .25s; font-size: 1.3rem; line-height: 1; }
.faq__item.is-open .faq__q .faq__sign { transform: rotate(45deg); }
.faq__a { max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; color: var(--color-text-muted); font-size: var(--fs-sm); }
.faq__item.is-open .faq__a { max-height: 360px; padding: 0 1.2rem 1.2rem; }

/* 服务流程（六步） */
.flow { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-xs); counter-reset: step; }
.flow__step { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius); padding: var(--space-sm); text-align: center; }
.flow__num {
  width: 34px; height: 34px; border-radius: 50%; background: var(--color-brand); color: #fff;
  display: grid; place-items: center; font-weight: 800; margin: 0 auto var(--space-xs);
}
.flow__step h4 { font-size: 0.95rem; margin-bottom: 0.3rem; }
.flow__step p { font-size: var(--fs-xs); color: var(--color-text-muted); margin: 0; }
.flow__note { text-align: center; margin-top: var(--space-md); font-size: var(--fs-sm); color: var(--color-text-muted); }

/* 响应式：网站开发页 */
@media (max-width: 960px) {
  .wd-grid-3, .cms-grid { grid-template-columns: repeat(2, 1fr); }
  .flow { grid-template-columns: repeat(3, 1fr); }
  .dev-list { columns: 1; }
}
@media (max-width: 640px) {
  .wd-grid-3, .cms-grid, .flow { grid-template-columns: 1fr; }
  .wd-browser { transform: none; }
}

/* =========================================================
   12. 右侧悬浮联系卡片（全局组件）
   ========================================================= */

/* 悬浮卡片 —— 固定于页面右侧垂直居中 */
.float-contact {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  font-family: var(--font-base);
  animation: floatCardIn 0.5s cubic-bezier(.22,1,.36,1) both;
}

@keyframes floatCardIn {
  from { opacity: 0; transform: translateY(-50%) translateX(16px) scale(0.95); }
  to   { opacity: 1; transform: translateY(-50%) translateX(0) scale(1); }
}

/* 卡片主体 */
.float-card {
  width: 220px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(18, 42, 79, 0.14), 0 2px 12px rgba(18, 42, 79, 0.06);
  border: 1px solid rgba(27, 58, 107, 0.06);
}

/* 卡片头部 */
.float-card__head {
  padding: 16px 18px 12px;
  background: linear-gradient(135deg, #1b3a6b, #2a569e);
  border-radius: 15px 15px 0 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.float-card__head-icon {
  font-size: 20px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.15));
}
.float-card__head-text {
  color: #fff;
  line-height: 1.25;
}
.float-card__head-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}
.float-card__head-sub {
  font-size: 11px;
  opacity: 0.75;
  margin: 0;
}

/* 列表项 */
.float-card__list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}

.float-card__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 18px;
  text-decoration: none;
  color: #1f2937;
  transition: all 0.2s ease;
  cursor: pointer;
  border-left: 3px solid transparent;
}
.float-card__item:hover {
  background: #f7f9fc;
  border-left-color: #f5a623;
  color: #1b3a6b;
}
.float-card__item-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #eef4fb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  transition: all 0.2s;
}
.float-card__item:hover .float-card__item-icon {
  background: linear-gradient(135deg, #f5a623, #e8941c);
}
.float-card__info {
  flex: 1;
  min-width: 0;
}
.float-card__label {
  font-size: 13.5px;
  font-weight: 600;
  display: block;
  line-height: 1.3;
}
.float-card__desc {
  font-size: 11px;
  color: #8892a0;
  display: block;
  margin-top: 1px;
}
.float-card__item:hover .float-card__desc {
  color: #5b6675;
}

/* 联系电话 — hover 下方弹出气泡 */
.float-phone-wrap { position: relative; }

.float-phone-tooltip {
  position: absolute;
  right: 0;
  left: auto;
  top: 100%;
  transform: translateY(6px);
  background: #1b3a6b;
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  padding: 9px 14px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s ease;
  pointer-events: none;
  z-index: 100;
  box-shadow: 0 4px 14px rgba(27, 58, 107, 0.25);
}
.float-phone-tooltip::before {
  content: '';
  position: absolute;
  bottom: 100%;
  right: 24px;
  left: auto;
  border: 7px solid transparent;
  border-bottom-color: #1b3a6b;
}
.float-phone-wrap:hover .float-phone-tooltip,
.float-phone-wrap.is-active .float-phone-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* 关闭按钮（可选） */
.float-card__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border: none;
  background: rgba(255,255,255,.2);
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  opacity: 0;
  transition: opacity .2s;
}
.float-card__head:hover .float-card__close { opacity: 1; }
.float-card__close:hover { background: rgba(255,255,255,.35); }

/* 移动端适配 */
@media (max-width: 768px) {
  .float-contact {
    right: 10px;
    transform: translateY(-50%) scale(0.92);
  }
  .float-card {
    width: 195px;
    border-radius: 14px;
  }
  .float-phone-tooltip {
    font-size: 11.5px;
    padding: 7px 12px;
  }

  /* 底部浮动条移动端 */
  .bottom-bar {
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px;
  }
  .bottom-bar__left {
    flex-direction: row;
    align-items: center;
    text-align: left;
  }
  .bottom-bar__text { font-size: 13px; }
  .bottom-bar__form {
    flex-direction: row;
    width: 100%;
  }
  .bottom-bar__input {
    flex: 1;
    min-width: 0;
  }
  .bottom-bar__btn {
    flex-shrink: 0;
    white-space: nowrap;
  }
}

/* =========================================================
   13. 底部浮动获客横条（全局组件）
   ========================================================= */

.bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  background: linear-gradient(135deg, #152d56, #1b3a6b);
  box-shadow: 0 -3px 20px rgba(18, 42, 79, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 14px 28px;
  font-family: var(--font-base);
}

/* 左侧文案 */
.bottom-bar__left {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  flex-shrink: 0;
}
.bottom-bar__icon {
  width: 24px;
  height: 24px;
  background: rgba(245, 166, 35, 0.9);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
  flex-shrink: 0;
}
.bottom-bar__text {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.bottom-bar__highlight {
  color: #f5a623;
}

/* 右侧表单区 */
.bottom-bar__form {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bottom-bar__input {
  height: 36px;
  border: 1px solid rgba(255,255,255,.2);
  background: #fff;
  border-radius: 8px;
  padding: 0 12px;
  font-size: 13px;
  color: #1f2937;
  outline: none;
  transition: all 0.2s;
  min-width: 150px;
}
.bottom-bar__input::placeholder {
  color: #9ca3af;
}
.bottom-bar__input:focus {
  border-color: #f5a623;
  box-shadow: 0 0 0 3px rgba(245,166,35,.15);
}

.bottom-bar__btn {
  height: 36px;
  padding: 0 22px;
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.22s ease;
  box-shadow: 0 2px 8px rgba(37,99,235,.3);
}
.bottom-bar__btn:hover {
  background: #1d4ed8;
  box-shadow: 0 4px 14px rgba(37,99,235,.45);
  transform: translateY(-1px);
}
.bottom-bar__btn:active {
  transform: translateY(0);
}

/* 关闭按钮 */
.bottom-bar__close {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 26px;
  height: 26px;
  border: none;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.55);
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: all .2s;
  opacity: 0;
}
.bottom-bar:hover .bottom-bar__close { opacity: 1; }
.bottom-bar__close:hover { background: rgba(255,255,255,.2); color: #fff; }

/* 页面底部留出空间避免遮挡页脚 */
body.has-bottom-bar { padding-bottom: 70px; }

/* ---------- 隐私合规：蜜罐字段 / 同意勾选 / 页脚链接 ---------- */
/* honeypot 蜜罐：视觉与读屏均隐藏，正常用户不会填，机器人常自动填充 */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
/* 主表单「我已阅读并同意隐私政策」勾选 */
.form__consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 4px 0 14px;
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  line-height: 1.5;
}
.form__consent input[type="checkbox"] {
  width: auto;
  margin: 3px 0 0;
  flex-shrink: 0;
}
.form__consent a { color: var(--color-brand); text-decoration: underline; }
/* 底部获客条：显式同意勾选 */
.bottom-bar__form { flex-wrap: wrap; }
.bottom-bar__consent {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 11px;
  color: rgba(255,255,255,.75);
  line-height: 1.3;
  cursor: pointer;
}
.bottom-bar__consent input[type="checkbox"] {
  width: auto;
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
}
.bottom-bar__consent a { color: #fff; text-decoration: underline; }

/* =========================================================
   14. 网站评估悬浮框（默认收起，点击向上展开，不打扰阅读）
   ========================================================= */
.site-assess {
  position: fixed;
  left: 20px;
  bottom: 84px;            /* 高于底部获客条，避免遮挡 */
  z-index: 10000;          /* 高于联系卡(9999)与底部条(9998) */
  font-family: var(--font-base);
}
.site-assess__trigger {
  display: none; /* 已集成到联系卡内，隐藏独立胶囊按钮 */
}

.site-assess__panel {
  position: absolute;
  left: 0;
  bottom: calc(100% + 12px);
  width: 320px;
  max-width: calc(100vw - 40px);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(20, 40, 70, .22);
  border: 1px solid rgba(27, 58, 107, .06);
  padding: 20px 20px 18px;
  animation: sa-pop .25s ease;
}
.site-assess__panel[hidden] { display: none; }
@keyframes sa-pop { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.site-assess__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 26px;
  height: 26px;
  border: none;
  background: transparent;
  color: #9aa3b2;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
}
.site-assess__close:hover { background: #f2f5f9; color: #5b6675; }

.site-assess__head h4 { margin: 0 0 6px; font-size: 17px; color: #1b2a44; }
.site-assess__head p { margin: 0 0 14px; font-size: 13px; color: #6b7488; line-height: 1.55; }
.site-assess__head strong { color: #e85a3c; }

.site-assess__form label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #3a4458;
  margin: 12px 0 6px;
}
.site-assess__form input[type="url"],
.site-assess__form input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #dde3ec;
  border-radius: 10px;
  font-size: 14px;
  font-family: inherit;
  color: #1f2937;
  background: #fff;
}
.site-assess__form input:focus {
  outline: none;
  border-color: #2f6fb3;
  box-shadow: 0 0 0 3px rgba(47, 111, 179, .15);
}
.site-assess__consent {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12px;
  color: #6b7488;
  margin-top: 12px;
  line-height: 1.45;
}
.site-assess__consent input { margin-top: 2px; flex-shrink: 0; }
.site-assess__consent a { color: #2f6fb3; text-decoration: underline; }
.site-assess__btn {
  width: 100%;
  margin-top: 14px;
  padding: 11px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #f5a623, #e85a3c);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: filter .2s ease;
}
.site-assess__btn:hover { filter: brightness(1.05); }
.site-assess__btn:disabled { opacity: .7; cursor: default; }
.site-assess__status { margin: 10px 0 0; font-size: 13px; min-height: 16px; }
.site-assess__status.is-error { color: #dc2626; }
.site-assess__status.is-success { color: #16a34a; }

/* 移动端：抬高收起按钮，避免与加高的底部条重叠 */
@media (max-width: 768px) {
  .site-assess { left: 12px; bottom: 116px; }
  .site-assess__panel { width: 300px; }
}
/* 页脚版权行内的链接（隐私政策）可见 */
.footer__bottom a { color: inherit; text-decoration: underline; }
