﻿/* ═══════════════════════════════════════════════════════════
   芯芸达 GEO 深圳服务中心 — Design System
   深圳站独立视觉：深湾蓝主色 + 青绿信号 + 暖金 CTA
   Anti-slop: 无渐变文字 / 无 em-dash / 圆角 ≤ 16px / 单一强调色
   ═══════════════════════════════════════════════════════════ */

/* ── 1. TOKENS ─────────────────────────────────────────────── */
:root {
  /* Shenzhen palette: river blue, coral signal, porcelain paper. */
  --paper: oklch(0.985 0.012 95);
  --ink: oklch(0.18 0.035 282);

  /* River blue — 主色 */
  --primary: oklch(0.36 0.18 282);
  --primary-foreground: oklch(0.99 0.01 95);
  --primary-soft: oklch(0.94 0.06 278);
  --primary-deep: oklch(0.24 0.16 278);

  /* Coral signal — 点缀（标签、下划线、描边） */
  --accent-teal: oklch(0.73 0.18 38);
  --accent-teal-soft: oklch(0.95 0.05 48);

  /* CTA — 珊瑚橙 */
  --cta: oklch(0.75 0.19 38);
  --cta-foreground: oklch(0.16 0.04 282);

  /* Warm porcelain — 分带背景 */
  --cream-soft: oklch(0.97 0.03 55);
  --cream: oklch(0.94 0.05 55);
  --cream-deep: oklch(0.82 0.11 48);

  /* Neutrals */
  --muted: oklch(0.96 0.015 265);
  --muted-foreground: oklch(0.45 0.025 270);
  --rule: oklch(0.89 0.02 270);
  --border: oklch(0.91 0.02 270);

  /* Radius 系统：卡片 16px / 内嵌 10px / 胶囊按钮 */
  --radius-card: 16px;
  --radius-inner: 10px;

  /* 阴影（不叠加宽泛外发光） */
  --shadow-card: 0 1px 3px oklch(0.18 0.02 200 / 0.05), 0 4px 16px oklch(0.18 0.02 200 / 0.06);
  --shadow-card-hover: 0 4px 12px oklch(0.18 0.02 200 / 0.06), 0 12px 32px oklch(0.18 0.02 200 / 0.08);

  --section-gap: clamp(3.5rem, 6vw, 5.5rem);
  --header-h: 68px;
}

/* ── 2. BASE ───────────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 12px);
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  font-feature-settings: "ss01", "cv11";
  overflow-x: hidden;
}

h1, h2, h3 {
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-wrap: balance;
}

h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(1.75rem, 3.4vw, 2.6rem); letter-spacing: -0.025em; }
h3 { font-size: 1.25rem; }

p { text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul, ol { list-style: none; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; }
::selection { background: var(--accent-teal); color: var(--ink); }

:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── 3. LAYOUT UTILITIES ───────────────────────────────────── */
.container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

/* Static news pages use a small Tailwind-like class subset from build.mjs. */
.mx-auto { margin-inline: auto; }
.max-w-4xl { max-width: 56rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.pt-6 { padding-top: 1.5rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-12 { margin-top: 3rem; }
.flex { display: flex; }
.items-center { align-items: center; }
.gap-3 { gap: 0.75rem; }
.border-t { border-top: 1px solid var(--rule); }
.border-l-2 { border-left: 2px solid var(--rule); }
.border-primary\/30 { border-color: oklch(0.36 0.07 165 / 0.3); }
.hairline { border-color: var(--rule); }
.pl-4 { padding-left: 1rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.font-display-black { font-family: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; font-weight: 900; }
.uppercase { text-transform: uppercase; }
.tracking-\[0\.2em\] { letter-spacing: 0.2em; }
.tracking-tight { letter-spacing: 0; }
.leading-\[1\.25\] { line-height: 1.25; }
.leading-relaxed { line-height: 1.625; }
.break-keep { word-break: keep-all; overflow-wrap: anywhere; }
.text-balance { text-wrap: balance; }
.text-muted-foreground { color: var(--muted-foreground); }
.text-primary { color: var(--primary); }
.transition-colors { transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease; }
.hover\:text-primary:hover { color: var(--primary); }

@media (min-width: 768px) {
  .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
}

@media (min-width: 1024px) {
  .lg\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }
}

.section {
  padding-block: var(--section-gap);
}

.bg-cream { background: var(--cream-soft); }
.bg-paper { background: var(--paper); }
.bg-dark {
  background: var(--primary-deep);
  color: var(--primary-foreground);
}

.section-head {
  max-width: 44rem;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}
.section-head.center { margin-inline: auto; text-align: center; }
.section-head .lead { margin-top: 0.9rem; color: var(--muted-foreground); font-size: 1.02rem; max-width: 60ch; }
.section-head.center .lead { margin-inline: auto; }

/* 徽标式小标签（全站最多 2 处，避免模板化） */
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.9rem;
  border-radius: 9999px;
  background: var(--accent-teal-soft);
  color: oklch(0.4 0.09 180);
  border: 1px solid oklch(0.78 0.13 180 / 0.4);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 1.4rem;
}

/* ── 4. BUTTONS ────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  height: 3.25rem;
  padding: 0 1.75rem;
  border-radius: 9999px;
  font-size: 0.95rem;
  font-weight: 600;
  white-space: nowrap;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease, background 0.25s ease;
}

.btn-cta {
  background: var(--cta);
  color: var(--cta-foreground);
  box-shadow: 0 8px 24px -12px oklch(0.85 0.16 90 / 0.7);
}
.btn-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -12px oklch(0.85 0.16 90 / 0.8); }
.btn-cta .arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  background: var(--ink);
  color: var(--cta);
  font-size: 0.85rem;
  line-height: 1;
}

.btn-ghost {
  border: 1.5px solid var(--border);
  color: var(--ink);
  background: transparent;
}
.btn-ghost:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); }

.btn-outline-teal {
  border: 1.5px solid var(--accent-teal);
  color: oklch(0.4 0.09 180);
  background: transparent;
}
.btn-outline-teal:hover { background: var(--accent-teal-soft); transform: translateY(-2px); }

.btn-lg { height: 3.6rem; padding-inline: 2.25rem; font-size: 1rem; }

/* ── 5. HEADER ─────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: oklch(0.28 0.08 165 / 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--primary-foreground);
  border-bottom: 1px solid oklch(1 0 0 / 0.1);
}

.site-header .bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: var(--header-h);
}

.brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
}
.brand img { width: 38px; height: 38px; border-radius: 9px; background: var(--paper); object-fit: cover; }
.brand .brand-name { font-weight: 900; letter-spacing: -0.02em; font-size: 1.05rem; white-space: nowrap; }
.brand .brand-sub { display: block; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.06em; color: oklch(1 0 0 / 0.55); white-space: nowrap; }

.site-nav { display: flex; align-items: center; gap: 1.6rem; }
.site-nav a {
  font-size: 0.9rem;
  font-weight: 500;
  color: oklch(1 0 0 / 0.82);
  transition: color 0.2s ease;
  white-space: nowrap;
}
.site-nav a:hover { color: var(--cta); }
.site-nav a.active { color: var(--cta); }

.header-actions { display: flex; align-items: center; gap: 0.9rem; }
.hotline {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--cta);
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.hotline:hover { color: oklch(0.9 0.16 90); }

.btn-header {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 2.6rem;
  padding: 0 0.9rem 0 1.2rem;
  border-radius: 9999px;
  background: var(--cta);
  color: var(--cta-foreground);
  font-size: 0.88rem;
  font-weight: 600;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-header:hover { transform: translateY(-1px); box-shadow: 0 8px 20px -10px oklch(0.85 0.16 90 / 0.7); }
.btn-header .dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 9999px;
  background: var(--ink);
  color: var(--cta);
}

/* 移动端菜单 */
.nav-toggle { display: none; width: 2.6rem; height: 2.6rem; border-radius: 9999px; border: 1px solid oklch(1 0 0 / 0.25); align-items: center; justify-content: center; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
  display: block; width: 18px; height: 2px; background: var(--primary-foreground); border-radius: 2px; position: relative; transition: transform 0.25s ease, opacity 0.2s ease;
}
.nav-toggle span::before, .nav-toggle span::after { content: ""; position: absolute; left: 0; }
.nav-toggle span::before { top: -6px; }
.nav-toggle span::after { top: 6px; }
.nav-toggle.open span { background: transparent; }
.nav-toggle.open span::before { transform: rotate(45deg); top: 0; }
.nav-toggle.open span::after { transform: rotate(-45deg); top: 0; }

.mobile-nav {
  display: none;
  position: absolute;
  inset-inline: 0;
  top: var(--header-h);
  background: var(--primary-deep);
  border-bottom: 1px solid oklch(1 0 0 / 0.1);
  padding: 1rem 1.25rem 1.5rem;
  flex-direction: column;
  gap: 0.25rem;
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
  padding: 0.75rem 0.5rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  color: oklch(1 0 0 / 0.9);
}
.mobile-nav a:hover, .mobile-nav a.active { color: var(--cta); background: oklch(1 0 0 / 0.06); }

/* ── 6. HERO ───────────────────────────────────────────────── */
.hero {
  position: relative;
  overflow: hidden;
  background: var(--primary-deep);
  color: var(--primary-foreground);
  border-bottom: 2px solid oklch(0.78 0.13 180 / 0.25);
  min-height: max(680px, 92dvh);
  display: flex;
  align-items: center;
}

.hero-bg {
  position: absolute;
  inset: 0;
  background-image: url("../img/hero-bg.webp");
  background-size: cover;
  background-position: center;
  opacity: 0.5;
  will-change: transform;
}
.hero-wash {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 75% 80% at 50% 45%, oklch(0.18 0.05 175 / 0.5) 0%, oklch(0.16 0.06 175 / 0.78) 55%, oklch(0.12 0.06 175 / 0.94) 100%);
}
.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.78 0.13 180 / 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.78 0.13 180 / 0.1) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 40%, transparent 90%);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 40%, transparent 90%);
  opacity: 0.5;
}

.hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  padding-block: clamp(4rem, 9vh, 6rem);
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.95rem;
  border-radius: 9999px;
  background: oklch(1 0 0 / 0.1);
  border: 1px solid oklch(1 0 0 / 0.22);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
  backdrop-filter: blur(4px);
}
.hero-eyebrow .live-dot {
  width: 7px; height: 7px; border-radius: 9999px;
  background: var(--cta);
  box-shadow: 0 0 0 0 oklch(0.85 0.16 90 / 0.6);
  animation: pulse-dot 2s ease-in-out infinite;
}

.hero h1 {
  color: var(--primary-foreground);
  font-size: clamp(2.5rem, 5.4vw, 4.1rem);
  line-height: 1.08;
}
.hero h1 .hl { color: var(--cta); }
.hero h1 .sub-line { display: block; margin-top: 0.15em; }

.hero-sub {
  margin-top: 1.5rem;
  max-width: 52ch;
  color: oklch(1 0 0 / 0.78);
  font-size: clamp(0.98rem, 1.6vw, 1.1rem);
}
.hero-sub strong { color: var(--primary-foreground); font-weight: 600; }

.hero-ctas { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.2rem; }
.hero-ctas .btn-ghost-light {
  border-color: oklch(1 0 0 / 0.4);
  color: var(--primary-foreground);
}
.hero-ctas .btn-ghost-light:hover { background: oklch(1 0 0 / 0.1); border-color: oklch(1 0 0 / 0.6); transform: translateY(-2px); }

.hero-note {
  margin-top: 1.6rem;
  font-size: 0.8rem;
  color: oklch(1 0 0 / 0.5);
  letter-spacing: 0.02em;
}

/* Hero 右侧：GEO 诊断卡（真实组件预览，非 div 假截图） */
.hero-panel {
  position: relative;
}
.hero-panel::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 18px;
  padding: 1px;
  background: linear-gradient(135deg, transparent, oklch(0.78 0.13 180 / 0.35), transparent);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.dash-card {
  position: relative;
  border-radius: 16px;
  background: oklch(0.99 0.003 180 / 0.96);
  color: var(--ink);
  overflow: hidden;
  box-shadow: 0 30px 60px -20px oklch(0.1 0.05 180 / 0.6);
  animation: float-card 6s ease-in-out infinite;
}

.dash-chrome {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.8rem 1.1rem;
  border-bottom: 1px solid var(--rule);
  background: var(--muted);
}
.dash-chrome i { width: 11px; height: 11px; border-radius: 9999px; display: block; }
.dash-chrome i:nth-child(1) { background: oklch(0.65 0.2 25); }
.dash-chrome i:nth-child(2) { background: var(--cta); }
.dash-chrome i:nth-child(3) { background: var(--accent-teal); }
.dash-chrome .t {
  margin-left: 0.6rem;
  font-size: 0.68rem;
  font-family: ui-monospace, "JetBrains Mono", monospace;
  color: var(--muted-foreground);
  letter-spacing: 0.04em;
}

.dash-body { padding: 1.4rem 1.4rem 1.6rem; }
.dash-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1rem; }
.dash-head h3 { font-size: 1.05rem; font-weight: 800; }
.dash-head .tag { font-size: 0.65rem; font-weight: 700; color: var(--accent-teal); font-family: ui-monospace, monospace; letter-spacing: 0.1em; }

.kpi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.kpi {
  border: 1px solid var(--rule);
  border-radius: 10px;
  padding: 0.85rem 0.95rem;
  background: var(--paper);
}
.kpi .k-label { font-size: 0.66rem; font-weight: 600; letter-spacing: 0.08em; color: var(--muted-foreground); text-transform: uppercase; display: flex; justify-content: space-between; }
.kpi .k-delta { color: var(--accent-teal); font-weight: 700; }
.kpi .k-value { font-size: 1.55rem; font-weight: 900; letter-spacing: -0.02em; color: var(--primary); font-variant-numeric: tabular-nums; margin-top: 0.2rem; }
.kpi .k-track { height: 5px; border-radius: 9999px; background: var(--muted); margin-top: 0.6rem; overflow: hidden; }
.kpi .k-track i { display: block; height: 100%; border-radius: 9999px; background: var(--primary); }

.dash-foot {
  margin-top: 1rem;
  padding: 0.85rem 1.1rem;
  border: 1.5px dashed oklch(0.9 0.01 180);
  border-radius: 10px;
  background: var(--primary-soft);
  font-size: 0.8rem;
  color: oklch(0.3 0.05 175);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}
.dash-foot .mini-cta {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--cta-foreground);
  background: var(--cta);
  border-radius: 9999px;
  padding: 0.4rem 0.9rem;
  white-space: nowrap;
  transition: transform 0.2s ease;
}
.dash-foot .mini-cta:hover { transform: translateY(-1px); }

.hero-float-chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.95rem;
  border-radius: 9999px;
  background: oklch(0.99 0.003 180 / 0.94);
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 600;
  box-shadow: 0 12px 28px -12px oklch(0.1 0.05 180 / 0.5);
  border: 1px solid var(--rule);
  animation: float-chip 5.5s ease-in-out infinite;
}
.hero-float-chip svg { width: 15px; height: 15px; color: var(--accent-teal); }
.hero-float-chip.chip-1 { top: -1.2rem; left: -1.4rem; animation-delay: 0.3s; }
.hero-float-chip.chip-2 { bottom: 1.2rem; right: -1rem; animation-delay: 1.2s; }

/* ── 7. MARQUEE（全站仅此一处）────────────────────────────── */
.marquee-band { background: var(--primary); color: var(--primary-foreground); padding-block: 1.1rem; overflow: hidden; border-bottom: 1px solid oklch(1 0 0 / 0.08); }
.marquee-track { display: flex; gap: 2.2rem; width: max-content; animation: marquee 32s linear infinite; }
.marquee-band:hover .marquee-track { animation-play-state: paused; }
.marquee-item { display: flex; align-items: center; gap: 0.55rem; font-size: 0.92rem; font-weight: 600; color: oklch(1 0 0 / 0.85); white-space: nowrap; }
.marquee-item svg { width: 15px; height: 15px; color: var(--cta); flex-shrink: 0; }
.marquee-item.sep { color: oklch(1 0 0 / 0.25); }

/* ── 8. STATS ──────────────────────────────────────────────── */
.stats { border-block: 1px solid var(--rule); background: var(--paper); }
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.stat {
  text-align: center;
  padding-block: 0.5rem;
}
.stat .num {
  font-size: clamp(2.2rem, 4.4vw, 3.2rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--primary);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.stat .num .suffix { font-size: 0.6em; color: var(--accent-teal); }
.stat .label { margin-top: 0.6rem; font-size: 0.88rem; color: var(--muted-foreground); }
.stat + .stat { border-left: 1px solid var(--rule); }

/* ── 9. 为什么选择（编辑式双栏）───────────────────────────── */
.why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}
.why-aside { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.why-aside h2 { margin-top: 0.2rem; }
.why-aside p { margin-top: 1.1rem; color: var(--muted-foreground); max-width: 46ch; }
.why-list { display: flex; flex-direction: column; }
.why-item {
  display: grid;
  grid-template-columns: 3.2rem 1fr;
  gap: 1.2rem;
  padding-block: 1.7rem;
  border-top: 1px solid var(--rule);
}
.why-item:last-child { border-bottom: 1px solid var(--rule); }
.why-item .idx {
  font-family: ui-monospace, monospace;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--accent-teal);
  padding-top: 0.15rem;
}
.why-item h3 { font-size: 1.2rem; margin-bottom: 0.45rem; }
.why-item p { font-size: 0.95rem; color: var(--muted-foreground); max-width: 52ch; }

/* ── 10. 服务体系（非对称网格）───────────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1.1rem;
}
.service-card {
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background: var(--paper);
  padding: 1.9rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: oklch(0.6 0.1 170 / 0.5); }
.service-card.wide { grid-column: span 2; }
.service-card .icon {
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 12px;
  background: var(--primary-soft);
  color: var(--primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.2rem;
}
.service-card .icon svg { width: 1.4rem; height: 1.4rem; }
.service-card h3 { font-size: 1.15rem; margin-bottom: 0.5rem; }
.service-card p { font-size: 0.9rem; color: var(--muted-foreground); }
.service-card .num-tag {
  position: absolute;
  top: 1.6rem;
  right: 1.7rem;
  font-family: ui-monospace, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--border);
}
.service-card:hover .num-tag { color: var(--accent-teal); }
.service-card .points { margin-top: 1.1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.service-card .points li { display: flex; gap: 0.55rem; font-size: 0.85rem; color: oklch(0.35 0.02 200); align-items: flex-start; }
.service-card .points li::before { content: "✓"; color: var(--primary); font-weight: 800; flex-shrink: 0; }

/* ── 11. 方法论（深色带 + 真顺序编号）───────────────────── */
.method { background: var(--primary-deep); color: var(--primary-foreground); position: relative; overflow: hidden; }
.method .bg-grid { opacity: 0.12; }
.method .section-head h2 { color: var(--primary-foreground); }
.method .section-head .lead { color: oklch(1 0 0 / 0.65); }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.step {
  border: 1px solid oklch(1 0 0 / 0.14);
  border-radius: var(--radius-card);
  background: oklch(1 0 0 / 0.05);
  padding: 1.8rem 1.5rem;
  position: relative;
  transition: background 0.3s ease, transform 0.3s ease;
}
.step:hover { background: oklch(1 0 0 / 0.09); transform: translateY(-3px); }
.step .step-no {
  font-family: ui-monospace, monospace;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--cta);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.step .step-no::after { content: ""; flex: 1; height: 1px; background: oklch(1 0 0 / 0.15); }
.step h3 { font-size: 1.1rem; margin: 1rem 0 0.55rem; color: var(--primary-foreground); }
.step p { font-size: 0.86rem; color: oklch(1 0 0 / 0.62); line-height: 1.65; }
.step .dur {
  display: inline-block;
  margin-top: 1rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: oklch(1 0 0 / 0.45);
  letter-spacing: 0.04em;
}

/* ── 12. 硬件出海服务中心（图文分栏）───────────────────────────── */
.local-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(2.5rem, 6vw, 4.5rem);
  align-items: center;
}
.local-scene {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  aspect-ratio: 4 / 3.4;
  background:
    radial-gradient(ellipse 60% 50% at 70% 20%, oklch(0.5 0.12 170 / 0.35), transparent 60%),
    linear-gradient(160deg, var(--primary-deep), oklch(0.2 0.07 180));
  display: flex;
  align-items: flex-end;
  padding: 1.6rem;
  border: 1px solid oklch(0.78 0.13 180 / 0.2);
}
.local-scene .scene-label {
  font-size: 0.95rem;
  font-weight: 700;
  color: oklch(1 0 0 / 0.85);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.local-scene .scene-label svg { width: 1.1rem; height: 1.1rem; color: var(--cta); }
.local-features { display: flex; flex-direction: column; }
.local-feature {
  display: grid;
  grid-template-columns: 2.6rem 1fr;
  gap: 1rem;
  padding-block: 1.35rem;
  border-top: 1px solid var(--rule);
}
.local-feature:last-child { border-bottom: 1px solid var(--rule); }
.local-feature .f-icon {
  width: 2.6rem; height: 2.6rem;
  border-radius: 10px;
  background: var(--accent-teal-soft);
  color: oklch(0.4 0.09 180);
  display: flex;
  align-items: center;
  justify-content: center;
}
.local-feature .f-icon svg { width: 1.2rem; height: 1.2rem; }
.local-feature h3 { font-size: 1.08rem; margin-bottom: 0.3rem; }
.local-feature p { font-size: 0.9rem; color: var(--muted-foreground); max-width: 52ch; }

/* ── 13. 案例（横向行，非统一卡片）───────────────────────── */
.case-row {
  display: grid;
  grid-template-columns: 11rem 1fr auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.8rem 0.5rem;
  border-top: 1px solid var(--rule);
  transition: background 0.25s ease;
}
.case-row:hover { background: var(--primary-soft); }
.case-row:last-child { border-bottom: 1px solid var(--rule); }
.case-row .case-tag {
  font-family: ui-monospace, monospace;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--primary);
  text-transform: uppercase;
}
.case-row .case-main h3 { font-size: 1.2rem; margin-bottom: 0.35rem; }
.case-row .case-main p { font-size: 0.9rem; color: var(--muted-foreground); max-width: 56ch; }
.case-row .case-metrics { display: flex; gap: 1.8rem; }
.case-metric { text-align: right; }
.case-metric .v { font-size: 1.5rem; font-weight: 900; letter-spacing: -0.02em; color: var(--primary); font-variant-numeric: tabular-nums; }
.case-metric:nth-child(2) .v { color: var(--accent-teal); }
.case-metric .l { font-size: 0.72rem; color: var(--muted-foreground); margin-top: 0.15rem; white-space: nowrap; }

/* ── 14. FAQ ──────────────────────────────────────────────── */
.faq-wrap { max-width: 46rem; margin-inline: auto; }
.faq-item { border-bottom: 1px solid var(--rule); }
.faq-item:first-child { border-top: 1px solid var(--rule); }
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1.35rem 0.4rem;
  text-align: left;
  font-size: 1.04rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
  transition: color 0.2s ease;
}
.faq-q:hover { color: var(--primary); }
.faq-q .chev {
  flex-shrink: 0;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 9999px;
  border: 1px solid var(--border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s ease;
}
.faq-item.open .chev { transform: rotate(45deg); background: var(--primary-soft); }
.faq-a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-item.open .faq-a { grid-template-rows: 1fr; }
.faq-a .inner { overflow: hidden; }
.faq-a p { padding: 0 0.4rem 1.4rem; color: var(--muted-foreground); font-size: 0.95rem; max-width: 60ch; line-height: 1.8; }

/* ── 15. 资质条（E-E-A-T 信号）───────────────────────────── */
.cred-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.cred {
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background: var(--paper);
  padding: 1.5rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cred .c-icon { color: var(--primary); }
.cred .c-icon svg { width: 1.5rem; height: 1.5rem; }
.cred h3 { font-size: 1rem; }
.cred p { font-size: 0.82rem; color: var(--muted-foreground); line-height: 1.65; }

/* ── 16. CONTACT CTA ──────────────────────────────────────── */
.cta-band {
  background: var(--primary-deep);
  color: var(--primary-foreground);
  position: relative;
  overflow: hidden;
}
.cta-band .bg-grid { opacity: 0.12; }
.cta-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2.5rem, 6vw, 4.5rem); align-items: start; position: relative; }
.cta-band h2 { color: var(--primary-foreground); }
.cta-band .lead { color: oklch(1 0 0 / 0.7); margin-top: 1rem; max-width: 46ch; }
.cta-points { margin-top: 1.8rem; display: flex; flex-direction: column; gap: 0.75rem; }
.cta-points li { display: flex; gap: 0.6rem; align-items: center; font-size: 0.95rem; color: oklch(1 0 0 / 0.85); }
.cta-points li svg { width: 1.1rem; height: 1.1rem; color: var(--cta); flex-shrink: 0; }

.contact-card {
  border-radius: var(--radius-card);
  background: var(--paper);
  color: var(--ink);
  padding: 2rem;
  box-shadow: 0 30px 60px -24px oklch(0.1 0.05 180 / 0.7);
}
.contact-card h3 { font-size: 1.3rem; margin-bottom: 1.4rem; }
.field { margin-bottom: 1rem; }
.field label { display: block; font-size: 0.84rem; font-weight: 600; margin-bottom: 0.4rem; color: oklch(0.35 0.02 200); }
.field input {
  width: 100%;
  height: 3rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0 0.95rem;
  font: inherit;
  font-size: 0.95rem;
  background: var(--paper);
  color: var(--ink);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.field input::placeholder { color: var(--muted-foreground); opacity: 0.75; }
.field input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px oklch(0.36 0.07 165 / 0.15);
}
.form-status {
  display: none;
  margin-top: 0.9rem;
  padding: 0.8rem 1rem;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 600;
}
.form-status.ok { display: block; background: var(--primary-soft); color: var(--primary); }
.form-status.err { display: block; background: oklch(0.93 0.05 25 / 0.35); color: oklch(0.45 0.15 25); }
.btn-submit { width: 100%; margin-top: 0.4rem; }

.contact-info { margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--rule); display: flex; flex-direction: column; gap: 0.7rem; }
.contact-info .ci { display: flex; gap: 0.7rem; align-items: flex-start; font-size: 0.88rem; color: oklch(0.4 0.02 200); }
.contact-info .ci svg { width: 1rem; height: 1rem; color: var(--primary); margin-top: 0.2rem; flex-shrink: 0; }
.contact-info .ci > span { min-width: 0; overflow-wrap: anywhere; }
.contact-info .ci a { font-weight: 700; color: var(--primary); }
.contact-info .ci a:hover { text-decoration: underline; text-underline-offset: 3px; }
.contact-info .ci .todo-tag {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--cta-foreground);
  background: var(--cta);
  border-radius: 9999px;
  padding: 0.15rem 0.55rem;
  margin-left: 0.4rem;
  vertical-align: middle;
}

/* ── 17. FOOTER ───────────────────────────────────────────── */
.site-footer { background: oklch(0.14 0.03 190); color: oklch(1 0 0 / 0.7); padding-top: 3.5rem; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem; padding-bottom: 2.5rem; }
.footer-brand img { width: 40px; height: 40px; border-radius: 10px; background: var(--paper); }
.footer-brand .fb-name { font-weight: 800; color: var(--primary-foreground); font-size: 1.05rem; margin-top: 0.9rem; }
.footer-brand p { font-size: 0.85rem; margin-top: 0.6rem; max-width: 34ch; line-height: 1.7; color: oklch(1 0 0 / 0.55); }
.footer-col h4 { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: oklch(1 0 0 / 0.45); margin-bottom: 1rem; }
.footer-col a { display: block; font-size: 0.88rem; color: oklch(1 0 0 / 0.7); padding-block: 0.3rem; transition: color 0.2s ease; }
.footer-col a:hover { color: var(--cta); }
.footer-bottom {
  border-top: 1px solid oklch(1 0 0 / 0.1);
  padding-block: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8rem;
  color: oklch(1 0 0 / 0.4);
}
.footer-bottom a { color: oklch(1 0 0 / 0.55); }
.footer-bottom a:hover { color: var(--cta); }
.footer-bottom .icp { display: inline-flex; gap: 0.3rem; align-items: center; }

/* ── 18. REVEAL / ANIMATION 系统 ───────────────────────────
   隐藏态仅在 .js 生效（由 main.js 在 html 上加 class），
   无 JS / 爬虫环境下内容始终可见，不阻塞 AI 抓取。 */
.js .reveal, .js .reveal-l, .js .reveal-r, .js .reveal-scale, .js .reveal-stagger > * {
  opacity: 0;
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.7s ease;
  will-change: transform, opacity, filter;
}
.js .reveal { transform: translateY(32px); }
.js .reveal-l { transform: translateX(-32px); }
.js .reveal-r { transform: translateX(32px); }
.js .reveal-scale { transform: scale(0.94); }
.js .reveal-stagger > * { transform: translateY(24px); }
.reveal.in-view, .reveal-l.in-view, .reveal-r.in-view, .reveal-scale.in-view { opacity: 1; transform: none; filter: none; }
.reveal-stagger.in-view > * { opacity: 1; transform: none; }
.reveal-stagger.in-view > *:nth-child(1) { transition-delay: 0ms; }
.reveal-stagger.in-view > *:nth-child(2) { transition-delay: 90ms; }
.reveal-stagger.in-view > *:nth-child(3) { transition-delay: 180ms; }
.reveal-stagger.in-view > *:nth-child(4) { transition-delay: 270ms; }
.reveal-stagger.in-view > *:nth-child(5) { transition-delay: 360ms; }
.reveal-stagger.in-view > *:nth-child(6) { transition-delay: 450ms; }

/* 数字滚动 */
.js .stat .num { opacity: 0; transform: translateY(14px); transition: opacity 0.4s ease, transform 0.4s ease; }
.stat .num.counted { opacity: 1; transform: none; }

/* 滚动进度条（默认隐藏，滚动后才显示，避免顶部多余条带） */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta));
  z-index: 200;
  border-radius: 0 3px 3px 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.scroll-progress.visible { opacity: 1; }

/* 回到顶部 */
.to-top {
  position: fixed;
  right: 1.4rem;
  bottom: 1.4rem;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background: var(--primary);
  color: var(--primary-foreground);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 28px -12px oklch(0.1 0.05 180 / 0.5);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  z-index: 90;
}
.to-top.show { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { transform: translateY(-3px); }
.to-top svg { width: 1.1rem; height: 1.1rem; }

/* 3D tilt 卡片 */
.tilt-card { transform-style: preserve-3d; transition: transform 0.2s ease-out; }

/* Keyframes */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes float-card { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes float-chip { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes pulse-dot {
  0% { box-shadow: 0 0 0 0 oklch(0.85 0.16 90 / 0.55); }
  70% { box-shadow: 0 0 0 9px oklch(0.85 0.16 90 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.85 0.16 90 / 0); }
}
@keyframes rise-in {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }

.anim-rise { animation: rise-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) both; }
.anim-fade { animation: fade-in 1s ease both; }
.delay-1 { animation-delay: 0.12s; }
.delay-2 { animation-delay: 0.24s; }
.delay-3 { animation-delay: 0.36s; }
.delay-4 { animation-delay: 0.48s; }

/* ── 19. RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 1024px) {
  .site-nav { display: none; }
  .nav-toggle { display: inline-flex; }
  .hero-inner { grid-template-columns: 1fr; }
  .hero-panel { max-width: 540px; }
  .hero-float-chip.chip-2 { right: auto; left: 0.5rem; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; }
  .stat:nth-child(3) { border-left: none; }
  .stat:nth-child(even) { border-left: 1px solid var(--rule); }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .service-card.wide { grid-column: span 2; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .why-grid, .local-grid, .cta-grid { grid-template-columns: 1fr; }
  .why-aside { position: static; }
  .local-scene { max-width: 560px; }
  .cred-strip { grid-template-columns: repeat(2, 1fr); }
  .case-row { grid-template-columns: 1fr; gap: 0.8rem; padding-block: 1.5rem; }
  .case-row .case-metrics { justify-content: flex-start; }
  .case-metric { text-align: left; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .services-grid { grid-template-columns: 1fr; }
  .service-card.wide { grid-column: span 1; }
  .steps { grid-template-columns: 1fr; }
  .cred-strip { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .header-actions .btn-header span.label { display: none; }
  .header-actions .btn-header { padding-left: 1.1rem; }
  .hero-panel { margin-inline: auto; }
  .case-metrics { flex-wrap: wrap; gap: 1rem 1.6rem; }
}

@media (max-width: 520px) {
  .site-header .bar { gap: 0.75rem; }
  .header-actions { gap: 0.65rem; }
  .hotline { display: none; }
  .brand .brand-name { font-size: 1rem; }
  .site-header .btn-header { display: none; }
}

/* ── Shenzhen homepage v2: industrial AI radar ─────────────── */
.gd-home {
  background: oklch(0.985 0.006 165);
  color: var(--ink);
  overflow-x: hidden;
}

.zj-signal-hero {
  position: relative;
  overflow: hidden;
  min-height: min(820px, calc(100svh - var(--header-h)));
  display: flex;
  align-items: center;
  background:
    linear-gradient(105deg, oklch(0.125 0.045 165) 0%, oklch(0.16 0.055 168) 47%, oklch(0.9 0.018 82) 47.1%, oklch(0.985 0.005 105) 100%);
  color: var(--primary-foreground);
  border-bottom: 1px solid oklch(0.22 0.055 165 / 0.5);
}

.zj-signal-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.zj-grid-plane {
  position: absolute;
  inset: 0 42% 0 0;
  background-image:
    linear-gradient(to right, oklch(0.8 0.12 180 / 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.8 0.12 180 / 0.1) 1px, transparent 1px);
  background-size: 54px 54px;
  opacity: 0.68;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 78%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 78%, transparent 100%);
}

.zj-scan-beam {
  position: absolute;
  top: -15%;
  bottom: -15%;
  width: 14rem;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, oklch(0.82 0.13 180 / 0.17), transparent);
  filter: blur(1px);
  opacity: 0.7;
  animation: zjBeam 8s linear infinite;
}

.zj-scan-beam.beam-a { left: 6%; }
.zj-scan-beam.beam-b { left: 34%; animation-delay: -3s; opacity: 0.45; }

.zj-signal-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(26rem, 1fr);
  gap: 3.4rem;
  align-items: center;
  padding-block: 5.8rem;
}

.zj-signal-copy {
  min-width: 0;
  max-width: 46rem;
}

.zj-signal-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.95rem;
  border: 1px solid oklch(1 0 0 / 0.25);
  border-radius: 999px;
  background: oklch(1 0 0 / 0.08);
  color: oklch(1 0 0 / 0.86);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0;
  backdrop-filter: blur(8px);
}

.zj-signal-kicker .live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 0 oklch(0.85 0.16 90 / 0.65);
  animation: pulse-dot 2s ease-in-out infinite;
}

.zj-signal-copy h1 {
  margin-top: 1.35rem;
  max-width: 12.6ch;
  color: var(--primary-foreground);
  font-size: 4.15rem;
  line-height: 1.05;
  letter-spacing: 0;
}

.zj-signal-copy h1 span {
  display: block;
}

.zj-signal-copy p {
  margin-top: 1.45rem;
  max-width: 42rem;
  color: oklch(1 0 0 / 0.76);
  font-size: 1.08rem;
  line-height: 1.92;
}

.zj-signal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.95rem 1.25rem;
  align-items: center;
  margin-top: 2.25rem;
}

.zj-hero-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--cta);
  font-weight: 850;
  transition: color 0.2s ease, transform 0.2s ease;
}

.zj-hero-link:hover {
  color: oklch(0.93 0.13 88);
  transform: translateX(2px);
}

.zj-hero-link.dark {
  color: var(--primary);
}

.zj-hero-link.dark:hover {
  color: oklch(0.25 0.075 165);
}

.zj-signal-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 2rem;
}

.zj-signal-proof span {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  border: 1px solid oklch(1 0 0 / 0.18);
  border-radius: 999px;
  padding: 0.48rem 0.8rem;
  background: oklch(1 0 0 / 0.07);
  color: oklch(1 0 0 / 0.74);
  font-size: 0.82rem;
}

.zj-signal-proof b {
  color: var(--cta);
  font-size: 1rem;
}

.zj-command-center {
  position: relative;
  min-width: 0;
  border: 1px solid oklch(0.34 0.06 168 / 0.32);
  border-radius: 8px;
  background:
    linear-gradient(180deg, oklch(0.99 0.005 105 / 0.96), oklch(0.95 0.018 92 / 0.98));
  color: var(--ink);
  box-shadow: 0 28px 68px -28px oklch(0.16 0.04 160 / 0.42);
  overflow: hidden;
}

.zj-command-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.4 0.07 165 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.4 0.07 165 / 0.08) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: 0.7;
  pointer-events: none;
}

.zj-command-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid oklch(0.35 0.045 165 / 0.18);
  padding: 1rem 1.15rem;
  background: oklch(0.98 0.007 105 / 0.72);
}

.zj-command-top span {
  color: var(--primary);
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.zj-command-top strong {
  color: var(--muted-foreground);
  font-size: 0.78rem;
  font-weight: 800;
}

.zj-radar-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9.2rem;
  gap: 1rem;
  padding: 1.15rem;
}

.zj-map-frame {
  position: relative;
  min-height: 25rem;
  border: 1px solid oklch(0.36 0.07 165 / 0.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, oklch(0.12 0.045 165), oklch(0.19 0.055 170));
  overflow: hidden;
}

.zj-map-frame::before,
.zj-map-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.zj-map-frame::before {
  background-image:
    linear-gradient(to right, oklch(0.82 0.13 180 / 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.82 0.13 180 / 0.1) 1px, transparent 1px);
  background-size: 34px 34px;
}

.zj-map-frame::after {
  background: linear-gradient(180deg, transparent 0%, oklch(0.83 0.16 90 / 0.15) 48%, transparent 49%);
  animation: zjScanLine 4.8s ease-in-out infinite;
}

.zj-radar-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--ring-size);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px solid oklch(0.78 0.13 180 / 0.28);
  border-radius: 50%;
}

.zj-radar-ring.ring-a { --ring-size: 8.5rem; }
.zj-radar-ring.ring-b { --ring-size: 15.5rem; }
.zj-radar-ring.ring-c { --ring-size: 22rem; }

.zj-radar-sweep {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11rem;
  height: 11rem;
  transform-origin: 0 0;
  background: conic-gradient(from 0deg, oklch(0.82 0.13 180 / 0.28), transparent 56deg);
  animation: zjSweep 5.5s linear infinite;
}

.zj-radar-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 6.5rem;
  height: 6.5rem;
  transform: translate(-50%, -50%);
  border: 1px solid oklch(0.85 0.16 90 / 0.48);
  border-radius: 50%;
  background: oklch(0.15 0.055 165 / 0.94);
  color: var(--primary-foreground);
  box-shadow: inset 0 0 24px oklch(0.82 0.13 180 / 0.18);
}

.zj-radar-core b {
  font-size: 1.45rem;
  line-height: 1;
}

.zj-radar-core em {
  color: oklch(1 0 0 / 0.62);
  font-size: 0.68rem;
  font-style: normal;
}

.zj-node {
  position: absolute;
  z-index: 3;
  display: grid;
  gap: 0.05rem;
  min-width: 5.8rem;
  padding: 0.48rem 0.58rem 0.52rem 1.45rem;
  border: 1px solid oklch(1 0 0 / 0.16);
  border-radius: 8px;
  background: oklch(0.1 0.035 165 / 0.78);
  color: oklch(1 0 0 / 0.88);
  box-shadow: 0 10px 24px -16px oklch(0 0 0 / 0.55);
}

.zj-node i {
  position: absolute;
  left: 0.55rem;
  top: 0.78rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 4px oklch(0.85 0.16 90 / 0.16);
  animation: zjSignal 2.4s ease-in-out infinite;
}

.zj-node b {
  font-size: 0.9rem;
}

.zj-node small {
  color: oklch(1 0 0 / 0.58);
  font-size: 0.66rem;
  line-height: 1.2;
}

.zj-node-hz { left: 12%; top: 16%; }
.zj-node-nb { right: 8%; top: 24%; }
.zj-node-yw { left: 15%; top: 55%; }
.zj-node-wz { right: 15%; bottom: 14%; }
.zj-node-sx { left: 43%; top: 11%; }
.zj-node-tz { left: 38%; bottom: 10%; }

.zj-radar-metrics {
  display: grid;
  gap: 0.75rem;
}

.zj-radar-metrics div {
  display: grid;
  align-content: center;
  min-height: 7.65rem;
  border: 1px solid oklch(0.36 0.07 165 / 0.18);
  border-radius: 8px;
  padding: 0.85rem;
  background: oklch(1 0 0 / 0.58);
}

.zj-radar-metrics span {
  color: var(--muted-foreground);
  font-size: 0.72rem;
  font-weight: 800;
}

.zj-radar-metrics b {
  margin-top: 0.15rem;
  color: var(--primary);
  font-size: 1.8rem;
  line-height: 1;
}

.zj-radar-metrics em {
  margin-top: 0.25rem;
  color: oklch(0.48 0.012 200);
  font-family: ui-monospace, monospace;
  font-size: 0.62rem;
  font-style: normal;
  letter-spacing: 0.04em;
}

.zj-query-console {
  position: relative;
  display: grid;
  gap: 0.55rem;
  padding: 0 1.15rem 1.15rem;
}

.zj-query-console div {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  border: 1px solid oklch(0.36 0.07 165 / 0.16);
  border-radius: 8px;
  padding: 0.72rem 0.8rem;
  background: oklch(1 0 0 / 0.7);
}

.zj-query-console span,
.zj-query-console i {
  font-family: ui-monospace, monospace;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zj-query-console span {
  color: var(--primary);
}

.zj-query-console p {
  min-width: 0;
  color: var(--ink);
  font-size: 0.86rem;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zj-query-console i {
  border-radius: 999px;
  padding: 0.22rem 0.5rem;
  background: oklch(0.85 0.16 90 / 0.18);
  color: oklch(0.31 0.05 82);
  font-style: normal;
}

.zj-signal-strip {
  overflow: hidden;
  border-block: 1px solid oklch(0.18 0.05 165 / 0.85);
  background: oklch(0.13 0.045 165);
  color: var(--primary-foreground);
}

.zj-strip-track {
  display: flex;
  width: max-content;
  gap: 0.85rem;
  padding-block: 0.92rem;
  animation: zjMarquee 34s linear infinite;
}

.zj-strip-track span {
  display: inline-flex;
  align-items: center;
  min-height: 2.15rem;
  border: 1px solid oklch(1 0 0 / 0.14);
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  background: oklch(1 0 0 / 0.07);
  color: oklch(1 0 0 / 0.82);
  font-size: 0.86rem;
  font-weight: 750;
  white-space: nowrap;
}

.zj-answer-scenes,
.zj-asset-engine,
.zj-city-matrix-section,
.zj-contact-section-v2 {
  padding-block: 5.5rem;
}

.zj-answer-scenes {
  background: oklch(0.985 0.006 165);
}

.zj-signal-head {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 1rem 3rem;
  align-items: start;
  margin-bottom: 2.4rem;
}

.zj-signal-head.narrow {
  max-width: 54rem;
}

.zj-signal-head span,
.zj-engine-copy > span,
.zj-boundary-grid > div span,
.zj-contact-copy-v2 > span {
  color: var(--primary);
  font-family: ui-monospace, monospace;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.zj-signal-head h2,
.zj-engine-copy h2,
.zj-boundary-grid h2,
.zj-contact-copy-v2 h2 {
  color: var(--ink);
  font-size: 3.2rem;
  line-height: 1.05;
  letter-spacing: 0;
}

.zj-signal-head p {
  grid-column: 2;
  max-width: 46rem;
  color: var(--muted-foreground);
  font-size: 1rem;
  line-height: 1.85;
}

.zj-scene-grid {
  display: grid;
  grid-template-columns: 1.18fr 0.82fr 0.82fr;
  gap: 1rem;
}

.zj-scene-card {
  position: relative;
  min-height: 18rem;
  border: 1px solid oklch(0.36 0.07 165 / 0.16);
  border-radius: 8px;
  padding: 1.25rem;
  background: oklch(1 0 0 / 0.74);
  box-shadow: 0 18px 42px -34px oklch(0.15 0.04 160 / 0.3);
  overflow: hidden;
}

.zj-scene-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta));
}

.zj-scene-card.featured {
  grid-row: span 2;
  min-height: 37rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(180deg, oklch(0.12 0.045 165), oklch(0.18 0.058 166));
  color: var(--primary-foreground);
}

.zj-card-index {
  color: var(--accent-teal);
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  font-weight: 900;
}

.zj-scene-card h3 {
  margin-top: 0.9rem;
  color: inherit;
  font-size: 1.65rem;
  line-height: 1.18;
  letter-spacing: 0;
}

.zj-scene-card p {
  margin-top: 0.8rem;
  color: var(--muted-foreground);
  line-height: 1.78;
}

.zj-scene-card.featured p {
  color: oklch(1 0 0 / 0.76);
}

.zj-scene-prompt {
  margin-top: 1.5rem;
  border: 1px solid oklch(1 0 0 / 0.16);
  border-radius: 8px;
  padding: 0.85rem;
  background: oklch(1 0 0 / 0.08);
  color: var(--cta);
  font-family: ui-monospace, monospace;
  font-size: 0.85rem;
  line-height: 1.55;
}

.zj-asset-engine {
  background: linear-gradient(180deg, oklch(0.955 0.018 88), oklch(0.93 0.026 80));
  border-block: 1px solid oklch(0.8 0.045 78 / 0.5);
}

.zj-engine-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: center;
}

.zj-engine-copy h2,
.zj-contact-copy-v2 h2 {
  margin-top: 0.8rem;
}

.zj-engine-copy p,
.zj-contact-copy-v2 p {
  margin-top: 1rem;
  max-width: 42rem;
  color: var(--muted-foreground);
  font-size: 1rem;
  line-height: 1.85;
}

.zj-engine-copy .zj-hero-link {
  margin-top: 1.5rem;
}

.zj-engine-panel {
  display: grid;
  border: 1px solid oklch(0.36 0.07 165 / 0.2);
  border-radius: 8px;
  background: oklch(0.99 0.004 110 / 0.72);
  box-shadow: 0 22px 55px -35px oklch(0.22 0.04 80 / 0.38);
  overflow: hidden;
}

.zj-engine-row {
  display: grid;
  grid-template-columns: 4.5rem minmax(8rem, 0.34fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  border-top: 1px solid oklch(0.36 0.07 165 / 0.12);
  padding: 1.1rem 1.2rem;
}

.zj-engine-row:first-child {
  border-top: 0;
}

.zj-engine-row span {
  color: var(--primary);
  font-family: ui-monospace, monospace;
  font-size: 0.82rem;
  font-weight: 900;
}

.zj-engine-row h3 {
  color: var(--ink);
  font-size: 1.18rem;
  letter-spacing: 0;
}

.zj-engine-row p {
  color: var(--muted-foreground);
  line-height: 1.65;
}

.zj-city-matrix-section {
  background: var(--paper);
}

.zj-city-matrix {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--primary);
  border-left: 1px solid var(--rule);
}

.zj-city-matrix article {
  min-height: 18rem;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 1.1rem;
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.75), oklch(0.97 0.012 96 / 0.8));
}

.zj-city-matrix b {
  display: block;
  color: var(--primary);
  font-size: 1.4rem;
  line-height: 1;
}

.zj-city-matrix strong {
  display: block;
  margin-top: 1.2rem;
  color: var(--ink);
  font-size: 0.96rem;
  line-height: 1.45;
}

.zj-city-matrix p {
  margin-top: 0.8rem;
  color: var(--muted-foreground);
  font-size: 0.92rem;
  line-height: 1.72;
}

.zj-boundary-v2 {
  padding-block: 3.8rem;
  background: oklch(0.13 0.045 165);
  color: var(--primary-foreground);
}

.zj-boundary-grid {
  display: grid;
  grid-template-columns: minmax(18rem, 0.45fr) minmax(0, 1fr) auto;
  gap: 2.5rem;
  align-items: end;
}

.zj-boundary-grid > div span {
  color: var(--cta);
}

.zj-boundary-grid h2 {
  margin-top: 0.7rem;
  color: var(--primary-foreground);
}

.zj-boundary-grid p {
  color: oklch(1 0 0 / 0.72);
  line-height: 1.85;
}

.zj-contact-section-v2 {
  background:
    linear-gradient(90deg, var(--paper), oklch(0.955 0.018 88));
}

.zj-contact-grid-v2 {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(22rem, 0.58fr);
  gap: 3.5rem;
  align-items: start;
}

.zj-contact-copy-v2 > a {
  display: inline-block;
  margin-top: 1.35rem;
  color: var(--primary);
  font-size: 1.55rem;
  font-weight: 900;
}

.zj-lead-form-v2 {
  display: grid;
  gap: 0.9rem;
  border: 1px solid oklch(0.36 0.07 165 / 0.18);
  border-radius: 8px;
  background: oklch(1 0 0 / 0.78);
  padding: 1.15rem;
  box-shadow: 0 20px 48px -34px oklch(0.15 0.04 160 / 0.32);
}

.zj-lead-form-v2 .btn-submit {
  width: 100%;
  justify-content: center;
  margin-top: 0.2rem;
}

@keyframes zjBeam {
  0% { transform: translateX(-18rem) rotate(18deg); }
  100% { transform: translateX(48rem) rotate(18deg); }
}

@keyframes zjSweep {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes zjScanLine {
  0%, 100% { transform: translateY(-62%); opacity: 0; }
  18%, 78% { opacity: 1; }
  50% { transform: translateY(62%); }
}

@keyframes zjSignal {
  0%, 100% { box-shadow: 0 0 0 4px oklch(0.85 0.16 90 / 0.15); }
  50% { box-shadow: 0 0 0 9px oklch(0.85 0.16 90 / 0.04); }
}

@keyframes zjMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 1180px) {
  .zj-signal-inner {
    grid-template-columns: minmax(0, 0.82fr) minmax(24rem, 1fr);
    gap: 2.4rem;
  }

  .zj-signal-copy h1 {
    font-size: 3.45rem;
    max-width: 12.8ch;
  }

  .zj-map-frame {
    min-height: 22rem;
  }

  .zj-radar-stage {
    grid-template-columns: 1fr;
  }

  .zj-radar-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zj-radar-metrics div {
    min-height: 6.3rem;
  }

  .zj-city-matrix {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zj-city-matrix article {
    min-height: 14rem;
  }
}

@media (max-width: 980px) {
  .zj-signal-hero {
    background:
      linear-gradient(180deg, oklch(0.125 0.045 165) 0%, oklch(0.165 0.055 168) 58%, oklch(0.955 0.018 88) 58.1%, oklch(0.985 0.005 105) 100%);
  }

  .zj-grid-plane {
    inset: 0;
  }

  .zj-signal-inner,
  .zj-engine-grid,
  .zj-contact-grid-v2,
  .zj-boundary-grid {
    grid-template-columns: 1fr;
  }

  .zj-signal-inner {
    padding-block: 4.5rem;
  }

  .zj-command-center {
    width: min(100%, 42rem);
    margin-inline: auto;
  }

  .zj-signal-head {
    grid-template-columns: 1fr;
  }

  .zj-signal-head p {
    grid-column: auto;
  }

  .zj-scene-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zj-scene-card.featured {
    grid-column: span 2;
    min-height: 24rem;
  }

  .zj-engine-row {
    grid-template-columns: 3.5rem minmax(0, 1fr);
  }

  .zj-engine-row p {
    grid-column: 2;
  }

  .zj-boundary-grid {
    align-items: start;
  }

  .zj-boundary-grid .zj-hero-link {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .gd-home .container {
    max-width: 100%;
    padding-inline: 1rem;
  }

  .zj-signal-hero {
    min-height: auto;
  }

  .zj-signal-inner {
    padding-block: 3.2rem;
    gap: 2rem;
  }

  .zj-signal-kicker {
    max-width: 100%;
    font-size: 0.7rem;
    line-height: 1.35;
  }

  .zj-signal-copy h1 {
    max-width: 100%;
    font-size: 2.45rem;
    line-height: 1.08;
    word-break: normal;
    overflow-wrap: normal;
  }

  .zj-signal-copy p {
    font-size: 0.98rem;
    line-height: 1.82;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .zj-signal-copy {
    width: 100%;
    max-width: 100%;
  }

  .zj-signal-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    max-width: 100%;
    gap: 0.75rem;
    margin-top: 1.7rem;
    justify-items: start;
  }

  .zj-signal-actions .btn {
    width: auto;
    max-width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 1.25rem;
    font-size: 0.94rem;
  }

  .zj-hero-link {
    justify-content: flex-start;
  }

  .zj-signal-proof {
    display: none;
  }

  .zj-command-center {
    border-radius: 8px;
  }

  .zj-command-top {
    display: grid;
    gap: 0.25rem;
  }

  .zj-radar-stage {
    padding: 0.85rem;
  }

  .zj-map-frame {
    min-height: 22rem;
  }

  .zj-radar-ring.ring-a { --ring-size: 6.5rem; }
  .zj-radar-ring.ring-b { --ring-size: 12rem; }
  .zj-radar-ring.ring-c { --ring-size: 17.5rem; }

  .zj-radar-core {
    width: 5.4rem;
    height: 5.4rem;
  }

  .zj-radar-core b {
    font-size: 1.15rem;
  }

  .zj-node {
    min-width: auto;
    max-width: 6.6rem;
    padding: 0.42rem 0.48rem 0.46rem 1.25rem;
  }

  .zj-node b {
    font-size: 0.78rem;
  }

  .zj-node small {
    display: none;
  }

  .zj-node-hz { left: 6%; top: 16%; }
  .zj-node-nb { right: 5%; top: 25%; }
  .zj-node-yw { left: 8%; top: 58%; }
  .zj-node-wz { right: 8%; bottom: 16%; }
  .zj-node-sx { left: 40%; top: 8%; }
  .zj-node-tz { left: 37%; bottom: 8%; }

  .zj-radar-metrics {
    grid-template-columns: 1fr;
  }

  .zj-radar-metrics div {
    min-height: auto;
  }

  .zj-query-console {
    padding: 0 0.85rem 0.85rem;
  }

  .zj-query-console div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .zj-query-console p {
    white-space: normal;
  }

  .zj-query-console i {
    justify-self: start;
  }

  .zj-answer-scenes,
  .zj-asset-engine,
  .zj-city-matrix-section,
  .zj-contact-section-v2 {
    padding-block: 3.6rem;
  }

  .zj-signal-head h2,
  .zj-engine-copy h2,
  .zj-boundary-grid h2,
  .zj-contact-copy-v2 h2 {
    font-size: 2.15rem;
    line-height: 1.1;
  }

  .zj-scene-grid,
  .zj-city-matrix {
    grid-template-columns: 1fr;
  }

  .zj-scene-card,
  .zj-scene-card.featured,
  .zj-city-matrix article {
    min-height: auto;
  }

  .zj-scene-card.featured {
    grid-column: span 1;
  }

  .zj-engine-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .zj-engine-row p {
    grid-column: auto;
  }

  .zj-contact-grid-v2 {
    gap: 2rem;
  }

  .zj-lead-form-v2 {
    padding: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zj-scan-beam,
  .zj-radar-sweep,
  .zj-map-frame::after,
  .zj-node i,
  .zj-strip-track,
  .zj-signal-kicker .live-dot {
    animation: none;
  }
}

/* ── 20. REDUCED MOTION ───────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal, .js .reveal-l, .js .reveal-r, .js .reveal-scale, .js .reveal-stagger > *,
  .js .stat .num { opacity: 1; transform: none; transition: none; }
  .marquee-track { animation: none; }
  .dash-card, .hero-float-chip, .hero-eyebrow .live-dot { animation: none; }
  * { scroll-behavior: auto !important; }
}

/* ═══════════════════════════════════════════════════════════
   21. 信任背书 / 客户反馈 / GEO 流程详情 / 新闻与 FAQ
   ═══════════════════════════════════════════════════════════ */

/* ── 证书墙（首页 & 关于页） ──────────────────────────── */
.cert-wall {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.cert-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  padding: 1rem;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: zoom-in;
}
.cert-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: oklch(0.6 0.1 170 / 0.5); }
.cert-card .cert-img {
  aspect-ratio: 1 / 1;
  background: var(--paper);
  border-radius: 10px;
  padding: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 0.9rem;
  border: 1px solid oklch(0.95 0.005 180);
}
.cert-card .cert-img img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.4s ease; }
.cert-card:hover .cert-img img { transform: scale(1.04); }
.cert-card h3 { font-size: 0.92rem; line-height: 1.45; font-weight: 700; margin-bottom: 0.3rem; }
.cert-card p { font-size: 0.78rem; color: var(--muted-foreground); line-height: 1.65; }

/* 证书大图 lightbox */
.lightbox {
  position: fixed;
  inset: 0;
  background: oklch(0.12 0.03 190 / 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s;
}
.lightbox.open { opacity: 1; visibility: visible; }
.lightbox img { max-width: min(92vw, 880px); max-height: 88dvh; border-radius: 12px; box-shadow: 0 30px 80px oklch(0 0 0 / 0.4); }
.lightbox-close {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 9999px;
  background: oklch(1 0 0 / 0.12);
  border: 1px solid oklch(1 0 0 / 0.25);
  color: oklch(1 0 0 / 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.2s ease;
}
.lightbox-close:hover { background: oklch(1 0 0 / 0.2); transform: rotate(90deg); }

/* ── 客户反馈（首页） ────────────────────────────────── */
.feedback-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.feedback-card {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1.2rem;
  padding: 1.4rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background: var(--paper);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feedback-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.feedback-card .f-img {
  aspect-ratio: 1 / 1;
  background: var(--muted);
  border-radius: 10px;
  overflow: hidden;
}
.feedback-card .f-img img { width: 100%; height: 100%; object-fit: cover; }
.feedback-card .f-meta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.45rem;
}
.feedback-card .f-company { font-weight: 800; font-size: 0.95rem; }
.feedback-card .f-type {
  font-size: 0.7rem;
  font-weight: 700;
  color: oklch(0.4 0.09 180);
  background: var(--accent-teal-soft);
  padding: 0.2rem 0.55rem;
  border-radius: 9999px;
  letter-spacing: 0.04em;
}
.feedback-card p { font-size: 0.85rem; color: var(--muted-foreground); line-height: 1.65; }

/* ── GEO 十步登峰诀（geo 页） ────────────────────────── */
.geo-intro {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 1.5rem;
  border-top: 1px solid var(--rule);
  padding-top: 2rem;
}
.geo-intro .geo-num {
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--primary);
  text-transform: uppercase;
}
.geo-intro h3 { font-size: 1.45rem; font-weight: 800; margin-bottom: 0.6rem; letter-spacing: -0.02em; }
.geo-intro p { color: var(--muted-foreground); max-width: 62ch; line-height: 1.8; }

.steps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9rem;
}
.summit-card {
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background: var(--paper);
  padding: 1.7rem 1.5rem;
  position: relative;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.summit-card:hover { background: var(--primary-soft); border-color: oklch(0.6 0.1 170 / 0.5); transform: translateY(-3px); }
.summit-card.summit {
  grid-column: span 2;
  background: var(--primary);
  color: var(--primary-foreground);
  border-color: var(--primary);
}
.summit-card .step-n {
  font-family: ui-monospace, monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--accent-teal);
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.8rem;
}
.summit-card.summit .step-n { color: var(--cta); }
.summit-card .step-n::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: 0.2; }
.summit-card h3 {
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: -0.025em;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.summit-card .step-name { color: var(--primary); }
.summit-card.summit .step-name { color: var(--primary-foreground); }
.summit-card .step-deco { font-size: 0.95rem; font-weight: 500; color: var(--muted-foreground); }
.summit-card.summit .step-deco { color: oklch(1 0 0 / 0.7); }

.deliver-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  overflow: hidden;
  font-size: 0.92rem;
}
.deliver-table thead th {
  background: var(--cream-soft);
  text-align: left;
  font-weight: 700;
  padding: 1rem 1.1rem;
  color: oklch(0.3 0.02 200);
  border-bottom: 1px solid var(--rule);
  letter-spacing: 0.01em;
}
.deliver-table tbody td {
  padding: 1.1rem;
  border-top: 1px solid var(--rule);
  vertical-align: top;
  line-height: 1.65;
}
.deliver-table tbody tr:first-child td { border-top: 0; }
.deliver-table .d-step {
  font-family: ui-monospace, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--primary);
  text-transform: uppercase;
}
.deliver-table .d-name { font-size: 1.1rem; font-weight: 800; margin-top: 0.2rem; }
.deliver-table .d-check { color: var(--muted-foreground); }
.deliver-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ── 服务流程九步（services 页） ─────────────────────── */
.process-list { display: flex; flex-direction: column; }
.process-row {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1.5rem;
  padding-block: 2rem;
  border-top: 1px solid var(--rule);
}
.process-row:last-child { border-bottom: 1px solid var(--rule); }
.process-row .p-n {
  font-family: ui-monospace, monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--accent-teal);
  text-transform: uppercase;
}
.process-row h3 { font-size: 1.35rem; font-weight: 800; margin-bottom: 1rem; letter-spacing: -0.02em; }
.process-row dl { display: flex; flex-direction: column; }
.process-row .p-item {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) 1fr;
  gap: 1rem;
  padding-block: 0.9rem;
  border-top: 1px solid var(--rule);
}
.process-row .p-item:first-child { border-top: 0; padding-top: 0; }
.process-row dt { font-weight: 700; font-size: 0.95rem; color: var(--ink); }
.process-row dd { font-size: 0.9rem; color: var(--muted-foreground); line-height: 1.75; max-width: 60ch; }

/* ── 页面顶部的 PageHeader（替代单页版 page-shell.PageHeader） ─ */
.page-header {
  position: relative;
  overflow: hidden;
  background: var(--primary-deep);
  color: var(--primary-foreground);
  padding-block: clamp(4rem, 8vw, 5.5rem);
}
.page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.78 0.13 180 / 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.78 0.13 180 / 0.1) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 40%, transparent 90%);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, black 40%, transparent 90%);
  opacity: 0.4;
}
.page-header .ph-inner {
  position: relative;
  max-width: 56rem;
  margin-inline: auto;
  text-align: center;
  padding-inline: 1.25rem;
}
.page-header .ph-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.95rem;
  border-radius: 9999px;
  background: oklch(1 0 0 / 0.1);
  border: 1px solid oklch(1 0 0 / 0.22);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  color: oklch(1 0 0 / 0.85);
}
.page-header h1 {
  font-size: clamp(2rem, 4.6vw, 3.2rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: var(--primary-foreground);
  text-wrap: balance;
}
.page-header h1 .hl { color: var(--cta); }
.page-header h1 .sub-line { display: block; margin-top: 0.2em; }
.page-header .ph-sub {
  margin-top: 1.2rem;
  color: oklch(1 0 0 / 0.78);
  font-size: clamp(0.96rem, 1.5vw, 1.08rem);
  max-width: 60ch;
  margin-inline: auto;
}

/* ── 新闻与 FAQ 列表（共用） ──────────────────────────── */
.list-wrap { max-width: 52rem; margin-inline: auto; }
.list-row {
  display: block;
  padding: 1.6rem 0.5rem;
  border-top: 1px solid var(--rule);
  transition: background 0.25s ease, padding-left 0.25s ease, border-color 0.25s ease;
}
.list-row:first-child { border-top: 0; padding-top: 0.6rem; }
.list-row:hover {
  background: var(--primary-soft);
  padding-left: 1rem;
  border-color: oklch(0.6 0.1 170 / 0.5);
}
.list-row .lr-meta {
  font-family: ui-monospace, monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--muted-foreground);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  display: flex;
  gap: 0.7rem;
  align-items: center;
}
.list-row h3 { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.015em; margin-bottom: 0.4rem; }
.list-row p { color: var(--muted-foreground); font-size: 0.95rem; max-width: 60ch; }
.list-row.is-empty {
  color: var(--muted-foreground);
  text-align: center;
  padding: 3rem 1rem;
  border: 1px dashed var(--rule);
  border-radius: var(--radius-card);
  background: oklch(0.98 0.005 200 / 0.4);
}

/* 资讯分页（左侧/右侧文本按钮 + 中间数字徽章） */
.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  margin-top: 2.5rem;
  font-size: 0.92rem;
}
.pagination .pager-edge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  height: 2.4rem;
  padding: 0 0.9rem;
  border-radius: 9999px;
  font-weight: 600;
  color: var(--muted-foreground);
  transition: background 0.2s ease, color 0.2s ease;
}
.pagination .pager-edge:hover { background: var(--primary-soft); color: var(--primary); }
.pagination .pager-edge.disabled { opacity: 0.35; pointer-events: none; }
.pagination .pager-num {
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 0.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-weight: 700;
  color: var(--muted-foreground);
  border: 1px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.pagination .pager-num:hover { background: var(--primary-soft); color: var(--primary); border-color: oklch(0.78 0.13 180 / 0.3); }
.pagination .pager-num.current {
  background: var(--primary);
  color: var(--primary-foreground);
  pointer-events: none;
  box-shadow: 0 4px 14px -6px oklch(0.36 0.07 165 / 0.5);
}
.pagination .pager-gap {
  width: 1.4rem;
  text-align: center;
  color: var(--muted-foreground);
  letter-spacing: 0.05em;
  user-select: none;
}

/* 白皮书 / 红皮书：章节导航 + 分页阅读 */
.paper-reader {
  padding: 3rem 0 5rem;
}
.paper-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 17rem) minmax(0, 52rem);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.paper-nav {
  position: sticky;
  top: calc(var(--header-h) + 1rem);
  max-height: calc(100vh - var(--header-h) - 2rem);
  overflow: auto;
  padding-right: 1rem;
  border-right: 1px solid var(--rule);
}
.paper-nav-title {
  margin-bottom: 0.75rem;
  color: var(--muted-foreground);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
}
.paper-nav ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}
.paper-nav a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  padding: 0.7rem;
  border-radius: 8px;
  color: var(--muted-foreground);
  transition: background 0.2s ease, color 0.2s ease;
}
.paper-nav a:hover,
.paper-nav a.is-active {
  background: var(--primary-soft);
  color: var(--primary);
}
.paper-nav a span {
  padding-top: 0.08rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.72rem;
  color: var(--accent-teal);
}
.paper-nav a strong {
  min-width: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.paper-main {
  min-width: 0;
}
.paper-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--rule);
}
.paper-kicker {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--accent-teal);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0;
}
.paper-toolbar strong {
  display: block;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.45;
  letter-spacing: 0;
}
.paper-count {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  min-height: 2.2rem;
  padding: 0 0.75rem;
  border: 1px solid var(--rule);
  border-radius: 8px;
  color: var(--muted-foreground);
  font-weight: 800;
}
.paper-content {
  max-width: none;
  padding: 0;
  overflow-x: clip;
}
.paper-page {
  display: block;
}
.paper-paged .paper-page {
  display: none;
}
.paper-paged .paper-page.is-active {
  display: block;
}
.paper-page > h2:first-child,
.paper-page > h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.paper-pagination {
  margin-top: 2.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rule);
}
.paper-pagination .pager-edge.disabled {
  cursor: default;
}
.article-content .article-table-wrap {
  overflow-x: auto;
  margin: 1.4em 0;
}
.article-content .article-table-wrap table {
  min-width: 40rem;
  margin: 0;
}

/* 资讯说明 banner：左色块 + 文本，置于分页与 CTA 之间 */
.info-banner {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  max-width: 36rem;
  margin: 2rem auto 0;
  padding: 0.85rem 1.1rem;
  background: var(--accent-teal-soft);
  border-radius: 12px;
  border-left: 3px solid var(--accent-teal);
  font-size: 0.85rem;
  color: oklch(0.35 0.05 180);
  line-height: 1.65;
}
.info-banner .ib-icon { flex-shrink: 0; color: var(--accent-teal); margin-top: 0.1rem; }
.info-banner code {
  font-family: ui-monospace, monospace;
  font-size: 0.78rem;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  background: oklch(1 0 0 / 0.6);
  color: oklch(0.28 0.05 175);
  white-space: nowrap;
}

/* 新闻详情正文（CMS 内容是 HTML） */
.article-content img { margin: 1.4em auto; display: block; border-radius: 10px; max-width: 100%; max-height: clamp(280px, 50vh, 460px); height: auto; object-fit: contain; background: oklch(0.97 0.005 200); }
.article-content iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; margin: 1.4em 0; }
.article-content table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 0.92rem; }
.article-content th, .article-content td { border: 1px solid var(--rule); padding: 0.6rem 0.85rem; text-align: left; }
.article-content th { background: var(--muted); }

/* 详情页 article 容器：防御性防止子元素撑出视口 */
article { overflow-x: clip; }

/* ── 响应式补充 ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .cert-wall { grid-template-columns: repeat(3, 1fr); }
  .feedback-grid { grid-template-columns: 1fr; }
  .feedback-card { grid-template-columns: 6rem 1fr; }
  .process-row { grid-template-columns: 4rem 1fr; gap: 1rem; }
  .process-row .p-item { grid-template-columns: 1fr; gap: 0.3rem; }
}
@media (max-width: 640px) {
  .cert-wall { grid-template-columns: repeat(2, 1fr); gap: 0.7rem; }
  .cert-card { padding: 0.75rem; }
  .cert-card h3 { font-size: 0.82rem; }
  .cert-card p { font-size: 0.72rem; }
  .feedback-card { grid-template-columns: 1fr; }
  .feedback-card .f-img { aspect-ratio: 16 / 9; }
  .steps-grid { grid-template-columns: 1fr; }
  .summit-card.summit { grid-column: span 1; }
  .geo-intro { grid-template-columns: 1fr; gap: 0.6rem; }
  .geo-intro .geo-num { font-size: 0.7rem; }
  .process-row { grid-template-columns: 1fr; gap: 0.6rem; padding-block: 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════
   22. 全局细节打磨
   ═══════════════════════════════════════════════════════════ */

/* 正文中链接：默认无下划线、hover 时实色 + 下划线浮现，避免"链接看起来像普通文字" */
.article-content a:not([class]) {
  color: var(--primary);
  text-decoration: underline;
  text-decoration-color: oklch(0.36 0.07 165 / 0.4);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: text-decoration-color 0.2s ease;
}
.article-content a:not([class]):hover {
  text-decoration-color: var(--primary);
  text-decoration-thickness: 2px;
}

/* 自定义滚动条（webkit） */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--muted); }
::-webkit-scrollbar-thumb {
  background: oklch(0.65 0.04 175);
  border-radius: 9999px;
  border: 2px solid var(--muted);
}
::-webkit-scrollbar-thumb:hover { background: var(--primary); }
* { scrollbar-color: oklch(0.65 0.04 175) var(--muted); scrollbar-width: thin; }

/* 自定义选区颜色 */
::selection { background: oklch(0.78 0.13 180 / 0.35); color: var(--ink); }

/* 滚动平滑到锚点 */
html { scroll-padding-top: calc(var(--header-h) + 16px); }

/* 链接可访问性：键盘聚焦明显 */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 3px;
  border-radius: 6px;
}

/* 通用按钮按下反馈（更明显的触感） */
.btn:active:not(:disabled) {
  transform: translateY(0) scale(0.99);
  transition: transform 0.08s ease;
}

/* 表单输入聚焦时蓝色光晕 */
.field input:focus-visible {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px oklch(0.36 0.07 165 / 0.18);
}

/* 案例行 hover：左侧色块指示 */
.case-row {
  position: relative;
}
.case-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 25%;
  bottom: 25%;
  width: 3px;
  background: var(--primary);
  border-radius: 0 3px 3px 0;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.case-row:hover::before { opacity: 1; }
.case-row:hover { padding-left: 1rem; }

/* 服务体系卡片 hover 顶部色条 */
.service-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal));
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.service-card { position: relative; }
.service-card:hover::before { opacity: 1; }
.service-card:hover { transform: translateY(-4px); }

/* 方法论最后一步（进化）左侧加 "顶峰" 标记 */
.summit-card.summit {
  position: relative;
}
.summit-card.summit::before {
  content: "SUMMIT";
  position: absolute;
  top: 1rem;
  right: 1.5rem;
  font-family: ui-monospace, monospace;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--cta);
  background: oklch(1 0 0 / 0.12);
  padding: 0.3rem 0.6rem;
  border-radius: 9999px;
  border: 1px solid oklch(0.85 0.16 90 / 0.4);
}

/* FAQ 折叠图标：+ 变 × 旋转更明显 */
.faq-q .chev {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s ease, color 0.2s ease;
}
.faq-q:hover .chev { background: var(--primary-soft); color: var(--primary); }
.faq-item.open .chev { transform: rotate(45deg); background: var(--primary); color: var(--primary-foreground); }

/* 页面顶部 Hero 强调按钮 hover 提升 */
.hero-ctas .btn-cta {
  box-shadow: 0 8px 24px -12px oklch(0.85 0.16 90 / 0.7);
}
.hero-ctas .btn-cta:hover {
  box-shadow: 0 14px 32px -12px oklch(0.85 0.16 90 / 0.85);
}

/* 移动端 tap 高亮去除（更专业） */
* { -webkit-tap-highlight-color: transparent; }

/* 标题文字选择优化：粘性 */
h1, h2, h3, h4 { text-wrap: balance; }

/* hero 视觉微调：底部弱渐变过渡 */
.hero { background: var(--primary-deep); }
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 60px;
  background: linear-gradient(to bottom, transparent, oklch(0.22 0.07 180 / 0.4));
  pointer-events: none;
}

/* 案例行：左缩进与色块已通过 .case-row::before 实现；补充：metrics 数值加粗更明显 */
.case-metric .v { font-size: 1.55rem; font-weight: 900; letter-spacing: -0.02em; }
.case-metric:nth-child(2) .v { color: oklch(0.5 0.12 175); }

/* 服务流程小项 dt 加左侧序号圆点 */
.process-row .p-item {
  position: relative;
  padding-left: 1.4rem;
}
.process-row .p-item::before {
  content: "▸";
  position: absolute;
  left: 0.1rem;
  top: 0.92rem;
  color: var(--accent-teal);
  font-size: 0.9rem;
  font-weight: 700;
}
.process-row dt { padding-left: 0; }

/* 步骤卡片（method 页）的 step-n 数字加 emoji 装饰 */
.summit-card .step-n {
  font-feature-settings: "tnum";
  letter-spacing: 0.16em;
}

/* FAQ 选项中的列表项留适当间距 */
.faq-a ul, .faq-a ol { padding-left: 1.5rem; margin: 0.6rem 0 1rem; }
.faq-a ul li, .faq-a ol li { margin: 0.35rem 0; }

/* 排版细节：避免孤行 */
p { orphans: 3; widows: 3; }

/* 列表行 hover 时显示右侧箭头 */
.list-row::after {
  content: "→";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary);
  font-size: 1.1rem;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.list-row:hover::after { opacity: 1; transform: translateY(-50%) translateX(4px); }
.list-row { position: relative; }

/* 证书卡 hover 加深 + 提升 */
.cert-card {
  cursor: zoom-in;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}
.cert-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px -10px oklch(0.36 0.07 165 / 0.18);
  border-color: var(--primary);
}

/* 客户反馈卡图片左上角 logo 浮层 */
.feedback-card .f-img {
  position: relative;
}
.feedback-card .f-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, oklch(1 0 0 / 0.18), transparent 60%);
  pointer-events: none;
}

/* 表单卡片微动效 */
.contact-card {
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 32px 64px -24px oklch(0.1 0.05 180 / 0.6);
}

/* 移动端分页适配 */
@media (max-width: 640px) {
  .pagination { gap: 0.35rem; }
  .pagination .pager-edge { font-size: 0.85rem; padding: 0 0.7rem; height: 2.2rem; }
  .pagination .pager-num { min-width: 2.2rem; height: 2.2rem; font-size: 0.85rem; }
  .pagination .pager-gap { width: 1rem; }
}

@media (max-width: 900px) {
  .paper-reader { padding-top: 2.5rem; }
  .paper-layout { display: block; }
  .paper-nav {
    position: static;
    max-height: none;
    overflow: visible;
    margin-bottom: 1.5rem;
    padding: 0 0 1rem;
    border-right: 0;
    border-bottom: 1px solid var(--rule);
  }
  .paper-nav ol {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.3rem;
    scroll-snap-type: x proximity;
  }
  .paper-nav li {
    flex: 0 0 min(16rem, 82vw);
    scroll-snap-align: start;
  }
  .paper-nav a {
    min-height: 4.1rem;
    border: 1px solid var(--rule);
  }
}

@media (max-width: 640px) {
  .paper-reader { padding-bottom: 4rem; }
  .paper-toolbar {
    display: grid;
    align-items: start;
  }
  .paper-count { justify-self: start; }
  .paper-pagination { justify-content: flex-start; }
  .article-content .article-table-wrap table { min-width: 34rem; }
}

/* 标题颜色渐变（首页 H1 第二行） */
.hero h1 .hl { color: var(--cta); }

/* 关键 CTA 在桌面更醒目 */
@media (min-width: 1024px) {
  .btn-cta.btn-lg { font-size: 1.02rem; padding-inline: 2.4rem; }
}

/* 强调色文本细节：副标题颜色更柔和 */
.hero-sub strong { font-weight: 700; }
.hero-sub strong + strong { color: var(--cta); }

/* 表单状态：成功后强调 */
.form-status.ok { border-left: 3px solid var(--primary); }

/* 详情页顶部返回链接增加左侧图标 */
.article a[href*="news.html"]::before {
  content: "← ";
  font-weight: 700;
}

/* 详情页正文标题层级清晰 */
.article-content h2 { margin: 2em 0 0.7em; padding-top: 0.6em; border-top: 1px solid oklch(0.94 0.005 200); font-size: clamp(1.4rem, 2.4vw, 1.7rem); font-weight: 800; letter-spacing: -0.02em; scroll-margin-top: calc(var(--header-h) + 12px); }
.article-content h2:first-child { border-top: 0; padding-top: 0; }
.article-content h3 { margin: 1.6em 0 0.5em; color: var(--primary); font-size: 1.1rem; font-weight: 700; }

/* 文章正文段落、列表与排版（之前缺失导致"样式裸"） */
.article-content p { margin: 1.1em 0; line-height: 1.85; }
.article-content p:first-child { margin-top: 0; }
.article-content strong { font-weight: 700; color: oklch(0.15 0.04 165); }
.article-content em { font-style: normal; color: oklch(0.35 0.02 200); border-bottom: 1px dotted var(--accent-teal); padding-bottom: 1px; }
.article-content code { background: var(--muted); padding: 0.12em 0.45em; border-radius: 4px; font-size: 0.88em; font-family: ui-monospace, monospace; color: oklch(0.2 0.05 165); border: 1px solid oklch(0.92 0.005 200); }
.article-content ul, .article-content ol { padding-left: 1.6rem; margin: 1em 0; }
.article-content ul li, .article-content ol li { margin: 0.5em 0; padding-left: 0.3em; line-height: 1.75; }
.article-content ul li::marker, .article-content ol li::marker { color: var(--primary); font-weight: 700; }
.article-content blockquote { border-left: 3px solid var(--accent-teal); background: var(--accent-teal-soft); padding: 1em 1.2em; margin: 1.4em 0; border-radius: 0 8px 8px 0; color: oklch(0.3 0.05 180); }
.article-content hr { border: 0; height: 1px; background: var(--rule); margin: 2.5em 0; }
.article-content h1 { font-size: clamp(1.5rem, 2.6vw, 1.85rem); margin: 2em 0 0.6em; font-weight: 800; }

/* footer 列标题间距 */
.footer-col h4 { letter-spacing: 0.14em; }

/* 所有页面加一种微妙的可访问性聚焦提示 */
[tabindex]:focus-visible, a:focus-visible, button:focus-visible {
  outline-offset: 4px;
}

/* 最终：动效一致性 */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* GEO / services page refresh */
.method-container,
.services-flow-container {
  max-width: 70rem;
}

#method .section-head {
  margin-bottom: 1.7rem;
}

.method-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.4rem 0 2rem;
}

.method-overview-item {
  border: 1px solid var(--rule);
  border-left: 3px solid var(--accent-teal);
  border-radius: var(--radius-inner);
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.84), oklch(0.965 0.012 75 / 0.72)),
    var(--paper);
  padding: 1rem 1rem 1.05rem;
  min-height: 8.2rem;
}

.method-overview-item span,
.panel-kicker,
.service-flow-intro span {
  display: block;
  font-family: ui-monospace, monospace;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--accent-teal);
  text-transform: uppercase;
}

.method-overview-item strong {
  display: block;
  margin-top: 0.38rem;
  color: var(--primary);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
}

.method-overview-item p {
  margin-top: 0.55rem;
  color: var(--muted-foreground);
  font-size: 0.9rem;
  line-height: 1.65;
}

.steps-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: stretch;
}

.summit-card {
  display: flex;
  min-height: 8.8rem;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-radius: var(--radius-inner);
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.9), oklch(0.965 0.009 180 / 0.78)),
    var(--paper);
  padding: 1rem;
  box-shadow: 0 10px 26px oklch(0.18 0.02 200 / 0.04);
}

.summit-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--accent-teal);
  opacity: 0.8;
}

.summit-card:hover {
  background:
    linear-gradient(180deg, oklch(0.96 0.035 175), oklch(0.985 0.004 180)),
    var(--paper);
  box-shadow: var(--shadow-card-hover);
}

.summit-card.summit {
  grid-column: span 2;
  background:
    linear-gradient(135deg, var(--primary-deep), var(--primary)),
    var(--primary);
  border-color: oklch(0.45 0.08 165);
  box-shadow: 0 16px 38px oklch(0.28 0.08 165 / 0.18);
}

.summit-card.summit::before {
  background: var(--cta);
}

.summit-card .step-n {
  margin-bottom: 1rem;
  letter-spacing: 0.12em;
}

.summit-card h3 {
  display: grid;
  gap: 0.35rem;
  align-items: start;
  font-size: 1.35rem;
  line-height: 1.18;
  letter-spacing: 0;
}

.summit-card .step-deco {
  font-size: 0.86rem;
  line-height: 1.45;
}

.deliver-panel {
  margin-top: 3.8rem;
  padding-top: 2.4rem;
  border-top: 1px solid var(--rule);
  scroll-margin-top: calc(var(--header-h) + 18px);
}

.deliver-head {
  display: grid;
  grid-template-columns: minmax(14rem, 0.42fr) minmax(0, 1fr);
  gap: 0.8rem 1.5rem;
  align-items: end;
  margin-bottom: 1.25rem;
}

.deliver-head h3 {
  color: var(--primary);
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0;
}

.deliver-head p {
  grid-column: 2;
  max-width: 46rem;
  color: var(--muted-foreground);
  line-height: 1.75;
}

.deliver-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background: var(--paper);
  box-shadow: var(--shadow-card);
  -webkit-overflow-scrolling: touch;
}

.deliver-table {
  min-width: 820px;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.deliver-table thead th {
  background: linear-gradient(180deg, var(--cream-soft), oklch(0.975 0.012 75));
  color: var(--ink);
  font-size: 0.88rem;
  letter-spacing: 0;
}

.deliver-table tbody td {
  background: oklch(1 0 0 / 0.58);
}

.deliver-table tbody tr:hover td {
  background: var(--primary-soft);
}

.deliver-table .d-name {
  color: var(--primary);
  letter-spacing: 0;
}

.services-flow-container {
  max-width: 72rem;
}

.service-flow-intro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.8rem;
}

.service-flow-intro a {
  display: block;
  min-height: 9rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-inner);
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.92), oklch(0.965 0.006 180 / 0.82)),
    var(--paper);
  padding: 1rem;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.service-flow-intro a:hover {
  transform: translateY(-2px);
  border-color: oklch(0.7 0.08 175);
  background: var(--accent-teal-soft);
}

.service-flow-intro strong {
  display: block;
  margin-top: 0.55rem;
  color: var(--primary);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0;
}

.service-flow-intro p {
  margin-top: 0.5rem;
  color: var(--muted-foreground);
  font-size: 0.88rem;
  line-height: 1.65;
}

.process-list {
  position: relative;
  display: grid;
  gap: 0.95rem;
}

.process-list::before {
  content: "";
  position: absolute;
  top: 1.2rem;
  bottom: 1.2rem;
  left: 3.15rem;
  width: 1px;
  background: linear-gradient(180deg, var(--accent-teal), var(--rule), var(--primary));
  opacity: 0.5;
}

.process-row {
  position: relative;
  z-index: 1;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  gap: 1.1rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.9), oklch(0.975 0.004 180 / 0.82)),
    var(--paper);
  padding: 1.15rem 1.25rem 1.25rem;
  box-shadow: 0 12px 30px oklch(0.18 0.02 200 / 0.045);
  scroll-margin-top: calc(var(--header-h) + 18px);
}

.process-row:hover {
  border-color: oklch(0.72 0.08 175);
  box-shadow: var(--shadow-card-hover);
}

.process-row:last-child {
  border-bottom: 1px solid var(--rule);
}

.process-row .p-n {
  display: grid;
  width: 3.8rem;
  height: 3.8rem;
  place-items: center;
  border: 1px solid oklch(1 0 0 / 0.18);
  border-radius: var(--radius-inner);
  background: var(--primary);
  color: var(--primary-foreground);
  box-shadow: 0 10px 24px oklch(0.28 0.08 165 / 0.18);
  font-size: 1.05rem;
  line-height: 1;
  letter-spacing: 0;
}

.process-row h3 {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin-bottom: 0.75rem;
  color: var(--ink);
  font-size: 1.35rem;
  letter-spacing: 0;
}

.process-row h3::after {
  content: "";
  flex: 1;
  min-width: 2rem;
  height: 1px;
  background: var(--rule);
}

.process-row dl {
  display: grid;
  gap: 0;
}

.process-row .p-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(10rem, 0.32fr) minmax(0, 1fr);
  gap: 1rem;
  border-top: 1px solid var(--rule);
  padding: 0.9rem 0 0.95rem 1.05rem;
}

.process-row .p-item:first-child {
  border-top: 0;
  padding-top: 0.2rem;
}

.process-row .p-item::before {
  content: "";
  position: absolute;
  top: 1.45rem;
  left: 0.05rem;
  width: 0.36rem;
  height: 0.36rem;
  border-radius: 999px;
  background: var(--accent-teal);
}

.process-row .p-item:first-child::before {
  top: 0.75rem;
}

.process-row dt {
  color: var(--ink);
  font-size: 0.95rem;
  font-weight: 850;
  line-height: 1.55;
}

.process-row dd {
  max-width: none;
  color: var(--muted-foreground);
  font-size: 0.92rem;
  line-height: 1.78;
}

.steps-grid.reveal-stagger > *,
.process-list.reveal-stagger > * {
  transition-delay: 0ms !important;
}

.about-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.15rem, 2.2vw, 1.75rem);
  max-width: 58rem;
  margin-inline: auto;
  align-items: stretch;
}

.about-contact-grid .service-card {
  min-height: 14rem;
}

.local-grid {
  overflow: clip;
}

@supports not (overflow: clip) {
  .local-grid { overflow: hidden; }
}

.zj-radar-card {
  position: relative;
  overflow: hidden;
  border: 1px solid oklch(1 0 0 / 0.14);
  border-radius: var(--radius-card);
  background:
    linear-gradient(135deg, oklch(0.2 0.045 170 / 0.95), oklch(0.33 0.075 165 / 0.9)),
    var(--primary);
  box-shadow: 0 28px 72px oklch(0.12 0.03 170 / 0.36);
  color: var(--primary-foreground);
}

.zj-radar-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, oklch(1 0 0 / 0.06) 1px, transparent 1px),
    linear-gradient(180deg, oklch(1 0 0 / 0.05) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: 0.5;
  pointer-events: none;
}

.zj-radar-top,
.zj-radar-cities,
.zj-radar-foot {
  position: relative;
  z-index: 1;
}

.zj-radar-top {
  display: grid;
  gap: 0.45rem;
  border-bottom: 1px solid oklch(1 0 0 / 0.13);
  padding: 1.15rem 1.2rem 0.95rem;
}

.zj-radar-top span {
  color: var(--cta);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.zj-radar-top strong {
  color: var(--primary-foreground);
  font-size: 1.16rem;
  line-height: 1.35;
}

.zj-radar-cities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: oklch(1 0 0 / 0.1);
}

.zj-city {
  display: grid;
  min-height: 7.6rem;
  gap: 0.3rem;
  background: oklch(0.23 0.048 170 / 0.92);
  padding: 1rem;
}

.zj-city b {
  color: var(--primary-foreground);
  font-size: 1.15rem;
  line-height: 1;
}

.zj-city span {
  color: var(--cta);
  font-size: 0.78rem;
  font-weight: 750;
}

.zj-city p {
  color: oklch(1 0 0 / 0.72);
  font-size: 0.82rem;
  line-height: 1.55;
}

.zj-radar-foot {
  padding: 0.95rem 1.15rem 1.05rem;
  color: oklch(1 0 0 / 0.78);
  font-size: 0.85rem;
  font-weight: 650;
}

.shenzhen-query-band .marquee-track {
  gap: 1.25rem;
}

.shenzhen-query-band .marquee-item {
  color: oklch(0.28 0.045 170);
  font-size: 0.92rem;
}

.zj-lane-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.95rem, 1.5vw, 1.25rem);
  align-items: stretch;
}

.zj-lane-intro,
.zj-lane-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  border-radius: var(--radius-card);
  background: var(--paper);
  padding: 1.35rem;
  box-shadow: 0 14px 34px oklch(0.2 0.02 190 / 0.045);
}

.zj-lane-intro {
  grid-row: span 2;
  display: flex;
  min-height: 21rem;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(160deg, oklch(0.25 0.055 170), oklch(0.47 0.1 172)),
    var(--primary);
  color: var(--primary-foreground);
}

.zj-lane-intro::before {
  content: "";
  position: absolute;
  inset: 1rem;
  border: 1px solid oklch(1 0 0 / 0.16);
  border-radius: var(--radius-inner);
}

.zj-lane-intro span {
  position: relative;
  z-index: 1;
  color: var(--cta);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.zj-lane-intro h3 {
  position: relative;
  z-index: 1;
  margin-top: 0.65rem;
  max-width: 11ch;
  color: var(--primary-foreground);
  font-size: clamp(1.8rem, 3.1vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.zj-lane-intro p {
  position: relative;
  z-index: 1;
  margin-top: 1rem;
  color: oklch(1 0 0 / 0.72);
  line-height: 1.75;
}

.zj-lane-card {
  display: grid;
  min-height: 18rem;
  grid-template-rows: auto auto 1fr;
  gap: 0.75rem;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.zj-lane-card:hover {
  border-color: oklch(0.68 0.08 175);
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-3px);
}

.zj-lane-tag {
  justify-self: start;
  border: 1px solid oklch(0.72 0.08 175 / 0.45);
  border-radius: 999px;
  background: var(--primary-soft);
  padding: 0.28rem 0.62rem;
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 800;
}

.zj-lane-card h3 {
  color: var(--ink);
  font-size: 1.24rem;
  line-height: 1.35;
  letter-spacing: 0;
}

.zj-lane-card dl {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.zj-lane-card dt {
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 850;
}

.zj-lane-card dd {
  margin: 0.18rem 0 0;
  color: var(--muted-foreground);
  font-size: 0.9rem;
  line-height: 1.65;
}

.zj-home {
  background: oklch(0.985 0.004 175);
  overflow-x: hidden;
}

.zj-brief-hero {
  min-height: auto;
  border-bottom: 1px solid var(--rule);
  background:
    linear-gradient(135deg, oklch(0.17 0.035 170), oklch(0.28 0.062 165)),
    var(--primary-deep);
  color: var(--ink);
}

.zj-brief-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(23rem, 0.72fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
  min-height: min(760px, calc(100svh - var(--header-h)));
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.zj-brief-copy {
  max-width: 43rem;
  color: var(--primary-foreground);
}

.zj-overline {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.55rem;
  color: var(--cta);
  font-family: ui-monospace, monospace;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zj-overline::before {
  content: "";
  width: 1.8rem;
  height: 1px;
  background: currentColor;
}

.zj-brief-copy h1 {
  margin-top: 1.1rem;
  max-width: 13ch;
  color: var(--primary-foreground);
  font-size: clamp(2.75rem, 4.6vw, 4.75rem);
  line-height: 1.04;
  letter-spacing: 0;
}

.zj-brief-copy h1 span {
  display: block;
}

.zj-brief-copy p {
  margin-top: 1.4rem;
  max-width: 44rem;
  color: oklch(1 0 0 / 0.73);
  font-size: clamp(1rem, 1.4vw, 1.14rem);
  line-height: 1.9;
}

.zj-brief-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
  align-items: center;
  margin-top: 2rem;
}

.zj-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--primary);
  font-weight: 800;
}

.zj-brief-copy .zj-text-link,
.zj-boundary .zj-text-link {
  color: var(--cta);
}

.zj-text-link::after {
  content: "→";
  font-weight: 900;
}

.zj-brief-board {
  border: 1px solid oklch(1 0 0 / 0.18);
  background: oklch(0.985 0.004 180);
  box-shadow: 0 24px 62px oklch(0.08 0.02 170 / 0.28);
}

.zj-board-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  border-bottom: 1px solid var(--rule);
  padding: 1rem 1.1rem;
}

.zj-board-head span {
  color: var(--primary);
  font-weight: 850;
}

.zj-board-head strong {
  color: var(--muted-foreground);
  font-size: 0.84rem;
  font-weight: 700;
}

.zj-question-list {
  display: grid;
}

.zj-question-list > div {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 1rem;
  border-top: 1px solid var(--rule);
  padding: 1.05rem 1.1rem;
}

.zj-question-list > div:first-child {
  border-top: 0;
}

.zj-question-list b {
  color: var(--primary);
}

.zj-question-list p {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.65;
}

.zj-index-table-section,
.zj-asset-flow,
.zj-contact-section {
  padding-block: clamp(3.8rem, 7vw, 6.5rem);
}

.zj-index-table-section {
  background: var(--paper);
}

.zj-section-title {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: 1.5rem clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.zj-section-title span {
  color: var(--primary);
  font-family: ui-monospace, monospace;
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.zj-section-title h2 {
  max-width: 15ch;
  font-size: clamp(2.1rem, 4.8vw, 4.2rem);
  line-height: 1;
  letter-spacing: 0;
}

.zj-section-title p {
  grid-column: 2;
  max-width: 48rem;
  color: var(--muted-foreground);
  font-size: 1.02rem;
  line-height: 1.8;
}

.zj-section-title.compact {
  grid-template-columns: 10rem minmax(0, 1fr);
  margin-bottom: 1.5rem;
}

.zj-industry-table {
  border-top: 2px solid var(--primary);
}

.zj-table-row {
  display: grid;
  grid-template-columns: minmax(11rem, 0.28fr) minmax(0, 0.36fr) minmax(0, 0.36fr);
  gap: 1.4rem;
  border-bottom: 1px solid var(--rule);
  padding: 1.25rem 0;
}

.zj-table-head {
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.zj-table-row strong {
  display: block;
  color: var(--ink);
  font-size: 1.18rem;
}

.zj-table-row span {
  display: block;
  margin-top: 0.2rem;
  color: var(--muted-foreground);
  font-size: 0.86rem;
}

.zj-table-row div {
  color: var(--muted-foreground);
  line-height: 1.75;
}

.zj-table-row div:first-child {
  color: var(--ink);
}

.zj-asset-flow {
  background: oklch(0.955 0.016 92);
}

.zj-flow-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid oklch(0.76 0.04 105);
  border-bottom: 1px solid oklch(0.76 0.04 105);
}

.zj-flow-line article {
  min-height: 18rem;
  border-left: 1px solid oklch(0.76 0.04 105);
  padding: 1.5rem;
}

.zj-flow-line article:first-child {
  border-left: 0;
}

.zj-flow-line span {
  color: var(--primary);
  font-family: ui-monospace, monospace;
  font-size: 0.82rem;
  font-weight: 900;
}

.zj-flow-line h3 {
  margin-top: 4.8rem;
  color: var(--ink);
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  letter-spacing: 0;
}

.zj-flow-line p {
  margin-top: 0.75rem;
  color: var(--muted-foreground);
  line-height: 1.78;
}

.zj-boundary {
  background: var(--primary-deep);
  color: var(--primary-foreground);
  padding-block: clamp(3rem, 6vw, 5rem);
}

.zj-boundary-inner {
  display: grid;
  grid-template-columns: minmax(14rem, 0.42fr) minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: end;
}

.zj-boundary h2 {
  margin-top: 0.8rem;
  max-width: 13ch;
  color: var(--primary-foreground);
  letter-spacing: 0;
}

.zj-boundary p {
  color: oklch(1 0 0 / 0.75);
  line-height: 1.85;
}

.zj-contact-section {
  background: var(--paper);
}

.zj-contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(22rem, 0.58fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
  border-top: 2px solid var(--primary);
  padding-top: clamp(2rem, 4vw, 3rem);
}

.zj-contact-copy h2 {
  margin-top: 0.8rem;
  max-width: 12ch;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: 1;
  letter-spacing: 0;
}

.zj-contact-copy p {
  margin-top: 1rem;
  max-width: 42rem;
  color: var(--muted-foreground);
  font-size: 1.05rem;
  line-height: 1.85;
}

.zj-contact-copy > a {
  display: inline-block;
  margin-top: 1.5rem;
  color: var(--primary);
  font-size: 1.5rem;
  font-weight: 900;
}

.zj-lead-form {
  display: grid;
  gap: 0.9rem;
  border: 1px solid var(--rule);
  background: oklch(0.985 0.004 180);
  padding: 1.1rem;
}

.zj-lead-form .btn-submit {
  width: 100%;
  margin-top: 0.3rem;
  justify-content: center;
}

@media (max-width: 980px) {
  .method-overview,
  .service-flow-intro {
    grid-template-columns: 1fr;
  }

  .zj-brief-inner,
  .zj-contact-panel {
    grid-template-columns: 1fr;
  }

  .zj-brief-copy h1 {
    max-width: 13ch;
  }

  .zj-section-title,
  .zj-section-title.compact,
  .zj-boundary-inner {
    grid-template-columns: 1fr;
  }

  .zj-section-title p {
    grid-column: auto;
  }

  .zj-flow-line {
    grid-template-columns: 1fr;
  }

  .zj-flow-line article,
  .zj-flow-line article:first-child {
    min-height: auto;
    border-left: 0;
    border-top: 1px solid oklch(0.76 0.04 105);
  }

  .zj-flow-line article:first-child {
    border-top: 0;
  }

  .zj-flow-line h3 {
    margin-top: 2.4rem;
  }

  .zj-lane-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zj-lane-intro {
    grid-row: auto;
    min-height: 17rem;
  }

  .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summit-card.summit {
    grid-column: span 2;
  }

  .deliver-head {
    grid-template-columns: 1fr;
  }

  .deliver-head p {
    grid-column: auto;
  }

  .process-list::before {
    display: none;
  }

  .process-row {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .process-row .p-item {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

@media (max-width: 640px) {
  .method-container,
  .services-flow-container {
    max-width: calc(100vw - 1.25rem);
  }

  .method-overview-item,
  .service-flow-intro a,
  .summit-card,
  .process-row {
    border-radius: var(--radius-inner);
  }

  .steps-grid {
    grid-template-columns: 1fr;
  }

  .summit-card.summit {
    grid-column: span 1;
  }

  .summit-card {
    min-height: 7.8rem;
  }

  .deliver-panel {
    margin-top: 2.6rem;
    padding-top: 1.8rem;
  }

  .deliver-table {
    min-width: 720px;
  }

  .deliver-table thead th,
  .deliver-table tbody td {
    padding: 0.85rem;
  }

  .process-row {
    padding: 1rem;
  }

  .process-row .p-n {
    width: 3.2rem;
    height: 3.2rem;
  }

  .process-row h3 {
    align-items: flex-start;
    font-size: 1.18rem;
  }

  .process-row h3::after {
    display: none;
  }

  .about-contact-grid {
    grid-template-columns: 1fr;
    max-width: 52rem;
  }

  .about-contact-grid .service-card {
    min-height: auto;
  }

  .zj-brief-hero {
    min-height: auto;
  }

  .zj-brief-inner {
    min-height: auto;
  }

  .zj-brief-copy h1,
  .zj-section-title h2,
  .zj-contact-copy h2 {
    max-width: none;
  }

  .zj-brief-inner {
    padding-block: 3.2rem;
  }

  .zj-brief-copy h1 {
    font-size: clamp(2.18rem, 10vw, 2.8rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .zj-brief-copy p {
    font-size: 0.98rem;
    line-height: 1.85;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .zj-brief-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .zj-brief-actions .btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-inline: 1rem;
    justify-content: center;
  }

  .zj-brief-actions .zj-text-link {
    justify-content: center;
  }

  .zj-board-head {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .zj-board-head strong {
    display: none;
  }

  .zj-home .site-header .bar {
    gap: 0.5rem;
  }

  .zj-home .btn-header {
    height: 2.45rem;
    padding-inline: 0.8rem;
    font-size: 0.86rem;
  }

  .zj-home .btn-header .dot {
    display: none;
  }

  .zj-question-list > div,
  .zj-table-row,
  .zj-table-head {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .zj-table-head {
    display: none;
  }

  .zj-boundary-inner {
    align-items: start;
  }

  .zj-lead-form {
    padding: 0.9rem;
  }

  .zj-home .container {
    max-width: 100%;
    padding-inline: 1.25rem;
  }

  .zj-brief-copy,
  .zj-brief-board,
  .zj-contact-panel,
  .zj-industry-table,
  .zj-flow-line {
    max-width: 100%;
    min-width: 0;
  }

  .zj-brief-hero {
    overflow: hidden;
  }

  .zj-brief-copy p,
  .zj-question-list p,
  .zj-table-row div,
  .zj-flow-line p {
    word-break: break-word;
  }

  .zj-radar-cities,
  .zj-lane-grid {
    grid-template-columns: 1fr;
  }

  .zj-city {
    min-height: auto;
  }

  .zj-lane-intro,
  .zj-lane-card {
    border-radius: var(--radius-inner);
  }

  .zj-lane-card {
    min-height: auto;
  }

  .zj-home .zj-brief-actions .btn-cta.btn-lg {
    width: 100%;
    max-width: 100%;
    padding-inline: 0.9rem;
    font-size: 0.94rem;
  }

  .zj-home .zj-brief-actions .btn-cta .arrow {
    flex: 0 0 auto;
  }

  .zj-home .zj-brief-inner {
    width: 100%;
    padding-inline: 1rem;
  }

  .zj-home .zj-brief-copy,
  .zj-home .zj-brief-board {
    width: min(100%, calc(100vw - 3rem));
    margin-inline: auto;
  }

  .zj-home .zj-brief-copy p {
    max-width: 30ch;
  }

  .zj-home .zj-brief-actions .btn-cta.btn-lg {
    width: min(100%, calc(100vw - 3rem));
  }

  .zj-home .zj-question-list > div {
    padding-inline: 0.95rem;
  }
}

/* v2 cascade guard: keep the new Shenzhen homepage isolated from legacy homepage rules. */
.zj-home.gd-home {
  background: oklch(0.985 0.006 165);
}

@media (max-width: 640px) {
  .zj-home.gd-home .container {
    max-width: 100%;
    padding-inline: 1rem;
  }

  .zj-home.gd-home {
    max-width: 100vw;
    overflow: hidden;
  }

  .zj-home.gd-home .zj-signal-inner,
  .zj-home.gd-home .zj-signal-copy,
  .zj-home.gd-home .zj-command-center {
    width: 100%;
    max-width: calc(100vw - 2rem);
    min-width: 0;
  }

  .zj-home.gd-home .zj-signal-copy h1,
  .zj-home.gd-home .zj-signal-copy p,
  .zj-home.gd-home .zj-signal-actions {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .zj-home.gd-home .zj-signal-copy p {
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .zj-home.gd-home .zj-signal-actions .btn {
    white-space: normal;
  }
}

/* Shenzhen homepage launch refinements */
.gd-home .zj-signal-copy h1 {
  max-width: 14.6ch;
  font-size: 3.8rem;
  line-height: 1.08;
}

.gd-home .zj-signal-copy p {
  max-width: 39rem;
}

.gd-home .zj-signal-head h2,
.gd-home .zj-engine-copy h2,
.gd-home .zj-boundary-grid h2,
.gd-home .zj-contact-copy-v2 h2 {
  max-width: 18ch;
  font-size: 2.65rem;
  line-height: 1.12;
}

.gd-home .zj-signal-head {
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: 0.9rem 2.5rem;
  margin-bottom: 2rem;
}

.gd-home .zj-signal-head p {
  max-width: 42rem;
}

.gd-home .zj-signal-head.narrow {
  max-width: 68rem;
}

.gd-home .zj-scene-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.gd-home .zj-scene-card {
  display: flex;
  min-height: 19rem;
  flex-direction: column;
  justify-content: flex-start;
  border-color: oklch(0.36 0.07 165 / 0.18);
  background: oklch(0.995 0.003 180);
  box-shadow: 0 18px 44px -36px oklch(0.15 0.04 160 / 0.32);
}

.gd-home .zj-scene-card h3 {
  font-size: 1.42rem;
}

.gd-home .zj-scene-card p {
  font-size: 0.96rem;
}

.gd-home .zj-scene-prompt {
  margin-top: auto;
  border-color: oklch(0.36 0.07 165 / 0.16);
  background: oklch(0.94 0.04 175 / 0.55);
  color: var(--primary);
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 750;
}

.gd-home .zj-engine-grid {
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1fr);
  gap: 2.8rem;
}

.gd-home .zj-engine-panel {
  background: oklch(0.995 0.003 180 / 0.78);
}

.gd-home .zj-engine-row {
  grid-template-columns: 3.8rem minmax(7.5rem, 0.3fr) minmax(0, 1fr);
  padding: 1rem 1.1rem;
}

.gd-home .zj-city-matrix {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  border: 0;
}

.gd-home .zj-city-matrix article {
  min-height: 12.5rem;
  border: 1px solid oklch(0.36 0.07 165 / 0.14);
  border-radius: 8px;
  padding: 1.15rem;
  background: oklch(0.995 0.003 180);
  box-shadow: 0 16px 38px -34px oklch(0.18 0.02 200 / 0.24);
}

.gd-home .zj-city-matrix b {
  font-size: 1.25rem;
}

.gd-home .zj-city-matrix strong {
  margin-top: 0.75rem;
}

.gd-home .zj-boundary-v2 {
  padding-block: 4.4rem;
}

.gd-home .zj-boundary-grid {
  grid-template-columns: minmax(18rem, 0.52fr) minmax(0, 1fr) auto;
  align-items: center;
}

.gd-home .zj-contact-copy-v2 h2 {
  max-width: 13ch;
}

@media (max-width: 1180px) {
  .gd-home .zj-scene-grid,
  .gd-home .zj-city-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gd-home .zj-signal-copy h1 {
    font-size: 3.25rem;
  }
}

@media (max-width: 980px) {
  .gd-home .zj-signal-head,
  .gd-home .zj-engine-grid,
  .gd-home .zj-boundary-grid,
  .gd-home .zj-contact-grid-v2 {
    grid-template-columns: 1fr;
  }

  .gd-home .zj-signal-head p {
    grid-column: auto;
  }

  .gd-home .zj-engine-row {
    grid-template-columns: 3.4rem minmax(0, 1fr);
  }

  .gd-home .zj-engine-row p {
    grid-column: 2;
  }
}

@media (max-width: 640px) {
  .gd-home .zj-signal-copy h1 {
    max-width: 100%;
    font-size: 2.28rem;
  }

  .gd-home .zj-signal-head h2,
  .gd-home .zj-engine-copy h2,
  .gd-home .zj-boundary-grid h2,
  .gd-home .zj-contact-copy-v2 h2 {
    max-width: 100%;
    font-size: 1.95rem;
  }

  .gd-home .zj-scene-grid,
  .gd-home .zj-city-matrix {
    grid-template-columns: 1fr;
  }

  .gd-home .zj-scene-card,
  .gd-home .zj-city-matrix article {
    min-height: auto;
  }

  .gd-home .zj-engine-row {
    grid-template-columns: 1fr;
  }

  .gd-home .zj-engine-row p {
    grid-column: auto;
  }
}

.js .gd-home .reveal,
.js .gd-home .reveal-l,
.js .gd-home .reveal-r,
.js .gd-home .reveal-scale,
.js .gd-home .reveal-stagger > * {
  opacity: 1;
  transform: none;
  filter: none;
}

/* Shenzhen homepage: procurement atlas direction */
.zj-home.gd-home {
  background: oklch(0.98 0.006 118);
}

.gd-home .zj-signal-hero {
  min-height: min(790px, calc(100svh - var(--header-h)));
  background:
    linear-gradient(90deg, oklch(0.985 0.006 112 / 0.96) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, oklch(0.985 0.006 112 / 0.96) 0 1px, transparent 1px 100%),
    linear-gradient(135deg, oklch(0.99 0.006 108) 0%, oklch(0.965 0.018 145) 53%, oklch(0.985 0.008 80) 100%);
  background-size: 48px 48px, 48px 48px, auto;
  color: var(--ink);
  border-bottom: 1px solid oklch(0.47 0.045 154 / 0.18);
}

.gd-home .zj-signal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg, transparent 0 54%, oklch(0.33 0.08 160 / 0.08) 54.2% 54.7%, transparent 54.9%),
    repeating-linear-gradient(90deg, transparent 0 12rem, oklch(0.84 0.08 95 / 0.12) 12rem 12.12rem);
  pointer-events: none;
}

.gd-home .zj-grid-plane {
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.35 0.065 160 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.35 0.065 160 / 0.07) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.62;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
}

.gd-home .zj-scan-beam {
  display: none;
}

.gd-home .zj-signal-inner {
  grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 1fr);
  gap: 4rem;
  padding-block: 5.3rem;
}

.gd-home .zj-signal-copy {
  max-width: 45rem;
}

.gd-home .zj-signal-kicker {
  border-color: oklch(0.34 0.07 160 / 0.2);
  background: oklch(1 0 0 / 0.76);
  color: var(--primary);
  box-shadow: 0 10px 28px -24px oklch(0.24 0.04 160 / 0.42);
}

.gd-home .zj-signal-copy h1 {
  max-width: 12.8ch;
  color: var(--ink);
  font-size: 3.65rem;
  line-height: 1.1;
}

.gd-home .zj-signal-copy h1 span + span {
  color: var(--primary);
}

.gd-home .zj-signal-copy p {
  max-width: 38rem;
  color: oklch(0.36 0.02 175);
  font-size: 1.04rem;
}

.gd-home .zj-hero-link {
  color: var(--primary);
}

.gd-home .zj-hero-link:hover {
  color: oklch(0.28 0.08 160);
}

.gd-home .zj-signal-proof span {
  border-color: oklch(0.34 0.07 160 / 0.17);
  background: oklch(1 0 0 / 0.68);
  color: oklch(0.31 0.025 170);
}

.gd-home .zj-command-center {
  border-color: oklch(0.35 0.06 160 / 0.22);
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.92), oklch(0.975 0.012 105 / 0.96));
  box-shadow: 0 26px 64px -42px oklch(0.22 0.035 155 / 0.48);
}

.gd-home .zj-command-center::before {
  background-image:
    linear-gradient(to right, oklch(0.45 0.06 160 / 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.45 0.06 160 / 0.06) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: 0.9;
}

.gd-home .zj-command-top {
  border-bottom-color: oklch(0.36 0.045 160 / 0.16);
  background: oklch(1 0 0 / 0.72);
}

.gd-home .zj-command-top span {
  font-family: inherit;
  font-size: 0.9rem;
  letter-spacing: 0;
  text-transform: none;
}

.gd-home .zj-command-top strong {
  color: oklch(0.34 0.018 175);
}

.gd-home .zj-radar-stage {
  grid-template-columns: minmax(0, 1fr) 8.7rem;
}

.gd-home .zj-map-frame {
  min-height: 24rem;
  border-color: oklch(0.36 0.06 160 / 0.18);
  background:
    linear-gradient(180deg, oklch(0.99 0.005 112), oklch(0.96 0.018 142));
}

.gd-home .zj-map-frame::before {
  background-image:
    linear-gradient(to right, oklch(0.35 0.06 160 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.35 0.06 160 / 0.07) 1px, transparent 1px);
  background-size: 38px 38px;
}

.gd-home .zj-map-frame::after {
  display: block;
  inset: auto 9% 42% 11%;
  height: 2px;
  transform: rotate(-13deg);
  transform-origin: left center;
  background: linear-gradient(90deg, oklch(0.35 0.1 170), oklch(0.86 0.16 90));
  opacity: 0.75;
  animation: none;
}

.gd-home .zj-radar-ring,
.gd-home .zj-radar-sweep {
  display: none;
}

.gd-home .zj-radar-core {
  width: 10.8rem;
  height: auto;
  min-height: 4.8rem;
  border-color: oklch(0.35 0.08 160 / 0.16);
  border-radius: 8px;
  padding: 0.75rem 0.9rem;
  background:
    linear-gradient(135deg, oklch(0.24 0.075 160), oklch(0.16 0.055 165));
  box-shadow: 0 18px 38px -24px oklch(0.17 0.04 160 / 0.62);
}

.gd-home .zj-radar-core b {
  font-size: 1.18rem;
}

.gd-home .zj-radar-core em {
  color: oklch(0.92 0.06 100 / 0.8);
  font-size: 0.7rem;
}

.gd-home .zj-node {
  min-width: 6.8rem;
  border-color: oklch(0.35 0.06 160 / 0.18);
  background: oklch(1 0 0 / 0.88);
  color: var(--ink);
  box-shadow: 0 16px 34px -28px oklch(0.18 0.035 160 / 0.42);
}

.gd-home .zj-node i {
  background: oklch(0.82 0.16 88);
  animation: none;
}

.gd-home .zj-node b {
  color: var(--primary);
}

.gd-home .zj-node small {
  color: oklch(0.42 0.018 175);
}

.gd-home .zj-node-hz { left: 7%; top: 13%; }
.gd-home .zj-node-sx { left: 42%; top: 13%; }
.gd-home .zj-node-nb { right: 6%; top: 27%; }
.gd-home .zj-node-yw { left: 13%; top: 56%; }
.gd-home .zj-node-wz { right: 12%; bottom: 15%; }
.gd-home .zj-node-tz { left: 39%; bottom: 8%; }

.gd-home .zj-radar-metrics div {
  min-height: 7.15rem;
  border-color: oklch(0.36 0.06 160 / 0.16);
  background: oklch(1 0 0 / 0.72);
}

.gd-home .zj-query-console div {
  border-color: oklch(0.36 0.06 160 / 0.15);
  background: oklch(1 0 0 / 0.78);
}

.gd-home .zj-query-console span,
.gd-home .zj-query-console i {
  font-family: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.gd-home .zj-query-console i {
  background: oklch(0.9 0.08 94 / 0.55);
}

.gd-home .zj-signal-strip {
  border-block: 1px solid oklch(0.37 0.055 160 / 0.14);
  background: oklch(0.985 0.006 110);
  color: var(--primary);
}

.gd-home .zj-strip-track span {
  border-color: oklch(0.34 0.06 160 / 0.14);
  background: oklch(1 0 0 / 0.72);
  color: var(--primary);
}

@media (max-width: 1180px) {
  .gd-home .zj-signal-inner {
    grid-template-columns: minmax(0, 0.86fr) minmax(24rem, 1fr);
    gap: 2.7rem;
  }

  .gd-home .zj-signal-copy h1 {
    font-size: 3.15rem;
  }
}

@media (max-width: 980px) {
  .gd-home .zj-signal-hero {
    background:
      linear-gradient(90deg, oklch(0.985 0.006 112 / 0.94) 0 1px, transparent 1px 100%),
      linear-gradient(180deg, oklch(0.985 0.006 112 / 0.94) 0 1px, transparent 1px 100%),
      linear-gradient(180deg, oklch(0.992 0.005 108), oklch(0.966 0.017 145));
    background-size: 44px 44px, 44px 44px, auto;
  }

  .gd-home .zj-signal-inner {
    grid-template-columns: 1fr;
  }

  .gd-home .zj-command-center {
    width: min(100%, 46rem);
  }
}

@media (max-width: 640px) {
  .gd-home .zj-signal-hero {
    min-height: auto;
  }

  .gd-home .zj-signal-inner {
    padding-block: 2.8rem;
  }

  .gd-home .zj-signal-copy h1 {
    max-width: 100%;
    font-size: 2.14rem;
  }

  .gd-home .zj-signal-copy p {
    max-width: calc(100vw - 4rem);
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .gd-home .zj-command-center,
  .gd-home .zj-radar-stage,
  .gd-home .zj-map-frame,
  .gd-home .zj-radar-metrics,
  .gd-home .zj-query-console,
  .gd-home .zj-query-console div,
  .gd-home .zj-query-console p {
    min-width: 0;
    max-width: 100%;
  }

  .gd-home .zj-radar-stage {
    grid-template-columns: 1fr;
  }

  .gd-home .zj-radar-metrics {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  .gd-home .zj-radar-metrics div {
    min-height: 5.2rem;
    padding: 0.65rem;
  }

  .gd-home .zj-radar-metrics b {
    font-size: 1.18rem;
  }

  .gd-home .zj-map-frame {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    min-height: auto;
    padding: 4.95rem 0.7rem 0.7rem;
  }

  .gd-home .zj-map-frame::after {
    display: none;
  }

  .gd-home .zj-radar-core {
    left: 0.7rem;
    right: 0.7rem;
    top: 0.7rem;
    width: auto;
    min-height: 3.55rem;
    height: auto;
    transform: none;
  }

  .gd-home .zj-node {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    min-width: 0;
    max-width: none;
  }

  .gd-home .zj-node small {
    display: block;
  }

  .gd-home .zj-query-console div {
    grid-template-columns: 1fr;
  }

  .gd-home .zj-query-console p {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }

  .gd-home .zj-query-console i {
    grid-column: auto;
    justify-self: start;
  }
}

/* Shenzhen homepage: stronger launch motion and lighter navigation */
.site-header {
  background: oklch(0.985 0.008 105 / 0.86);
  color: var(--ink);
  border-bottom: 1px solid oklch(0.38 0.06 160 / 0.18);
  box-shadow: 0 12px 34px -30px oklch(0.18 0.04 160 / 0.46);
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, oklch(0.82 0.16 88), oklch(0.62 0.16 180), oklch(0.36 0.08 160));
  pointer-events: none;
}

.brand .brand-sub,
.site-header .brand small {
  color: oklch(0.39 0.025 175) !important;
}

.site-nav a {
  color: oklch(0.26 0.025 175);
  font-weight: 750;
}

.site-nav a:hover,
.site-nav a.active {
  color: var(--primary);
}

.site-nav a.active {
  position: relative;
}

.site-nav a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1.42rem;
  height: 3px;
  border-radius: 999px;
  background: var(--cta);
}

.hotline {
  color: var(--primary);
}

.hotline:hover {
  color: oklch(0.25 0.075 165);
}

.nav-toggle {
  border-color: oklch(0.35 0.06 160 / 0.24);
  background: var(--primary);
  box-shadow: 0 10px 24px -18px oklch(0.18 0.04 160 / 0.55);
}

.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
  background: var(--primary-foreground);
}

.nav-toggle.open span {
  background: transparent;
}

.mobile-nav {
  background: oklch(0.985 0.008 105 / 0.96);
  border-bottom-color: oklch(0.38 0.06 160 / 0.18);
  box-shadow: 0 18px 34px -28px oklch(0.18 0.04 160 / 0.38);
}

.mobile-nav a {
  color: oklch(0.25 0.025 175);
}

.mobile-nav a:hover,
.mobile-nav a.active {
  color: var(--primary);
  background: oklch(0.92 0.035 160 / 0.58);
}

.gd-home .zj-signal-hero {
  background:
    linear-gradient(90deg, oklch(0.985 0.006 112 / 0.94) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, oklch(0.985 0.006 112 / 0.94) 0 1px, transparent 1px 100%),
    radial-gradient(ellipse 70% 60% at 76% 30%, oklch(0.74 0.15 176 / 0.24), transparent 62%),
    linear-gradient(135deg, oklch(0.99 0.006 108) 0%, oklch(0.955 0.035 150) 48%, oklch(0.985 0.022 82) 100%);
  background-size: 48px 48px, 48px 48px, auto, auto;
}

.gd-home .zj-signal-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, transparent 0 46%, oklch(1 0 0 / 0.5) 46.2% 48.5%, transparent 48.7% 100%);
  mix-blend-mode: soft-light;
  animation: zjHeroGlint 8s ease-in-out infinite;
  pointer-events: none;
}

.gd-home .zj-energy-field {
  position: absolute;
  inset: 9% 7% 8% auto;
  width: min(42vw, 38rem);
  border: 1px solid oklch(0.38 0.08 165 / 0.13);
  border-radius: 999px;
  transform: rotate(-12deg);
  background:
    repeating-linear-gradient(90deg, transparent 0 1.35rem, oklch(0.58 0.12 180 / 0.08) 1.35rem 1.43rem),
    linear-gradient(90deg, transparent, oklch(0.86 0.16 90 / 0.16), transparent);
  filter: blur(0.2px);
  opacity: 0.86;
  animation: zjFieldDrift 13s ease-in-out infinite alternate;
}

.gd-home .zj-data-route {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, oklch(0.36 0.1 165), oklch(0.86 0.16 90), transparent);
  opacity: 0.76;
  transform-origin: left center;
  animation: zjRouteRun 3.8s linear infinite;
}

.gd-home .zj-data-route.route-a {
  left: 5%;
  top: 28%;
  width: 48%;
  transform: rotate(-8deg);
}

.gd-home .zj-data-route.route-b {
  left: 16%;
  top: 62%;
  width: 42%;
  transform: rotate(12deg);
  animation-delay: -1.2s;
}

.gd-home .zj-data-route.route-c {
  right: 8%;
  top: 78%;
  width: 34%;
  transform: rotate(-18deg);
  animation-delay: -2.4s;
}

.gd-home .zj-signal-copy h1 {
  font-size: 3.9rem;
  text-shadow: 0 16px 38px oklch(0.18 0.035 160 / 0.1);
}

.gd-home .zj-signal-copy h1 span + span {
  display: inline-block;
  position: relative;
  color: var(--primary);
}

.gd-home .zj-signal-copy h1 span + span::after {
  content: "";
  position: absolute;
  left: 0.04em;
  right: 0.04em;
  bottom: 0.08em;
  z-index: -1;
  height: 0.24em;
  border-radius: 999px;
  background: linear-gradient(90deg, oklch(0.86 0.16 90 / 0.55), oklch(0.72 0.14 180 / 0.4));
  animation: zjTitleMark 4.8s ease-in-out infinite;
}

.gd-home .zj-answer-ribbon {
  display: grid;
  gap: 0.55rem;
  width: min(100%, 31rem);
  margin-top: 1.55rem;
}

.gd-home .zj-answer-ribbon span {
  display: block;
  overflow: hidden;
  border: 1px solid oklch(0.36 0.07 160 / 0.14);
  border-radius: 999px;
  padding: 0.48rem 0.85rem;
  background: oklch(1 0 0 / 0.62);
  color: oklch(0.3 0.025 175);
  font-size: 0.78rem;
  font-weight: 750;
  white-space: nowrap;
  box-shadow: 0 12px 30px -26px oklch(0.18 0.04 160 / 0.34);
  animation: zjAnswerFloat 6.4s ease-in-out infinite;
}

.gd-home .zj-answer-ribbon span:nth-child(2) {
  margin-left: 1.4rem;
  animation-delay: -1.6s;
}

.gd-home .zj-answer-ribbon span:nth-child(3) {
  margin-left: 2.8rem;
  animation-delay: -3.2s;
}

.gd-home .zj-command-center {
  box-shadow:
    0 34px 72px -42px oklch(0.16 0.04 160 / 0.54),
    0 0 0 1px oklch(1 0 0 / 0.68) inset;
}

.gd-home .zj-command-center::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, transparent 0 32%, oklch(0.85 0.16 90 / 0.28) 42%, transparent 52% 100%);
  transform: translateX(-90%);
  animation: zjPanelSheen 6.8s ease-in-out infinite;
  pointer-events: none;
}

.gd-home .zj-map-frame {
  box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.72);
}

.gd-home .zj-map-frame::after {
  opacity: 0.95;
  animation: zjAtlasLineGlow 2.8s ease-in-out infinite;
}

.gd-home .zj-atlas-route {
  position: absolute;
  z-index: 1;
  height: 2px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, oklch(0.27 0.08 165 / 0.1), oklch(0.34 0.1 165), oklch(0.86 0.16 90), oklch(0.27 0.08 165 / 0.1));
  background-size: 220% 100%;
  box-shadow: 0 0 18px oklch(0.72 0.14 180 / 0.24);
  animation: zjAtlasFlow 3.1s linear infinite;
}

.gd-home .zj-atlas-route.atlas-a {
  left: 12%;
  top: 32%;
  width: 56%;
  transform: rotate(10deg);
}

.gd-home .zj-atlas-route.atlas-b {
  left: 18%;
  top: 59%;
  width: 58%;
  transform: rotate(-13deg);
  animation-delay: -0.9s;
}

.gd-home .zj-atlas-route.atlas-c {
  left: 34%;
  top: 72%;
  width: 44%;
  transform: rotate(16deg);
  animation-delay: -1.8s;
}

.gd-home .zj-atlas-pulse {
  position: absolute;
  z-index: 2;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: var(--cta);
  box-shadow: 0 0 0 7px oklch(0.86 0.16 90 / 0.16), 0 0 24px oklch(0.72 0.14 180 / 0.36);
  animation: zjAtlasPulse 2.4s ease-in-out infinite;
}

.gd-home .zj-atlas-pulse.pulse-a { left: 42%; top: 29%; }
.gd-home .zj-atlas-pulse.pulse-b { left: 56%; top: 54%; animation-delay: -0.8s; }
.gd-home .zj-atlas-pulse.pulse-c { left: 31%; top: 68%; animation-delay: -1.6s; }

.gd-home .zj-radar-core {
  z-index: 5;
  transform: translate(-50%, -50%);
  animation: zjCoreHover 4.5s ease-in-out infinite;
}

.gd-home .zj-node {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  animation: zjNodeBreathe 5.5s ease-in-out infinite;
}

.gd-home .zj-node:nth-of-type(odd) {
  animation-delay: -1.1s;
}

.gd-home .zj-node:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 40px -30px oklch(0.18 0.04 160 / 0.62);
}

.gd-home .zj-radar-metrics div {
  position: relative;
  overflow: hidden;
}

.gd-home .zj-radar-metrics div::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta));
  transform: translateX(-100%);
  animation: zjMetricLoad 5s ease-in-out infinite;
}

.gd-home .zj-radar-metrics div:nth-child(2)::after { animation-delay: -1.3s; }
.gd-home .zj-radar-metrics div:nth-child(3)::after { animation-delay: -2.6s; }

.gd-home .zj-query-console div {
  animation: zjQueryLift 6s ease-in-out infinite;
}

.gd-home .zj-query-console div:nth-child(2) { animation-delay: -1.5s; }
.gd-home .zj-query-console div:nth-child(3) { animation-delay: -3s; }

@keyframes zjHeroGlint {
  0%, 100% { transform: translateX(-8%); opacity: 0.1; }
  45%, 55% { opacity: 0.42; }
  70% { transform: translateX(8%); opacity: 0.08; }
}

@keyframes zjFieldDrift {
  0% { transform: translate3d(0, 0, 0) rotate(-12deg); }
  100% { transform: translate3d(-1.2rem, 1.1rem, 0) rotate(-9deg); }
}

@keyframes zjRouteRun {
  0% { clip-path: inset(0 100% 0 0); opacity: 0; }
  18% { opacity: 0.82; }
  62% { clip-path: inset(0 0 0 0); opacity: 0.82; }
  100% { clip-path: inset(0 0 0 100%); opacity: 0; }
}

@keyframes zjTitleMark {
  0%, 100% { transform: scaleX(0.72); opacity: 0.42; }
  50% { transform: scaleX(1); opacity: 0.7; }
}

@keyframes zjAnswerFloat {
  0%, 100% { transform: translate3d(0, 0, 0); opacity: 0.78; }
  45% { transform: translate3d(0.55rem, -0.14rem, 0); opacity: 1; }
}

@keyframes zjPanelSheen {
  0%, 58%, 100% { transform: translateX(-92%); opacity: 0; }
  18% { opacity: 1; }
  42% { transform: translateX(92%); opacity: 0; }
}

@keyframes zjAtlasFlow {
  0% { background-position: 0% 50%; opacity: 0.55; }
  50% { opacity: 1; }
  100% { background-position: 220% 50%; opacity: 0.55; }
}

@keyframes zjAtlasLineGlow {
  0%, 100% { filter: drop-shadow(0 0 0 transparent); }
  50% { filter: drop-shadow(0 0 10px oklch(0.72 0.14 180 / 0.45)); }
}

@keyframes zjAtlasPulse {
  0%, 100% { transform: scale(0.88); opacity: 0.64; }
  45% { transform: scale(1.18); opacity: 1; }
}

@keyframes zjCoreHover {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-5px); }
}

@keyframes zjNodeBreathe {
  0%, 100% { box-shadow: 0 16px 34px -28px oklch(0.18 0.035 160 / 0.42); }
  50% { box-shadow: 0 18px 38px -26px oklch(0.18 0.035 160 / 0.58); }
}

@keyframes zjMetricLoad {
  0%, 100% { transform: translateX(-100%); opacity: 0; }
  18%, 58% { opacity: 1; }
  72% { transform: translateX(0); opacity: 0.8; }
}

@keyframes zjQueryLift {
  0%, 100% { transform: translateY(0); }
  44% { transform: translateY(-3px); }
}

@media (max-width: 980px) {
  .site-header {
    background: oklch(0.985 0.008 105 / 0.95);
  }

  .site-nav a.active::after {
    display: none;
  }

  .gd-home .zj-answer-ribbon {
    width: min(100%, 34rem);
  }
}

@media (max-width: 640px) {
  .site-header .bar {
    height: 70px;
  }

  .gd-home .zj-signal-hero::after,
  .gd-home .zj-energy-field,
  .gd-home .zj-data-route {
    display: none;
  }

  .gd-home .zj-signal-copy h1 {
    font-size: 2.24rem;
  }

  .gd-home .zj-answer-ribbon {
    gap: 0.45rem;
    margin-top: 1.2rem;
  }

  .gd-home .zj-answer-ribbon span {
    white-space: normal;
    font-size: 0.74rem;
  }

  .gd-home .zj-answer-ribbon span:nth-child(2),
  .gd-home .zj-answer-ribbon span:nth-child(3) {
    margin-left: 0;
  }

  .gd-home .zj-atlas-route,
  .gd-home .zj-atlas-pulse {
    display: none;
  }

  .gd-home .zj-radar-core {
    animation: none;
    left: 0.7rem;
    right: 0.7rem;
    top: 0.7rem;
    width: auto;
    min-height: 3.55rem;
    height: auto;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-home .zj-signal-hero::after,
  .gd-home .zj-energy-field,
  .gd-home .zj-data-route,
  .gd-home .zj-answer-ribbon span,
  .gd-home .zj-command-center::after,
  .gd-home .zj-map-frame::after,
  .gd-home .zj-atlas-route,
  .gd-home .zj-atlas-pulse,
  .gd-home .zj-radar-core,
  .gd-home .zj-node,
  .gd-home .zj-radar-metrics div::after,
  .gd-home .zj-query-console div {
    animation: none;
  }
}

/* Shenzhen hero board: replace abstract node map with a readable procurement flow. */
.gd-home .zj-map-frame {
  display: block;
  min-height: 25rem;
  padding: 0.85rem;
}

.gd-home .zj-map-frame::after {
  display: none;
}

.gd-home .zj-procurement-board {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 0.72rem;
  min-height: 23rem;
  overflow: hidden;
}

.gd-home .zj-procurement-board::before {
  content: "";
  position: absolute;
  inset: 2.5rem 8% 4.4rem;
  border: 1px solid oklch(0.34 0.08 165 / 0.12);
  border-radius: 999px;
  transform: rotate(-8deg);
  background: linear-gradient(90deg, transparent, oklch(0.72 0.14 180 / 0.1), transparent);
  animation: zjBoardOrbit 9s ease-in-out infinite alternate;
  pointer-events: none;
}

.gd-home .zj-board-label {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  border: 1px solid oklch(0.35 0.06 160 / 0.14);
  border-radius: 8px;
  padding: 0.55rem 0.65rem;
  background: oklch(1 0 0 / 0.72);
}

.gd-home .zj-board-label span {
  color: var(--primary);
  font-size: 0.78rem;
  font-weight: 900;
}

.gd-home .zj-board-label b {
  color: oklch(0.42 0.018 175);
  font-family: ui-monospace, monospace;
  font-size: 0.66rem;
  letter-spacing: 0.04em;
}

.gd-home .zj-city-feed {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.gd-home .zj-city-feed span,
.gd-home .zj-answer-output span {
  position: relative;
  overflow: hidden;
  border: 1px solid oklch(0.35 0.06 160 / 0.15);
  border-radius: 8px;
  background: oklch(1 0 0 / 0.82);
  box-shadow: 0 14px 30px -28px oklch(0.18 0.035 160 / 0.42);
}

.gd-home .zj-city-feed span {
  min-height: 4rem;
  padding: 0.65rem 0.65rem 0.6rem 1rem;
  animation: zjBoardCardFloat 5.8s ease-in-out infinite;
}

.gd-home .zj-city-feed span:nth-child(2),
.gd-home .zj-city-feed span:nth-child(5) {
  animation-delay: -1.3s;
}

.gd-home .zj-city-feed span:nth-child(3),
.gd-home .zj-city-feed span:nth-child(6) {
  animation-delay: -2.6s;
}

.gd-home .zj-city-feed span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8rem;
  width: 3px;
  height: 1.6rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--cta), var(--accent-teal));
}

.gd-home .zj-city-feed b,
.gd-home .zj-answer-output b {
  display: block;
  color: var(--primary);
  font-size: 0.9rem;
  line-height: 1.2;
}

.gd-home .zj-city-feed small,
.gd-home .zj-answer-output small {
  display: block;
  margin-top: 0.18rem;
  color: oklch(0.42 0.018 175);
  font-size: 0.66rem;
  line-height: 1.3;
}

.gd-home .zj-flow-core {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
  min-height: 6.35rem;
  overflow: hidden;
  border: 1px solid oklch(0.35 0.08 160 / 0.2);
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 50%, oklch(0.72 0.14 180 / 0.16), transparent 34%),
    linear-gradient(135deg, oklch(0.2 0.07 162), oklch(0.12 0.045 165));
  color: var(--primary-foreground);
  box-shadow: 0 18px 38px -24px oklch(0.14 0.04 160 / 0.72);
}

.gd-home .zj-flow-core > div {
  position: relative;
  z-index: 2;
  text-align: center;
}

.gd-home .zj-flow-core strong {
  display: block;
  font-size: 1.08rem;
  line-height: 1.2;
}

.gd-home .zj-flow-core p {
  margin-top: 0.32rem;
  color: oklch(0.94 0.04 105 / 0.78);
  font-size: 0.72rem;
  line-height: 1.4;
}

.gd-home .zj-flow-line {
  position: absolute;
  left: -20%;
  width: 140%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, oklch(0.86 0.16 90), oklch(0.72 0.14 180), transparent);
  opacity: 0.68;
  animation: zjCoreLine 3.2s linear infinite;
}

.gd-home .zj-flow-line.line-a { top: 28%; }
.gd-home .zj-flow-line.line-b { top: 52%; animation-delay: -1.05s; }
.gd-home .zj-flow-line.line-c { top: 76%; animation-delay: -2.1s; }

.gd-home .zj-answer-output {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.gd-home .zj-answer-output span {
  min-height: 4.3rem;
  padding: 0.65rem;
}

.gd-home .zj-answer-output span::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta));
  transform: translateX(-100%);
  animation: zjAnswerLoad 4.8s ease-in-out infinite;
}

.gd-home .zj-answer-output span:nth-child(2)::after { animation-delay: -1.4s; }
.gd-home .zj-answer-output span:nth-child(3)::after { animation-delay: -2.8s; }

@keyframes zjBoardOrbit {
  0% { transform: translate3d(-0.4rem, 0, 0) rotate(-8deg); opacity: 0.5; }
  100% { transform: translate3d(0.8rem, 0.25rem, 0) rotate(-4deg); opacity: 0.92; }
}

@keyframes zjBoardCardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes zjCoreLine {
  0% { transform: translateX(-22%); opacity: 0; }
  22%, 68% { opacity: 0.75; }
  100% { transform: translateX(22%); opacity: 0; }
}

@keyframes zjAnswerLoad {
  0%, 100% { transform: translateX(-100%); opacity: 0; }
  28%, 72% { opacity: 1; }
  88% { transform: translateX(0); opacity: 0.85; }
}

@media (max-width: 640px) {
  .gd-home .zj-map-frame {
    display: block;
    min-height: auto;
    padding: 0.65rem;
  }

  .gd-home .zj-procurement-board {
    min-height: auto;
    gap: 0.62rem;
  }

  .gd-home .zj-procurement-board::before {
    display: none;
  }

  .gd-home .zj-board-label {
    display: grid;
    gap: 0.1rem;
  }

  .gd-home .zj-city-feed,
  .gd-home .zj-answer-output {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gd-home .zj-flow-core {
    min-height: 5.2rem;
  }

  .gd-home .zj-answer-output span {
    min-height: 4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-home .zj-procurement-board::before,
  .gd-home .zj-city-feed span,
  .gd-home .zj-flow-line,
  .gd-home .zj-answer-output span::after {
    animation: none;
  }
}

/* Polish the center processor so it feels premium inside the light atlas. */
.gd-home .zj-flow-core {
  min-height: 5.85rem;
  padding: 0.8rem;
  border-color: oklch(0.35 0.07 160 / 0.18);
  background:
    radial-gradient(circle at 8% 8%, oklch(0.82 0.16 88 / 0.26), transparent 34%),
    linear-gradient(135deg, oklch(1 0 0 / 0.92), oklch(0.94 0.04 165 / 0.9));
  color: var(--ink);
  box-shadow:
    0 18px 40px -30px oklch(0.18 0.04 160 / 0.42),
    inset 0 0 0 1px oklch(1 0 0 / 0.78);
}

.gd-home .zj-flow-core::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0 28%, oklch(1 0 0 / 0.85) 42%, transparent 56% 100%);
  transform: translateX(-90%);
  animation: zjProcessorSheen 6s ease-in-out infinite;
  pointer-events: none;
}

.gd-home .zj-flow-core > div {
  display: grid;
  align-content: center;
  gap: 0.55rem;
  width: 100%;
  text-align: left;
}

.gd-home .zj-flow-core strong {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--primary);
  font-size: 1rem;
}

.gd-home .zj-flow-core strong::before {
  content: "";
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 999px;
  background: var(--cta);
  box-shadow: 0 0 0 6px oklch(0.86 0.16 90 / 0.16);
}

.gd-home .zj-flow-core p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.34rem;
  margin: 0;
  color: oklch(0.36 0.018 175);
  font-size: 0.7rem;
  line-height: 1.35;
}

.gd-home .zj-flow-core p span {
  display: inline-flex;
  align-items: center;
  border: 1px solid oklch(0.35 0.07 160 / 0.16);
  border-radius: 999px;
  padding: 0.18rem 0.48rem;
  background: oklch(1 0 0 / 0.72);
  color: oklch(0.25 0.035 170);
  font-weight: 850;
}

.gd-home .zj-flow-core p i {
  color: oklch(0.56 0.08 112);
  font-style: normal;
  font-weight: 900;
}

.gd-home .zj-flow-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, oklch(0.36 0.08 165 / 0.28), oklch(0.86 0.16 90 / 0.36), transparent);
  opacity: 0.34;
}

@keyframes zjProcessorSheen {
  0%, 62%, 100% { transform: translateX(-92%); opacity: 0; }
  18% { opacity: 0.75; }
  42% { transform: translateX(92%); opacity: 0; }
}

@media (max-width: 640px) {
  .gd-home .zj-flow-core {
    min-height: auto;
    padding: 0.75rem;
  }

  .gd-home .zj-flow-core p {
    gap: 0.28rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-home .zj-flow-core::before {
    animation: none;
  }
}

/* Shenzhen subpages: align the remaining pages with the light procurement-atlas homepage. */
.gd-subpage {
  position: relative;
  overflow-x: hidden;
  background:
    linear-gradient(90deg, oklch(0.985 0.006 112 / 0.82) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, oklch(0.985 0.006 112 / 0.82) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, oklch(0.99 0.006 108), oklch(0.982 0.01 142) 40%, oklch(0.99 0.003 180));
  background-size: 48px 48px, 48px 48px, auto;
}

.gd-subpage .page-header {
  min-height: 24rem;
  display: grid;
  align-items: center;
  border-bottom: 1px solid oklch(0.38 0.06 160 / 0.16);
  background:
    radial-gradient(ellipse 72% 62% at 74% 22%, oklch(0.74 0.15 176 / 0.24), transparent 64%),
    linear-gradient(135deg, oklch(0.992 0.005 108) 0%, oklch(0.958 0.034 150) 52%, oklch(0.986 0.022 82) 100%);
  color: var(--ink);
  padding-block: clamp(4.5rem, 8vw, 6.5rem);
}

.gd-subpage .page-header::before {
  background-image:
    linear-gradient(to right, oklch(0.35 0.065 160 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.35 0.065 160 / 0.07) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.75;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
}

.gd-subpage .page-header::after {
  content: "";
  position: absolute;
  inset: 12% 9% 10% auto;
  width: min(36vw, 34rem);
  border: 1px solid oklch(0.38 0.08 165 / 0.13);
  border-radius: 999px;
  transform: rotate(-10deg);
  background:
    repeating-linear-gradient(90deg, transparent 0 1.25rem, oklch(0.58 0.12 180 / 0.08) 1.25rem 1.34rem),
    linear-gradient(90deg, transparent, oklch(0.86 0.16 90 / 0.14), transparent);
  animation: zjFieldDrift 13s ease-in-out infinite alternate;
  pointer-events: none;
}

.gd-subpage .page-header .ph-inner {
  max-width: 62rem;
  text-align: left;
}

.gd-subpage .page-header .ph-eyebrow,
.gd-subpage .kicker {
  border: 1px solid oklch(0.34 0.07 160 / 0.18);
  background: oklch(1 0 0 / 0.7);
  color: var(--primary);
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 12px 28px -24px oklch(0.24 0.04 160 / 0.38);
}

.gd-subpage .page-header .ph-eyebrow::before,
.gd-subpage .kicker::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--cta);
  box-shadow: 0 0 0 6px oklch(0.86 0.16 90 / 0.16);
}

.gd-subpage .page-header h1 {
  max-width: 13.5ch;
  color: var(--ink);
  font-size: clamp(2.35rem, 5vw, 4.15rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.gd-subpage .page-header h1 .hl {
  position: relative;
  display: inline-block;
  color: var(--primary);
}

.gd-subpage .page-header h1 .hl::after {
  content: "";
  position: absolute;
  left: 0.02em;
  right: 0.02em;
  bottom: 0.06em;
  z-index: -1;
  height: 0.24em;
  border-radius: 999px;
  background: linear-gradient(90deg, oklch(0.86 0.16 90 / 0.52), oklch(0.72 0.14 180 / 0.34));
}

.gd-subpage .page-header .ph-sub {
  max-width: 44rem;
  margin-inline: 0;
  color: oklch(0.35 0.02 175);
  line-height: 1.9;
}

.gd-subpage .section {
  position: relative;
  padding-block: clamp(3.8rem, 7vw, 6rem);
}

.gd-subpage .bg-cream {
  background:
    linear-gradient(180deg, oklch(0.976 0.014 105 / 0.78), oklch(0.982 0.012 145 / 0.68));
  border-block: 1px solid oklch(0.38 0.06 160 / 0.1);
}

.gd-subpage .section-head h2,
.gd-subpage .deliver-head h3,
.gd-subpage .article-content h2 {
  color: var(--ink);
  letter-spacing: 0;
}

.gd-subpage .section-head .lead,
.gd-subpage .deliver-head p {
  color: oklch(0.42 0.018 175);
}

.gd-subpage .method-overview-item,
.gd-subpage .summit-card,
.gd-subpage .service-flow-intro a,
.gd-subpage .process-row,
.gd-subpage .service-card,
.gd-subpage .cert-card,
.gd-subpage .cred,
.gd-subpage .local-feature,
.gd-subpage .list-row,
.gd-subpage .faq-item,
.gd-subpage .paper-nav,
.gd-subpage .paper-toolbar,
.gd-subpage .paper-main,
.gd-subpage .info-banner {
  border-color: oklch(0.35 0.06 160 / 0.14);
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.86), oklch(0.975 0.012 145 / 0.72));
  box-shadow: 0 18px 42px -36px oklch(0.18 0.04 160 / 0.34);
}

.gd-subpage .method-overview-item,
.gd-subpage .service-flow-intro a {
  border-left: 3px solid var(--accent-teal);
}

.gd-subpage .summit-card::before,
.gd-subpage .process-row::after,
.gd-subpage .service-card::before,
.gd-subpage .cert-card::before {
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta));
}

.gd-subpage .summit-card.summit {
  color: var(--ink);
  border-color: oklch(0.35 0.07 160 / 0.18);
  background:
    radial-gradient(circle at 8% 10%, oklch(0.82 0.16 88 / 0.24), transparent 38%),
    linear-gradient(135deg, oklch(1 0 0 / 0.92), oklch(0.94 0.04 165 / 0.9));
  box-shadow: 0 18px 42px -34px oklch(0.18 0.04 160 / 0.42);
}

.gd-subpage .summit-card.summit .step-name {
  color: var(--primary);
}

.gd-subpage .summit-card.summit .step-deco {
  color: oklch(0.42 0.018 175);
}

.gd-subpage .deliver-table-wrap {
  border-color: oklch(0.35 0.06 160 / 0.14);
  background: oklch(1 0 0 / 0.76);
}

.gd-subpage .deliver-table thead th {
  background: linear-gradient(180deg, oklch(0.96 0.035 150 / 0.72), oklch(0.985 0.012 105 / 0.82));
}

.gd-subpage .process-list::before {
  background: linear-gradient(180deg, var(--accent-teal), oklch(0.86 0.16 90 / 0.7), var(--primary));
}

.gd-subpage .process-row .p-n {
  border-color: oklch(0.35 0.06 160 / 0.14);
  background:
    linear-gradient(135deg, oklch(1 0 0 / 0.92), oklch(0.92 0.045 160));
  color: var(--primary);
  box-shadow: inset 0 -3px 0 oklch(0.86 0.16 90 / 0.55);
}

.gd-subpage .process-row .p-item::before {
  background: var(--cta);
  box-shadow: 0 0 0 5px oklch(0.86 0.16 90 / 0.12);
}

.gd-subpage .faq-wrap {
  max-width: 58rem;
  display: grid;
  gap: 0.75rem;
}

.gd-subpage .faq-item {
  overflow: hidden;
  border: 1px solid oklch(0.35 0.06 160 / 0.14);
  border-radius: 8px;
}

.gd-subpage .faq-item:first-child {
  border-top: 1px solid oklch(0.35 0.06 160 / 0.14);
}

.gd-subpage .faq-q {
  padding: 1.05rem 1.15rem;
}

.gd-subpage .faq-a p {
  padding-inline: 1.15rem;
}

.gd-subpage .list-wrap {
  max-width: 68rem;
  display: grid;
  gap: 0.8rem;
}

.gd-subpage .list-row {
  border: 1px solid oklch(0.35 0.06 160 / 0.14);
  border-radius: 8px;
  padding: 1.15rem 1.25rem;
}

.gd-subpage .list-row:first-child {
  padding-top: 1.15rem;
}

.gd-subpage .list-row:hover {
  padding-left: 1.25rem;
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.9), oklch(0.94 0.04 165 / 0.82));
}

.gd-subpage .local-scene {
  border-color: oklch(0.35 0.06 160 / 0.16);
  background:
    radial-gradient(ellipse 70% 60% at 72% 20%, oklch(0.74 0.15 176 / 0.22), transparent 62%),
    linear-gradient(135deg, oklch(0.99 0.006 108), oklch(0.94 0.04 165));
  box-shadow: 0 20px 46px -36px oklch(0.18 0.04 160 / 0.42);
}

.gd-subpage .local-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.35 0.065 160 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.35 0.065 160 / 0.07) 1px, transparent 1px);
  background-size: 42px 42px;
}

.gd-subpage .local-scene .scene-label {
  position: relative;
  z-index: 1;
  border: 1px solid oklch(0.35 0.06 160 / 0.14);
  border-radius: 999px;
  padding: 0.58rem 0.85rem;
  background: oklch(1 0 0 / 0.72);
  color: var(--primary);
}

.gd-subpage .paper-reader {
  background:
    linear-gradient(90deg, oklch(0.985 0.006 112 / 0.72) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, oklch(0.985 0.006 112 / 0.72) 0 1px, transparent 1px 100%);
  background-size: 48px 48px;
}

.gd-subpage .paper-layout {
  max-width: 1180px;
  margin-inline: auto;
}

.gd-subpage .paper-nav {
  border: 1px solid oklch(0.35 0.06 160 / 0.14);
  border-radius: 8px;
  padding: 1rem;
}

.gd-subpage .paper-main {
  min-width: 0;
  border: 1px solid oklch(0.35 0.06 160 / 0.14);
  border-radius: 8px;
  padding: clamp(1rem, 2.4vw, 1.6rem);
}

.gd-subpage .paper-toolbar {
  border: 1px solid oklch(0.35 0.06 160 / 0.12);
  border-radius: 8px;
  padding: 0.9rem 1rem;
}

.gd-subpage .paper-count,
.gd-subpage .pagination .pager-num.current {
  border-color: oklch(0.35 0.06 160 / 0.18);
  background: oklch(0.94 0.04 165 / 0.76);
  color: var(--primary);
}

.gd-subpage .article-content blockquote {
  border-left-color: var(--cta);
  background: oklch(0.96 0.035 150 / 0.58);
}

.gd-subpage .article-content th {
  background: oklch(0.95 0.032 150 / 0.64);
}

.gd-subpage .cta-band {
  border-block: 1px solid oklch(0.35 0.06 160 / 0.12);
  background:
    radial-gradient(ellipse 70% 62% at 72% 20%, oklch(0.74 0.15 176 / 0.18), transparent 62%),
    linear-gradient(135deg, oklch(0.992 0.005 108), oklch(0.958 0.034 150) 52%, oklch(0.986 0.022 82) 100%);
  color: var(--ink);
}

.gd-subpage .cta-band h2 {
  color: var(--ink);
}

.gd-subpage .cta-band .lead {
  color: oklch(0.38 0.018 175) !important;
}

.gd-subpage .cta-band .bg-grid {
  opacity: 0.34;
}

@media (max-width: 980px) {
  .gd-subpage .page-header .ph-inner {
    text-align: left;
  }

  .gd-subpage .method-overview,
  .gd-subpage .service-flow-intro {
    grid-template-columns: 1fr;
  }

  .gd-subpage .paper-main {
    padding: 1rem;
  }
}

@media (max-width: 640px) {
  .gd-subpage .page-header {
    min-height: auto;
    padding-block: 3rem;
  }

  .gd-subpage .page-header::after {
    display: none;
  }

  .gd-subpage .page-header h1 {
    max-width: 100%;
    font-size: 2.08rem;
  }

  .gd-subpage .page-header .ph-sub {
    font-size: 0.96rem;
  }

  .gd-subpage .process-row {
    grid-template-columns: 1fr;
  }

  .gd-subpage .process-list::before {
    display: none;
  }

  .gd-subpage .process-row .p-item {
    grid-template-columns: 1fr;
  }

  .gd-subpage .paper-nav {
    border-radius: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-subpage .page-header::after {
    animation: none;
  }
}

.js .gd-subpage .reveal,
.js .gd-subpage .reveal-l,
.js .gd-subpage .reveal-r,
.js .gd-subpage .reveal-scale,
.js .gd-subpage .reveal-stagger > * {
  opacity: 1;
  transform: none;
  filter: none;
}

/* Shenzhen homepage scroll motion: procurement-atlas reveal, distinct regional rhythm. */
.gd-home .gd-section-motion {
  position: relative;
}

.gd-home .gd-section-motion::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: max(1rem, calc((100vw - var(--container)) / 2));
  width: min(18rem, 42vw);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta), transparent);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.gd-home .gd-section-motion.is-visible::before {
  opacity: 0.86;
  transform: scaleX(1);
}

.js .gd-home .gd-motion-pop {
  opacity: 0;
  filter: blur(4px);
  transform: translate3d(0, 44px, 0) scale(0.985);
  transform-origin: 50% 70%;
  transition:
    opacity 0.86s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.86s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.72s ease;
  will-change: opacity, transform, filter;
}

.js .gd-home .gd-motion-pop[data-gd-motion="section"] {
  filter: blur(2px);
  transform: translate3d(0, 28px, 0);
}

.js .gd-home .gd-motion-pop[data-gd-motion="left"] {
  transform: translate3d(-42px, 28px, 0) rotateY(-4deg) scale(0.985);
}

.js .gd-home .gd-motion-pop[data-gd-motion="right"] {
  transform: translate3d(42px, 28px, 0) rotateY(4deg) scale(0.985);
}

.js .gd-home .gd-motion-pop[data-gd-motion="rise"] {
  transform: translate3d(0, 38px, 0) scale(0.982);
}

.js .gd-home .gd-motion-pop.is-visible {
  opacity: 1;
  filter: none;
  transform: none;
}

.gd-home .zj-scene-card,
.gd-home .zj-engine-row,
.gd-home .zj-city-matrix article,
.gd-home .zj-lead-form-v2 {
  backface-visibility: hidden;
}

@media (max-width: 640px) {
  .gd-home .gd-section-motion::before {
    left: 1rem;
    width: 9rem;
  }

  .js .gd-home .gd-motion-pop {
    transition-duration: 0.62s;
    transition-delay: 0ms !important;
    transform: translate3d(0, 28px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-home .gd-section-motion::before,
  .js .gd-home .gd-motion-pop {
    transition: none !important;
  }

  .gd-home .gd-section-motion::before {
    opacity: 0.38;
    transform: none;
  }

  .js .gd-home .gd-motion-pop {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

/* Shenzhen stage: kinetic typography instead of a dashboard hero. */
:root {
  --stage-blue: #2939d7;
  --stage-blue-deep: #17228e;
  --stage-paper: #f7f1df;
  --stage-orange: #ff7047;
  --stage-lime: #dce86e;
  --stage-white: #fbf8ed;
}

body:has(.sz-stage-hero) {
  background: var(--stage-paper);
  color: var(--stage-blue-deep);
}

body:has(.sz-stage-hero) .site-header {
  background: var(--stage-paper) !important;
  border-bottom-color: rgba(23, 34, 142, 0.18) !important;
}

body:has(.sz-stage-hero) .site-header::before {
  background: linear-gradient(90deg, var(--stage-orange), var(--stage-blue), var(--stage-lime)) !important;
}

body:has(.sz-stage-hero) .site-header .site-nav a.active,
body:has(.sz-stage-hero) .site-header .site-nav a:hover,
body:has(.sz-stage-hero) .site-header .hotline strong {
  color: var(--stage-blue) !important;
}

body:has(.sz-stage-hero) .site-header .site-nav a.active::after {
  background: var(--stage-orange) !important;
}

body:has(.sz-stage-hero) .site-header .btn-header,
body:has(.sz-stage-hero) .sz-stage-actions .btn-cta {
  background: var(--stage-orange) !important;
  color: var(--stage-blue-deep) !important;
}

.sz-stage-hero {
  position: relative;
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  isolation: isolate;
  background: var(--stage-blue);
}

.sz-stage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: 0.24;
  background:
    repeating-linear-gradient(90deg, transparent 0 4.8rem, rgba(251, 248, 237, 0.12) 4.8rem 4.88rem),
    repeating-linear-gradient(0deg, transparent 0 4.8rem, rgba(251, 248, 237, 0.1) 4.8rem 4.88rem);
  pointer-events: none;
}

.sz-stage-hero::after {
  content: "";
  position: absolute;
  right: -12vw;
  bottom: -24%;
  z-index: -2;
  width: 64vw;
  height: 58%;
  border: 1px solid rgba(251, 248, 237, 0.24);
  background: rgba(251, 248, 237, 0.06);
  transform: rotate(-11deg);
  transform-origin: center;
  pointer-events: none;
}

.sz-stage-field {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.sz-stage-ghost {
  position: absolute;
  right: -7vw;
  top: 3%;
  color: transparent;
  font-size: clamp(10rem, 27vw, 30rem);
  font-weight: 950;
  line-height: 0.78;
  letter-spacing: -0.04em;
  -webkit-text-stroke: 1px rgba(251, 248, 237, 0.22);
  transform: translate3d(var(--stage-ghost-x, 0px), var(--stage-ghost-y, 0px), 0) rotate(-8deg);
  animation: stageGhostFloat 12s ease-in-out infinite alternate;
  user-select: none;
}

.sz-stage-corner {
  position: absolute;
  color: rgba(251, 248, 237, 0.65);
  font: 900 0.68rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

.sz-stage-corner::before {
  content: "";
  display: inline-block;
  width: 0.48rem;
  height: 0.48rem;
  margin-right: 0.6rem;
  border-radius: 50%;
  background: var(--stage-orange);
  box-shadow: 0 0 0 0.3rem rgba(255, 112, 71, 0.17);
  animation: stagePulse 2s ease-in-out infinite;
}

.sz-stage-corner.corner-a { top: 13%; right: 5%; }
.sz-stage-corner.corner-b { bottom: 11%; left: 5%; color: rgba(251, 248, 237, 0.48); }
.sz-stage-corner.corner-b::before { background: var(--stage-lime); }

.sz-stage-flare {
  position: absolute;
  height: 1px;
  transform-origin: left center;
  opacity: 0.7;
}

.sz-stage-flare.flare-a {
  top: 29%;
  left: 54%;
  width: 34vw;
  background: var(--stage-orange);
  transform: rotate(-16deg);
  animation: stageLineDrift 8s ease-in-out infinite alternate;
}

.sz-stage-flare.flare-b {
  right: -3%;
  bottom: 28%;
  width: 41vw;
  background: var(--stage-lime);
  transform: rotate(14deg);
  animation: stageLineDrift 10s ease-in-out -2s infinite alternate-reverse;
}

.sz-stage-shell {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(1.2rem, 2vw, 1.8rem);
}

.sz-stage-topline,
.sz-stage-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(251, 248, 237, 0.7);
  font: 900 0.68rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.12em;
}

.sz-stage-topline {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(251, 248, 237, 0.2);
}

.sz-stage-topline b {
  margin-left: 0.3rem;
  color: var(--stage-orange);
}

.sz-stage-main {
  align-self: center;
  width: min(100%, 72rem);
  padding-block: clamp(2rem, 4vh, 3.4rem) clamp(1.5rem, 3vh, 2.6rem);
  color: var(--stage-white);
}

.sz-stage-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
  color: var(--stage-lime);
  font-size: 0.84rem;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.sz-stage-kicker i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--stage-orange);
  box-shadow: 0 0 0 0.3rem rgba(255, 112, 71, 0.16);
  animation: stagePulse 2s ease-in-out infinite;
}

.sz-stage-main h1 {
  max-width: 9.5ch;
  margin: 1.15rem 0 0;
  color: var(--stage-white);
  font-size: clamp(3.8rem, 6.3vw, 6.4rem);
  font-weight: 950;
  line-height: 0.93;
}

.sz-stage-main h1 em {
  color: var(--stage-orange);
  font-style: normal;
}

.sz-stage-query {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  width: min(100%, 66rem);
  margin-top: clamp(1.2rem, 2.4vw, 2rem);
  border-top: 1px solid rgba(251, 248, 237, 0.34);
  border-bottom: 1px solid rgba(251, 248, 237, 0.34);
  padding-block: 1.05rem;
}

.sz-stage-query > span {
  color: var(--stage-lime);
  font: 900 0.68rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.sz-stage-query strong {
  min-width: 0;
  color: var(--stage-white);
  font-size: clamp(1.05rem, 1.7vw, 1.45rem);
  font-weight: 800;
  line-height: 1.35;
}

.sz-stage-query.is-changing strong {
  animation: stageTextIn 480ms ease both;
}

.sz-stage-caret {
  width: 0.62rem;
  height: 1.35rem;
  border-right: 2px solid var(--stage-orange);
  animation: stageCaret 1s steps(1) infinite;
}

.sz-stage-answer {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: 0.8rem 1.3rem;
  width: min(100%, 66rem);
  margin-top: clamp(1rem, 1.8vw, 1.6rem);
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(251, 248, 237, 0.2);
}

.sz-stage-answer small {
  align-self: start;
  padding-top: 0.5rem;
  color: rgba(251, 248, 237, 0.58);
  font: 900 0.68rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.sz-stage-answer > strong {
  color: var(--stage-white);
  font-size: clamp(2.2rem, 5.5vw, 5.8rem);
  font-weight: 950;
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.sz-stage-answer > strong.is-changing {
  animation: stageAnswerIn 680ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.sz-stage-evidence {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.25rem;
}

.sz-stage-evidence span {
  position: relative;
  color: var(--stage-lime);
  font-size: 0.78rem;
  font-weight: 900;
}

.sz-stage-evidence span::before {
  content: "+";
  margin-right: 0.28rem;
  color: var(--stage-orange);
}

.sz-stage-evidence span:nth-child(1) { animation: stageEvidence 4.6s ease-in-out 0s infinite; }
.sz-stage-evidence span:nth-child(2) { animation: stageEvidence 4.6s ease-in-out 0.3s infinite; }
.sz-stage-evidence span:nth-child(3) { animation: stageEvidence 4.6s ease-in-out 0.6s infinite; }
.sz-stage-evidence span:nth-child(4) { animation: stageEvidence 4.6s ease-in-out 0.9s infinite; }
.sz-stage-evidence span:nth-child(5) { animation: stageEvidence 4.6s ease-in-out 1.2s infinite; }

.sz-stage-copy {
  max-width: 41rem;
  margin: 1rem 0 0;
  color: rgba(251, 248, 237, 0.75);
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  font-weight: 700;
  line-height: 1.75;
}

.sz-stage-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.1rem;
  margin-top: 0.95rem;
}

.sz-stage-actions .btn-cta {
  box-shadow: 0 1.3rem 3rem -1.9rem rgba(255, 112, 71, 0.9);
}

.sz-stage-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--stage-white);
  font-weight: 950;
  text-decoration: none;
}

.sz-stage-link span {
  color: var(--stage-lime);
  font-size: 1.15em;
  transition: transform 180ms ease;
}

.sz-stage-link:hover span { transform: translate(0.16rem, -0.16rem); }

.sz-stage-bottom {
  padding-top: 1rem;
  border-top: 1px solid rgba(251, 248, 237, 0.2);
}

.sz-stage-scroll {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.sz-stage-scroll i {
  width: 1px;
  height: 2rem;
  background: var(--stage-orange);
  animation: stageScrollLine 1.8s ease-in-out infinite;
}

.sz-stage-proof b {
  color: var(--stage-orange);
  font-size: 1rem;
}

.sz-stage-index {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.sz-stage-index i {
  display: inline-block;
  width: 3.2rem;
  height: 1px;
  background: var(--stage-orange);
}

@keyframes stageGhostFloat {
  from { transform: translate3d(var(--stage-ghost-x, 0px), var(--stage-ghost-y, 0px), 0) rotate(-8deg) translateY(-1rem); }
  to { transform: translate3d(var(--stage-ghost-x, 0px), var(--stage-ghost-y, 0px), 0) rotate(-4deg) translateY(1.2rem); }
}

@keyframes stagePulse {
  0%, 100% { opacity: 0.55; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.12); }
}

@keyframes stageLineDrift {
  from { opacity: 0.24; transform: translateX(-1.4rem) rotate(-16deg); }
  to { opacity: 0.78; transform: translateX(1.8rem) rotate(-12deg); }
}

@keyframes stageTextIn {
  from { opacity: 0; transform: translateY(0.4rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes stageAnswerIn {
  0% { opacity: 0; transform: translateY(1.4rem); clip-path: inset(100% 0 0); }
  100% { opacity: 1; transform: translateY(0); clip-path: inset(0); }
}

@keyframes stageCaret {
  0%, 45% { opacity: 1; }
  46%, 100% { opacity: 0; }
}

@keyframes stageEvidence {
  0%, 100% { opacity: 0.45; transform: translateY(0); }
  18%, 55% { opacity: 1; transform: translateY(-0.18rem); }
}

@keyframes stageScrollLine {
  0%, 100% { transform: scaleY(0.45); transform-origin: top; opacity: 0.4; }
  50% { transform: scaleY(1); transform-origin: top; opacity: 1; }
}

@media (min-width: 1121px) and (max-height: 820px) {
  .sz-stage-main { padding-block: 2.2rem 1.8rem; }
  .sz-stage-main h1 { font-size: clamp(3.6rem, 6.5vw, 6.4rem); }
  .sz-stage-query { margin-top: 1.6rem; padding-block: 0.82rem; }
  .sz-stage-answer { margin-top: 1.2rem; }
  .sz-stage-copy { margin-top: 0.9rem; line-height: 1.55; }
  .sz-stage-actions { margin-top: 0.9rem; }
}

@media (max-width: 760px) {
  .sz-stage-hero { min-height: calc(100svh - var(--header-h)); }
  .sz-stage-shell { min-height: calc(100svh - var(--header-h)); padding-block: 1.15rem 1rem; }
  .sz-stage-topline { align-items: flex-start; padding-bottom: 0.8rem; font-size: 0.59rem; }
  .sz-stage-topline > span:first-child { max-width: 12rem; line-height: 1.35; }
  .sz-stage-topline > span:last-child { text-align: right; }
  .sz-stage-ghost { right: -24vw; top: 15%; font-size: 12rem; }
  .sz-stage-corner { display: none; }
  .sz-stage-flare.flare-a { top: 37%; left: 50%; width: 65vw; }
  .sz-stage-flare.flare-b { bottom: 33%; width: 78vw; }
  .sz-stage-main { padding-block: 2.6rem 1.8rem; }
  .sz-stage-kicker { font-size: 0.72rem; line-height: 1.45; }
  .sz-stage-main h1 { max-width: 8.5ch; margin-top: 0.8rem; font-size: clamp(3.45rem, 15vw, 4.55rem); line-height: 0.92; }
  .sz-stage-query { grid-template-columns: 1fr auto; gap: 0.45rem 0.7rem; margin-top: 2rem; padding-block: 0.8rem; }
  .sz-stage-query > span { grid-column: 1 / -1; font-size: 0.62rem; }
  .sz-stage-query strong { font-size: 0.94rem; line-height: 1.35; }
  .sz-stage-caret { height: 1.15rem; }
  .sz-stage-answer { grid-template-columns: 1fr; gap: 0.5rem; margin-top: 1.35rem; padding-bottom: 0.8rem; }
  .sz-stage-answer small { padding-top: 0; font-size: 0.62rem; }
  .sz-stage-answer > strong { font-size: clamp(2.55rem, 12vw, 3.6rem); }
  .sz-stage-evidence { grid-column: 1; gap: 0.5rem 0.9rem; }
  .sz-stage-evidence span { font-size: 0.68rem; }
  .sz-stage-copy { margin-top: 1rem; font-size: 0.9rem; line-height: 1.62; }
  .sz-stage-actions { align-items: stretch; gap: 0.72rem; margin-top: 1rem; }
  .sz-stage-actions .btn,
  .sz-stage-link { justify-content: center; width: 100%; }
  .sz-stage-bottom { align-items: flex-end; gap: 0.8rem; padding-top: 0.8rem; font-size: 0.58rem; }
  .sz-stage-proof { display: none; }
  .sz-stage-index i { width: 1.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sz-stage-ghost,
  .sz-stage-corner::before,
  .sz-stage-flare,
  .sz-stage-kicker i,
  .sz-stage-caret,
  .sz-stage-evidence span,
  .sz-stage-scroll i,
  .sz-stage-query.is-changing strong,
  .sz-stage-answer > strong.is-changing {
    animation: none !important;
  }
}

/* ── Shenzhen homepage: hardware AI signal center ───────── */
.gd-home {
  background:
    radial-gradient(ellipse 70% 52% at 74% 7%, oklch(0.79 0.12 192 / 0.18), transparent 62%),
    linear-gradient(180deg, oklch(0.99 0.004 105), oklch(0.965 0.018 86));
}

.gd-home .site-header,
.site-header {
  background:
    linear-gradient(90deg, oklch(0.18 0.07 242), oklch(0.24 0.07 225) 52%, oklch(0.2 0.06 170));
}

.gd-hero {
  position: relative;
  min-height: calc(100vh - var(--header-h));
  overflow: hidden;
  border-bottom: 1px solid oklch(0.3 0.05 230 / 0.18);
  background: linear-gradient(110deg, oklch(0.98 0.004 105) 0 42%, oklch(0.91 0.04 190) 100%);
}

.gd-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.gd-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.24 0.07 230 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.24 0.07 230 / 0.07) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, black 0 72%, transparent 100%);
}

.gd-hero::before {
  content: "";
  position: absolute;
  top: -18%;
  right: -8%;
  width: min(54rem, 58vw);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid oklch(0.64 0.12 195 / 0.28);
  background:
    repeating-radial-gradient(circle, transparent 0 11%, oklch(0.64 0.12 195 / 0.18) 11.3% 11.6%, transparent 12% 20%),
    conic-gradient(from 220deg, transparent, oklch(0.84 0.15 82 / 0.28), transparent 38%, oklch(0.78 0.13 195 / 0.24), transparent 68%);
  opacity: 0.72;
  animation: gdOrbit 18s linear infinite;
}

.gd-bay-orbit {
  position: absolute;
  border: 1px solid oklch(0.26 0.08 230 / 0.16);
  border-radius: 999px;
  transform: rotate(-12deg);
}

.gd-bay-orbit.orbit-a {
  width: 46rem;
  height: 18rem;
  right: 5vw;
  top: 18%;
}

.gd-bay-orbit.orbit-b {
  width: 34rem;
  height: 12rem;
  right: 14vw;
  top: 30%;
  border-color: oklch(0.84 0.15 82 / 0.22);
}

.gd-route {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, oklch(0.78 0.13 195 / 0.8), oklch(0.84 0.15 82 / 0.78), transparent);
  transform-origin: left center;
  animation: gdRoute 4.8s ease-in-out infinite;
}

.gd-route.route-a { width: 34vw; right: 16vw; top: 35%; transform: rotate(-18deg); }
.gd-route.route-b { width: 28vw; right: 10vw; top: 56%; transform: rotate(16deg); animation-delay: 0.8s; }
.gd-route.route-c { width: 22vw; right: 30vw; top: 72%; transform: rotate(-5deg); animation-delay: 1.6s; }

.gd-scan {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0 42%, oklch(0.78 0.13 195 / 0.18) 50%, transparent 58% 100%);
  transform: translateX(-72%);
  animation: gdScan 8s ease-in-out infinite;
}

.gd-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(28rem, 0.86fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  min-height: calc(100vh - var(--header-h));
  padding-block: clamp(4rem, 7vw, 7rem);
}

.gd-hero-copy {
  max-width: 45rem;
}

.gd-kicker,
.gd-section-head span,
.gd-engine-copy > span,
.gd-contact-copy > span,
.gd-boundary span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--primary);
}

.gd-kicker {
  border: 1px solid oklch(0.24 0.07 230 / 0.15);
  border-radius: 999px;
  padding: 0.65rem 0.9rem;
  background: oklch(1 0 0 / 0.78);
  box-shadow: 0 12px 34px -28px oklch(0.18 0.07 230 / 0.38);
}

.gd-kicker i {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 6px oklch(0.84 0.15 82 / 0.18);
}

.gd-hero-copy h1 {
  margin-top: 1.25rem;
  font-size: clamp(3.2rem, 6.2vw, 5.8rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: oklch(0.13 0.035 238);
}

.gd-hero-copy h1 span {
  display: block;
}

.gd-hero-copy h1 span + span {
  color: var(--primary);
  text-shadow: 0 1px 0 oklch(1 0 0 / 0.55);
}

.gd-hero-copy p {
  max-width: 42rem;
  margin-top: 1.35rem;
  color: oklch(0.34 0.025 220);
  font-size: 1.08rem;
  line-height: 1.9;
  font-weight: 650;
}

.gd-actions,
.gd-proof {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.9rem;
}

.gd-actions {
  margin-top: 2rem;
}

.gd-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--primary);
  font-weight: 900;
}

.gd-text-link.dark {
  color: oklch(0.2 0.06 235);
}

.gd-proof {
  margin-top: 1.8rem;
}

.gd-proof span {
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 999px;
  padding: 0.58rem 0.85rem;
  background: oklch(1 0 0 / 0.7);
  color: oklch(0.27 0.04 225);
  font-size: 0.92rem;
  font-weight: 700;
}

.gd-proof b {
  color: var(--cta);
  margin-right: 0.18rem;
}

.gd-live-feed {
  display: grid;
  gap: 0.7rem;
  max-width: 38rem;
  margin-top: 1.4rem;
}

.gd-live-feed span {
  position: relative;
  overflow: hidden;
  border: 1px solid oklch(0.24 0.07 230 / 0.12);
  border-radius: 999px;
  padding: 0.6rem 0.95rem 0.6rem 2.15rem;
  background: oklch(1 0 0 / 0.58);
  color: oklch(0.29 0.03 220);
  font-size: 0.88rem;
  font-weight: 760;
}

.gd-live-feed span::before {
  content: "";
  position: absolute;
  left: 0.95rem;
  top: 50%;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--accent-teal);
  transform: translateY(-50%);
  box-shadow: 0 0 0 5px oklch(0.78 0.13 195 / 0.14);
}

.gd-console {
  position: relative;
  border: 1px solid oklch(0.24 0.07 230 / 0.22);
  border-radius: 12px;
  background: oklch(0.985 0.004 105 / 0.88);
  box-shadow: 0 32px 70px -44px oklch(0.16 0.04 230 / 0.58);
  overflow: hidden;
  backdrop-filter: blur(12px);
}

.gd-console::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.24 0.07 230 / 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.24 0.07 230 / 0.06) 1px, transparent 1px);
  background-size: 34px 34px;
  pointer-events: none;
}

.gd-console-top,
.gd-radar-shell,
.gd-query-list {
  position: relative;
  z-index: 1;
}

.gd-console-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid oklch(0.24 0.07 230 / 0.16);
  padding: 1rem 1.15rem;
}

.gd-console-top span {
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.gd-console-top strong {
  color: oklch(0.34 0.025 220);
  font-size: 0.86rem;
}

.gd-radar-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9rem;
  gap: 1rem;
  padding: 1.15rem;
}

.gd-bay-map {
  position: relative;
  min-height: 25.5rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.16);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 52%, oklch(0.78 0.13 195 / 0.12), transparent 42%),
    linear-gradient(145deg, oklch(0.16 0.07 238), oklch(0.2 0.06 180));
  overflow: hidden;
}

.gd-bay-map::before,
.gd-bay-map::after {
  content: "";
  position: absolute;
  inset: 13%;
  border: 1px solid oklch(0.78 0.13 195 / 0.22);
  border-radius: 50%;
}

.gd-bay-map::after {
  inset: 27%;
  border-color: oklch(0.84 0.15 82 / 0.28);
}

.gd-pulse-ring {
  position: absolute;
  inset: 35%;
  border-radius: 50%;
  background: radial-gradient(circle, oklch(0.84 0.15 82 / 0.28), transparent 62%);
  animation: gdPulse 2.6s ease-in-out infinite;
}

.gd-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 7.3rem;
  height: 7.3rem;
  border: 1px solid oklch(0.84 0.15 82 / 0.52);
  border-radius: 50%;
  background: oklch(0.18 0.07 235 / 0.92);
  color: white;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.18;
}

.gd-core small {
  display: block;
  margin-top: 0.2rem;
  color: oklch(0.84 0.15 82);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
}

.gd-node {
  position: absolute;
  z-index: 3;
  min-width: 6.5rem;
  border: 1px solid oklch(1 0 0 / 0.18);
  border-radius: 8px;
  padding: 0.62rem 0.75rem;
  background: oklch(0.12 0.045 235 / 0.72);
  color: white;
  box-shadow: 0 14px 30px -24px black;
}

.gd-node::before {
  content: "";
  position: absolute;
  left: 0.72rem;
  top: 0.72rem;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 5px oklch(0.84 0.15 82 / 0.18);
}

.gd-node b,
.gd-node small {
  display: block;
  padding-left: 1rem;
}

.gd-node b {
  font-size: 0.96rem;
  line-height: 1.1;
}

.gd-node small {
  margin-top: 0.2rem;
  color: oklch(0.9 0.025 190);
  font-size: 0.72rem;
}

.node-sz { left: 8%; top: 12%; }
.node-gz { right: 9%; top: 16%; }
.node-fs { left: 11%; top: 44%; }
.node-dg { right: 7%; top: 48%; }
.node-zs { left: 30%; bottom: 9%; }
.node-zh { right: 27%; bottom: 10%; }

.gd-metrics {
  display: grid;
  gap: 0.8rem;
}

.gd-metrics div {
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 8px;
  padding: 1rem;
  background: oklch(1 0 0 / 0.66);
}

.gd-metrics span,
.gd-metrics em {
  display: block;
  color: oklch(0.38 0.02 220);
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 760;
}

.gd-metrics b {
  display: block;
  margin: 0.18rem 0;
  color: var(--primary);
  font-size: 1.82rem;
  line-height: 1;
}

.gd-query-list {
  display: grid;
  gap: 0.65rem;
  padding: 0 1.15rem 1.15rem;
}

.gd-query-list div {
  display: grid;
  grid-template-columns: 4.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.12);
  border-radius: 8px;
  padding: 0.75rem 0.9rem;
  background: oklch(1 0 0 / 0.72);
}

.gd-query-list span {
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.gd-query-list p {
  min-width: 0;
  overflow: hidden;
  color: oklch(0.24 0.025 220);
  font-size: 0.86rem;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gd-query-list i {
  border-radius: 999px;
  padding: 0.3rem 0.58rem;
  background: oklch(0.84 0.15 82 / 0.16);
  color: oklch(0.32 0.04 80);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
}

.gd-signal-strip {
  overflow: hidden;
  border-block: 1px solid oklch(0.24 0.07 230 / 0.12);
  background: oklch(0.18 0.07 238);
}

.gd-strip-track {
  display: flex;
  width: max-content;
  gap: 0.65rem;
  padding: 0.75rem 0;
  animation: gdMarquee 34s linear infinite;
}

.gd-strip-track span {
  border: 1px solid oklch(1 0 0 / 0.14);
  border-radius: 999px;
  padding: 0.42rem 0.9rem;
  background: oklch(1 0 0 / 0.06);
  color: oklch(0.98 0.003 180);
  font-size: 0.84rem;
  font-weight: 800;
  white-space: nowrap;
}

.gd-buyer-scenes,
.gd-city-section,
.gd-contact {
  padding-block: var(--section-gap);
}

.gd-section-head {
  max-width: 52rem;
  margin-bottom: clamp(1.8rem, 3vw, 2.8rem);
}

.gd-section-head.narrow {
  text-align: center;
  margin-inline: auto;
}

.gd-section-head h2,
.gd-engine-copy h2,
.gd-contact-copy h2,
.gd-boundary h2 {
  margin-top: 0.75rem;
  color: oklch(0.15 0.035 235);
}

.gd-section-head p,
.gd-engine-copy p,
.gd-contact-copy p,
.gd-boundary p {
  margin-top: 0.85rem;
  color: oklch(0.43 0.018 220);
  font-weight: 650;
}

.gd-scene-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, 0.78fr));
  gap: 1rem;
}

.gd-scene-card {
  position: relative;
  min-height: 17.5rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 8px;
  padding: clamp(1.2rem, 2.2vw, 1.65rem);
  background: oklch(1 0 0 / 0.72);
  box-shadow: 0 18px 48px -42px oklch(0.18 0.04 235 / 0.42);
  overflow: hidden;
}

.gd-scene-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta));
}

.gd-scene-card.is-primary {
  grid-row: span 2;
  background:
    radial-gradient(circle at 80% 10%, oklch(0.78 0.13 195 / 0.16), transparent 36%),
    linear-gradient(145deg, oklch(0.17 0.07 238), oklch(0.18 0.06 175));
  color: white;
}

.gd-card-index {
  color: var(--accent-teal);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
  font-weight: 900;
}

.gd-scene-card h3 {
  margin-top: 1.7rem;
  color: inherit;
  font-size: 1.5rem;
}

.gd-scene-card p {
  margin-top: 0.8rem;
  color: oklch(0.43 0.018 220);
  font-weight: 650;
}

.gd-scene-card.is-primary p {
  color: oklch(1 0 0 / 0.78);
}

.gd-prompt {
  margin-top: 1.35rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.12);
  border-radius: 8px;
  padding: 0.8rem 0.95rem;
  background: oklch(0.98 0.01 100 / 0.72);
  color: var(--primary);
  font-size: 0.82rem;
  font-weight: 800;
}

.gd-scene-card.is-primary .gd-prompt {
  border-color: oklch(1 0 0 / 0.18);
  background: oklch(1 0 0 / 0.08);
  color: var(--cta);
}

.gd-asset-engine {
  border-block: 1px solid oklch(0.24 0.07 230 / 0.12);
  padding-block: var(--section-gap);
  background:
    linear-gradient(90deg, oklch(0.96 0.025 88), oklch(0.93 0.036 192));
}

.gd-engine-grid,
.gd-contact-grid,
.gd-boundary-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(1.6rem, 4vw, 4rem);
  align-items: center;
}

.gd-engine-panel {
  display: grid;
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 8px;
  background: oklch(1 0 0 / 0.7);
  overflow: hidden;
}

.gd-engine-row {
  display: grid;
  grid-template-columns: 4rem minmax(8rem, 0.5fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 5.4rem;
  border-bottom: 1px solid oklch(0.24 0.07 230 / 0.1);
  padding: 1rem 1.15rem;
}

.gd-engine-row:last-child {
  border-bottom: 0;
}

.gd-engine-row span {
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.8rem;
  font-weight: 900;
}

.gd-engine-row h3 {
  color: oklch(0.15 0.035 235);
  font-size: 1.15rem;
}

.gd-engine-row p {
  color: oklch(0.43 0.018 220);
  font-weight: 650;
}

.gd-city-matrix {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid oklch(0.24 0.07 230 / 0.15);
  border-radius: 8px;
  overflow: hidden;
  background: oklch(1 0 0 / 0.75);
}

.gd-city-matrix article {
  min-height: 16rem;
  border-right: 1px solid oklch(0.24 0.07 230 / 0.12);
  padding: 1.15rem;
}

.gd-city-matrix article:last-child {
  border-right: 0;
}

.gd-city-matrix b,
.gd-city-matrix strong {
  display: block;
}

.gd-city-matrix b {
  color: var(--primary);
  font-size: 1.28rem;
}

.gd-city-matrix strong {
  margin-top: 0.7rem;
  color: oklch(0.18 0.035 235);
  font-size: 0.92rem;
}

.gd-city-matrix p {
  margin-top: 0.9rem;
  color: oklch(0.45 0.018 220);
  font-size: 0.92rem;
  font-weight: 650;
}

.gd-boundary {
  padding-block: clamp(3rem, 5vw, 4.8rem);
  background: oklch(0.18 0.07 238);
  color: white;
}

.gd-boundary h2,
.gd-boundary p,
.gd-boundary .gd-text-link {
  color: white;
}

.gd-boundary span {
  color: var(--cta);
}

.gd-contact {
  background:
    radial-gradient(ellipse 60% 56% at 78% 25%, oklch(0.78 0.13 195 / 0.13), transparent 60%),
    oklch(0.985 0.006 95);
}

.gd-contact-copy > a {
  display: inline-block;
  margin-top: 1.5rem;
  color: var(--primary);
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.gd-lead-form {
  display: grid;
  gap: 1rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 8px;
  padding: clamp(1.2rem, 2vw, 1.6rem);
  background: oklch(1 0 0 / 0.86);
  box-shadow: 0 20px 54px -42px oklch(0.18 0.04 235 / 0.42);
}

.gd-lead-form .field {
  display: grid;
  gap: 0.45rem;
}

.gd-lead-form label {
  color: oklch(0.24 0.025 225);
  font-size: 0.86rem;
  font-weight: 800;
}

.gd-lead-form input {
  width: 100%;
  min-height: 3rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.13);
  border-radius: 8px;
  padding: 0.75rem 0.95rem;
  background: oklch(0.99 0.004 105);
  color: var(--ink);
}

.gd-lead-form .btn-submit {
  justify-content: center;
  width: 100%;
  margin-top: 0.45rem;
}

.gd-lead-form .form-privacy {
  margin: -0.2rem 0 0;
  color: oklch(0.38 0.025 230);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.65;
}

.gd-lead-form .form-privacy a {
  color: var(--gd-purple);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.gd-lead-form .form-noscript {
  border: 1px solid oklch(0.64 0.18 35 / 0.25);
  border-radius: 8px;
  background: oklch(0.98 0.03 70);
  padding: 0.8rem 0.9rem;
}

@keyframes gdOrbit {
  to { transform: rotate(360deg); }
}

@keyframes gdRoute {
  0%, 100% { opacity: 0.18; clip-path: inset(0 100% 0 0); }
  45%, 65% { opacity: 0.9; clip-path: inset(0 0 0 0); }
}

@keyframes gdScan {
  0%, 30% { transform: translateX(-72%); opacity: 0; }
  45%, 60% { opacity: 1; }
  82%, 100% { transform: translateX(72%); opacity: 0; }
}

@keyframes gdPulse {
  0%, 100% { transform: scale(0.88); opacity: 0.48; }
  50% { transform: scale(1.08); opacity: 0.9; }
}

@keyframes gdMarquee {
  to { transform: translateX(-50%); }
}

@media (max-width: 1080px) {
  .gd-hero-inner,
  .gd-engine-grid,
  .gd-contact-grid,
  .gd-boundary-grid {
    grid-template-columns: 1fr;
  }

  .gd-console {
    max-width: 46rem;
  }

  .gd-scene-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gd-scene-card.is-primary {
    grid-row: auto;
  }

  .gd-city-matrix {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gd-city-matrix article:nth-child(3) {
    border-right: 0;
  }
}

@media (max-width: 720px) {
  .gd-hero {
    min-height: auto;
  }

  .gd-hero-inner {
    min-height: auto;
    padding-block: 3rem;
  }

  .gd-hero-copy h1 {
    font-size: clamp(2.55rem, 14vw, 3.6rem);
  }

  .gd-hero-copy p {
    font-size: 0.98rem;
  }

  .gd-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .gd-radar-shell {
    grid-template-columns: 1fr;
  }

  .gd-bay-map {
    min-height: 22rem;
  }

  .gd-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gd-metrics div {
    padding: 0.85rem 0.7rem;
  }

  .gd-metrics b {
    font-size: 1.35rem;
  }

  .gd-query-list div {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .gd-query-list p {
    white-space: normal;
  }

  .gd-scene-grid,
  .gd-city-matrix {
    grid-template-columns: 1fr;
  }

  .gd-city-matrix article,
  .gd-city-matrix article:nth-child(3) {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid oklch(0.24 0.07 230 / 0.12);
  }

  .gd-city-matrix article:last-child {
    border-bottom: 0;
  }

  .gd-engine-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .node-sz { left: 5%; top: 10%; }
  .node-gz { right: 5%; top: 12%; }
  .node-fs { left: 6%; top: 45%; }
  .node-dg { right: 5%; top: 48%; }
  .node-zs { left: 9%; bottom: 8%; }
  .node-zh { right: 8%; bottom: 8%; }
}

/* ═══════════════════════════════════════════════════════════
   上海首页 v1 — Answer Center
   运行时内容区、城市节点网络与移动优先响应式布局
   ═══════════════════════════════════════════════════════════ */
.sh-home {
  --sh-ink: #08172e;
  --sh-ink-soft: #102541;
  --sh-paper: #f5f2e9;
  --sh-paper-2: #ebe8de;
  --sh-blue: #2867ff;
  --sh-cyan: #76e6df;
  --sh-orange: #ffb25d;
  --sh-red: #e85d4a;
  --sh-rule: rgba(8, 23, 46, .14);
  color: var(--sh-ink);
  background: var(--sh-paper);
  overflow: hidden;
}
.sh-home button { font: inherit; }
.sh-hero { position: relative; min-height: min(860px, 100svh); color: #f7f7f2; background: var(--sh-ink); isolation: isolate; overflow: hidden; }
.sh-hero-grid { position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(rgba(118,230,223,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(118,230,223,.12) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, #000, transparent 88%); }
.sh-hero-grid::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 74% 42%, rgba(40,103,255,.32), transparent 28%), radial-gradient(circle at 22% 70%, rgba(232,93,74,.15), transparent 32%); }
.sh-hero-noise { position: absolute; inset: 0; opacity: .08; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.sh-hero-shell { position: relative; z-index: 1; padding-top: clamp(6.5rem, 12vw, 9.5rem); padding-bottom: 2rem; }
.sh-hero-topline, .sh-hero-scroll { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: rgba(247,247,242,.56); font-family: var(--font-mono, ui-monospace, monospace); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }
.sh-live-dot { display: inline-block; width: .48rem; height: .48rem; margin-right: .4rem; border-radius: 50%; background: var(--sh-cyan); box-shadow: 0 0 0 .25rem rgba(118,230,223,.12), 0 0 18px rgba(118,230,223,.72); vertical-align: middle; }
.sh-hero-layout { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; min-height: 650px; padding: 3.5rem 0 4rem; }
.sh-kicker, .sh-section-head > span, .sh-map-copy > span, .sh-contact-copy > span, .sh-boundary-grid span { display: block; color: var(--sh-cyan); font-family: var(--font-mono, ui-monospace, monospace); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }
.sh-kicker i { display: inline-block; width: 1.8rem; height: 1px; margin-right: .55rem; background: var(--sh-cyan); vertical-align: middle; }
.sh-hero-copy h1 { max-width: 9em; margin: 1.15rem 0 1.4rem; font-size: clamp(2.8rem, 6.1vw, 6.8rem); line-height: .98; letter-spacing: -.075em; font-weight: 800; }
.sh-hero-copy h1 em { display: block; color: var(--sh-orange); font-style: normal; }
.sh-hero-copy > p { max-width: 34rem; color: rgba(247,247,242,.72); font-size: clamp(1rem, 1.55vw, 1.2rem); line-height: 1.85; }
.sh-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.sh-hero .btn-cta { color: var(--sh-ink); background: var(--sh-orange); box-shadow: 0 12px 30px rgba(255,178,93,.16); }
.sh-text-link { color: var(--sh-orange); font-weight: 700; text-decoration: none; }
.sh-text-link span { margin-left: .45rem; }
.sh-hero-proof { display: flex; flex-wrap: wrap; gap: 1.35rem; margin-top: 3.25rem; padding-top: 1.2rem; border-top: 1px solid rgba(247,247,242,.18); color: rgba(247,247,242,.55); font-family: var(--font-mono, ui-monospace, monospace); font-size: .68rem; letter-spacing: .04em; }
.sh-hero-proof b { color: var(--sh-cyan); font-size: 1rem; }
.sh-answer-console { position: relative; min-height: 540px; padding: 1.15rem; border: 1px solid rgba(118,230,223,.34); background: linear-gradient(145deg, rgba(15,38,65,.9), rgba(5,16,34,.72)); box-shadow: 0 24px 100px rgba(0,0,0,.22), inset 0 0 70px rgba(40,103,255,.1); transform: translate(var(--console-x, 0), var(--console-y, 0)); transition: transform .35s ease, border-color .35s ease; }
.sh-answer-console::before, .sh-answer-console::after { content: ""; position: absolute; width: 1rem; height: 1rem; border-color: var(--sh-cyan); border-style: solid; pointer-events: none; }
.sh-answer-console::before { top: -.35rem; left: -.35rem; border-width: 1px 0 0 1px; }.sh-answer-console::after { right: -.35rem; bottom: -.35rem; border-width: 0 1px 1px 0; }
.sh-console-head, .sh-console-footer, .sh-answer-line, .sh-wall-top, .sh-wall-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--font-mono, ui-monospace, monospace); font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.sh-console-head { padding-bottom: 1rem; border-bottom: 1px solid rgba(118,230,223,.18); color: rgba(247,247,242,.5); }.sh-console-head b { color: var(--sh-cyan); font-weight: 600; }.sh-console-head b i { display: inline-block; width: .5rem; height: .5rem; margin-right: .4rem; border-radius: 50%; background: var(--sh-cyan); animation: sh-pulse 1.6s ease-in-out infinite; }
.sh-query-block { padding: 2.4rem 1rem 1.5rem; }.sh-query-block small, .sh-wall-question small { display: block; color: var(--sh-orange); font-family: var(--font-mono, ui-monospace, monospace); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }.sh-query-block strong { display: block; max-width: 18em; margin-top: .7rem; color: #fff; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.26; letter-spacing: -.04em; }.is-changing { animation: sh-change .5s ease; }
.sh-answer-line { padding: .8rem 1rem; color: rgba(247,247,242,.48); border-top: 1px solid rgba(118,230,223,.18); border-bottom: 1px solid rgba(118,230,223,.18); }.sh-answer-line span:last-child { color: var(--sh-cyan); }
.sh-answer-core { position: relative; display: grid; place-items: center; height: 255px; overflow: hidden; background: radial-gradient(circle, rgba(40,103,255,.2), transparent 54%); }.sh-answer-ring { position: absolute; border: 1px solid rgba(118,230,223,.38); border-radius: 50%; animation: sh-spin 14s linear infinite; }.sh-answer-ring::after { content: ""; position: absolute; top: 10%; left: 50%; width: .4rem; height: .4rem; border-radius: 50%; background: var(--sh-orange); box-shadow: 0 0 14px var(--sh-orange); }.ring-one { width: 12rem; height: 12rem; border-style: dashed; }.ring-two { width: 18rem; height: 18rem; border-color: rgba(40,103,255,.38); animation-direction: reverse; animation-duration: 22s; }.sh-answer-node { position: relative; z-index: 1; display: grid; place-items: center; width: 6.5rem; height: 6.5rem; border: 1px solid var(--sh-cyan); border-radius: 50%; background: var(--sh-ink-soft); box-shadow: 0 0 0 1rem rgba(118,230,223,.05), 0 0 42px rgba(40,103,255,.4); color: var(--sh-cyan); }.sh-answer-node span { font-size: 1.55rem; font-weight: 800; letter-spacing: -.08em; }.sh-answer-node small { margin-top: -.6rem; color: rgba(247,247,242,.48); font-family: var(--font-mono, ui-monospace, monospace); font-size: .45rem; line-height: 1.25; text-align: center; }.sh-answer-signal { position: absolute; display: flex; align-items: center; gap: .4rem; color: rgba(247,247,242,.72); font-family: var(--font-mono, ui-monospace, monospace); font-size: .62rem; }.sh-answer-signal i { display: block; width: .42rem; height: .42rem; border-radius: 50%; background: var(--sh-blue); }.sh-answer-signal.is-live i { background: var(--sh-orange); box-shadow: 0 0 12px var(--sh-orange); }.signal-one { top: 16%; left: 12%; }.signal-two { right: 10%; top: 42%; }.signal-three { bottom: 14%; left: 20%; }.sh-source-stack { display: flex; flex-wrap: wrap; gap: .55rem; padding: 1.2rem 1rem 1rem; }.sh-source-stack span { padding: .48rem .6rem; border: 1px solid rgba(118,230,223,.18); color: rgba(247,247,242,.68); font-size: .65rem; }.sh-source-stack i { display: inline-block; width: .38rem; height: .38rem; margin-right: .35rem; border-radius: 50%; background: var(--sh-cyan); }.sh-console-footer { padding: .8rem 1rem 0; color: rgba(247,247,242,.35); border-top: 1px solid rgba(118,230,223,.14); }.sh-console-footer span:first-child { color: var(--sh-cyan); }
.sh-hero-scroll { padding-top: 1.2rem; border-top: 1px solid rgba(247,247,242,.14); }.sh-hero-scroll i { display: inline-block; width: 1px; height: 1.2rem; margin-right: .55rem; background: var(--sh-orange); vertical-align: middle; }
.sh-live-strip { overflow: hidden; color: var(--sh-orange); background: var(--sh-blue); }.sh-live-strip-track { display: flex; width: max-content; align-items: center; gap: 1.6rem; padding: .8rem 0; animation: sh-marquee 28s linear infinite; font-family: var(--font-mono, ui-monospace, monospace); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }.sh-live-strip-track i { color: rgba(255,255,255,.5); font-size: .45rem; }
.sh-live-section, .sh-scenes-section, .sh-map-section, .sh-pipeline-section { padding: clamp(5.5rem, 10vw, 9rem) 0; }.sh-live-section { background: var(--sh-paper); }.sh-scenes-section { background: var(--sh-paper-2); }.sh-section-head { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 3rem; }.sh-section-head h2, .sh-map-copy h2, .sh-contact-copy h2, .sh-boundary-grid h2 { max-width: 11em; margin: .8rem 0 0; font-size: clamp(2rem, 4vw, 4.4rem); line-height: 1; letter-spacing: -.07em; }.sh-section-head p { max-width: 28rem; margin: 0; color: rgba(8,23,46,.62); line-height: 1.8; }.sh-section-head p b { display: block; margin-top: .7rem; color: var(--sh-blue); font-family: var(--font-mono, ui-monospace, monospace); font-size: .7rem; }.sh-section-head.narrow { display: block; max-width: 42rem; }.sh-section-head.narrow p { margin-top: 1rem; }
.sh-feed-layout { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: 1.2rem; }.sh-question-wall { display: flex; min-height: 390px; flex-direction: column; justify-content: space-between; padding: 1.35rem; color: #f7f7f2; background: var(--sh-ink); }.sh-wall-top { color: rgba(247,247,242,.5); }.sh-wall-question { margin: auto 0; padding: 2rem 0; }.sh-wall-question strong { display: block; margin-top: .8rem; font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.12; letter-spacing: -.06em; }.sh-wall-answer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid rgba(247,247,242,.18); border-bottom: 1px solid rgba(247,247,242,.18); color: rgba(247,247,242,.55); font-family: var(--font-mono, ui-monospace, monospace); font-size: .65rem; }.sh-wall-answer b { color: var(--sh-cyan); font-weight: 500; }.sh-wall-footer { padding-top: 1rem; color: rgba(247,247,242,.45); }.sh-wall-footer a { color: var(--sh-orange); text-decoration: none; }.sh-feed-list { display: grid; align-content: stretch; gap: .8rem; }.sh-feed-item { display: flex; justify-content: space-between; gap: 1rem; min-height: 8rem; padding: 1.3rem 1.35rem; border-top: 1px solid var(--sh-rule); background: rgba(255,255,255,.42); transition: background .25s ease, transform .25s ease; }.sh-feed-item:hover { background: #fff; transform: translateX(5px); }.sh-feed-item small { color: var(--sh-blue); font-family: var(--font-mono, ui-monospace, monospace); font-size: .62rem; letter-spacing: .1em; }.sh-feed-item h3 { margin: .55rem 0 .4rem; font-size: 1.1rem; letter-spacing: -.03em; }.sh-feed-item p { max-width: 38rem; margin: 0; color: rgba(8,23,46,.62); font-size: .88rem; line-height: 1.65; }.sh-feed-item > span { color: rgba(8,23,46,.32); font-family: var(--font-mono, ui-monospace, monospace); font-size: .75rem; }.sh-feed-item.is-loading { border-top-color: var(--sh-blue); }.sh-feed-link { display: inline-block; margin-top: .65rem; color: var(--sh-blue); font-size: .76rem; font-weight: 700; text-decoration: none; }
.sh-scene-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .65rem; }.sh-scene-card { position: relative; min-height: 270px; padding: 1.2rem; border: 1px solid rgba(8,23,46,.14); color: var(--sh-ink); background: transparent; text-align: left; cursor: pointer; transition: color .3s ease, background .3s ease, transform .3s ease; }.sh-scene-card:hover, .sh-scene-card.is-active { color: #f7f7f2; background: var(--sh-ink); transform: translateY(-7px); }.sh-scene-card > span { color: var(--sh-blue); font-family: var(--font-mono, ui-monospace, monospace); font-size: .7rem; }.sh-scene-card.is-active > span, .sh-scene-card:hover > span { color: var(--sh-orange); }.sh-scene-card strong { display: block; margin-top: 3.2rem; font-size: 1.2rem; }.sh-scene-card p { margin: .75rem 0 0; color: rgba(8,23,46,.6); font-size: .82rem; line-height: 1.65; }.sh-scene-card.is-active p, .sh-scene-card:hover p { color: rgba(247,247,242,.6); }.sh-scene-card b { position: absolute; right: 1.1rem; bottom: 1.1rem; left: 1.1rem; padding-top: .8rem; border-top: 1px solid rgba(8,23,46,.14); font-size: .75rem; line-height: 1.45; }.sh-scene-card.is-active b, .sh-scene-card:hover b { border-color: rgba(247,247,242,.18); color: var(--sh-cyan); }
.sh-map-section { color: #f7f7f2; background: var(--sh-ink); }.sh-map-grid { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(480px, 1.28fr); gap: clamp(2rem, 8vw, 8rem); align-items: center; }.sh-map-copy > span { color: var(--sh-orange); }.sh-map-copy h2 { color: #f7f7f2; }.sh-map-copy > p { max-width: 30rem; margin: 1.3rem 0 0; color: rgba(247,247,242,.62); line-height: 1.8; }.sh-map-readout { margin-top: 3rem; padding: 1.1rem 1.2rem; border-left: 2px solid var(--sh-cyan); background: rgba(118,230,223,.06); }.sh-map-readout small { color: var(--sh-cyan); font-family: var(--font-mono, ui-monospace, monospace); font-size: .62rem; }.sh-map-readout strong { display: block; margin-top: .5rem; color: #fff; font-size: 1.25rem; }.sh-map-readout p { margin: .55rem 0 0; color: rgba(247,247,242,.6); font-size: .9rem; line-height: 1.7; }.sh-map-visual { position: relative; min-height: 560px; border: 1px solid rgba(118,230,223,.22); background: radial-gradient(circle at 52% 48%, rgba(40,103,255,.22), transparent 22%), linear-gradient(135deg, rgba(15,38,65,.94), rgba(5,16,34,.8)); overflow: hidden; }.sh-map-visual::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(118,230,223,.13); clip-path: polygon(49% 0, 76% 9%, 93% 34%, 82% 70%, 63% 100%, 30% 85%, 13% 58%, 19% 24%); }.sh-map-lines { position: absolute; inset: 12%; opacity: .35; background: linear-gradient(24deg, transparent 49.6%, var(--sh-cyan) 50%, transparent 50.4%), linear-gradient(120deg, transparent 49.7%, var(--sh-cyan) 50%, transparent 50.3%), linear-gradient(74deg, transparent 49.8%, var(--sh-cyan) 50%, transparent 50.2%); }.sh-map-radar { position: absolute; top: 39%; left: 48%; width: 9rem; height: 9rem; border: 1px solid rgba(118,230,223,.35); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(118,230,223,.03), 0 0 0 5rem rgba(40,103,255,.04); animation: sh-pulse-ring 3s ease-in-out infinite; }.sh-map-label { position: absolute; right: 1rem; bottom: 1rem; color: rgba(247,247,242,.38); font-family: var(--font-mono, ui-monospace, monospace); font-size: .6rem; letter-spacing: .13em; }.sh-map-node { position: absolute; z-index: 1; display: grid; gap: .15rem; padding: 0; border: 0; color: #f7f7f2; background: none; text-align: left; cursor: pointer; }.sh-map-node i { display: block; width: .7rem; height: .7rem; margin-bottom: .25rem; border: 1px solid var(--sh-cyan); border-radius: 50%; background: var(--sh-ink); box-shadow: 0 0 0 .3rem rgba(118,230,223,.1); transition: background .25s ease, box-shadow .25s ease; }.sh-map-node span { font-size: .9rem; font-weight: 700; }.sh-map-node small { color: rgba(247,247,242,.48); font-family: var(--font-mono, ui-monospace, monospace); font-size: .55rem; }.sh-map-node.is-active i, .sh-map-node:hover i { background: var(--sh-orange); border-color: var(--sh-orange); box-shadow: 0 0 0 .4rem rgba(255,178,93,.13), 0 0 22px var(--sh-orange); }.node-pudong { top: 17%; left: 62%; }.node-zhangjiang { top: 34%; left: 70%; }.node-xuhui { top: 46%; left: 28%; }.node-yangpu { top: 24%; left: 31%; }.node-jiading { top: 65%; left: 18%; }.node-lingang { right: 17%; bottom: 15%; }
.sh-pipeline-section { background: var(--sh-paper); }.sh-pipeline-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 10vw, 10rem); align-items: start; }.sh-section-head .sh-text-link { display: inline-block; margin-top: 1.8rem; }.sh-text-link.dark { color: var(--sh-blue); }.sh-pipeline { border-top: 1px solid var(--sh-rule); }.sh-pipeline > div { display: grid; grid-template-columns: 3rem .6fr 1fr; gap: 1.2rem; align-items: start; padding: 1.4rem 0; border-bottom: 1px solid var(--sh-rule); }.sh-pipeline > div > span { color: var(--sh-blue); font-family: var(--font-mono, ui-monospace, monospace); font-size: .7rem; }.sh-pipeline h3 { margin: 0; font-size: 1.1rem; }.sh-pipeline p { margin: 0; color: rgba(8,23,46,.58); font-size: .88rem; line-height: 1.6; }
.sh-boundary-section { padding: 3.7rem 0; color: #f7f7f2; background: var(--sh-blue); }.sh-boundary-grid { display: grid; grid-template-columns: .75fr 1.15fr auto; gap: 3rem; align-items: center; }.sh-boundary-grid span { color: var(--sh-orange); }.sh-boundary-grid h2 { margin-top: .55rem; font-size: clamp(1.6rem, 3vw, 3.2rem); }.sh-boundary-grid p { max-width: 34rem; margin: 0; color: rgba(255,255,255,.74); line-height: 1.8; }.sh-text-link.light { color: #fff; white-space: nowrap; }
.sh-contact-section { padding: clamp(5rem, 10vw, 8rem) 0; color: #f7f7f2; background: var(--sh-ink); }.sh-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 8vw, 8rem); align-items: start; }.sh-contact-copy > span { color: var(--sh-orange); }.sh-contact-copy h2 { color: #fff; }.sh-contact-copy > p { max-width: 27rem; margin: 1.2rem 0; color: rgba(247,247,242,.62); line-height: 1.8; }.sh-contact-copy > a { color: var(--sh-cyan); font-family: var(--font-mono, ui-monospace, monospace); font-size: 1.15rem; text-decoration: none; }.sh-lead-form { padding: clamp(1.2rem, 3vw, 2.4rem); border: 1px solid rgba(118,230,223,.25); background: rgba(15,38,65,.7); }.sh-lead-form .field { margin-bottom: 1rem; }.sh-lead-form label { display: block; margin-bottom: .4rem; color: rgba(247,247,242,.68); font-size: .82rem; }.sh-lead-form input { width: 100%; padding: .85rem 0; border: 0; border-bottom: 1px solid rgba(247,247,242,.2); outline: none; color: #fff; background: transparent; }.sh-lead-form input::placeholder { color: rgba(247,247,242,.35); }.sh-lead-form input:focus { border-color: var(--sh-cyan); }.sh-lead-form .form-privacy { margin: 1.2rem 0; color: rgba(247,247,242,.48); font-size: .75rem; line-height: 1.6; }.sh-lead-form .form-privacy a { color: var(--sh-cyan); }.sh-lead-form .btn-submit { color: var(--sh-ink); background: var(--sh-orange); }.sh-lead-form .form-status { min-height: 1.4rem; margin-top: .8rem; font-size: .8rem; }.sh-lead-form .form-status.ok { color: var(--sh-cyan); }.sh-lead-form .form-status.err { color: #ff9483; }
@keyframes sh-pulse { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }
@keyframes sh-pulse-ring { 0%, 100% { transform: scale(.92); opacity: .5; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes sh-spin { to { transform: rotate(360deg); } }
@keyframes sh-change { 0% { opacity: .25; transform: translateY(5px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes sh-marquee { to { transform: translateX(-50%); } }
@media (max-width: 980px) { .sh-hero-layout, .sh-map-grid, .sh-pipeline-grid, .sh-contact-grid { grid-template-columns: 1fr; }.sh-hero-layout { gap: 1rem; }.sh-hero-copy h1 { max-width: 12em; }.sh-answer-console { max-width: 39rem; }.sh-map-visual { min-height: 470px; }.sh-scene-grid { grid-template-columns: repeat(3, 1fr); }.sh-boundary-grid { grid-template-columns: 1fr 1fr; }.sh-boundary-grid .sh-text-link { grid-column: 2; grid-row: 1; justify-self: end; } }
@media (max-width: 680px) { .sh-hero { min-height: auto; }.sh-hero-shell { padding-top: 5.8rem; }.sh-hero-topline, .sh-hero-scroll { font-size: .56rem; }.sh-hero-topline span:last-child { text-align: right; }.sh-hero-layout { min-height: 0; padding: 3.2rem 0 3rem; }.sh-hero-copy h1 { margin-top: 1rem; font-size: clamp(2.65rem, 13vw, 4.3rem); }.sh-hero-copy > p { font-size: .96rem; }.sh-hero-proof { gap: .75rem; margin-top: 2.2rem; }.sh-hero-proof span { font-size: .56rem; }.sh-answer-console { min-height: 430px; padding: .8rem; }.sh-query-block { padding: 1.7rem .7rem 1.2rem; }.sh-query-block strong { font-size: 1.35rem; }.sh-answer-core { height: 190px; }.ring-one { width: 9rem; height: 9rem; }.ring-two { width: 13rem; height: 13rem; }.sh-answer-node { width: 5.2rem; height: 5.2rem; }.sh-answer-signal { font-size: .55rem; }.signal-one { left: 4%; }.signal-two { right: 2%; }.signal-three { left: 9%; }.sh-console-footer { font-size: .52rem; }.sh-live-strip-track { font-size: .58rem; }.sh-live-section, .sh-scenes-section, .sh-map-section, .sh-pipeline-section { padding: 4.6rem 0; }.sh-section-head { display: block; margin-bottom: 2rem; }.sh-section-head h2, .sh-map-copy h2, .sh-contact-copy h2 { font-size: 2.45rem; }.sh-section-head p { margin-top: 1rem; }.sh-feed-layout { grid-template-columns: 1fr; }.sh-question-wall { min-height: 330px; }.sh-feed-item { min-height: 0; }.sh-scene-grid { grid-template-columns: 1fr; }.sh-scene-card { min-height: 185px; }.sh-scene-card strong { margin-top: 2rem; }.sh-map-grid { gap: 2rem; }.sh-map-visual { min-height: 410px; }.node-pudong { top: 14%; left: 58%; }.node-zhangjiang { top: 32%; left: 65%; }.node-xuhui { top: 43%; left: 13%; }.node-yangpu { top: 23%; left: 22%; }.node-jiading { top: 65%; left: 9%; }.node-lingang { right: 8%; bottom: 12%; }.sh-pipeline > div { grid-template-columns: 2rem 1fr; gap: .7rem; }.sh-pipeline p { grid-column: 2; }.sh-boundary-grid { grid-template-columns: 1fr; gap: 1.2rem; }.sh-boundary-grid .sh-text-link { grid-column: auto; grid-row: auto; justify-self: start; }.sh-contact-grid { gap: 2.5rem; }.sh-lead-form { padding: 1.1rem; } }
@media (prefers-reduced-motion: reduce) { .sh-live-strip-track, .sh-answer-ring, .sh-map-radar, .sh-console-head b i { animation: none; }.sh-answer-console, .sh-scene-card, .sh-feed-item { transition: none; } }

@media (max-width: 430px) {
  .gd-node {
    min-width: 5.7rem;
    padding: 0.52rem 0.55rem;
  }

  .gd-node b {
    font-size: 0.82rem;
  }

  .gd-node small {
    font-size: 0.66rem;
  }

  .gd-core {
    width: 6.2rem;
    height: 6.2rem;
    font-size: 1.05rem;
  }

  .gd-metrics {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-hero::before,
  .gd-route,
  .gd-scan,
  .gd-pulse-ring,
  .gd-strip-track {
    animation: none !important;
  }
}

/* Shenzhen final QA pass: header contrast, calmer hero, light procurement atlas. */
.site-header {
  background: oklch(0.99 0.006 105 / 0.9) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid oklch(0.27 0.06 230 / 0.14) !important;
  box-shadow: 0 14px 34px -30px oklch(0.16 0.04 230 / 0.42);
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--cta), var(--accent-teal), var(--primary));
  pointer-events: none;
}

.site-header .brand .brand-name,
.site-header .brand small {
  color: oklch(0.18 0.04 235) !important;
}

.site-header .brand-sub {
  color: oklch(0.42 0.02 225) !important;
}

.site-nav a {
  color: oklch(0.22 0.026 230) !important;
  font-weight: 800;
}

.site-nav a:hover,
.site-nav a.active {
  color: var(--primary) !important;
}

.site-nav a.active::after {
  bottom: -1.38rem;
  background: var(--cta);
}

.hotline {
  color: var(--primary) !important;
}

.btn-header {
  box-shadow: 0 10px 22px -14px oklch(0.62 0.12 82 / 0.65);
}

.mobile-nav {
  background: oklch(0.99 0.006 105 / 0.98);
}

.mobile-nav a {
  color: oklch(0.2 0.035 235);
}

.gd-hero {
  min-height: calc(100svh - var(--header-h));
  background:
    radial-gradient(ellipse 62% 54% at 78% 22%, oklch(0.78 0.13 195 / 0.2), transparent 64%),
    linear-gradient(110deg, oklch(0.995 0.004 102) 0 46%, oklch(0.94 0.032 190) 100%);
}

.gd-grid {
  background-size: 52px 52px;
  opacity: 0.82;
}

.gd-hero::before {
  right: -5%;
  top: -14%;
  width: min(48rem, 52vw);
  opacity: 0.46;
}

.gd-bay-orbit.orbit-a {
  width: 40rem;
  height: 15rem;
  right: 7vw;
}

.gd-bay-orbit.orbit-b {
  width: 28rem;
  height: 10rem;
}

.gd-hero-inner {
  grid-template-columns: minmax(0, 0.92fr) minmax(24rem, 0.72fr);
  gap: clamp(2.2rem, 4.2vw, 4rem);
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(4rem, 6vw, 5.8rem);
}

.gd-hero-copy {
  max-width: 39rem;
}

.gd-hero-copy h1 {
  max-width: 10.5ch;
  margin-top: 1.05rem;
  font-size: clamp(3.05rem, 5.2vw, 5.05rem);
  line-height: 1.03;
  letter-spacing: 0;
}

.gd-hero-copy p {
  max-width: 37rem;
  font-size: clamp(1rem, 1.12vw, 1.07rem);
  line-height: 1.82;
}

.gd-proof {
  margin-top: 1.35rem;
}

.gd-live-feed {
  max-width: 36rem;
}

.gd-console {
  justify-self: end;
  width: min(100%, 36rem);
  background: oklch(0.998 0.003 105 / 0.9);
  box-shadow: 0 26px 58px -42px oklch(0.16 0.04 230 / 0.48);
}

.gd-console-top {
  padding: 0.9rem 1rem;
}

.gd-radar-shell {
  grid-template-columns: minmax(0, 1fr) 7.4rem;
  gap: 0.82rem;
  padding: 1rem;
}

.gd-bay-map {
  min-height: 19.5rem;
  background:
    radial-gradient(circle at 50% 52%, oklch(0.78 0.13 195 / 0.22), transparent 43%),
    linear-gradient(145deg, oklch(0.985 0.01 112), oklch(0.925 0.04 190));
}

.gd-bay-map::before,
.gd-bay-map::after {
  border-color: oklch(0.58 0.13 195 / 0.3);
}

.gd-bay-map::after {
  border-color: oklch(0.84 0.15 82 / 0.36);
}

.gd-core {
  width: 6.2rem;
  height: 6.2rem;
  border-color: oklch(0.84 0.15 82 / 0.7);
  background: linear-gradient(145deg, oklch(0.19 0.065 238), oklch(0.27 0.07 205));
  box-shadow: 0 18px 34px -24px oklch(0.16 0.05 230 / 0.75);
}

.gd-node {
  min-width: 6rem;
  border-color: oklch(0.24 0.07 230 / 0.16);
  background: oklch(1 0 0 / 0.86);
  color: oklch(0.18 0.04 235);
  box-shadow: 0 14px 26px -24px oklch(0.16 0.04 230 / 0.48);
}

.gd-node small {
  color: oklch(0.38 0.02 225);
}

.node-sz { left: 8%; top: 11%; }
.node-gz { right: 8%; top: 14%; }
.node-fs { left: 10%; top: 45%; }
.node-dg { right: 7%; top: 48%; }
.node-zs { left: 27%; bottom: 8%; }
.node-zh { right: 26%; bottom: 9%; }

.gd-metrics {
  gap: 0.72rem;
}

.gd-metrics div {
  padding: 0.82rem 0.78rem;
  background: oklch(1 0 0 / 0.76);
}

.gd-metrics b {
  font-size: 1.55rem;
}

.gd-query-list {
  gap: 0.55rem;
  padding: 0 1rem 1rem;
}

.gd-query-list div {
  grid-template-columns: 3.8rem minmax(0, 1fr) auto;
  padding: 0.62rem 0.75rem;
}

.gd-query-list p {
  font-size: 0.8rem;
}

.gd-query-list i {
  padding-inline: 0.5rem;
  font-size: 0.68rem;
}

.gd-subpage {
  position: relative;
  overflow-x: hidden;
}

.gd-subpage .page-header {
  min-height: 22rem;
  background:
    radial-gradient(ellipse 66% 58% at 78% 16%, oklch(0.78 0.13 195 / 0.18), transparent 62%),
    linear-gradient(110deg, oklch(0.995 0.004 102), oklch(0.945 0.034 190));
}

.gd-subpage .page-header::after {
  opacity: 0.46;
}

.gd-subpage .page-header h1 {
  max-width: 16ch;
  font-size: clamp(2.45rem, 4.4vw, 3.9rem);
  line-height: 1.12;
}

.gd-subpage .section-head h2,
.gd-subpage .deliver-head h3,
.gd-subpage .article-content h2 {
  letter-spacing: 0;
}

@media (max-width: 1180px) {
  .gd-hero-inner {
    grid-template-columns: 1fr;
  }

  .gd-console {
    justify-self: start;
    width: min(100%, 42rem);
  }
}

@media (max-width: 720px) {
  .site-header .bar {
    height: 64px;
  }

  .site-nav,
  .hotline {
    display: none;
  }

  .gd-hero-inner {
    padding-block: 2.7rem 3.3rem;
  }

  .gd-hero-copy h1 {
    max-width: 9.5ch;
    font-size: clamp(2.7rem, 13vw, 3.6rem);
  }

  .gd-console {
    border-radius: 10px;
  }

  .gd-radar-shell {
    grid-template-columns: 1fr;
  }

  .gd-bay-map {
    min-height: 20rem;
  }

  .gd-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gd-subpage .page-header {
    min-height: auto;
  }
}

/* Shenzhen hero v3: AI procurement answer stage, not another atlas. */
.gd-answer-stage {
  position: relative;
  justify-self: end;
  width: min(100%, 38.5rem);
  min-height: 39rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 14px;
  background:
    linear-gradient(135deg, oklch(1 0 0 / 0.82), oklch(0.94 0.035 188 / 0.82)),
    repeating-linear-gradient(90deg, oklch(0.22 0.06 230 / 0.07) 0 1px, transparent 1px 32px);
  box-shadow: 0 30px 70px -46px oklch(0.14 0.04 230 / 0.58);
  overflow: hidden;
  isolation: isolate;
  backdrop-filter: blur(14px);
}

.gd-answer-stage::before {
  content: "";
  position: absolute;
  inset: 6% -18% auto auto;
  width: 72%;
  height: 78%;
  background:
    linear-gradient(135deg, oklch(0.78 0.13 195 / 0.18), transparent 62%),
    repeating-linear-gradient(-14deg, transparent 0 1.1rem, oklch(0.84 0.15 82 / 0.14) 1.1rem 1.17rem);
  clip-path: polygon(28% 0, 100% 10%, 78% 100%, 0 84%);
  transform: rotate(-4deg);
  pointer-events: none;
}

.gd-answer-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(to right, oklch(0.22 0.06 230 / 0.075) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.22 0.06 230 / 0.06) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: 0.86;
}

.gd-stage-lines span {
  position: absolute;
  left: -12%;
  right: -12%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, oklch(0.78 0.13 195 / 0.72), oklch(0.84 0.15 82 / 0.68), transparent);
  transform: rotate(-11deg);
  animation: gdSignalLine 5.6s ease-in-out infinite;
}

.gd-stage-lines span:nth-child(1) { top: 27%; }
.gd-stage-lines span:nth-child(2) { top: 52%; animation-delay: -1.8s; }
.gd-stage-lines span:nth-child(3) { top: 75%; animation-delay: -3.4s; }

.gd-prompt-card,
.gd-answer-card,
.gd-evidence-cloud span,
.gd-export-belt {
  position: absolute;
  z-index: 2;
}

.gd-prompt-card {
  left: 1.35rem;
  right: 1.35rem;
  top: 1.35rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 12px;
  padding: 1rem 1.1rem;
  background: oklch(1 0 0 / 0.9);
  box-shadow: 0 18px 36px -30px oklch(0.16 0.04 230 / 0.5);
  transform: rotate(-0.6deg);
  animation: gdFloatSoft 6.4s ease-in-out infinite;
}

.gd-prompt-card span,
.gd-answer-top b {
  display: block;
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.gd-prompt-card strong {
  display: block;
  margin-top: 0.38rem;
  color: oklch(0.16 0.035 235);
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.32;
}

.gd-prompt-card em {
  display: inline-flex;
  margin-top: 0.78rem;
  border-radius: 999px;
  padding: 0.34rem 0.66rem;
  background: oklch(0.78 0.13 195 / 0.13);
  color: oklch(0.28 0.052 205);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 850;
}

.gd-answer-card {
  left: 2.1rem;
  right: 3.4rem;
  top: 9.1rem;
  min-height: 17.2rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.18);
  border-radius: 12px;
  padding: 1.35rem;
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.96), oklch(0.965 0.015 110 / 0.92));
  box-shadow: 0 24px 54px -34px oklch(0.13 0.045 230 / 0.68);
  overflow: hidden;
}

.gd-answer-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0 34%, oklch(0.78 0.13 195 / 0.22) 45%, transparent 56% 100%);
  transform: translateX(-80%);
  animation: gdAnswerScan 4.8s ease-in-out infinite;
}

.gd-answer-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  z-index: 1;
}

.gd-answer-top span {
  border-radius: 999px;
  padding: 0.34rem 0.58rem;
  background: var(--cta);
  color: oklch(0.16 0.035 235);
  font-size: 0.72rem;
  font-weight: 950;
}

.gd-answer-card h3 {
  position: relative;
  z-index: 1;
  max-width: 15ch;
  margin-top: 1rem;
  color: oklch(0.15 0.035 235);
  font-size: clamp(1.58rem, 2.3vw, 2.05rem);
  line-height: 1.15;
  letter-spacing: 0;
}

.gd-type-lines {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.56rem;
  margin-top: 1.15rem;
}

.gd-type-lines i {
  display: block;
  width: var(--w);
  height: 0.55rem;
  border-radius: 999px;
  background: linear-gradient(90deg, oklch(0.84 0.15 82 / 0.45), oklch(0.78 0.13 195 / 0.38), oklch(0.22 0.06 230 / 0.08));
  animation: gdLineType 2.8s ease-in-out infinite;
}

.gd-type-lines i:nth-child(2) { animation-delay: -0.45s; }
.gd-type-lines i:nth-child(3) { animation-delay: -0.9s; }
.gd-type-lines i:nth-child(4) { animation-delay: -1.35s; }

.gd-answer-tags {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.2rem;
}

.gd-answer-tags span {
  border: 1px solid oklch(0.24 0.07 230 / 0.13);
  border-radius: 999px;
  padding: 0.36rem 0.62rem;
  background: oklch(0.99 0.004 105 / 0.76);
  color: oklch(0.25 0.05 225);
  font-size: 0.76rem;
  font-weight: 900;
}

.gd-evidence-cloud span {
  display: grid;
  gap: 0.16rem;
  min-width: 6.2rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.13);
  border-radius: 10px;
  padding: 0.68rem 0.8rem;
  background: oklch(1 0 0 / 0.82);
  box-shadow: 0 16px 32px -28px oklch(0.16 0.04 230 / 0.48);
  animation: gdFloatSoft 6s ease-in-out infinite;
}

.gd-evidence-cloud span::before {
  content: "";
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 999px;
  background: var(--cta);
  box-shadow: 0 0 0 5px oklch(0.84 0.15 82 / 0.16);
}

.gd-evidence-cloud b {
  color: var(--primary);
  font-size: 0.98rem;
  line-height: 1.05;
}

.gd-evidence-cloud small {
  color: oklch(0.42 0.018 220);
  font-size: 0.74rem;
  font-weight: 800;
}

.evidence-a { left: 1.25rem; top: 15.7rem; animation-delay: -0.8s; }
.evidence-b { right: 1.1rem; top: 15.2rem; animation-delay: -2.1s; }
.evidence-c { left: 1.75rem; bottom: 7.6rem; animation-delay: -3.4s; }
.evidence-d { right: 1.6rem; bottom: 8rem; animation-delay: -1.4s; }

.gd-export-belt {
  left: 1.25rem;
  right: 1.25rem;
  bottom: 1.25rem;
  height: 3.7rem;
  border: 1px solid oklch(0.24 0.07 230 / 0.14);
  border-radius: 12px;
  background: oklch(0.17 0.06 238 / 0.94);
  overflow: hidden;
}

.gd-export-belt div {
  display: flex;
  width: max-content;
  gap: 0.55rem;
  padding: 0.68rem 0.75rem;
  animation: gdBeltMove 20s linear infinite;
}

.gd-export-belt span {
  border: 1px solid oklch(1 0 0 / 0.14);
  border-radius: 999px;
  padding: 0.36rem 0.75rem;
  background: oklch(1 0 0 / 0.08);
  color: oklch(0.98 0.006 105);
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
}

@keyframes gdSignalLine {
  0%, 100% { opacity: 0.12; clip-path: inset(0 100% 0 0); }
  45%, 68% { opacity: 0.82; clip-path: inset(0 0 0 0); }
}

@keyframes gdFloatSoft {
  0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); }
  50% { transform: translateY(-0.42rem) rotate(var(--r, 0deg)); }
}

@keyframes gdAnswerScan {
  0%, 28% { transform: translateX(-82%); opacity: 0; }
  45%, 62% { opacity: 1; }
  86%, 100% { transform: translateX(82%); opacity: 0; }
}

@keyframes gdLineType {
  0%, 100% { transform: scaleX(0.82); opacity: 0.58; transform-origin: left center; }
  50% { transform: scaleX(1); opacity: 1; transform-origin: left center; }
}

@keyframes gdBeltMove {
  to { transform: translateX(-50%); }
}

@media (max-width: 1180px) {
  .gd-answer-stage {
    justify-self: start;
    width: min(100%, 42rem);
  }
}

@media (max-width: 720px) {
  .gd-answer-stage {
    min-height: 35rem;
    width: 100%;
  }

  .gd-prompt-card {
    left: 0.9rem;
    right: 0.9rem;
    top: 0.9rem;
  }

  .gd-answer-card {
    left: 1rem;
    right: 1rem;
    top: 8.5rem;
    min-height: 15.6rem;
    padding: 1.1rem;
  }

  .gd-answer-card h3 {
    max-width: 13.5ch;
    font-size: 1.45rem;
  }

  .gd-evidence-cloud span {
    min-width: 5.8rem;
    padding: 0.58rem 0.65rem;
  }

  .evidence-a { left: 0.8rem; top: 21rem; }
  .evidence-b { right: 0.8rem; top: 20.8rem; }
  .evidence-c { left: 0.8rem; bottom: 5.9rem; }
  .evidence-d { right: 0.8rem; bottom: 5.7rem; }

  .gd-export-belt {
    left: 0.9rem;
    right: 0.9rem;
    bottom: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-stage-lines span,
  .gd-prompt-card,
  .gd-answer-card::before,
  .gd-type-lines i,
  .gd-evidence-cloud span,
  .gd-export-belt div {
    animation: none !important;
  }
}

/* Shenzhen hero v4: one editorial answer canvas with continuous motion. */
.gd-answer-stage {
  width: min(100%, 38.5rem);
  min-height: 39rem;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 72% 24%, oklch(0.78 0.13 195 / 0.2), transparent 32%),
    radial-gradient(circle at 30% 72%, oklch(0.84 0.15 82 / 0.12), transparent 30%),
    transparent;
  box-shadow: none;
  backdrop-filter: none;
  overflow: visible;
}

.gd-answer-stage > .gd-stage-lines,
.gd-answer-stage > .gd-prompt-card,
.gd-answer-stage > .gd-answer-card,
.gd-answer-stage > .gd-evidence-cloud,
.gd-answer-stage > .gd-export-belt {
  display: none;
}

.gd-answer-canvas {
  position: relative;
  min-height: 39rem;
  padding: 1.8rem 1.55rem 1.9rem;
  isolation: isolate;
}

.gd-canvas-orbit {
  position: absolute;
  z-index: -1;
  border: 1px solid oklch(0.58 0.13 195 / 0.28);
  border-radius: 50%;
  pointer-events: none;
  animation: gdCanvasOrbit 18s linear infinite;
}

.gd-canvas-orbit::after {
  content: "";
  position: absolute;
  left: 12%;
  top: 14%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 0.45rem oklch(0.84 0.15 82 / 0.16);
}

.gd-canvas-orbit.orbit-one {
  top: 3.6rem;
  right: -4.5rem;
  width: 25rem;
  height: 25rem;
}

.gd-canvas-orbit.orbit-two {
  top: 8.1rem;
  right: 0.6rem;
  width: 16rem;
  height: 16rem;
  border-color: oklch(0.84 0.15 82 / 0.28);
  animation-duration: 12s;
  animation-direction: reverse;
}

.gd-canvas-frame {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  width: min(100%, 31.6rem);
  min-height: 34.4rem;
  margin: 0 auto;
  border: 1px solid oklch(0.24 0.07 230 / 0.18);
  border-radius: 22px;
  padding: 1.45rem 1.5rem 1.25rem;
  background:
    linear-gradient(135deg, oklch(1 0 0 / 0.97), oklch(0.965 0.026 173 / 0.94)),
    repeating-linear-gradient(0deg, transparent 0 2.2rem, oklch(0.24 0.07 230 / 0.045) 2.2rem 2.26rem);
  box-shadow: 0 32px 64px -40px oklch(0.16 0.04 230 / 0.68);
  transform: rotate(2deg);
  animation: gdCanvasFloat 7s ease-in-out infinite;
}

.gd-canvas-frame::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.35rem;
  border-radius: 22px 0 0 22px;
  background: linear-gradient(180deg, var(--cta), var(--accent-teal));
}

.gd-canvas-frame::after {
  content: "";
  position: absolute;
  right: 1.35rem;
  top: 3.8rem;
  width: 5.6rem;
  height: 5.6rem;
  border: 1px solid oklch(0.84 0.15 82 / 0.36);
  border-radius: 50%;
  opacity: 0.7;
  pointer-events: none;
}

.gd-canvas-topline,
.gd-canvas-question,
.gd-canvas-flow,
.gd-canvas-answer,
.gd-canvas-receipts {
  position: relative;
  z-index: 1;
}

.gd-canvas-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid oklch(0.24 0.07 230 / 0.12);
  color: oklch(0.3 0.04 225);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.gd-canvas-topline span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.gd-canvas-topline i,
.gd-canvas-caption i {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 0.3rem oklch(0.84 0.15 82 / 0.16);
  animation: gdCanvasPulse 2.2s ease-in-out infinite;
}

.gd-canvas-topline b {
  color: var(--primary);
}

.gd-canvas-question {
  align-self: center;
  padding: 2.2rem 0 1.8rem;
}

.gd-canvas-question small {
  display: block;
  color: var(--primary);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.13em;
}

.gd-canvas-question strong {
  display: block;
  margin-top: 0.75rem;
  color: oklch(0.13 0.035 238);
  font-size: clamp(2.2rem, 4.2vw, 3.05rem);
  line-height: 0.99;
  letter-spacing: 0;
}

.gd-canvas-question em {
  color: var(--primary);
  font-style: normal;
}

.gd-question-mark {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  color: transparent;
  font-size: 7rem;
  font-weight: 950;
  line-height: 0.7;
  opacity: 0.17;
  -webkit-text-stroke: 1px var(--cta);
  transform: rotate(11deg);
  animation: gdQuestionDrift 5.4s ease-in-out infinite;
}

.gd-canvas-flow {
  display: grid;
  grid-template-columns: 1fr 2.2rem 1fr 2.2rem 1fr;
  align-items: center;
  gap: 0.28rem;
  padding: 0.85rem 0;
  border-top: 1px solid oklch(0.24 0.07 230 / 0.12);
  border-bottom: 1px solid oklch(0.24 0.07 230 / 0.12);
}

.gd-canvas-flow span {
  display: grid;
  gap: 0.25rem;
  color: oklch(0.42 0.02 225);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
}

.gd-canvas-flow span b {
  color: oklch(0.25 0.05 225);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.64rem;
}

.gd-canvas-flow span.active,
.gd-canvas-flow span.active b {
  color: var(--primary);
}

.gd-canvas-flow i {
  position: relative;
  display: block;
  height: 1px;
  background: oklch(0.24 0.07 230 / 0.2);
  overflow: hidden;
}

.gd-canvas-flow i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 38%;
  background: var(--cta);
  animation: gdFlowSignal 2.8s ease-in-out infinite;
}

.gd-canvas-flow i:nth-of-type(2)::after {
  animation-delay: -1.4s;
}

.gd-canvas-answer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 0 1rem;
}

.gd-canvas-answer div {
  display: grid;
  gap: 0.38rem;
}

.gd-canvas-answer div span {
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.gd-canvas-answer div b {
  max-width: 15rem;
  color: oklch(0.2 0.04 230);
  font-size: 1rem;
  line-height: 1.38;
}

.gd-canvas-answer > strong {
  color: var(--primary);
  font-size: 3.35rem;
  line-height: 0.85;
  letter-spacing: -0.04em;
}

.gd-canvas-answer > strong span {
  font-size: 1.35rem;
  vertical-align: top;
}

.gd-canvas-receipts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  padding-top: 0.95rem;
  border-top: 1px solid oklch(0.24 0.07 230 / 0.12);
}

.gd-canvas-receipts span {
  display: grid;
  gap: 0.22rem;
  padding-left: 0.58rem;
  border-left: 2px solid oklch(0.78 0.13 195 / 0.5);
  animation: gdReceiptLift 5.5s ease-in-out infinite;
}

.gd-canvas-receipts span:nth-child(2) { animation-delay: -1.2s; border-color: oklch(0.84 0.15 82 / 0.7); }
.gd-canvas-receipts span:nth-child(3) { animation-delay: -2.4s; }
.gd-canvas-receipts span:nth-child(4) { animation-delay: -3.6s; border-color: oklch(0.84 0.15 82 / 0.7); }

.gd-canvas-receipts b {
  color: oklch(0.19 0.04 230);
  font-size: 0.84rem;
}

.gd-canvas-receipts small {
  color: oklch(0.45 0.018 220);
  font-size: 0.68rem;
  font-weight: 800;
}

.gd-canvas-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding-inline: 0.2rem;
  color: oklch(0.31 0.04 225);
  font-size: 0.73rem;
  font-weight: 850;
}

.gd-canvas-caption span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.gd-canvas-caption b {
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.64rem;
  letter-spacing: 0.1em;
}

@keyframes gdCanvasFloat {
  0%, 100% { transform: rotate(2deg) translate3d(var(--gd-shift-x, 0rem), var(--gd-shift-y, 0rem), 0); }
  50% { transform: rotate(1.2deg) translate3d(var(--gd-shift-x, 0rem), calc(var(--gd-shift-y, 0rem) - 0.45rem), 0); }
}

@keyframes gdCanvasOrbit {
  to { transform: rotate(360deg); }
}

@keyframes gdCanvasPulse {
  0%, 100% { opacity: 0.65; transform: scale(0.92); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes gdQuestionDrift {
  0%, 100% { transform: rotate(11deg) translateY(0); }
  50% { transform: rotate(4deg) translateY(-0.32rem); }
}

@keyframes gdFlowSignal {
  0% { transform: translateX(-130%); }
  55%, 100% { transform: translateX(290%); }
}

@keyframes gdReceiptLift {
  0%, 100% { transform: translateY(0); opacity: 0.78; }
  50% { transform: translateY(-0.24rem); opacity: 1; }
}

@media (max-width: 1180px) {
  .gd-answer-stage {
    justify-self: start;
    width: min(100%, 42rem);
  }
}

@media (max-width: 720px) {
  .gd-answer-stage,
  .gd-answer-canvas {
    min-height: 34rem;
  }

  .gd-answer-canvas {
    padding: 1rem 0.6rem 1.25rem;
  }

  .gd-canvas-frame {
    width: min(100%, 31rem);
    min-height: 30rem;
    padding: 1.15rem 1rem 1rem;
    border-radius: 17px;
  }

  .gd-canvas-question {
    padding-block: 1.7rem 1.35rem;
  }

  .gd-canvas-question strong {
    font-size: clamp(1.9rem, 9vw, 2.45rem);
  }

  .gd-canvas-flow {
    grid-template-columns: 1fr 0.9rem 1fr 0.9rem 1fr;
  }

  .gd-canvas-flow span {
    font-size: 0.64rem;
  }

  .gd-canvas-answer div b {
    max-width: 11rem;
    font-size: 0.86rem;
  }

  .gd-canvas-answer > strong {
    font-size: 2.55rem;
  }

  .gd-canvas-caption {
    font-size: 0.66rem;
  }

  .gd-canvas-orbit.orbit-one {
    right: -8rem;
  }

  .gd-canvas-orbit.orbit-two {
    right: -2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-canvas-orbit,
  .gd-canvas-frame,
  .gd-canvas-topline i,
  .gd-canvas-caption i,
  .gd-canvas-flow i::after,
  .gd-canvas-receipts span,
  .gd-question-mark {
    animation: none !important;
  }
}

.gd-live-feed span {
  transition: opacity 280ms ease, transform 280ms ease, border-color 280ms ease, background 280ms ease;
}

.gd-live-feed span.is-live {
  border-color: oklch(0.78 0.13 195 / 0.34);
  background: oklch(1 0 0 / 0.82);
  opacity: 1;
  transform: translateX(0.35rem);
}

.gd-hero::before {
  transform-origin: calc(50% + var(--gd-pointer-x, 0%)) calc(50% + var(--gd-pointer-y, 0%));
}

/* Shenzhen hero v5: full-bleed signal field, no side card. */
.gd-home .gd-hero {
  min-height: calc(100svh - var(--header-h));
  background:
    radial-gradient(ellipse 70% 58% at 80% 18%, oklch(0.78 0.13 195 / 0.16), transparent 64%),
    linear-gradient(180deg, oklch(0.995 0.004 102), oklch(0.93 0.035 190));
}

.gd-home .gd-hero-bg {
  opacity: 0.42;
}

.gd-home .gd-hero::before {
  opacity: 0.2;
}

.gd-home .gd-bay-orbit,
.gd-home .gd-route {
  opacity: 0.28;
}

.gd-home .gd-hero-inner {
  display: block;
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(3.4rem, 7vw, 6.6rem) clamp(8rem, 13vw, 12rem);
}

.gd-home .gd-hero-copy {
  position: relative;
  z-index: 3;
  width: min(100%, 52rem);
  max-width: 52rem;
}

.gd-home .gd-hero-copy h1 {
  max-width: 11ch;
  font-size: clamp(3.4rem, 7.4vw, 7.1rem);
  line-height: 0.94;
  letter-spacing: -0.045em;
}

.gd-home .gd-hero-copy p {
  max-width: 40rem;
  margin-top: 1.55rem;
}

.gd-home .gd-answer-stage {
  display: none;
}

.gd-full-bleed-scene {
  position: absolute;
  z-index: 1;
  inset: 38% 0 0;
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
}

.gd-full-bleed-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 1px solid oklch(0.24 0.07 230 / 0.16);
  background:
    linear-gradient(180deg, oklch(0.995 0.004 102 / 0.92), transparent 26%),
    linear-gradient(90deg, oklch(0.995 0.004 102 / 0.86), transparent 44%, oklch(0.78 0.13 195 / 0.11));
}

.gd-full-bleed-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, oklch(0.24 0.07 230 / 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.24 0.07 230 / 0.06) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(180deg, transparent, black 24%, black 100%);
}

.gd-scene-image {
  position: absolute;
  inset: 0 0 0 26%;
  z-index: -2;
  background:
    linear-gradient(90deg, oklch(0.995 0.004 102 / 0.97) 0, oklch(0.995 0.004 102 / 0.48) 28%, transparent 68%),
    linear-gradient(180deg, transparent 12%, oklch(0.78 0.13 195 / 0.2)),
    url("../img/hero-bg.webp") center 54% / cover no-repeat;
  filter: saturate(0.55) contrast(0.94) brightness(1.18);
  opacity: 0.22;
  transform: translate3d(var(--gd-scene-x, 0px), var(--gd-scene-y, 0px), 0) scale(1.06);
  animation: gdSceneImagePan 14s ease-in-out infinite alternate;
}

.gd-scene-haze {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 74% 52%, oklch(0.78 0.13 195 / 0.23), transparent 27%),
    radial-gradient(circle at 54% 82%, oklch(0.84 0.15 82 / 0.16), transparent 24%);
  animation: gdSceneHaze 8s ease-in-out infinite alternate;
}

.gd-scene-line {
  position: absolute;
  z-index: 1;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, oklch(0.78 0.13 195 / 0.8), oklch(0.84 0.15 82 / 0.72), transparent);
  transform-origin: left center;
  animation: gdSceneBeam 5.8s ease-in-out infinite;
}

.gd-scene-line.line-a { width: 70%; left: -4%; top: 32%; transform: rotate(-9deg); }
.gd-scene-line.line-b { width: 62%; left: 23%; top: 54%; transform: rotate(7deg); animation-delay: -1.4s; }
.gd-scene-line.line-c { width: 52%; left: 39%; top: 72%; transform: rotate(-4deg); animation-delay: -2.8s; }
.gd-scene-line.line-d { width: 40%; left: 58%; top: 24%; transform: rotate(13deg); animation-delay: -4.2s; }

.gd-scene-orbit {
  position: absolute;
  z-index: 0;
  border: 1px solid oklch(0.58 0.13 195 / 0.34);
  border-radius: 50%;
  transform: rotate(-14deg);
  animation: gdSceneOrbit 18s linear infinite;
}

.gd-scene-orbit::before {
  content: "";
  position: absolute;
  left: 14%;
  top: -0.28rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 0.42rem oklch(0.84 0.15 82 / 0.18);
}

.gd-scene-orbit.orbit-a { width: 31rem; height: 12rem; right: 9%; top: 23%; }
.gd-scene-orbit.orbit-b { width: 24rem; height: 9rem; right: 18%; top: 42%; border-color: oklch(0.84 0.15 82 / 0.42); animation-duration: 13s; animation-direction: reverse; }
.gd-scene-orbit.orbit-c { width: 43rem; height: 18rem; right: -3%; top: 9%; opacity: 0.42; animation-duration: 24s; }

.gd-scene-word {
  position: absolute;
  z-index: 0;
  color: transparent;
  font-size: clamp(4.6rem, 13vw, 12.5rem);
  font-weight: 950;
  line-height: 0.78;
  letter-spacing: -0.08em;
  white-space: nowrap;
  -webkit-text-stroke: 1px oklch(0.24 0.07 230 / 0.2);
  animation: gdSceneWord 10s ease-in-out infinite alternate;
}

.gd-scene-word.word-a { left: 3%; bottom: 8%; }
.gd-scene-word.word-b { right: -1%; bottom: 19%; color: oklch(0.78 0.13 195 / 0.1); -webkit-text-stroke-color: oklch(0.58 0.13 195 / 0.26); animation-delay: -4s; }

.gd-scene-core {
  position: absolute;
  z-index: 2;
  right: 25%;
  top: 30%;
  display: grid;
  place-items: center;
  width: 10.5rem;
  height: 10.5rem;
  border: 1px solid oklch(0.78 0.13 195 / 0.6);
  border-radius: 50%;
  background: oklch(0.995 0.004 102 / 0.28);
  box-shadow: 0 0 0 1.2rem oklch(0.78 0.13 195 / 0.06), 0 0 5rem oklch(0.78 0.13 195 / 0.24);
  text-align: center;
  animation: gdSceneCore 4.8s ease-in-out infinite;
}

.gd-scene-core::before,
.gd-scene-core::after {
  content: "";
  position: absolute;
  border: 1px solid oklch(0.84 0.15 82 / 0.46);
  border-radius: 50%;
}

.gd-scene-core::before { inset: 0.75rem; }
.gd-scene-core::after { inset: -1.9rem; border-color: oklch(0.58 0.13 195 / 0.2); }

.gd-scene-core span,
.gd-scene-core small {
  color: var(--primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.gd-scene-core strong {
  color: oklch(0.13 0.035 238);
  font-size: 1.3rem;
  line-height: 1;
}

.gd-scene-core small { color: oklch(0.38 0.025 220); letter-spacing: 0.04em; text-transform: none; }

.gd-scene-node {
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 0.18rem;
  min-width: 6rem;
  padding: 0.5rem 0 0.42rem 0.78rem;
  border-left: 2px solid var(--cta);
  color: oklch(0.18 0.04 235);
  animation: gdSceneNode 6s ease-in-out infinite;
}

.gd-scene-node::before {
  content: "";
  position: absolute;
  left: -0.35rem;
  top: 0.66rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--cta);
  box-shadow: 0 0 0 0.4rem oklch(0.84 0.15 82 / 0.14);
}

.gd-scene-node b { font-size: 0.98rem; }
.gd-scene-node small { color: oklch(0.4 0.02 220); font-size: 0.68rem; font-weight: 800; }
.gd-scene-node.node-shenzhen { left: 41%; top: 19%; animation-delay: -1.2s; }
.gd-scene-node.node-guangzhou { right: 14%; top: 15%; animation-delay: -2.4s; }
.gd-scene-node.node-foshan { left: 54%; bottom: 15%; animation-delay: -3.6s; }
.gd-scene-node.node-dongguan { right: 9%; bottom: 10%; animation-delay: -4.8s; }

.gd-scene-footer {
  position: absolute;
  z-index: 3;
  right: 5%;
  bottom: 1.3rem;
  left: 5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.7rem;
  border-top: 1px solid oklch(0.24 0.07 230 / 0.18);
  color: oklch(0.34 0.025 220);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.gd-scene-footer b { color: var(--primary); }

@keyframes gdSceneImagePan {
  from { background-position: 48% 54%; }
  to { background-position: 56% 47%; }
}

@keyframes gdSceneHaze {
  from { opacity: 0.62; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1.04); }
}

@keyframes gdSceneBeam {
  0%, 100% { opacity: 0.12; clip-path: inset(0 100% 0 0); }
  44%, 68% { opacity: 0.78; clip-path: inset(0 0 0 0); }
}

@keyframes gdSceneOrbit {
  to { transform: rotate(346deg); }
}

@keyframes gdSceneWord {
  from { transform: translateX(-1.1rem); opacity: 0.42; }
  to { transform: translateX(1.1rem); opacity: 0.72; }
}

@keyframes gdSceneCore {
  0%, 100% { transform: scale(0.98); box-shadow: 0 0 0 1.2rem oklch(0.78 0.13 195 / 0.06), 0 0 5rem oklch(0.78 0.13 195 / 0.2); }
  50% { transform: scale(1.04); box-shadow: 0 0 0 1.5rem oklch(0.78 0.13 195 / 0.09), 0 0 7rem oklch(0.78 0.13 195 / 0.3); }
}

@keyframes gdSceneNode {
  0%, 100% { transform: translateY(0); opacity: 0.68; }
  50% { transform: translateY(-0.35rem); opacity: 1; }
}

@media (max-width: 720px) {
  .gd-home .gd-hero-inner {
    min-height: auto;
    padding-block: 2.8rem 18rem;
  }

  .gd-home .gd-hero-copy h1 {
    max-width: 9ch;
    font-size: clamp(3rem, 14vw, 4.5rem);
  }

  .gd-full-bleed-scene {
    inset: 43% 0 0;
    min-height: 28rem;
  }

  .gd-scene-image { inset: 0; opacity: 0.18; }
  .gd-scene-orbit.orbit-a { right: -13rem; top: 22%; }
  .gd-scene-orbit.orbit-b { right: -6rem; top: 44%; }
  .gd-scene-orbit.orbit-c { right: -17rem; top: 8%; }
  .gd-scene-core { right: 24%; top: 28%; width: 8.2rem; height: 8.2rem; }
  .gd-scene-core strong { font-size: 1.05rem; }
  .gd-scene-node { min-width: 4.8rem; padding-left: 0.56rem; }
  .gd-scene-node b { font-size: 0.78rem; }
  .gd-scene-node small { font-size: 0.58rem; }
  .gd-scene-node.node-shenzhen { left: 9%; top: 14%; }
  .gd-scene-node.node-guangzhou { right: 7%; top: 12%; }
  .gd-scene-node.node-foshan { left: 10%; bottom: 22%; }
  .gd-scene-node.node-dongguan { right: 8%; bottom: 15%; }
  .gd-scene-word { font-size: clamp(4rem, 19vw, 7rem); }
  .gd-scene-footer { right: 1rem; left: 1rem; font-size: 0.56rem; }
  .gd-scene-footer b { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .gd-scene-image,
  .gd-scene-haze,
  .gd-scene-line,
  .gd-scene-orbit,
  .gd-scene-word,
  .gd-scene-core,
  .gd-scene-node {
    animation: none !important;
  }
}

/* Shenzhen palette pass: separate the site from Zhejiang's green and gold. */
.site-header {
  background: oklch(0.975 0.018 280) !important;
  border-bottom-color: oklch(0.36 0.18 282 / 0.16) !important;
}

.site-header .site-nav a,
.site-header .hotline {
  color: var(--primary-deep);
}

.site-header .site-nav a:hover,
.site-header .site-nav a.active,
.site-header .hotline strong {
  color: var(--cta);
}

.gd-home .gd-hero {
  background:
    radial-gradient(ellipse 62% 66% at 82% 18%, oklch(0.74 0.18 38 / 0.15), transparent 60%),
    linear-gradient(180deg, oklch(0.985 0.012 95) 0 43%, oklch(0.91 0.065 278) 100%);
}

.gd-home .gd-grid {
  background-image:
    linear-gradient(to right, oklch(0.36 0.18 282 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.36 0.18 282 / 0.06) 1px, transparent 1px);
}

.gd-home .gd-hero::before {
  border-color: oklch(0.36 0.18 282 / 0.24);
  background:
    repeating-radial-gradient(circle, transparent 0 11%, oklch(0.36 0.18 282 / 0.14) 11.3% 11.6%, transparent 12% 20%),
    conic-gradient(from 220deg, transparent, oklch(0.75 0.19 38 / 0.24), transparent 38%, oklch(0.36 0.18 282 / 0.2), transparent 68%);
}

.gd-home .gd-route {
  background: linear-gradient(90deg, transparent, oklch(0.73 0.18 38 / 0.86), oklch(0.36 0.18 282 / 0.76), transparent);
}

.gd-home .gd-kicker {
  border-color: oklch(0.36 0.18 282 / 0.2);
  background: oklch(0.985 0.012 95 / 0.84);
}

.gd-home .gd-kicker i,
.gd-home .gd-live-feed span::before {
  background: var(--cta);
  box-shadow: 0 0 0 6px oklch(0.75 0.19 38 / 0.16);
}

.gd-home .gd-hero-copy h1 {
  color: var(--primary-deep);
  font-size: clamp(3.3rem, 6.7vw, 6.35rem);
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -0.025em;
}

.gd-home .gd-hero-copy h1 span:first-child {
  color: var(--primary);
}

.gd-home .gd-hero-copy h1 span + span {
  margin-top: 0.06em;
  padding-left: 0.05em;
  color: var(--cta);
  font-size: 0.86em;
  text-shadow: none;
}

.gd-home .gd-hero-copy p {
  color: oklch(0.29 0.045 275);
}

.gd-home .gd-proof span {
  border-color: oklch(0.36 0.18 282 / 0.16);
  background: oklch(0.985 0.012 95 / 0.72);
  color: oklch(0.28 0.045 275);
}

.gd-home .gd-proof b {
  color: var(--cta);
}

.gd-home .gd-full-bleed-scene::before {
  border-top-color: oklch(0.36 0.18 282 / 0.18);
  background:
    linear-gradient(180deg, oklch(0.985 0.012 95 / 0.88), transparent 27%),
    linear-gradient(90deg, oklch(0.985 0.012 95 / 0.84), transparent 44%, oklch(0.74 0.18 38 / 0.12));
}

.gd-home .gd-full-bleed-scene::after {
  background-image:
    linear-gradient(to right, oklch(0.36 0.18 282 / 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.36 0.18 282 / 0.06) 1px, transparent 1px);
}

.gd-home .gd-scene-image {
  background:
    linear-gradient(90deg, oklch(0.985 0.012 95 / 0.96) 0, oklch(0.985 0.012 95 / 0.42) 28%, transparent 68%),
    linear-gradient(180deg, transparent 12%, oklch(0.36 0.18 282 / 0.2)),
    url("../img/hero-bg.webp") center 54% / cover no-repeat;
  filter: saturate(0.45) hue-rotate(34deg) contrast(0.94) brightness(1.1);
}

.gd-home .gd-scene-haze {
  background:
    radial-gradient(circle at 74% 52%, oklch(0.36 0.18 282 / 0.2), transparent 27%),
    radial-gradient(circle at 54% 82%, oklch(0.74 0.18 38 / 0.2), transparent 24%);
}

.gd-home .gd-scene-line {
  background: linear-gradient(90deg, transparent, oklch(0.36 0.18 282 / 0.8), oklch(0.75 0.19 38 / 0.86), transparent);
}

.gd-home .gd-scene-orbit {
  border-color: oklch(0.36 0.18 282 / 0.32);
}

.gd-home .gd-scene-orbit::before,
.gd-home .gd-scene-node::before {
  background: var(--cta);
  box-shadow: 0 0 0 0.42rem oklch(0.75 0.19 38 / 0.14);
}

.gd-home .gd-scene-orbit.orbit-b,
.gd-home .gd-scene-orbit.orbit-b::before {
  border-color: oklch(0.75 0.19 38 / 0.44);
}

.gd-home .gd-scene-word {
  -webkit-text-stroke-color: oklch(0.36 0.18 282 / 0.2);
}

.gd-home .gd-scene-word.word-b {
  color: oklch(0.36 0.18 282 / 0.08);
  -webkit-text-stroke-color: oklch(0.75 0.19 38 / 0.34);
}

.gd-home .gd-scene-core {
  border-color: oklch(0.75 0.19 38 / 0.68);
  background: oklch(0.985 0.012 95 / 0.28);
  box-shadow: 0 0 0 1.2rem oklch(0.75 0.19 38 / 0.06), 0 0 5rem oklch(0.36 0.18 282 / 0.23);
}

.gd-home .gd-scene-core::before {
  border-color: oklch(0.36 0.18 282 / 0.48);
}

.gd-home .gd-scene-core::after {
  border-color: oklch(0.75 0.19 38 / 0.24);
}

.gd-home .gd-scene-node {
  border-left-color: var(--cta);
}

.gd-home .gd-scene-footer {
  border-top-color: oklch(0.36 0.18 282 / 0.2);
}

.gd-home .gd-live-feed span {
  color: oklch(0.3 0.045 275);
}

/* Buyer scene cards: one skin across the featured and supporting items. */
.gd-home .gd-scene-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gd-home .gd-scene-card.is-primary {
  grid-row: auto;
}

@media (max-width: 720px) {
  .gd-home .gd-scene-grid {
    grid-template-columns: 1fr;
  }
}

.gd-home .gd-scene-card,
.gd-home .gd-scene-card.is-primary {
  border-color: oklch(0.36 0.18 282 / 0.16);
  background: oklch(0.985 0.012 95 / 0.78);
  color: oklch(0.18 0.035 282);
  box-shadow: 0 18px 48px -42px oklch(0.24 0.16 278 / 0.34);
}

.gd-home .gd-scene-card::before {
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--cta));
}

.gd-home .gd-scene-card:hover,
.gd-home .gd-scene-card.is-primary:hover {
  border-color: oklch(0.75 0.19 38 / 0.58);
  box-shadow: 0 22px 50px -38px oklch(0.24 0.16 278 / 0.42);
  transform: translateY(-4px);
}

.gd-home .gd-card-index {
  color: var(--cta);
}

.gd-home .gd-scene-card h3 {
  color: var(--primary-deep);
}

.gd-home .gd-scene-card p,
.gd-home .gd-scene-card.is-primary p {
  color: oklch(0.36 0.045 275);
}

.gd-home .gd-prompt,
.gd-home .gd-scene-card.is-primary .gd-prompt {
  border-color: oklch(0.36 0.18 282 / 0.14);
  background: oklch(0.97 0.03 55 / 0.76);
  color: var(--primary);
}

.gd-home .gd-live-feed {
  position: relative;
  display: grid;
  min-height: 2.8rem;
  max-width: 42rem;
  margin-top: 1.15rem;
  gap: 0;
}

.gd-home .gd-live-feed span {
  grid-area: 1 / 1;
  align-self: center;
  border: 0;
  border-radius: 0;
  padding: 0.5rem 0 0.5rem 1.55rem;
  background: transparent;
  color: oklch(0.31 0.03 220);
  opacity: 0;
  transform: translateY(0.35rem);
  transition: opacity 360ms ease, transform 360ms ease;
}

.gd-home .gd-live-feed span::before {
  left: 0.18rem;
}

.gd-home .gd-live-feed span.is-live {
  border: 0;
  border-radius: 0;
  background: transparent;
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 720px) {
  .gd-home .gd-hero-inner {
    padding-bottom: 30rem;
  }

  .gd-home .gd-full-bleed-scene {
    inset: auto 0 0;
    height: 30rem;
    min-height: 0;
  }
}

/* Shenzhen subpages: carry the homepage's warm signal-field system through the site. */
.gd-subpage {
  color: var(--ink);
  background:
    linear-gradient(90deg, oklch(0.36 0.18 282 / 0.055) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.36 0.18 282 / 0.045) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.985 0.012 95), oklch(0.95 0.035 278) 58%, oklch(0.985 0.012 95));
  background-size: 48px 48px, 48px 48px, auto;
}

.gd-subpage .page-header {
  min-height: clamp(22rem, 38vw, 30rem);
  border-bottom: 1px solid oklch(0.36 0.18 282 / 0.14);
  background:
    radial-gradient(circle at 86% 18%, oklch(0.75 0.19 38 / 0.18), transparent 25rem),
    radial-gradient(circle at 62% 84%, oklch(0.36 0.18 282 / 0.14), transparent 28rem),
    linear-gradient(135deg, oklch(0.985 0.012 95), oklch(0.95 0.035 278) 58%, oklch(0.98 0.015 95));
}

.gd-subpage .page-header::before {
  inset: 0;
  opacity: 0.7;
  background-image:
    linear-gradient(to right, oklch(0.36 0.18 282 / 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.36 0.18 282 / 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(90deg, #000 0 68%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 68%, transparent 100%);
}

.gd-subpage .page-header::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 9%;
  right: 8%;
  width: min(42vw, 34rem);
  height: min(42vw, 34rem);
  border: 1px solid oklch(0.36 0.18 282 / 0.22);
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle at center, transparent 0 11%, oklch(0.36 0.18 282 / 0.12) 11.3% 11.6%, transparent 12% 20%),
    conic-gradient(from 220deg, transparent, oklch(0.75 0.19 38 / 0.2), transparent 36%, oklch(0.36 0.18 282 / 0.17), transparent 68%);
  box-shadow:
    0 0 0 1.1rem oklch(0.75 0.19 38 / 0.06),
    0 0 0 3rem oklch(0.36 0.18 282 / 0.045);
  opacity: 0.72;
  pointer-events: none;
  animation: gdSubpageFieldDrift 14s ease-in-out infinite alternate;
}

.gd-subpage .page-header .ph-inner {
  z-index: 1;
  max-width: 74rem;
  padding-inline: 1.25rem;
  text-align: left;
}

.gd-subpage .page-header .ph-eyebrow,
.gd-subpage .kicker {
  border-color: oklch(0.36 0.18 282 / 0.18);
  background: oklch(0.985 0.012 95 / 0.84);
  color: var(--primary);
  box-shadow: 0 12px 28px -24px oklch(0.24 0.16 278 / 0.38);
}

.gd-subpage .page-header .ph-eyebrow::before,
.gd-subpage .kicker::before {
  background: var(--cta);
  box-shadow: 0 0 0 6px oklch(0.75 0.19 38 / 0.16);
}

.gd-subpage .page-header h1 {
  max-width: 16ch;
  color: var(--primary-deep);
  font-size: clamp(2.7rem, 5.6vw, 5rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
}

.gd-subpage .page-header h1 .hl {
  color: var(--cta);
}

.gd-subpage .page-header h1 .hl::after {
  background: linear-gradient(90deg, var(--primary), var(--cta));
}

.gd-subpage .page-header .ph-sub {
  max-width: 52rem;
  color: oklch(0.29 0.045 275);
  line-height: 1.85;
}

.gd-subpage .section {
  position: relative;
  background: transparent;
}

.gd-subpage .section.bg-cream {
  border-block: 1px solid oklch(0.36 0.18 282 / 0.1);
  background:
    linear-gradient(180deg, oklch(0.985 0.012 95 / 0.8), oklch(0.97 0.03 55 / 0.7));
}

.gd-subpage .section-head h2,
.gd-subpage .deliver-head h3,
.gd-subpage .article-content h2,
.gd-subpage .article-content h3 {
  color: var(--primary-deep);
}

.gd-subpage .section-head h2 .hl,
.gd-subpage .deliver-head h3 .hl {
  color: var(--cta);
}

.gd-subpage .section-head .lead,
.gd-subpage .deliver-head p,
.gd-subpage .article-content p,
.gd-subpage .article-content li {
  color: oklch(0.36 0.045 275);
}

.gd-subpage .method-overview-item,
.gd-subpage .summit-card,
.gd-subpage .service-flow-intro a,
.gd-subpage .process-row,
.gd-subpage .service-card,
.gd-subpage .cert-card,
.gd-subpage .cred,
.gd-subpage .local-feature,
.gd-subpage .list-row,
.gd-subpage .faq-item,
.gd-subpage .paper-nav,
.gd-subpage .paper-toolbar,
.gd-subpage .paper-main,
.gd-subpage .info-banner {
  border-color: oklch(0.36 0.18 282 / 0.16);
  background: oklch(0.985 0.012 95 / 0.78);
  box-shadow: 0 18px 42px -36px oklch(0.24 0.16 278 / 0.34);
}

.gd-subpage .method-overview-item,
.gd-subpage .service-flow-intro a {
  border-left-color: var(--cta);
}

.gd-subpage .summit-card::before,
.gd-subpage .process-row::after,
.gd-subpage .service-card::before,
.gd-subpage .cert-card::before {
  background: linear-gradient(90deg, var(--primary), var(--cta));
}

.gd-subpage .summit-card:hover,
.gd-subpage .service-flow-intro a:hover,
.gd-subpage .service-card:hover,
.gd-subpage .cert-card:hover,
.gd-subpage .list-row:hover,
.gd-subpage .faq-item:hover {
  border-color: oklch(0.75 0.19 38 / 0.58);
  box-shadow: 0 22px 50px -38px oklch(0.24 0.16 278 / 0.42);
  transform: translateY(-4px);
}

.gd-subpage .step-n,
.gd-subpage .method-overview-item > span,
.gd-subpage .panel-kicker,
.gd-subpage .paper-kicker,
.gd-subpage .service-flow-intro span,
.gd-subpage .d-step {
  color: var(--cta);
}

.gd-subpage .summit-card .step-name,
.gd-subpage .service-flow-intro strong,
.gd-subpage .process-row h3,
.gd-subpage .faq-q,
.gd-subpage .paper-toolbar strong,
.gd-subpage .paper-page h2,
.gd-subpage .paper-page h3 {
  color: var(--primary-deep);
}

.gd-subpage .summit-card .step-deco,
.gd-subpage .process-row dd,
.gd-subpage .service-flow-intro p,
.gd-subpage .faq-a p,
.gd-subpage .paper-count,
.gd-subpage .paper-nav a {
  color: oklch(0.42 0.035 275);
}

.gd-subpage .process-list::before {
  background: linear-gradient(180deg, var(--cta), var(--primary));
}

.gd-subpage .process-row .p-n {
  border-color: oklch(0.36 0.18 282 / 0.16);
  background: oklch(0.985 0.012 95 / 0.86);
  color: var(--primary);
  box-shadow: inset 0 -3px 0 oklch(0.75 0.19 38 / 0.5);
}

.gd-subpage .process-row .p-item::before {
  background: var(--cta);
  box-shadow: 0 0 0 5px oklch(0.75 0.19 38 / 0.14);
}

.gd-subpage .deliver-table-wrap,
.gd-subpage .paper-toolbar {
  border-color: oklch(0.36 0.18 282 / 0.14);
  background: oklch(0.985 0.012 95 / 0.82);
}

.gd-subpage .deliver-table thead th,
.gd-subpage .article-content th {
  background: linear-gradient(180deg, oklch(0.95 0.035 278 / 0.72), oklch(0.985 0.012 95 / 0.84));
  color: var(--primary-deep);
}

.gd-subpage .faq-item {
  overflow: hidden;
}

.gd-subpage .faq-q[aria-expanded="true"],
.gd-subpage .paper-nav a:hover,
.gd-subpage .paper-nav a.is-active {
  background: oklch(0.95 0.035 278 / 0.72);
  color: var(--primary);
}

.gd-subpage .faq-q .chev {
  color: var(--cta);
}

.gd-subpage .paper-reader {
  background:
    linear-gradient(90deg, oklch(0.36 0.18 282 / 0.05) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.36 0.18 282 / 0.045) 1px, transparent 1px);
  background-size: 48px 48px;
}

.gd-subpage .paper-count,
.gd-subpage .pagination .pager-num.current {
  border-color: oklch(0.36 0.18 282 / 0.18);
  background: oklch(0.95 0.035 278 / 0.76);
  color: var(--primary);
}

.gd-subpage .article-content blockquote {
  border-left-color: var(--cta);
  background: oklch(0.97 0.03 55 / 0.68);
}

.gd-subpage .local-scene {
  border-color: oklch(0.36 0.18 282 / 0.16);
  background:
    radial-gradient(circle at 78% 18%, oklch(0.75 0.19 38 / 0.2), transparent 34%),
    linear-gradient(135deg, oklch(0.985 0.012 95), oklch(0.92 0.06 278));
  box-shadow: 0 20px 46px -36px oklch(0.24 0.16 278 / 0.42);
}

.gd-subpage .local-scene .scene-label {
  border-color: oklch(0.36 0.18 282 / 0.16);
  background: oklch(0.985 0.012 95 / 0.82);
  color: var(--primary);
}

.gd-subpage .cta-band {
  border-block: 1px solid oklch(0.36 0.18 282 / 0.12);
  background:
    radial-gradient(circle at 78% 22%, oklch(0.75 0.19 38 / 0.16), transparent 26rem),
    linear-gradient(135deg, oklch(0.985 0.012 95), oklch(0.94 0.05 278) 58%, oklch(0.98 0.015 95));
  color: var(--ink);
}

.gd-subpage .cta-band h2 {
  color: var(--primary-deep);
}

.gd-subpage .cta-band .lead {
  color: oklch(0.36 0.045 275) !important;
}

.gd-subpage .cta-band .bg-grid {
  opacity: 0.34;
  background-image:
    linear-gradient(to right, oklch(0.36 0.18 282 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.36 0.18 282 / 0.06) 1px, transparent 1px);
}

@keyframes gdSubpageFieldDrift {
  0% { transform: translate3d(0, 0, 0) rotate(-8deg); }
  100% { transform: translate3d(-1rem, 0.8rem, 0) rotate(-3deg); }
}

@media (max-width: 640px) {
  .gd-subpage .page-header {
    min-height: auto;
    padding-block: 3.5rem;
  }

  .gd-subpage .page-header::after {
    top: 18%;
    right: -9rem;
    width: 19rem;
    height: 19rem;
    opacity: 0.5;
  }

  .gd-subpage .page-header h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 11vw, 3.3rem);
  }

  .gd-subpage .page-header .ph-sub {
    font-size: 0.96rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-subpage .page-header::after {
    animation: none;
  }
}

/* Shenzhen v1 final skin: circuit-board city signals, distinct from provincial sites. */
:root {
  --sz-ink: oklch(0.16 0.055 250);
  --sz-navy: oklch(0.24 0.095 252);
  --sz-blue: oklch(0.46 0.19 258);
  --sz-cyan: oklch(0.76 0.15 205);
  --sz-coral: oklch(0.72 0.18 32);
  --sz-amber: oklch(0.83 0.15 76);
  --sz-paper: oklch(0.985 0.012 238);
  --sz-panel: oklch(0.995 0.006 238 / 0.84);

  --paper: var(--sz-paper);
  --ink: var(--sz-ink);
  --primary: var(--sz-blue);
  --primary-deep: var(--sz-navy);
  --primary-soft: oklch(0.94 0.04 252);
  --accent-teal: var(--sz-cyan);
  --accent-teal-soft: oklch(0.94 0.045 205);
  --cta: var(--sz-coral);
  --cta-foreground: oklch(0.13 0.05 250);
  --cream-soft: oklch(0.98 0.015 236);
  --cream: oklch(0.95 0.032 248);
  --cream-deep: oklch(0.81 0.12 250);
}

body {
  background: var(--sz-paper);
}

.scroll-progress {
  background: linear-gradient(90deg, var(--sz-blue), var(--sz-coral), var(--sz-cyan));
}

.site-header {
  background: oklch(0.985 0.015 252 / 0.9) !important;
  border-bottom: 1px solid oklch(0.46 0.19 258 / 0.14) !important;
  box-shadow: 0 14px 32px -30px oklch(0.16 0.055 250 / 0.6);
  backdrop-filter: blur(18px);
}

.site-header::before {
  background: linear-gradient(90deg, var(--sz-blue), var(--sz-coral), var(--sz-cyan)) !important;
}

.site-header .brand-name,
.site-header .brand small {
  color: var(--sz-ink) !important;
}

.site-header .brand-sub {
  color: oklch(0.36 0.055 250 / 0.72) !important;
}

.site-header .site-nav a,
.site-header .hotline {
  color: oklch(0.2 0.06 250) !important;
}

.site-header .site-nav a:hover,
.site-header .site-nav a.active {
  color: var(--sz-blue) !important;
}

.site-header .site-nav a.active::after {
  background: linear-gradient(90deg, var(--sz-blue), var(--sz-coral)) !important;
}

.site-header .hotline {
  color: var(--sz-blue) !important;
}

.btn-header,
.btn-cta,
.btn-submit {
  background: linear-gradient(135deg, var(--sz-coral), oklch(0.82 0.16 62)) !important;
  color: oklch(0.13 0.05 250) !important;
  box-shadow: 0 18px 34px -26px oklch(0.72 0.18 32 / 0.78);
}

.btn-header:hover,
.btn-cta:hover,
.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 38px -26px oklch(0.46 0.19 258 / 0.45);
}

.gd-home {
  background: var(--sz-paper);
  color: var(--sz-ink);
}

.gd-home .gd-hero {
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 42%, oklch(0.76 0.15 205 / 0.2), transparent 26rem),
    radial-gradient(circle at 34% 78%, oklch(0.72 0.18 32 / 0.12), transparent 24rem),
    linear-gradient(105deg, oklch(0.995 0.006 238) 0 43%, oklch(0.94 0.045 252) 43% 100%);
}

.gd-home .gd-grid {
  opacity: 0.72;
  background-image:
    linear-gradient(to right, oklch(0.24 0.095 252 / 0.07) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.24 0.095 252 / 0.055) 1px, transparent 1px) !important;
}

.gd-home .gd-hero::before {
  inset: 10% -10% auto auto;
  border-color: oklch(0.46 0.19 258 / 0.24) !important;
  background:
    repeating-radial-gradient(circle, transparent 0 10%, oklch(0.46 0.19 258 / 0.13) 10.4% 10.8%, transparent 11.2% 19%),
    conic-gradient(from 210deg, transparent, oklch(0.76 0.15 205 / 0.2), transparent 34%, oklch(0.72 0.18 32 / 0.18), transparent 68%) !important;
  animation: szOrbitDrift 16s ease-in-out infinite alternate;
}

.gd-home .gd-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 55%, oklch(0.76 0.15 205 / 0.1) 55% 100%),
    repeating-linear-gradient(90deg, transparent 0 6.2rem, oklch(0.46 0.19 258 / 0.055) 6.2rem 6.27rem);
  mix-blend-mode: multiply;
}

.gd-home .gd-route {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--sz-cyan), var(--sz-coral), transparent) !important;
  animation: szSignalSweep 7s ease-in-out infinite;
}

.gd-home .gd-hero-inner {
  grid-template-columns: minmax(0, 0.95fr) minmax(23rem, 0.8fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.gd-home .gd-hero-copy {
  max-width: 45rem;
}

.gd-home .gd-kicker,
.gd-home .gd-proof span,
.gd-home .gd-live-feed span {
  border-color: oklch(0.46 0.19 258 / 0.16) !important;
  background: oklch(1 0 0 / 0.74) !important;
  box-shadow: 0 16px 38px -34px oklch(0.16 0.055 250 / 0.48);
}

.gd-home .gd-kicker,
.gd-home .gd-card-index,
.gd-home .gd-proof b {
  color: var(--sz-blue) !important;
}

.gd-home .gd-kicker i,
.gd-home .gd-live-feed span::before,
.gd-home .gd-scene-orbit::before,
.gd-home .gd-scene-node::before {
  background: var(--sz-coral) !important;
  box-shadow: 0 0 0 0.38rem oklch(0.72 0.18 32 / 0.18) !important;
}

.gd-home .gd-hero-copy h1 {
  max-width: 9.6ch;
  color: var(--sz-navy) !important;
  font-size: clamp(3.2rem, 6.2vw, 5.85rem);
  font-weight: 900;
  line-height: 1.03;
  letter-spacing: 0;
}

.gd-home .gd-hero-copy h1 span {
  display: block;
}

.gd-home .gd-hero-copy h1 span:first-child {
  color: var(--sz-blue) !important;
}

.gd-home .gd-hero-copy h1 span + span {
  margin-top: 0.08em;
  padding-left: 0;
  color: var(--sz-coral) !important;
  font-size: 0.9em;
  letter-spacing: 0;
}

.gd-home .gd-hero-copy p {
  max-width: 43rem;
  color: oklch(0.27 0.04 246) !important;
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.9;
}

.gd-home .gd-text-link {
  color: var(--sz-blue) !important;
}

.gd-home .gd-full-bleed-scene::before {
  background:
    linear-gradient(180deg, oklch(0.995 0.006 238 / 0.92), transparent 30%),
    linear-gradient(90deg, oklch(0.995 0.006 238 / 0.84), transparent 42%, oklch(0.76 0.15 205 / 0.15)) !important;
}

.gd-home .gd-full-bleed-scene::after {
  opacity: 0.62;
  background-image:
    linear-gradient(to right, oklch(0.46 0.19 258 / 0.065) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.46 0.19 258 / 0.055) 1px, transparent 1px) !important;
}

.gd-home .gd-scene-image {
  background:
    linear-gradient(90deg, oklch(0.995 0.006 238 / 0.96) 0, oklch(0.995 0.006 238 / 0.34) 30%, transparent 68%),
    linear-gradient(180deg, transparent 18%, oklch(0.46 0.19 258 / 0.17)),
    url("../img/hero-bg.webp") center 52% / cover no-repeat !important;
  filter: saturate(0.62) hue-rotate(138deg) contrast(0.98) brightness(1.12) !important;
}

.gd-home .gd-scene-haze {
  background:
    radial-gradient(circle at 72% 52%, oklch(0.76 0.15 205 / 0.25), transparent 28%),
    radial-gradient(circle at 56% 78%, oklch(0.72 0.18 32 / 0.18), transparent 22%) !important;
}

.gd-home .gd-scene-word {
  color: transparent;
  letter-spacing: 0;
  -webkit-text-stroke-color: oklch(0.46 0.19 258 / 0.18) !important;
}

.gd-home .gd-scene-word.word-b {
  -webkit-text-stroke-color: oklch(0.72 0.18 32 / 0.22) !important;
}

.gd-home .gd-scene-core {
  border-color: oklch(0.76 0.15 205 / 0.48) !important;
  background: oklch(1 0 0 / 0.36) !important;
  box-shadow:
    0 0 0 1.1rem oklch(0.76 0.15 205 / 0.06),
    0 0 5rem oklch(0.46 0.19 258 / 0.18) !important;
  animation: szCorePulse 5.5s ease-in-out infinite;
}

.gd-home .gd-scene-core strong {
  color: var(--sz-navy);
}

.gd-home .gd-scene-core span,
.gd-home .gd-scene-core small {
  color: var(--sz-blue);
}

.gd-home .gd-scene-node {
  border-left-color: var(--sz-coral) !important;
  color: var(--sz-ink);
}

.gd-home .gd-answer-stage {
  width: min(100%, 36rem);
  min-height: 37rem;
  background:
    radial-gradient(circle at 72% 20%, oklch(0.76 0.15 205 / 0.18), transparent 32%),
    radial-gradient(circle at 30% 76%, oklch(0.72 0.18 32 / 0.12), transparent 34%),
    transparent !important;
  animation: szPanelFloat 7s ease-in-out infinite;
}

.gd-home .gd-canvas-frame {
  width: min(100%, 30.5rem);
  min-height: 33rem;
  border-radius: 18px;
  border-color: oklch(0.46 0.19 258 / 0.18) !important;
  background:
    linear-gradient(135deg, oklch(1 0 0 / 0.93), oklch(0.955 0.04 215 / 0.9)),
    repeating-linear-gradient(0deg, transparent 0 2.05rem, oklch(0.24 0.095 252 / 0.055) 2.05rem 2.1rem) !important;
  box-shadow:
    0 30px 70px -46px oklch(0.16 0.055 250 / 0.82),
    inset 0 0 0 1px oklch(1 0 0 / 0.55);
}

.gd-home .gd-canvas-frame::before {
  background: linear-gradient(180deg, var(--sz-cyan), var(--sz-coral)) !important;
}

.gd-home .gd-canvas-topline,
.gd-home .gd-canvas-answer div span,
.gd-home .gd-canvas-caption b {
  letter-spacing: 0.08em;
}

.gd-home .gd-canvas-question strong {
  color: var(--sz-navy);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  letter-spacing: 0;
}

.gd-home .gd-canvas-question em,
.gd-home .gd-canvas-topline b,
.gd-home .gd-canvas-answer > strong,
.gd-home .gd-canvas-caption b {
  color: var(--sz-blue) !important;
}

.gd-home .gd-canvas-topline i,
.gd-home .gd-canvas-caption i,
.gd-home .gd-canvas-flow i::after {
  background: var(--sz-coral) !important;
}

.gd-home .gd-canvas-receipts span {
  border-color: oklch(0.76 0.15 205 / 0.62) !important;
}

.gd-home .gd-canvas-receipts span:nth-child(2),
.gd-home .gd-canvas-receipts span:nth-child(4) {
  border-color: oklch(0.72 0.18 32 / 0.72) !important;
}

.gd-home .gd-signal-strip {
  border-block-color: oklch(0.46 0.19 258 / 0.12);
  background: oklch(0.985 0.012 238 / 0.94);
}

.gd-home .gd-strip-track span {
  border-color: oklch(0.46 0.19 258 / 0.14);
  background: oklch(1 0 0 / 0.8);
  color: var(--sz-navy);
}

.gd-home .gd-buyer-scenes,
.gd-home .gd-city-section {
  background:
    linear-gradient(90deg, oklch(0.46 0.19 258 / 0.04) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.46 0.19 258 / 0.035) 1px, transparent 1px),
    oklch(0.995 0.006 238);
  background-size: 52px 52px, 52px 52px, auto;
}

.gd-home .gd-asset-engine,
.gd-home .gd-contact {
  background:
    radial-gradient(circle at 82% 18%, oklch(0.76 0.15 205 / 0.12), transparent 27rem),
    linear-gradient(135deg, oklch(0.98 0.018 238), oklch(0.945 0.038 252));
}

.gd-home .gd-boundary {
  background: var(--sz-navy);
}

.gd-home .gd-scene-card,
.gd-home .gd-scene-card.is-primary,
.gd-home .gd-engine-panel,
.gd-home .gd-city-matrix article,
.gd-home .gd-lead-form {
  border-color: oklch(0.46 0.19 258 / 0.16) !important;
  background: var(--sz-panel) !important;
  box-shadow: 0 22px 54px -44px oklch(0.16 0.055 250 / 0.5) !important;
}

.gd-home .gd-scene-card::before,
.gd-home .gd-engine-row::before {
  background: linear-gradient(90deg, var(--sz-blue), var(--sz-coral), var(--sz-cyan)) !important;
}

.gd-home .gd-scene-card h3,
.gd-home .gd-engine-row h3,
.gd-home .gd-city-matrix strong,
.gd-home .gd-contact-copy h2 {
  color: var(--sz-navy) !important;
}

.gd-home .gd-prompt,
.gd-home .gd-scene-card.is-primary .gd-prompt {
  border-color: oklch(0.46 0.19 258 / 0.14) !important;
  background: oklch(0.97 0.018 238 / 0.86) !important;
  color: var(--sz-blue) !important;
}

.gd-subpage {
  background:
    linear-gradient(90deg, oklch(0.46 0.19 258 / 0.045) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.46 0.19 258 / 0.035) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.995 0.006 238), oklch(0.95 0.038 252) 62%, oklch(0.995 0.006 238)) !important;
  background-size: 52px 52px, 52px 52px, auto !important;
}

.gd-subpage .page-header {
  border-bottom-color: oklch(0.46 0.19 258 / 0.13) !important;
  background:
    radial-gradient(circle at 84% 20%, oklch(0.76 0.15 205 / 0.18), transparent 24rem),
    radial-gradient(circle at 58% 86%, oklch(0.72 0.18 32 / 0.11), transparent 26rem),
    linear-gradient(135deg, oklch(0.995 0.006 238), oklch(0.95 0.038 252) 58%, oklch(0.985 0.012 238)) !important;
}

.gd-subpage .page-header::before {
  background-image:
    linear-gradient(to right, oklch(0.46 0.19 258 / 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.46 0.19 258 / 0.05) 1px, transparent 1px) !important;
}

.gd-subpage .page-header::after {
  border-color: oklch(0.46 0.19 258 / 0.2) !important;
  background:
    repeating-radial-gradient(circle at center, transparent 0 11%, oklch(0.46 0.19 258 / 0.1) 11.3% 11.6%, transparent 12% 20%),
    conic-gradient(from 220deg, transparent, oklch(0.76 0.15 205 / 0.17), transparent 36%, oklch(0.72 0.18 32 / 0.16), transparent 68%) !important;
}

.gd-subpage .page-header h1 {
  max-width: 18ch;
  color: var(--sz-navy) !important;
  letter-spacing: 0;
}

.gd-subpage .page-header h1 .hl,
.gd-subpage .step-n,
.gd-subpage .method-overview-item > span,
.gd-subpage .panel-kicker,
.gd-subpage .paper-kicker,
.gd-subpage .service-flow-intro span,
.gd-subpage .d-step {
  color: var(--sz-coral) !important;
}

.gd-subpage .page-header h1 .hl::after,
.gd-subpage .summit-card::before,
.gd-subpage .process-row::after,
.gd-subpage .service-card::before,
.gd-subpage .cert-card::before {
  background: linear-gradient(90deg, var(--sz-blue), var(--sz-coral), var(--sz-cyan)) !important;
}

.gd-subpage .method-overview-item,
.gd-subpage .summit-card,
.gd-subpage .service-flow-intro a,
.gd-subpage .process-row,
.gd-subpage .service-card,
.gd-subpage .cert-card,
.gd-subpage .cred,
.gd-subpage .local-feature,
.gd-subpage .list-row,
.gd-subpage .faq-item,
.gd-subpage .paper-nav,
.gd-subpage .paper-toolbar,
.gd-subpage .paper-main,
.gd-subpage .info-banner {
  border-color: oklch(0.46 0.19 258 / 0.14) !important;
  background: oklch(1 0 0 / 0.78) !important;
  box-shadow: 0 20px 46px -38px oklch(0.16 0.055 250 / 0.45) !important;
}

@keyframes szSignalSweep {
  0%, 100% { opacity: 0.25; transform: translateX(-1rem) rotate(var(--r, 0deg)); }
  50% { opacity: 0.9; transform: translateX(1rem) rotate(var(--r, 0deg)); }
}

@keyframes szOrbitDrift {
  0% { transform: translate3d(0, 0, 0) rotate(-8deg); }
  100% { transform: translate3d(-1.4rem, 1rem, 0) rotate(5deg); }
}

@keyframes szCorePulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.035); }
}

@keyframes szPanelFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -0.55rem, 0); }
}

@media (max-width: 1180px) {
  .gd-home .gd-hero-inner {
    grid-template-columns: 1fr;
    padding-top: clamp(4rem, 10vw, 6rem);
    text-align: left;
  }

  .gd-home .gd-hero-copy h1 {
    max-width: 10.5ch;
  }

  .gd-home .gd-answer-stage {
    justify-self: center;
  }
}

@media (max-width: 720px) {
  .site-header .bar {
    min-height: 64px;
  }

  .gd-home .gd-hero {
    min-height: auto;
  }

  .gd-home .gd-hero-inner {
    padding-top: 3.8rem;
    padding-bottom: 29rem;
  }

  .gd-home .gd-hero-copy h1 {
    max-width: 100%;
    font-size: clamp(2.6rem, 13vw, 4rem);
    line-height: 1.06;
  }

  .gd-home .gd-hero-copy p {
    font-size: 0.98rem;
    line-height: 1.82;
  }

  .gd-home .gd-actions {
    align-items: stretch;
  }

  .gd-home .btn-lg,
  .gd-home .btn-cta {
    justify-content: center;
    width: 100%;
  }

  .gd-home .gd-proof {
    grid-template-columns: 1fr;
  }

  .gd-home .gd-answer-stage {
    width: min(100%, 23rem);
    min-height: 28rem;
  }

  .gd-home .gd-answer-canvas {
    min-height: 28rem;
  }

  .gd-home .gd-canvas-frame {
    min-height: 26rem;
    transform: rotate(0deg);
  }

  .gd-home .gd-canvas-question strong {
    font-size: clamp(1.55rem, 7.5vw, 2.05rem);
  }

  .gd-home .gd-canvas-receipts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gd-subpage .page-header h1 {
    max-width: 100%;
    font-size: clamp(2.15rem, 10vw, 3.25rem);
    line-height: 1.12;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-home .gd-hero::before,
  .gd-home .gd-route,
  .gd-home .gd-scene-core,
  .gd-home .gd-answer-stage {
    animation: none !important;
  }
}

/* Shenzhen v1 polish: restore the right signal console and protect text readability. */
.gd-home .gd-hero-inner {
  display: grid !important;
  position: relative;
  z-index: 4;
}

.gd-home .gd-hero-copy {
  position: relative;
  z-index: 5;
}

.gd-home .gd-hero-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1.2rem -2.4rem -1.4rem -1.6rem;
  border-radius: 18px;
  background: linear-gradient(90deg, oklch(0.995 0.006 238 / 0.92), oklch(0.995 0.006 238 / 0.68) 68%, transparent);
  filter: blur(0.2px);
}

.gd-home .gd-answer-stage {
  display: block !important;
  position: relative;
  z-index: 5;
  justify-self: end;
}

.gd-home .gd-full-bleed-scene {
  z-index: 1;
}

.gd-home .gd-scene-core {
  right: 19%;
  top: 42%;
}

.gd-home .gd-scene-node.node-shenzhen {
  left: auto;
  right: 32%;
  top: 30%;
}

.gd-home .gd-scene-node.node-guangzhou {
  right: 8%;
  top: 26%;
}

.gd-home .gd-scene-node.node-foshan {
  left: auto;
  right: 30%;
  bottom: 15%;
}

.gd-home .gd-scene-node.node-dongguan {
  right: 8%;
  bottom: 18%;
}

@media (max-width: 1180px) {
  .gd-home .gd-hero-inner {
    display: block !important;
  }

  .gd-home .gd-answer-stage {
    display: none !important;
  }
}

/* Shenzhen homepage rebuild: full-width hardware signal lab, not a side-card hero. */
.site-header {
  background: oklch(0.155 0.06 252 / 0.9) !important;
  border-bottom: 1px solid oklch(0.78 0.15 205 / 0.22) !important;
  box-shadow: 0 14px 36px -28px oklch(0.08 0.04 250 / 0.8) !important;
  backdrop-filter: blur(18px);
}

.site-header::before {
  height: 2px !important;
  background: linear-gradient(90deg, oklch(0.72 0.2 258), oklch(0.72 0.18 32), oklch(0.78 0.15 205)) !important;
}

.site-header .brand .brand-name,
.site-header .brand-name,
.site-header .brand small,
.site-header .site-nav a,
.site-header .hotline {
  color: oklch(0.98 0.012 235) !important;
}

.site-header .brand-sub {
  color: oklch(0.85 0.035 230 / 0.62) !important;
}

.site-header .site-nav a:hover,
.site-header .site-nav a.active {
  color: oklch(0.78 0.15 205) !important;
}

.site-header .site-nav a.active::after {
  background: linear-gradient(90deg, oklch(0.78 0.15 205), oklch(0.72 0.18 32)) !important;
}

.site-header .hotline {
  color: oklch(0.78 0.15 205) !important;
}

.site-header .btn-header,
.sz-home .btn-cta,
.sz-home .btn-submit {
  background: linear-gradient(135deg, oklch(0.72 0.18 32), oklch(0.83 0.16 67)) !important;
  color: oklch(0.13 0.055 252) !important;
  box-shadow: 0 18px 34px -24px oklch(0.72 0.18 32 / 0.8) !important;
}

.site-header .nav-toggle {
  border-color: oklch(0.78 0.15 205 / 0.32) !important;
  background: oklch(0.2 0.07 252) !important;
  color: oklch(0.98 0.012 235) !important;
}

.sz-home {
  --sz-bg: oklch(0.985 0.012 238);
  --sz-ink: oklch(0.16 0.055 252);
  --sz-navy: oklch(0.18 0.075 252);
  --sz-blue: oklch(0.46 0.19 258);
  --sz-cyan: oklch(0.78 0.15 205);
  --sz-coral: oklch(0.72 0.18 32);
  --sz-amber: oklch(0.83 0.16 67);
  --sz-line: oklch(0.46 0.19 258 / 0.14);
  background: var(--sz-bg);
  color: var(--sz-ink);
  overflow: hidden;
}

.sz-home h1,
.sz-home h2,
.sz-home h3 {
  letter-spacing: 0;
}

.sz-hero {
  position: relative;
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(4.2rem, 7vw, 6.4rem) clamp(3.8rem, 6vw, 5.8rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 4%, oklch(0.78 0.15 205 / 0.22), transparent 26rem),
    radial-gradient(circle at 16% 24%, oklch(0.72 0.18 32 / 0.14), transparent 22rem),
    linear-gradient(180deg, oklch(0.13 0.06 252) 0 49%, oklch(0.965 0.024 238) 49% 100%);
}

.sz-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.62;
  background-image:
    linear-gradient(to right, oklch(0.78 0.15 205 / 0.09) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.78 0.15 205 / 0.065) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(180deg, #000 0 72%, transparent 100%);
  pointer-events: none;
}

.sz-hero-bg,
.sz-hero-bg > span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sz-orb {
  width: 34rem;
  height: 34rem;
  border: 1px solid oklch(0.78 0.15 205 / 0.24);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: szLabOrbit 18s ease-in-out infinite alternate;
}

.sz-orb.orb-a {
  left: 78%;
  top: 24%;
  box-shadow: 0 0 0 2rem oklch(0.78 0.15 205 / 0.035);
}

.sz-orb.orb-b {
  left: 22%;
  top: 74%;
  width: 24rem;
  height: 24rem;
  border-color: oklch(0.72 0.18 32 / 0.2);
  animation-delay: -6s;
}

.sz-beam {
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, transparent, oklch(0.78 0.15 205 / 0.86), oklch(0.72 0.18 32 / 0.72), transparent);
  animation: szBeamSweep 7s ease-in-out infinite;
}

.sz-beam.beam-a {
  top: 32%;
  left: 12%;
  width: 78%;
  transform: rotate(-10deg);
}

.sz-beam.beam-b {
  top: 68%;
  left: -4%;
  width: 90%;
  transform: rotate(7deg);
  animation-delay: -3.2s;
}

.sz-noise {
  opacity: 0.28;
  background:
    repeating-linear-gradient(90deg, transparent 0 1px, oklch(1 0 0 / 0.04) 1px 2px),
    repeating-linear-gradient(0deg, transparent 0 8px, oklch(1 0 0 / 0.025) 8px 9px);
}

.sz-hero-shell {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(1.6rem, 3vw, 2.4rem);
}

.sz-hero-copy {
  display: grid;
  justify-items: center;
  text-align: center;
  color: oklch(0.98 0.012 235);
}

.sz-kicker,
.sz-section-head > span,
.sz-contact-copy > span,
.sz-boundary span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  border: 1px solid oklch(0.78 0.15 205 / 0.28);
  border-radius: 999px;
  padding: 0.54rem 0.8rem;
  background: oklch(1 0 0 / 0.08);
  color: oklch(0.86 0.09 205);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.sz-kicker i {
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 50%;
  background: var(--sz-coral);
  box-shadow: 0 0 0 0.38rem oklch(0.72 0.18 32 / 0.18);
  animation: szPulse 2.2s ease-in-out infinite;
}

.sz-hero h1 {
  max-width: 14ch;
  margin-top: clamp(1.2rem, 2.4vw, 1.8rem);
  color: oklch(0.99 0.004 238);
  font-size: clamp(3.2rem, 8.2vw, 7.4rem);
  font-weight: 950;
  line-height: 0.96;
}

.sz-hero h1 span {
  display: block;
  margin-top: 0.08em;
  color: var(--sz-coral);
}

.sz-hero p {
  max-width: 64rem;
  margin-top: 1.3rem;
  color: oklch(0.84 0.022 235);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.9;
}

.sz-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.9rem 1.25rem;
  margin-top: 2rem;
}

.sz-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  color: oklch(0.82 0.12 205);
  font-weight: 900;
}

.sz-text-link.dark {
  color: var(--sz-blue);
}

.sz-text-link.light {
  color: var(--sz-cyan);
}

.sz-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  max-width: 50rem;
  margin: 0 auto;
}

.sz-proof-grid span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.1rem;
  border: 1px solid oklch(0.78 0.15 205 / 0.22);
  border-radius: 8px;
  background: oklch(1 0 0 / 0.08);
  color: oklch(0.96 0.014 235);
}

.sz-proof-grid b {
  color: var(--sz-coral);
  font-size: 1.05rem;
}

.sz-proof-grid em {
  font-style: normal;
  font-size: 0.9rem;
  font-weight: 850;
}

.sz-lab {
  position: relative;
  border: 1px solid oklch(0.78 0.15 205 / 0.22);
  border-radius: 8px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 46%, oklch(0.78 0.15 205 / 0.16), transparent 19rem),
    linear-gradient(135deg, oklch(0.105 0.055 252 / 0.96), oklch(0.18 0.075 252 / 0.94));
  box-shadow:
    0 28px 90px -56px oklch(0.02 0.02 250 / 0.9),
    inset 0 0 0 1px oklch(1 0 0 / 0.06);
}

.sz-lab-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid oklch(0.78 0.15 205 / 0.16);
  padding: 0.9rem 1rem;
  color: oklch(0.92 0.04 205);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.sz-chip-field {
  position: relative;
  min-height: clamp(25rem, 46vw, 32rem);
  background-image:
    linear-gradient(to right, oklch(0.78 0.15 205 / 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.78 0.15 205 / 0.07) 1px, transparent 1px);
  background-size: 44px 44px;
}

.sz-chip-field::before,
.sz-chip-field::after {
  content: "";
  position: absolute;
  inset: 11% 6%;
  border: 1px solid oklch(0.78 0.15 205 / 0.16);
  border-radius: 50%;
  transform: rotate(-8deg);
}

.sz-chip-field::after {
  inset: 22% 22%;
  border-color: oklch(0.72 0.18 32 / 0.2);
  transform: rotate(16deg);
}

.sz-trace {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--sz-cyan), var(--sz-coral), transparent);
  transform-origin: left center;
  animation: szTrace 4.8s ease-in-out infinite;
}

.sz-trace.trace-a {
  left: 8%;
  top: 30%;
  width: 84%;
  transform: rotate(5deg);
}

.sz-trace.trace-b {
  left: 10%;
  bottom: 24%;
  width: 76%;
  transform: rotate(-7deg);
  animation-delay: -1.7s;
}

.sz-trace.trace-c {
  left: 31%;
  top: 14%;
  width: 46%;
  transform: rotate(90deg);
  animation-delay: -3.1s;
}

.sz-scanline {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, oklch(0.78 0.15 205 / 0.12), transparent);
  transform: translateX(-105%);
  animation: szScan 4.6s ease-in-out infinite;
}

.sz-main-chip {
  position: absolute;
  left: 50%;
  top: 46%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: clamp(9rem, 18vw, 13rem);
  aspect-ratio: 1;
  border: 1px solid oklch(0.78 0.15 205 / 0.36);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 42%, oklch(0.78 0.15 205 / 0.2), transparent 62%),
    oklch(0.12 0.055 252 / 0.94);
  color: oklch(0.98 0.012 235);
  box-shadow:
    0 0 0 0.8rem oklch(0.78 0.15 205 / 0.05),
    0 0 4rem oklch(0.78 0.15 205 / 0.22);
  transform: translate(-50%, -50%);
  animation: szChipFloat 5.4s ease-in-out infinite;
}

.sz-main-chip small,
.sz-main-chip em {
  color: oklch(0.78 0.15 205);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.sz-main-chip strong {
  color: oklch(0.98 0.012 235);
  font-size: clamp(1.5rem, 3.4vw, 2.35rem);
  line-height: 1.05;
}

.sz-node {
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 0.12rem;
  min-width: 7.6rem;
  border: 1px solid oklch(0.78 0.15 205 / 0.24);
  border-left: 3px solid var(--sz-coral);
  border-radius: 8px;
  padding: 0.68rem 0.76rem;
  background: oklch(0.985 0.014 238 / 0.92);
  color: var(--sz-ink);
  box-shadow: 0 16px 38px -30px oklch(0.02 0.02 250 / 0.7);
  animation: szNodeFloat 5.8s ease-in-out infinite;
}

.sz-node b {
  color: var(--sz-navy);
  font-size: 1rem;
}

.sz-node small {
  color: oklch(0.34 0.045 250);
  font-size: 0.75rem;
  font-weight: 800;
}

.sz-node.node-a { left: 8%; top: 18%; animation-delay: -0.7s; }
.sz-node.node-b { right: 10%; top: 17%; animation-delay: -1.4s; }
.sz-node.node-c { left: 12%; bottom: 22%; animation-delay: -2.1s; }
.sz-node.node-d { right: 12%; bottom: 19%; animation-delay: -2.8s; }
.sz-node.node-e { left: 31%; bottom: 10%; animation-delay: -3.5s; }
.sz-node.node-f { right: 31%; top: 10%; animation-delay: -4.2s; }

.sz-question-console {
  position: absolute;
  left: 1.1rem;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 3;
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  border: 1px solid oklch(0.78 0.15 205 / 0.2);
  border-radius: 8px;
  padding: 0.9rem 1rem;
  background: oklch(0.985 0.014 238 / 0.94);
  color: var(--sz-ink);
}

.sz-question-console span {
  color: var(--sz-blue);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.sz-question-console strong {
  overflow: hidden;
  color: var(--sz-navy);
  font-size: 1rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.sz-question-console p {
  color: oklch(0.42 0.035 248);
  font-size: 0.85rem;
  font-weight: 800;
}

.sz-lab-metrics {
  position: absolute;
  right: 1.1rem;
  top: 4.6rem;
  z-index: 3;
  display: grid;
  gap: 0.7rem;
  width: min(12rem, 22vw);
}

.sz-lab-metrics span {
  display: grid;
  border: 1px solid oklch(0.78 0.15 205 / 0.22);
  border-radius: 8px;
  padding: 0.75rem;
  background: oklch(0.985 0.014 238 / 0.9);
}

.sz-lab-metrics b {
  color: var(--sz-blue);
  font-size: 1.45rem;
  line-height: 1;
}

.sz-lab-metrics small {
  color: oklch(0.36 0.045 250);
  font-size: 0.72rem;
  font-weight: 850;
}

.sz-marquee {
  border-block: 1px solid var(--sz-line);
  background: oklch(0.995 0.006 238);
  overflow: hidden;
}

.sz-marquee-track {
  display: flex;
  width: max-content;
  gap: 0.7rem;
  padding-block: 0.85rem;
  animation: szMarquee 28s linear infinite;
}

.sz-marquee-track span {
  border: 1px solid var(--sz-line);
  border-radius: 999px;
  padding: 0.48rem 0.9rem;
  background: oklch(1 0 0 / 0.78);
  color: var(--sz-navy);
  font-size: 0.88rem;
  font-weight: 850;
}

.sz-scenes,
.sz-zone {
  padding-block: var(--section-gap);
  background:
    linear-gradient(90deg, oklch(0.46 0.19 258 / 0.045) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.46 0.19 258 / 0.035) 1px, transparent 1px),
    oklch(0.995 0.006 238);
  background-size: 52px 52px, 52px 52px, auto;
}

.sz-assembly,
.sz-contact {
  padding-block: var(--section-gap);
  background:
    radial-gradient(circle at 80% 16%, oklch(0.78 0.15 205 / 0.14), transparent 26rem),
    linear-gradient(135deg, oklch(0.98 0.018 238), oklch(0.945 0.038 252));
}

.sz-section-head {
  display: grid;
  gap: 0.9rem;
  max-width: 46rem;
}

.sz-section-head.narrow {
  max-width: 38rem;
  margin-inline: auto;
  text-align: center;
  justify-items: center;
}

.sz-section-head h2,
.sz-contact-copy h2,
.sz-boundary h2 {
  color: var(--sz-navy);
  font-size: clamp(2.1rem, 4.2vw, 4rem);
  line-height: 1.05;
}

.sz-section-head p,
.sz-contact-copy p {
  color: oklch(0.36 0.04 250);
  font-size: 1.02rem;
  line-height: 1.82;
}

.sz-scene-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 2.2rem;
}

.sz-scene-grid article,
.sz-zone-grid article,
.sz-assembly-line div,
.sz-lead-form {
  border: 1px solid var(--sz-line);
  border-radius: 8px;
  background: oklch(1 0 0 / 0.78);
  box-shadow: 0 22px 54px -44px oklch(0.16 0.055 250 / 0.5);
}

.sz-scene-grid article {
  display: grid;
  min-height: 20rem;
  padding: 1.25rem;
}

.sz-scene-grid article:nth-child(2),
.sz-scene-grid article:nth-child(4) {
  margin-top: 2.6rem;
}

.sz-scene-grid span,
.sz-assembly-line span {
  color: var(--sz-coral);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.sz-scene-grid h3,
.sz-assembly-line h3 {
  align-self: end;
  color: var(--sz-navy);
  font-size: 1.35rem;
}

.sz-scene-grid p,
.sz-assembly-line p,
.sz-zone-grid p {
  color: oklch(0.38 0.035 250);
  line-height: 1.75;
}

.sz-scene-grid b {
  align-self: end;
  border: 1px solid var(--sz-line);
  border-radius: 8px;
  padding: 0.75rem;
  background: oklch(0.97 0.018 238 / 0.82);
  color: var(--sz-blue);
  font-size: 0.88rem;
}

.sz-assembly-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.sz-assembly-line {
  position: relative;
  display: grid;
  gap: 0.85rem;
}

.sz-assembly-line::before {
  content: "";
  position: absolute;
  left: 1.2rem;
  top: 1.3rem;
  bottom: 1.3rem;
  width: 2px;
  background: linear-gradient(180deg, var(--sz-blue), var(--sz-coral), var(--sz-cyan));
}

.sz-assembly-line div {
  position: relative;
  display: grid;
  grid-template-columns: 4rem minmax(0, 0.45fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 1.1rem 1.2rem;
}

.sz-zone-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 2.2rem;
}

.sz-zone-grid article {
  min-height: 16rem;
  border-radius: 0;
  box-shadow: none;
  padding: 1.2rem;
}

.sz-zone-grid article:first-child {
  border-radius: 8px 0 0 8px;
}

.sz-zone-grid article:last-child {
  border-radius: 0 8px 8px 0;
}

.sz-zone-grid b {
  display: block;
  color: var(--sz-blue);
  font-size: 1.2rem;
}

.sz-zone-grid strong {
  display: block;
  margin-top: 0.65rem;
  color: var(--sz-navy);
  line-height: 1.35;
}

.sz-zone-grid p {
  margin-top: 0.7rem;
}

.sz-boundary {
  padding-block: clamp(3.5rem, 6vw, 5rem);
  background:
    linear-gradient(90deg, oklch(0.78 0.15 205 / 0.07) 1px, transparent 1px),
    linear-gradient(180deg, oklch(0.78 0.15 205 / 0.06) 1px, transparent 1px),
    var(--sz-navy);
  background-size: 52px 52px, 52px 52px, auto;
}

.sz-boundary-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.sz-boundary span {
  background: oklch(1 0 0 / 0.08);
}

.sz-boundary h2 {
  margin-top: 1rem;
  color: oklch(0.98 0.012 235);
}

.sz-boundary p {
  color: oklch(0.82 0.03 235);
  line-height: 1.9;
}

.sz-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(22rem, 0.78fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.sz-contact-copy {
  display: grid;
  gap: 1rem;
}

.sz-contact-copy > span {
  color: var(--sz-blue);
  background: oklch(1 0 0 / 0.78);
}

.sz-contact-copy > a {
  color: var(--sz-blue);
  font-size: 1.75rem;
  font-weight: 950;
}

.sz-lead-form {
  display: grid;
  gap: 1rem;
  padding: clamp(1.2rem, 3vw, 1.6rem);
}

.sz-lead-form label {
  color: var(--sz-navy);
}

.sz-lead-form input {
  border-color: var(--sz-line);
  border-radius: 8px;
}

.sz-lead-form .form-privacy {
  color: oklch(0.42 0.035 250);
}

@keyframes szLabOrbit {
  0% { transform: translate(-50%, -50%) rotate(-8deg) scale(0.98); }
  100% { transform: translate(-50%, -50%) rotate(7deg) scale(1.03); }
}

@keyframes szBeamSweep {
  0%, 100% { opacity: 0.18; filter: blur(0); }
  50% { opacity: 0.82; filter: blur(0.4px); }
}

@keyframes szPulse {
  0%, 100% { opacity: 0.66; transform: scale(0.92); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes szTrace {
  0%, 100% { opacity: 0.2; clip-path: inset(0 88% 0 0); }
  50% { opacity: 1; clip-path: inset(0 0 0 0); }
}

@keyframes szScan {
  0%, 42% { transform: translateX(-105%); opacity: 0; }
  55% { opacity: 0.85; }
  100% { transform: translateX(105%); opacity: 0; }
}

@keyframes szChipFloat {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-0.45rem); }
}

@keyframes szNodeFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.38rem); }
}

@keyframes szMarquee {
  to { transform: translateX(-50%); }
}

@media (max-width: 1120px) {
  .sz-scene-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sz-scene-grid article:nth-child(2),
  .sz-scene-grid article:nth-child(4) {
    margin-top: 0;
  }

  .sz-assembly-grid,
  .sz-contact-grid,
  .sz-boundary-grid {
    grid-template-columns: 1fr;
  }

  .sz-zone-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sz-zone-grid article,
  .sz-zone-grid article:first-child,
  .sz-zone-grid article:last-child {
    border-radius: 8px;
    box-shadow: 0 18px 42px -36px oklch(0.16 0.055 250 / 0.45);
  }
}

@media (max-width: 720px) {
  .sz-hero {
    padding-block: 3.4rem 3.2rem;
    background:
      radial-gradient(circle at 50% 8%, oklch(0.78 0.15 205 / 0.2), transparent 18rem),
      linear-gradient(180deg, oklch(0.13 0.06 252) 0 58%, oklch(0.965 0.024 238) 58% 100%);
  }

  .sz-hero-copy {
    justify-items: start;
    text-align: left;
  }

  .sz-hero h1 {
    max-width: 100%;
    font-size: clamp(2.75rem, 14vw, 4.1rem);
    line-height: 1.03;
  }

  .sz-hero p {
    font-size: 0.98rem;
  }

  .sz-actions,
  .sz-proof-grid {
    width: 100%;
  }

  .sz-actions {
    align-items: stretch;
    justify-content: flex-start;
  }

  .sz-actions .btn {
    justify-content: center;
    width: 100%;
  }

  .sz-proof-grid,
  .sz-scene-grid,
  .sz-zone-grid {
    grid-template-columns: 1fr;
  }

  .sz-lab-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .sz-chip-field {
    min-height: 37rem;
  }

  .sz-main-chip {
    top: 38%;
    width: 9rem;
  }

  .sz-node {
    min-width: 6.5rem;
    padding: 0.55rem 0.62rem;
  }

  .sz-node.node-a { left: 5%; top: 11%; }
  .sz-node.node-b { right: 5%; top: 14%; }
  .sz-node.node-c { left: 5%; bottom: 32%; }
  .sz-node.node-d { right: 5%; bottom: 31%; }
  .sz-node.node-e { left: 18%; bottom: 18%; }
  .sz-node.node-f { right: 18%; top: 28%; }

  .sz-lab-metrics {
    left: 1rem;
    right: 1rem;
    top: auto;
    bottom: 7.2rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: auto;
  }

  .sz-lab-metrics span {
    padding: 0.55rem;
  }

  .sz-lab-metrics b {
    font-size: 1.1rem;
  }

  .sz-question-console {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .sz-question-console strong {
    white-space: normal;
  }

  .sz-scene-grid article {
    min-height: 17rem;
  }

  .sz-assembly-line::before {
    display: none;
  }

  .sz-assembly-line div {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
}

@media (max-width: 430px) {
  .sz-hero h1 {
    font-size: clamp(2.45rem, 13vw, 3.55rem);
  }

  .sz-kicker,
  .sz-section-head > span,
  .sz-contact-copy > span,
  .sz-boundary span {
    font-size: 0.68rem;
  }

  .sz-chip-field {
    min-height: 39rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sz-orb,
  .sz-beam,
  .sz-kicker i,
  .sz-trace,
  .sz-scanline,
  .sz-main-chip,
  .sz-node,
  .sz-marquee-track {
    animation: none !important;
  }
}

/* Shenzhen hero single-screen pass: merge the lab into the first viewport. */
.sz-home .sz-hero {
  display: flex;
  align-items: stretch;
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(3rem, 5vw, 4.4rem) clamp(1rem, 2vw, 1.6rem);
  background:
    radial-gradient(circle at 50% 5%, oklch(0.78 0.15 205 / 0.22), transparent 27rem),
    radial-gradient(circle at 18% 58%, oklch(0.72 0.18 32 / 0.16), transparent 24rem),
    radial-gradient(circle at 88% 44%, oklch(0.46 0.19 258 / 0.28), transparent 31rem),
    linear-gradient(180deg, oklch(0.12 0.058 252), oklch(0.09 0.05 252));
}

.sz-home .sz-hero-shell {
  min-height: calc(100svh - var(--header-h) - clamp(4.2rem, 7vw, 6rem));
  align-content: center;
  justify-items: center;
  gap: 0;
}

.sz-home .sz-hero-copy {
  position: relative;
  z-index: 5;
  max-width: 68rem;
  padding-top: clamp(0.2rem, 2vw, 1.6rem);
}

.sz-home .sz-hero h1 {
  max-width: 13.5ch;
  font-size: clamp(3.3rem, 7.4vw, 6.85rem);
  text-shadow: 0 18px 48px oklch(0.02 0.02 250 / 0.46);
}

.sz-home .sz-hero p {
  max-width: 63rem;
}

.sz-home .sz-actions {
  margin-top: clamp(1.35rem, 2.4vw, 1.9rem);
}

.sz-home .sz-proof-grid {
  position: relative;
  z-index: 5;
  max-width: 39rem;
  margin-top: clamp(1.2rem, 2.1vw, 1.55rem);
}

.sz-home .sz-proof-grid span {
  min-height: 2.85rem;
  background: oklch(1 0 0 / 0.075);
  backdrop-filter: blur(14px);
}

.sz-home .sz-lab {
  position: absolute;
  z-index: 1;
  inset: clamp(1rem, 2vw, 1.6rem) 1.25rem clamp(0.8rem, 2vw, 1.4rem);
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.sz-home .sz-lab-top {
  position: absolute;
  top: 0.4rem;
  left: clamp(0.4rem, 2vw, 1rem);
  right: clamp(0.4rem, 2vw, 1rem);
  z-index: 4;
  border: 0;
  padding: 0;
  color: oklch(0.82 0.09 205 / 0.58);
}

.sz-home .sz-chip-field {
  position: absolute;
  inset: 0;
  min-height: 0;
  height: 100%;
  border: 1px solid oklch(0.78 0.15 205 / 0.08);
  border-radius: 12px;
  background-size: 62px 62px;
  mask-image: radial-gradient(circle at 50% 52%, #000 0 55%, transparent 82%);
}

.sz-home .sz-chip-field::before {
  inset: 7% 10%;
  opacity: 0.9;
}

.sz-home .sz-chip-field::after {
  inset: 20% 24%;
  opacity: 0.82;
}

.sz-home .sz-main-chip {
  left: 50%;
  top: 55%;
  width: clamp(8rem, 12vw, 11rem);
  z-index: 1;
  opacity: 0.1;
  filter: blur(0.2px);
}

.sz-home .sz-main-chip small,
.sz-home .sz-main-chip strong,
.sz-home .sz-main-chip em {
  display: none;
}

.sz-home .sz-node {
  min-width: 0;
  width: 0.74rem;
  height: 0.74rem;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: var(--sz-coral);
  box-shadow:
    0 0 0 0.55rem oklch(0.72 0.18 32 / 0.12),
    0 0 2.4rem oklch(0.78 0.15 205 / 0.28);
  opacity: 0.88;
  transform: scale(1);
}

.sz-home .sz-node b,
.sz-home .sz-node small {
  display: none;
}

.sz-home .sz-node.node-a { left: 9%; top: 31%; }
.sz-home .sz-node.node-b { right: 13%; top: 28%; }
.sz-home .sz-node.node-c { left: 17%; bottom: 19%; }
.sz-home .sz-node.node-d { right: 15%; bottom: 22%; }
.sz-home .sz-node.node-e { left: 36%; bottom: 12%; }
.sz-home .sz-node.node-f { right: 35%; top: 16%; }

.sz-home .sz-question-console {
  display: none;
}

.sz-home .sz-lab-metrics {
  display: none;
}

.sz-home .sz-lab-metrics span {
  padding: 0.6rem 0.7rem;
}

.sz-home .sz-lab-metrics b {
  font-size: 1.15rem;
}

.sz-home .sz-marquee {
  margin-top: 0;
}

@media (max-width: 1120px) {
  .sz-home .sz-lab-metrics {
    display: none;
  }

  .sz-home .sz-question-console {
    display: none;
  }
}

@media (max-width: 720px) {
  .sz-home .sz-hero {
    min-height: calc(100svh - var(--header-h));
    padding-block: 2.8rem 1rem;
    background:
      radial-gradient(circle at 50% 8%, oklch(0.78 0.15 205 / 0.2), transparent 18rem),
      radial-gradient(circle at 12% 58%, oklch(0.72 0.18 32 / 0.14), transparent 15rem),
      linear-gradient(180deg, oklch(0.12 0.058 252), oklch(0.085 0.048 252));
  }

  .sz-home .sz-hero-shell {
    min-height: calc(100svh - var(--header-h) - 4rem);
    align-content: center;
  }

  .sz-home .sz-hero-copy {
    justify-items: start;
    padding-top: 0;
    text-align: left;
  }

  .sz-home .sz-hero h1 {
    font-size: clamp(2.45rem, 12.4vw, 3.65rem);
    line-height: 1.02;
  }

  .sz-home .sz-hero p {
    margin-top: 1rem;
    font-size: 0.95rem;
    line-height: 1.75;
  }

  .sz-home .sz-actions {
    margin-top: 1.25rem;
  }

  .sz-home .sz-proof-grid {
    grid-template-columns: 1fr;
    gap: 0.55rem;
    margin-top: 1rem;
  }

  .sz-home .sz-proof-grid span {
    justify-content: flex-start;
    min-height: 2.75rem;
    padding-inline: 0.9rem;
  }

  .sz-home .sz-lab {
    inset: 0.5rem 0.35rem;
  }

  .sz-home .sz-lab-top {
    display: none;
  }

  .sz-home .sz-chip-field {
    mask-image: radial-gradient(circle at 62% 46%, #000 0 52%, transparent 82%);
  }

  .sz-home .sz-main-chip {
    left: 72%;
    top: 50%;
    width: 7.2rem;
    opacity: 0.2;
  }

  .sz-home .sz-node {
    display: none;
  }

  .sz-home .sz-node.node-a,
  .sz-home .sz-node.node-d {
    display: grid;
    opacity: 0.38;
    transform: scale(0.82);
  }

  .sz-home .sz-node.node-a {
    left: 4%;
    top: 18%;
  }

  .sz-home .sz-node.node-d {
    right: -2%;
    bottom: 18%;
  }
}

@media (max-height: 780px) and (min-width: 721px) {
  .sz-home .sz-hero {
    padding-block: 2.5rem 0.9rem;
  }

  .sz-home .sz-hero-shell {
    min-height: calc(100svh - var(--header-h) - 3.4rem);
  }

  .sz-home .sz-hero h1 {
    font-size: clamp(3rem, 6.2vw, 5.5rem);
  }

  .sz-home .sz-hero p {
    margin-top: 0.9rem;
    line-height: 1.7;
  }

  .sz-home .sz-proof-grid {
    margin-top: 0.9rem;
  }
}

/* Shenzhen homepage highlight pass: one-screen animated signal lab. */
.sz-home .sz-hero {
  isolation: isolate;
}

.sz-home .sz-hero-bg {
  z-index: 0;
  overflow: hidden;
}

.sz-home .sz-signal-canvas {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  opacity: 0.78;
  pointer-events: none;
  mix-blend-mode: screen;
}

.sz-home .sz-noise {
  z-index: 4;
}

.sz-home .sz-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -18% -12%;
  background:
    linear-gradient(105deg, transparent 0 38%, oklch(0.78 0.16 205 / 0.12) 43%, oklch(0.74 0.2 32 / 0.16) 48%, transparent 56% 100%),
    radial-gradient(circle at 50% 47%, oklch(0.78 0.17 205 / 0.18), transparent 32rem);
  transform: translateX(-9%) rotate(-4deg);
  animation: szHeroGate 8s ease-in-out infinite;
  pointer-events: none;
  mix-blend-mode: screen;
}

.sz-home .sz-hero-shell {
  z-index: 3;
}

.sz-home .sz-hero-copy {
  text-wrap: balance;
}

.sz-home .sz-hero h1 {
  margin-top: clamp(0.8rem, 1.8vw, 1.25rem);
  font-size: clamp(3.2rem, 7.1vw, 6.45rem);
}

.sz-home .sz-hero h1 span {
  color: transparent;
  background: linear-gradient(100deg, oklch(0.82 0.15 205), oklch(0.98 0.09 88) 42%, oklch(0.74 0.2 32) 72%, oklch(0.92 0.02 250));
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
  filter: drop-shadow(0 0 1.1rem oklch(0.74 0.18 205 / 0.2));
}

.sz-live-intent {
  position: relative;
  display: grid;
  gap: 0.24rem;
  width: min(100%, 47rem);
  margin-top: clamp(1rem, 2vw, 1.25rem);
  border: 1px solid oklch(0.78 0.15 205 / 0.32);
  border-radius: 8px;
  padding: 0.78rem 1rem 0.82rem;
  overflow: hidden;
  color: oklch(0.96 0.02 235);
  background:
    linear-gradient(90deg, oklch(0.08 0.045 252 / 0.64), oklch(0.12 0.075 230 / 0.38), oklch(0.1 0.045 252 / 0.58)),
    linear-gradient(180deg, oklch(1 0 0 / 0.11), oklch(1 0 0 / 0.03));
  box-shadow:
    0 1.4rem 4.2rem -2.4rem oklch(0.78 0.17 205 / 0.58),
    inset 0 0 0 1px oklch(1 0 0 / 0.05);
  backdrop-filter: blur(18px);
}

.sz-live-intent::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 0 18%, oklch(0.78 0.16 205 / 0.34) 45%, transparent 68% 100%);
  transform: translateX(-110%);
  animation: szIntentSweep 4.8s ease-in-out infinite;
  pointer-events: none;
}

.sz-live-intent::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, oklch(0.78 0.17 205), oklch(0.74 0.2 32), oklch(0.88 0.14 88));
  animation: szIntentGlow 2.6s ease-in-out infinite;
}

.sz-live-intent span,
.sz-live-intent strong,
.sz-live-intent em {
  position: relative;
  z-index: 1;
}

.sz-live-intent span {
  color: oklch(0.82 0.15 205);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sz-live-intent strong {
  overflow: hidden;
  color: oklch(0.98 0.01 240);
  font-size: clamp(0.98rem, 1.35vw, 1.2rem);
  font-weight: 900;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sz-live-intent em {
  color: oklch(0.86 0.045 235);
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 750;
}

.sz-home .sz-answer-ring {
  position: absolute;
  left: 50%;
  top: 54%;
  z-index: 0;
  width: min(64vw, 52rem);
  aspect-ratio: 1;
  border: 1px solid oklch(0.78 0.16 205 / 0.2);
  border-radius: 50%;
  opacity: 0.76;
  transform: translate(-50%, -50%);
  animation: szRingTurn 18s linear infinite;
  pointer-events: none;
}

.sz-home .sz-answer-ring::before,
.sz-home .sz-answer-ring::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.sz-home .sz-answer-ring::before {
  inset: 10%;
  border: 1px dashed oklch(0.74 0.2 32 / 0.28);
  animation: szRingSpin 11s linear infinite reverse;
}

.sz-home .sz-answer-ring::after {
  inset: 22%;
  background:
    conic-gradient(from 0deg, transparent 0 14%, oklch(0.78 0.17 205 / 0.34) 15% 18%, transparent 20% 50%, oklch(0.74 0.2 32 / 0.26) 54% 58%, transparent 60% 100%);
  mask-image: radial-gradient(circle, transparent 0 56%, #000 57% 66%, transparent 67%);
  animation: szRingSpin 7.8s linear infinite;
}

.sz-home .sz-answer-ring i {
  position: absolute;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 999px;
  background: oklch(0.78 0.17 205);
  box-shadow: 0 0 1.7rem oklch(0.78 0.17 205 / 0.74);
  animation: szPulse 2.2s ease-in-out infinite;
}

.sz-home .sz-answer-ring i:nth-child(1) {
  left: 15%;
  top: 33%;
}

.sz-home .sz-answer-ring i:nth-child(2) {
  right: 19%;
  top: 22%;
  background: oklch(0.74 0.2 32);
  box-shadow: 0 0 1.8rem oklch(0.74 0.2 32 / 0.76);
  animation-delay: -0.8s;
}

.sz-home .sz-answer-ring i:nth-child(3) {
  left: 58%;
  bottom: 8%;
  background: oklch(0.88 0.14 88);
  box-shadow: 0 0 1.8rem oklch(0.88 0.14 88 / 0.58);
  animation-delay: -1.5s;
}

.sz-data-rain {
  position: absolute;
  z-index: 0;
  top: 8%;
  width: 1px;
  height: 62%;
  background: repeating-linear-gradient(
    180deg,
    transparent 0 0.72rem,
    oklch(0.78 0.17 205 / 0.42) 0.72rem 1rem,
    transparent 1rem 1.45rem
  );
  opacity: 0.5;
  animation: szDataFall 5.4s linear infinite;
}

.sz-data-rain.rain-a {
  left: 28%;
}

.sz-data-rain.rain-b {
  left: 64%;
  height: 72%;
  animation-duration: 6.8s;
  animation-delay: -2.1s;
}

.sz-data-rain.rain-c {
  right: 22%;
  height: 54%;
  animation-duration: 4.6s;
  animation-delay: -1.2s;
}

.sz-home .sz-scanline {
  opacity: 0.95;
  box-shadow: 0 0 2.8rem oklch(0.78 0.17 205 / 0.46);
}

.sz-home .sz-proof-grid span {
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.sz-home .sz-proof-grid span:hover {
  border-color: oklch(0.78 0.17 205 / 0.42);
  background: oklch(1 0 0 / 0.12);
  transform: translateY(-2px);
}

@keyframes szHeroGate {
  0%, 100% {
    opacity: 0.56;
    transform: translateX(-10%) rotate(-4deg);
  }
  48% {
    opacity: 0.96;
    transform: translateX(8%) rotate(-4deg);
  }
}

@keyframes szIntentSweep {
  0%, 42% {
    transform: translateX(-110%);
    opacity: 0;
  }
  52% {
    opacity: 1;
  }
  100% {
    transform: translateX(110%);
    opacity: 0;
  }
}

@keyframes szIntentGlow {
  0%, 100% {
    opacity: 0.58;
    transform: scaleX(0.38);
    transform-origin: left center;
  }
  50% {
    opacity: 1;
    transform: scaleX(1);
  }
}

@keyframes szRingTurn {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes szRingSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes szDataFall {
  from {
    background-position-y: 0;
    transform: translateY(-5%);
  }
  to {
    background-position-y: 6rem;
    transform: translateY(10%);
  }
}

@media (max-width: 720px) {
  .sz-home .sz-signal-canvas {
    opacity: 0.58;
  }

  .sz-home .sz-hero h1 {
    font-size: clamp(2.35rem, 11.6vw, 3.45rem);
  }

  .sz-live-intent {
    width: 100%;
    margin-top: 0.9rem;
    padding: 0.68rem 0.78rem 0.72rem;
  }

  .sz-live-intent strong {
    font-size: 0.9rem;
    white-space: normal;
  }

  .sz-live-intent em {
    display: none;
  }

  .sz-home .sz-answer-ring {
    left: 70%;
    top: 48%;
    width: 38rem;
    opacity: 0.42;
  }

  .sz-data-rain {
    opacity: 0.28;
  }
}

@media (max-height: 780px) and (min-width: 721px) {
  .sz-home .sz-hero h1 {
    font-size: clamp(2.9rem, 5.75vw, 5.15rem);
  }

  .sz-live-intent {
    margin-top: 0.72rem;
    padding-block: 0.62rem 0.66rem;
  }

  .sz-home .sz-actions {
    margin-top: 0.86rem;
  }

  .sz-home .sz-proof-grid {
    margin-top: 0.72rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sz-home .sz-hero::after,
  .sz-live-intent::before,
  .sz-live-intent::after,
  .sz-home .sz-answer-ring,
  .sz-home .sz-answer-ring::before,
  .sz-home .sz-answer-ring::after,
  .sz-home .sz-answer-ring i,
  .sz-data-rain {
    animation: none !important;
  }
}

/* Shenzhen premium pass: turn the hero into a hardware signal cockpit. */
.sz-home .sz-hero {
  background:
    radial-gradient(circle at 50% 6%, oklch(0.74 0.18 205 / 0.24), transparent 22rem),
    radial-gradient(circle at 72% 56%, oklch(0.76 0.22 32 / 0.2), transparent 30rem),
    radial-gradient(circle at 24% 58%, oklch(0.52 0.2 276 / 0.22), transparent 28rem),
    linear-gradient(135deg, oklch(0.075 0.052 257) 0%, oklch(0.105 0.06 248) 52%, oklch(0.075 0.058 268) 100%);
}

.sz-home .sz-hero::before {
  opacity: 0.58;
  background-image:
    linear-gradient(oklch(0.78 0.16 205 / 0.11) 1px, transparent 1px),
    linear-gradient(90deg, oklch(0.78 0.16 205 / 0.1) 1px, transparent 1px),
    linear-gradient(115deg, transparent 0 46%, oklch(0.74 0.2 32 / 0.12) 47%, transparent 48% 100%);
  background-size: 42px 42px, 42px 42px, 100% 100%;
}

.sz-home .sz-hero-copy {
  max-width: 74rem;
}

.sz-home .sz-hero h1 {
  max-width: 12.3ch;
  font-size: clamp(3.2rem, 6.8vw, 6.2rem);
  line-height: 0.98;
}

.sz-home .sz-hero p {
  max-width: 56rem;
  color: oklch(0.88 0.03 238);
}

.sz-home .sz-kicker {
  border-color: oklch(0.78 0.16 205 / 0.34);
  background: oklch(0.1 0.055 252 / 0.52);
  box-shadow: 0 1.2rem 3rem -2.1rem oklch(0.78 0.17 205 / 0.72);
  backdrop-filter: blur(18px);
}

.sz-live-intent {
  grid-template-columns: minmax(7.2rem, auto) minmax(0, 1fr);
  align-items: center;
  width: min(100%, 58rem);
  min-height: 4.25rem;
  text-align: left;
}

.sz-live-intent span {
  align-self: stretch;
  display: grid;
  place-items: center;
  border-right: 1px solid oklch(0.78 0.16 205 / 0.22);
  padding-right: 0.9rem;
}

.sz-live-intent strong,
.sz-live-intent em {
  grid-column: 2;
}

.sz-live-intent strong {
  color: oklch(0.98 0.01 240);
}

.sz-live-intent em {
  margin-top: -0.28rem;
}

.sz-live-intent.is-switching strong,
.sz-live-intent.is-switching em {
  animation: szIntentText 520ms ease both;
}

.sz-home .sz-actions {
  margin-top: clamp(1.05rem, 1.7vw, 1.35rem);
}

.sz-home .sz-proof-grid {
  margin-top: clamp(0.9rem, 1.6vw, 1.15rem);
}

.sz-home .sz-proof-grid span {
  color: oklch(0.93 0.025 238);
  background: linear-gradient(180deg, oklch(1 0 0 / 0.11), oklch(1 0 0 / 0.055));
}

.sz-home .sz-chip-field {
  border: 0;
  background:
    radial-gradient(circle at 64% 52%, oklch(0.78 0.16 205 / 0.2), transparent 21rem),
    linear-gradient(oklch(0.78 0.16 205 / 0.05) 1px, transparent 1px),
    linear-gradient(90deg, oklch(0.78 0.16 205 / 0.05) 1px, transparent 1px);
  background-size: auto, 54px 54px, 54px 54px;
  mask-image: radial-gradient(circle at 62% 52%, #000 0 52%, transparent 82%);
}

.sz-silicon-core {
  position: absolute;
  left: min(79%, calc(50% + 27rem));
  top: 64%;
  z-index: 4;
  display: grid;
  place-items: center;
  width: clamp(11rem, 18vw, 17rem);
  aspect-ratio: 1;
  border: 1px solid oklch(0.78 0.17 205 / 0.34);
  border-radius: 8px;
  color: oklch(0.99 0.01 240);
  background:
    linear-gradient(135deg, oklch(0.1 0.06 254 / 0.8), oklch(0.17 0.08 244 / 0.52)),
    repeating-linear-gradient(90deg, transparent 0 0.58rem, oklch(0.78 0.16 205 / 0.12) 0.58rem 0.64rem),
    repeating-linear-gradient(0deg, transparent 0 0.58rem, oklch(0.78 0.16 205 / 0.1) 0.58rem 0.64rem);
  box-shadow:
    0 3rem 7rem -3.4rem oklch(0.78 0.17 205 / 0.9),
    0 0 0 0.72rem oklch(0.78 0.17 205 / 0.055),
    inset 0 0 2rem oklch(0.78 0.16 205 / 0.16);
  opacity: 0.78;
  transform: translate(-50%, -50%) perspective(760px) rotateX(62deg) rotateZ(-28deg);
  animation: szCoreHover 5.8s ease-in-out infinite;
  pointer-events: none;
}

.sz-silicon-core::before,
.sz-silicon-core::after {
  content: "";
  position: absolute;
  inset: 13%;
  border-radius: 8px;
  pointer-events: none;
}

.sz-silicon-core::before {
  border: 1px solid oklch(0.74 0.2 32 / 0.3);
  background: radial-gradient(circle at 50% 50%, oklch(0.74 0.2 32 / 0.18), transparent 62%);
}

.sz-silicon-core::after {
  inset: -0.15rem;
  background: linear-gradient(115deg, transparent 0 36%, oklch(0.98 0.04 100 / 0.22) 43%, transparent 51% 100%);
  animation: szCoreSheen 3.8s ease-in-out infinite;
}

.sz-silicon-core b {
  position: relative;
  z-index: 1;
  color: oklch(0.98 0.012 240 / 0.62);
  font-family: Inter, "Noto Sans SC", sans-serif;
  font-size: clamp(1.55rem, 2.6vw, 2.4rem);
  font-weight: 950;
  line-height: 0.92;
  text-align: center;
}

.sz-silicon-core em {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  max-width: 8.4rem;
  color: oklch(0.83 0.13 205 / 0.72);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.55rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-align: right;
  text-transform: uppercase;
}

.sz-silicon-core .pin {
  position: absolute;
  z-index: 2;
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 999px;
  background: oklch(0.88 0.15 85);
  box-shadow: 0 0 1.6rem oklch(0.88 0.15 85 / 0.85);
  animation: szPulse 2.6s ease-in-out infinite;
}

.sz-silicon-core .pin-a {
  left: 12%;
  top: 18%;
}

.sz-silicon-core .pin-b {
  right: 16%;
  top: 22%;
  animation-delay: -0.7s;
}

.sz-silicon-core .pin-c {
  left: 18%;
  bottom: 16%;
  animation-delay: -1.2s;
}

.sz-silicon-core .pin-d {
  right: 13%;
  bottom: 19%;
  animation-delay: -1.7s;
}

.sz-home .sz-main-chip {
  display: none;
}

.sz-home .sz-node {
  display: grid;
  width: auto;
  height: auto;
  min-width: 5.9rem;
  border: 1px solid oklch(0.78 0.16 205 / 0.22);
  border-radius: 8px;
  padding: 0.54rem 0.68rem;
  background: oklch(0.98 0.01 238 / 0.1);
  box-shadow:
    0 1.3rem 3.2rem -2.6rem oklch(0.78 0.17 205 / 0.85),
    inset 0 0 0 1px oklch(1 0 0 / 0.05);
  opacity: 0.64;
  backdrop-filter: blur(16px);
}

.sz-home .sz-node::before {
  content: "";
  position: absolute;
  left: 0.52rem;
  top: 0.52rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: oklch(0.74 0.2 32);
  box-shadow: 0 0 1.2rem oklch(0.74 0.2 32 / 0.72);
}

.sz-home .sz-node b,
.sz-home .sz-node small {
  display: block;
  padding-left: 0.55rem;
}

.sz-home .sz-node b {
  color: oklch(0.97 0.014 240);
  font-size: 0.92rem;
  line-height: 1.15;
}

.sz-home .sz-node small {
  color: oklch(0.78 0.06 235);
  font-size: 0.68rem;
}

.sz-home .sz-node.node-a { left: 8%; top: 31%; }
.sz-home .sz-node.node-b { right: 17%; top: 18%; }
.sz-home .sz-node.node-c { left: 18%; bottom: 18%; }
.sz-home .sz-node.node-d { right: 12%; bottom: 19%; }
.sz-home .sz-node.node-e { left: 39%; bottom: 9%; }
.sz-home .sz-node.node-f { right: 34%; top: 12%; }

.sz-home .sz-trace {
  opacity: 0.36;
  filter: drop-shadow(0 0 0.55rem oklch(0.78 0.17 205 / 0.42));
}

@keyframes szIntentText {
  0% {
    opacity: 0;
    transform: translateY(0.45rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes szCoreHover {
  0%, 100% {
    transform: translate(-50%, -50%) perspective(760px) rotateX(62deg) rotateZ(-28deg) translateY(0);
    filter: drop-shadow(0 0 0.9rem oklch(0.78 0.17 205 / 0.22));
  }
  50% {
    transform: translate(-50%, -50%) perspective(760px) rotateX(62deg) rotateZ(-24deg) translateY(-0.7rem);
    filter: drop-shadow(0 0 1.7rem oklch(0.74 0.2 32 / 0.22));
  }
}

@keyframes szCoreSheen {
  0%, 38% {
    opacity: 0;
    transform: translateX(-85%);
  }
  48% {
    opacity: 0.92;
  }
  100% {
    opacity: 0;
    transform: translateX(85%);
  }
}

@media (max-width: 920px) {
  .sz-silicon-core {
    left: 73%;
    top: 52%;
    width: 12rem;
    opacity: 0.62;
  }

  .sz-home .sz-node {
    opacity: 0.56;
    transform: scale(0.9);
  }
}

@media (max-width: 720px) {
  .sz-home .sz-hero {
    padding-block: 2.35rem 0.8rem;
  }

  .sz-home .sz-hero p {
    font-size: 0.92rem;
    line-height: 1.66;
  }

  .sz-live-intent {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .sz-live-intent span {
    place-items: start;
    border-right: 0;
    padding-right: 0;
  }

  .sz-live-intent strong,
  .sz-live-intent em {
    grid-column: 1;
  }

  .sz-silicon-core {
    left: 82%;
    top: 52%;
    width: 9.2rem;
    opacity: 0.36;
  }

  .sz-silicon-core em {
    display: none;
  }

  .sz-home .sz-node,
  .sz-home .sz-node.node-a,
  .sz-home .sz-node.node-d {
    display: none;
  }
}

@media (max-height: 780px) and (min-width: 721px) {
  .sz-live-intent {
    min-height: 3.65rem;
  }

  .sz-live-intent em {
    display: none;
  }

  .sz-silicon-core {
    width: clamp(9.6rem, 15vw, 13rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sz-live-intent.is-switching strong,
  .sz-live-intent.is-switching em,
  .sz-silicon-core,
  .sz-silicon-core::after,
  .sz-silicon-core .pin {
    animation: none !important;
  }
}

/* Shenzhen reset hero: AI procurement launchpad, rebuilt from scratch. */
.sz-neo-hero {
  position: relative;
  display: grid;
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  color: oklch(0.98 0.01 245);
  background:
    linear-gradient(118deg, oklch(0.065 0.045 260) 0%, oklch(0.09 0.06 248) 44%, oklch(0.16 0.07 280) 100%);
  isolation: isolate;
}

.sz-neo-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(oklch(0.78 0.14 218 / 0.1) 1px, transparent 1px),
    linear-gradient(90deg, oklch(0.78 0.14 218 / 0.09) 1px, transparent 1px);
  background-position: center;
  background-size: 48px 48px;
  transform: perspective(900px) rotateX(56deg) translateY(13%);
  transform-origin: center bottom;
  opacity: 0.58;
}

.sz-neo-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, transparent 0 74%, oklch(0.06 0.048 260 / 0.82) 100%),
    radial-gradient(ellipse at 50% 42%, transparent 0 38%, oklch(0.02 0.018 260 / 0.42) 82%);
  pointer-events: none;
}

.sz-orbit-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.86;
  pointer-events: none;
  mix-blend-mode: screen;
}

.sz-neo-bg,
.sz-neo-bg > span,
.sz-neo-orbit {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sz-neo-bg {
  z-index: 0;
  overflow: hidden;
}

.sz-neo-bg > span {
  display: block;
}

.sz-neo-glow {
  opacity: 0.74;
  filter: blur(26px);
  transform-origin: center;
}

.sz-neo-glow.glow-a {
  left: -12%;
  top: 8%;
  width: 54%;
  height: 24%;
  background: linear-gradient(90deg, transparent, oklch(0.75 0.16 210 / 0.32), transparent);
  clip-path: polygon(0 42%, 100% 0, 94% 32%, 4% 88%);
  animation: szNeoDrift 10s ease-in-out infinite;
}

.sz-neo-glow.glow-b {
  left: 58%;
  top: 16%;
  width: 56%;
  height: 34%;
  background: linear-gradient(100deg, transparent, oklch(0.78 0.2 28 / 0.26), oklch(0.58 0.21 286 / 0.18), transparent);
  clip-path: polygon(0 18%, 100% 28%, 90% 82%, 8% 64%);
  animation: szNeoDrift 12s ease-in-out infinite reverse;
}

.sz-neo-ribbon {
  height: 1px;
  opacity: 0.58;
  background: linear-gradient(90deg, transparent, oklch(0.82 0.16 210 / 0.72), oklch(0.78 0.19 35 / 0.64), transparent);
  transform-origin: center;
}

.sz-neo-ribbon.ribbon-a {
  top: 31%;
  transform: rotate(-13deg) scaleX(1.35);
  animation: szRibbonSlide 6.8s ease-in-out infinite;
}

.sz-neo-ribbon.ribbon-b {
  top: 69%;
  transform: rotate(9deg) scaleX(1.25);
  animation: szRibbonSlide 8.2s ease-in-out infinite reverse;
}

.sz-neo-shell {
  position: relative;
  z-index: 4;
  display: grid;
  align-content: center;
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(3rem, 5.5vw, 5rem) clamp(1.25rem, 3vw, 2rem);
}

.sz-neo-copy {
  position: relative;
  width: min(100%, 64rem);
  text-align: left;
}

.sz-neo-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border: 1px solid oklch(0.8 0.15 212 / 0.34);
  border-radius: 999px;
  padding: 0.58rem 0.9rem;
  color: oklch(0.9 0.09 215);
  background: oklch(0.98 0.01 250 / 0.08);
  box-shadow: 0 1.4rem 3.2rem -2.3rem oklch(0.75 0.16 210 / 0.76);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(16px);
}

.sz-neo-kicker i {
  width: 0.56rem;
  height: 0.56rem;
  border-radius: 999px;
  background: oklch(0.76 0.19 35);
  box-shadow: 0 0 1rem oklch(0.76 0.19 35 / 0.82);
}

.sz-neo-copy h1 {
  display: grid;
  gap: 0.04em;
  max-width: 11.5ch;
  margin: clamp(1.05rem, 2.1vw, 1.55rem) 0 0;
  color: oklch(0.98 0.012 245);
  font-size: clamp(3.8rem, 8vw, 7.65rem);
  font-weight: 950;
  line-height: 0.91;
  letter-spacing: 0;
  text-wrap: balance;
}

.sz-neo-copy h1 span:last-child {
  color: transparent;
  background: linear-gradient(95deg, oklch(0.82 0.16 210), oklch(0.97 0.1 92) 42%, oklch(0.78 0.21 34) 76%);
  background-clip: text;
  -webkit-background-clip: text;
  filter: drop-shadow(0 0 1.5rem oklch(0.78 0.18 40 / 0.2));
}

.sz-neo-copy p {
  max-width: 54rem;
  margin: clamp(1.05rem, 2vw, 1.45rem) 0 0;
  color: oklch(0.86 0.03 240);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  font-weight: 700;
  line-height: 1.85;
}

.sz-neo-command {
  position: relative;
  display: grid;
  gap: 0.65rem;
  width: min(100%, 52rem);
  margin-top: clamp(1.2rem, 2.2vw, 1.6rem);
  border: 1px solid oklch(0.8 0.15 212 / 0.35);
  border-radius: 8px;
  padding: 0.95rem 1rem 1rem;
  overflow: hidden;
  background:
    linear-gradient(120deg, oklch(0.08 0.055 260 / 0.7), oklch(0.13 0.07 252 / 0.44)),
    linear-gradient(180deg, oklch(1 0 0 / 0.11), oklch(1 0 0 / 0.04));
  box-shadow:
    0 2.6rem 6rem -3.4rem oklch(0.74 0.18 210 / 0.95),
    inset 0 0 0 1px oklch(1 0 0 / 0.05);
  backdrop-filter: blur(18px);
}

.sz-neo-command::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 0 30%, oklch(0.82 0.16 210 / 0.28) 44%, transparent 58% 100%);
  transform: translateX(-120%);
  animation: szCommandSweep 4.4s ease-in-out infinite;
}

.sz-command-head,
.sz-neo-command strong,
.sz-command-steps {
  position: relative;
  z-index: 1;
}

.sz-command-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.sz-command-head span {
  color: oklch(0.82 0.16 210);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sz-command-head b {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  color: oklch(0.96 0.08 88);
  font-size: 0.8rem;
  font-weight: 950;
}

.sz-command-head b::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: oklch(0.75 0.18 35);
  box-shadow: 0 0 1rem oklch(0.75 0.18 35 / 0.85);
}

.sz-neo-command strong {
  overflow: hidden;
  color: oklch(0.98 0.01 245);
  font-size: clamp(1.02rem, 1.55vw, 1.32rem);
  font-weight: 950;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sz-neo-command.is-switching strong {
  animation: szCommandText 520ms ease both;
}

.sz-command-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.46rem;
}

.sz-command-steps span {
  position: relative;
  border: 1px solid oklch(0.8 0.15 212 / 0.2);
  border-radius: 6px;
  padding: 0.48rem 0.34rem;
  overflow: hidden;
  color: oklch(0.82 0.05 235);
  background: oklch(1 0 0 / 0.06);
  font-size: 0.78rem;
  font-weight: 850;
  text-align: center;
}

.sz-command-steps span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, oklch(0.78 0.18 210), oklch(0.78 0.2 35));
  animation: szStepLoad 4.4s ease-in-out infinite;
}

.sz-command-steps span:nth-child(2)::after { animation-delay: 0.4s; }
.sz-command-steps span:nth-child(3)::after { animation-delay: 0.8s; }
.sz-command-steps span:nth-child(4)::after { animation-delay: 1.2s; }

.sz-neo-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: clamp(1.15rem, 2vw, 1.5rem);
}

.sz-neo-actions .btn-cta {
  background: linear-gradient(135deg, oklch(0.78 0.2 35), oklch(0.94 0.14 90)) !important;
  color: oklch(0.08 0.045 260) !important;
  box-shadow: 0 1.6rem 3.4rem -2rem oklch(0.78 0.2 35 / 0.86);
}

.sz-neo-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: oklch(0.82 0.16 210);
  font-weight: 950;
  text-decoration: none;
}

.sz-neo-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
  width: min(100%, 52rem);
  margin-top: clamp(1rem, 1.8vw, 1.3rem);
}

.sz-neo-proof span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid oklch(0.8 0.15 212 / 0.26);
  border-radius: 8px;
  padding: 0.72rem 0.9rem;
  color: oklch(0.9 0.03 238);
  background: oklch(1 0 0 / 0.07);
  box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.04);
  backdrop-filter: blur(14px);
}

.sz-neo-proof b {
  color: oklch(0.78 0.2 35);
  font-size: 1.12rem;
  font-weight: 950;
}

.sz-neo-proof em {
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 850;
}

.sz-neo-orbit {
  z-index: 3;
  opacity: 0.98;
}

.sz-orbit-line {
  position: absolute;
  left: 64%;
  top: 48%;
  width: min(46vw, 44rem);
  aspect-ratio: 1;
  border: 1px solid oklch(0.78 0.16 210 / 0.22);
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(-18deg);
  animation: szOrbitSpin 18s linear infinite;
}

.sz-orbit-line::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -0.26rem;
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 50%;
  background: oklch(0.78 0.2 35);
  box-shadow: 0 0 1.4rem oklch(0.78 0.2 35 / 0.8);
}

.sz-orbit-line.orbit-b {
  width: min(58vw, 54rem);
  transform: translate(-50%, -50%) rotate(18deg) scaleY(0.64);
  border-color: oklch(0.8 0.15 212 / 0.16);
  animation-duration: 24s;
  animation-direction: reverse;
}

.sz-orbit-line.orbit-c {
  width: min(38vw, 35rem);
  transform: translate(-50%, -50%) rotate(56deg) scaleY(0.76);
  border-color: oklch(0.78 0.2 35 / 0.22);
  animation-duration: 13s;
}

.sz-launch-core {
  position: absolute;
  left: 64%;
  top: 48%;
  display: grid;
  place-items: center;
  width: clamp(11rem, 15vw, 15rem);
  aspect-ratio: 1;
  border: 1px solid oklch(0.82 0.16 210 / 0.38);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%, oklch(0.78 0.2 35 / 0.28), transparent 42%),
    radial-gradient(circle, oklch(0.08 0.055 260 / 0.68), oklch(0.09 0.05 270 / 0.22) 70%);
  box-shadow:
    0 0 0 0.85rem oklch(0.82 0.16 210 / 0.06),
    0 0 5rem oklch(0.8 0.16 210 / 0.32),
    inset 0 0 2.4rem oklch(0.82 0.16 210 / 0.16);
  transform: translate(-50%, -50%);
  animation: szCorePulse 3.2s ease-in-out infinite;
}

.sz-launch-core span {
  color: oklch(0.78 0.2 35);
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  font-weight: 950;
  line-height: 1;
}

.sz-launch-core b {
  margin-top: -0.6rem;
  color: oklch(0.96 0.04 235);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-align: center;
}

.sz-launch-core i {
  position: absolute;
  inset: -20%;
  border: 1px solid oklch(0.78 0.2 35 / 0.18);
  border-radius: 50%;
  animation: szCorePing 2.8s ease-out infinite;
}

.sz-launch-dot {
  position: absolute;
  z-index: 1;
  display: grid;
  gap: 0.12rem;
  min-width: 6.4rem;
  border-left: 2px solid oklch(0.78 0.2 35);
  border-radius: 6px;
  padding: 0.5rem 0.62rem 0.54rem;
  color: oklch(0.94 0.02 242);
  background: oklch(0.07 0.045 260 / 0.62);
  box-shadow: 0 1.6rem 4rem -2.8rem oklch(0.82 0.16 210 / 0.8);
  backdrop-filter: blur(12px);
  animation: szDotFloat 4.8s ease-in-out infinite;
}

.sz-launch-dot b {
  font-size: 1rem;
  font-weight: 950;
}

.sz-launch-dot small {
  color: oklch(0.76 0.07 236);
  font-size: 0.72rem;
  font-weight: 800;
}

.sz-launch-dot.dot-a { left: 46%; top: 24%; animation-delay: -0.3s; }
.sz-launch-dot.dot-b { right: 12%; top: 30%; animation-delay: -1.1s; }
.sz-launch-dot.dot-c { right: 18%; bottom: 20%; animation-delay: -1.9s; }
.sz-launch-dot.dot-d { left: 56%; bottom: 16%; animation-delay: -2.7s; }

@keyframes szNeoDrift {
  0%, 100% {
    opacity: 0.55;
    transform: translate3d(-2%, 0, 0);
  }
  50% {
    opacity: 0.9;
    transform: translate3d(4%, 10%, 0);
  }
}

@keyframes szRibbonSlide {
  0%, 100% {
    opacity: 0.32;
    translate: -5% 0;
  }
  50% {
    opacity: 0.8;
    translate: 5% 0;
  }
}

@keyframes szCommandSweep {
  0%, 36% {
    opacity: 0;
    transform: translateX(-120%);
  }
  48% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(120%);
  }
}

@keyframes szCommandText {
  0% {
    opacity: 0;
    transform: translateY(0.55rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes szStepLoad {
  0%, 18% {
    right: 100%;
  }
  55%, 100% {
    right: 0;
  }
}

@keyframes szOrbitSpin {
  to {
    rotate: 360deg;
  }
}

@keyframes szCorePulse {
  0%, 100% {
    box-shadow:
      0 0 0 0.85rem oklch(0.82 0.16 210 / 0.06),
      0 0 5rem oklch(0.8 0.16 210 / 0.32),
      inset 0 0 2.4rem oklch(0.82 0.16 210 / 0.16);
    transform: translate(-50%, -50%) scale(0.98);
  }
  50% {
    box-shadow:
      0 0 0 1.2rem oklch(0.82 0.16 210 / 0.08),
      0 0 7rem oklch(0.78 0.2 35 / 0.36),
      inset 0 0 3rem oklch(0.78 0.2 35 / 0.18);
    transform: translate(-50%, -50%) scale(1.04);
  }
}

@keyframes szCorePing {
  0% {
    opacity: 0.68;
    transform: scale(0.82);
  }
  100% {
    opacity: 0;
    transform: scale(1.42);
  }
}

@keyframes szDotFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.52rem);
  }
}

@media (max-width: 1120px) {
  .sz-neo-copy {
    width: min(100%, 56rem);
  }

  .sz-orbit-line,
  .sz-launch-core {
    left: 74%;
  }

  .sz-launch-dot.dot-a { left: 50%; }
  .sz-launch-dot.dot-b { right: 4%; }
  .sz-launch-dot.dot-c { right: 8%; }
  .sz-launch-dot.dot-d { left: 58%; }
}

@media (max-width: 760px) {
  .sz-neo-shell {
    align-content: start;
    padding-block: clamp(2.1rem, 8vw, 3rem) 0.85rem;
  }

  .sz-neo-copy {
    width: 100%;
  }

  .sz-neo-kicker {
    max-width: 100%;
    font-size: 0.58rem;
    white-space: normal;
  }

  .sz-neo-copy h1 {
    max-width: 8.4ch;
    font-size: clamp(3rem, 15vw, 4.55rem);
    line-height: 0.94;
  }

  .sz-neo-copy p {
    max-width: 100%;
    font-size: 0.92rem;
    line-height: 1.64;
  }

  .sz-neo-command {
    margin-top: 1rem;
    padding: 0.78rem 0.82rem 0.86rem;
  }

  .sz-neo-command strong {
    font-size: 0.96rem;
    white-space: normal;
  }

  .sz-command-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sz-neo-actions {
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 1rem;
  }

  .sz-neo-actions .btn {
    justify-content: center;
    width: 100%;
  }

  .sz-neo-link {
    justify-content: center;
    width: 100%;
  }

  .sz-neo-proof {
    display: none;
  }

  .sz-neo-orbit {
    opacity: 0.5;
  }

  .sz-orbit-line {
    left: 83%;
    top: 42%;
    width: 30rem;
  }

  .sz-launch-core {
    left: 84%;
    top: 44%;
    width: 8.5rem;
    opacity: 0.7;
  }

  .sz-launch-dot {
    display: none;
  }
}

@media (max-height: 780px) and (min-width: 761px) {
  .sz-neo-shell {
    padding-block: 2.6rem 1rem;
  }

  .sz-neo-copy h1 {
    font-size: clamp(3.25rem, 6.4vw, 5.7rem);
  }

  .sz-neo-copy p {
    margin-top: 0.8rem;
    line-height: 1.66;
  }

  .sz-neo-command {
    margin-top: 0.88rem;
  }

  .sz-neo-actions,
  .sz-neo-proof {
    margin-top: 0.82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sz-neo-glow,
  .sz-neo-ribbon,
  .sz-neo-command::before,
  .sz-neo-command.is-switching strong,
  .sz-command-steps span::after,
  .sz-orbit-line,
  .sz-launch-core,
  .sz-launch-core i,
  .sz-launch-dot {
    animation: none !important;
  }
}

/* Shenzhen rejected-pass rebuild: bright AI answer assembly line. */
body:has(.sz-forge-hero) {
  background: oklch(0.985 0.014 82);
}

body:has(.sz-forge-hero) .site-header {
  background: oklch(0.995 0.008 86 / 0.9);
  border-bottom: 1px solid oklch(0.76 0.055 86 / 0.42);
  box-shadow: 0 1rem 2.6rem -2.2rem oklch(0.36 0.06 250 / 0.26);
  backdrop-filter: blur(18px);
}

body:has(.sz-forge-hero) .site-header::before {
  background: linear-gradient(90deg, oklch(0.65 0.22 32), oklch(0.65 0.18 232), oklch(0.86 0.16 88));
}

body:has(.sz-forge-hero) .site-header .brand .brand-name,
body:has(.sz-forge-hero) .site-header .brand-name,
body:has(.sz-forge-hero) .site-header .brand small,
body:has(.sz-forge-hero) .site-header .site-nav a,
body:has(.sz-forge-hero) .site-header .hotline {
  color: oklch(0.17 0.06 252);
}

body:has(.sz-forge-hero) .site-header .brand-sub {
  color: oklch(0.42 0.045 250);
}

body:has(.sz-forge-hero) .site-header .site-nav a:hover,
body:has(.sz-forge-hero) .site-header .site-nav a.active,
body:has(.sz-forge-hero) .site-header .hotline strong {
  color: oklch(0.56 0.2 32);
}

body:has(.sz-forge-hero) .site-header .site-nav a.active::after {
  background: linear-gradient(90deg, oklch(0.65 0.22 32), oklch(0.65 0.18 232));
}

body:has(.sz-forge-hero) .site-header .btn-header {
  background: linear-gradient(135deg, oklch(0.72 0.2 35), oklch(0.9 0.16 88));
  color: oklch(0.14 0.055 252);
}

body:has(.sz-forge-hero) .site-header .nav-toggle {
  border-color: oklch(0.63 0.1 250 / 0.28);
}

body:has(.sz-forge-hero) .site-header .nav-toggle span,
body:has(.sz-forge-hero) .site-header .nav-toggle span::before,
body:has(.sz-forge-hero) .site-header .nav-toggle span::after {
  background: oklch(0.18 0.06 252);
}

.sz-forge-hero {
  --forge-paper: oklch(0.985 0.014 82);
  --forge-ink: oklch(0.15 0.06 252);
  --forge-muted: oklch(0.42 0.045 248);
  --forge-blue: oklch(0.58 0.2 232);
  --forge-cyan: oklch(0.76 0.16 204);
  --forge-orange: oklch(0.68 0.22 34);
  --forge-yellow: oklch(0.91 0.16 88);
  --forge-line: oklch(0.74 0.055 86);
  position: relative;
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  color: var(--forge-ink);
  background:
    radial-gradient(circle at 86% 18%, oklch(0.78 0.16 204 / 0.28), transparent 22rem),
    radial-gradient(circle at 20% 80%, oklch(0.88 0.16 88 / 0.42), transparent 22rem),
    linear-gradient(135deg, oklch(0.995 0.006 90), oklch(0.955 0.03 88) 56%, oklch(0.92 0.03 220));
  isolation: isolate;
}

.sz-forge-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(var(--forge-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--forge-line) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: 0.28;
  mask-image: linear-gradient(180deg, #000 0 74%, transparent 100%);
}

.sz-forge-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: -18%;
  right: -18%;
  top: 56%;
  height: 24rem;
  background:
    linear-gradient(180deg, oklch(0.2 0.065 252 / 0.06), transparent 56%),
    repeating-linear-gradient(90deg, transparent 0 3.8rem, oklch(0.2 0.06 252 / 0.06) 3.8rem 3.92rem);
  transform: rotate(-5deg);
  pointer-events: none;
}

.sz-forge-bg,
.sz-forge-bg > span,
.sz-forge-belt {
  position: absolute;
  pointer-events: none;
}

.sz-forge-bg {
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.sz-forge-plate {
  display: block;
  border: 1px solid oklch(0.2 0.06 252 / 0.08);
  border-radius: 8px;
  background: oklch(1 0 0 / 0.36);
  box-shadow: 0 2rem 5rem -4rem oklch(0.18 0.08 250 / 0.5);
  transform: rotate(-8deg);
}

.sz-forge-plate.plate-a {
  right: -4rem;
  top: 11%;
  width: min(46vw, 38rem);
  height: min(38vw, 30rem);
}

.sz-forge-plate.plate-b {
  left: -8rem;
  bottom: 4%;
  width: min(40vw, 34rem);
  height: min(28vw, 22rem);
  transform: rotate(11deg);
}

.sz-forge-belt {
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 140vw;
  border-block: 1px solid oklch(0.2 0.06 252 / 0.12);
  padding: 0.72rem;
  overflow: hidden;
  white-space: nowrap;
  transform-origin: center;
}

.sz-forge-belt span {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.13);
  border-radius: 8px;
  padding: 0.54rem 0.84rem;
  color: oklch(0.18 0.055 252);
  background: oklch(1 0 0 / 0.66);
  box-shadow: 0 1.2rem 2.8rem -2.6rem oklch(0.18 0.08 250 / 0.35);
  font-weight: 900;
}

.sz-forge-belt.belt-a {
  left: -14%;
  top: 22%;
  background: oklch(0.78 0.16 204 / 0.14);
  opacity: 0.62;
  transform: rotate(-4deg);
}

.sz-forge-belt.belt-a span {
  animation: szForgeBelt 15s linear infinite;
}

.sz-forge-belt.belt-b {
  right: -18%;
  top: 47%;
  justify-content: flex-end;
  background: oklch(0.92 0.16 88 / 0.22);
  opacity: 0.76;
  transform: rotate(5deg);
}

.sz-forge-belt.belt-b span {
  animation: szForgeBeltReverse 18s linear infinite;
}

.sz-forge-belt.belt-c {
  left: -10%;
  bottom: 13%;
  background: oklch(0.68 0.22 34 / 0.13);
  transform: rotate(-3deg);
}

.sz-forge-belt.belt-c span {
  animation: szForgeBelt 13s linear infinite;
}

.sz-forge-shell {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(25rem, 0.78fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(3rem, 5vw, 5rem) clamp(1.6rem, 3vw, 2.4rem);
}

.sz-forge-copy {
  position: relative;
}

.sz-forge-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.16);
  border-radius: 999px;
  padding: 0.62rem 0.9rem;
  color: oklch(0.24 0.08 252);
  background: oklch(1 0 0 / 0.78);
  box-shadow: 0 1rem 2.8rem -2.2rem oklch(0.18 0.08 250 / 0.26);
  font-size: 0.82rem;
  font-weight: 950;
}

.sz-forge-kicker i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--forge-orange);
  box-shadow: 0 0 1rem oklch(0.68 0.22 34 / 0.68);
}

.sz-forge-copy h1 {
  max-width: 10.6ch;
  margin: clamp(1rem, 2vw, 1.45rem) 0 0;
  color: var(--forge-ink);
  font-size: clamp(3.8rem, 7.4vw, 7.15rem);
  font-weight: 950;
  line-height: 0.93;
  letter-spacing: 0;
}

.sz-forge-copy h1 span {
  display: block;
}

.sz-forge-copy h1 span:last-child {
  color: transparent;
  background: linear-gradient(92deg, var(--forge-blue), var(--forge-orange) 54%, oklch(0.74 0.18 86));
  background-clip: text;
  -webkit-background-clip: text;
}

.sz-forge-copy p {
  max-width: 48rem;
  margin: clamp(1.1rem, 2vw, 1.45rem) 0 0;
  color: var(--forge-muted);
  font-size: clamp(1rem, 1.28vw, 1.15rem);
  font-weight: 750;
  line-height: 1.85;
}

.sz-forge-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: clamp(1.3rem, 2.3vw, 1.8rem);
}

.sz-forge-actions .btn-cta {
  background: linear-gradient(135deg, var(--forge-orange), var(--forge-yellow)) !important;
  color: oklch(0.13 0.055 252) !important;
  box-shadow: 0 1.4rem 3.4rem -2.2rem oklch(0.68 0.22 34 / 0.76);
}

.sz-forge-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: oklch(0.37 0.16 232);
  font-weight: 950;
  text-decoration: none;
}

.sz-forge-station {
  position: relative;
  display: grid;
  gap: 1rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.16);
  border-radius: 8px;
  padding: clamp(1.1rem, 2vw, 1.45rem);
  overflow: hidden;
  background:
    linear-gradient(180deg, oklch(1 0 0 / 0.82), oklch(0.985 0.01 82 / 0.68)),
    repeating-linear-gradient(90deg, transparent 0 2.2rem, oklch(0.2 0.06 252 / 0.04) 2.2rem 2.28rem);
  box-shadow:
    0 3rem 6rem -4.2rem oklch(0.16 0.08 250 / 0.45),
    inset 0 0 0 1px oklch(1 0 0 / 0.58);
  backdrop-filter: blur(18px);
}

.sz-forge-station::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, transparent 0 36%, oklch(0.76 0.16 204 / 0.26) 47%, transparent 58% 100%);
  transform: translateX(-120%);
  animation: szForgeScan 4.5s ease-in-out infinite;
}

.sz-station-head,
.sz-station-query,
.sz-station-line,
.sz-station-output {
  position: relative;
  z-index: 1;
}

.sz-station-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.sz-station-head span {
  color: oklch(0.34 0.12 232);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.sz-station-head b {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  color: oklch(0.53 0.2 34);
  font-size: 0.8rem;
  font-weight: 950;
}

.sz-station-head b::before {
  content: "";
  width: 0.46rem;
  height: 0.46rem;
  border-radius: 50%;
  background: var(--forge-orange);
  box-shadow: 0 0 1rem oklch(0.68 0.22 34 / 0.72);
}

.sz-station-query {
  display: grid;
  gap: 0.42rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.12);
  border-radius: 8px;
  padding: 1rem;
  background: oklch(0.13 0.055 252);
}

.sz-station-query small {
  color: oklch(0.76 0.16 204);
  font-size: 0.78rem;
  font-weight: 950;
}

.sz-station-query strong {
  color: oklch(0.98 0.01 82);
  font-size: clamp(1.02rem, 1.55vw, 1.35rem);
  font-weight: 950;
  line-height: 1.35;
}

.sz-station-query.is-switching strong {
  animation: szForgeText 520ms ease both;
}

.sz-station-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.72rem;
}

.sz-station-line span {
  position: relative;
  display: grid;
  gap: 0.2rem;
  min-height: 7.4rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.12);
  border-radius: 8px;
  padding: 0.78rem;
  overflow: hidden;
  background: oklch(1 0 0 / 0.78);
}

.sz-station-line span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--forge-blue), var(--forge-orange), var(--forge-yellow));
  animation: szForgeLoad 4.2s ease-in-out infinite;
}

.sz-station-line span:nth-child(2)::after { animation-delay: 0.35s; }
.sz-station-line span:nth-child(3)::after { animation-delay: 0.7s; }
.sz-station-line span:nth-child(4)::after { animation-delay: 1.05s; }

.sz-station-line i {
  color: var(--forge-orange);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 950;
}

.sz-station-line b {
  color: var(--forge-ink);
  font-size: 1.02rem;
  font-weight: 950;
}

.sz-station-line em {
  color: var(--forge-muted);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 750;
}

.sz-station-output {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.12);
  border-radius: 8px;
  padding: 0.84rem 0.9rem;
  background: linear-gradient(90deg, oklch(0.76 0.16 204 / 0.2), oklch(0.91 0.16 88 / 0.32));
}

.sz-station-output span {
  color: oklch(0.34 0.12 232);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 950;
}

.sz-station-output strong {
  color: var(--forge-ink);
  font-weight: 950;
}

.sz-station-output em {
  color: var(--forge-muted);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 850;
}

.sz-forge-proof {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
  margin-top: -0.2rem;
}

.sz-forge-proof span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid oklch(0.2 0.06 252 / 0.12);
  border-radius: 8px;
  padding: 0.68rem 0.82rem;
  background: oklch(1 0 0 / 0.68);
  box-shadow: 0 1rem 2.4rem -2.2rem oklch(0.16 0.08 250 / 0.35);
}

.sz-forge-proof b {
  color: var(--forge-orange);
  font-size: 1.05rem;
  font-weight: 950;
}

.sz-forge-proof em {
  color: var(--forge-muted);
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 850;
}

@keyframes szForgeBelt {
  to {
    transform: translateX(-17rem);
  }
}

@keyframes szForgeBeltReverse {
  to {
    transform: translateX(17rem);
  }
}

@keyframes szForgeScan {
  0%, 38% {
    opacity: 0;
    transform: translateX(-120%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(120%);
  }
}

@keyframes szForgeText {
  0% {
    opacity: 0;
    transform: translateY(0.48rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes szForgeLoad {
  0%, 18% {
    right: 100%;
  }
  56%, 100% {
    right: 0;
  }
}

@media (max-width: 1120px) {
  .sz-forge-shell {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .sz-forge-station {
    width: min(100%, 58rem);
  }
}

@media (max-width: 760px) {
  .sz-forge-hero {
    min-height: calc(100svh - var(--header-h));
  }

  .sz-forge-hero::after {
    top: 62%;
    height: 16rem;
  }

  .sz-forge-belt {
    width: 220vw;
    opacity: 0.56;
  }

  .sz-forge-belt.belt-a {
    top: 15%;
  }

  .sz-forge-belt.belt-b {
    top: 45%;
  }

  .sz-forge-belt.belt-c {
    bottom: 7%;
  }

  .sz-forge-shell {
    align-content: start;
    gap: 1rem;
    min-height: calc(100svh - var(--header-h));
    padding-block: 2.3rem 0.9rem;
  }

  .sz-forge-kicker {
    font-size: 0.72rem;
  }

  .sz-forge-copy h1 {
    max-width: 8.8ch;
    font-size: clamp(2.9rem, 13.2vw, 4.18rem);
  }

  .sz-forge-copy p {
    margin-top: 0.88rem;
    font-size: 0.92rem;
    line-height: 1.62;
  }

  .sz-forge-actions {
    align-items: stretch;
    gap: 0.72rem;
    margin-top: 1rem;
  }

  .sz-forge-actions .btn {
    justify-content: center;
    width: 100%;
  }

  .sz-forge-link {
    justify-content: center;
    width: 100%;
  }

  .sz-forge-station {
    display: none;
  }

  .sz-forge-proof {
    display: none;
  }
}

@media (max-height: 790px) and (min-width: 761px) {
  .sz-forge-shell {
    padding-block: 2.4rem 1rem;
  }

  .sz-forge-copy h1 {
    font-size: clamp(3.2rem, 6.2vw, 5.65rem);
  }

  .sz-forge-copy p {
    margin-top: 0.82rem;
    line-height: 1.66;
  }

  .sz-forge-actions {
    margin-top: 0.95rem;
  }

  .sz-forge-station {
    gap: 0.72rem;
  }

  .sz-station-line span {
    min-height: 6.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sz-forge-belt span,
  .sz-forge-station::before,
  .sz-station-query.is-switching strong,
  .sz-station-line span::after {
    animation: none !important;
  }
}

/* Shenzhen forge polish: remove the first-version split hero silhouette. */
.site-header {
  background: oklch(0.995 0.008 86 / 0.92) !important;
  border-bottom: 1px solid oklch(0.76 0.055 86 / 0.42) !important;
  box-shadow: 0 1rem 2.6rem -2.2rem oklch(0.36 0.06 250 / 0.26) !important;
  backdrop-filter: blur(18px);
}

.site-header::before {
  background: linear-gradient(90deg, oklch(0.65 0.22 32), oklch(0.65 0.18 232), oklch(0.86 0.16 88)) !important;
}

.site-header .brand .brand-name,
.site-header .brand-name,
.site-header .brand small,
.site-header .site-nav a,
.site-header .hotline {
  color: oklch(0.17 0.06 252) !important;
}

.site-header .brand-sub {
  color: oklch(0.42 0.045 250) !important;
}

.site-header .site-nav a:hover,
.site-header .site-nav a.active,
.site-header .hotline strong {
  color: oklch(0.56 0.2 32) !important;
}

.site-header .site-nav a.active::after {
  background: linear-gradient(90deg, oklch(0.65 0.22 32), oklch(0.65 0.18 232)) !important;
}

.site-header .btn-header {
  background: linear-gradient(135deg, oklch(0.72 0.2 35), oklch(0.9 0.16 88)) !important;
  color: oklch(0.14 0.055 252) !important;
}

.site-header .nav-toggle {
  border-color: oklch(0.63 0.1 250 / 0.28) !important;
  background: oklch(1 0 0 / 0.82) !important;
}

.site-header .nav-toggle span,
.site-header .nav-toggle span::before,
.site-header .nav-toggle span::after {
  background: oklch(0.18 0.06 252) !important;
}

@media (min-width: 1121px) {
  .sz-forge-shell {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 0.82rem;
    padding-block: 2.4rem 1rem;
  }

  .sz-forge-copy {
    width: min(100%, 76rem);
  }

  .sz-forge-copy h1 {
    max-width: 12.5ch;
    font-size: clamp(3.75rem, 5.9vw, 5.65rem);
    line-height: 0.9;
  }

  .sz-forge-copy p {
    max-width: 63rem;
    margin-top: 0.7rem;
    line-height: 1.58;
  }

  .sz-forge-actions {
    margin-top: 0.85rem;
  }

  .sz-forge-station {
    grid-template-columns: 0.85fr 1.25fr;
    align-items: stretch;
    width: min(100%, 76rem);
    gap: 0.65rem;
    padding: 0.76rem;
  }

  .sz-station-head,
  .sz-station-output {
    grid-column: 1 / -1;
  }

  .sz-station-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sz-station-line span {
    min-height: 5.2rem;
    padding: 0.62rem;
  }

  .sz-station-query {
    padding: 0.78rem;
  }

  .sz-station-query strong {
    font-size: clamp(0.98rem, 1.25vw, 1.14rem);
  }

  .sz-station-output {
    padding: 0.58rem 0.72rem;
  }

  .sz-forge-proof {
    display: none;
  }
}

@media (max-width: 760px) {
  .sz-forge-belt {
    opacity: 0.36;
  }
}

/* Shenzhen shelf reset: a new answer-wall composition, without the old hero grammar. */
:root {
  --shelf-ink: oklch(0.18 0.045 258);
  --shelf-muted: oklch(0.42 0.045 258);
  --shelf-paper: oklch(0.975 0.018 94);
  --shelf-blue: oklch(0.56 0.21 268);
  --shelf-orange: oklch(0.7 0.2 42);
  --shelf-lime: oklch(0.78 0.18 118);
  --shelf-rule: oklch(0.18 0.045 258 / 0.15);
}

body:has(.sz-shelf-hero) {
  background: var(--shelf-paper);
  color: var(--shelf-ink);
}

body:has(.sz-shelf-hero) .site-header {
  background: oklch(0.98 0.018 94 / 0.92) !important;
  border-bottom-color: oklch(0.18 0.045 258 / 0.12) !important;
}

body:has(.sz-shelf-hero) .site-header::before {
  background: linear-gradient(90deg, var(--shelf-blue), var(--shelf-orange), var(--shelf-lime)) !important;
}

body:has(.sz-shelf-hero) .site-header .site-nav a.active,
body:has(.sz-shelf-hero) .site-header .site-nav a:hover,
body:has(.sz-shelf-hero) .site-header .hotline strong {
  color: var(--shelf-blue) !important;
}

body:has(.sz-shelf-hero) .site-header .site-nav a.active::after {
  background: var(--shelf-orange) !important;
}

body:has(.sz-shelf-hero) .site-header .btn-header,
body:has(.sz-shelf-hero) .sz-shelf-actions .btn-cta {
  background: var(--shelf-orange) !important;
  color: var(--shelf-ink) !important;
}

.sz-shelf-hero {
  position: relative;
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(110deg, oklch(0.975 0.018 94) 0 42%, oklch(0.95 0.03 101) 74%, oklch(0.92 0.075 158) 100%);
}

.sz-shelf-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: 0.55;
  background:
    linear-gradient(90deg, transparent 0 9%, oklch(0.18 0.045 258 / 0.06) 9.05% 9.12%, transparent 9.18% 100%),
    linear-gradient(180deg, transparent 0 26%, oklch(0.18 0.045 258 / 0.05) 26.05% 26.12%, transparent 26.18% 100%);
  background-size: 8.6rem 100%, 100% 8.6rem;
  pointer-events: none;
}

.sz-shelf-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 10rem;
  z-index: -2;
  background: linear-gradient(180deg, transparent, oklch(0.975 0.018 94 / 0.8));
  pointer-events: none;
}

.sz-shelf-backdrop,
.sz-shelf-line,
.sz-shelf-signal,
.sz-shelf-visual {
  position: absolute;
  pointer-events: none;
}

.sz-shelf-backdrop {
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.sz-shelf-visual {
  right: -3%;
  top: 3%;
  width: min(54vw, 52rem);
  height: 78%;
  opacity: 0.72;
  transform: translate3d(var(--shelf-shift-x, 0px), var(--shelf-shift-y, 0px), 0) rotate(-7deg);
  transform-origin: 75% 35%;
  animation: shelfVisualDrift 10s ease-in-out infinite alternate;
}

.sz-shelf-visual::before {
  content: "";
  position: absolute;
  inset: 16% 9% 9% 10%;
  border: 1px solid oklch(0.56 0.21 268 / 0.24);
  background:
    linear-gradient(115deg, transparent 0 26%, oklch(0.56 0.21 268 / 0.1) 26.1% 26.3%, transparent 26.4% 100%),
    linear-gradient(28deg, transparent 0 68%, oklch(0.7 0.2 42 / 0.16) 68.1% 68.3%, transparent 68.4% 100%);
  box-shadow: 2.4rem 2.2rem 0 oklch(0.56 0.21 268 / 0.04);
}

.sz-shelf-visual::after {
  content: "AI ANSWER / 01";
  position: absolute;
  right: 17%;
  top: 13%;
  color: oklch(0.18 0.045 258 / 0.45);
  font: 900 0.7rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.14em;
}

.sz-visual-stack {
  position: absolute;
  right: 14%;
  top: 28%;
  width: 54%;
  height: 43%;
  border: 1px solid oklch(0.18 0.045 258 / 0.2);
  background: oklch(0.975 0.018 94 / 0.38);
  box-shadow: 1.2rem 1.2rem 0 oklch(0.56 0.21 268 / 0.08), 2.4rem 2.4rem 0 oklch(0.7 0.2 42 / 0.06);
}

.sz-visual-stack::before,
.sz-visual-stack::after {
  content: "";
  position: absolute;
  left: 9%;
  right: 9%;
  height: 1px;
  background: oklch(0.18 0.045 258 / 0.18);
}

.sz-visual-stack::before { top: 34%; }
.sz-visual-stack::after { top: 67%; }

.sz-visual-stack span {
  position: absolute;
  left: 10%;
  height: 0.48rem;
  border-radius: 999px;
  background: var(--shelf-blue);
  opacity: 0.72;
}

.sz-visual-stack span:nth-child(1) { top: 19%; width: 39%; }
.sz-visual-stack span:nth-child(2) { top: 51%; width: 62%; background: var(--shelf-orange); }
.sz-visual-stack span:nth-child(3) { top: 83%; width: 47%; background: var(--shelf-lime); }

.sz-visual-beam {
  position: absolute;
  right: 22%;
  top: 17%;
  width: 1px;
  height: 65%;
  background: linear-gradient(180deg, transparent, var(--shelf-orange), transparent);
  animation: shelfBeam 3.8s ease-in-out infinite;
}

.sz-visual-label {
  position: absolute;
  z-index: 1;
  border: 1px solid oklch(0.18 0.045 258 / 0.18);
  padding: 0.52rem 0.66rem;
  color: var(--shelf-ink);
  background: oklch(0.975 0.018 94 / 0.65);
  font: 900 0.68rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  box-shadow: 0 1rem 2rem -1.7rem oklch(0.18 0.045 258 / 0.55);
}

.sz-visual-label::before {
  content: "";
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: var(--shelf-orange);
}

.sz-visual-label.label-a { right: 6%; top: 31%; }
.sz-visual-label.label-b { left: 2%; top: 56%; }
.sz-visual-label.label-c { right: 4%; bottom: 17%; }

.sz-shelf-line {
  height: 1px;
  transform-origin: left center;
  opacity: 0.5;
}

.sz-shelf-line.line-a {
  left: -7%;
  top: 37%;
  width: 78%;
  background: var(--shelf-blue);
  transform: rotate(-12deg);
  animation: shelfLineFloat 8s ease-in-out infinite alternate;
}

.sz-shelf-line.line-b {
  right: -10%;
  top: 67%;
  width: 74%;
  background: var(--shelf-orange);
  transform: rotate(9deg);
  animation: shelfLineFloat 10s ease-in-out -2s infinite alternate-reverse;
}

.sz-shelf-signal {
  color: oklch(0.18 0.045 258 / 0.42);
  font: 900 0.62rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.14em;
  white-space: nowrap;
}

.sz-shelf-signal::before {
  content: "";
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.55rem;
  border-radius: 50%;
  background: var(--shelf-orange);
  animation: shelfSignal 2.2s ease-in-out infinite;
}

.sz-shelf-signal.signal-a { right: 5%; top: 21%; }
.sz-shelf-signal.signal-b { left: 5%; bottom: 12%; color: oklch(0.56 0.21 268 / 0.62); }
.sz-shelf-signal.signal-b::before { background: var(--shelf-blue); }

.sz-shelf-shell {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: center;
  min-height: calc(100svh - var(--header-h));
  padding-block: clamp(2.2rem, 3.8vw, 3.2rem) clamp(2.2rem, 3.2vw, 2.8rem);
}

.sz-shelf-intro {
  width: min(100%, 54rem);
}

.sz-shelf-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
  color: var(--shelf-ink);
  font: 950 0.72rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.14em;
}

.sz-shelf-kicker span {
  color: var(--shelf-blue);
}

.sz-shelf-kicker i {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--shelf-orange);
  box-shadow: 0 0 0 0.28rem oklch(0.7 0.2 42 / 0.13);
  animation: shelfSignal 2.2s ease-in-out infinite;
}

.sz-shelf-kicker b {
  font-weight: 950;
}

.sz-shelf-intro h1 {
  max-width: 11ch;
  margin: 1rem 0 0;
  color: var(--shelf-ink);
  font-size: clamp(3.15rem, 5.1vw, 4.8rem);
  font-weight: 950;
  line-height: 0.95;
}

.sz-shelf-intro h1 em {
  color: var(--shelf-blue);
  font-style: normal;
}

.sz-shelf-intro p {
  max-width: 42rem;
  margin: 0.82rem 0 0;
  color: var(--shelf-muted);
  font-size: clamp(0.95rem, 1.2vw, 1.08rem);
  font-weight: 750;
  line-height: 1.75;
}

.sz-shelf-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.05rem;
  margin-top: 0.9rem;
}

.sz-shelf-actions .btn-cta {
  box-shadow: 0 1.2rem 2.8rem -1.9rem oklch(0.7 0.2 42 / 0.78);
}

.sz-shelf-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--shelf-blue);
  font-weight: 950;
  text-decoration: none;
}

.sz-shelf-link span {
  font-size: 1.1em;
  transition: transform 180ms ease;
}

.sz-shelf-link:hover span { transform: translate(0.16rem, -0.16rem); }

.sz-shelf-proof {
  display: flex;
  gap: 0.7rem;
  margin-top: 0.9rem;
}

.sz-shelf-proof span {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  border-bottom: 1px solid var(--shelf-rule);
  padding: 0 0.1rem 0.45rem;
}

.sz-shelf-proof b {
  color: var(--shelf-orange);
  font-size: 1rem;
  font-weight: 950;
}

.sz-shelf-proof small {
  color: var(--shelf-muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.sz-answer-wall {
  position: relative;
  align-self: end;
  width: min(100%, 76rem);
  margin-top: clamp(1.5rem, 2.5vw, 2.2rem);
  border: 1px solid oklch(0.18 0.045 258 / 0.24);
  background: oklch(0.985 0.01 94 / 0.8);
  box-shadow: 1.8rem 2rem 4rem -2.8rem oklch(0.18 0.045 258 / 0.55);
  backdrop-filter: blur(16px);
  transform: translate3d(var(--wall-shift-x, 0px), var(--wall-shift-y, 0px), 0);
}

.sz-answer-wall::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-top: 2px solid var(--shelf-orange);
  opacity: 0.7;
  pointer-events: none;
  transform: translateY(var(--wall-scan-y, 0%));
  animation: shelfWallScan 6s ease-in-out infinite;
}

.sz-wall-topbar,
.sz-wall-footer {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  min-height: 2.55rem;
  padding: 0.7rem 1rem;
  color: var(--shelf-muted);
  font: 900 0.68rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.1em;
}

.sz-wall-topbar {
  justify-content: space-between;
  border-bottom: 1px solid var(--shelf-rule);
}

.sz-wall-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.46rem;
  color: var(--shelf-ink);
}

.sz-wall-brand i {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--shelf-orange);
  animation: shelfSignal 2s ease-in-out infinite;
}

.sz-wall-live { color: var(--shelf-blue); }
.sz-wall-live b { color: var(--shelf-orange); }
.sz-wall-count { color: oklch(0.18 0.045 258 / 0.5); }

.sz-wall-grid {
  display: grid;
  grid-template-columns: minmax(18rem, 0.86fr) minmax(0, 1.55fr);
}

.sz-wall-question {
  display: grid;
  align-content: center;
  gap: 0.72rem;
  min-height: 14rem;
  padding: 1.5rem 1.6rem;
  border-right: 1px solid var(--shelf-rule);
  background: linear-gradient(135deg, oklch(0.18 0.045 258), oklch(0.26 0.09 259));
}

.sz-wall-question small {
  color: var(--shelf-orange);
  font: 950 0.66rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.13em;
}

.sz-wall-question small b {
  margin-left: 0.35rem;
  color: oklch(0.98 0.015 94 / 0.72);
}

.sz-wall-question strong {
  color: oklch(0.98 0.015 94);
  font-size: clamp(1.2rem, 1.9vw, 1.72rem);
  font-weight: 900;
  line-height: 1.24;
}

.sz-wall-question strong span { color: oklch(0.98 0.015 94 / 0.9); }

.sz-wall-question mark {
  color: var(--shelf-orange);
  background: transparent;
}

.sz-wall-question p {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  color: oklch(0.98 0.015 94 / 0.64);
  font-size: 0.74rem;
  font-weight: 750;
}

.sz-wall-question p i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--shelf-lime);
  box-shadow: 0 0 0 0.25rem oklch(0.78 0.18 118 / 0.13);
}

.sz-wall-question.is-switching strong,
.sz-wall-question.is-switching p span {
  animation: shelfTextSwap 480ms ease both;
}

.sz-wall-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 0.75rem;
  padding: 1rem;
}

.sz-result {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: 1.2rem;
  min-height: 12rem;
  padding: 1rem;
  border: 1px solid var(--shelf-rule);
  background: oklch(0.985 0.01 94 / 0.78);
  transition: transform 260ms ease, background 260ms ease, border-color 260ms ease, color 260ms ease;
}

.sz-result::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--shelf-blue), var(--shelf-orange));
  transform-origin: left;
  transform: scaleX(0.35);
  animation: shelfResultBar 4.8s ease-in-out infinite;
}

.sz-result:nth-child(2)::after { animation-delay: 0.8s; }
.sz-result:nth-child(3)::after { animation-delay: 1.6s; }

.sz-result.is-active {
  color: oklch(0.98 0.015 94);
  border-color: var(--shelf-blue);
  background: var(--shelf-blue);
  transform: translateY(-0.45rem);
  box-shadow: 0 1.25rem 2.2rem -1.8rem oklch(0.56 0.21 268 / 0.8);
}

.sz-result.is-active::after { background: var(--shelf-orange); }

.sz-result-rank,
.sz-result-copy small,
.sz-result-score small {
  font: 950 0.62rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.1em;
}

.sz-result-rank { color: var(--shelf-orange); }
.sz-result.is-active .sz-result-rank { color: var(--shelf-lime); }

.sz-result-copy h2 {
  margin: 0.5rem 0 0;
  color: var(--shelf-ink);
  font-size: 1.12rem;
  font-weight: 950;
  line-height: 1.18;
}

.sz-result.is-active .sz-result-copy h2 { color: oklch(0.98 0.015 94); }

.sz-result-copy p {
  margin: 0.55rem 0 0;
  color: var(--shelf-muted);
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.5;
}

.sz-result.is-active .sz-result-copy p,
.sz-result.is-active .sz-result-copy small { color: oklch(0.98 0.015 94 / 0.72); }

.sz-result-score {
  display: flex;
  align-items: end;
  justify-content: space-between;
}

.sz-result-score b {
  color: var(--shelf-blue);
  font-size: 1.8rem;
  font-weight: 950;
  line-height: 0.9;
}

.sz-result.is-active .sz-result-score b { color: var(--shelf-orange); }
.sz-result-score small { color: var(--shelf-muted); }
.sz-result.is-active .sz-result-score small { color: oklch(0.98 0.015 94 / 0.66); }

.sz-wall-footer {
  justify-content: flex-start;
  border-top: 1px solid var(--shelf-rule);
  letter-spacing: 0.07em;
}

.sz-wall-footer span + span { padding-left: 1.25rem; border-left: 1px solid var(--shelf-rule); }
.sz-wall-footer b { color: var(--shelf-blue); }
.sz-wall-next { margin-left: auto; }
.sz-wall-next b { color: var(--shelf-orange); font-size: 1.2em; }

.sz-shelf-rail {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  gap: 2.2rem;
  overflow: hidden;
  border-top: 1px solid oklch(0.18 0.045 258 / 0.12);
  padding: 0.72rem max(1.2rem, calc((100vw - 76rem) / 2));
  color: oklch(0.18 0.045 258 / 0.58);
  background: oklch(0.975 0.018 94 / 0.72);
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.sz-shelf-rail span::before {
  content: "↗";
  margin-right: 0.38rem;
  color: var(--shelf-orange);
}

@keyframes shelfVisualDrift {
  from { transform: translate3d(var(--shelf-shift-x, 0px), var(--shelf-shift-y, 0px), 0) rotate(-7deg) translateY(-0.6rem); }
  to { transform: translate3d(var(--shelf-shift-x, 0px), var(--shelf-shift-y, 0px), 0) rotate(-5deg) translateY(0.8rem); }
}

@keyframes shelfBeam {
  0%, 100% { opacity: 0; transform: translateY(-18%); }
  42%, 62% { opacity: 1; transform: translateY(9%); }
}

@keyframes shelfLineFloat {
  from { opacity: 0.22; transform: translateX(-1.2rem) rotate(-12deg); }
  to { opacity: 0.65; transform: translateX(1.8rem) rotate(-8deg); }
}

@keyframes shelfSignal {
  0%, 100% { opacity: 0.55; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
}

@keyframes shelfWallScan {
  0%, 16% { opacity: 0; transform: translateY(0); }
  24% { opacity: 0.65; }
  72%, 100% { opacity: 0; transform: translateY(14rem); }
}

@keyframes shelfResultBar {
  0%, 18% { transform: scaleX(0.2); }
  54%, 100% { transform: scaleX(1); }
}

@keyframes shelfTextSwap {
  from { opacity: 0; transform: translateY(0.32rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1121px) and (max-height: 820px) {
  .sz-shelf-shell { padding-block: 2rem 2.8rem; }
  .sz-shelf-intro h1 { font-size: clamp(3.2rem, 5.1vw, 4.8rem); }
  .sz-shelf-intro p { margin-top: 0.75rem; line-height: 1.55; }
  .sz-shelf-actions { margin-top: 0.8rem; }
  .sz-shelf-proof { margin-top: 0.8rem; }
  .sz-answer-wall { margin-top: 1.8rem; }
  .sz-wall-question { min-height: 12rem; }
  .sz-result { min-height: 10.2rem; }
}

@media (max-width: 1120px) {
  .sz-shelf-shell { padding-bottom: 3.2rem; }
  .sz-shelf-visual { right: -20%; width: 70vw; opacity: 0.42; }
  .sz-wall-grid { grid-template-columns: 1fr; }
  .sz-wall-question { min-height: 0; border-right: 0; border-bottom: 1px solid var(--shelf-rule); }
}

@media (max-width: 760px) {
  .sz-shelf-hero { min-height: calc(100svh - var(--header-h)); }
  .sz-shelf-shell { align-content: start; min-height: calc(100svh - var(--header-h)); padding-block: 2.2rem 2.9rem; }
  .sz-shelf-visual { right: -44%; top: 16%; width: 110vw; height: 58%; opacity: 0.24; }
  .sz-shelf-signal { display: none; }
  .sz-shelf-intro h1 { max-width: 10ch; font-size: clamp(3rem, 14vw, 4.1rem); }
  .sz-shelf-intro p { max-width: 31rem; margin-top: 0.9rem; font-size: 0.92rem; line-height: 1.65; }
  .sz-shelf-actions { align-items: stretch; gap: 0.72rem; margin-top: 1rem; }
  .sz-shelf-actions .btn,
  .sz-shelf-link { justify-content: center; width: 100%; }
  .sz-shelf-proof { gap: 0.55rem; margin-top: 1rem; }
  .sz-shelf-proof span { display: grid; gap: 0.18rem; }
  .sz-shelf-proof small { font-size: 0.68rem; }
  .sz-answer-wall {
    display: block;
    margin-top: 1.65rem;
  }
  .sz-wall-topbar {
    min-height: 2.1rem;
    padding: 0.56rem 0.72rem;
  }
  .sz-wall-count,
  .sz-wall-results,
  .sz-wall-footer {
    display: none;
  }
  .sz-wall-question {
    min-height: 0;
    gap: 0.46rem;
    padding: 0.86rem 0.9rem 0.9rem;
    border: 0;
  }
  .sz-wall-question strong {
    font-size: 1rem;
    line-height: 1.3;
  }
  .sz-wall-question p {
    font-size: 0.68rem;
  }
  .sz-shelf-rail { gap: 1.4rem; padding-inline: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sz-shelf-visual,
  .sz-shelf-line,
  .sz-visual-beam,
  .sz-shelf-signal::before,
  .sz-shelf-kicker i,
  .sz-wall-brand i,
  .sz-answer-wall::before,
  .sz-result::after {
    animation: none !important;
  }
}

/* Shenzhen specimen rebuild: a single hardware exhibit instead of a poster or dashboard. */
body:has(.sz-specimen-hero) {
  background: #f3eee4;
}

body:has(.sz-specimen-hero) .site-header {
  background: rgba(247, 243, 235, 0.96);
  border-bottom: 1px solid rgba(30, 35, 31, 0.16);
  box-shadow: 0 1rem 2.5rem -2rem rgba(30, 35, 31, 0.34);
  backdrop-filter: blur(16px);
}

body:has(.sz-specimen-hero) .site-header::before {
  background: #f15f3f;
}

body:has(.sz-specimen-hero) .site-header .brand .brand-name,
body:has(.sz-specimen-hero) .site-header .brand-name,
body:has(.sz-specimen-hero) .site-header .brand small,
body:has(.sz-specimen-hero) .site-header .site-nav a,
body:has(.sz-specimen-hero) .site-header .hotline {
  color: #1e231f;
}

body:has(.sz-specimen-hero) .site-header .brand-sub {
  color: rgba(30, 35, 31, 0.56);
}

body:has(.sz-specimen-hero) .site-header .site-nav a:hover,
body:has(.sz-specimen-hero) .site-header .site-nav a.active,
body:has(.sz-specimen-hero) .site-header .hotline strong {
  color: #f15f3f;
}

body:has(.sz-specimen-hero) .site-header .site-nav a.active::after {
  background: #f15f3f;
}

body:has(.sz-specimen-hero) .site-header .btn-header,
.sz-specimen-hero .btn-cta {
  background: #f15f3f;
  color: #1e231f;
  box-shadow: 0 0.85rem 1.7rem -1.2rem rgba(241, 95, 63, 0.92);
}

body:has(.sz-specimen-hero) .site-header .nav-toggle {
  border-color: rgba(30, 35, 31, 0.24);
}

body:has(.sz-specimen-hero) .site-header .nav-toggle span,
body:has(.sz-specimen-hero) .site-header .nav-toggle span::before,
body:has(.sz-specimen-hero) .site-header .nav-toggle span::after {
  background: #1e231f;
}

.sz-specimen-hero {
  --spec-paper: #f3eee4;
  --spec-ink: #1e231f;
  --spec-muted: #646760;
  --spec-rule: rgba(30, 35, 31, 0.18);
  --spec-orange: #f15f3f;
  --spec-lime: #b8d34e;
  --spec-board: #171c18;
  --spec-board-edge: #4b554d;
  --specimen-x: 0px;
  --specimen-y: 0px;
  --specimen-rotate-x: 0deg;
  --specimen-rotate-y: 0deg;
  --specimen-scroll: 0;
  position: relative;
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  color: var(--spec-ink);
  background: var(--spec-paper);
  isolation: isolate;
}

.sz-specimen-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.35;
  background-size: 3.2rem 3.2rem;
  background-image:
    linear-gradient(to right, rgba(30, 35, 31, 0.075) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.075) 1px, transparent 1px);
}

.sz-specimen-hero::after {
  content: "";
  position: absolute;
  right: -10rem;
  bottom: -10rem;
  z-index: -1;
  width: 36rem;
  height: 36rem;
  border: 1px solid rgba(184, 211, 78, 0.52);
  border-radius: 50%;
  box-shadow: 0 0 0 3.6rem rgba(184, 211, 78, 0.08), 0 0 0 7.2rem rgba(184, 211, 78, 0.05);
  transform: rotate(-18deg);
}

.sz-specimen-backdrop {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.sz-specimen-word {
  position: absolute;
  right: -2.2rem;
  bottom: 4.5rem;
  color: transparent;
  font-size: clamp(8rem, 21vw, 22rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 0.78;
  opacity: 0.52;
  -webkit-text-stroke: 1px rgba(30, 35, 31, 0.14);
  transform: rotate(-8deg);
  user-select: none;
}

.sz-specimen-rule {
  position: absolute;
  height: 1px;
  background: var(--spec-orange);
  opacity: 0.65;
  transform-origin: left center;
}

.sz-specimen-rule.rule-a {
  top: 21%;
  right: -4rem;
  width: 52%;
  transform: rotate(-12deg);
}

.sz-specimen-rule.rule-b {
  bottom: 18%;
  left: -5rem;
  width: 47%;
  opacity: 0.35;
  transform: rotate(9deg);
}

.sz-specimen-stamp {
  position: absolute;
  top: 10.5rem;
  right: 3.5%;
  color: rgba(30, 35, 31, 0.46);
  font: 800 0.65rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.16em;
  transform: rotate(90deg);
  transform-origin: right center;
}

.sz-specimen-shell {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: calc(100svh - var(--header-h));
  padding-top: 2rem;
  padding-bottom: 1rem;
}

.sz-specimen-topline,
.sz-specimen-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(30, 35, 31, 0.58);
  font: 800 0.64rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sz-specimen-topline b,
.sz-specimen-bottom b {
  color: var(--spec-orange);
}

.sz-specimen-layout {
  display: grid;
  grid-template-columns: minmax(20rem, 0.78fr) minmax(35rem, 1.22fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 6rem);
  min-height: 40rem;
  padding-block: 2rem 1rem;
}

.sz-specimen-copy {
  position: relative;
  z-index: 2;
  max-width: 34rem;
}

.sz-specimen-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--spec-ink);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.sz-specimen-kicker i {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--spec-orange);
  box-shadow: 0 0 0 0.35rem rgba(241, 95, 63, 0.14);
  animation: specimenPulse 2.2s ease-in-out infinite;
}

.sz-specimen-copy h1 {
  max-width: 10ch;
  margin: 1.4rem 0 0;
  color: var(--spec-ink);
  font-size: clamp(3rem, 5.4vw, 5.9rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 0.99;
}

.sz-specimen-copy h1 em {
  color: var(--spec-orange);
  font-style: normal;
}

.sz-specimen-copy > p {
  max-width: 33rem;
  margin: 1.4rem 0 0;
  color: var(--spec-muted);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.85;
}

.sz-specimen-question {
  position: relative;
  max-width: 34rem;
  margin-top: 2rem;
  padding: 0.9rem 0 1rem 1rem;
  border-top: 1px solid var(--spec-rule);
  border-bottom: 1px solid var(--spec-rule);
}

.sz-specimen-question::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--spec-lime);
}

.sz-specimen-question small,
.sz-specimen-stage-meta,
.sz-specimen-answer small {
  display: block;
  color: rgba(30, 35, 31, 0.52);
  font: 800 0.62rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.13em;
}

.sz-specimen-question strong {
  display: block;
  margin-top: 0.55rem;
  color: var(--spec-ink);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.45;
}

.sz-specimen-question strong.is-changing,
.sz-specimen-answer strong.is-changing {
  animation: specimenTextSwap 520ms ease both;
}

.sz-specimen-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 1.8rem;
}

.sz-specimen-actions .btn-cta { border: 0; }

.sz-specimen-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--spec-ink);
  font-weight: 900;
}

.sz-specimen-link span { color: var(--spec-orange); transition: transform 220ms ease; }
.sz-specimen-link:hover span { transform: translate(0.18rem, -0.18rem); }

.sz-specimen-stage {
  position: relative;
  min-height: 40rem;
  perspective: 1200px;
}

.sz-specimen-stage-meta {
  position: absolute;
  top: 3rem;
  right: 7%;
  left: 7%;
  display: flex;
  justify-content: space-between;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--spec-rule);
}

.sz-specimen-stage-meta b {
  color: var(--spec-orange);
  font-weight: 900;
}

.sz-specimen-orbit-label {
  position: absolute;
  z-index: 5;
  display: grid;
  gap: 0.22rem;
  color: var(--spec-ink);
  font-size: 0.88rem;
  font-weight: 950;
  line-height: 1;
}

.sz-specimen-orbit-label::before {
  content: "";
  display: block;
  width: 2.8rem;
  height: 2px;
  margin-bottom: 0.28rem;
  background: var(--spec-orange);
}

.sz-specimen-orbit-label small {
  color: rgba(30, 35, 31, 0.54);
  font-size: 0.64rem;
  font-weight: 800;
}

.label-nanshan { top: 34%; left: -1%; }
.label-baoan { right: -1%; bottom: 38%; text-align: right; }
.label-baoan::before { margin-left: auto; background: var(--spec-lime); }
.label-longhua { bottom: 28%; left: -3%; }
.label-longhua::before { width: 4.2rem; background: var(--spec-ink); }

.sz-specimen-device {
  position: absolute;
  top: 51%;
  left: 50%;
  width: clamp(22rem, 35vw, 34rem);
  aspect-ratio: 1.24;
  transform: translate3d(calc(-50% + var(--specimen-x)), calc(-50% + var(--specimen-y) - (var(--specimen-scroll) * 0.6rem)), 0) rotateX(var(--specimen-rotate-x)) rotateY(var(--specimen-rotate-y)) rotateZ(-9deg);
  transform-style: preserve-3d;
  animation: specimenFloat 6.5s ease-in-out infinite;
  transition: transform 420ms cubic-bezier(0.22, 0.72, 0.28, 1);
}

.specimen-shadow {
  position: absolute;
  right: 4%;
  bottom: -13%;
  left: 5%;
  height: 18%;
  border-radius: 50%;
  background: rgba(30, 35, 31, 0.28);
  filter: blur(1.2rem);
  transform: rotate(4deg) translateZ(-70px);
}

.specimen-board {
  position: absolute;
  border-radius: 0.55rem;
  transform-style: preserve-3d;
}

.specimen-board-back {
  inset: 12% 8% 8% 11%;
  border: 1px solid rgba(30, 35, 31, 0.28);
  background: #ded5c5;
  box-shadow: 1.1rem 1.35rem 0 rgba(30, 35, 31, 0.12);
  transform: translateZ(-46px) translate(1.2rem, 1.1rem) rotate(3deg);
}

.specimen-board-main {
  inset: 8% 10% 12% 7%;
  overflow: hidden;
  border: 2px solid var(--spec-board-edge);
  background: var(--spec-board);
  box-shadow: 0 2.2rem 2rem -1.4rem rgba(30, 35, 31, 0.68), inset 0 0 0 0.5rem rgba(255, 255, 255, 0.02);
  transform: translateZ(12px);
}

.specimen-board-main::before,
.specimen-board-main::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.specimen-board-main::before {
  inset: 8%;
  border: 1px solid rgba(184, 211, 78, 0.44);
}

.specimen-board-main::after {
  right: 9%;
  bottom: 9%;
  width: 30%;
  height: 18%;
  border-right: 1px solid var(--spec-orange);
  border-bottom: 1px solid var(--spec-orange);
}

.board-corner {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-color: rgba(184, 211, 78, 0.8);
  border-style: solid;
}
.board-corner-a { top: 6%; left: 6%; border-width: 1px 0 0 1px; }
.board-corner-b { top: 6%; right: 6%; border-width: 1px 1px 0 0; }
.board-corner-c { right: 6%; bottom: 6%; border-width: 0 1px 1px 0; }
.board-corner-d { bottom: 6%; left: 6%; border-width: 0 0 1px 1px; }

.board-trace {
  position: absolute;
  height: 1px;
  background: var(--spec-orange);
  opacity: 0.82;
  transform-origin: left center;
}
.trace-a { top: 30%; left: 19%; width: 27%; transform: rotate(22deg); }
.trace-b { top: 58%; left: 47%; width: 30%; transform: rotate(-18deg); background: var(--spec-lime); }
.trace-c { top: 70%; left: 24%; width: 19%; transform: rotate(-42deg); }
.trace-d { top: 43%; left: 62%; width: 20%; transform: rotate(58deg); background: var(--spec-lime); }

.board-chip {
  position: absolute;
  display: grid;
  place-items: center;
  color: var(--spec-board);
  font: 950 1.1rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: var(--spec-lime);
  box-shadow: 0 0 0 0.35rem rgba(184, 211, 78, 0.08), 0.5rem 0.6rem 0 rgba(0, 0, 0, 0.22);
}
.chip-main { top: 37%; left: 40%; width: 19%; aspect-ratio: 1; border-radius: 0.2rem; }
.chip-side { top: 18%; right: 17%; width: 12%; aspect-ratio: 1.4; color: var(--spec-orange); background: #ece2d1; font-size: 0.72rem; }
.chip-small { bottom: 18%; left: 18%; width: 10%; aspect-ratio: 1; border-radius: 50%; color: var(--spec-orange); background: #ece2d1; font-size: 0.55rem; }

.board-port {
  position: absolute;
  width: 0.55rem;
  height: 2.4rem;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: #303932;
}
.port-a { top: 23%; left: 9%; }
.port-b { right: 9%; bottom: 20%; transform: rotate(90deg); }

.board-mark {
  position: absolute;
  right: 9%;
  bottom: 9%;
  color: rgba(255, 255, 255, 0.5);
  font: 800 0.55rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.12em;
}

.board-rivet {
  position: absolute;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--spec-orange);
  box-shadow: 0 0 0 0.25rem rgba(241, 95, 63, 0.14);
}
.rivet-a { top: 15%; left: 12%; }
.rivet-b { right: 12%; bottom: 15%; }

.specimen-layer {
  position: absolute;
  z-index: 3;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.55rem;
  align-items: baseline;
  min-width: 8.8rem;
  padding: 0.68rem 0.75rem;
  border: 1px solid rgba(30, 35, 31, 0.25);
  background: #f3eee4;
  box-shadow: 0.35rem 0.4rem 0 rgba(30, 35, 31, 0.14);
  color: var(--spec-ink);
  transition: border-color 320ms ease, box-shadow 320ms ease, transform 420ms ease, background 320ms ease;
}

.specimen-layer small {
  grid-row: span 2;
  color: var(--spec-orange);
  font: 950 0.64rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.specimen-layer b { font: 950 0.66rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: 0.07em; }
.specimen-layer span { grid-column: 2; margin-top: 0.24rem; color: var(--spec-muted); font-size: 0.65rem; font-weight: 800; }
.layer-parameter { top: 10%; left: 1%; transform: translateZ(80px) rotate(-5deg); }
.layer-cert { top: 16%; right: 3%; transform: translateZ(120px) rotate(5deg); }
.layer-sample { right: 0; bottom: 18%; transform: translateZ(90px) rotate(4deg); }
.layer-delivery { bottom: 32%; left: 1%; transform: translateZ(112px) rotate(-5deg); }

.sz-specimen-device[data-active-layer="1"] .layer-parameter,
.sz-specimen-device[data-active-layer="2"] .layer-cert,
.sz-specimen-device[data-active-layer="3"] .layer-sample,
.sz-specimen-device[data-active-layer="4"] .layer-delivery {
  border-color: var(--spec-orange);
  background: #fff7e8;
  box-shadow: 0.55rem 0.65rem 0 rgba(241, 95, 63, 0.2);
}

.specimen-scan {
  position: absolute;
  z-index: 4;
  top: 10%;
  left: 9%;
  width: 82%;
  height: 2px;
  background: var(--spec-lime);
  box-shadow: 0 0 1rem rgba(184, 211, 78, 0.8);
  transform: translateZ(45px);
  animation: specimenScan 3.8s ease-in-out infinite;
}

.sz-specimen-answer {
  position: absolute;
  right: 9%;
  bottom: 2.5%;
  left: 11%;
  z-index: 6;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 0.36rem;
  padding: 0.8rem 1rem 0.86rem;
  border-top: 2px solid var(--spec-ink);
  border-bottom: 1px solid var(--spec-rule);
  background: rgba(243, 238, 228, 0.94);
  backdrop-filter: blur(7px);
}

.sz-specimen-answer strong {
  display: block;
  color: var(--spec-ink);
  font-size: 1.28rem;
  font-weight: 950;
  line-height: 1.12;
}

.sz-specimen-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding-top: 0.12rem;
}

.sz-specimen-steps span {
  padding: 0.3rem 0.5rem;
  border: 1px solid rgba(30, 35, 31, 0.2);
  color: rgba(30, 35, 31, 0.54);
  font-size: 0.64rem;
  font-weight: 900;
  transition: border-color 240ms ease, color 240ms ease, background 240ms ease;
}

.sz-specimen-steps span.is-active {
  border-color: var(--spec-orange);
  color: var(--spec-ink);
  background: rgba(241, 95, 63, 0.13);
}

.sz-specimen-bottom {
  padding-top: 0.8rem;
  border-top: 1px solid var(--spec-rule);
}

.sz-specimen-scroll { display: inline-flex; align-items: center; gap: 0.5rem; }
.sz-specimen-scroll i { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--spec-lime); }

@keyframes specimenFloat {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -0.75rem; }
}

@keyframes specimenPulse {
  0%, 100% { box-shadow: 0 0 0 0.25rem rgba(241, 95, 63, 0.1); }
  50% { box-shadow: 0 0 0 0.58rem rgba(241, 95, 63, 0.16); }
}

@keyframes specimenScan {
  0%, 12% { opacity: 0; transform: translate3d(0, -1.6rem, 45px); }
  28%, 72% { opacity: 1; }
  88%, 100% { opacity: 0; transform: translate3d(0, 14rem, 45px); }
}

@keyframes specimenTextSwap {
  from { opacity: 0; transform: translateY(0.3rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1120px) {
  .sz-specimen-layout { grid-template-columns: minmax(18rem, 0.82fr) minmax(30rem, 1.18fr); gap: 2rem; }
  .sz-specimen-copy h1 { font-size: clamp(3rem, 5.8vw, 4.8rem); }
  .sz-specimen-stage { min-height: 36rem; }
}

@media (min-width: 1121px) {
  .sz-specimen-layout { min-height: 34rem; padding-block: 1rem 0; }
  .sz-specimen-copy h1 { max-width: 12ch; margin-top: 1rem; font-size: clamp(3.35rem, 4vw, 4.45rem); line-height: 0.95; }
  .sz-specimen-copy > p { margin-top: 1rem; font-size: 0.94rem; line-height: 1.62; }
  .sz-specimen-question { margin-top: 1.35rem; padding-block: 0.75rem 0.86rem; }
  .sz-specimen-actions { margin-top: 1.25rem; }
  .sz-specimen-stage { min-height: 34rem; }
}

@media (min-width: 1440px) {
  .sz-specimen-layout { grid-template-columns: minmax(28rem, 0.95fr) minmax(34rem, 1.05fr); gap: 3rem; }
}

@media (min-width: 1121px) and (max-height: 820px) {
  .sz-specimen-shell { padding-top: 1.1rem; }
  .sz-specimen-layout { min-height: 31rem; padding-block: 0.7rem 0; }
  .sz-specimen-copy h1 { margin-top: 0.95rem; font-size: clamp(3rem, 5vw, 4.8rem); }
  .sz-specimen-copy > p { margin-top: 0.85rem; line-height: 1.58; }
  .sz-specimen-question { margin-top: 1.2rem; padding-block: 0.72rem 0.8rem; }
  .sz-specimen-actions { margin-top: 1.15rem; }
  .sz-specimen-stage { min-height: 31rem; }
  .sz-specimen-stage-meta { top: 1.2rem; }
  .sz-specimen-bottom { padding-top: 0.5rem; }
}

@media (max-width: 760px) {
  .sz-specimen-shell { min-height: calc(100svh - var(--header-h)); padding-top: 1.35rem; padding-bottom: 0.8rem; }
  .sz-specimen-topline,
  .sz-specimen-bottom { font-size: 0.56rem; letter-spacing: 0.08em; }
  .sz-specimen-topline span:last-child,
  .sz-specimen-bottom span:last-child { display: none; }
  .sz-specimen-layout { display: block; min-height: 0; padding-block: 2.4rem 0; }
  .sz-specimen-copy { max-width: 100%; }
  .sz-specimen-copy h1 { max-width: 9ch; margin-top: 1rem; font-size: clamp(2.8rem, 12vw, 4.1rem); }
  .sz-specimen-copy > p { margin-top: 1rem; font-size: 0.88rem; line-height: 1.7; }
  .sz-specimen-question { margin-top: 1.3rem; padding-block: 0.72rem 0.8rem; }
  .sz-specimen-question strong { font-size: 0.84rem; }
  .sz-specimen-actions { gap: 0.8rem; margin-top: 1.2rem; }
  .sz-specimen-actions .btn-cta { min-height: 3rem; padding-inline: 1.1rem; }
  .sz-specimen-stage { min-height: 30rem; margin-top: 1rem; }
  .sz-specimen-stage-meta { top: 1rem; right: 2%; left: 2%; }
  .sz-specimen-device { top: 48%; width: min(92vw, 25rem); }
  .sz-specimen-orbit-label { font-size: 0.7rem; }
  .sz-specimen-orbit-label small { font-size: 0.55rem; }
  .label-nanshan { top: 28%; left: 0; }
  .label-baoan { right: 0; bottom: 34%; }
  .label-longhua { bottom: 23%; left: 0; }
  .specimen-layer { min-width: 7rem; padding: 0.5rem 0.52rem; }
  .specimen-layer b { font-size: 0.55rem; }
  .specimen-layer span { font-size: 0.54rem; }
  .layer-parameter { top: 12%; left: 0; }
  .layer-cert { top: 18%; right: 0; }
  .layer-sample { right: 0; bottom: 17%; }
  .layer-delivery { bottom: 29%; left: 0; }
  .sz-specimen-answer { right: 3%; bottom: 0; left: 3%; gap: 0.32rem; padding: 0.62rem 0.72rem 0.66rem; }
  .sz-specimen-answer strong { font-size: 0.94rem; line-height: 1.16; }
  .sz-specimen-steps span { padding: 0.25rem 0.4rem; font-size: 0.56rem; }
  .sz-specimen-word { right: -4rem; bottom: 22rem; font-size: 8rem; }
  .sz-specimen-stamp { top: 20rem; right: -0.4rem; font-size: 0.52rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sz-specimen-hero *,
  .sz-specimen-hero::after,
  .sz-specimen-hero::before {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* Shenzhen subpages final skin: same specimen-lab language as the homepage. */
body:has(.sz-subpage) {
  background: #f3eee4;
}

body:has(.sz-subpage) .site-header {
  background: rgba(247, 243, 235, 0.96);
  border-bottom: 1px solid rgba(30, 35, 31, 0.16);
  box-shadow: 0 1rem 2.5rem -2rem rgba(30, 35, 31, 0.34);
  backdrop-filter: blur(16px);
}

body:has(.sz-subpage) .site-header::before {
  background: #f15f3f;
}

body:has(.sz-subpage) .site-header .brand .brand-name,
body:has(.sz-subpage) .site-header .brand-name,
body:has(.sz-subpage) .site-header .brand small,
body:has(.sz-subpage) .site-header .site-nav a,
body:has(.sz-subpage) .site-header .hotline {
  color: #1e231f;
}

body:has(.sz-subpage) .site-header .brand-sub {
  color: rgba(30, 35, 31, 0.56);
}

body:has(.sz-subpage) .site-header .site-nav a:hover,
body:has(.sz-subpage) .site-header .site-nav a.active,
body:has(.sz-subpage) .site-header .hotline strong {
  color: #f15f3f;
}

body:has(.sz-subpage) .site-header .site-nav a.active::after {
  background: #f15f3f;
}

body:has(.sz-subpage) .site-header .btn-header {
  background: #f15f3f;
  color: #1e231f;
  box-shadow: 0 0.85rem 1.7rem -1.2rem rgba(241, 95, 63, 0.92);
}

.sz-subpage {
  --spec-paper: #f3eee4;
  --spec-ink: #1e231f;
  --spec-muted: #646760;
  --spec-rule: rgba(30, 35, 31, 0.18);
  --spec-orange: #f15f3f;
  --spec-lime: #b8d34e;
  --spec-board: #171c18;
  --spec-porcelain: #fff8ec;
  color: var(--spec-ink);
  background:
    linear-gradient(to right, rgba(30, 35, 31, 0.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.055) 1px, transparent 1px),
    var(--spec-paper) !important;
  background-size: 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
}

.sz-subpage .page-header.sz-page-header {
  position: relative;
  min-height: clamp(23rem, 36vw, 31rem);
  overflow: hidden;
  border-bottom: 1px solid var(--spec-rule) !important;
  background: var(--spec-paper) !important;
  color: var(--spec-ink) !important;
  padding-block: clamp(4.6rem, 8vw, 6.6rem) clamp(3.7rem, 7vw, 5.5rem);
  isolation: isolate;
}

.sz-subpage .page-header.sz-page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.42;
  background-image:
    linear-gradient(to right, rgba(30, 35, 31, 0.075) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.075) 1px, transparent 1px);
  background-size: 3.2rem 3.2rem;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.sz-subpage .page-header.sz-page-header::after {
  content: "";
  position: absolute;
  right: -6rem;
  bottom: -14rem;
  z-index: -1;
  width: min(38vw, 32rem);
  height: min(38vw, 32rem);
  border: 1px solid rgba(184, 211, 78, 0.42) !important;
  border-radius: 50%;
  background: transparent !important;
  box-shadow:
    0 0 0 3.6rem rgba(184, 211, 78, 0.07),
    0 0 0 7.2rem rgba(184, 211, 78, 0.045) !important;
  opacity: 0.95 !important;
  animation: szPageRingDrift 13s ease-in-out infinite alternate;
  pointer-events: none;
}

.sz-page-field {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.sz-page-word {
  position: absolute;
  right: -2rem;
  bottom: 0.6rem;
  color: transparent;
  font-size: clamp(6rem, 17vw, 16rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 0.8;
  opacity: 0.46;
  -webkit-text-stroke: 1px rgba(30, 35, 31, 0.12);
  transform: rotate(-7deg);
  user-select: none;
}

.sz-page-rule {
  position: absolute;
  height: 1px;
  background: var(--spec-orange);
  opacity: 0.56;
  transform-origin: left center;
}

.sz-page-rule.rule-a {
  top: 28%;
  right: -5rem;
  width: 54%;
  transform: rotate(-12deg);
}

.sz-page-rule.rule-b {
  bottom: 20%;
  left: -5rem;
  width: 42%;
  opacity: 0.32;
  transform: rotate(9deg);
}

.sz-page-mini-stage {
  position: absolute;
  top: 46%;
  right: max(2.4vw, calc((100vw - 1200px) / 2 + 0.5rem));
  width: clamp(12rem, 20vw, 18rem);
  aspect-ratio: 1.32;
  transform: translateY(-46%) rotate(-5deg);
  animation: szPageStageFloat 7.5s ease-in-out infinite;
}

.sz-page-mini-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid var(--spec-rule);
  color: rgba(30, 35, 31, 0.52);
  font: 800 0.58rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.12em;
}

.sz-page-mini-top b {
  color: var(--spec-orange);
}

.sz-page-mini-board {
  position: absolute;
  inset: 18% 13% 16% 8%;
  display: grid;
  place-items: center;
  border: 2px solid #4b554d;
  border-radius: 0.5rem;
  background: var(--spec-board);
  box-shadow:
    0 1.7rem 2rem -1.15rem rgba(30, 35, 31, 0.56),
    inset 0 0 0 0.45rem rgba(255, 255, 255, 0.025);
}

.sz-page-mini-board::before,
.sz-page-mini-board::after {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(184, 211, 78, 0.36);
}

.sz-page-mini-board::after {
  inset: auto 14% 18% auto;
  width: 28%;
  height: 18%;
  border-top: 0;
  border-left: 0;
  border-color: var(--spec-orange);
}

.sz-page-mini-board i {
  position: absolute;
  height: 1px;
  width: 44%;
  background: var(--spec-lime);
  transform-origin: left center;
}

.sz-page-mini-board i:first-child {
  left: 18%;
  top: 34%;
  transform: rotate(18deg);
}

.sz-page-mini-board i:nth-child(2) {
  left: 33%;
  bottom: 30%;
  width: 36%;
  background: var(--spec-orange);
  transform: rotate(-24deg);
}

.sz-page-mini-board strong {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 4.4rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 0.22rem;
  background: var(--spec-lime);
  color: var(--spec-board);
  font: 950 1.5rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  box-shadow: 0.42rem 0.5rem 0 rgba(0, 0, 0, 0.22);
}

.sz-mini-tag {
  position: absolute;
  z-index: 2;
  min-width: 8rem;
  padding: 0.58rem 0.68rem;
  border: 1px solid rgba(30, 35, 31, 0.22);
  background: #fff8ec;
  box-shadow: 0.32rem 0.36rem 0 rgba(30, 35, 31, 0.12);
  color: var(--spec-ink);
  font: 900 0.62rem/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.06em;
}

.sz-mini-tag::before {
  content: "";
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.34rem;
  border-radius: 50%;
  background: var(--spec-orange);
  box-shadow: 0 0 0 0.26rem rgba(241, 95, 63, 0.14);
  vertical-align: 0.02rem;
}

.sz-mini-tag.tag-a {
  top: 21%;
  left: -2%;
}

.sz-mini-tag.tag-b {
  top: 21%;
  right: -2%;
  transform: rotate(4deg);
}

.sz-mini-tag.tag-c {
  right: 7%;
  bottom: 4%;
  transform: rotate(3deg);
}

.sz-subpage .page-header .ph-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px !important;
  margin-inline: auto;
  padding-inline: 1.25rem;
  text-align: left !important;
}

.sz-subpage .page-header .ph-eyebrow,
.sz-subpage .kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.25rem;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--spec-ink) !important;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: none;
}

.sz-subpage .page-header .ph-eyebrow::before,
.sz-subpage .kicker::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--spec-orange) !important;
  box-shadow: 0 0 0 0.35rem rgba(241, 95, 63, 0.14) !important;
}

.sz-subpage .page-header h1 {
  max-width: min(13ch, 48rem) !important;
  color: var(--spec-ink) !important;
  font-size: clamp(2.7rem, 5.1vw, 5.25rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 0.98;
}

.sz-subpage .page-header h1 .hl {
  color: var(--spec-orange) !important;
}

.sz-subpage .page-header h1 .hl::after {
  display: none !important;
}

.sz-subpage .page-header .ph-sub {
  max-width: 36rem;
  margin: 1.25rem 0 0 !important;
  color: var(--spec-muted) !important;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.85;
}

.sz-page-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  max-width: 36rem;
  margin-top: 1.65rem;
}

.sz-page-proof span {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  border: 1px solid var(--spec-rule);
  border-radius: 0;
  background: rgba(255, 248, 236, 0.74);
  padding: 0.42rem 0.7rem;
  color: var(--spec-ink);
  font: 900 0.66rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.06em;
  box-shadow: 0 1rem 1.8rem -1.65rem rgba(30, 35, 31, 0.34);
}

.sz-page-proof span:first-child {
  border-left: 3px solid var(--spec-lime);
}

.sz-subpage .section {
  position: relative;
  background: transparent !important;
}

.sz-subpage .section.bg-cream {
  border-block: 1px solid var(--spec-rule);
  background:
    linear-gradient(to right, rgba(30, 35, 31, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.04) 1px, transparent 1px),
    #f7f1e6 !important;
  background-size: 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
}

.sz-subpage .section-head h2,
.sz-subpage .deliver-head h3,
.sz-subpage .article-content h2,
.sz-subpage .article-content h3 {
  color: var(--spec-ink) !important;
  letter-spacing: 0;
}

.sz-subpage .section-head h2 .hl,
.sz-subpage .deliver-head h3 .hl {
  color: var(--spec-orange) !important;
}

.sz-subpage .section-head .lead,
.sz-subpage .deliver-head p,
.sz-subpage .article-content p,
.sz-subpage .article-content li {
  color: var(--spec-muted) !important;
}

.sz-subpage .method-overview-item,
.sz-subpage .summit-card,
.sz-subpage .service-flow-intro a,
.sz-subpage .process-row,
.sz-subpage .service-card,
.sz-subpage .cert-card,
.sz-subpage .cred,
.sz-subpage .local-feature,
.sz-subpage .list-row,
.sz-subpage .faq-item,
.sz-subpage .paper-nav,
.sz-subpage .paper-toolbar,
.sz-subpage .paper-main,
.sz-subpage .info-banner {
  border-color: var(--spec-rule) !important;
  border-radius: 0.35rem !important;
  background:
    linear-gradient(180deg, rgba(255, 248, 236, 0.86), rgba(243, 238, 228, 0.7)),
    var(--spec-paper) !important;
  box-shadow: 0 1.4rem 2.8rem -2.35rem rgba(30, 35, 31, 0.42) !important;
}

.sz-subpage .method-overview-item,
.sz-subpage .service-flow-intro a {
  border-left: 3px solid var(--spec-orange) !important;
}

.sz-subpage .summit-card::before,
.sz-subpage .process-row::after,
.sz-subpage .service-card::before,
.sz-subpage .cert-card::before {
  background: var(--spec-orange) !important;
}

.sz-subpage .summit-card:hover,
.sz-subpage .service-flow-intro a:hover,
.sz-subpage .service-card:hover,
.sz-subpage .cert-card:hover,
.sz-subpage .list-row:hover,
.sz-subpage .faq-item:hover {
  border-color: rgba(241, 95, 63, 0.52) !important;
  transform: translateY(-3px);
  box-shadow: 0 1.8rem 3.4rem -2.35rem rgba(30, 35, 31, 0.5) !important;
}

.sz-subpage .step-n,
.sz-subpage .method-overview-item > span,
.sz-subpage .panel-kicker,
.sz-subpage .paper-kicker,
.sz-subpage .service-flow-intro span,
.sz-subpage .d-step {
  color: var(--spec-orange) !important;
  letter-spacing: 0.06em !important;
}

.sz-subpage .summit-card .step-name,
.sz-subpage .service-flow-intro strong,
.sz-subpage .process-row h3,
.sz-subpage .faq-q,
.sz-subpage .paper-toolbar strong,
.sz-subpage .paper-page h2,
.sz-subpage .paper-page h3 {
  color: var(--spec-ink) !important;
  letter-spacing: 0;
}

.sz-subpage .summit-card .step-deco,
.sz-subpage .process-row dd,
.sz-subpage .service-flow-intro p,
.sz-subpage .faq-a p,
.sz-subpage .paper-count,
.sz-subpage .paper-nav a {
  color: var(--spec-muted) !important;
}

.sz-subpage .summit-card {
  min-height: 8.8rem;
}

.sz-subpage .process-list::before {
  background: linear-gradient(180deg, var(--spec-orange), var(--spec-lime), rgba(30, 35, 31, 0.28)) !important;
}

.sz-subpage .process-row .p-n {
  border: 1px solid var(--spec-rule) !important;
  border-radius: 0.25rem !important;
  background: var(--spec-board) !important;
  color: var(--spec-lime) !important;
  box-shadow: 0.32rem 0.36rem 0 rgba(30, 35, 31, 0.14) !important;
}

.sz-subpage .process-row .p-item::before {
  background: var(--spec-orange) !important;
  box-shadow: 0 0 0 0.26rem rgba(241, 95, 63, 0.14) !important;
}

.sz-subpage .deliver-table-wrap,
.sz-subpage .paper-toolbar {
  border-color: var(--spec-rule) !important;
  background: rgba(255, 248, 236, 0.76) !important;
}

.sz-subpage .deliver-table thead th,
.sz-subpage .article-content th {
  background: #fff8ec !important;
  color: var(--spec-ink) !important;
}

.sz-subpage .faq-wrap {
  max-width: 58rem;
}

.sz-subpage .faq-item {
  margin-bottom: 0.7rem;
  overflow: hidden;
}

.sz-subpage .faq-q[aria-expanded="true"],
.sz-subpage .paper-nav a:hover,
.sz-subpage .paper-nav a.is-active {
  background: rgba(184, 211, 78, 0.14) !important;
  color: var(--spec-ink) !important;
}

.sz-subpage .faq-q .chev {
  color: var(--spec-orange) !important;
}

.sz-subpage .list-wrap {
  max-width: 60rem;
}

.sz-subpage .list-row {
  margin-bottom: 0.8rem;
  padding: 1.25rem 1.3rem !important;
}

.sz-subpage .list-row:first-child {
  padding-top: 1.25rem !important;
}

.sz-subpage .paper-reader {
  background:
    linear-gradient(to right, rgba(30, 35, 31, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.04) 1px, transparent 1px),
    transparent !important;
  background-size: 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
}

.sz-subpage .paper-main {
  padding: clamp(1.2rem, 3vw, 2rem) !important;
}

.sz-subpage .paper-count,
.sz-subpage .pagination .pager-num.current {
  border-color: var(--spec-rule) !important;
  background: var(--spec-board) !important;
  color: var(--spec-lime) !important;
}

.sz-subpage .article-content blockquote {
  border-left-color: var(--spec-orange) !important;
  background: rgba(184, 211, 78, 0.12) !important;
}

.sz-subpage .local-scene {
  border-color: var(--spec-rule) !important;
  border-radius: 0.35rem !important;
  background:
    linear-gradient(to right, rgba(30, 35, 31, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.06) 1px, transparent 1px),
    #fff8ec !important;
  background-size: 2.6rem 2.6rem, 2.6rem 2.6rem, auto !important;
  box-shadow: 0 1.6rem 3rem -2.4rem rgba(30, 35, 31, 0.42) !important;
}

.sz-subpage .local-scene .scene-label {
  border-color: var(--spec-rule) !important;
  background: rgba(255, 248, 236, 0.86) !important;
  color: var(--spec-ink) !important;
}

.sz-subpage .cta-band {
  border-block: 1px solid var(--spec-rule) !important;
  background:
    linear-gradient(to right, rgba(30, 35, 31, 0.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.055) 1px, transparent 1px),
    #171c18 !important;
  background-size: 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
  color: #fff8ec !important;
}

.sz-subpage .cta-band h2 {
  color: #fff8ec !important;
}

.sz-subpage .cta-band .lead {
  color: rgba(255, 248, 236, 0.72) !important;
}

.sz-subpage .cta-band .bg-grid {
  opacity: 0.16 !important;
  background-image:
    linear-gradient(to right, rgba(255, 248, 236, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 248, 236, 0.08) 1px, transparent 1px) !important;
}

@keyframes szPageRingDrift {
  0% { transform: translate3d(0, 0, 0) rotate(-18deg); }
  100% { transform: translate3d(-1.2rem, 0.9rem, 0) rotate(-9deg); }
}

@keyframes szPageStageFloat {
  0%, 100% { transform: translateY(-46%) rotate(-5deg); }
  50% { transform: translateY(-49%) rotate(-3deg); }
}

@media (max-width: 1080px) {
  .sz-page-mini-stage {
    right: -5.8rem;
    opacity: 0.38;
  }

  .sz-subpage .page-header h1,
  .sz-subpage .page-header .ph-sub,
  .sz-page-proof {
    max-width: 36rem !important;
  }
}

@media (max-width: 760px) {
  .sz-subpage .page-header.sz-page-header {
    min-height: auto;
    padding-block: 3.5rem 3rem;
  }

  .sz-page-mini-stage,
  .sz-page-rule,
  .sz-page-word {
    display: none;
  }

  .sz-subpage .page-header h1 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 11vw, 3.45rem);
    line-height: 1.06;
  }

  .sz-page-proof {
    gap: 0.5rem;
  }

  .sz-page-proof span {
    min-height: 2rem;
    font-size: 0.58rem;
  }

  .sz-subpage .method-overview,
  .sz-subpage .service-flow-intro {
    grid-template-columns: 1fr;
  }

  .sz-subpage .paper-main {
    padding: 1rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sz-subpage .page-header.sz-page-header::after,
  .sz-page-mini-stage {
    animation: none !important;
  }
}

/* Shenzhen homepage lower sections: continue the specimen-lab palette below the hero. */
body:has(.sz-specimen-hero) .sz-home {
  --sz-bg: #f3eee4;
  --sz-ink: #1e231f;
  --sz-navy: #1e231f;
  --sz-blue: #f15f3f;
  --sz-cyan: #b8d34e;
  --sz-coral: #f15f3f;
  --sz-amber: #b8d34e;
  --sz-line: rgba(30, 35, 31, 0.18);
  background: #f3eee4;
}

body:has(.sz-specimen-hero) .sz-marquee {
  border-block-color: rgba(30, 35, 31, 0.16);
  background:
    linear-gradient(to right, rgba(30, 35, 31, 0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, #f3eee4, #fff8ec 48%, #f3eee4);
  background-size: 3.2rem 3.2rem, 3.2rem 3.2rem, auto;
}

body:has(.sz-specimen-hero) .sz-marquee-track {
  padding-block: 0.75rem;
}

body:has(.sz-specimen-hero) .sz-marquee-track span {
  border-color: rgba(30, 35, 31, 0.18);
  border-radius: 0.35rem;
  background: rgba(255, 248, 236, 0.82);
  color: #1e231f;
  box-shadow: 0 0.9rem 1.8rem -1.55rem rgba(30, 35, 31, 0.34);
}

body:has(.sz-specimen-hero) .sz-marquee-track span:nth-child(3n + 1) {
  border-left: 3px solid #f15f3f;
}

body:has(.sz-specimen-hero) .sz-marquee-track span:nth-child(3n + 2) {
  border-left: 3px solid #b8d34e;
}

body:has(.sz-specimen-hero) .sz-scenes,
body:has(.sz-specimen-hero) .sz-zone {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(30, 35, 31, 0.13);
  background:
    radial-gradient(circle at 82% 5%, rgba(184, 211, 78, 0.14), transparent 28rem),
    radial-gradient(circle at 6% 84%, rgba(241, 95, 63, 0.08), transparent 25rem),
    linear-gradient(to right, rgba(30, 35, 31, 0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, #f3eee4 0%, #f7f1e6 100%) !important;
  background-size: auto, auto, 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
}

body:has(.sz-specimen-hero) .sz-scenes::before,
body:has(.sz-specimen-hero) .sz-zone::before {
  content: "ANSWER";
  position: absolute;
  right: -1.2rem;
  bottom: 0.6rem;
  color: transparent;
  font-size: clamp(5rem, 16vw, 14rem);
  font-weight: 950;
  line-height: 0.8;
  opacity: 0.32;
  -webkit-text-stroke: 1px rgba(30, 35, 31, 0.1);
  pointer-events: none;
  transform: rotate(-7deg);
}

body:has(.sz-specimen-hero) .sz-zone::before {
  content: "SHENZHEN";
  right: auto;
  left: -2rem;
  opacity: 0.24;
  transform: rotate(5deg);
}

body:has(.sz-specimen-hero) .sz-scenes .container,
body:has(.sz-specimen-hero) .sz-zone .container,
body:has(.sz-specimen-hero) .sz-assembly .container,
body:has(.sz-specimen-hero) .sz-contact .container {
  position: relative;
  z-index: 1;
}

body:has(.sz-specimen-hero) .sz-section-head > span,
body:has(.sz-specimen-hero) .sz-contact-copy > span {
  border: 1px solid rgba(30, 35, 31, 0.18);
  border-radius: 0.35rem;
  background: rgba(255, 248, 236, 0.82);
  color: #1e231f;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 0.9rem 1.8rem -1.55rem rgba(30, 35, 31, 0.28);
}

body:has(.sz-specimen-hero) .sz-section-head > span::before,
body:has(.sz-specimen-hero) .sz-contact-copy > span::before {
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: #f15f3f;
  box-shadow: 0 0 0 0.28rem rgba(241, 95, 63, 0.13);
}

body:has(.sz-specimen-hero) .sz-section-head h2,
body:has(.sz-specimen-hero) .sz-contact-copy h2 {
  color: #1e231f;
}

body:has(.sz-specimen-hero) .sz-section-head p,
body:has(.sz-specimen-hero) .sz-contact-copy p {
  color: #646760;
}

body:has(.sz-specimen-hero) .sz-scene-grid article,
body:has(.sz-specimen-hero) .sz-zone-grid article,
body:has(.sz-specimen-hero) .sz-assembly-line div,
body:has(.sz-specimen-hero) .sz-lead-form {
  border-color: rgba(30, 35, 31, 0.18);
  border-radius: 0.35rem;
  background:
    linear-gradient(180deg, rgba(255, 248, 236, 0.88), rgba(243, 238, 228, 0.72)),
    #f3eee4;
  box-shadow: 0 1.5rem 3rem -2.45rem rgba(30, 35, 31, 0.44);
}

body:has(.sz-specimen-hero) .sz-scene-grid article {
  position: relative;
  overflow: hidden;
}

body:has(.sz-specimen-hero) .sz-scene-grid article::before,
body:has(.sz-specimen-hero) .sz-assembly-line div::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #f15f3f, #b8d34e);
}

body:has(.sz-specimen-hero) .sz-scene-grid article:nth-child(2)::before,
body:has(.sz-specimen-hero) .sz-scene-grid article:nth-child(4)::before {
  background: linear-gradient(180deg, #b8d34e, #f15f3f);
}

body:has(.sz-specimen-hero) .sz-scene-grid span,
body:has(.sz-specimen-hero) .sz-assembly-line span {
  color: #f15f3f;
}

body:has(.sz-specimen-hero) .sz-scene-grid h3,
body:has(.sz-specimen-hero) .sz-zone-grid strong,
body:has(.sz-specimen-hero) .sz-assembly-line h3 {
  color: #1e231f;
}

body:has(.sz-specimen-hero) .sz-scene-grid p,
body:has(.sz-specimen-hero) .sz-zone-grid p,
body:has(.sz-specimen-hero) .sz-assembly-line p {
  color: #646760;
}

body:has(.sz-specimen-hero) .sz-scene-grid b {
  border-color: rgba(30, 35, 31, 0.18);
  border-left: 3px solid #b8d34e;
  background: rgba(255, 248, 236, 0.84);
  color: #1e231f;
}

body:has(.sz-specimen-hero) .sz-assembly,
body:has(.sz-specimen-hero) .sz-contact {
  border-top: 1px solid rgba(30, 35, 31, 0.13);
  background:
    radial-gradient(circle at 14% 12%, rgba(241, 95, 63, 0.08), transparent 25rem),
    radial-gradient(circle at 86% 88%, rgba(184, 211, 78, 0.12), transparent 28rem),
    linear-gradient(to right, rgba(30, 35, 31, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.04) 1px, transparent 1px),
    #fff8ec !important;
  background-size: auto, auto, 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
}

body:has(.sz-specimen-hero) .sz-assembly-line::before {
  background: linear-gradient(180deg, #f15f3f, #b8d34e, rgba(30, 35, 31, 0.32));
}

body:has(.sz-specimen-hero) .sz-zone-grid b,
body:has(.sz-specimen-hero) .sz-contact-copy > a {
  color: #f15f3f;
}

body:has(.sz-specimen-hero) .sz-boundary {
  position: relative;
  overflow: hidden;
  border-block: 1px solid rgba(30, 35, 31, 0.14);
  background:
    radial-gradient(circle at 12% 18%, rgba(241, 95, 63, 0.09), transparent 23rem),
    radial-gradient(circle at 86% 72%, rgba(184, 211, 78, 0.16), transparent 28rem),
    linear-gradient(to right, rgba(30, 35, 31, 0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(30, 35, 31, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, #f7f1e6 0%, #fff8ec 100%) !important;
  background-size: auto, auto, 3.2rem 3.2rem, 3.2rem 3.2rem, auto !important;
}

body:has(.sz-specimen-hero) .sz-boundary::before {
  content: "BOUNDARY";
  position: absolute;
  right: -1.4rem;
  bottom: -0.8rem;
  color: transparent;
  font-size: clamp(5rem, 15vw, 13rem);
  font-weight: 950;
  line-height: 0.8;
  opacity: 0.28;
  -webkit-text-stroke: 1px rgba(30, 35, 31, 0.1);
  pointer-events: none;
  transform: rotate(-5deg);
}

body:has(.sz-specimen-hero) .sz-boundary-grid {
  position: relative;
  z-index: 1;
  gap: clamp(1.4rem, 3vw, 2.4rem);
  padding: clamp(1.25rem, 3vw, 2.1rem);
  border: 1px solid rgba(30, 35, 31, 0.18);
  border-left: 3px solid #f15f3f;
  border-radius: 0.35rem;
  background:
    linear-gradient(180deg, rgba(255, 248, 236, 0.88), rgba(243, 238, 228, 0.7)),
    #fff8ec;
  box-shadow: 0 1.6rem 3rem -2.35rem rgba(30, 35, 31, 0.42);
}

body:has(.sz-specimen-hero) .sz-boundary span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  border: 1px solid rgba(30, 35, 31, 0.18);
  border-radius: 0.35rem;
  padding: 0.54rem 0.8rem;
  background: rgba(255, 248, 236, 0.82);
  color: #1e231f;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 0.9rem 1.8rem -1.55rem rgba(30, 35, 31, 0.28);
}

body:has(.sz-specimen-hero) .sz-boundary span::before {
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: #b8d34e;
  box-shadow: 0 0 0 0.28rem rgba(184, 211, 78, 0.16);
}

body:has(.sz-specimen-hero) .sz-boundary h2 {
  max-width: 14ch;
  margin-top: 1rem;
  color: #1e231f;
  font-size: clamp(2.1rem, 3.4vw, 3.35rem);
  line-height: 1.05;
}

body:has(.sz-specimen-hero) .sz-boundary p {
  max-width: 42rem;
  border-left: 3px solid #b8d34e;
  padding: 0.2rem 0 0.2rem 1.1rem;
  color: #646760;
}

body:has(.sz-specimen-hero) .sz-boundary .sz-text-link {
  color: #f15f3f;
  white-space: nowrap;
}

@media (max-width: 720px) {
  body:has(.sz-specimen-hero) .sz-scenes,
  body:has(.sz-specimen-hero) .sz-zone,
  body:has(.sz-specimen-hero) .sz-assembly,
  body:has(.sz-specimen-hero) .sz-contact {
    padding-block: 3.5rem;
  }

  body:has(.sz-specimen-hero) .sz-boundary {
    padding-block: 3.5rem;
  }

  body:has(.sz-specimen-hero) .sz-scenes::before,
  body:has(.sz-specimen-hero) .sz-zone::before,
  body:has(.sz-specimen-hero) .sz-boundary::before {
    opacity: 0.18;
    font-size: 5rem;
  }

  body:has(.sz-specimen-hero) .sz-boundary-grid {
    grid-template-columns: 1fr;
    padding: 1.1rem;
  }

  body:has(.sz-specimen-hero) .sz-boundary h2 {
    max-width: 100%;
    font-size: clamp(2.15rem, 11vw, 3.25rem);
  }

  body:has(.sz-specimen-hero) .sz-boundary .sz-text-link {
    white-space: normal;
  }

  body:has(.sz-specimen-hero) .sz-scene-grid article {
    min-height: 17rem;
  }
}

/* Shanghai homepage v2 — editorial city answer system */
body:has(.sh-editorial-home) {
  background: #f6f4ef;
  color: #11151a;
}

.sh-editorial-home {
  --sh-paper: #f6f4ef;
  --sh-white: #fffdf8;
  --sh-ink: #11151a;
  --sh-muted: #67717a;
  --sh-line: rgba(17, 21, 26, .16);
  --sh-blue: #315cff;
  --sh-orange: #ee633e;
  --sh-lime: #d8f06b;
  overflow: hidden;
  background: var(--sh-paper);
}

.sh-editorial-home .container {
  position: relative;
  z-index: 1;
}

.sh-editorial-hero {
  position: relative;
  min-height: 740px;
  overflow: hidden;
  background: #f6f4ef;
  border-bottom: 1px solid var(--sh-line);
}

.sh-editorial-grid {
  position: absolute;
  inset: 0;
  opacity: .48;
  background-image: linear-gradient(to right, transparent calc(25% - 1px), rgba(17, 21, 26, .08) 25%, transparent calc(25% + 1px)), linear-gradient(to bottom, transparent calc(33.333% - 1px), rgba(17, 21, 26, .06) 33.333%, transparent calc(33.333% + 1px));
  background-size: 25% 100%, 100% 33.333%;
  pointer-events: none;
}

.sh-editorial-grid::after {
  content: "";
  position: absolute;
  width: 46vw;
  height: 46vw;
  right: -11vw;
  top: -16vw;
  border-radius: 50%;
  border: 1px solid rgba(49, 92, 255, .22);
  box-shadow: 0 0 0 22px rgba(49, 92, 255, .035), 0 0 0 44px rgba(49, 92, 255, .03);
}

.sh-editorial-hero-shell {
  padding-top: 27px;
}

.sh-editorial-utility,
.sh-editorial-hero-bottom,
.sh-index-top,
.sh-index-footer,
.sh-network-visual-top,
.sh-editorial-label,
.sh-editorial-kicker,
.sh-editorial-status,
.sh-editorial-note,
.sh-editorial-sync,
.sh-editorial-text-link,
.sh-editorial-outline-link {
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Consolas, monospace);
  letter-spacing: .075em;
  text-transform: uppercase;
}

.sh-editorial-utility {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--sh-line);
  color: #4c555c;
  font-size: 10px;
}

.sh-editorial-status {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--sh-ink);
}

.sh-editorial-status i,
.sh-index-top i,
.sh-editorial-sync i {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sh-orange);
  box-shadow: 0 0 0 4px rgba(238, 99, 62, .14);
}

.sh-editorial-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .78fr);
  gap: clamp(44px, 7vw, 118px);
  align-items: center;
  min-height: 570px;
  padding: 72px 0 58px;
}

.sh-editorial-hero-copy {
  max-width: 700px;
}

.sh-editorial-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--sh-blue);
  font-size: 11px;
  font-weight: 700;
}

.sh-editorial-kicker em {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-style: normal;
  font-size: 10px;
}

.sh-editorial-hero h1 {
  max-width: 740px;
  margin: 23px 0 25px;
  color: var(--sh-ink);
  font-size: clamp(3.35rem, 6.4vw, 6.4rem);
  line-height: .98;
  letter-spacing: -.075em;
  font-weight: 520;
}

.sh-editorial-hero h1 strong,
.sh-editorial-section-intro h2 em,
.sh-editorial-section-head h2 em,
.sh-editorial-network-copy h2 em,
.sh-editorial-contact h2 em {
  color: var(--sh-blue);
  font-style: normal;
  font-weight: 520;
}

.sh-editorial-hero-copy > p {
  max-width: 580px;
  margin: 0;
  color: #4f5961;
  font-size: 16px;
  line-height: 1.8;
}

.sh-editorial-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 37px;
}

.sh-editorial-actions .btn-cta {
  background: var(--sh-ink);
  border-color: var(--sh-ink);
  color: var(--sh-white);
}

.sh-editorial-actions .btn-cta:hover {
  background: var(--sh-blue);
  border-color: var(--sh-blue);
}

.sh-editorial-text-link {
  color: var(--sh-ink);
  font-size: 11px;
  font-weight: 700;
}

.sh-editorial-text-link span,
.sh-editorial-outline-link span {
  margin-left: 8px;
  color: var(--sh-orange);
  font-size: 17px;
}

.sh-editorial-note {
  display: flex;
  gap: 28px;
  margin-top: 66px;
  color: #7c858a;
  font-size: 9px;
}

.sh-editorial-note span::before {
  content: "—";
  margin-right: 7px;
  color: var(--sh-orange);
}

.sh-editorial-index {
  position: relative;
  transform: translate(var(--index-x, 0), var(--index-y, 0));
  padding: 22px;
  background: rgba(255, 253, 248, .77);
  border: 1px solid rgba(17, 21, 26, .72);
  box-shadow: 12px 12px 0 rgba(49, 92, 255, .13);
  transition: transform .25s ease;
}

.sh-editorial-index::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(17, 21, 26, .11);
  pointer-events: none;
}

.sh-index-top,
.sh-index-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #7b858c;
  font-size: 9px;
}

.sh-index-top b {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--sh-ink);
  font-weight: 700;
}

.sh-index-question {
  position: relative;
  z-index: 1;
  margin: 85px 0 54px;
  padding-left: 20px;
  border-left: 2px solid var(--sh-orange);
}

.sh-index-question small,
.sh-index-answer span,
.sh-editorial-readout small {
  display: block;
  margin-bottom: 10px;
  color: #7a8388;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sh-index-question strong {
  display: block;
  color: var(--sh-ink);
  font-size: clamp(1.5rem, 2.4vw, 2.15rem);
  line-height: 1.25;
  letter-spacing: -.045em;
  font-weight: 560;
}

.sh-index-answer {
  position: relative;
  z-index: 1;
  padding-bottom: 21px;
  border-bottom: 1px solid var(--sh-line);
}

.sh-index-answer strong {
  color: var(--sh-blue);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 12px;
  letter-spacing: .04em;
}

.sh-index-sources {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  padding: 22px 0 35px;
}

.sh-index-sources span {
  padding: 10px 8px;
  background: rgba(49, 92, 255, .07);
  color: #4c5960;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 9px;
  line-height: 1.35;
}

.sh-index-sources i {
  display: block;
  width: 5px;
  height: 5px;
  margin-bottom: 8px;
  background: var(--sh-blue);
}

.sh-index-footer {
  position: relative;
  z-index: 1;
}

.sh-editorial-hero-bottom {
  display: flex;
  justify-content: space-between;
  padding: 0 0 21px;
  color: #7a8388;
  font-size: 9px;
}

.sh-editorial-hero-bottom i {
  display: inline-block;
  width: 20px;
  height: 1px;
  margin-right: 8px;
  vertical-align: middle;
  background: var(--sh-orange);
}

.sh-editorial-ticker {
  overflow: hidden;
  background: var(--sh-blue);
  color: #fff;
}

.sh-editorial-ticker-track {
  display: flex;
  align-items: center;
  gap: 25px;
  width: max-content;
  min-height: 44px;
  padding: 0 24px;
  animation: sh-ticker 30s linear infinite;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: .14em;
  white-space: nowrap;
}

.sh-editorial-ticker-track i {
  color: var(--sh-lime);
  font-style: normal;
}

@keyframes sh-ticker { to { transform: translateX(-50%); } }

.sh-editorial-feed,
.sh-editorial-scenes,
.sh-editorial-method {
  padding: 140px 0;
}

.sh-editorial-feed {
  background: var(--sh-white);
}

.sh-editorial-feed .container {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: clamp(55px, 10vw, 170px);
}

.sh-editorial-label {
  color: var(--sh-orange);
  font-size: 10px;
  font-weight: 700;
}

.sh-editorial-section-intro h2,
.sh-editorial-section-head h2,
.sh-editorial-network-copy h2,
.sh-editorial-contact h2 {
  margin: 22px 0 24px;
  color: var(--sh-ink);
  font-size: clamp(2.8rem, 5vw, 5.35rem);
  line-height: .99;
  letter-spacing: -.075em;
  font-weight: 520;
}

.sh-editorial-section-intro p,
.sh-editorial-section-head > p,
.sh-editorial-network-copy > p,
.sh-editorial-contact > p {
  max-width: 390px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 15px;
  line-height: 1.8;
}

.sh-editorial-sync {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 38px;
  color: var(--sh-ink);
  font-size: 10px;
}

.sh-editorial-pulse { background: var(--sh-blue) !important; box-shadow: 0 0 0 4px rgba(49, 92, 255, .12) !important; }

.sh-editorial-feed-list {
  border-top: 1px solid var(--sh-ink);
}

.sh-editorial-feed-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 25px;
  padding: 28px 0 30px;
  border-bottom: 1px solid var(--sh-line);
}

.sh-editorial-feed-card > span {
  color: var(--sh-orange);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
}

.sh-editorial-feed-card small {
  color: var(--sh-blue);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 9px;
  letter-spacing: .1em;
}

.sh-editorial-feed-card h3 {
  max-width: 610px;
  margin: 11px 0 10px;
  color: var(--sh-ink);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.3;
  letter-spacing: -.035em;
  font-weight: 540;
}

.sh-editorial-feed-card p {
  max-width: 600px;
  margin: 0;
  color: var(--sh-muted);
  font-size: 14px;
  line-height: 1.7;
}

.sh-editorial-feed-link {
  display: inline-block;
  margin-top: 18px;
  color: var(--sh-blue);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
}

.sh-editorial-scenes {
  background: var(--sh-paper);
}

.sh-editorial-section-head {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(250px, .6fr);
  column-gap: 80px;
  align-items: end;
  margin-bottom: 64px;
}

.sh-editorial-section-head > .sh-editorial-label,
.sh-editorial-section-head > h2 {
  grid-column: 1;
}

.sh-editorial-section-head > p {
  grid-column: 2;
  grid-row: 2;
  padding-bottom: 5px;
}

.sh-editorial-scene-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.sh-editorial-scene {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 285px;
  grid-column: span 2;
  padding: 20px;
  text-align: left;
  background: transparent;
  border: 1px solid var(--sh-line);
  color: var(--sh-ink);
  cursor: pointer;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.sh-editorial-scene:nth-child(n + 4) { grid-column: span 3; min-height: 245px; }
.sh-editorial-scene:hover { transform: translateY(-5px); background: var(--sh-white); }
.sh-editorial-scene.is-active { background: var(--sh-blue); border-color: var(--sh-blue); color: #fff; }
.sh-editorial-scene > span { color: var(--sh-orange); font-family: var(--font-mono, ui-monospace, monospace); font-size: 10px; }
.sh-editorial-scene strong { margin-top: 42px; font-size: 23px; letter-spacing: -.05em; font-weight: 540; }
.sh-editorial-scene p { margin: 10px 0 0; color: #748087; font-size: 13px; line-height: 1.6; }
.sh-editorial-scene.is-active p { color: rgba(255, 255, 255, .72); }
.sh-editorial-scene b { margin-top: auto; color: var(--sh-ink); font-family: var(--font-mono, ui-monospace, monospace); font-size: 10px; font-weight: 500; }
.sh-editorial-scene.is-active b { color: var(--sh-lime); }
.sh-editorial-scene i { position: absolute; right: 20px; top: 17px; color: var(--sh-orange); font-size: 19px; font-style: normal; }

.sh-editorial-network {
  padding: 140px 0;
  background: var(--sh-ink);
  color: #fff;
}

.sh-editorial-network-grid {
  display: grid;
  grid-template-columns: .76fr 1.24fr;
  gap: clamp(55px, 9vw, 140px);
  align-items: center;
}

.sh-editorial-network-copy h2 { color: #fff; }
.sh-editorial-network-copy h2 em { color: var(--sh-lime); }
.sh-editorial-network-copy > p { color: #9ca6ad; }
.sh-editorial-readout { margin-top: 67px; padding: 18px 0 0 18px; border-left: 2px solid var(--sh-orange); }
.sh-editorial-readout small { color: #758087; }
.sh-editorial-readout strong { display: block; color: #fff; font-size: 22px; font-weight: 520; letter-spacing: -.04em; }
.sh-editorial-readout p { max-width: 370px; margin: 10px 0 0; color: #a6b0b5; font-size: 14px; line-height: 1.7; }

.sh-editorial-network-visual {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  background: radial-gradient(circle at 50% 51%, rgba(49,92,255,.21), transparent 24%), linear-gradient(135deg, rgba(255,255,255,.025), transparent 56%);
}

.sh-network-visual-top {
  display: flex;
  justify-content: space-between;
  padding: 17px 19px;
  color: #849097;
  font-size: 9px;
}

.sh-network-lines {
  position: absolute;
  inset: 70px 30px 30px;
  background: linear-gradient(27deg, transparent 49.8%, rgba(216,240,107,.28) 50%, transparent 50.2%), linear-gradient(155deg, transparent 49.8%, rgba(49,92,255,.45) 50%, transparent 50.2%), linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.16) 50%, transparent 50.2%);
}

.sh-network-lines::before,
.sh-network-lines::after {
  content: "";
  position: absolute;
  inset: 20% 15%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  transform: rotate(-25deg) scaleX(1.4);
}

.sh-network-lines::after { inset: 31% 25%; transform: rotate(30deg) scaleX(1.65); border-color: rgba(49,92,255,.38); }
.sh-network-center { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 118px; height: 118px; transform: translate(-50%, -50%); border: 1px solid var(--sh-lime); border-radius: 50%; color: var(--sh-lime); text-align: center; }
.sh-network-center span { font-size: 29px; letter-spacing: -.08em; }
.sh-network-center small { font-family: var(--font-mono, ui-monospace, monospace); font-size: 8px; line-height: 1.25; letter-spacing: .08em; }
.sh-network-node { position: absolute; display: grid; grid-template-columns: 10px auto; column-gap: 8px; align-items: center; padding: 7px 9px; background: rgba(17,21,26,.72); border: 1px solid rgba(255,255,255,.2); color: #fff; text-align: left; cursor: pointer; }
.sh-network-node i { grid-row: span 2; width: 7px; height: 7px; border-radius: 50%; background: var(--sh-orange); }
.sh-network-node span { font-size: 13px; line-height: 1.1; }
.sh-network-node small { color: #879198; font-family: var(--font-mono, ui-monospace, monospace); font-size: 8px; }
.sh-network-node.is-active { border-color: var(--sh-lime); box-shadow: 0 0 0 4px rgba(216,240,107,.08); }
.sh-network-node.is-active i { background: var(--sh-lime); }
.node-pudong { left: 14%; top: 25%; }.node-zhangjiang { left: 20%; bottom: 21%; }.node-xuhui { right: 12%; top: 19%; }.node-yangpu { right: 15%; bottom: 24%; }.node-jiading { left: 42%; top: 12%; }.node-lingang { right: 34%; bottom: 10%; }

.sh-editorial-method { background: var(--sh-white); }
.sh-editorial-method .sh-editorial-section-head { margin-bottom: 64px; }
.sh-editorial-method-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--sh-ink); }
.sh-editorial-method-grid > div { min-height: 210px; padding: 18px 20px 20px 0; border-right: 1px solid var(--sh-line); }
.sh-editorial-method-grid > div + div { padding-left: 20px; }.sh-editorial-method-grid > div:last-child { border-right: 0; }
.sh-editorial-method-grid span { color: var(--sh-orange); font-family: var(--font-mono, ui-monospace, monospace); font-size: 10px; }
.sh-editorial-method-grid strong { display: block; margin-top: 48px; font-size: 20px; font-weight: 540; letter-spacing: -.04em; }.sh-editorial-method-grid p { margin: 10px 0 0; color: var(--sh-muted); font-size: 13px; line-height: 1.7; }
.sh-editorial-outline-link { display: inline-block; margin-top: 42px; color: var(--sh-ink); font-size: 10px; font-weight: 700; }

.sh-editorial-contact { padding: 110px 0 145px; background: var(--sh-orange); }
.sh-editorial-contact-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; }
.sh-editorial-contact .sh-editorial-label { color: var(--sh-ink); }.sh-editorial-contact h2 { margin-bottom: 20px; }.sh-editorial-contact h2 em { color: var(--sh-white); }.sh-editorial-contact p { max-width: 450px; color: rgba(17,21,26,.72); font-size: 15px; line-height: 1.7; }
.sh-editorial-contact-card { padding: 25px; background: var(--sh-white); }.sh-editorial-contact-card > div { display: flex; justify-content: space-between; gap: 15px; align-items: baseline; }.sh-editorial-contact-card span, .sh-editorial-contact-card small { color: #778087; font-family: var(--font-mono, ui-monospace, monospace); font-size: 9px; }.sh-editorial-contact-card strong { font-size: 18px; font-weight: 540; }.sh-editorial-contact-card a { display: flex; align-items: center; justify-content: space-between; margin: 52px 0 27px; padding-bottom: 12px; border-bottom: 1px solid var(--sh-ink); color: var(--sh-ink); font-size: 17px; font-weight: 560; }.sh-editorial-contact-card a span { color: var(--sh-orange); font-family: inherit; font-size: 24px; }
.sh-editorial-lead-form { border: 0; text-align: left; }.sh-editorial-lead-form label { display: block; margin-top: 24px; color: #778087; font-family: var(--font-mono, ui-monospace, monospace); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }.sh-editorial-lead-form input { width: 100%; margin-top: 8px; padding: 10px 0; background: transparent; border: 0; border-bottom: 1px solid var(--sh-line); border-radius: 0; color: var(--sh-ink); font: inherit; outline: 0; }.sh-editorial-lead-form input:focus { border-bottom-color: var(--sh-blue); }.sh-editorial-lead-form input::placeholder { color: #a2a9ad; }.sh-editorial-form-privacy { margin: 20px 0 0 !important; color: #7d878b !important; font-size: 10px !important; line-height: 1.6 !important; }.sh-editorial-form-privacy a { display: inline; margin: 0; padding: 0; border: 0; color: var(--sh-blue); font-size: inherit; font-weight: 500; }.sh-editorial-form-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 26px; padding: 0 0 12px; background: transparent; border: 0; border-bottom: 1px solid var(--sh-ink); color: var(--sh-ink); font: 560 17px inherit; text-align: left; cursor: pointer; }.sh-editorial-form-submit span { color: var(--sh-orange); font-family: inherit; font-size: 24px; }.sh-editorial-lead-form .form-status { margin-top: 12px; color: var(--sh-blue); font-size: 12px; }

.sh-editorial-home .is-changing { animation: sh-change .35s ease; }
@keyframes sh-change { from { opacity: .25; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 960px) {
  .sh-editorial-hero-grid, .sh-editorial-network-grid { grid-template-columns: 1fr; }
  .sh-editorial-hero-grid { gap: 40px; min-height: 0; padding-top: 65px; }
  .sh-editorial-index { max-width: 560px; width: 100%; justify-self: end; }
  .sh-editorial-hero { min-height: 0; }
  .sh-editorial-feed .container { gap: 55px; }
  .sh-editorial-network-visual { min-height: 480px; }
}

@media (max-width: 720px) {
  .sh-editorial-hero-shell { padding-top: 17px; }.sh-editorial-utility { font-size: 8px; }.sh-editorial-utility > span:first-child { max-width: 165px; }
  .sh-editorial-hero-grid { padding: 53px 0 40px; }.sh-editorial-hero h1 { margin-top: 18px; font-size: clamp(2.85rem, 14vw, 4.3rem); line-height: 1.02; }.sh-editorial-hero-copy > p { font-size: 14px; line-height: 1.75; }.sh-editorial-actions { align-items: flex-start; flex-direction: column; gap: 21px; margin-top: 28px; }.sh-editorial-note { flex-direction: column; gap: 9px; margin-top: 38px; }.sh-editorial-index { padding: 17px; box-shadow: 7px 7px 0 rgba(49,92,255,.13); }.sh-index-question { margin: 55px 0 40px; }.sh-index-question strong { font-size: 1.55rem; }.sh-index-sources { padding-bottom: 25px; }.sh-index-sources span { font-size: 8px; }.sh-editorial-hero-bottom { gap: 16px; font-size: 8px; }.sh-editorial-hero-bottom span:last-child { text-align: right; }
  .sh-editorial-feed, .sh-editorial-scenes, .sh-editorial-method, .sh-editorial-network { padding: 82px 0; }.sh-editorial-feed .container { display: block; }.sh-editorial-section-intro h2, .sh-editorial-section-head h2, .sh-editorial-network-copy h2, .sh-editorial-contact h2 { font-size: clamp(2.6rem, 13vw, 4.3rem); }.sh-editorial-section-intro p, .sh-editorial-section-head > p, .sh-editorial-network-copy > p { font-size: 14px; }.sh-editorial-sync { margin-top: 28px; }.sh-editorial-feed-list { margin-top: 52px; }.sh-editorial-feed-card { grid-template-columns: minmax(0,1fr) 25px; gap: 10px; padding: 23px 0; }.sh-editorial-feed-card h3 { font-size: 1.25rem; }.sh-editorial-feed-card p { font-size: 13px; }
  .sh-editorial-section-head { display: block; margin-bottom: 42px; }.sh-editorial-section-head > p { margin-top: 23px; }.sh-editorial-scene-grid { display: block; }.sh-editorial-scene, .sh-editorial-scene:nth-child(n + 4) { min-height: 210px; margin-bottom: 10px; }.sh-editorial-scene strong { margin-top: 30px; }.sh-editorial-scene p { max-width: 85%; }
  .sh-editorial-network-grid { gap: 52px; }.sh-editorial-readout { margin-top: 42px; }.sh-editorial-network-visual { min-height: 430px; }.sh-network-node { transform: scale(.9); transform-origin: center; }.node-pudong { left: 5%; top: 23%; }.node-zhangjiang { left: 5%; bottom: 17%; }.node-xuhui { right: 4%; top: 17%; }.node-yangpu { right: 4%; bottom: 20%; }.node-jiading { left: 36%; top: 11%; }.node-lingang { right: 27%; bottom: 8%; }.sh-network-center { width: 95px; height: 95px; }
  .sh-editorial-method-grid { grid-template-columns: repeat(2, 1fr); }.sh-editorial-method-grid > div, .sh-editorial-method-grid > div + div { min-height: 170px; padding: 15px 12px 15px 0; border-right: 1px solid var(--sh-line); border-bottom: 1px solid var(--sh-line); }.sh-editorial-method-grid > div:nth-child(even) { padding-left: 12px; border-right: 0; }.sh-editorial-method-grid > div:nth-child(n + 3) { border-bottom: 0; }.sh-editorial-method-grid strong { margin-top: 30px; font-size: 17px; }.sh-editorial-method-grid p { font-size: 12px; }
  .sh-editorial-contact { padding: 80px 0 90px; }.sh-editorial-contact-grid { display: block; }.sh-editorial-contact p { font-size: 14px; }.sh-editorial-contact-card { margin-top: 45px; }.sh-editorial-contact-card > div { display: block; }.sh-editorial-contact-card strong { display: block; margin-top: 12px; }.sh-editorial-contact-card a { margin-top: 43px; }
}

@media (prefers-reduced-motion: reduce) {
  .sh-editorial-ticker-track { animation: none; }
  .sh-editorial-index, .sh-editorial-scene { transition: none; }
}

/* Shanghai v3 aliases the proven Zhejiang/GD answer-board system.
   No stock or generated hero image is used. */
.shanghai-v3-home .zj-map-frame::after { display: none; }
.shanghai-v3-home .zj-procurement-board { position: relative; z-index: 2; display: grid; grid-template-rows: auto auto 1fr auto; gap: .72rem; min-height: 23rem; overflow: hidden; }
.shanghai-v3-home .zj-procurement-board::before { content: ""; position: absolute; inset: 2.5rem 8% 4.4rem; border: 1px solid oklch(.34 .08 165 / .12); border-radius: 999px; transform: rotate(-8deg); background: linear-gradient(90deg, transparent, oklch(.72 .14 180 / .1), transparent); animation: zjBoardOrbit 9s ease-in-out infinite alternate; pointer-events: none; }
.shanghai-v3-home .zj-board-label { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: .8rem; border: 1px solid oklch(.35 .06 160 / .14); border-radius: 8px; padding: .55rem .65rem; background: oklch(1 0 0 / .72); }
.shanghai-v3-home .zj-board-label span { color: var(--primary); font-size: .78rem; font-weight: 900; }.shanghai-v3-home .zj-board-label b { color: oklch(.42 .018 175); font-family: ui-monospace, monospace; font-size: .66rem; letter-spacing: .04em; }
.shanghai-v3-home .zj-city-feed { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.shanghai-v3-home .zj-city-feed span, .shanghai-v3-home .zj-answer-output span { position: relative; overflow: hidden; border: 1px solid oklch(.35 .06 160 / .15); border-radius: 8px; background: oklch(1 0 0 / .82); box-shadow: 0 14px 30px -28px oklch(.18 .035 160 / .42); }
.shanghai-v3-home .zj-city-feed span { min-height: 4rem; padding: .65rem .65rem .6rem 1rem; animation: zjBoardCardFloat 5.8s ease-in-out infinite; }.shanghai-v3-home .zj-city-feed span:nth-child(2), .shanghai-v3-home .zj-city-feed span:nth-child(5) { animation-delay: -1.3s; }.shanghai-v3-home .zj-city-feed span:nth-child(3), .shanghai-v3-home .zj-city-feed span:nth-child(6) { animation-delay: -2.6s; }
.shanghai-v3-home .zj-city-feed span::before { content: ""; position: absolute; left: 0; top: .8rem; width: 3px; height: 1.6rem; border-radius: 999px; background: linear-gradient(180deg, var(--cta), var(--accent-teal)); }
.shanghai-v3-home .zj-city-feed b, .shanghai-v3-home .zj-answer-output b { display: block; color: var(--primary); font-size: .9rem; line-height: 1.2; }.shanghai-v3-home .zj-city-feed small, .shanghai-v3-home .zj-answer-output small { display: block; margin-top: .18rem; color: oklch(.42 .018 175); font-size: .66rem; line-height: 1.3; }
.shanghai-v3-home .zj-flow-core { position: relative; z-index: 4; display: grid; place-items: center; min-height: 6.35rem; overflow: hidden; border: 1px solid oklch(.35 .08 160 / .2); border-radius: 8px; background: radial-gradient(circle at 18% 50%, oklch(.72 .14 180 / .16), transparent 34%), linear-gradient(135deg, oklch(.2 .07 162), oklch(.12 .045 165)); color: var(--primary-foreground); box-shadow: 0 18px 38px -24px oklch(.14 .04 160 / .72); }
.shanghai-v3-home .zj-flow-core > div { position: relative; z-index: 2; text-align: center; }.shanghai-v3-home .zj-flow-core strong { display: block; font-size: 1.08rem; line-height: 1.2; }.shanghai-v3-home .zj-flow-core p { margin-top: .32rem; color: oklch(.94 .04 105 / .78); font-size: .72rem; line-height: 1.4; }
.shanghai-v3-home .zj-flow-line { position: absolute; left: -20%; width: 140%; height: 2px; border-radius: 999px; background: linear-gradient(90deg, transparent, oklch(.86 .16 90), oklch(.72 .14 180), transparent); opacity: .68; animation: zjCoreLine 3.2s linear infinite; }.shanghai-v3-home .zj-flow-line.line-a { top: 28%; }.shanghai-v3-home .zj-flow-line.line-b { top: 52%; animation-delay: -1.05s; }.shanghai-v3-home .zj-flow-line.line-c { top: 76%; animation-delay: -2.1s; }
.shanghai-v3-home .zj-answer-output { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }.shanghai-v3-home .zj-answer-output span { min-height: 4.3rem; padding: .65rem; }.shanghai-v3-home .zj-answer-output span::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--primary), var(--accent-teal), var(--cta)); transform: translateX(-100%); animation: zjAnswerLoad 4.8s ease-in-out infinite; }.shanghai-v3-home .zj-answer-output span:nth-child(2)::after { animation-delay: -1.4s; }.shanghai-v3-home .zj-answer-output span:nth-child(3)::after { animation-delay: -2.8s; }

.shanghai-v3-live { padding: 6.5rem 0; background: var(--paper); }.shanghai-v3-live-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }.shanghai-v3-live .zj-engine-copy h2 { max-width: 31rem; }.shanghai-v3-live .zj-engine-copy p { max-width: 32rem; }.shanghai-v3-feed-panel { border-top: 2px solid var(--primary); }.shanghai-v3-feed-panel article { position: relative; padding: 1.5rem 3.5rem 1.65rem 0; border-bottom: 1px solid oklch(.36 .07 165 / .18); }.shanghai-v3-feed-panel small { color: var(--primary); font-family: ui-monospace, monospace; font-size: .66rem; font-weight: 900; letter-spacing: .08em; }.shanghai-v3-feed-panel h3 { max-width: 42rem; margin: .6rem 0 .45rem; color: var(--ink); font-size: clamp(1.1rem, 2vw, 1.55rem); line-height: 1.35; }.shanghai-v3-feed-panel p { max-width: 40rem; margin: 0; color: var(--muted-foreground); font-size: .88rem; line-height: 1.65; }.shanghai-v3-feed-panel b { position: absolute; top: 1.5rem; right: 0; color: var(--cta); font-family: ui-monospace, monospace; font-size: .72rem; }
.shanghai-v3-home .is-changing { animation: shanghaiV3Change .35s ease; } @keyframes shanghaiV3Change { from { opacity: .3; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 720px) {
  .shanghai-v3-live { padding: 4.7rem 0; }.shanghai-v3-live-grid { display: block; }.shanghai-v3-feed-panel { margin-top: 2.7rem; }.shanghai-v3-home .zj-city-feed { gap: .35rem; }.shanghai-v3-home .zj-city-feed span { min-height: 3.5rem; padding: .5rem .45rem .5rem .7rem; }.shanghai-v3-home .zj-city-feed b { font-size: .75rem; }.shanghai-v3-home .zj-city-feed small, .shanghai-v3-home .zj-answer-output small { font-size: .58rem; }.shanghai-v3-home .zj-answer-output { gap: .35rem; }.shanghai-v3-home .zj-answer-output span { padding: .5rem; }
}

/* Shanghai homepage v4 — original “Answer Exchange” system. */
body:has(.shx-home) { background: #f3f5f8; color: #121821; }
.shx-home { --shx-ink:#121821; --shx-night:#111c2b; --shx-blue:#4e63ff; --shx-cyan:#7de2db; --shx-orange:#ff7149; --shx-lime:#d8ef70; --shx-paper:#f3f5f8; --shx-line:rgba(18,24,33,.16); overflow:hidden; background:var(--shx-paper); }
.shx-home * { box-sizing:border-box; }.shx-home .container { position:relative; z-index:1; }
.shx-hero { position:relative; overflow:hidden; background:var(--shx-night); color:#fff; }
.shx-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 74% 24%, rgba(78,99,255,.38), transparent 21rem), linear-gradient(107deg, #111c2b 0 47%, #eef2f5 47.1% 100%); }
.shx-hero-grid { position:absolute; inset:0 53% 0 0; opacity:.45; background-image:linear-gradient(rgba(125,226,219,.15) 1px, transparent 1px),linear-gradient(90deg,rgba(125,226,219,.15) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(90deg,#000,transparent 92%); }
.shx-hero-grid::after { content:"SH"; position:absolute; right:-7rem; bottom:1rem; color:rgba(125,226,219,.08); font:900 31rem/.75 Arial,sans-serif; letter-spacing:-.18em; }
.shx-hero-inner { padding-top:24px; }
.shx-topline,.shx-hero-bottom,.shx-board-head,.shx-board-foot,.shx-kicker,.shx-label,.shx-link,.shx-live-state,.shx-board-question small,.shx-board-path small,.shx-board-feed,.shx-proof,.shx-chain-result span,.shx-form-head,.shx-form label { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }
.shx-topline { display:flex; justify-content:space-between; gap:1rem; padding:0 0 18px; border-bottom:1px solid rgba(255,255,255,.17); color:rgba(255,255,255,.68); font-size:10px; }
.shx-topline > span:last-child { display:flex; align-items:center; gap:8px; color:#fff; }.shx-topline i,.shx-board-head i,.shx-live-state i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--shx-orange); box-shadow:0 0 0 4px rgba(255,113,73,.18); }
.shx-hero-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(470px,1.18fr); gap:clamp(3rem,7vw,8rem); align-items:center; min-height:650px; padding:76px 0 60px; }
.shx-hero-copy { max-width:570px; }.shx-kicker { display:flex; align-items:center; gap:11px; color:var(--shx-cyan); font-size:10px; font-weight:700; }.shx-kicker em { padding:5px 7px; border:1px solid currentColor; border-radius:3px; color:var(--shx-lime); font-style:normal; }
.shx-hero h1 { margin:22px 0 23px; color:#fff; font-size:clamp(3.2rem,6.1vw,6.2rem); line-height:.94; letter-spacing:-.08em; font-weight:650; }.shx-hero h1 strong { color:var(--shx-lime); font-weight:650; }.shx-hero-copy > p { max-width:520px; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.8; }
.shx-actions { display:flex; align-items:center; gap:26px; margin-top:35px; }.shx-actions .btn-cta { background:var(--shx-orange); border-color:var(--shx-orange); color:var(--shx-ink); }.shx-actions .btn-cta:hover { background:var(--shx-lime); border-color:var(--shx-lime); }.shx-link { color:#fff; font-size:10px; font-weight:700; }.shx-link span,.shx-outline-link span { margin-left:7px; color:var(--shx-orange); font-size:18px; }
.shx-proof { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:60px; color:rgba(255,255,255,.55); font-size:9px; }.shx-proof b { margin-right:5px; color:var(--shx-cyan); font-size:12px; }
.shx-exchange-board { position:relative; min-height:510px; padding:21px; color:var(--shx-ink); background:#f7fafb; border:1px solid rgba(18,24,33,.7); box-shadow:14px 14px 0 rgba(78,99,255,.3); }.shx-exchange-board::before { content:""; position:absolute; inset:10px; border:1px solid rgba(18,24,33,.12); pointer-events:none; }.shx-exchange-board::after { content:""; position:absolute; left:-36px; bottom:24px; width:140px; height:1px; background:var(--shx-orange); box-shadow:0 12px 0 var(--shx-orange),0 24px 0 var(--shx-orange); opacity:.55; }
.shx-board-head,.shx-board-foot { position:relative; z-index:1; display:flex; justify-content:space-between; gap:1rem; color:#66727d; font-size:9px; }.shx-board-head b { display:flex; align-items:center; gap:8px; color:var(--shx-ink); font-weight:700; }.shx-board-main { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:22px; margin:73px 0 37px; padding-left:19px; border-left:3px solid var(--shx-orange); }.shx-board-question small,.shx-board-path small { display:block; margin-bottom:10px; color:#77838d; font-size:9px; }.shx-board-question strong { display:block; max-width:350px; font-size:clamp(1.35rem,2.4vw,2.05rem); line-height:1.25; letter-spacing:-.045em; }.shx-board-question > span { display:block; margin-top:19px; color:var(--shx-blue); font:700 9px ui-monospace,monospace; text-transform:uppercase; }
.shx-board-path { padding-left:21px; border-left:1px solid var(--shx-line); }.shx-board-path > div { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }.shx-board-path > div span { padding:7px 8px; background:#e9edf2; color:#62707c; font:700 9px ui-monospace,monospace; }.shx-board-path > div span.is-active { background:var(--shx-blue); color:#fff; }.shx-board-path > div i { color:var(--shx-orange); font-style:normal; }.shx-board-path strong { display:block; margin-top:24px; color:var(--shx-blue); font:700 11px/1.5 ui-monospace,monospace; }
.shx-board-route { position:relative; z-index:1; display:flex; align-items:center; gap:8px; padding:14px 0; border-block:1px solid var(--shx-line); color:#5b6873; font:700 9px ui-monospace,monospace; }.shx-board-route i { flex:1; height:1px; min-width:10px; background:var(--shx-orange); }.shx-board-route i::after { content:""; display:block; width:5px; height:5px; margin-top:-2px; margin-left:50%; border-radius:50%; background:var(--shx-blue); }
.shx-board-feed { position:relative; z-index:1; display:grid; gap:6px; padding:20px 0 27px; }.shx-board-feed span { color:var(--shx-orange); font-size:9px; }.shx-board-feed strong { font:700 14px/1.35 inherit; }.shx-board-feed small { color:#75808a; font-size:9px; letter-spacing:.02em; text-transform:none; }.shx-board-foot { position:absolute; right:21px; bottom:21px; left:21px; }
.shx-hero-bottom { display:flex; justify-content:space-between; padding-bottom:19px; color:rgba(255,255,255,.57); font-size:9px; }.shx-hero-bottom i { display:inline-block; width:25px; height:1px; margin-right:8px; vertical-align:middle; background:var(--shx-cyan); }
.shx-flow-strip { overflow:hidden; background:var(--shx-lime); color:var(--shx-ink); }.shx-flow-track { display:flex; align-items:center; gap:19px; width:max-content; min-height:52px; padding:0 22px; animation:shxFlow 28s linear infinite; font:700 10px ui-monospace,monospace; letter-spacing:.04em; white-space:nowrap; }.shx-flow-track b { color:var(--shx-blue); }.shx-flow-track i { color:var(--shx-orange); font-style:normal; font-size:16px; }.shx-flow-track .accent { color:var(--shx-blue); font-size:13px; }@keyframes shxFlow { to { transform:translateX(-50%); } }
.shx-live,.shx-scenes,.shx-method { padding:135px 0; }.shx-live { background:#fff; }.shx-live .container { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(4rem,10vw,10rem); }.shx-label { color:var(--shx-blue); font-size:10px; font-weight:800; }.shx-section-intro h2,.shx-section-head h2,.shx-network-head h2,.shx-contact h2 { margin:20px 0 24px; color:var(--shx-ink); font-size:clamp(2.75rem,5vw,5rem); line-height:.98; letter-spacing:-.08em; font-weight:650; }.shx-section-intro h2 em,.shx-section-head h2 em,.shx-network-head h2 em,.shx-contact h2 em { color:var(--shx-blue); font-style:normal; }.shx-section-intro p,.shx-section-head > p,.shx-network-head > p,.shx-contact > p { max-width:380px; margin:0; color:#69747e; font-size:15px; line-height:1.8; }.shx-live-state { display:flex; align-items:center; gap:10px; margin-top:38px; color:var(--shx-ink); font-size:10px; }.shx-live-state i { background:var(--shx-blue); box-shadow:0 0 0 4px rgba(78,99,255,.14); }
.shx-feed-list { border-top:2px solid var(--shx-ink); }.shx-feed-list article { position:relative; padding:29px 44px 31px 0; border-bottom:1px solid var(--shx-line); }.shx-feed-list small { color:var(--shx-orange); font:700 9px ui-monospace,monospace; letter-spacing:.1em; }.shx-feed-list h3 { max-width:650px; margin:11px 0 10px; color:var(--shx-ink); font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.3; letter-spacing:-.04em; }.shx-feed-list p { max-width:620px; margin:0; color:#6a7580; font-size:14px; line-height:1.7; }.shx-feed-list b { position:absolute; top:29px; right:0; color:var(--shx-orange); font:700 10px ui-monospace,monospace; }
.shx-scenes { background:var(--shx-paper); }.shx-section-head { display:grid; grid-template-columns:1fr .55fr; gap:80px; align-items:end; margin-bottom:62px; }.shx-section-head > .shx-label,.shx-section-head > h2 { grid-column:1; }.shx-section-head > p { grid-column:2; grid-row:2; }.shx-question-table { border-top:1px solid var(--shx-ink); }.shx-question-table button { position:relative; display:grid; grid-template-columns:52px 1fr 1fr 100px 25px; gap:18px; align-items:center; width:100%; padding:24px 0; background:transparent; border:0; border-bottom:1px solid var(--shx-line); color:var(--shx-ink); text-align:left; cursor:pointer; transition:background .22s ease,padding .22s ease; }.shx-question-table button:hover,.shx-question-table button.is-active { padding-left:16px; padding-right:16px; background:#fff; }.shx-question-table button > span { color:var(--shx-orange); font:700 10px ui-monospace,monospace; }.shx-question-table strong { font-size:18px; font-weight:650; letter-spacing:-.04em; }.shx-question-table p { margin:0; color:#68747e; font-size:13px; line-height:1.5; }.shx-question-table b { color:#707d87; font:700 9px ui-monospace,monospace; }.shx-question-table i { color:var(--shx-blue); font-size:19px; font-style:normal; }.shx-question-table button.is-active strong { color:var(--shx-blue); }
.shx-network { position:relative; overflow:hidden; padding:140px 0; background:var(--shx-night); color:#fff; }.shx-network-lines { position:absolute; inset:0; opacity:.35; background-image:linear-gradient(30deg,transparent 49.8%,rgba(125,226,219,.42) 50%,transparent 50.2%),linear-gradient(150deg,transparent 49.8%,rgba(78,99,255,.58) 50%,transparent 50.2%),linear-gradient(rgba(125,226,219,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(125,226,219,.08) 1px,transparent 1px); background-size:auto,auto,64px 64px,64px 64px; }.shx-network-head { position:relative; max-width:700px; }.shx-network-head h2 { color:#fff; }.shx-network-head h2 em { color:var(--shx-lime); }.shx-network-head > p { color:rgba(255,255,255,.65); }.shx-chain { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:73px; border-top:1px solid rgba(255,255,255,.32); border-bottom:1px solid rgba(255,255,255,.18); }.shx-chain > div { position:relative; min-height:215px; padding:19px 22px 19px 0; border-right:1px solid rgba(255,255,255,.18); }.shx-chain > div + div { padding-left:22px; }.shx-chain > div:last-child { border-right:0; }.shx-chain span { color:var(--shx-orange); font:700 10px ui-monospace,monospace; }.shx-chain strong { display:block; margin-top:52px; color:#fff; font-size:26px; font-weight:650; letter-spacing:-.06em; }.shx-chain small { display:block; margin-top:5px; color:var(--shx-cyan); font:700 9px ui-monospace,monospace; }.shx-chain p { margin:11px 0 0; color:rgba(255,255,255,.56); font-size:13px; }.shx-chain i { position:absolute; right:21px; bottom:18px; color:var(--shx-lime); font-size:18px; font-style:normal; }.shx-chain-result { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:26px 0 0; }.shx-chain-result span { color:var(--shx-cyan); font-size:9px; }.shx-chain-result strong { color:#fff; font-size:clamp(1rem,2vw,1.45rem); font-weight:550; letter-spacing:-.03em; }
.shx-method { background:#fff; }.shx-method .shx-section-head { margin-bottom:62px; }.shx-method-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid var(--shx-ink); }.shx-method-grid > div { min-height:205px; padding:19px 20px 20px 0; border-right:1px solid var(--shx-line); }.shx-method-grid > div + div { padding-left:20px; }.shx-method-grid > div:last-child { border-right:0; }.shx-method-grid span { color:var(--shx-orange); font:700 10px ui-monospace,monospace; }.shx-method-grid strong { display:block; margin-top:48px; color:var(--shx-ink); font-size:19px; font-weight:650; letter-spacing:-.04em; }.shx-method-grid p { margin:10px 0 0; color:#6a7580; font-size:13px; line-height:1.7; }.shx-outline-link { display:inline-block; margin-top:39px; color:var(--shx-ink); font:700 10px ui-monospace,monospace; text-transform:uppercase; }
.shx-contact { padding:115px 0 145px; background:var(--shx-orange); }.shx-contact-grid { display:grid; grid-template-columns:1fr .8fr; gap:80px; align-items:end; }.shx-contact h2 em { color:#fff; }.shx-contact p { max-width:440px; color:rgba(18,24,33,.74); }.shx-form { padding:26px; background:#f7fafb; }.shx-form-head { display:flex; justify-content:space-between; gap:15px; align-items:baseline; padding-bottom:19px; border-bottom:1px solid var(--shx-line); }.shx-form-head span { color:#71808a; font-size:9px; }.shx-form-head strong { font:650 18px inherit; letter-spacing:-.04em; text-transform:none; }.shx-form label { display:block; margin-top:22px; color:#70808a; font-size:9px; }.shx-form input { width:100%; margin-top:7px; padding:10px 0; border:0; border-bottom:1px solid var(--shx-line); border-radius:0; background:transparent; color:var(--shx-ink); font:inherit; outline:0; }.shx-form input:focus { border-bottom-color:var(--shx-blue); }.shx-form input::placeholder { color:#a2adb5; }.shx-form p { margin:18px 0 0; color:#71808a; font-size:10px; line-height:1.6; }.shx-form p a { color:var(--shx-blue); }.shx-form-submit { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:24px; padding:0 0 12px; border:0; border-bottom:1px solid var(--shx-ink); background:transparent; color:var(--shx-ink); font:650 17px inherit; text-align:left; cursor:pointer; }.shx-form-submit span { color:var(--shx-orange); font-size:23px; }.shx-form .form-status { margin-top:10px; color:var(--shx-blue); font-size:12px; }
.shx-home .is-changing { animation:shxChange .35s ease; }@keyframes shxChange { from { opacity:.25; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:960px) { .shx-hero-layout { grid-template-columns:1fr; gap:42px; }.shx-exchange-board { max-width:680px; width:100%; justify-self:end; }.shx-live .container,.shx-contact-grid { gap:55px; }.shx-chain-result { align-items:flex-start; flex-direction:column; } }
@media (max-width:720px) { .shx-hero::before { background:linear-gradient(180deg,#111c2b 0 68%,#eef2f5 68.1% 100%); }.shx-hero-grid { inset:0 0 32% 0; }.shx-hero-inner { padding-top:16px; }.shx-topline { font-size:8px; }.shx-topline > span:first-child { max-width:180px; }.shx-hero-layout { padding:54px 0 42px; }.shx-hero h1 { font-size:clamp(3rem,14vw,4.5rem); }.shx-hero-copy > p { font-size:14px; }.shx-actions { align-items:flex-start; flex-direction:column; gap:21px; margin-top:29px; }.shx-proof { gap:10px 17px; margin-top:39px; }.shx-exchange-board { min-height:570px; padding:16px; }.shx-board-main { grid-template-columns:1fr; gap:29px; margin:58px 0 29px; }.shx-board-path { padding:0; border:0; }.shx-board-route { flex-wrap:wrap; }.shx-board-route i { min-width:25px; flex:0 0 25px; }.shx-board-foot { right:16px; bottom:16px; left:16px; font-size:8px; }.shx-hero-bottom { gap:15px; font-size:8px; }.shx-live,.shx-scenes,.shx-method { padding:82px 0; }.shx-live .container { display:block; }.shx-feed-list { margin-top:52px; }.shx-section-intro h2,.shx-section-head h2,.shx-network-head h2,.shx-contact h2 { font-size:clamp(2.8rem,13vw,4.5rem); }.shx-section-head { display:block; margin-bottom:44px; }.shx-section-head > p { margin-top:23px; }.shx-question-table button { grid-template-columns:33px 1fr 23px; gap:10px; padding:20px 0; }.shx-question-table button:hover,.shx-question-table button.is-active { padding-left:10px; padding-right:10px; }.shx-question-table strong { font-size:16px; }.shx-question-table p { grid-column:2; grid-row:2; }.shx-question-table b { grid-column:2; grid-row:3; }.shx-network { padding:84px 0; }.shx-chain { grid-template-columns:repeat(2,1fr); margin-top:48px; }.shx-chain > div,.shx-chain > div + div { min-height:180px; padding:15px 12px 15px 0; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }.shx-chain > div:nth-child(even) { padding-left:12px; border-right:0; }.shx-chain > div:nth-child(n+3) { border-bottom:0; }.shx-chain strong { margin-top:31px; font-size:22px; }.shx-chain p { font-size:12px; }.shx-chain-result { padding-top:24px; }.shx-method-grid { grid-template-columns:repeat(2,1fr); }.shx-method-grid > div,.shx-method-grid > div + div { min-height:170px; padding:15px 12px 15px 0; border-right:1px solid var(--shx-line); border-bottom:1px solid var(--shx-line); }.shx-method-grid > div:nth-child(even) { padding-left:12px; border-right:0; }.shx-method-grid > div:nth-child(n+3) { border-bottom:0; }.shx-method-grid strong { margin-top:30px; font-size:16px; }.shx-method-grid p { font-size:12px; }.shx-contact { padding:80px 0 92px; }.shx-contact-grid { display:block; }.shx-form { margin-top:43px; }.shx-form-head { display:block; }.shx-form-head strong { display:block; margin-top:11px; } }
@media (prefers-reduced-motion:reduce) { .shx-flow-track { animation:none; }.shx-home .is-changing { animation:none; }.shx-question-table button { transition:none; } }

/* Shanghai homepage v5 — restrained editorial system. */
body:has(.shm-home) { background:#f5f3ee; color:#141a22; }
.shm-home { --shm-ink:#141a22; --shm-night:#101b2a; --shm-paper:#f5f3ee; --shm-white:#fffdfa; --shm-muted:#6f7880; --shm-line:rgba(20,26,34,.16); --shm-orange:#ef6a45; overflow:hidden; background:var(--shm-paper); }
.shm-home * { box-sizing:border-box; }.shm-home .container { position:relative; z-index:1; }
.shm-hero { position:relative; overflow:hidden; background:var(--shm-night); color:#fff; }.shm-hero-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 86%); }.shm-hero-grid::after { content:"SH"; position:absolute; right:3vw; bottom:-5vw; color:rgba(255,255,255,.035); font:900 35vw/.8 Arial,sans-serif; letter-spacing:-.18em; }
.shm-hero-top,.shm-hero-bottom,.shm-card-top,.shm-card-foot,.shm-eyebrow,.shm-hero-meta,.shm-label,.shm-text-link,.shm-index,.shm-live-state,.shm-card-question small,.shm-card-result small,.shm-chain-foot,.shm-form-head,.shm-form label,.shm-outline-link { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }
.shm-hero-top { display:flex; justify-content:space-between; gap:1rem; padding:24px 0 19px; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.63); font-size:10px; }.shm-hero-top > span:last-child { display:flex; align-items:center; gap:8px; color:#fff; }.shm-hero-top i,.shm-card-top i,.shm-index-live i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--shm-orange); box-shadow:0 0 0 4px rgba(239,106,69,.17); }
.shm-hero-layout { display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,.82fr); gap:clamp(4rem,9vw,11rem); align-items:center; min-height:620px; padding:75px 0 63px; }.shm-hero-copy { max-width:650px; }.shm-eyebrow { display:flex; align-items:center; gap:11px; color:#b7d9d2; font-size:10px; font-weight:700; }.shm-eyebrow em { padding:5px 7px; border:1px solid #b7d9d2; border-radius:2px; color:#fff; font-style:normal; }
.shm-hero h1 { margin:22px 0 24px; color:#fff; font-size:clamp(3.25rem,6.2vw,6.25rem); line-height:.99; letter-spacing:-.08em; font-weight:580; }.shm-hero h1 strong { color:#fff; font-weight:580; text-decoration:underline; text-decoration-color:var(--shm-orange); text-decoration-thickness:.06em; text-underline-offset:.09em; }.shm-hero-copy > p { max-width:560px; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.85; }
.shm-actions { display:flex; align-items:center; gap:25px; margin-top:36px; }.shm-actions .btn-cta { background:var(--shm-orange); border-color:var(--shm-orange); color:#141a22; }.shm-actions .btn-cta:hover { background:#fff; border-color:#fff; }.shm-text-link { color:#fff; font-size:10px; font-weight:700; }.shm-text-link span,.shm-outline-link span { margin-left:7px; color:var(--shm-orange); font-size:17px; }.shm-hero-meta { display:flex; flex-wrap:wrap; gap:11px 24px; margin-top:60px; color:rgba(255,255,255,.52); font-size:9px; }.shm-hero-meta span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:7px; border-radius:50%; background:var(--shm-orange); }
.shm-answer-card { position:relative; padding:23px; background:var(--shm-white); color:var(--shm-ink); border:1px solid rgba(255,255,255,.45); box-shadow:12px 12px 0 rgba(255,255,255,.12); }.shm-answer-card::before { content:""; position:absolute; inset:10px; border:1px solid rgba(20,26,34,.11); pointer-events:none; }.shm-card-top,.shm-card-foot { position:relative; z-index:1; display:flex; justify-content:space-between; gap:1rem; color:#78828a; font-size:9px; }.shm-card-top b { display:flex; align-items:center; gap:8px; color:var(--shm-ink); font-weight:700; }.shm-card-question { position:relative; z-index:1; margin:82px 0 49px; padding-left:18px; border-left:2px solid var(--shm-orange); }.shm-card-question small,.shm-card-result small { display:block; margin-bottom:9px; color:#7a858d; font-size:9px; }.shm-card-question strong { display:block; max-width:420px; font-size:clamp(1.5rem,2.45vw,2.15rem); line-height:1.22; letter-spacing:-.055em; font-weight:600; }.shm-card-result { position:relative; z-index:1; padding:18px 0 21px; border-top:1px solid var(--shm-line); border-bottom:1px solid var(--shm-line); }.shm-card-result strong { display:block; color:#44515c; font:600 12px/1.55 ui-monospace,monospace; }.shm-card-sources { position:relative; z-index:1; display:flex; gap:7px; padding:21px 0 39px; }.shm-card-sources span { padding:9px 11px; background:#eceae4; color:#59646d; font:700 9px ui-monospace,monospace; }.shm-card-foot { position:relative; z-index:1; }.shm-hero-bottom { display:flex; justify-content:space-between; padding-bottom:20px; color:rgba(255,255,255,.55); font-size:9px; }.shm-hero-bottom i { display:inline-block; width:23px; height:1px; margin-right:8px; vertical-align:middle; background:var(--shm-orange); }
.shm-index { border-bottom:1px solid var(--shm-line); background:var(--shm-white); color:#5f6971; font-size:10px; }.shm-index-inner { display:flex; align-items:center; gap:26px; min-height:63px; }.shm-index-label { color:var(--shm-ink); font-weight:700; }.shm-index-live { display:flex; align-items:center; gap:8px; margin-left:auto; color:var(--shm-ink); }.shm-index-live i { background:var(--shm-orange); }
.shm-editorial,.shm-scenes,.shm-method { padding:140px 0; }.shm-editorial { background:var(--shm-white); }.shm-editorial .container { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:clamp(4rem,10vw,10rem); }.shm-label { color:var(--shm-orange); font-size:10px; font-weight:800; }.shm-editorial-head h2,.shm-section-head h2,.shm-contact h2 { margin:20px 0 24px; color:var(--shm-ink); font-size:clamp(2.8rem,5vw,5.2rem); line-height:.98; letter-spacing:-.08em; font-weight:580; }.shm-editorial-head h2 em,.shm-section-head h2 em,.shm-contact h2 em { color:#4e63d7; font-style:normal; }.shm-editorial-head p,.shm-section-head > p,.shm-contact > p { max-width:390px; margin:0; color:var(--shm-muted); font-size:15px; line-height:1.8; }.shm-feed-list { border-top:2px solid var(--shm-ink); }.shm-feed-list article { position:relative; padding:29px 45px 31px 0; border-bottom:1px solid var(--shm-line); }.shm-feed-list small { color:var(--shm-orange); font:700 9px ui-monospace,monospace; letter-spacing:.1em; }.shm-feed-list h3 { max-width:650px; margin:11px 0 10px; color:var(--shm-ink); font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.3; letter-spacing:-.04em; }.shm-feed-list p { max-width:620px; margin:0; color:var(--shm-muted); font-size:14px; line-height:1.7; }.shm-feed-list b { position:absolute; top:29px; right:0; color:var(--shm-orange); font:700 10px ui-monospace,monospace; }
.shm-scenes { background:var(--shm-paper); }.shm-section-head { display:grid; grid-template-columns:1fr .58fr; gap:80px; align-items:end; margin-bottom:60px; }.shm-section-head > .shm-label,.shm-section-head > h2 { grid-column:1; }.shm-section-head > p { grid-column:2; grid-row:2; }.shm-question-list { border-top:1px solid var(--shm-ink); }.shm-question-list button { display:grid; grid-template-columns:50px 1fr 1.1fr 105px 25px; gap:18px; align-items:center; width:100%; padding:23px 0; border:0; border-bottom:1px solid var(--shm-line); background:transparent; color:var(--shm-ink); text-align:left; cursor:pointer; transition:background .22s ease,padding .22s ease; }.shm-question-list button:hover,.shm-question-list button.is-active { padding-left:16px; padding-right:16px; background:var(--shm-white); }.shm-question-list span { color:var(--shm-orange); font:700 10px ui-monospace,monospace; }.shm-question-list strong { font-size:18px; font-weight:600; letter-spacing:-.04em; }.shm-question-list p { margin:0; color:var(--shm-muted); font-size:13px; line-height:1.5; }.shm-question-list b { color:#7d858c; font:700 9px ui-monospace,monospace; }.shm-question-list i { color:#4e63d7; font-size:19px; font-style:normal; }.shm-question-list button.is-active strong { color:#4e63d7; }
.shm-chain { padding:140px 0 125px; background:#ebe9e3; }.shm-chain-head { margin-bottom:64px; }.shm-chain-line { display:flex; align-items:center; border-top:1px solid var(--shm-ink); border-bottom:1px solid var(--shm-line); }.shm-chain-line > div { flex:1; min-height:190px; padding:18px 18px 18px 0; }.shm-chain-line > div + div { padding-left:18px; }.shm-chain-line > i { width:30px; height:1px; background:var(--shm-orange); font-style:normal; }.shm-chain-line > div span { color:var(--shm-orange); font:700 10px ui-monospace,monospace; }.shm-chain-line strong { display:block; margin-top:53px; color:var(--shm-ink); font-size:25px; font-weight:600; letter-spacing:-.05em; }.shm-chain-line small { color:#6c7479; font-size:12px; }.shm-chain-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:25px; color:#5f686d; font-size:9px; }.shm-chain-foot strong { color:var(--shm-ink); font:600 18px inherit; letter-spacing:-.03em; text-transform:none; }
.shm-method { background:var(--shm-white); }.shm-method .shm-section-head { margin-bottom:61px; }.shm-method-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid var(--shm-ink); }.shm-method-grid > div { min-height:205px; padding:18px 20px 20px 0; border-right:1px solid var(--shm-line); }.shm-method-grid > div + div { padding-left:20px; }.shm-method-grid > div:last-child { border-right:0; }.shm-method-grid span { color:var(--shm-orange); font:700 10px ui-monospace,monospace; }.shm-method-grid strong { display:block; margin-top:48px; color:var(--shm-ink); font-size:19px; font-weight:600; letter-spacing:-.04em; }.shm-method-grid p { margin:10px 0 0; color:var(--shm-muted); font-size:13px; line-height:1.7; }.shm-outline-link { display:inline-block; margin-top:40px; color:var(--shm-ink); font-size:10px; font-weight:700; }
.shm-contact { padding:115px 0 145px; background:var(--shm-paper); }.shm-contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; }.shm-contact h2 em { color:var(--shm-orange); }.shm-contact > div > p { max-width:460px; color:var(--shm-muted); font-size:15px; line-height:1.8; }.shm-form { padding:26px; background:var(--shm-white); border:1px solid var(--shm-line); }.shm-form-head { display:flex; justify-content:space-between; gap:15px; align-items:baseline; padding-bottom:19px; border-bottom:1px solid var(--shm-line); }.shm-form-head span { color:#79838a; font-size:9px; }.shm-form-head strong { font:600 18px inherit; letter-spacing:-.04em; text-transform:none; }.shm-form label { display:block; margin-top:22px; color:#748087; font-size:9px; }.shm-form input { width:100%; margin-top:7px; padding:10px 0; border:0; border-bottom:1px solid var(--shm-line); background:transparent; color:var(--shm-ink); font:inherit; outline:0; }.shm-form input:focus { border-bottom-color:#4e63d7; }.shm-form input::placeholder { color:#a2a9ad; }.shm-form p { margin:18px 0 0; color:#778188; font-size:10px; line-height:1.6; }.shm-form p a { color:#4e63d7; }.shm-form-submit { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:24px; padding:0 0 12px; border:0; border-bottom:1px solid var(--shm-ink); background:transparent; color:var(--shm-ink); font:600 17px inherit; text-align:left; cursor:pointer; }.shm-form-submit span { color:var(--shm-orange); font-size:23px; }.shm-form .form-status { margin-top:10px; color:#4e63d7; font-size:12px; }
.shm-home .is-changing { animation:shmChange .35s ease; }@keyframes shmChange { from { opacity:.25; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:960px) { .shm-hero-layout { grid-template-columns:1fr; gap:44px; }.shm-answer-card { max-width:680px; width:100%; justify-self:end; }.shm-editorial .container { gap:55px; }.shm-contact-grid { gap:55px; } }
@media (max-width:720px) { .shm-hero-inner { padding-top:15px; }.shm-hero-top { font-size:8px; }.shm-hero-top > span:first-child { max-width:175px; }.shm-hero-layout { padding:53px 0 42px; }.shm-hero h1 { font-size:clamp(3rem,14vw,4.35rem); }.shm-hero-copy > p { font-size:14px; }.shm-actions { align-items:flex-start; flex-direction:column; gap:21px; margin-top:29px; }.shm-hero-meta { gap:10px 16px; margin-top:39px; }.shm-answer-card { min-height:500px; padding:17px; }.shm-card-question { margin:57px 0 42px; }.shm-card-question strong { font-size:1.6rem; }.shm-card-sources { flex-wrap:wrap; padding-bottom:31px; }.shm-card-foot { font-size:8px; }.shm-hero-bottom { gap:15px; font-size:8px; }.shm-index-inner { flex-wrap:wrap; gap:12px 18px; padding:14px 0; font-size:9px; }.shm-index-label { width:100%; }.shm-index-live { margin-left:0; width:100%; }.shm-editorial,.shm-scenes,.shm-method { padding:82px 0; }.shm-editorial .container { display:block; }.shm-feed-list { margin-top:52px; }.shm-editorial-head h2,.shm-section-head h2,.shm-contact h2 { font-size:clamp(2.7rem,13vw,4.35rem); }.shm-section-head { display:block; margin-bottom:44px; }.shm-section-head > p { margin-top:22px; }.shm-question-list button { grid-template-columns:33px 1fr 23px; gap:10px; padding:20px 0; }.shm-question-list button:hover,.shm-question-list button.is-active { padding-left:10px; padding-right:10px; }.shm-question-list strong { font-size:16px; }.shm-question-list p { grid-column:2; grid-row:2; }.shm-question-list b { grid-column:2; grid-row:3; }.shm-chain { padding:82px 0 88px; }.shm-chain-line { align-items:stretch; flex-direction:column; }.shm-chain-line > div,.shm-chain-line > div + div { min-height:118px; padding:15px 0; border-bottom:1px solid var(--shm-line); }.shm-chain-line > div + div { padding-left:0; }.shm-chain-line > div:last-of-type { border-bottom:0; }.shm-chain-line > i { width:1px; height:20px; margin-left:28px; }.shm-chain-line strong { display:inline-block; margin:24px 11px 0 0; font-size:21px; }.shm-chain-line small { font-size:11px; }.shm-chain-foot { align-items:flex-start; flex-direction:column; }.shm-chain-foot strong { font-size:16px; }.shm-method-grid { grid-template-columns:repeat(2,1fr); }.shm-method-grid > div,.shm-method-grid > div + div { min-height:170px; padding:15px 12px 15px 0; border-right:1px solid var(--shm-line); border-bottom:1px solid var(--shm-line); }.shm-method-grid > div:nth-child(even) { padding-left:12px; border-right:0; }.shm-method-grid > div:nth-child(n+3) { border-bottom:0; }.shm-method-grid strong { margin-top:30px; font-size:16px; }.shm-method-grid p { font-size:12px; }.shm-contact { padding:82px 0 95px; }.shm-contact-grid { display:block; }.shm-form { margin-top:44px; }.shm-form-head { display:block; }.shm-form-head strong { display:block; margin-top:11px; } }
@media (prefers-reduced-motion:reduce) { .shm-home .is-changing { animation:none; }.shm-question-list button { transition:none; } }

/* Motion is an explanation of the GEO process, not decoration. */
.shm-card-progress { position:relative; z-index:1; padding:17px 0 0; }.shm-progress-meta { display:flex; justify-content:space-between; gap:15px; color:#7a858d; font:9px ui-monospace,monospace; letter-spacing:.07em; text-transform:uppercase; }.shm-progress-meta b { color:var(--shm-ink); font-weight:700; text-transform:none; }.shm-progress-track { position:relative; height:2px; margin-top:11px; overflow:hidden; background:#e2e1dc; }.shm-progress-track::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0 16px,rgba(20,26,34,.15) 16px 17px); }.shm-progress-track i { display:block; width:var(--shm-progress,24%); height:100%; background:var(--shm-orange); transition:width .6s cubic-bezier(.2,.75,.25,1); }.shm-answer-card[data-stage="4"] .shm-progress-track i { background:#4e63d7; }.shm-card-sources span { opacity:.58; transition:opacity .35s ease,background .35s ease,color .35s ease; }.shm-card-sources span.is-active { opacity:1; background:#e2e0d9; color:var(--shm-ink); }.shm-board-feed.is-updating { animation:shmBoardUpdate .55s ease; }.shm-feed-list article { animation:shmFeedIn .55s var(--shm-delay,0ms) both; }.shm-chain-line > i { position:relative; }.shm-chain-line > i::after { content:""; position:absolute; left:0; top:-3px; width:7px; height:7px; border-radius:50%; background:var(--shm-orange); animation:shmChainPulse 3.6s ease-in-out infinite; }.shm-chain-line > i:nth-of-type(2)::after { animation-delay:1.2s; }.shm-chain-line > i:nth-of-type(3)::after { animation-delay:2.4s; }
@keyframes shmBoardUpdate { 0% { opacity:.45; transform:translateY(4px); } 100% { opacity:1; transform:translateY(0); } }@keyframes shmFeedIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }@keyframes shmChainPulse { 0%,100% { transform:translateX(0); opacity:.25; } 40% { transform:translateX(24px); opacity:1; } 70% { transform:translateX(100%); opacity:.05; } }
@media (prefers-reduced-motion:reduce) { .shm-progress-track i,.shm-card-sources span { transition:none; }.shm-board-feed.is-updating,.shm-feed-list article,.shm-chain-line > i::after { animation:none; } }

/* Shanghai homepage v6 — one animated object, one restrained visual language. */
body:has(.shv-home) { background:#f5f3ee; color:#141a22; }
.shv-home { --shv-ink:#141a22; --shv-night:#111c2b; --shv-paper:#f5f3ee; --shv-white:#fffdfa; --shv-muted:#707a82; --shv-line:rgba(20,26,34,.16); --shv-orange:#ef6a45; --shv-blue:#5266db; overflow:hidden; background:var(--shv-paper); }
.shv-home * { box-sizing:border-box; }.shv-home .container { position:relative; z-index:1; }
.shv-hero { position:relative; overflow:hidden; background:var(--shv-night); color:#fff; }.shv-hero-grid { position:absolute; inset:0; opacity:.19; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000 0 58%,transparent 94%); }.shv-hero-grid::after { content:"SH"; position:absolute; right:2vw; bottom:-5vw; color:rgba(255,255,255,.035); font:900 36vw/.8 Arial,sans-serif; letter-spacing:-.18em; }
.shv-hero-top,.shv-hero-bottom,.shv-stage-head,.shv-stage-foot,.shv-eyebrow,.shv-label,.shv-text-link,.shv-signal-label,.shv-live-drawer small,.shv-loop-node small,.shv-method-grid span,.shv-form-head,.shv-form label,.shv-outline-link { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }
.shv-hero-top { display:flex; justify-content:space-between; gap:1rem; padding:24px 0 19px; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.62); font-size:10px; }.shv-hero-top > span:last-child { display:flex; align-items:center; gap:8px; color:#fff; }.shv-hero-top i,.shv-stage-head > b i,.shv-signal-live i,.shv-hero-bottom i { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--shv-orange); box-shadow:0 0 0 4px rgba(239,106,69,.17); }
.shv-hero-layout { display:grid; grid-template-columns:minmax(0,.84fr) minmax(450px,1.16fr); gap:clamp(3rem,8vw,9rem); align-items:center; min-height:665px; padding:70px 0 57px; }.shv-hero-copy { max-width:640px; }.shv-eyebrow { display:flex; align-items:center; gap:11px; color:#b7d9d2; font-size:10px; font-weight:700; }.shv-eyebrow em { padding:5px 7px; border:1px solid #b7d9d2; border-radius:2px; color:#fff; font-style:normal; }.shv-hero h1 { margin:22px 0 24px; color:#fff; font-size:clamp(3.25rem,6.25vw,6.2rem); line-height:.98; letter-spacing:-.08em; font-weight:580; }.shv-hero h1 strong { color:#fff; font-weight:580; text-decoration:underline; text-decoration-color:var(--shv-orange); text-decoration-thickness:.06em; text-underline-offset:.09em; }.shv-hero-copy > p { max-width:580px; margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.85; }.shv-actions { display:flex; align-items:center; gap:25px; margin-top:36px; }.shv-actions .btn-cta { background:var(--shv-orange); border-color:var(--shv-orange); color:#141a22; }.shv-actions .btn-cta:hover { background:#fff; border-color:#fff; }.shv-text-link { color:#fff; font-size:10px; font-weight:700; }.shv-text-link span { margin-left:7px; color:var(--shv-orange); font-size:17px; }.shv-hero-note { display:flex; flex-wrap:wrap; gap:11px 24px; margin-top:60px; color:rgba(255,255,255,.52); font:9px ui-monospace,monospace; letter-spacing:.07em; text-transform:uppercase; }.shv-hero-note span::before { content:""; display:inline-block; width:5px; height:5px; margin-right:7px; border-radius:50%; background:var(--shv-orange); }
.shv-loop-stage { position:relative; min-height:560px; padding:20px; background:#f7fafb; color:var(--shv-ink); border:1px solid rgba(255,255,255,.5); box-shadow:12px 12px 0 rgba(255,255,255,.12); }.shv-stage-head,.shv-stage-foot { position:relative; z-index:2; display:flex; justify-content:space-between; gap:1rem; color:#7a858d; font-size:9px; }.shv-stage-head > b { display:flex; align-items:center; gap:9px; color:var(--shv-ink); font-weight:700; }.shv-stage-head > b i { width:6px; height:6px; box-shadow:none; }.shv-stage-head > b span { font:700 9px ui-monospace,monospace; letter-spacing:.07em; }.shv-loop-visual { position:relative; min-height:355px; margin:28px 0 17px; overflow:hidden; background:radial-gradient(circle at 50% 50%,#eef3f4 0,#f7fafb 36%,#e9eef1 100%); border:1px solid rgba(20,26,34,.11); }.shv-loop-visual::before,.shv-loop-visual::after { content:""; position:absolute; pointer-events:none; }.shv-loop-visual::before { inset:12% 6%; border-top:1px solid rgba(20,26,34,.11); border-bottom:1px solid rgba(20,26,34,.11); transform:skewY(-12deg); }.shv-loop-visual::after { inset:10% 15%; border-left:1px solid rgba(20,26,34,.08); border-right:1px solid rgba(20,26,34,.08); transform:skewX(-16deg); }
.shv-loop-orbit { position:absolute; left:50%; top:50%; width:285px; height:285px; border:1px solid rgba(82,102,219,.23); border-radius:50%; transform:translate(-50%,-50%); }.shv-loop-orbit::after { content:""; position:absolute; left:50%; top:-4px; width:7px; height:7px; border-radius:50%; background:var(--shv-blue); box-shadow:0 0 0 5px rgba(82,102,219,.1); }.orbit-one { animation:shvOrbit 16s linear infinite; }.orbit-two { width:210px; height:210px; border-color:rgba(239,106,69,.3); animation:shvOrbitReverse 11s linear infinite; }.orbit-two::after { top:auto; bottom:-4px; background:var(--shv-orange); box-shadow:0 0 0 5px rgba(239,106,69,.1); }.orbit-three { width:128px; height:128px; border-style:dashed; border-color:rgba(20,26,34,.16); animation:shvOrbit 8s linear infinite; }.shv-loop-route { position:absolute; left:50%; top:50%; width:325px; height:92px; border-top:1px solid rgba(20,26,34,.26); border-bottom:1px solid rgba(20,26,34,.11); transform:translate(-50%,-50%) rotate(34deg); border-radius:50%; }.route-two { width:310px; height:105px; transform:translate(-50%,-50%) rotate(-39deg); border-top-color:rgba(239,106,69,.42); border-bottom:0; border-style:dashed; animation:shvRoute 4.5s linear infinite; }
.shv-loop-center { position:absolute; left:50%; top:50%; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; width:116px; height:116px; border:1px solid var(--shv-ink); border-radius:50%; background:var(--shv-white); box-shadow:0 0 0 9px rgba(255,255,255,.52),0 0 0 10px rgba(20,26,34,.14); transform:translate(-50%,-50%); text-align:center; }.shv-loop-center small { color:#7b858d; font:8px ui-monospace,monospace; letter-spacing:.1em; }.shv-loop-center strong { margin:4px 0 6px; color:var(--shv-ink); font:700 34px/.9 Arial,sans-serif; letter-spacing:-.12em; transform:translateX(-3px); }.shv-loop-center span { color:var(--shv-orange); font:700 8px ui-monospace,monospace; letter-spacing:.08em; }
.shv-loop-node { position:absolute; z-index:4; display:flex; flex-direction:column; align-items:flex-start; min-width:90px; padding:9px 12px 9px 25px; border:1px solid rgba(20,26,34,.23); border-radius:2px; background:rgba(255,253,250,.92); color:var(--shv-ink); text-align:left; cursor:pointer; transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease; }.shv-loop-node::before { content:""; position:absolute; left:10px; top:50%; width:6px; height:6px; border-radius:50%; background:var(--shv-blue); transform:translateY(-50%); }.shv-loop-node strong { font-size:13px; font-weight:650; letter-spacing:-.03em; }.shv-loop-node small { margin-top:3px; color:#79838a; font-size:8px; }.shv-loop-node:hover,.shv-loop-node.is-active { border-color:var(--shv-orange); background:#fff; box-shadow:5px 5px 0 rgba(239,106,69,.16); transform:translateY(-4px); }.shv-loop-node.is-active::before { background:var(--shv-orange); box-shadow:0 0 0 5px rgba(239,106,69,.16); animation:shvNodePulse 1.8s ease-in-out infinite; }.node-pudong { left:8%; top:16%; }.node-zhangjiang { right:7%; top:22%; }.node-jiading { right:9%; bottom:15%; }.node-lingang { left:10%; bottom:12%; }.shv-live-drawer { position:relative; z-index:2; padding:17px 0 15px; border-top:1px solid rgba(20,26,34,.16); border-bottom:1px solid rgba(20,26,34,.16); }.shv-live-drawer > div:first-child { padding-left:15px; border-left:2px solid var(--shv-orange); }.shv-live-drawer small { display:block; margin-bottom:8px; color:#7a858d; font-size:8px; }.shv-live-drawer strong { display:block; max-width:520px; font-size:clamp(1.18rem,1.8vw,1.45rem); line-height:1.3; letter-spacing:-.045em; font-weight:600; }.shv-drawer-answer { display:flex; align-items:center; gap:12px; margin-top:16px; color:#55616b; }.shv-drawer-answer span { flex:0 0 auto; color:var(--shv-orange); font:700 9px ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; }.shv-drawer-answer b { font:600 11px/1.5 ui-monospace,monospace; }.shv-progress { height:2px; margin-top:16px; overflow:hidden; background:#dfe3e3; }.shv-progress i { display:block; width:24%; height:100%; background:var(--shv-orange); transition:width .65s cubic-bezier(.2,.75,.25,1),background .35s ease; }.shv-stage-foot { margin-top:14px; }.shv-stage-foot span:last-child { color:#a1a9ad; }
.shv-hero-bottom { display:flex; justify-content:space-between; gap:1rem; padding-bottom:20px; color:rgba(255,255,255,.55); font:9px ui-monospace,monospace; letter-spacing:.07em; text-transform:uppercase; }.shv-hero-bottom i { width:23px; height:1px; margin-right:8px; vertical-align:middle; border-radius:0; box-shadow:none; }
.shv-signal-bar { border-bottom:1px solid var(--shv-line); background:var(--shv-white); color:#687279; font:10px ui-monospace,monospace; letter-spacing:.03em; }.shv-signal-bar .container { display:flex; align-items:center; gap:25px; min-height:63px; overflow:hidden; white-space:nowrap; }.shv-signal-label { color:var(--shv-ink); font-weight:700; }.shv-signal-live { display:flex; align-items:center; gap:8px; margin-left:auto; color:var(--shv-ink); }.shv-signal-live i { width:6px; height:6px; box-shadow:none; }
.shv-feed,.shv-questions,.shv-method { padding:140px 0; }.shv-feed { background:var(--shv-white); }.shv-feed .container { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(4rem,10vw,10rem); }.shv-label { color:var(--shv-orange); font-size:10px; font-weight:800; }.shv-section-intro h2,.shv-section-head h2,.shv-contact h2 { margin:20px 0 24px; color:var(--shv-ink); font-size:clamp(2.8rem,5vw,5.2rem); line-height:.98; letter-spacing:-.08em; font-weight:580; }.shv-section-intro h2 em,.shv-section-head h2 em,.shv-contact h2 em { color:var(--shv-blue); font-style:normal; }.shv-section-intro > p,.shv-section-head > p,.shv-contact-grid p { max-width:390px; margin:0; color:var(--shv-muted); font-size:15px; line-height:1.8; }.shv-feed-list { border-top:2px solid var(--shv-ink); }.shv-feed-list article { position:relative; padding:29px 45px 31px 0; border-bottom:1px solid var(--shv-line); animation:shvFeedIn .55s var(--shv-delay,0ms) both; }.shv-feed-list small { color:var(--shv-orange); font:700 9px ui-monospace,monospace; letter-spacing:.1em; }.shv-feed-list h3 { max-width:650px; margin:11px 0 10px; color:var(--shv-ink); font-size:clamp(1.25rem,2vw,1.75rem); line-height:1.3; letter-spacing:-.04em; }.shv-feed-list p { max-width:620px; margin:0; color:var(--shv-muted); font-size:14px; line-height:1.7; }.shv-feed-list b { position:absolute; top:29px; right:0; color:var(--shv-orange); font:700 10px ui-monospace,monospace; }
.shv-questions { background:var(--shv-paper); }.shv-section-head { display:grid; grid-template-columns:1fr .58fr; gap:80px; align-items:end; margin-bottom:60px; }.shv-section-head > .shv-label,.shv-section-head > h2 { grid-column:1; }.shv-section-head > p { grid-column:2; grid-row:2; }.shv-question-list { border-top:1px solid var(--shv-ink); }.shv-question-list button { display:grid; grid-template-columns:50px 1fr 1.1fr 105px 25px; gap:18px; align-items:center; width:100%; padding:23px 0; border:0; border-bottom:1px solid var(--shv-line); background:transparent; color:var(--shv-ink); font:inherit; text-align:left; cursor:pointer; transition:background .22s ease,padding .22s ease; }.shv-question-list button:hover,.shv-question-list button.is-active { padding-left:16px; padding-right:16px; background:var(--shv-white); }.shv-question-list > button > span { color:var(--shv-orange); font:700 10px ui-monospace,monospace; }.shv-question-list strong { font-size:18px; font-weight:600; letter-spacing:-.04em; }.shv-question-list p { margin:0; color:var(--shv-muted); font-size:13px; line-height:1.5; }.shv-question-list b { color:#7d858c; font:700 9px ui-monospace,monospace; }.shv-question-list i { color:var(--shv-blue); font-size:19px; font-style:normal; }.shv-question-list button.is-active strong { color:var(--shv-blue); }
.shv-method { background:var(--shv-white); }.shv-method-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:61px; border-top:2px solid var(--shv-ink); }.shv-method-grid > div { min-height:205px; padding:18px 20px 20px 0; border-right:1px solid var(--shv-line); }.shv-method-grid > div + div { padding-left:20px; }.shv-method-grid > div:last-child { border-right:0; }.shv-method-grid span { color:var(--shv-orange); font:700 10px ui-monospace,monospace; }.shv-method-grid strong { display:block; margin-top:48px; color:var(--shv-ink); font-size:19px; font-weight:600; letter-spacing:-.04em; }.shv-method-grid p { margin:10px 0 0; color:var(--shv-muted); font-size:13px; line-height:1.7; }.shv-outline-link { display:inline-block; margin-top:40px; color:var(--shv-ink); font-size:10px; font-weight:700; }.shv-outline-link span { margin-left:7px; color:var(--shv-orange); font-size:17px; }
.shv-contact { padding:115px 0 145px; background:var(--shv-paper); }.shv-contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; }.shv-contact h2 em { color:var(--shv-orange); }.shv-form { padding:26px; background:var(--shv-white); border:1px solid var(--shv-line); }.shv-form-head { display:flex; justify-content:space-between; gap:15px; align-items:baseline; padding-bottom:19px; border-bottom:1px solid var(--shv-line); }.shv-form-head span { color:#79838a; font-size:9px; }.shv-form-head strong { font:600 18px inherit; letter-spacing:-.04em; text-transform:none; }.shv-form label { display:block; margin-top:22px; color:#748087; font-size:9px; }.shv-form input { width:100%; margin-top:7px; padding:10px 0; border:0; border-bottom:1px solid var(--shv-line); background:transparent; color:var(--shv-ink); font:inherit; outline:0; }.shv-form input:focus { border-bottom-color:var(--shv-blue); }.shv-form input::placeholder { color:#a2a9ad; }.shv-form p { margin:18px 0 0; color:#778188; font-size:10px; line-height:1.6; }.shv-form p a { color:var(--shv-blue); }.shv-form-submit { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:24px; padding:0 0 12px; border:0; border-bottom:1px solid var(--shv-ink); background:transparent; color:var(--shv-ink); font:600 17px inherit; text-align:left; cursor:pointer; }.shv-form-submit span { color:var(--shv-orange); font-size:23px; }.shv-form .form-status { margin-top:10px; color:var(--shv-blue); font-size:12px; }
.shv-home .is-changing { animation:shvChange .35s ease; }
@keyframes shvChange { from { opacity:.28; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } } @keyframes shvFeedIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } } @keyframes shvOrbit { to { transform:translate(-50%,-50%) rotate(360deg); } } @keyframes shvOrbitReverse { to { transform:translate(-50%,-50%) rotate(-360deg); } } @keyframes shvRoute { 0%,100% { opacity:.35; } 50% { opacity:1; } } @keyframes shvNodePulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.22); opacity:.6; } }
@media (max-width:960px) { .shv-hero-layout { grid-template-columns:1fr; gap:47px; }.shv-loop-stage { max-width:720px; width:100%; justify-self:end; }.shv-feed .container { gap:55px; }.shv-contact-grid { gap:55px; } }
@media (max-width:720px) { .shv-hero-top { font-size:8px; }.shv-hero-top > span:first-child { max-width:175px; }.shv-hero-layout { padding:53px 0 42px; }.shv-hero h1 { font-size:clamp(3rem,14vw,4.35rem); }.shv-hero-copy > p { font-size:14px; }.shv-actions { align-items:flex-start; flex-direction:column; gap:21px; margin-top:29px; }.shv-hero-note { gap:10px 16px; margin-top:39px; }.shv-loop-stage { min-height:520px; padding:16px; }.shv-loop-visual { min-height:318px; margin-top:24px; }.shv-loop-orbit { width:245px; height:245px; }.shv-loop-orbit.orbit-two { width:180px; height:180px; }.shv-loop-orbit.orbit-three { width:110px; height:110px; }.shv-loop-route { width:270px; }.shv-loop-center { width:100px; height:100px; }.shv-loop-center strong { font-size:30px; }.shv-loop-node { min-width:76px; padding:8px 8px 8px 21px; }.shv-loop-node::before { left:8px; }.shv-loop-node strong { font-size:12px; }.node-pudong { left:4%; top:13%; }.node-zhangjiang { right:4%; top:19%; }.node-jiading { right:5%; bottom:12%; }.node-lingang { left:6%; bottom:9%; }.shv-drawer-answer { display:block; }.shv-drawer-answer b { display:block; margin-top:7px; }.shv-hero-bottom { gap:15px; font-size:8px; }.shv-signal-bar .container { gap:18px; min-height:57px; overflow:auto; font-size:9px; }.shv-signal-label { flex:0 0 auto; }.shv-signal-live { margin-left:0; }.shv-feed,.shv-questions,.shv-method { padding:82px 0; }.shv-feed .container { display:block; }.shv-feed-list { margin-top:52px; }.shv-section-intro h2,.shv-section-head h2,.shv-contact h2 { font-size:clamp(2.7rem,13vw,4.35rem); }.shv-section-head { display:block; margin-bottom:44px; }.shv-section-head > p { margin-top:22px; }.shv-question-list button { grid-template-columns:33px 1fr 23px; gap:10px; padding:20px 0; }.shv-question-list button:hover,.shv-question-list button.is-active { padding-left:10px; padding-right:10px; }.shv-question-list strong { font-size:16px; }.shv-question-list p { grid-column:2; grid-row:2; }.shv-question-list b { grid-column:2; grid-row:3; }.shv-method-grid { grid-template-columns:repeat(2,1fr); margin-top:44px; }.shv-method-grid > div,.shv-method-grid > div + div { min-height:170px; padding:15px 12px 15px 0; border-right:1px solid var(--shv-line); border-bottom:1px solid var(--shv-line); }.shv-method-grid > div:nth-child(even) { padding-left:12px; border-right:0; }.shv-method-grid > div:nth-child(n+3) { border-bottom:0; }.shv-method-grid strong { margin-top:30px; font-size:16px; }.shv-method-grid p { font-size:12px; }.shv-contact { padding:82px 0 95px; }.shv-contact-grid { display:block; }.shv-form { margin-top:44px; }.shv-form-head { display:block; }.shv-form-head strong { display:block; margin-top:11px; } }
@media (prefers-reduced-motion:reduce) { .shv-loop-orbit,.shv-loop-route,.shv-loop-node.is-active::before,.shv-home .is-changing,.shv-feed-list article { animation:none; }.shv-progress i,.shv-loop-node,.shv-question-list button { transition:none; } }

/* Clear legacy node coordinates inherited by the shared stylesheet. */
.shv-loop-node { left:auto; right:auto; top:auto; bottom:auto; }
.shv-loop-node.node-pudong { left:8%; top:16%; }
.shv-loop-node.node-zhangjiang { right:7%; top:22%; }
.shv-loop-node.node-jiading { right:9%; bottom:15%; }
.shv-loop-node.node-lingang { left:10%; bottom:12%; }
@media (max-width:720px) { .shv-loop-node { left:auto; right:auto; top:auto; bottom:auto; }.shv-loop-node.node-pudong { left:4%; top:13%; }.shv-loop-node.node-zhangjiang { right:4%; top:19%; }.shv-loop-node.node-jiading { right:5%; bottom:12%; }.shv-loop-node.node-lingang { left:6%; bottom:9%; } }

/* Shanghai homepage v7 — a full-width answer trail, not a hero card. */
.shv-hero-rail { min-height:0; padding-bottom:0; }.shv-hero-rail .container { padding-bottom:0; }.shv-rail-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr); gap:clamp(3rem,10vw,10rem); align-items:end; padding:78px 0 70px; }.shv-rail-intro h1 { max-width:12ch; margin:22px 0 0; font-size:clamp(2.8rem,4.8vw,4.8rem); line-height:1.02; letter-spacing:-.075em; }.shv-rail-intro h1 strong { font-weight:580; }.shv-rail-intro-aside { padding-bottom:4px; }.shv-rail-intro-aside p { max-width:330px; margin:0; color:rgba(255,255,255,.66); font-size:14px; line-height:1.8; }.shv-rail-intro-aside .shv-actions { margin-top:25px; gap:21px; }.shv-rail-intro-aside .btn-cta { padding:12px 18px; font-size:13px; }.shv-rail { position:relative; padding:24px 0 26px; border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }.shv-rail-meta { display:flex; justify-content:space-between; gap:1rem; color:rgba(255,255,255,.5); font:9px ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }.shv-rail-meta > b { display:flex; align-items:center; gap:9px; color:#fff; font-weight:700; }.shv-rail-meta > b i { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--shv-orange); box-shadow:0 0 0 4px rgba(239,106,69,.17); }.shv-rail-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); min-height:180px; margin-top:10px; }.shv-rail-line { position:absolute; z-index:0; top:50%; left:0; right:0; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.62),rgba(255,255,255,.2)); }.shv-rail-scan { position:absolute; z-index:1; top:calc(50% - 3px); left:0; width:7px; height:7px; border-radius:50%; background:var(--shv-orange); box-shadow:0 0 0 7px rgba(239,106,69,.12),0 0 20px rgba(239,106,69,.7); animation:shvRailScan 7s cubic-bezier(.35,.04,.6,.96) infinite; }.shv-rail-stop { position:relative; left:auto!important; right:auto!important; top:auto!important; bottom:auto!important; z-index:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:100%; min-width:0; min-height:180px; padding:0 10px 0 0; border:0; border-radius:0; background:transparent; color:#fff; font:inherit; text-align:left; cursor:pointer; transition:transform .25s ease,color .25s ease; }.shv-rail-stop:nth-of-type(odd) { transform:translateY(-24px); }.shv-rail-stop:nth-of-type(even) { transform:translateY(24px); }.shv-rail-stop:hover,.shv-rail-stop.is-active { color:#fff; }.shv-rail-stop > i { display:block; width:13px; height:13px; margin-bottom:13px; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:var(--shv-night); box-shadow:0 0 0 6px rgba(255,255,255,.06); transition:background .25s ease,box-shadow .25s ease,transform .25s ease; }.shv-rail-stop strong { font-size:17px; line-height:1.15; font-weight:600; letter-spacing:-.04em; }.shv-rail-stop small { margin-top:7px; color:rgba(255,255,255,.47); font-size:8px; }.shv-rail-stop:hover > i,.shv-rail-stop.is-active > i { border-color:var(--shv-orange); background:var(--shv-orange); box-shadow:0 0 0 6px rgba(239,106,69,.15),0 0 18px rgba(239,106,69,.55); transform:scale(1.14); }.shv-rail-readout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(2rem,8vw,8rem); padding:25px 0 3px; border-top:1px solid rgba(255,255,255,.16); }.shv-rail-readout small { display:block; margin-bottom:9px; color:rgba(255,255,255,.45); font:8px ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }.shv-rail-readout strong { display:block; max-width:650px; color:#fff; font-size:clamp(1.2rem,2vw,1.65rem); line-height:1.35; letter-spacing:-.045em; font-weight:550; }.shv-rail-answer { display:grid; grid-template-columns:auto 1fr; gap:8px 15px; align-content:start; padding-top:2px; }.shv-rail-answer > span:first-child { color:var(--shv-orange); font:700 9px ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; }.shv-rail-answer b { color:rgba(255,255,255,.68); font:600 11px/1.55 ui-monospace,monospace; }.shv-rail-answer .shv-progress { grid-column:1 / -1; width:100%; height:2px; margin-top:11px; background:rgba(255,255,255,.18); }.shv-rail-answer .shv-progress i { display:block; width:24%; height:100%; background:var(--shv-orange); transition:width .65s cubic-bezier(.2,.75,.25,1),background .35s ease; }.shv-rail .shv-stage-foot { margin-top:24px; }.shv-hero-rail .shv-hero-bottom { padding:18px 0 20px; }.shv-home .shv-section-intro h2,.shv-home .shv-section-head h2,.shv-home .shv-contact h2 { font-size:clamp(2.45rem,4.25vw,4.35rem); }.shv-home .shv-feed-list h3 { font-size:clamp(1.15rem,1.75vw,1.55rem); }.shv-home .shv-question-list strong { font-size:16px; }.shv-home .shv-method-grid strong { font-size:17px; }
@keyframes shvRailScan { 0% { left:0%; opacity:.25; } 8% { opacity:1; } 47% { left:33.333%; } 50% { left:50%; } 83% { left:83.333%; } 92% { opacity:1; } 100% { left:100%; opacity:.25; } }
@media (max-width:960px) { .shv-rail-intro { gap:4rem; }.shv-rail-readout { gap:4rem; } }
@media (max-width:720px) { .shv-rail-intro { display:block; padding:56px 0 48px; }.shv-rail-intro h1 { max-width:11ch; font-size:clamp(2.55rem,10.8vw,3.55rem); }.shv-rail-intro-aside { margin-top:28px; }.shv-rail-intro-aside p { font-size:13px; }.shv-rail-intro-aside .shv-actions { align-items:flex-start; flex-direction:column; gap:17px; margin-top:21px; }.shv-rail { padding:20px 0 22px; overflow:hidden; }.shv-rail-meta { font-size:8px; }.shv-rail-track { min-width:620px; min-height:156px; margin-top:5px; }.shv-rail-stop { min-height:156px; }.shv-rail-stop:nth-of-type(odd) { transform:translateY(-18px); }.shv-rail-stop:nth-of-type(even) { transform:translateY(18px); }.shv-rail-stop strong { font-size:15px; }.shv-rail-readout { display:block; padding-top:22px; }.shv-rail-answer { margin-top:19px; }.shv-rail .shv-stage-foot { margin-top:20px; font-size:8px; }.shv-home .shv-section-intro h2,.shv-home .shv-section-head h2,.shv-home .shv-contact h2 { font-size:clamp(2.35rem,11vw,3.35rem); } }
@media (prefers-reduced-motion:reduce) { .shv-rail-scan { animation:none; left:50%; }.shv-rail-stop,.shv-rail-stop > i,.shv-rail-answer .shv-progress i { transition:none; } }

/* Shanghai homepage v8 — warm editorial motion, integrated into content. */
.shv-home { --shv-ink:#19231f; --shv-night:#19231f; --shv-paper:#f2efe8; --shv-white:#fbfaf6; --shv-muted:#68716c; --shv-line:rgba(25,35,31,.15); --shv-orange:#dc754d; --shv-blue:#14705a; background:var(--shv-paper); color:var(--shv-ink); }
body:has(.shv-home) { background:var(--shv-paper); color:var(--shv-ink); }
.shv-hero-editorial { position:relative; min-height:0; overflow:hidden; background:#f3f0e9; color:var(--shv-ink); }.shv-hero-editorial::after { content:""; position:absolute; right:-18%; top:12%; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle,rgba(20,112,90,.07),rgba(20,112,90,0) 68%); animation:shvEditorialBreath 14s ease-in-out infinite alternate; pointer-events:none; }.shv-editorial-watermark { position:absolute; inset:0; display:flex; align-items:flex-end; gap:80px; overflow:hidden; color:rgba(25,35,31,.025); font:700 clamp(4.8rem,10vw,9rem)/.76 Arial,sans-serif; letter-spacing:-.08em; white-space:nowrap; pointer-events:none; }.shv-editorial-watermark span { flex:0 0 auto; animation:shvEditorialDrift 34s linear infinite; }
.shv-hero-editorial .shv-hero-top { color:#7a837e; border-bottom-color:rgba(25,35,31,.15); }.shv-hero-editorial .shv-hero-top > span:last-child { color:#305047; }.shv-hero-editorial .shv-hero-top i { width:6px; height:6px; background:#14705a; box-shadow:0 0 0 4px rgba(20,112,90,.12); }.shv-editorial-main { padding:76px 0 50px; }.shv-hero-editorial .shv-eyebrow { color:#44665c; }.shv-hero-editorial .shv-eyebrow em { color:#26463d; border-color:rgba(20,112,90,.42); }.shv-hero-editorial h1 { max-width:13ch; margin:24px 0 0; color:var(--shv-ink); font-size:clamp(2.75rem,4.4vw,4.15rem); line-height:1.03; letter-spacing:-.075em; font-weight:560; }.shv-hero-editorial h1 strong { color:#14705a; font-weight:560; text-decoration:none; }.shv-editorial-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-top:38px; padding-top:24px; border-top:1px solid rgba(25,35,31,.15); }.shv-editorial-summary > p { max-width:530px; margin:0; color:#66706b; font-size:14px; line-height:1.8; }.shv-hero-editorial .shv-actions { flex:0 0 auto; margin-top:0; }.shv-hero-editorial .shv-actions .btn-cta { padding:12px 19px; border-color:#dc754d; background:#dc754d; color:#18221e; font-size:13px; }.shv-hero-editorial .shv-actions .btn-cta:hover { border-color:#14705a; background:#14705a; color:#fff; }.shv-hero-editorial .shv-text-link { color:#29463e; }.shv-hero-editorial .shv-text-link span { color:#14705a; }
.shv-query-flow { position:relative; padding:25px 0 27px; border-top:1px solid rgba(25,35,31,.22); border-bottom:1px solid rgba(25,35,31,.22); }.shv-query-meta { display:flex; justify-content:space-between; gap:20px; color:#7c847f; font:9px ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }.shv-query-meta > b { display:flex; align-items:center; gap:8px; color:#40564f; font-weight:700; }.shv-query-meta > b i { display:inline-block; width:5px; height:5px; border-radius:50%; background:#14705a; box-shadow:0 0 0 4px rgba(20,112,90,.1); }.shv-query-copy { display:flex; gap:7px; align-items:flex-start; max-width:980px; margin-top:25px; }.shv-query-copy strong { color:#1e2925; font-size:clamp(1.45rem,2.45vw,2.1rem); line-height:1.35; letter-spacing:-.045em; font-weight:550; }.shv-query-mark { color:#c4bdb3; font:400 30px/1 Georgia,serif; }.shv-query-answer { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(160px,.35fr); gap:14px 22px; align-items:center; margin-top:24px; }.shv-query-answer > span:first-child { color:#14705a; font:700 9px ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; }.shv-query-answer > b { color:#68716c; font:600 11px/1.55 ui-monospace,monospace; }.shv-query-answer .shv-progress { width:100%; height:1px; margin:0; background:rgba(25,35,31,.16); }.shv-query-answer .shv-progress i { display:block; width:24%; height:100%; background:#14705a; transition:width 1s cubic-bezier(.2,.75,.25,1); }
.shv-editorial-switcher { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(130px,.75fr); border-bottom:1px solid rgba(25,35,31,.15); }.shv-editorial-switcher button { position:relative; display:flex; align-items:center; gap:12px; min-height:74px; padding:0 18px 0 0; border:0; background:transparent; color:#69736e; text-align:left; cursor:pointer; transition:color .3s ease; }.shv-editorial-switcher button::after { content:""; position:absolute; left:0; right:18px; bottom:-1px; height:2px; background:#14705a; transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.2,.75,.25,1); }.shv-editorial-switcher button:hover,.shv-editorial-switcher button.is-active { color:#173f34; }.shv-editorial-switcher button.is-active::after { transform:scaleX(1); }.shv-editorial-switcher button span { color:#a0a7a3; font:8px ui-monospace,monospace; }.shv-editorial-switcher button strong { font-size:13px; font-weight:600; }.shv-editorial-time { display:flex; flex-direction:column; justify-content:center; align-items:flex-end; color:#53635d; font:9px ui-monospace,monospace; }.shv-editorial-time small { margin-top:5px; color:#9aa19d; font-size:8px; }.shv-hero-editorial .shv-hero-bottom { padding:17px 0 20px; color:#818985; }.shv-hero-editorial .shv-hero-bottom i { background:#14705a; }
.shv-signal-bar { background:#fbfaf6; }.shv-feed { background:#fbfaf6; }.shv-questions { background:#f2efe8; }.shv-method { background:#fbfaf6; }.shv-contact { background:#f2efe8; }.shv-home .shv-section-intro h2,.shv-home .shv-section-head h2,.shv-home .shv-contact h2 { font-size:clamp(2.25rem,3.65vw,3.75rem); }.shv-home .shv-section-intro h2 em,.shv-home .shv-section-head h2 em { color:#14705a; }.shv-home .shv-contact h2 em { color:#dc754d; }.shv-home .shv-label,.shv-home .shv-feed-list small,.shv-home .shv-feed-list b,.shv-home .shv-question-list > button > span,.shv-home .shv-method-grid span { color:#b95e3f; }.shv-home .shv-question-list i,.shv-home .shv-question-list button.is-active strong { color:#14705a; }.shv-home .shv-feed-list h3 { font-size:clamp(1.1rem,1.6vw,1.45rem); }.shv-home .shv-form input:focus { border-bottom-color:#14705a; }.shv-home .shv-form p a,.shv-home .shv-form .form-status { color:#14705a; }
body:has(.shv-home) .to-top { background:#14705a; box-shadow:0 10px 28px rgba(20,112,90,.2); }body:has(.shv-home) .to-top:hover { background:#dc754d; }
@keyframes shvEditorialBreath { from { transform:translate3d(0,0,0) scale(.92); opacity:.6; } to { transform:translate3d(-7%,5%,0) scale(1.08); opacity:1; } } @keyframes shvEditorialDrift { to { transform:translateX(-180px); } }
@media (max-width:720px) { .shv-hero-editorial::after { width:420px; height:420px; }.shv-editorial-main { padding:54px 0 38px; }.shv-hero-editorial h1 { max-width:12ch; margin-top:20px; font-size:clamp(2.45rem,10.5vw,3.3rem); }.shv-editorial-summary { display:block; margin-top:30px; padding-top:20px; }.shv-editorial-summary > p { font-size:13px; }.shv-hero-editorial .shv-actions { align-items:flex-start; flex-direction:column; gap:17px; margin-top:24px; }.shv-query-flow { padding:22px 0 24px; }.shv-query-copy { margin-top:20px; }.shv-query-copy strong { font-size:clamp(1.3rem,6.7vw,1.7rem); }.shv-query-answer { grid-template-columns:1fr; gap:8px; margin-top:20px; }.shv-query-answer .shv-progress { margin-top:9px; }.shv-editorial-switcher { grid-template-columns:repeat(2,1fr); }.shv-editorial-switcher button { min-height:62px; }.shv-editorial-time { grid-column:1 / -1; align-items:flex-start; min-height:52px; border-top:1px solid rgba(25,35,31,.1); }.shv-home .shv-section-intro h2,.shv-home .shv-section-head h2,.shv-home .shv-contact h2 { font-size:clamp(2.2rem,10vw,3rem); } }
@media (prefers-reduced-motion:reduce) { .shv-hero-editorial::after,.shv-editorial-watermark span { animation:none; }.shv-editorial-switcher button::after,.shv-query-answer .shv-progress i { transition:none; } }

/* v9 — visible but quiet motion in the hero's content system. */
.shv-hero-editorial[data-scene="pudong"]::after { background:radial-gradient(circle,rgba(208,150,87,.1),rgba(208,150,87,0) 68%); }.shv-hero-editorial[data-scene="zhangjiang"]::after { background:radial-gradient(circle,rgba(20,112,90,.11),rgba(20,112,90,0) 68%); }.shv-hero-editorial[data-scene="jiading"]::after { background:radial-gradient(circle,rgba(190,112,75,.1),rgba(190,112,75,0) 68%); }.shv-hero-editorial[data-scene="lingang"]::after { background:radial-gradient(circle,rgba(85,126,116,.1),rgba(85,126,116,0) 68%); }.shv-hero-editorial h1 strong.is-changing { animation:shvHeadlineShift .55s ease both; }.shv-live-ticker { display:flex; align-items:center; gap:18px; min-height:42px; overflow:hidden; border-bottom:1px solid rgba(25,35,31,.12); color:#66716b; font:9px ui-monospace,monospace; letter-spacing:.04em; }.shv-live-ticker-label { flex:0 0 auto; color:#14705a; font-weight:700; }.shv-live-ticker-window { min-width:0; overflow:hidden; white-space:nowrap; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }.shv-live-ticker-track { display:inline-block; min-width:max-content; padding-left:100%; animation:shvTickerRun 28s linear infinite; }.shv-live-ticker:hover .shv-live-ticker-track { animation-play-state:paused; }
@keyframes shvHeadlineShift { 0% { opacity:.2; transform:translateY(7px); } 100% { opacity:1; transform:translateY(0); } } @keyframes shvTickerRun { to { transform:translateX(-50%); } }
@media (max-width:720px) { .shv-live-ticker { gap:11px; min-height:38px; font-size:8px; }.shv-live-ticker-label { max-width:88px; line-height:1.3; }.shv-live-ticker-track { animation-duration:22s; } }
@media (prefers-reduced-motion:reduce) { .shv-hero-editorial h1 strong.is-changing,.shv-live-ticker-track { animation:none; } }
.shv-hero-editorial h1 { max-width:16ch; }.shv-hero-editorial h1 strong { display:inline-block; white-space:nowrap; }
@media (max-width:720px) { .shv-hero-editorial h1 { max-width:12ch; }.shv-hero-editorial h1 strong { white-space:normal; } }

/* Shanghai homepage v10 — an expanding live scene, with motion carried by content. */
body:has(.shn-home) { background:#f4f1ea; color:#19231f; }.shn-home { --shn-ink:#19231f; --shn-paper:#f4f1ea; --shn-white:#fbfaf6; --shn-green:#14705a; --shn-rust:#dc754d; --shn-muted:#6b746f; --shn-line:rgba(25,35,31,.15); overflow:hidden; background:var(--shn-paper); color:var(--shn-ink); }.shn-home .container { position:relative; z-index:1; }
.shn-hero { position:relative; overflow:hidden; background:var(--shn-paper); }.shn-glow { position:absolute; z-index:0; width:40vw; height:40vw; border-radius:50%; filter:blur(45px); opacity:.55; pointer-events:none; }.shn-glow-a { top:5%; right:-14%; background:radial-gradient(circle,rgba(190,154,94,.16),rgba(190,154,94,0) 68%); animation:shnGlowA 16s ease-in-out infinite alternate; }.shn-glow-b { bottom:-25%; left:-18%; background:radial-gradient(circle,rgba(20,112,90,.1),rgba(20,112,90,0) 68%); animation:shnGlowB 19s ease-in-out infinite alternate; }.shn-topline,.shn-field-top,.shn-bottomline,.shn-kicker,.shn-scope-label,.shn-scope-live,.shn-scene small,.shn-scene-index,.shn-answer-label,.shn-answer-question small,.shn-answer-source small,.shn-form-head,.shn-form label,.shn-outline-link { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }.shn-topline { display:flex; justify-content:space-between; gap:1rem; padding:24px 0 19px; border-bottom:1px solid var(--shn-line); color:#7b847f; font-size:9px; }.shn-topline > span:last-child { display:flex; align-items:center; gap:8px; color:#31574c; }.shn-topline i,.shn-field-top > b i,.shn-scope-live i { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--shn-green); box-shadow:0 0 0 4px rgba(20,112,90,.1); }
.shn-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.56fr); gap:clamp(3rem,10vw,9rem); align-items:end; padding:82px 0 62px; }.shn-eyebrow { display:flex; align-items:center; gap:10px; color:#45645b; font:700 10px ui-monospace,monospace; letter-spacing:.07em; text-transform:uppercase; }.shn-eyebrow em { padding:5px 7px; border:1px solid rgba(20,112,90,.35); color:#31574c; font-style:normal; }.shn-intro h1 { max-width:13ch; margin:22px 0 0; color:var(--shn-ink); font-size:clamp(2.8rem,4.4vw,4.25rem); line-height:1.02; letter-spacing:-.075em; font-weight:560; }.shn-intro h1 strong { display:inline-block; color:var(--shn-green); font-weight:560; }.shn-intro h1 strong.is-changing { animation:shnTextIn .55s ease both; }.shn-intro-copy { padding-bottom:4px; }.shn-intro-copy p { max-width:360px; margin:0; color:var(--shn-muted); font-size:14px; line-height:1.85; }.shn-actions { display:flex; align-items:center; gap:23px; margin-top:27px; }.shn-actions .btn-cta { padding:12px 18px; border-color:var(--shn-rust); background:var(--shn-rust); color:#18221e; font-size:13px; }.shn-actions .btn-cta:hover { border-color:var(--shn-green); background:var(--shn-green); color:#fff; }.shn-link { color:#31574c; font:700 10px ui-monospace,monospace; letter-spacing:.07em; text-transform:uppercase; }.shn-link span { margin-left:6px; color:var(--shn-green); font-size:16px; }
.shn-live-field { position:relative; border-top:1px solid rgba(25,35,31,.28); }.shn-field-top { display:flex; justify-content:space-between; gap:1rem; padding:21px 0 14px; color:#818983; font-size:9px; }.shn-field-top > b { display:flex; align-items:center; gap:9px; color:#436056; font-weight:700; }.shn-scene-list { display:flex; min-height:238px; overflow:hidden; border-bottom:1px solid var(--shn-line); }.shn-scene { position:relative; display:flex; flex:0.82; flex-direction:column; align-items:flex-start; min-width:0; padding:23px 18px 20px 0; border:0; border-right:1px solid var(--shn-line); background:transparent; color:#6f7973; text-align:left; cursor:pointer; transition:flex .65s cubic-bezier(.2,.75,.25,1),background .45s ease,color .35s ease,padding .45s ease; }.shn-scene:last-child { border-right:0; }.shn-scene.is-active { flex:1.55; padding-left:22px; background:rgba(20,112,90,.075); color:var(--shn-ink); }.shn-scene-index { color:#a3aba6; font-size:8px; }.shn-scene-title { margin-top:auto; font-size:clamp(1.35rem,2.2vw,2rem); font-weight:580; letter-spacing:-.06em; }.shn-scene small { margin-top:6px; color:#8b948e; font-size:8px; }.shn-scene p { max-width:290px; height:0; margin:0; overflow:hidden; color:#6a756f; font-size:12px; line-height:1.6; opacity:0; transform:translateY(8px); transition:height .45s ease,opacity .35s ease,transform .45s ease,margin .45s ease; }.shn-scene.is-active p { height:42px; margin-top:18px; opacity:1; transform:translateY(0); }.shn-scene em { position:absolute; top:20px; right:17px; color:var(--shn-green); font-size:20px; font-style:normal; opacity:0; transform:translate(-5px,5px); transition:opacity .35s ease,transform .35s ease; }.shn-scene.is-active em { opacity:1; transform:translate(0,0); }.shn-answer { display:grid; grid-template-columns:.42fr 1.25fr .9fr; gap:34px; align-items:start; padding:25px 0 27px; }.shn-answer-label { display:flex; flex-direction:column; gap:13px; color:#6d7871; font-size:9px; }.shn-answer-label small { color:#8b948e; font-size:8px; }.shn-answer-label span { color:var(--shn-green); }.shn-answer-question small,.shn-answer-source small { display:block; margin-bottom:9px; color:#89928d; font-size:8px; }.shn-answer-question strong { display:block; color:var(--shn-ink); font-size:clamp(1.25rem,2.1vw,1.75rem); line-height:1.35; letter-spacing:-.045em; font-weight:550; }.shn-answer-source { padding-left:22px; border-left:1px solid var(--shn-line); }.shn-answer-source b { display:block; color:#68736d; font:600 11px/1.6 ui-monospace,monospace; }.shn-answer-source i { display:block; height:1px; margin-top:21px; overflow:hidden; background:rgba(25,35,31,.15); }.shn-answer-source i em { display:block; width:24%; height:100%; background:var(--shn-green); transition:width .9s cubic-bezier(.2,.75,.25,1); }
.shn-bottomline { display:flex; justify-content:space-between; gap:1rem; padding:17px 0 20px; color:#7f8983; font-size:8px; }.shn-bottomline i { display:inline-block; width:21px; height:1px; margin-right:8px; vertical-align:middle; background:var(--shn-rust); }.shn-scope { border-top:1px solid var(--shn-line); border-bottom:1px solid var(--shn-line); background:var(--shn-white); color:#78827c; font:9px ui-monospace,monospace; letter-spacing:.03em; }.shn-scope .container { display:flex; align-items:center; gap:23px; min-height:60px; overflow:hidden; white-space:nowrap; }.shn-scope-label { color:var(--shn-ink); font-weight:700; }.shn-scope-live { display:flex; align-items:center; gap:8px; margin-left:auto; color:#31574c; }.shn-scope-live i { width:5px; height:5px; box-shadow:none; }
.shn-live-content,.shn-questions,.shn-method { padding:132px 0; }.shn-live-content { background:var(--shn-white); }.shn-live-content .container { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(4rem,10vw,10rem); }.shn-kicker { color:#b95e3f; font-size:9px; font-weight:800; }.shn-section-lead h2,.shn-section-head h2,.shn-contact h2 { margin:20px 0 23px; color:var(--shn-ink); font-size:clamp(2.3rem,3.8vw,3.9rem); line-height:1; letter-spacing:-.075em; font-weight:560; }.shn-section-lead h2 em,.shn-section-head h2 em { color:var(--shn-green); font-style:normal; }.shn-section-lead p,.shn-section-head > p,.shn-contact-grid > div > p { max-width:390px; margin:0; color:var(--shn-muted); font-size:14px; line-height:1.8; }.shn-feed { border-top:2px solid var(--shn-ink); }.shn-feed article { position:relative; padding:27px 45px 29px 0; border-bottom:1px solid var(--shn-line); animation:shnFeedIn .55s var(--shn-delay,0ms) both; }.shn-feed article small { color:#b95e3f; font:700 9px ui-monospace,monospace; letter-spacing:.1em; }.shn-feed article h3 { max-width:680px; margin:11px 0 9px; color:var(--shn-ink); font-size:clamp(1.1rem,1.65vw,1.5rem); line-height:1.35; letter-spacing:-.04em; }.shn-feed article p { max-width:650px; margin:0; color:#748078; font-size:13px; line-height:1.7; }.shn-feed article b { position:absolute; top:27px; right:0; color:#b95e3f; font:700 9px ui-monospace,monospace; }
.shn-questions { background:var(--shn-paper); }.shn-section-head { display:grid; grid-template-columns:1fr .58fr; gap:80px; align-items:end; margin-bottom:57px; }.shn-section-head > .shn-kicker,.shn-section-head > h2 { grid-column:1; }.shn-section-head > p { grid-column:2; grid-row:2; }.shn-question-grid { border-top:1px solid var(--shn-ink); }.shn-question-grid button { display:grid; grid-template-columns:50px 1fr 1.1fr 105px 25px; gap:18px; align-items:center; width:100%; padding:23px 0; border:0; border-bottom:1px solid var(--shn-line); background:transparent; color:var(--shn-ink); font:inherit; text-align:left; cursor:pointer; transition:background .25s ease,padding .25s ease; }.shn-question-grid button:hover,.shn-question-grid button.is-active { padding-left:16px; padding-right:16px; background:var(--shn-white); }.shn-question-grid button > span { color:#b95e3f; font:700 9px ui-monospace,monospace; }.shn-question-grid strong { font-size:16px; font-weight:600; letter-spacing:-.04em; }.shn-question-grid p { margin:0; color:var(--shn-muted); font-size:12px; line-height:1.5; }.shn-question-grid b { color:#89928d; font:700 8px ui-monospace,monospace; }.shn-question-grid i { color:var(--shn-green); font-style:normal; }
.shn-method { background:var(--shn-white); }.shn-method-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:58px; border-top:2px solid var(--shn-ink); }.shn-method-grid > div { min-height:195px; padding:17px 20px 18px 0; border-right:1px solid var(--shn-line); }.shn-method-grid > div + div { padding-left:20px; }.shn-method-grid > div:last-child { border-right:0; }.shn-method-grid span { color:#b95e3f; font-size:9px; font-weight:700; }.shn-method-grid strong { display:block; margin-top:45px; color:var(--shn-ink); font-size:17px; font-weight:600; }.shn-method-grid p { margin:10px 0 0; color:var(--shn-muted); font-size:12px; line-height:1.7; }.shn-outline-link { display:inline-block; margin-top:38px; color:var(--shn-ink); font-size:9px; font-weight:700; }.shn-outline-link span { margin-left:6px; color:var(--shn-green); font-size:16px; }
.shn-contact { padding:110px 0 135px; background:var(--shn-paper); }.shn-contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; }.shn-contact h2 em { color:var(--shn-rust); font-style:normal; }.shn-form { padding:25px; background:var(--shn-white); border:1px solid var(--shn-line); }.shn-form-head { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding-bottom:18px; border-bottom:1px solid var(--shn-line); }.shn-form-head span { color:#82908a; font-size:8px; }.shn-form-head strong { font:600 17px inherit; letter-spacing:-.04em; text-transform:none; }.shn-form label { display:block; margin-top:21px; color:#78837d; font-size:8px; }.shn-form input { width:100%; margin-top:7px; padding:10px 0; border:0; border-bottom:1px solid var(--shn-line); background:transparent; color:var(--shn-ink); font:inherit; outline:0; }.shn-form input:focus { border-bottom-color:var(--shn-green); }.shn-form input::placeholder { color:#a9b0ac; }.shn-form p { margin:18px 0 0; color:#7a847f; font-size:9px; line-height:1.6; }.shn-form p a { color:var(--shn-green); }.shn-form-submit { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:24px; padding:0 0 11px; border:0; border-bottom:1px solid var(--shn-ink); background:transparent; color:var(--shn-ink); font:600 16px inherit; text-align:left; cursor:pointer; }.shn-form-submit span { color:var(--shn-rust); font-size:22px; }.shn-form .form-status { margin-top:10px; color:var(--shn-green); font-size:11px; }
body:has(.shn-home) .to-top { background:var(--shn-green); box-shadow:0 10px 28px rgba(20,112,90,.2); }body:has(.shn-home) .to-top:hover { background:var(--shn-rust); }
@keyframes shnGlowA { from { transform:translate3d(0,0,0) scale(.9); } to { transform:translate3d(-7%,8%,0) scale(1.08); } }@keyframes shnGlowB { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(10%,-8%,0) scale(.9); } }@keyframes shnTextIn { from { opacity:.2; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }@keyframes shnFeedIn { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:960px) { .shn-intro { gap:4rem; }.shn-live-content .container { gap:55px; }.shn-contact-grid { gap:55px; } }
@media (max-width:720px) { .shn-topline { font-size:8px; }.shn-intro { display:block; padding:56px 0 43px; }.shn-intro h1 { max-width:12ch; margin-top:20px; font-size:clamp(2.5rem,10.5vw,3.35rem); }.shn-intro-copy { margin-top:29px; }.shn-intro-copy p { font-size:13px; }.shn-actions { align-items:flex-start; flex-direction:column; gap:17px; margin-top:22px; }.shn-live-field { margin-top:0; }.shn-field-top { font-size:8px; }.shn-scene-list { min-height:0; flex-direction:column; }.shn-scene,.shn-scene.is-active { flex:0 0 66px; min-height:66px; padding:16px 30px 14px 0; border-right:0; border-bottom:1px solid var(--shn-line); }.shn-scene.is-active { flex-basis:160px; padding-left:15px; background:rgba(20,112,90,.075); }.shn-scene-title { margin-top:11px; font-size:22px; }.shn-scene small { position:absolute; top:20px; left:90px; margin-top:0; }.shn-scene.is-active small { left:104px; }.shn-scene p { max-width:280px; }.shn-scene.is-active p { height:39px; margin-top:14px; }.shn-scene em { top:17px; right:12px; }.shn-answer { display:block; padding:23px 0 25px; }.shn-answer-question { margin-top:19px; }.shn-answer-question strong { font-size:21px; }.shn-answer-source { margin-top:21px; padding:14px 0 0; border-top:1px solid var(--shn-line); border-left:0; }.shn-answer-source i { margin-top:16px; }.shn-bottomline { font-size:8px; }.shn-scope .container { gap:17px; min-height:56px; overflow:auto; font-size:8px; }.shn-scope-label { flex:0 0 auto; }.shn-scope-live { margin-left:0; }.shn-live-content,.shn-questions,.shn-method { padding:82px 0; }.shn-live-content .container { display:block; }.shn-feed { margin-top:49px; }.shn-section-lead h2,.shn-section-head h2,.shn-contact h2 { font-size:clamp(2.25rem,10vw,3.15rem); }.shn-section-head { display:block; margin-bottom:43px; }.shn-section-head > p { margin-top:21px; }.shn-question-grid button { grid-template-columns:33px 1fr 22px; gap:10px; padding:20px 0; }.shn-question-grid button:hover,.shn-question-grid button.is-active { padding-left:10px; padding-right:10px; }.shn-question-grid strong { font-size:15px; }.shn-question-grid p { grid-column:2; grid-row:2; }.shn-question-grid b { grid-column:2; grid-row:3; }.shn-method-grid { grid-template-columns:repeat(2,1fr); margin-top:44px; }.shn-method-grid > div,.shn-method-grid > div + div { min-height:165px; padding:15px 12px 15px 0; border-right:1px solid var(--shn-line); border-bottom:1px solid var(--shn-line); }.shn-method-grid > div:nth-child(even) { padding-left:12px; border-right:0; }.shn-method-grid > div:nth-child(n+3) { border-bottom:0; }.shn-method-grid strong { margin-top:29px; font-size:15px; }.shn-method-grid p { font-size:11px; }.shn-contact { padding:82px 0 95px; }.shn-contact-grid { display:block; }.shn-form { margin-top:43px; }.shn-form-head { display:block; }.shn-form-head strong { display:block; margin-top:10px; } }
@media (prefers-reduced-motion:reduce) { .shn-glow-a,.shn-glow-b,.shn-intro h1 strong.is-changing,.shn-feed article { animation:none; }.shn-scene,.shn-scene p,.shn-scene em,.shn-answer-source i em { transition:none; } }

/* Shanghai homepage v11 — AI Answer Studio. */
body:has(.shz-home) { background:#f3f0e8; color:#1b2923; }.shz-home { --shz-ink:#1b2923; --shz-paper:#f3f0e8; --shz-white:#fbfaf6; --shz-deep:#1b3b31; --shz-green:#1b725a; --shz-rust:#e2744c; --shz-muted:#68756d; --shz-line:rgba(27,41,35,.16); overflow:hidden; background:var(--shz-paper); color:var(--shz-ink); }.shz-home .container { position:relative; z-index:1; }.shz-hero { position:relative; overflow:hidden; background:var(--shz-paper); }.shz-hero-haze { position:absolute; width:42vw; height:42vw; border-radius:50%; filter:blur(50px); opacity:.55; pointer-events:none; }.haze-left { top:14%; left:-22%; background:radial-gradient(circle,rgba(33,119,91,.1),rgba(33,119,91,0) 68%); animation:shzHazeLeft 17s ease-in-out infinite alternate; }.haze-right { right:-18%; bottom:12%; background:radial-gradient(circle,rgba(212,151,87,.13),rgba(212,151,87,0) 68%); animation:shzHazeRight 21s ease-in-out infinite alternate; }.shz-topline,.shz-search-bar,.shz-search-status,.shz-search-sources,.shz-eyebrow,.shz-kicker,.shz-scope-title,.shz-scope-live,.shz-scene-nav span,.shz-scene-nav small,.shz-answer-intro small,.shz-answer-intro b,.shz-answer-question small,.shz-answer-source small,.shz-form-head,.shz-form label,.shz-outline-link { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }.shz-topline { display:flex; justify-content:space-between; gap:1rem; padding:24px 0 19px; border-bottom:1px solid var(--shz-line); color:#7e8881; font-size:9px; }.shz-topline > span:last-child { display:flex; align-items:center; gap:8px; color:#3c6153; }.shz-topline i,.shz-search-status i,.shz-scope-live i { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--shz-green); box-shadow:0 0 0 4px rgba(27,114,90,.1); }
.shz-hero-copy { max-width:760px; padding:78px 0 60px; }.shz-eyebrow { display:flex; align-items:center; gap:10px; color:#46685a; font-size:10px; font-weight:700; }.shz-eyebrow em { padding:5px 7px; border:1px solid rgba(27,114,90,.35); color:#2d5849; font-style:normal; }.shz-hero-copy h1 { max-width:14ch; margin:23px 0 20px; color:var(--shz-ink); font-size:clamp(2.8rem,4.45vw,4.35rem); line-height:1.02; letter-spacing:-.08em; font-weight:560; }.shz-hero-copy h1 strong { display:inline-block; color:var(--shz-green); font-weight:560; }.shz-hero-copy h1 strong.is-changing { animation:shzTextIn .5s ease both; }.shz-hero-copy > p { max-width:570px; margin:0; color:var(--shz-muted); font-size:14px; line-height:1.85; }.shz-actions { display:flex; align-items:center; gap:22px; margin-top:29px; }.shz-actions .btn-cta { padding:12px 18px; border-color:var(--shz-rust); background:var(--shz-rust); color:#17231e; font-size:13px; }.shz-actions .btn-cta:hover { border-color:var(--shz-green); background:var(--shz-green); color:#fff; }.shz-text-link { color:#345a4d; font-size:10px; font-weight:700; }.shz-text-link span { margin-left:6px; color:var(--shz-green); font-size:16px; }
.shz-search-stage { position:relative; overflow:hidden; padding:27px 34px 22px; background:var(--shz-deep); color:#f5f2ea; transition:background .8s ease; }.shz-search-stage::before { content:""; position:absolute; right:-18%; bottom:-75%; width:580px; height:580px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,0) 65%); animation:shzSearchHaze 13s ease-in-out infinite alternate; pointer-events:none; }.shz-search-stage[data-shz-scene="zhangjiang"] { background:#214d40; }.shz-search-stage[data-shz-scene="jiading"] { background:#304b42; }.shz-search-stage[data-shz-scene="lingang"] { background:#24443b; }.shz-search-bar { position:relative; z-index:1; display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid rgba(245,242,234,.24); color:rgba(245,242,234,.64); font-size:9px; }.shz-search-orb { display:grid; place-items:center; width:21px; height:21px; border:1px solid rgba(245,242,234,.7); border-radius:50%; }.shz-search-orb i { width:6px; height:6px; border-radius:50%; background:var(--shz-rust); box-shadow:0 0 0 4px rgba(226,116,76,.17); }.shz-search-label { margin-right:4px; }.shz-search-cursor { width:1px; height:14px; background:#f5f2ea; animation:shzCursor 1.1s steps(1) infinite; }.shz-search-status { display:flex; align-items:center; gap:8px; margin-left:auto; color:rgba(245,242,234,.75); font-size:9px; }.shz-search-status i { width:5px; height:5px; background:var(--shz-rust); box-shadow:0 0 0 4px rgba(226,116,76,.15); }.shz-search-question { position:relative; z-index:1; display:flex; gap:7px; align-items:flex-start; padding:40px 0 34px; }.shz-quote { color:rgba(245,242,234,.3); font:400 34px/1 Georgia,serif; }.shz-search-question strong { max-width:840px; color:#f5f2ea; font-size:clamp(1.4rem,2.45vw,2.05rem); line-height:1.35; letter-spacing:-.045em; font-weight:520; }.shz-search-question strong.is-changing,.shz-answer-text p.is-changing { animation:shzAnswerIn .55s ease both; }.shz-answer-stream { position:relative; z-index:1; display:grid; grid-template-columns:.42fr 1.58fr; gap:45px; padding:23px 0 25px; border-top:1px solid rgba(245,242,234,.25); }.shz-answer-intro { display:flex; align-items:flex-start; gap:12px; }.shz-answer-avatar { display:grid; place-items:center; flex:0 0 auto; width:30px; height:30px; border:1px solid rgba(245,242,234,.5); border-radius:50%; color:#f5f2ea; font:700 9px ui-monospace,monospace; }.shz-answer-intro div { display:flex; flex-direction:column; gap:7px; }.shz-answer-intro small { color:rgba(245,242,234,.5); font-size:8px; }.shz-answer-intro b { color:#c8ded5; font-size:9px; font-weight:600; }.shz-answer-text p { max-width:650px; margin:0; color:rgba(245,242,234,.82); font:500 13px/1.75 ui-monospace,monospace; }.shz-answer-line { display:block; height:1px; margin-top:22px; overflow:hidden; background:rgba(245,242,234,.25); }.shz-answer-line i { display:block; width:24%; height:100%; background:var(--shz-rust); transition:width .9s cubic-bezier(.2,.75,.25,1); }.shz-search-sources { position:relative; z-index:1; display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding-top:18px; color:rgba(245,242,234,.48); font-size:8px; }.shz-search-sources span:not(.shz-sync-time) { padding:7px 9px; border:1px solid rgba(245,242,234,.18); }.shz-search-sources .shz-sync-time { margin-left:auto; color:rgba(245,242,234,.54); }
.shz-scene-nav { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--shz-line); }.shz-scene-nav button { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:78px; padding:17px 18px 16px 0; border:0; border-right:1px solid var(--shz-line); background:transparent; color:#7a847e; text-align:left; cursor:pointer; transition:color .25s ease,background .25s ease; }.shz-scene-nav button:last-child { border-right:0; }.shz-scene-nav button::after { content:""; position:absolute; right:18px; bottom:-1px; left:0; height:2px; background:var(--shz-green); transform:scaleX(0); transform-origin:left; transition:transform .45s ease; }.shz-scene-nav button.is-active { background:rgba(27,114,90,.055); color:var(--shz-ink); }.shz-scene-nav button.is-active::after { transform:scaleX(1); }.shz-scene-nav span { color:#a2aaa5; font-size:8px; }.shz-scene-nav strong { margin-top:10px; font-size:13px; font-weight:600; }.shz-scene-nav small { margin-top:5px; color:#9aa29d; font-size:8px; }.shz-hero-foot { display:flex; justify-content:space-between; gap:1rem; padding:17px 0 20px; color:#818b85; font:8px ui-monospace,monospace; letter-spacing:.07em; text-transform:uppercase; }.shz-hero-foot i { display:inline-block; width:21px; height:1px; margin-right:8px; vertical-align:middle; background:var(--shz-rust); }
.shz-scope { border-top:1px solid var(--shz-line); border-bottom:1px solid var(--shz-line); background:var(--shz-white); color:#77837c; font:9px ui-monospace,monospace; letter-spacing:.03em; }.shz-scope .container { display:flex; align-items:center; gap:22px; min-height:60px; overflow:hidden; white-space:nowrap; }.shz-scope-title { color:var(--shz-ink); font-weight:700; }.shz-scope-live { display:flex; align-items:center; gap:8px; margin-left:auto; color:#376051; }.shz-scope-live i { width:5px; height:5px; box-shadow:none; }
.shz-insights,.shz-questions,.shz-method { padding:132px 0; }.shz-insights { background:var(--shz-white); }.shz-insights .container { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(4rem,10vw,10rem); }.shz-kicker { color:#b85e3f; font-size:9px; font-weight:800; }.shz-section-intro h2,.shz-section-head h2,.shz-contact h2 { margin:20px 0 23px; color:var(--shz-ink); font-size:clamp(2.3rem,3.8vw,3.9rem); line-height:1; letter-spacing:-.075em; font-weight:560; }.shz-section-intro h2 em,.shz-section-head h2 em { color:var(--shz-green); font-style:normal; }.shz-section-intro p,.shz-section-head > p,.shz-contact-grid > div > p { max-width:390px; margin:0; color:var(--shz-muted); font-size:14px; line-height:1.8; }.shz-feed { border-top:2px solid var(--shz-ink); }.shz-feed article { position:relative; padding:27px 45px 29px 0; border-bottom:1px solid var(--shz-line); animation:shzFeedIn .55s var(--shz-delay,0ms) both; }.shz-feed article small { color:#b85e3f; font:700 9px ui-monospace,monospace; letter-spacing:.1em; }.shz-feed article h3 { max-width:680px; margin:11px 0 9px; color:var(--shz-ink); font-size:clamp(1.1rem,1.65vw,1.5rem); line-height:1.35; letter-spacing:-.04em; }.shz-feed article p { max-width:650px; margin:0; color:#748078; font-size:13px; line-height:1.7; }.shz-feed article b { position:absolute; top:27px; right:0; color:#b85e3f; font:700 9px ui-monospace,monospace; }
.shz-questions { background:var(--shz-paper); }.shz-section-head { display:grid; grid-template-columns:1fr .58fr; gap:80px; align-items:end; margin-bottom:57px; }.shz-section-head > .shz-kicker,.shz-section-head > h2 { grid-column:1; }.shz-section-head > p { grid-column:2; grid-row:2; }.shz-question-list { border-top:1px solid var(--shz-ink); }.shz-question-list button { display:grid; grid-template-columns:50px 1fr 1.1fr 105px 25px; gap:18px; align-items:center; width:100%; padding:23px 0; border:0; border-bottom:1px solid var(--shz-line); background:transparent; color:var(--shz-ink); font:inherit; text-align:left; cursor:pointer; transition:background .25s ease,padding .25s ease; }.shz-question-list button:hover,.shz-question-list button.is-active { padding-left:16px; padding-right:16px; background:var(--shz-white); }.shz-question-list button > span { color:#b85e3f; font:700 9px ui-monospace,monospace; }.shz-question-list strong { font-size:16px; font-weight:600; letter-spacing:-.04em; }.shz-question-list p { margin:0; color:var(--shz-muted); font-size:12px; line-height:1.5; }.shz-question-list b { color:#89928d; font:700 8px ui-monospace,monospace; }.shz-question-list i { color:var(--shz-green); font-style:normal; }
.shz-method { background:var(--shz-white); }.shz-method-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:58px; border-top:2px solid var(--shz-ink); }.shz-method-grid > div { min-height:195px; padding:17px 20px 18px 0; border-right:1px solid var(--shz-line); }.shz-method-grid > div + div { padding-left:20px; }.shz-method-grid > div:last-child { border-right:0; }.shz-method-grid span { color:#b85e3f; font:700 9px ui-monospace,monospace; }.shz-method-grid strong { display:block; margin-top:45px; color:var(--shz-ink); font-size:17px; font-weight:600; }.shz-method-grid p { margin:10px 0 0; color:var(--shz-muted); font-size:12px; line-height:1.7; }.shz-outline-link { display:inline-block; margin-top:38px; color:var(--shz-ink); font-size:9px; font-weight:700; }.shz-outline-link span { margin-left:6px; color:var(--shz-green); font-size:16px; }
.shz-contact { padding:110px 0 135px; background:var(--shz-paper); }.shz-contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; }.shz-contact h2 em { color:var(--shz-rust); font-style:normal; }.shz-form { padding:25px; background:var(--shz-white); border:1px solid var(--shz-line); }.shz-form-head { display:flex; justify-content:space-between; align-items:baseline; gap:15px; padding-bottom:18px; border-bottom:1px solid var(--shz-line); }.shz-form-head span { color:#82908a; font-size:8px; }.shz-form-head strong { font:600 17px inherit; letter-spacing:-.04em; text-transform:none; }.shz-form label { display:block; margin-top:21px; color:#78837d; font-size:8px; }.shz-form input { width:100%; margin-top:7px; padding:10px 0; border:0; border-bottom:1px solid var(--shz-line); background:transparent; color:var(--shz-ink); font:inherit; outline:0; }.shz-form input:focus { border-bottom-color:var(--shz-green); }.shz-form input::placeholder { color:#a9b0ac; }.shz-form p { margin:18px 0 0; color:#7a847f; font-size:9px; line-height:1.6; }.shz-form p a { color:var(--shz-green); }.shz-form-submit { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:24px; padding:0 0 11px; border:0; border-bottom:1px solid var(--shz-ink); background:transparent; color:var(--shz-ink); font:600 16px inherit; text-align:left; cursor:pointer; }.shz-form-submit span { color:var(--shz-rust); font-size:22px; }.shz-form .form-status { margin-top:10px; color:var(--shz-green); font-size:11px; }body:has(.shz-home) .to-top { background:#1b725a; box-shadow:0 10px 28px rgba(27,114,90,.2); }body:has(.shz-home) .to-top:hover { background:#e2744c; }
@keyframes shzHazeLeft { from { transform:translate3d(0,0,0) scale(.9); } to { transform:translate3d(12%,7%,0) scale(1.08); } }@keyframes shzHazeRight { from { transform:translate3d(0,0,0) scale(1); } to { transform:translate3d(-10%,-8%,0) scale(.9); } }@keyframes shzSearchHaze { from { transform:translate3d(0,0,0) scale(.88); opacity:.4; } to { transform:translate3d(-9%,-11%,0) scale(1.08); opacity:.9; } }@keyframes shzCursor { 0%,45% { opacity:1; } 46%,100% { opacity:0; } }@keyframes shzTextIn { from { opacity:.2; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }@keyframes shzAnswerIn { from { opacity:.1; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }@keyframes shzFeedIn { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:960px) { .shz-insights .container { gap:55px; }.shz-contact-grid { gap:55px; } }
@media (max-width:720px) { .shz-topline { font-size:8px; }.shz-hero-copy { padding:55px 0 42px; }.shz-hero-copy h1 { max-width:12ch; margin-top:20px; font-size:clamp(2.5rem,10.5vw,3.35rem); }.shz-hero-copy > p { font-size:13px; }.shz-actions { align-items:flex-start; flex-direction:column; gap:17px; margin-top:22px; }.shz-search-stage { padding:21px 16px 18px; }.shz-search-bar { font-size:8px; }.shz-search-question { padding:31px 0 27px; }.shz-search-question strong { font-size:1.35rem; }.shz-answer-stream { display:block; padding:21px 0 22px; }.shz-answer-text { margin-top:18px; }.shz-answer-text p { font-size:12px; }.shz-search-sources { gap:7px; font-size:7px; }.shz-search-sources span:not(.shz-sync-time) { padding:6px 7px; }.shz-search-sources .shz-sync-time { width:100%; margin-left:0; margin-top:4px; }.shz-scene-nav { grid-template-columns:repeat(2,1fr); }.shz-scene-nav button { min-height:68px; padding:14px 12px 13px 0; }.shz-scene-nav button::after { right:12px; }.shz-scene-nav strong { margin-top:8px; font-size:12px; }.shz-hero-foot { gap:13px; font-size:7px; }.shz-scope .container { gap:17px; min-height:56px; overflow:auto; font-size:8px; }.shz-scope-title { flex:0 0 auto; }.shz-scope-live { margin-left:0; }.shz-insights,.shz-questions,.shz-method { padding:82px 0; }.shz-insights .container { display:block; }.shz-feed { margin-top:49px; }.shz-section-intro h2,.shz-section-head h2,.shz-contact h2 { font-size:clamp(2.25rem,10vw,3.15rem); }.shz-section-head { display:block; margin-bottom:43px; }.shz-section-head > p { margin-top:21px; }.shz-question-list button { grid-template-columns:33px 1fr 22px; gap:10px; padding:20px 0; }.shz-question-list button:hover,.shz-question-list button.is-active { padding-left:10px; padding-right:10px; }.shz-question-list strong { font-size:15px; }.shz-question-list p { grid-column:2; grid-row:2; }.shz-question-list b { grid-column:2; grid-row:3; }.shz-method-grid { grid-template-columns:repeat(2,1fr); margin-top:44px; }.shz-method-grid > div,.shz-method-grid > div + div { min-height:165px; padding:15px 12px 15px 0; border-right:1px solid var(--shz-line); border-bottom:1px solid var(--shz-line); }.shz-method-grid > div:nth-child(even) { padding-left:12px; border-right:0; }.shz-method-grid > div:nth-child(n+3) { border-bottom:0; }.shz-method-grid strong { margin-top:29px; font-size:15px; }.shz-method-grid p { font-size:11px; }.shz-contact { padding:82px 0 95px; }.shz-contact-grid { display:block; }.shz-form { margin-top:43px; }.shz-form-head { display:block; }.shz-form-head strong { display:block; margin-top:10px; } }
@media (prefers-reduced-motion:reduce) { .shz-hero-haze,.shz-search-stage::before,.shz-search-cursor,.shz-hero-copy h1 strong.is-changing,.shz-search-question strong.is-changing,.shz-answer-text p.is-changing,.shz-feed article { animation:none; }.shz-search-stage,.shz-answer-line i,.shz-scene-nav button::after { transition:none; } }
.shn-intro h1 { max-width:16ch; font-size:clamp(2.65rem,3.9vw,3.9rem); line-height:1.04; }.shn-intro h1 strong { white-space:nowrap; }
@media (max-width:720px) { .shn-intro h1 { max-width:12ch; font-size:clamp(2.45rem,10vw,3.15rem); }.shn-intro h1 strong { white-space:normal; } }

/* Shanghai homepage v12 — Live answer map. */
body:has(.shd-home) {
  background: #f6f4ee;
  color: #17231f;
}

.shd-home {
  --shd-ink: #17231f;
  --shd-muted: #66736d;
  --shd-paper: #f6f4ee;
  --shd-panel: #fffdf8;
  --shd-line: rgba(23, 35, 31, 0.15);
  --shd-soft-line: rgba(23, 35, 31, 0.08);
  --shd-green: #0b7b66;
  --shd-blue: #2f62d0;
  --shd-ruby: #9f3f56;
  --shd-gold: #b98d3f;
  --shd-accent: var(--shd-green);
  overflow: hidden;
  background: var(--shd-paper);
  color: var(--shd-ink);
}

.shd-home *,
.shd-home *::before,
.shd-home *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.shd-home .container {
  position: relative;
  z-index: 1;
}

.shd-hero {
  position: relative;
  min-height: calc(100vh - 70px);
  overflow: hidden;
  background: var(--shd-paper);
}

.shd-map-scene {
  --shd-accent: var(--shd-green);
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  opacity: 0.95;
}

.shd-map-scene[data-active="innovation"] { --shd-accent: var(--shd-blue); }
.shd-map-scene[data-active="manufacturing"] { --shd-accent: var(--shd-ruby); }
.shd-map-scene[data-active="outbound"] { --shd-accent: var(--shd-gold); }

.shd-map-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(21, 31, 28, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 31, 28, 0.055) 1px, transparent 1px);
  background-size: 56px 56px;
}

.shd-map-word {
  position: absolute;
  right: 8vw;
  bottom: 5vw;
  color: rgba(23, 35, 31, 0.055);
  font: 800 9rem/0.8 Arial, sans-serif;
  pointer-events: none;
}

.shd-route {
  position: absolute;
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(23, 35, 31, 0.04), rgba(23, 35, 31, 0.18), rgba(23, 35, 31, 0.04));
}

.route-a { left: 53%; top: 48%; width: 22%; transform: rotate(-22deg); }
.route-b { left: 41%; top: 56%; width: 24%; transform: rotate(-7deg); }
.route-c { left: 55%; top: 51%; width: 20%; transform: rotate(35deg); }
.route-d { left: 70%; top: 40%; width: 17%; transform: rotate(74deg); }

.shd-route::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--shd-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--shd-accent), transparent 82%);
  animation: shdRouteFlow 3.8s linear infinite;
}

.route-b::after { animation-delay: -1.2s; }
.route-c::after { animation-delay: -2.1s; }
.route-d::after { animation-delay: -2.8s; }

.shd-map-node {
  --node-color: var(--shd-green);
  position: absolute;
  display: grid;
  grid-template-columns: 18px max-content;
  gap: 3px 9px;
  align-items: center;
  color: rgba(23, 35, 31, 0.55);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
  line-height: 1.2;
  pointer-events: none;
  transition: color 0.28s ease, opacity 0.28s ease, transform 0.28s ease;
}

.shd-map-node b {
  grid-row: 1 / span 2;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--node-color);
  opacity: 0.58;
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--node-color), transparent 90%);
  transition: transform 0.28s ease, opacity 0.28s ease, box-shadow 0.28s ease;
}

.shd-map-node em {
  font-style: normal;
  font-weight: 700;
}

.shd-map-node small {
  color: rgba(23, 35, 31, 0.38);
  font-size: 9px;
}

.shd-map-node.is-active {
  color: var(--shd-ink);
  transform: translateY(-2px);
}

.shd-map-node.is-active b {
  transform: scale(1.35);
  opacity: 1;
  box-shadow: 0 0 0 13px color-mix(in srgb, var(--node-color), transparent 88%);
}

.node-headquarters { --node-color: var(--shd-green); left: 52%; top: 46%; }
.node-innovation { --node-color: var(--shd-blue); left: 71%; top: 36%; }
.node-manufacturing { --node-color: var(--shd-ruby); left: 36%; top: 54%; }
.node-outbound { --node-color: var(--shd-gold); left: 62%; top: 67%; }

.shd-rule-field {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(246, 244, 238, 0.1), rgba(246, 244, 238, 0.72) 74%, #f6f4ee),
    linear-gradient(90deg, rgba(246, 244, 238, 0.94) 0 35%, rgba(246, 244, 238, 0.5) 54%, rgba(246, 244, 238, 0.86));
}

.shd-topline,
.shd-eyebrow,
.shd-live-question span,
.shd-live-question small,
.shd-answer-meta,
.shd-proof-row,
.shd-scene-tabs span,
.shd-scene-tabs small,
.shd-hero-foot,
.shd-scope,
.shd-kicker,
.shd-feed small,
.shd-feed b,
.shd-question-atlas span,
.shd-question-atlas b,
.shd-method-line span,
.shd-form-head,
.shd-form label,
.shd-outline-link,
.shd-text-link {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.shd-topline {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 22px 0 18px;
  border-bottom: 1px solid var(--shd-line);
  color: #718079;
  font-size: 9px;
  line-height: 1.4;
}

.shd-topline > span:last-child {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #3f5b53;
}

.shd-topline i,
.shd-live-question i,
.shd-scope-live i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--shd-green);
  box-shadow: 0 0 0 4px rgba(11, 123, 102, 0.1);
}

.shd-topline em {
  color: #8b928e;
  font-style: normal;
}

.shd-copy {
  width: min(760px, 76%);
  padding: 58px 0 34px;
}

.shd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #3e6258;
  font-size: 10px;
  font-weight: 700;
}

.shd-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--shd-green);
}

.shd-copy h1 {
  max-width: 720px;
  margin: 20px 0 18px;
  color: var(--shd-ink);
  font-size: 3.3rem;
  line-height: 1.08;
  font-weight: 650;
}

.shd-copy p {
  max-width: 585px;
  margin: 0;
  color: var(--shd-muted);
  font-size: 15px;
  line-height: 1.85;
}

.shd-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 27px;
}

.shd-actions .btn-cta {
  min-height: 42px;
  padding: 0 18px;
  border-color: var(--shd-ink);
  background: var(--shd-ink);
  color: #fffdf8;
  font-size: 13px;
}

.shd-actions .btn-cta:hover {
  border-color: var(--shd-green);
  background: var(--shd-green);
}

.shd-text-link {
  color: #2b554b;
  font-size: 10px;
  font-weight: 700;
}

.shd-text-link span {
  margin-left: 6px;
  color: var(--shd-blue);
  font-size: 15px;
}

.shd-live-question {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  padding: 21px 0;
  border-top: 1px solid var(--shd-line);
  border-bottom: 1px solid var(--shd-line);
  background: rgba(255, 253, 248, 0.56);
  backdrop-filter: blur(7px);
}

.shd-live-question span {
  color: #7a8580;
  font-size: 9px;
  font-weight: 700;
}

.shd-live-question strong {
  display: block;
  color: var(--shd-ink);
  font-size: 1.48rem;
  line-height: 1.35;
  font-weight: 600;
}

.shd-live-question small {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 148px;
  color: #47645d;
  font-size: 9px;
  font-weight: 700;
}

.shd-answer-floor {
  --shd-accent: var(--shd-green);
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
  padding: 26px 0 24px;
  border-bottom: 1px solid var(--shd-line);
  background: rgba(246, 244, 238, 0.48);
}

.shd-answer-floor[data-shd-current="innovation"] { --shd-accent: var(--shd-blue); }
.shd-answer-floor[data-shd-current="manufacturing"] { --shd-accent: var(--shd-ruby); }
.shd-answer-floor[data-shd-current="outbound"] { --shd-accent: var(--shd-gold); }

.shd-answer-meta {
  display: flex;
  flex-direction: column;
  gap: 9px;
  color: #78847e;
  font-size: 9px;
}

.shd-answer-meta b {
  color: var(--shd-accent);
  font-size: 10px;
}

.shd-answer-floor p {
  max-width: 820px;
  margin: 0;
  color: #36443f;
  font-size: 15px;
  line-height: 1.82;
}

.shd-proof-row {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: -3px;
  color: #7d8983;
  font-size: 9px;
}

.shd-proof-row span {
  padding: 6px 8px;
  border: 1px solid var(--shd-soft-line);
  background: rgba(255, 253, 248, 0.42);
}

.shd-proof-row i {
  display: block;
  flex: 1;
  height: 1px;
  min-width: 140px;
  overflow: hidden;
  background: var(--shd-soft-line);
}

.shd-proof-row em {
  display: block;
  width: 18%;
  height: 100%;
  background: var(--shd-accent);
  transition: width 0.65s ease;
}

.shd-scene-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--shd-line);
}

.shd-scene-tabs button {
  position: relative;
  display: flex;
  min-height: 76px;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 18px 15px 0;
  border: 0;
  border-right: 1px solid var(--shd-line);
  background: transparent;
  color: #6c7872;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color 0.25s ease, background 0.25s ease, padding 0.25s ease;
}

.shd-scene-tabs button:last-child {
  border-right: 0;
}

.shd-scene-tabs button::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--shd-green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease, background 0.25s ease;
}

.shd-scene-tabs button[data-shd-scene="innovation"]::after { background: var(--shd-blue); }
.shd-scene-tabs button[data-shd-scene="manufacturing"]::after { background: var(--shd-ruby); }
.shd-scene-tabs button[data-shd-scene="outbound"]::after { background: var(--shd-gold); }

.shd-scene-tabs button:hover,
.shd-scene-tabs button.is-active {
  padding-left: 12px;
  background: rgba(255, 253, 248, 0.55);
  color: var(--shd-ink);
}

.shd-scene-tabs button.is-active::after {
  transform: scaleX(1);
}

.shd-scene-tabs span {
  color: #9aa39e;
  font-size: 8px;
}

.shd-scene-tabs strong {
  margin-top: 9px;
  font-size: 13px;
  font-weight: 650;
}

.shd-scene-tabs small {
  margin-top: 5px;
  color: #89958f;
  font-size: 8px;
}

.shd-hero-foot {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 16px 0 22px;
  color: #818c86;
  font-size: 8px;
}

.shd-hero-foot i {
  display: inline-block;
  width: 22px;
  height: 1px;
  margin-right: 8px;
  vertical-align: middle;
  background: var(--shd-green);
}

.shd-scope {
  border-top: 1px solid var(--shd-line);
  border-bottom: 1px solid var(--shd-line);
  background: var(--shd-panel);
  color: #73807a;
  font-size: 9px;
}

.shd-scope .container {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 22px;
  overflow: hidden;
  white-space: nowrap;
}

.shd-scope-title {
  color: var(--shd-ink);
  font-weight: 700;
}

.shd-scope-live {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  color: #326057;
}

.shd-live,
.shd-questions,
.shd-method {
  padding: 112px 0;
}

.shd-live {
  background: var(--shd-panel);
}

.shd-live .container {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: 90px;
}

.shd-kicker {
  display: block;
  color: var(--shd-ruby);
  font-size: 9px;
  font-weight: 800;
}

.shd-section-lead h2,
.shd-section-head h2,
.shd-contact h2 {
  max-width: 760px;
  margin: 18px 0 20px;
  color: var(--shd-ink);
  font-size: 2.75rem;
  line-height: 1.12;
  font-weight: 650;
}

.shd-section-lead p,
.shd-section-head > p,
.shd-contact-grid > div > p {
  max-width: 410px;
  margin: 0;
  color: var(--shd-muted);
  font-size: 14px;
  line-height: 1.82;
}

.shd-feed {
  border-top: 2px solid var(--shd-ink);
}

.shd-feed article {
  position: relative;
  padding: 26px 45px 27px 0;
  border-bottom: 1px solid var(--shd-line);
  animation: shdFeedIn 0.45s var(--shd-delay, 0ms) both;
}

.shd-feed small {
  color: var(--shd-ruby);
  font-size: 9px;
  font-weight: 700;
}

.shd-feed h3 {
  max-width: 680px;
  margin: 10px 0 9px;
  color: var(--shd-ink);
  font-size: 1.38rem;
  line-height: 1.35;
  font-weight: 650;
}

.shd-feed p {
  max-width: 650px;
  margin: 0;
  color: #728078;
  font-size: 13px;
  line-height: 1.72;
}

.shd-feed b {
  position: absolute;
  top: 26px;
  right: 0;
  color: var(--shd-ruby);
  font-size: 9px;
}

.shd-questions {
  background: var(--shd-paper);
}

.shd-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 410px;
  gap: 70px;
  align-items: end;
  margin-bottom: 54px;
}

.shd-section-head .shd-kicker,
.shd-section-head h2 {
  grid-column: 1;
}

.shd-section-head > p {
  grid-column: 2;
  grid-row: 2;
}

.shd-question-atlas {
  border-top: 1px solid var(--shd-ink);
}

.shd-question-atlas button {
  display: grid;
  grid-template-columns: 48px minmax(210px, 0.9fr) minmax(260px, 1.25fr) 112px 24px;
  gap: 18px;
  align-items: center;
  width: 100%;
  padding: 23px 0;
  border: 0;
  border-bottom: 1px solid var(--shd-line);
  background: transparent;
  color: var(--shd-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.24s ease, padding 0.24s ease;
}

.shd-question-atlas button:hover,
.shd-question-atlas button.is-active {
  padding-left: 14px;
  padding-right: 14px;
  background: rgba(255, 253, 248, 0.7);
}

.shd-question-atlas span {
  color: var(--shd-ruby);
  font-size: 9px;
  font-weight: 700;
}

.shd-question-atlas strong {
  font-size: 16px;
  line-height: 1.45;
  font-weight: 650;
}

.shd-question-atlas p {
  margin: 0;
  color: var(--shd-muted);
  font-size: 12px;
  line-height: 1.55;
}

.shd-question-atlas b {
  color: #8a9590;
  font-size: 8px;
}

.shd-question-atlas i {
  color: var(--shd-blue);
  font-style: normal;
}

.shd-method {
  background: var(--shd-panel);
}

.shd-method-line {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 56px;
  border-top: 2px solid var(--shd-ink);
}

.shd-method-line > div {
  min-height: 188px;
  padding: 17px 20px 18px 0;
  border-right: 1px solid var(--shd-line);
}

.shd-method-line > div + div {
  padding-left: 20px;
}

.shd-method-line > div:last-child {
  border-right: 0;
}

.shd-method-line span {
  color: var(--shd-ruby);
  font-size: 9px;
  font-weight: 700;
}

.shd-method-line strong {
  display: block;
  margin-top: 42px;
  color: var(--shd-ink);
  font-size: 17px;
  font-weight: 650;
}

.shd-method-line p {
  margin: 10px 0 0;
  color: var(--shd-muted);
  font-size: 12px;
  line-height: 1.72;
}

.shd-outline-link {
  display: inline-block;
  margin-top: 36px;
  color: var(--shd-ink);
  font-size: 9px;
  font-weight: 700;
}

.shd-outline-link span {
  margin-left: 6px;
  color: var(--shd-blue);
  font-size: 15px;
}

.shd-contact {
  padding: 108px 0 132px;
  background: var(--shd-paper);
}

.shd-contact-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 80px;
  align-items: end;
}

.shd-form {
  padding: 24px;
  border: 1px solid var(--shd-line);
  background: rgba(255, 253, 248, 0.72);
}

.shd-form-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: baseline;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--shd-line);
}

.shd-form-head span {
  color: #84908a;
  font-size: 8px;
}

.shd-form-head strong {
  color: var(--shd-ink);
  font-size: 17px;
  font-weight: 650;
}

.shd-form label {
  display: block;
  margin-top: 21px;
  color: #78837d;
  font-size: 8px;
}

.shd-form input {
  width: 100%;
  margin-top: 7px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--shd-line);
  border-radius: 0;
  background: transparent;
  color: var(--shd-ink);
  font: inherit;
  outline: 0;
}

.shd-form input:focus {
  border-bottom-color: var(--shd-blue);
}

.shd-form input::placeholder {
  color: #a6afaa;
}

.shd-form p {
  margin: 18px 0 0;
  color: #7a8580;
  font-size: 9px;
  line-height: 1.65;
}

.shd-form p a {
  color: var(--shd-green);
}

.shd-form-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 24px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid var(--shd-ink);
  background: transparent;
  color: var(--shd-ink);
  font: 650 16px inherit;
  text-align: left;
  cursor: pointer;
}

.shd-form-submit span {
  color: var(--shd-ruby);
  font-size: 21px;
}

.shd-form .form-status {
  margin-top: 10px;
  color: var(--shd-green);
  font-size: 11px;
}

.shd-home .is-changing {
  animation: shdTextSwap 0.32s ease both;
}

body:has(.shd-home) .to-top {
  background: var(--shd-ink);
  box-shadow: 0 10px 28px rgba(23, 35, 31, 0.2);
}

body:has(.shd-home) .to-top:hover {
  background: var(--shd-green);
}

@keyframes shdTextSwap {
  from { opacity: 0.2; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes shdFeedIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes shdRouteFlow {
  from { transform: translateX(0); opacity: 0; }
  12% { opacity: 1; }
  82% { opacity: 1; }
  to { transform: translateX(100%); opacity: 0; }
}

@media (max-width: 960px) {
  .shd-copy {
    width: min(720px, 92%);
  }

  .shd-live .container,
  .shd-contact-grid {
    gap: 54px;
  }

  .shd-section-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .shd-section-head > p {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .shd-hero {
    min-height: 0;
  }

  .shd-rule-field {
    background:
      linear-gradient(180deg, rgba(246, 244, 238, 0.18), rgba(246, 244, 238, 0.78) 70%, #f6f4ee),
      linear-gradient(90deg, rgba(246, 244, 238, 0.96), rgba(246, 244, 238, 0.68));
  }

  .shd-map-scene {
    opacity: 0.62;
  }

  .shd-map-word {
    right: -10vw;
    bottom: 18vw;
    font-size: 7rem;
  }

  .node-headquarters { left: 48%; top: 42%; }
  .node-innovation { left: 67%; top: 31%; }
  .node-manufacturing { left: 30%; top: 56%; }
  .node-outbound { left: 57%; top: 72%; }

  .route-a { left: 48%; top: 44%; width: 25%; }
  .route-b { left: 34%; top: 56%; width: 28%; }
  .route-c { left: 50%; top: 50%; width: 25%; }
  .route-d { left: 66%; top: 34%; width: 22%; }

  .shd-topline {
    flex-direction: column;
    gap: 7px;
    padding-top: 16px;
    font-size: 8px;
  }

  .shd-copy {
    width: 100%;
    padding: 45px 0 29px;
  }

  .shd-copy h1 {
    max-width: 11ch;
    font-size: 2.45rem;
    line-height: 1.1;
  }

  .shd-copy p {
    max-width: 360px;
    font-size: 13px;
  }

  .shd-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 17px;
    margin-top: 22px;
  }

  .shd-live-question {
    display: block;
    padding: 18px 0;
  }

  .shd-live-question strong {
    margin-top: 11px;
    font-size: 1.25rem;
  }

  .shd-live-question small {
    margin-top: 13px;
  }

  .shd-answer-floor {
    display: block;
    padding: 21px 0;
  }

  .shd-answer-floor p {
    margin-top: 17px;
    font-size: 13px;
  }

  .shd-proof-row {
    margin-top: 17px;
    flex-wrap: wrap;
  }

  .shd-proof-row i {
    flex-basis: 100%;
    min-width: 0;
  }

  .shd-scene-tabs {
    grid-template-columns: repeat(2, 1fr);
  }

  .shd-scene-tabs button {
    min-height: 72px;
    padding: 14px 12px 13px 0;
  }

  .shd-scene-tabs button:nth-child(even) {
    border-right: 0;
  }

  .shd-scene-tabs button::after {
    right: 12px;
  }

  .shd-scene-tabs strong {
    font-size: 12px;
  }

  .shd-hero-foot {
    flex-direction: column;
    gap: 9px;
    font-size: 8px;
  }

  .shd-scope .container {
    gap: 17px;
    min-height: 55px;
    overflow: auto;
    font-size: 8px;
  }

  .shd-scope-title,
  .shd-scope-live {
    flex: 0 0 auto;
  }

  .shd-scope-live {
    margin-left: 0;
  }

  .shd-live,
  .shd-questions,
  .shd-method {
    padding: 76px 0;
  }

  .shd-live .container {
    display: block;
  }

  .shd-feed {
    margin-top: 42px;
  }

  .shd-section-lead h2,
  .shd-section-head h2,
  .shd-contact h2 {
    font-size: 2.15rem;
  }

  .shd-section-head {
    display: block;
    margin-bottom: 39px;
  }

  .shd-section-head > p {
    margin-top: 18px;
  }

  .shd-question-atlas button {
    grid-template-columns: 31px 1fr 22px;
    gap: 10px;
    padding: 19px 0;
  }

  .shd-question-atlas button:hover,
  .shd-question-atlas button.is-active {
    padding-left: 10px;
    padding-right: 10px;
  }

  .shd-question-atlas strong {
    font-size: 15px;
  }

  .shd-question-atlas p {
    grid-column: 2;
    grid-row: 2;
  }

  .shd-question-atlas b {
    grid-column: 2;
    grid-row: 3;
  }

  .shd-method-line {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
  }

  .shd-method-line > div,
  .shd-method-line > div + div {
    min-height: 158px;
    padding: 14px 12px 14px 0;
    border-right: 1px solid var(--shd-line);
    border-bottom: 1px solid var(--shd-line);
  }

  .shd-method-line > div:nth-child(even) {
    padding-left: 12px;
    border-right: 0;
  }

  .shd-method-line > div:nth-child(n+3) {
    border-bottom: 0;
  }

  .shd-method-line strong {
    margin-top: 28px;
    font-size: 15px;
  }

  .shd-method-line p {
    font-size: 11px;
  }

  .shd-contact {
    padding: 78px 0 92px;
  }

  .shd-contact-grid {
    display: block;
  }

  .shd-form {
    margin-top: 39px;
  }

  .shd-form-head {
    display: block;
  }

  .shd-form-head strong {
    display: block;
    margin-top: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shd-home .is-changing,
  .shd-feed article {
    animation: none;
  }

  .shd-scene-tabs button,
  .shd-scene-tabs button::after,
  .shd-proof-row em,
  .shd-question-atlas button {
    transition: none;
  }
}

/* Shanghai homepage v13 — Bund answer tide. */
body:has(.shw-home) {
  background: #06110f;
  color: #f7efe2;
}

body:has(.shw-home) .site-header {
  background: rgba(4, 13, 12, 0.92);
  border-bottom-color: rgba(247, 239, 226, 0.1);
  color: #f7efe2;
}

body.shw-page .site-header {
  background: rgba(4, 13, 12, 0.94) !important;
  border-bottom-color: rgba(247, 239, 226, 0.1) !important;
  color: #f7efe2 !important;
}

body.shw-page .site-header::before {
  background: linear-gradient(90deg, #2dd4bf, #ff7a4a, #ffd06a) !important;
  opacity: 0.72;
}

body:has(.shw-home) .site-nav a {
  color: rgba(247, 239, 226, 0.78);
}

body.shw-page .site-nav a {
  color: rgba(247, 239, 226, 0.78) !important;
}

body:has(.shw-home) .site-nav a:hover,
body:has(.shw-home) .site-nav a.active,
body:has(.shw-home) .hotline {
  color: #ffd06a;
}

body.shw-page .site-nav a:hover,
body.shw-page .site-nav a.active,
body.shw-page .hotline {
  color: #ffd06a !important;
}

body.shw-page .brand .brand-sub,
body.shw-page .site-header .brand small {
  color: rgba(247, 239, 226, 0.58) !important;
}

body:has(.shw-home) .btn-header {
  background: #ff7a4a;
  color: #09110f;
}

body:has(.shw-home) .btn-header .dot {
  background: #07110f;
  color: #ffd06a;
}

body:has(.shw-home) .brand img {
  background: #f7efe2;
}

body:has(.shw-home) .mobile-nav {
  background: rgba(4, 13, 12, 0.98);
}

.shw-home {
  --shw-bg: #06110f;
  --shw-ink: #f7efe2;
  --shw-muted: rgba(247, 239, 226, 0.62);
  --shw-line: rgba(247, 239, 226, 0.14);
  --shw-soft: rgba(247, 239, 226, 0.08);
  --shw-teal: #2dd4bf;
  --shw-orange: #ff7a4a;
  --shw-gold: #ffd06a;
  --shw-blue: #7aa8ff;
  --shw-ruby: #ff6f91;
  overflow: hidden;
  background: var(--shw-bg);
  color: var(--shw-ink);
}

.shw-home *,
.shw-home *::before,
.shw-home *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.shw-home .container {
  position: relative;
  z-index: 2;
}

.shw-hero {
  position: relative;
  min-height: calc(100svh - var(--header-h));
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(6, 17, 15, 0.18), #06110f 84%),
    radial-gradient(circle at 18% 20%, rgba(45, 212, 191, 0.18), transparent 28rem),
    radial-gradient(circle at 78% 18%, rgba(255, 122, 74, 0.12), transparent 32rem),
    #06110f;
}

.shw-stage-bg {
  --scene: var(--shw-teal);
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.shw-stage-bg[data-shw-bg="innovation"] { --scene: var(--shw-blue); }
.shw-stage-bg[data-shw-bg="manufacturing"] { --scene: var(--shw-ruby); }
.shw-stage-bg[data-shw-bg="outbound"] { --scene: var(--shw-gold); }

.shw-stage-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(247, 239, 226, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 239, 226, 0.035) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(180deg, transparent, #000 14%, #000 75%, transparent);
}

.shw-stage-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #06110f 0 18%, rgba(6, 17, 15, 0.35) 46%, #06110f 100%);
}

.shw-skyline {
  position: absolute;
  right: 4vw;
  bottom: 28%;
  z-index: 1;
  display: flex;
  align-items: end;
  gap: 12px;
  width: min(48vw, 620px);
  height: 245px;
  opacity: 0.78;
}

.shw-skyline i {
  display: block;
  width: 100%;
  max-width: 34px;
  height: var(--h);
  min-height: 44px;
  border: 1px solid rgba(247, 239, 226, 0.12);
  background:
    linear-gradient(180deg, rgba(247, 239, 226, 0.12), rgba(247, 239, 226, 0.02)),
    linear-gradient(90deg, transparent 42%, rgba(247, 239, 226, 0.1) 42% 52%, transparent 52%);
  box-shadow: 0 -18px 52px rgba(45, 212, 191, 0.07);
  animation: shwTower 4.8s ease-in-out infinite alternate;
  animation-delay: var(--d);
}

.shw-river {
  position: absolute;
  right: -8vw;
  bottom: 0;
  left: -8vw;
  z-index: 1;
  height: 38%;
  transform: skewY(-5deg);
  background:
    linear-gradient(180deg, rgba(45, 212, 191, 0.06), rgba(255, 122, 74, 0.05)),
    linear-gradient(90deg, transparent, rgba(247, 239, 226, 0.09), transparent);
  opacity: 0.78;
}

.shw-river span {
  position: absolute;
  left: -20%;
  width: 140%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--scene), transparent);
  opacity: 0.42;
  animation: shwRiver 9s linear infinite;
}

.shw-river span:nth-child(1) { top: 24%; animation-duration: 8s; }
.shw-river span:nth-child(2) { top: 42%; animation-duration: 12s; animation-delay: -3s; }
.shw-river span:nth-child(3) { top: 61%; animation-duration: 10s; animation-delay: -5s; }
.shw-river span:nth-child(4) { top: 79%; animation-duration: 14s; animation-delay: -2s; }

.shw-scanfield {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.shw-scanfield .beam {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--scene), transparent);
  opacity: 0.28;
  transform-origin: left center;
}

.beam-a { left: 24%; top: 26%; width: 64%; transform: rotate(17deg); animation: shwBeam 6s ease-in-out infinite; }
.beam-b { left: 14%; top: 60%; width: 58%; transform: rotate(-10deg); animation: shwBeam 7.2s ease-in-out infinite -2s; }
.beam-c { left: 48%; top: 40%; width: 42%; transform: rotate(58deg); animation: shwBeam 8s ease-in-out infinite -4s; }

.shw-floating-query {
  position: absolute;
  z-index: 2;
  max-width: 300px;
  padding: 9px 12px;
  border-left: 2px solid var(--scene);
  background: rgba(6, 17, 15, 0.58);
  color: rgba(247, 239, 226, 0.72);
  font: 700 10px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
  backdrop-filter: blur(8px);
  transition: border-color 0.28s ease, color 0.28s ease;
}

.query-a {
  right: 18vw;
  top: 28%;
  animation: shwFloatA 6s ease-in-out infinite alternate;
}

.query-b {
  right: 9vw;
  bottom: 35%;
  animation: shwFloatB 7s ease-in-out infinite alternate;
}

.shw-shell {
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - var(--header-h));
}

.shw-command-bar,
.shw-eyebrow,
.shw-text-link,
.shw-surface-top,
.shw-query-line small,
.shw-answer-line span,
.shw-evidence-rail,
.shw-sector-nav span,
.shw-sector-nav small,
.shw-marquee,
.shw-kicker,
.shw-feed small,
.shw-feed b,
.shw-question-lines span,
.shw-question-lines b,
.shw-method-runway span,
.shw-form-head,
.shw-form label {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.shw-command-bar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 22px 0 18px;
  border-bottom: 1px solid var(--shw-line);
  color: rgba(247, 239, 226, 0.52);
  font-size: 9px;
}

.shw-command-bar > span:last-child {
  display: flex;
  align-items: center;
  gap: 9px;
}

.shw-command-bar i {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--shw-teal);
  box-shadow: 0 0 0 5px rgba(45, 212, 191, 0.14);
}

.shw-command-bar em {
  color: rgba(247, 239, 226, 0.38);
  font-style: normal;
}

.shw-hero-copy {
  width: min(680px, 58%);
  padding: 58px 0 32px;
}

.shw-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--shw-gold);
  font-size: 10px;
  font-weight: 700;
}

.shw-eyebrow::before {
  content: "";
  width: 30px;
  height: 1px;
  background: var(--shw-teal);
}

.shw-hero-copy h1 {
  max-width: 680px;
  margin: 18px 0 18px;
  color: #fff7e8;
  font-size: 3.15rem;
  line-height: 1.12;
  font-weight: 750;
}

.shw-hero-copy p {
  max-width: 600px;
  margin: 0;
  color: var(--shw-muted);
  font-size: 15px;
  line-height: 1.86;
}

.shw-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 28px;
}

.shw-actions .btn-cta {
  min-height: 44px;
  padding: 0 18px;
  border-color: #ff7a4a;
  background: #ff7a4a;
  color: #07110f;
  font-size: 13px;
}

.shw-actions .btn-cta:hover {
  border-color: var(--shw-gold);
  background: var(--shw-gold);
}

.shw-text-link {
  color: rgba(247, 239, 226, 0.78);
  font-size: 10px;
  font-weight: 700;
}

.shw-text-link span {
  margin-left: 6px;
  color: var(--shw-teal);
  font-size: 15px;
}

.shw-live-surface {
  --surface: var(--shw-teal);
  position: relative;
  margin-top: auto;
  margin-bottom: 0;
  padding: 24px 0 21px;
  border-top: 1px solid var(--shw-line);
  border-bottom: 1px solid var(--shw-line);
  background: linear-gradient(90deg, rgba(247, 239, 226, 0.065), rgba(247, 239, 226, 0.02), rgba(247, 239, 226, 0.05));
}

.shw-live-surface[data-shw-panel="innovation"] { --surface: var(--shw-blue); }
.shw-live-surface[data-shw-panel="manufacturing"] { --surface: var(--shw-ruby); }
.shw-live-surface[data-shw-panel="outbound"] { --surface: var(--shw-gold); }

.shw-surface-top,
.shw-query-line,
.shw-answer-line,
.shw-evidence-rail {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.shw-surface-top {
  color: rgba(247, 239, 226, 0.48);
  font-size: 9px;
}

.shw-surface-top b {
  color: var(--surface);
}

.shw-query-line {
  margin-top: 20px;
}

.shw-query-line small {
  color: rgba(247, 239, 226, 0.42);
  font-size: 9px;
  font-weight: 700;
}

.shw-query-line strong {
  color: #fff7e8;
  font-size: 1.7rem;
  line-height: 1.34;
  font-weight: 680;
}

.shw-answer-line {
  margin-top: 19px;
}

.shw-answer-line span {
  color: var(--surface);
  font-size: 9px;
  font-weight: 700;
}

.shw-answer-line p {
  max-width: 780px;
  margin: 0;
  color: rgba(247, 239, 226, 0.72);
  font-size: 14px;
  line-height: 1.82;
}

.shw-evidence-rail {
  margin-top: 20px;
  color: rgba(247, 239, 226, 0.52);
  font-size: 9px;
}

.shw-evidence-rail span {
  width: max-content;
  padding: 6px 9px;
  border: 1px solid rgba(247, 239, 226, 0.12);
}

.shw-evidence-rail i {
  display: block;
  align-self: center;
  width: 100%;
  height: 1px;
  overflow: hidden;
  background: rgba(247, 239, 226, 0.12);
}

.shw-evidence-rail em {
  display: block;
  width: 18%;
  height: 100%;
  background: var(--surface);
  transition: width 0.7s ease;
}

.shw-sector-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--shw-line);
}

.shw-sector-nav button {
  position: relative;
  display: flex;
  min-height: 82px;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 18px 16px 0;
  border: 0;
  border-right: 1px solid var(--shw-line);
  background: transparent;
  color: rgba(247, 239, 226, 0.6);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color 0.24s ease, background 0.24s ease, padding 0.24s ease;
}

.shw-sector-nav button:last-child {
  border-right: 0;
}

.shw-sector-nav button::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--shw-teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.32s ease, background 0.24s ease;
}

.shw-sector-nav button[data-shw-scene="innovation"]::after { background: var(--shw-blue); }
.shw-sector-nav button[data-shw-scene="manufacturing"]::after { background: var(--shw-ruby); }
.shw-sector-nav button[data-shw-scene="outbound"]::after { background: var(--shw-gold); }

.shw-sector-nav button:hover,
.shw-sector-nav button.is-active {
  padding-left: 12px;
  color: #fff7e8;
  background: rgba(247, 239, 226, 0.06);
}

.shw-sector-nav button.is-active::after {
  transform: scaleX(1);
}

.shw-sector-nav span {
  color: rgba(247, 239, 226, 0.38);
  font-size: 8px;
}

.shw-sector-nav strong {
  margin-top: 9px;
  font-size: 13px;
  font-weight: 700;
}

.shw-sector-nav small {
  margin-top: 6px;
  color: rgba(247, 239, 226, 0.42);
  font-size: 8px;
}

.shw-marquee {
  overflow: hidden;
  border-top: 1px solid rgba(247, 239, 226, 0.08);
  border-bottom: 1px solid rgba(247, 239, 226, 0.1);
  background: #0b1a17;
  color: rgba(247, 239, 226, 0.62);
  font-size: 9px;
}

.shw-marquee-track {
  display: flex;
  width: max-content;
  min-height: 46px;
  align-items: center;
  gap: 28px;
  padding: 0 22px;
  animation: shwMarquee 34s linear infinite;
  white-space: nowrap;
}

.shw-marquee span::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 9px;
  border-radius: 999px;
  background: var(--shw-orange);
  vertical-align: 1px;
}

.shw-live,
.shw-questions,
.shw-method,
.shw-contact {
  background: #06110f;
}

.shw-live,
.shw-questions,
.shw-method {
  padding: 108px 0;
}

.shw-live-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: 88px;
}

.shw-kicker {
  display: block;
  color: var(--shw-gold);
  font-size: 9px;
  font-weight: 800;
}

.shw-section-lead h2,
.shw-section-head h2,
.shw-contact h2 {
  max-width: 760px;
  margin: 18px 0 19px;
  color: #fff7e8;
  font-size: 2.55rem;
  line-height: 1.16;
  font-weight: 740;
}

.shw-section-lead p,
.shw-section-head > p,
.shw-contact-grid > div > p {
  max-width: 420px;
  margin: 0;
  color: var(--shw-muted);
  font-size: 14px;
  line-height: 1.82;
}

.shw-feed {
  border-top: 2px solid rgba(247, 239, 226, 0.72);
}

.shw-feed article {
  position: relative;
  padding: 25px 45px 26px 0;
  border-bottom: 1px solid var(--shw-line);
  animation: shwFeedIn 0.42s var(--shw-delay, 0ms) both;
}

.shw-feed small {
  color: var(--shw-teal);
  font-size: 9px;
  font-weight: 700;
}

.shw-feed h3 {
  max-width: 720px;
  margin: 10px 0 9px;
  color: #fff7e8;
  font-size: 1.26rem;
  line-height: 1.42;
  font-weight: 690;
}

.shw-feed p {
  max-width: 680px;
  margin: 0;
  color: rgba(247, 239, 226, 0.58);
  font-size: 13px;
  line-height: 1.72;
}

.shw-feed b {
  position: absolute;
  top: 25px;
  right: 0;
  color: rgba(247, 239, 226, 0.38);
  font-size: 9px;
}

.shw-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 74px;
  align-items: end;
  margin-bottom: 50px;
}

.shw-section-head .shw-kicker,
.shw-section-head h2 {
  grid-column: 1;
}

.shw-section-head > p {
  grid-column: 2;
  grid-row: 2;
}

.shw-question-lines {
  border-top: 1px solid rgba(247, 239, 226, 0.72);
}

.shw-question-lines button {
  display: grid;
  grid-template-columns: 52px minmax(260px, 0.9fr) minmax(280px, 1.25fr) 120px;
  gap: 18px;
  align-items: center;
  width: 100%;
  padding: 24px 0;
  border: 0;
  border-bottom: 1px solid var(--shw-line);
  background: transparent;
  color: #fff7e8;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.22s ease, padding 0.22s ease;
}

.shw-question-lines button:hover,
.shw-question-lines button.is-active {
  padding-left: 14px;
  padding-right: 14px;
  background: rgba(247, 239, 226, 0.06);
}

.shw-question-lines span {
  color: var(--shw-orange);
  font-size: 9px;
  font-weight: 800;
}

.shw-question-lines strong {
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
}

.shw-question-lines p {
  margin: 0;
  color: var(--shw-muted);
  font-size: 12px;
  line-height: 1.6;
}

.shw-question-lines b {
  color: rgba(247, 239, 226, 0.4);
  font-size: 8px;
}

.shw-method-runway {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 54px;
  border-top: 2px solid rgba(247, 239, 226, 0.72);
}

.shw-method-runway > div {
  min-height: 190px;
  padding: 17px 20px 18px 0;
  border-right: 1px solid var(--shw-line);
}

.shw-method-runway > div + div {
  padding-left: 20px;
}

.shw-method-runway > div:last-child {
  border-right: 0;
}

.shw-method-runway span {
  color: var(--shw-orange);
  font-size: 9px;
  font-weight: 800;
}

.shw-method-runway strong {
  display: block;
  margin-top: 42px;
  color: #fff7e8;
  font-size: 17px;
  font-weight: 700;
}

.shw-method-runway p {
  margin: 10px 0 0;
  color: var(--shw-muted);
  font-size: 12px;
  line-height: 1.72;
}

.shw-contact {
  padding: 106px 0 130px;
}

.shw-contact-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 80px;
  align-items: end;
}

.shw-form {
  padding: 24px;
  border: 1px solid var(--shw-line);
  background: rgba(247, 239, 226, 0.05);
}

.shw-form-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: baseline;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--shw-line);
}

.shw-form-head span {
  color: rgba(247, 239, 226, 0.42);
  font-size: 8px;
}

.shw-form-head strong {
  color: #fff7e8;
  font-size: 17px;
  font-weight: 700;
}

.shw-form label {
  display: block;
  margin-top: 21px;
  color: rgba(247, 239, 226, 0.48);
  font-size: 8px;
}

.shw-form input {
  width: 100%;
  margin-top: 7px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--shw-line);
  border-radius: 0;
  background: transparent;
  color: #fff7e8;
  font: inherit;
  outline: 0;
}

.shw-form input:focus {
  border-bottom-color: var(--shw-teal);
}

.shw-form input::placeholder {
  color: rgba(247, 239, 226, 0.32);
}

.shw-form p {
  margin: 18px 0 0;
  color: rgba(247, 239, 226, 0.48);
  font-size: 9px;
  line-height: 1.65;
}

.shw-form p a {
  color: var(--shw-gold);
}

.shw-form-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 24px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid rgba(247, 239, 226, 0.72);
  background: transparent;
  color: #fff7e8;
  font: 700 16px inherit;
  text-align: left;
  cursor: pointer;
}

.shw-form-submit span {
  color: var(--shw-orange);
  font-size: 21px;
}

.shw-form .form-status {
  margin-top: 10px;
  color: var(--shw-teal);
  font-size: 11px;
}

.shw-home .is-switching {
  animation: shwSwitch 0.32s ease both;
}

body:has(.shw-home) .to-top {
  background: #ff7a4a;
  color: #07110f;
  box-shadow: 0 10px 28px rgba(255, 122, 74, 0.18);
}

body:has(.shw-home) .to-top:hover {
  background: var(--shw-gold);
}

@keyframes shwTower {
  from { transform: translateY(0); opacity: 0.62; }
  to { transform: translateY(-12px); opacity: 1; }
}

@keyframes shwRiver {
  from { transform: translateX(-10%); }
  to { transform: translateX(18%); }
}

@keyframes shwBeam {
  0%, 100% { opacity: 0.12; }
  50% { opacity: 0.48; }
}

@keyframes shwFloatA {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-18px, 10px, 0); }
}

@keyframes shwFloatB {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(16px, -12px, 0); }
}

@keyframes shwMarquee {
  to { transform: translateX(-50%); }
}

@keyframes shwFeedIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes shwSwitch {
  from { opacity: 0.25; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 960px) {
  .shw-hero-copy {
    width: min(680px, 82%);
  }

  .shw-live-grid,
  .shw-contact-grid {
    gap: 54px;
  }

  .shw-section-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .shw-section-head > p {
    grid-column: 1;
    grid-row: auto;
  }

  .shw-skyline {
    right: -4vw;
    width: 58vw;
  }
}

@media (max-width: 720px) {
  .shw-hero {
    min-height: 0;
  }

  .shw-shell {
    min-height: 0;
  }

  .shw-command-bar {
    flex-direction: column;
    gap: 7px;
    padding-top: 16px;
    font-size: 8px;
  }

  .shw-stage-bg::after {
    background: linear-gradient(180deg, rgba(6, 17, 15, 0.16), #06110f 88%);
  }

  .shw-skyline {
    right: -18vw;
    bottom: 38%;
    width: 88vw;
    height: 150px;
    opacity: 0.42;
  }

  .shw-floating-query {
    display: none;
  }

  .shw-hero-copy {
    width: 100%;
    padding: 45px 0 28px;
  }

  .shw-hero-copy h1 {
    max-width: 12ch;
    font-size: 2.38rem;
    line-height: 1.14;
  }

  .shw-hero-copy p {
    max-width: 360px;
    font-size: 13px;
  }

  .shw-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    margin-top: 22px;
  }

  .shw-live-surface {
    padding: 20px 0 18px;
  }

  .shw-surface-top,
  .shw-query-line,
  .shw-answer-line,
  .shw-evidence-rail {
    display: block;
  }

  .shw-query-line,
  .shw-answer-line,
  .shw-evidence-rail {
    margin-top: 16px;
  }

  .shw-query-line strong {
    display: block;
    margin-top: 9px;
    font-size: 1.25rem;
  }

  .shw-answer-line p {
    margin-top: 9px;
    font-size: 13px;
  }

  .shw-evidence-rail {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .shw-evidence-rail i {
    flex-basis: 100%;
  }

  .shw-sector-nav {
    grid-template-columns: repeat(2, 1fr);
  }

  .shw-sector-nav button {
    min-height: 72px;
    padding: 14px 12px 13px 0;
  }

  .shw-sector-nav button:nth-child(even) {
    border-right: 0;
  }

  .shw-sector-nav strong {
    font-size: 12px;
  }

  .shw-live,
  .shw-questions,
  .shw-method {
    padding: 76px 0;
  }

  .shw-live-grid {
    display: block;
  }

  .shw-feed {
    margin-top: 40px;
  }

  .shw-section-lead h2,
  .shw-section-head h2,
  .shw-contact h2 {
    font-size: 2.08rem;
  }

  .shw-section-head {
    display: block;
    margin-bottom: 38px;
  }

  .shw-section-head > p {
    margin-top: 18px;
  }

  .shw-question-lines button {
    grid-template-columns: 31px 1fr;
    gap: 10px;
    padding: 20px 0;
  }

  .shw-question-lines button:hover,
  .shw-question-lines button.is-active {
    padding-left: 10px;
    padding-right: 10px;
  }

  .shw-question-lines strong {
    font-size: 15px;
  }

  .shw-question-lines p {
    grid-column: 2;
    grid-row: 2;
  }

  .shw-question-lines b {
    grid-column: 2;
    grid-row: 3;
  }

  .shw-method-runway {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
  }

  .shw-method-runway > div,
  .shw-method-runway > div + div {
    min-height: 160px;
    padding: 14px 12px 14px 0;
    border-right: 1px solid var(--shw-line);
    border-bottom: 1px solid var(--shw-line);
  }

  .shw-method-runway > div:nth-child(even) {
    padding-left: 12px;
    border-right: 0;
  }

  .shw-method-runway > div:nth-child(n+3) {
    border-bottom: 0;
  }

  .shw-method-runway strong {
    margin-top: 28px;
    font-size: 15px;
  }

  .shw-method-runway p {
    font-size: 11px;
  }

  .shw-contact {
    padding: 76px 0 92px;
  }

  .shw-contact-grid {
    display: block;
  }

  .shw-form {
    margin-top: 39px;
  }

  .shw-form-head {
    display: block;
  }

  .shw-form-head strong {
    display: block;
    margin-top: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shw-skyline i,
  .shw-river span,
  .shw-scanfield .beam,
  .shw-floating-query,
  .shw-marquee-track,
  .shw-home .is-switching,
  .shw-feed article {
    animation: none;
  }

  .shw-sector-nav button,
  .shw-sector-nav button::after,
  .shw-evidence-rail em,
  .shw-question-lines button {
    transition: none;
  }
}

/* Shanghai homepage v14 — Query rain from zero. */
body:has(.shq-home) {
  background: #0b1c2e;
  color: #fff6e6;
}

body:has(.shq-home) .site-header,
body.shq-page .site-header {
  background: rgba(8, 18, 30, 0.91) !important;
  border-bottom-color: rgba(255, 246, 230, 0.13) !important;
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.14) !important;
  backdrop-filter: blur(18px);
}

body:has(.shq-home) .site-header::before,
body.shq-page .site-header::before {
  background: linear-gradient(90deg, #34dfc7, #ffd071, #ff8a67) !important;
  opacity: 0.86;
}

body:has(.shq-home) .brand img,
body.shq-page .brand img {
  background: #f7f2e8;
}

body:has(.shq-home) .site-nav a,
body.shq-page .site-nav a {
  color: rgba(255, 246, 230, 0.8) !important;
}

body:has(.shq-home) .site-nav a:hover,
body:has(.shq-home) .site-nav a.active,
body:has(.shq-home) .hotline,
body.shq-page .site-nav a:hover,
body.shq-page .site-nav a.active,
body.shq-page .hotline {
  color: #ffd071 !important;
}

body:has(.shq-home) .brand .brand-sub,
body:has(.shq-home) .site-header .brand small,
body.shq-page .brand .brand-sub,
body.shq-page .site-header .brand small {
  color: rgba(255, 246, 230, 0.62) !important;
}

body:has(.shq-home) .btn-header,
body.shq-page .btn-header {
  background: linear-gradient(135deg, #ff8a67, #ffd071) !important;
  color: #071018 !important;
  box-shadow: 0 16px 35px rgba(255, 138, 103, 0.28);
}

body:has(.shq-home) .btn-header .dot,
body.shq-page .btn-header .dot {
  background: #071018 !important;
  color: #ffd071 !important;
}

body:has(.shq-home) .mobile-nav,
body.shq-page .mobile-nav {
  background: rgba(8, 18, 30, 0.98) !important;
}

.shq-home {
  --shq-bg: #0b1c2e;
  --shq-ink: #fff6e6;
  --shq-muted: rgba(255, 246, 230, 0.72);
  --shq-faint: rgba(255, 246, 230, 0.48);
  --shq-line: rgba(255, 232, 198, 0.18);
  --shq-soft: rgba(255, 208, 113, 0.075);
  --shq-teal: #34dfc7;
  --shq-gold: #ffd071;
  --shq-coral: #ff8a67;
  --shq-lilac: #aab8ff;
  --shq-scene: var(--shq-teal);
  overflow-x: hidden;
  background:
    radial-gradient(circle at 16% 18%, rgba(255, 208, 113, 0.16), transparent 32rem),
    radial-gradient(circle at 82% 10%, rgba(52, 223, 199, 0.2), transparent 36rem),
    linear-gradient(180deg, #0b1c2e 0%, #10303b 46%, #151a32 100%);
  color: var(--shq-ink);
}

.shq-home *,
.shq-home *::before,
.shq-home *::after {
  box-sizing: border-box;
  letter-spacing: 0;
}

.shq-home .container {
  position: relative;
  z-index: 3;
}

.shq-hero {
  position: relative;
  min-height: calc(100svh - var(--header-h, 70px));
  padding: 20px 0 34px;
  overflow: hidden;
  isolation: isolate;
  background: #0b1c2e;
}

.shq-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  --scene: var(--shq-teal);
  background:
    radial-gradient(circle at 76% 22%, color-mix(in srgb, var(--scene), transparent 66%), transparent 29rem),
    radial-gradient(circle at 18% 24%, rgba(255, 208, 113, 0.16), transparent 26rem),
    radial-gradient(circle at 70% 72%, rgba(255, 138, 103, 0.16), transparent 28rem),
    linear-gradient(135deg, #0e2032 0%, #123a3f 47%, #1b1a34 100%);
  transition: background 0.65s ease;
}

.shq-field[data-shq-field="innovation"] {
  --scene: var(--shq-lilac);
}

.shq-field[data-shq-field="manufacturing"] {
  --scene: var(--shq-coral);
}

.shq-field[data-shq-field="outbound"] {
  --scene: var(--shq-gold);
}

.shq-field::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 0;
  background:
    linear-gradient(rgba(255, 246, 230, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 246, 230, 0.035) 1px, transparent 1px);
  background-size: 92px 92px;
  mask-image: radial-gradient(circle at 44% 50%, #000 0%, rgba(0, 0, 0, 0.78) 42%, transparent 76%);
  transform: rotate(-8deg);
  opacity: 0.86;
}

.shq-field::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background:
    linear-gradient(90deg, rgba(8, 18, 30, 0.22), rgba(8, 18, 30, 0.06) 34%, transparent 64%, rgba(8, 18, 30, 0.2)),
    linear-gradient(180deg, rgba(10, 21, 36, 0), #0b1c2e 94%);
  pointer-events: none;
}

.shq-signal-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.94;
  mix-blend-mode: screen;
}

.shq-river {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: 15%;
  z-index: 1;
  height: 32%;
  border-top: 1px solid rgba(255, 246, 230, 0.1);
  border-bottom: 1px solid rgba(255, 246, 230, 0.075);
  background:
    linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--scene), transparent 84%) 42%, rgba(255, 208, 113, 0.12) 58%, transparent 100%);
  transform: skewY(-5deg);
  opacity: 0.82;
}

.shq-river::before,
.shq-river::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--scene), transparent 44%), transparent);
  animation: shqDrift 9s linear infinite;
}

.shq-river::before {
  top: 30%;
}

.shq-river::after {
  top: 62%;
  animation-delay: -4s;
}

.shq-topology {
  position: absolute;
  z-index: 3;
  top: 7%;
  right: -1%;
  width: min(58vw, 920px);
  height: 74%;
  opacity: 0.98;
  pointer-events: none;
  transform: translateZ(0);
  filter: drop-shadow(0 36px 80px rgba(0, 0, 0, 0.2));
}

.shq-topology::before {
  content: "";
  position: absolute;
  inset: 7% 10% 7% 24%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--scene), transparent 79%), transparent 56%),
    conic-gradient(from 90deg, transparent 0deg, color-mix(in srgb, var(--scene), transparent 62%) 84deg, transparent 145deg, rgba(255, 208, 113, 0.24) 214deg, transparent 280deg);
  opacity: 0.64;
  animation: shqHalo 14s linear infinite;
}

.shq-topology::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -12% 3% -12% 14%;
  background: linear-gradient(105deg, transparent 0 44%, rgba(255, 246, 230, 0.16) 48%, color-mix(in srgb, var(--scene), transparent 66%) 50%, transparent 56% 100%);
  mix-blend-mode: screen;
  opacity: 0;
  transform: translateX(-42%);
  animation: shqSweep 5.8s cubic-bezier(0.48, 0.02, 0.26, 1) infinite;
}

.shq-topology svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.shq-route {
  fill: none;
  stroke: rgba(255, 246, 230, 0.24);
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}

.shq-route.route-a,
.shq-route.route-b,
.shq-route.route-c,
.shq-route.route-d {
  stroke-dasharray: 8 18;
  animation: shqRouteBreathe 9s ease-in-out infinite;
}

.shq-route.route-b { animation-delay: -2s; }
.shq-route.route-c { animation-delay: -4s; }
.shq-route.route-d { animation-delay: -6s; }

.shq-route.is-hot {
  stroke: url("#shqLineGradient");
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-dasharray: 110 520;
  filter: url("#shqGlow");
  animation: shqPacket 4.8s cubic-bezier(0.35, 0, 0.2, 1) infinite;
}

.shq-field[data-shq-field="innovation"] .route-hot {
  animation-duration: 4.2s;
}

.shq-field[data-shq-field="manufacturing"] .route-hot {
  animation-duration: 5.2s;
}

.shq-field[data-shq-field="outbound"] .route-hot {
  animation-duration: 4.6s;
}

.shq-core circle {
  fill: none;
  stroke: color-mix(in srgb, var(--scene), transparent 60%);
  stroke-width: 1;
  transform-box: fill-box;
  transform-origin: center;
}

.shq-core circle:nth-child(1) {
  opacity: 0.34;
  stroke-dasharray: 2 12;
  animation: shqCoreSpin 28s linear infinite;
}

.shq-core circle:nth-child(2) {
  opacity: 0.48;
  stroke-dasharray: 22 18;
  animation: shqCoreSpin 18s linear infinite reverse;
}

.shq-core circle:nth-child(3) {
  fill: url("#shqCoreGradient");
  opacity: 0.82;
  stroke: rgba(255, 246, 230, 0.28);
  filter: url("#shqGlow");
  animation: shqCorePulse 2.7s ease-in-out infinite;
}

.shq-core text {
  fill: rgba(255, 246, 230, 0.92);
  font: 900 26px/1 "Inter", system-ui, sans-serif;
  text-anchor: middle;
  dominant-baseline: middle;
}

.shq-node {
  opacity: 0.88;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.shq-node circle {
  fill: var(--scene);
  stroke: rgba(255, 246, 230, 0.76);
  stroke-width: 1;
  filter: url("#shqGlow");
}

.shq-node text {
  fill: rgba(255, 246, 230, 0.86);
  font: 700 14px/1 "Noto Sans SC", "Inter", system-ui, sans-serif;
  paint-order: stroke;
  stroke: rgba(8, 18, 30, 0.72);
  stroke-width: 5px;
}

.shq-node.node-d,
.shq-node.node-e {
  opacity: 0.68;
}

.shq-scan-readout {
  position: absolute;
  right: 8%;
  bottom: 13%;
  z-index: 2;
  min-width: 176px;
  padding: 0 0 0 14px;
  border-left: 2px solid var(--scene);
  color: rgba(255, 246, 230, 0.76);
  font-family: "Noto Sans SC", "Inter", system-ui, sans-serif;
}

.shq-scan-readout span {
  display: block;
  color: color-mix(in srgb, var(--scene), #fff 16%);
  font-size: 9px;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-weight: 800;
}

.shq-scan-readout strong {
  display: block;
  margin-top: 7px;
  color: #fff6e6;
  font-size: 13px;
  font-weight: 600;
}

.shq-orbit {
  position: absolute;
  z-index: 2;
  right: 7%;
  top: 16%;
  width: 34rem;
  height: 34rem;
  opacity: 0.24;
  pointer-events: none;
}

.shq-orbit i {
  position: absolute;
  inset: calc(var(--i, 0) * 3.4rem);
  border: 1px solid color-mix(in srgb, var(--scene), transparent 72%);
  border-radius: 50%;
  transform: rotate(-12deg);
  animation: shqOrbit 26s linear infinite;
}

.shq-orbit i:nth-child(1) { --i: 0; }
.shq-orbit i:nth-child(2) { --i: 1; animation-direction: reverse; animation-duration: 32s; }
.shq-orbit i:nth-child(3) { --i: 2; animation-duration: 38s; }

.shq-orbit i::before {
  content: "";
  position: absolute;
  left: 16%;
  top: 8%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--scene);
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--scene), transparent 84%);
}

.shq-rain {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  color: rgba(255, 246, 230, 0.62);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  pointer-events: none;
}

.shq-rain span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  display: inline-flex;
  width: max-content;
  max-width: 260px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 246, 230, 0.31);
  white-space: nowrap;
  transform: translate3d(0, 0, 0) rotate(-8deg);
  animation: shqRain var(--t) linear infinite;
  animation-delay: var(--d);
  text-shadow: 0 0 18px color-mix(in srgb, var(--scene), transparent 72%);
  box-shadow: none;
}

.shq-rain span:nth-child(3n) {
  color: color-mix(in srgb, var(--scene), transparent 54%);
}

.shq-rain span:nth-child(4n) {
  border-color: color-mix(in srgb, var(--scene), transparent 72%);
}

.shq-rain span.is-refreshing {
  animation: shqRainRefresh 0.52s ease both, shqRain var(--t) linear infinite;
}

.shq-pulse-lanes {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.shq-pulse-lanes b {
  position: absolute;
  left: -12%;
  width: 124%;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--scene), transparent 50%), transparent);
  opacity: 0.36;
  transform: rotate(-5deg);
  animation: shqLane 7s ease-in-out infinite;
}

.shq-pulse-lanes b:nth-child(1) { top: 24%; animation-delay: -1s; }
.shq-pulse-lanes b:nth-child(2) { top: 38%; animation-delay: -4s; }
.shq-pulse-lanes b:nth-child(3) { top: 52%; animation-delay: -2s; }
.shq-pulse-lanes b:nth-child(4) { top: 66%; animation-delay: -5s; }
.shq-pulse-lanes b:nth-child(5) { top: 80%; animation-delay: -3s; }

.shq-shell {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  width: min(1240px, calc(100% - 48px));
  min-height: 0;
  margin: 0 auto;
  padding-bottom: 46px;
}

.shq-status,
.shq-section-title > span,
.shq-flowline small,
.shq-feed small,
.shq-proof-rail article > span,
.shq-signal-list button > span,
.shq-signal-list button > em,
.shq-section-tag,
.shq-form-head,
.shq-form label {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.shq-eyebrow,
.shq-link,
.shq-live-sentence,
.shq-whisper,
.shq-dock {
  font-family: "Noto Sans SC", "Inter", system-ui, sans-serif;
}

.shq-status {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 246, 230, 0.14);
  color: rgba(255, 246, 230, 0.52);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.shq-status > span:last-child {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 246, 230, 0.68);
}

.shq-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--shq-teal);
  box-shadow: 0 0 0 7px rgba(52, 223, 199, 0.15);
}

.shq-status em {
  color: rgba(255, 246, 230, 0.42);
  font-style: normal;
}

.shq-hero-layout {
  display: flex;
  align-items: center;
  min-height: 486px;
  padding: 54px 0 40px;
}

.shq-copy {
  width: min(780px, 64%);
}

.shq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 208, 113, 0.88);
  font-size: 13px;
  font-weight: 700;
}

.shq-eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: var(--shq-teal);
  box-shadow: 0 0 18px rgba(52, 223, 199, 0.5);
}

.shq-copy h1 {
  max-width: 760px;
  margin: 26px 0 25px;
  color: #fff6e6;
  font-size: clamp(2.78rem, 3.35vw, 3.62rem);
  font-weight: 800;
  line-height: 1.13;
  letter-spacing: -0.012em;
  text-wrap: balance;
  text-shadow: 0 18px 56px rgba(0, 0, 0, 0.38);
}

.shq-title-break {
  display: block;
  margin-top: 0.03em;
}

.shq-copy > p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 246, 230, 0.78);
  font-size: clamp(15px, 1.1vw, 16px);
  font-weight: 450;
  line-height: 1.92;
}

.shq-live-sentence {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "intent meta"
    "question question";
  align-items: baseline;
  gap: 6px 14px;
  max-width: 730px;
  margin-top: 34px !important;
  padding: 18px 0 18px 20px;
  border-left: 2px solid var(--shq-teal);
  color: rgba(255, 246, 230, 0.72) !important;
  font-size: 13px !important;
  line-height: 1.76 !important;
  isolation: isolate;
}

.shq-live-sentence::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -1px;
  z-index: -1;
  width: min(690px, 100%);
  background: linear-gradient(90deg, rgba(8, 18, 30, 0.62), rgba(12, 34, 44, 0.28) 62%, transparent);
  pointer-events: none;
}

.shq-live-sentence span {
  grid-area: intent;
  color: #ffd071;
  font-weight: 700;
  white-space: nowrap;
}

.shq-live-sentence em {
  grid-area: meta;
  color: rgba(255, 246, 230, 0.54);
  font-style: normal;
  font-weight: 600;
  white-space: nowrap;
}

.shq-live-sentence strong {
  grid-area: question;
  color: #fff6e6;
  font-family: "Noto Sans SC", "Inter", system-ui, sans-serif;
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.56;
  letter-spacing: 0;
}

.shq-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 34px;
}

.shq-actions .btn-cta {
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid #ff8a67;
  background: linear-gradient(135deg, #ff8a67, #ffd071);
  color: #071018;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 22px 45px rgba(255, 138, 103, 0.26);
}

.shq-actions .btn-cta:hover {
  border-color: #ffd071;
  background: #ffd071;
}

.shq-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 246, 230, 0.68);
  font-size: 13.5px;
  font-weight: 700;
}

.shq-link span {
  color: var(--shq-teal);
  font-size: 15px;
}

.shq-whisper {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 32px;
  color: rgba(255, 246, 230, 0.5);
  font-size: 13px;
  font-weight: 500;
}

.shq-whisper span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.shq-whisper span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 138, 103, 0.78);
}

.shq-dock {
  position: relative;
  top: -30px;
  display: flex;
  align-items: center;
  gap: 11px;
  width: max-content;
  max-width: 100%;
  margin: 34px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 246, 230, 0.15);
  border-radius: 999px;
  background: rgba(8, 18, 30, 0.4);
  color: rgba(255, 246, 230, 0.64);
  backdrop-filter: blur(16px);
}

.shq-dock button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 31px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: color 0.24s ease, background 0.24s ease, transform 0.24s ease;
}

.shq-dock button i {
  width: 7px;
  height: 7px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
}

.shq-dock button:hover,
.shq-dock button.is-active {
  background: rgba(255, 246, 230, 0.12);
  color: #fff6e6;
  transform: translateY(-1px);
}

.shq-dock button.is-active i {
  border-color: var(--shq-teal);
  background: var(--shq-teal);
  box-shadow: 0 0 0 6px rgba(52, 223, 199, 0.14);
}

.shq-flow,
.shq-stream,
.shq-proof,
.shq-questions,
.shq-contact {
  position: relative;
  padding: 92px 0;
  background:
    radial-gradient(circle at 82% 0%, rgba(52, 223, 199, 0.075), transparent 30rem),
    linear-gradient(180deg, rgba(255, 208, 113, 0.04), transparent 34%),
    #0b1c2e;
}

.shq-flow::before,
.shq-stream::before,
.shq-proof::before,
.shq-questions::before,
.shq-contact::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 246, 230, 0.24), transparent);
}

.shq-section-title {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  margin-bottom: 48px;
}

.shq-section-title > span,
.shq-section-tag {
  color: rgba(255, 208, 113, 0.86);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.shq-section-title h2,
.shq-contact h2 {
  max-width: 760px;
  margin: 0;
  color: #fff6e6;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 0;
  text-wrap: balance;
}

.shq-section-title p {
  grid-column: 2;
  max-width: 620px;
  margin: -24px 0 0;
  color: var(--shq-muted);
  font-size: 14px;
  line-height: 1.78;
}

.shq-flowline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 46px;
  border-top: 1px solid rgba(255, 246, 230, 0.18);
  background: transparent;
  overflow: hidden;
}

.shq-flowline article {
  position: relative;
  min-height: 0;
  padding: 30px 0 8px;
}

.shq-flowline article::before {
  content: "";
  position: absolute;
  left: 0;
  top: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--shq-teal);
  box-shadow: 0 0 0 8px rgba(52, 223, 199, 0.12);
}

.shq-flowline article::after {
  content: "";
  position: absolute;
  left: 9px;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 246, 230, 0.28), transparent);
}

.shq-flowline small,
.shq-feed small {
  color: var(--shq-teal);
  font-size: 9px;
  font-weight: 800;
}

.shq-flowline h3,
.shq-feed h3,
.shq-proof-rail h3 {
  margin: 32px 0 11px;
  color: #fff6e6;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

.shq-flowline p,
.shq-feed p,
.shq-proof-rail p {
  margin: 0;
  color: rgba(255, 246, 230, 0.7);
  font-size: 13px;
  line-height: 1.78;
}

.shq-stream-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 76px;
  align-items: start;
}

.shq-stream .shq-section-title {
  display: block;
  margin: 0;
}

.shq-stream .shq-section-title h2 {
  margin-top: 14px;
}

.shq-stream .shq-section-title p {
  margin: 18px 0 0;
}

.shq-feed {
  position: relative;
  border-top: 1px solid rgba(255, 246, 230, 0.62);
  overflow: hidden;
}

.shq-feed article {
  position: relative;
  padding: 25px 88px 25px 0;
  border-bottom: 1px solid rgba(255, 246, 230, 0.16);
  animation: shqFeedIn 0.52s ease both;
  animation-delay: var(--shq-delay, 0ms);
}

.shq-feed article::after {
  content: "";
  position: absolute;
  right: 0;
  top: 30px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--shq-coral);
  box-shadow: 0 0 0 8px rgba(255, 138, 103, 0.14);
}

.shq-feed h3 {
  margin-top: 18px;
}

.shq-proof-rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(255, 246, 230, 0.18);
  overflow: hidden;
}

.shq-proof-rail article {
  position: relative;
  min-height: 250px;
  padding: 24px 22px 26px 0;
  border-right: 1px solid rgba(255, 246, 230, 0.15);
}

.shq-proof-rail article + article {
  padding-left: 22px;
}

.shq-proof-rail article:last-child {
  border-right: 0;
}

.shq-proof-rail article > span {
  color: var(--shq-coral);
  font-size: 10px;
  font-weight: 800;
}

.shq-proof-rail article > span::after {
  content: "";
  position: absolute;
  left: 0;
  top: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--shq-teal);
  box-shadow: 0 0 0 8px rgba(52, 223, 199, 0.14);
}

.shq-proof-rail article + article > span::after {
  left: 22px;
}

.shq-signal-list {
  position: relative;
  border-top: 1px solid rgba(255, 246, 230, 0.64);
  overflow: hidden;
}

.shq-flowline::before,
.shq-feed::before,
.shq-proof-rail::before,
.shq-signal-list::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 2;
  width: min(34%, 330px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--shq-teal), var(--shq-gold), transparent);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-120%);
}

.shq-flowline.in-view::before,
.shq-feed.in-view::before,
.shq-proof-rail.in-view::before,
.shq-signal-list.in-view::before {
  animation: shqTextScan 1.55s cubic-bezier(0.42, 0, 0.18, 1) 0.12s both;
}

.shq-flowline small.shq-kinetic-text,
.shq-feed small.shq-kinetic-text,
.shq-proof-rail article > span.shq-kinetic-text,
.shq-signal-list button > span.shq-kinetic-text,
.shq-signal-list button > em.shq-kinetic-text,
.shq-section-tag.shq-kinetic-text {
  display: inline-block;
}

.shq-kinetic-text {
  position: relative;
  overflow: hidden;
  opacity: 0;
  filter: blur(3px);
  letter-spacing: 0.012em;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity 0.52s ease,
    filter 0.58s ease,
    letter-spacing 0.62s ease,
    transform 0.68s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: var(--shq-delay, 0ms);
  will-change: opacity, filter, letter-spacing, transform;
}

.shq-kinetic-text::after {
  content: none;
}

.shq-kinetic-text.is-visible,
.in-view .shq-kinetic-text,
.reveal.in-view .shq-kinetic-text,
.reveal-l.in-view .shq-kinetic-text,
.reveal-r.in-view .shq-kinetic-text,
.reveal-scale.in-view .shq-kinetic-text,
.reveal-stagger.in-view .shq-kinetic-text {
  opacity: 1;
  filter: blur(0);
  letter-spacing: inherit;
  transform: translate3d(0, 0, 0);
}

.shq-signal-list button {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 140px;
  gap: 24px;
  width: 100%;
  padding: 25px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 246, 230, 0.16);
  background: transparent;
  color: #fff6e6;
  text-align: left;
  cursor: pointer;
  transition: padding 0.24s ease, background 0.24s ease;
}

.shq-signal-list button:hover,
.shq-signal-list button.is-active {
  padding-left: 14px;
  padding-right: 14px;
  background: linear-gradient(90deg, rgba(52, 223, 199, 0.1), transparent);
}

.shq-signal-list button > span {
  color: var(--shq-teal);
  font-size: 10px;
  font-weight: 800;
}

.shq-signal-list strong {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.shq-signal-list button > em {
  color: rgba(255, 246, 230, 0.48);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
  text-transform: uppercase;
}

.shq-contact {
  padding-bottom: 132px;
}

.shq-contact-grid {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 86px;
  align-items: start;
}

.shq-contact h2 {
  margin-top: 16px;
}

.shq-contact p {
  max-width: 590px;
  margin: 18px 0 0;
  color: var(--shq-muted);
  font-size: 14px;
  line-height: 1.8;
}

.shq-form {
  padding: 25px;
  border: 1px solid rgba(255, 246, 230, 0.16);
  background:
    radial-gradient(circle at 16% 0%, rgba(255, 208, 113, 0.08), transparent 18rem),
    linear-gradient(145deg, rgba(255, 246, 230, 0.075), rgba(52, 223, 199, 0.035)),
    rgba(8, 18, 30, 0.56);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.14);
}

.shq-form-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(255, 246, 230, 0.16);
}

.shq-form-head span {
  color: rgba(255, 246, 230, 0.52);
  font-size: 9px;
  font-weight: 800;
}

.shq-form-head strong {
  color: #fff6e6;
  font-size: 18px;
  font-weight: 800;
}

.shq-form label {
  display: block;
  margin-top: 21px;
  color: rgba(255, 246, 230, 0.68);
  font-size: 10px;
  font-weight: 800;
}

.shq-form input {
  width: 100%;
  margin-top: 8px;
  padding: 11px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 246, 230, 0.18);
  border-radius: 0;
  outline: none;
  background: transparent;
  color: #fff6e6;
  font: inherit;
}

.shq-form input:focus {
  border-bottom-color: var(--shq-teal);
}

.shq-form input::placeholder {
  color: rgba(255, 246, 230, 0.38);
}

.shq-form .form-privacy {
  margin: 18px 0 0;
  color: rgba(255, 246, 230, 0.54);
  font-size: 12px;
  line-height: 1.7;
}

.shq-form .form-privacy a {
  color: #ffd071;
}

.shq-form-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 24px;
  padding: 15px 0;
  border: 0;
  border-top: 1px solid rgba(255, 246, 230, 0.74);
  background: transparent;
  color: #fff6e6;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
}

.shq-form-submit span {
  color: var(--shq-coral);
  font-size: 22px;
}

.shq-form .form-status {
  margin-top: 11px;
  color: var(--shq-teal);
  font-size: 12px;
}

.shq-home .is-shifting {
  animation: shqShift 0.38s ease both;
}

body:has(.shq-home) .to-top,
body.shq-page .to-top {
  background: #ff8a67;
  color: #071018;
}

body:has(.shq-home) .to-top:hover,
body.shq-page .to-top:hover {
  background: #ffd071;
}

@keyframes shqTextScan {
  0% {
    opacity: 0;
    transform: translateX(-120%);
  }
  16% {
    opacity: 0.9;
  }
  72% {
    opacity: 0.72;
  }
  100% {
    opacity: 0;
    transform: translateX(360%);
  }
}

@keyframes shqRain {
  0% {
    opacity: 0;
    transform: translate3d(-38px, 34px, 0) rotate(-8deg);
  }
  12% {
    opacity: 0.78;
  }
  68% {
    opacity: 0.52;
  }
  100% {
    opacity: 0;
    transform: translate3d(86px, -74px, 0) rotate(-8deg);
  }
}

@keyframes shqRainRefresh {
  0% {
    filter: blur(7px);
    opacity: 0;
  }
  100% {
    filter: blur(0);
    opacity: 1;
  }
}

@keyframes shqPacket {
  0% {
    stroke-dashoffset: 620;
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  72% {
    opacity: 0.9;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}

@keyframes shqRouteBreathe {
  0%, 100% {
    opacity: 0.28;
    stroke-dashoffset: 0;
  }
  50% {
    opacity: 0.62;
    stroke-dashoffset: -36;
  }
}

@keyframes shqHalo {
  to {
    transform: rotate(360deg);
  }
}

@keyframes shqCoreSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes shqCorePulse {
  0%, 100% {
    opacity: 0.55;
    transform: scale(0.96);
  }
  50% {
    opacity: 0.94;
    transform: scale(1.08);
  }
}

@keyframes shqSweep {
  0%, 18% {
    opacity: 0;
    transform: translateX(-44%);
  }
  34% {
    opacity: 0.72;
  }
  62% {
    opacity: 0.14;
  }
  100% {
    opacity: 0;
    transform: translateX(42%);
  }
}

@keyframes shqLane {
  0%, 100% {
    opacity: 0.16;
    transform: translateX(-3%) rotate(-5deg);
  }
  50% {
    opacity: 0.52;
    transform: translateX(3%) rotate(-5deg);
  }
}

@keyframes shqDrift {
  0% {
    transform: translateX(-18%);
  }
  100% {
    transform: translateX(18%);
  }
}

@keyframes shqOrbit {
  to {
    transform: rotate(348deg);
  }
}

@keyframes shqShift {
  0% {
    opacity: 0;
    transform: translateY(7px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes shqFeedIn {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1180px) {
  .shq-copy {
    width: min(720px, 78%);
  }

  .shq-orbit {
    right: -10%;
    width: 30rem;
    height: 30rem;
  }

  .shq-topology {
    right: -8%;
    width: min(70vw, 880px);
  }

  .shq-stream-grid,
  .shq-contact-grid {
    gap: 58px;
  }
}

@media (max-width: 860px) {
  .shq-hero {
    min-height: 0;
    padding-bottom: 48px;
  }

  .shq-shell {
    min-height: 0;
  }

  .shq-status {
    flex-direction: column;
    gap: 8px;
    padding: 18px 0;
  }

  .shq-hero-layout {
    min-height: 0;
    padding: 58px 0 34px;
  }

  .shq-copy {
    width: 100%;
  }

  .shq-copy h1 {
    max-width: 12ch;
    font-size: 2.42rem;
  }

  .shq-copy > p {
    max-width: 520px;
    font-size: 14.5px;
  }

  .shq-live-sentence strong {
    display: block;
    margin-top: 2px;
    font-size: 15.5px;
  }

  .shq-live-sentence {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intent"
      "meta"
      "question";
    gap: 5px;
    max-width: 520px;
  }

  .shq-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .shq-dock {
    top: -10px;
    flex-wrap: wrap;
    width: 100%;
    border-radius: 22px;
  }

  .shq-rain span {
    max-width: 210px;
    font-size: 10px;
  }

  .shq-signal-canvas {
    opacity: 0.5;
  }

  .shq-topology {
    top: 13%;
    right: -58%;
    width: 128vw;
    height: 68%;
    opacity: 0.34;
  }

  .shq-scan-readout {
    display: none;
  }

  .shq-orbit {
    right: -42%;
    top: 18%;
    opacity: 0.36;
  }

  .shq-flow,
  .shq-stream,
  .shq-proof,
  .shq-questions,
  .shq-contact {
    padding: 76px 0;
  }

  .shq-section-title,
  .shq-stream-grid,
  .shq-contact-grid {
    display: block;
  }

  .shq-section-title {
    margin-bottom: 38px;
  }

  .shq-section-title h2,
  .shq-contact h2 {
    margin-top: 13px;
    font-size: 1.95rem;
  }

  .shq-section-title p,
  .shq-stream .shq-section-title p {
    margin: 16px 0 0;
  }

  .shq-flowline,
  .shq-proof-rail {
    grid-template-columns: 1fr;
  }

  .shq-flowline article,
  .shq-proof-rail article,
  .shq-proof-rail article + article {
    min-height: 0;
    padding: 22px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 246, 230, 0.16);
  }

  .shq-proof-rail article:last-child {
    border-bottom: 0;
  }

  .shq-proof-rail article + article > span::after {
    left: 0;
  }

  .shq-feed {
    margin-top: 38px;
  }

  .shq-feed article {
    padding-right: 32px;
  }

  .shq-signal-list button {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .shq-signal-list button > em {
    text-align: left;
  }

  .shq-form {
    margin-top: 40px;
  }
}

@media (max-width: 520px) {
  .shq-copy h1 {
    font-size: 2.12rem;
  }

  .shq-copy > p {
    font-size: 13.5px;
  }

  .shq-topology {
    right: -84%;
    opacity: 0.26;
  }

  .shq-rain span:nth-child(n+7) {
    display: none;
  }

  .shq-live-sentence {
    padding-left: 12px;
    font-size: 12px !important;
  }

  .shq-dock button {
    flex: 1 1 38%;
    justify-content: center;
  }

  .shq-section-title h2,
  .shq-contact h2 {
    font-size: 1.72rem;
  }

  .shq-form-head {
    display: block;
  }

  .shq-form-head strong {
    display: block;
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shq-river::before,
  .shq-river::after,
  .shq-orbit i,
  .shq-rain span,
  .shq-rain span.is-refreshing,
  .shq-topology::before,
  .shq-topology::after,
  .shq-route,
  .shq-route.is-hot,
  .shq-core circle,
  .shq-pulse-lanes b,
  .shq-home .is-shifting,
  .shq-kinetic-text::after,
  .shq-feed article {
    animation: none;
  }

  .shq-field,
  .shq-kinetic-text,
  .shq-dock button,
  .shq-signal-list button {
    transition: none;
  }

  .shq-kinetic-text {
    opacity: 1;
    clip-path: none;
    filter: none;
    letter-spacing: inherit;
    transform: none;
  }
}

/* Shanghai subpages v1 — align nav pages with the live visibility field homepage. */
body:has(.shq-subpage) {
  background: #0b1c2e;
  color: #fff6e6;
}

.shq-subpage {
  --shq-ink: #fff6e6;
  --shq-muted: rgba(255, 246, 230, 0.68);
  --shq-soft: rgba(255, 246, 230, 0.46);
  --shq-line: rgba(255, 246, 230, 0.14);
  --shq-panel: rgba(8, 18, 30, 0.62);
  --shq-panel-strong: rgba(10, 24, 39, 0.82);
  --shq-night: #0b1c2e;
  --shq-night-2: #123a3f;
  --shq-teal: #34dfc7;
  --shq-gold: #ffd071;
  --shq-coral: #ff8a67;
  --shq-lilac: #aab8ff;
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 84% 9%, rgba(52, 223, 199, 0.19), transparent 36rem),
    radial-gradient(circle at 8% 30%, rgba(255, 208, 113, 0.11), transparent 31rem),
    linear-gradient(180deg, #0b1c2e 0%, #10303b 44%, #151a32 100%);
  color: var(--shq-ink);
}

.shq-subpage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 246, 230, 0.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 246, 230, 0.03) 1px, transparent 1px);
  background-size: 82px 82px;
  mask-image: linear-gradient(180deg, #000 0 58%, transparent 100%);
  transform: rotate(-5deg) scale(1.08);
  transform-origin: 50% 0;
}

.shq-subpage .container,
.shq-subpage .ph-inner {
  position: relative;
  z-index: 2;
}

.shq-subpage .page-header {
  position: relative;
  min-height: clamp(30rem, 45vw, 39rem);
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(5.4rem, 8vw, 7.4rem) 0 clamp(4.8rem, 7vw, 6.4rem);
  border-bottom: 1px solid var(--shq-line);
  background:
    radial-gradient(circle at 77% 18%, rgba(52, 223, 199, 0.28), transparent 28rem),
    radial-gradient(circle at 72% 76%, rgba(255, 138, 103, 0.13), transparent 31rem),
    linear-gradient(135deg, #0e2032 0%, #123a3f 47%, #1b1a34 100%);
  color: var(--shq-ink);
  isolation: isolate;
}

.shq-subpage .page-header::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 0;
  background:
    linear-gradient(rgba(255, 246, 230, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 246, 230, 0.035) 1px, transparent 1px);
  background-size: 92px 92px;
  mask-image: radial-gradient(circle at 43% 48%, #000 0%, rgba(0, 0, 0, 0.74) 42%, transparent 78%);
  opacity: 0.92;
  transform: rotate(-8deg);
}

.shq-subpage .page-header::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 13%;
  right: 5%;
  width: min(46vw, 38rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(52, 223, 199, 0.2), transparent 21%),
    repeating-radial-gradient(circle at center, transparent 0 14%, rgba(170, 184, 255, 0.12) 14.2% 14.55%, transparent 14.8% 23%),
    conic-gradient(from 125deg, transparent, rgba(52, 223, 199, 0.3), transparent 34%, rgba(255, 208, 113, 0.2), transparent 68%);
  box-shadow:
    0 0 0 1.2rem rgba(52, 223, 199, 0.035),
    0 34px 90px rgba(0, 0, 0, 0.22);
  opacity: 0.66;
  pointer-events: none;
  animation: shqSubHalo 16s linear infinite;
}

.shq-subpage .sz-page-field {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.shq-subpage .sz-page-field::before {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: 18%;
  height: 34%;
  border-top: 1px solid rgba(255, 246, 230, 0.1);
  border-bottom: 1px solid rgba(255, 246, 230, 0.075);
  background:
    linear-gradient(100deg, transparent 0%, rgba(52, 223, 199, 0.14) 42%, rgba(255, 208, 113, 0.12) 58%, transparent 100%);
  transform: skewY(-5deg);
  opacity: 0.72;
}

.shq-subpage .sz-page-rule {
  position: absolute;
  left: -10%;
  right: -10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(52, 223, 199, 0.5), rgba(255, 208, 113, 0.26), transparent);
  transform: rotate(-5deg);
  opacity: 0.42;
  animation: shqSubLane 8s ease-in-out infinite;
}

.shq-subpage .sz-page-rule.rule-a {
  top: 36%;
}

.shq-subpage .sz-page-rule.rule-b {
  top: 63%;
  animation-delay: -3.5s;
}

.shq-subpage .sz-page-word {
  position: absolute;
  right: 3vw;
  bottom: 4vw;
  color: rgba(255, 246, 230, 0.052);
  font: 900 clamp(4.4rem, 14vw, 12.5rem)/0.82 "Inter", system-ui, sans-serif;
  letter-spacing: -0.09em;
  text-transform: uppercase;
  transform: rotate(-7deg);
  white-space: nowrap;
}

.shq-subpage .sz-page-mini-stage {
  position: absolute;
  right: clamp(2rem, 8vw, 8rem);
  top: clamp(5.8rem, 15vw, 9rem);
  width: min(360px, 28vw);
  min-height: 228px;
  padding: 18px;
  border: 1px solid rgba(255, 246, 230, 0.14);
  background: linear-gradient(180deg, rgba(8, 18, 30, 0.54), rgba(10, 29, 42, 0.24));
  box-shadow: inset 0 1px 0 rgba(255, 246, 230, 0.08), 0 28px 70px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(12px);
  transform: rotate(-3deg);
}

.shq-subpage .sz-page-mini-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 246, 230, 0.13);
  color: rgba(255, 246, 230, 0.52);
  font: 800 9px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shq-subpage .sz-page-mini-top b {
  color: var(--shq-teal);
}

.shq-subpage .sz-page-mini-board {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 126px;
  margin-top: 13px;
  border: 1px solid rgba(255, 246, 230, 0.09);
  background:
    radial-gradient(circle at 50% 52%, rgba(52, 223, 199, 0.16), transparent 35%),
    linear-gradient(90deg, transparent 49.7%, rgba(52, 223, 199, 0.18) 50%, transparent 50.3%);
}

.shq-subpage .sz-page-mini-board i {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(170, 184, 255, 0.18);
  border-radius: 50%;
  animation: shqSubHalo 10s linear infinite;
}

.shq-subpage .sz-page-mini-board i + i {
  inset: 38px;
  animation-direction: reverse;
  animation-duration: 13s;
}

.shq-subpage .sz-page-mini-board strong {
  position: relative;
  z-index: 2;
  color: rgba(255, 246, 230, 0.86);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.04em;
  text-shadow: 0 0 28px rgba(52, 223, 199, 0.56);
}

.shq-subpage .sz-mini-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 246, 230, 0.68);
  font: 800 9px/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(52, 223, 199, 0.28);
}

.shq-subpage .sz-mini-tag::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--shq-teal);
  box-shadow: 0 0 0 7px rgba(52, 223, 199, 0.12);
}

.shq-subpage .sz-mini-tag.tag-a {
  left: 4%;
  bottom: 12%;
}

.shq-subpage .sz-mini-tag.tag-b {
  right: 5%;
  top: 46%;
}

.shq-subpage .sz-mini-tag.tag-c {
  right: 13%;
  bottom: 12%;
}

.shq-subpage .page-header .ph-inner {
  width: min(1240px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
  text-align: left;
}

.shq-subpage .page-header .ph-eyebrow,
.shq-subpage .kicker,
.shq-subpage .panel-kicker,
.shq-subpage .paper-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(255, 208, 113, 0.9);
  font-family: "Noto Sans SC", "Inter", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.shq-subpage .page-header .ph-eyebrow::before,
.shq-subpage .kicker::before,
.shq-subpage .panel-kicker::before,
.shq-subpage .paper-kicker::before {
  content: "";
  width: 42px;
  height: 1px;
  border-radius: 0;
  background: var(--shq-teal);
  box-shadow: 0 0 18px rgba(52, 223, 199, 0.5);
}

.shq-subpage .page-header h1 {
  max-width: 760px;
  margin: 26px 0 24px;
  color: #fff6e6;
  font-size: clamp(2.78rem, 3.35vw, 3.62rem);
  font-weight: 800;
  line-height: 1.13;
  letter-spacing: -0.012em;
  text-wrap: balance;
  text-shadow: 0 18px 56px rgba(0, 0, 0, 0.38);
}

.shq-subpage .page-header h1 .hl {
  position: relative;
  display: inline;
  color: #fff6e6;
}

.shq-subpage .page-header h1 .hl::after {
  content: "";
  position: absolute;
  left: 0.02em;
  right: 0.02em;
  bottom: 0.08em;
  z-index: -1;
  height: 0.1em;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--shq-teal), var(--shq-coral), var(--shq-gold));
  opacity: 0.92;
}

.shq-subpage .page-header .ph-sub {
  max-width: 740px;
  margin: 0;
  color: rgba(255, 246, 230, 0.76);
  font-size: clamp(15px, 1.18vw, 17px);
  font-weight: 450;
  line-height: 1.9;
}

.shq-subpage .sz-page-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 32px;
  color: rgba(255, 246, 230, 0.54);
  font: 800 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.shq-subpage .sz-page-proof span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.shq-subpage .sz-page-proof span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--shq-coral);
  box-shadow: 0 0 0 5px rgba(255, 138, 103, 0.1);
}

.shq-subpage .section,
.shq-subpage .paper-reader {
  position: relative;
  z-index: 1;
  padding-block: clamp(5.2rem, 8vw, 7.2rem);
  background:
    radial-gradient(circle at 82% 0%, rgba(52, 223, 199, 0.075), transparent 30rem),
    linear-gradient(180deg, rgba(255, 208, 113, 0.035), transparent 34%);
  color: var(--shq-ink);
}

.shq-subpage .section.bg-cream,
.shq-subpage .section:nth-of-type(even) {
  border-block: 1px solid rgba(255, 246, 230, 0.1);
  background:
    radial-gradient(circle at 12% 8%, rgba(170, 184, 255, 0.08), transparent 30rem),
    linear-gradient(180deg, rgba(7, 16, 24, 0.26), rgba(10, 27, 39, 0.46));
}

.shq-subpage .section-head {
  margin-bottom: clamp(2.2rem, 5vw, 3.6rem);
}

.shq-subpage .section-head h2,
.shq-subpage .deliver-head h3,
.shq-subpage .article-content h1,
.shq-subpage .article-content h2,
.shq-subpage .article-content h3,
.shq-subpage .cta-band h2 {
  color: #fff6e6;
  letter-spacing: -0.018em;
}

.shq-subpage .section-head h2 {
  max-width: 780px;
  font-size: clamp(2.2rem, 3.7vw, 3.8rem);
  line-height: 1.1;
}

.shq-subpage .section-head h2 .hl,
.shq-subpage .article-content h2 .hl {
  color: var(--shq-gold);
}

.shq-subpage .section-head .lead,
.shq-subpage .deliver-head p,
.shq-subpage .article-content p,
.shq-subpage .article-content li,
.shq-subpage .list-row p,
.shq-subpage .service-card p,
.shq-subpage .cert-card p,
.shq-subpage .cred p,
.shq-subpage .local-feature p,
.shq-subpage .faq-a p,
.shq-subpage .process-row dd,
.shq-subpage .method-overview-item p,
.shq-subpage .service-flow-intro p,
.shq-subpage .summit-card .step-deco,
.shq-subpage .paper-nav a,
.shq-subpage .paper-count {
  color: var(--shq-muted);
}

.shq-subpage .method-overview,
.shq-subpage .service-flow-intro,
.shq-subpage .cred-strip,
.shq-subpage .local-grid,
.shq-subpage .about-contact-grid {
  position: relative;
  z-index: 2;
}

.shq-subpage .method-overview-item,
.shq-subpage .summit-card,
.shq-subpage .service-flow-intro a,
.shq-subpage .process-row,
.shq-subpage .service-card,
.shq-subpage .cert-card,
.shq-subpage .cred,
.shq-subpage .local-feature,
.shq-subpage .list-row,
.shq-subpage .faq-item,
.shq-subpage .paper-nav,
.shq-subpage .paper-toolbar,
.shq-subpage .paper-main,
.shq-subpage .info-banner,
.shq-subpage .deliver-panel,
.shq-subpage .deliver-table-wrap {
  border-color: rgba(255, 246, 230, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 246, 230, 0.075), rgba(255, 246, 230, 0.032)),
    rgba(8, 18, 30, 0.54);
  color: #fff6e6;
  box-shadow: inset 0 1px 0 rgba(255, 246, 230, 0.06), 0 22px 56px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(12px);
}

.shq-subpage .method-overview-item,
.shq-subpage .service-flow-intro a {
  border-left-color: var(--shq-teal);
}

.shq-subpage .summit-card::before,
.shq-subpage .process-row::after,
.shq-subpage .service-card::before,
.shq-subpage .cert-card::before,
.shq-subpage .list-row::after {
  background: linear-gradient(90deg, var(--shq-teal), var(--shq-coral), var(--shq-gold));
}

.shq-subpage .summit-card:hover,
.shq-subpage .service-flow-intro a:hover,
.shq-subpage .service-card:hover,
.shq-subpage .cert-card:hover,
.shq-subpage .list-row:hover,
.shq-subpage .faq-item:hover {
  border-color: rgba(52, 223, 199, 0.36);
  background:
    linear-gradient(180deg, rgba(52, 223, 199, 0.11), rgba(255, 246, 230, 0.035)),
    rgba(8, 18, 30, 0.62);
  box-shadow: inset 0 1px 0 rgba(255, 246, 230, 0.08), 0 28px 74px rgba(0, 0, 0, 0.24);
  transform: translateY(-4px);
}

.shq-subpage .method-overview-item > span,
.shq-subpage .service-flow-intro span,
.shq-subpage .step-n,
.shq-subpage .panel-kicker,
.shq-subpage .paper-kicker,
.shq-subpage .d-step,
.shq-subpage .list-row .lr-meta,
.shq-subpage .paper-nav-title,
.shq-subpage .paper-count,
.shq-subpage .pagination .pager-num.current {
  color: var(--shq-gold);
}

.shq-subpage .method-overview-item strong,
.shq-subpage .summit-card .step-name,
.shq-subpage .service-flow-intro strong,
.shq-subpage .process-row h3,
.shq-subpage .service-card h3,
.shq-subpage .cert-card h3,
.shq-subpage .cred h3,
.shq-subpage .local-feature h3,
.shq-subpage .list-row h3,
.shq-subpage .faq-q,
.shq-subpage .paper-toolbar strong,
.shq-subpage .paper-page h2,
.shq-subpage .paper-page h3 {
  color: #fff6e6;
}

.shq-subpage .summit-card.summit {
  border-color: rgba(52, 223, 199, 0.25);
  background:
    radial-gradient(circle at 14% 10%, rgba(52, 223, 199, 0.18), transparent 38%),
    linear-gradient(135deg, rgba(255, 138, 103, 0.12), rgba(8, 18, 30, 0.74));
}

.shq-subpage .summit-card.summit .step-name {
  color: #fff6e6;
}

.shq-subpage .summit-card.summit .step-deco {
  color: rgba(255, 246, 230, 0.72);
}

.shq-subpage .process-list::before {
  background: linear-gradient(180deg, var(--shq-teal), var(--shq-gold), var(--shq-coral));
}

.shq-subpage .process-row .p-n {
  border-color: rgba(255, 246, 230, 0.16);
  background: rgba(8, 18, 30, 0.7);
  color: var(--shq-teal);
  box-shadow: inset 0 -3px 0 rgba(255, 208, 113, 0.48), 0 0 0 8px rgba(52, 223, 199, 0.06);
}

.shq-subpage .process-row .p-item::before {
  background: var(--shq-coral);
  box-shadow: 0 0 0 5px rgba(255, 138, 103, 0.12);
}

.shq-subpage .process-row dt,
.shq-subpage .d-name,
.shq-subpage .d-check {
  color: rgba(255, 246, 230, 0.9);
}

.shq-subpage .deliver-table-wrap {
  overflow: auto;
}

.shq-subpage .deliver-table,
.shq-subpage .article-content table {
  color: rgba(255, 246, 230, 0.76);
}

.shq-subpage .deliver-table th,
.shq-subpage .deliver-table td,
.shq-subpage .article-content th,
.shq-subpage .article-content td {
  border-color: rgba(255, 246, 230, 0.13);
}

.shq-subpage .deliver-table thead th,
.shq-subpage .article-content th {
  background: rgba(255, 246, 230, 0.08);
  color: #fff6e6;
}

.shq-subpage .list-wrap,
.shq-subpage .faq-wrap {
  position: relative;
  z-index: 2;
}

.shq-subpage .list-row {
  text-decoration: none;
}

.shq-subpage .list-row.is-empty {
  color: var(--shq-muted);
}

.shq-subpage .pagination .pager-edge,
.shq-subpage .pagination .pager-num {
  border-color: rgba(255, 246, 230, 0.15);
  background: rgba(8, 18, 30, 0.5);
  color: rgba(255, 246, 230, 0.72);
}

.shq-subpage .pagination .pager-edge:hover,
.shq-subpage .pagination .pager-num:hover,
.shq-subpage .pagination .pager-num.current {
  border-color: rgba(52, 223, 199, 0.32);
  background: rgba(52, 223, 199, 0.12);
  color: #fff6e6;
}

.shq-subpage .faq-item {
  overflow: hidden;
  border-radius: 0;
}

.shq-subpage .faq-q {
  color: #fff6e6;
}

.shq-subpage .faq-q:hover,
.shq-subpage .faq-q[aria-expanded="true"] {
  color: var(--shq-gold);
}

.shq-subpage .faq-q .chev {
  color: var(--shq-teal);
  background: rgba(52, 223, 199, 0.1);
}

.shq-subpage .faq-item.open .faq-q .chev,
.shq-subpage .faq-q[aria-expanded="true"] .chev {
  background: var(--shq-coral);
  color: #071018;
}

.shq-subpage .paper-reader {
  padding-top: clamp(4.6rem, 7vw, 6.2rem);
}

.shq-subpage .paper-layout {
  width: min(1240px, calc(100% - 48px));
  max-width: none;
  gap: clamp(1.4rem, 3vw, 2.2rem);
}

.shq-subpage .paper-nav,
.shq-subpage .paper-main {
  border-radius: 0;
}

.shq-subpage .paper-nav a {
  border-color: rgba(255, 246, 230, 0.11);
}

.shq-subpage .paper-nav a:hover,
.shq-subpage .paper-nav a.is-active {
  border-color: rgba(52, 223, 199, 0.24);
  background: rgba(52, 223, 199, 0.1);
  color: #fff6e6;
}

.shq-subpage .paper-nav a span {
  color: var(--shq-coral);
}

.shq-subpage .paper-toolbar {
  border-radius: 0;
}

.shq-subpage .paper-count {
  border-color: rgba(255, 246, 230, 0.15);
  background: rgba(52, 223, 199, 0.1);
}

.shq-subpage .article-content {
  color: rgba(255, 246, 230, 0.78);
}

.shq-subpage .article-content h2 {
  border-top-color: rgba(255, 246, 230, 0.14);
}

.shq-subpage .article-content strong {
  color: #fff6e6;
}

.shq-subpage .article-content em {
  color: var(--shq-gold);
  border-bottom-color: rgba(255, 208, 113, 0.45);
}

.shq-subpage .article-content code {
  border-color: rgba(255, 246, 230, 0.14);
  background: rgba(255, 246, 230, 0.08);
  color: var(--shq-teal);
}

.shq-subpage .article-content blockquote {
  border-left-color: var(--shq-coral);
  background: rgba(255, 138, 103, 0.09);
  color: rgba(255, 246, 230, 0.78);
}

.shq-subpage .article-content hr {
  background: rgba(255, 246, 230, 0.14);
}

.shq-subpage .article-content img {
  border: 1px solid rgba(255, 246, 230, 0.12);
  background: rgba(255, 246, 230, 0.04);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.shq-subpage .local-scene {
  border-color: rgba(255, 246, 230, 0.14);
  background:
    radial-gradient(circle at 78% 18%, rgba(52, 223, 199, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(8, 18, 30, 0.76), rgba(18, 58, 63, 0.48));
}

.shq-subpage .local-scene::before {
  background-image:
    linear-gradient(to right, rgba(255, 246, 230, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 246, 230, 0.045) 1px, transparent 1px);
}

.shq-subpage .local-scene .scene-label {
  border-color: rgba(255, 246, 230, 0.14);
  background: rgba(8, 18, 30, 0.68);
  color: var(--shq-teal);
}

.shq-subpage .f-icon,
.shq-subpage .service-card .icon,
.shq-subpage .cred .c-icon {
  color: var(--shq-teal);
}

.shq-subpage .cta-band {
  position: relative;
  overflow: hidden;
  border-block: 1px solid rgba(255, 246, 230, 0.12);
  background:
    radial-gradient(circle at 76% 22%, rgba(52, 223, 199, 0.18), transparent 28rem),
    radial-gradient(circle at 22% 86%, rgba(255, 138, 103, 0.13), transparent 28rem),
    linear-gradient(135deg, #0e2032 0%, #123a3f 52%, #1b1a34 100%);
  color: #fff6e6;
}

.shq-subpage .cta-band .bg-grid {
  opacity: 0.42;
  background-image:
    linear-gradient(to right, rgba(255, 246, 230, 0.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 246, 230, 0.045) 1px, transparent 1px);
}

.shq-subpage .cta-band .lead {
  color: rgba(255, 246, 230, 0.72) !important;
}

.shq-subpage .btn-cta {
  border-color: #ff8a67;
  background: linear-gradient(135deg, #ff8a67, #ffd071);
  color: #071018;
  box-shadow: 0 22px 45px rgba(255, 138, 103, 0.26);
}

.shq-subpage .btn-cta:hover {
  border-color: #ffd071;
  background: #ffd071;
  color: #071018;
}

body:has(.shq-subpage) .to-top {
  background: #ff8a67;
  color: #071018;
}

body:has(.shq-subpage) .to-top:hover {
  background: #ffd071;
}

.js .shq-subpage .reveal,
.js .shq-subpage .reveal-l,
.js .shq-subpage .reveal-r,
.js .shq-subpage .reveal-scale,
.js .shq-subpage .reveal-stagger > * {
  opacity: 0;
  transition:
    opacity 0.58s ease,
    transform 0.68s cubic-bezier(0.19, 1, 0.22, 1),
    filter 0.58s ease;
  filter: blur(3px);
  will-change: opacity, transform, filter;
}

.js .shq-subpage .reveal { transform: translateY(24px); }
.js .shq-subpage .reveal-l { transform: translateX(-24px); }
.js .shq-subpage .reveal-r { transform: translateX(24px); }
.js .shq-subpage .reveal-scale { transform: scale(0.97); }
.js .shq-subpage .reveal-stagger > * { transform: translateY(22px); }

.shq-subpage .reveal.in-view,
.shq-subpage .reveal-l.in-view,
.shq-subpage .reveal-r.in-view,
.shq-subpage .reveal-scale.in-view,
.shq-subpage .reveal-stagger.in-view > * {
  opacity: 1;
  filter: blur(0);
  transform: none;
}

@keyframes shqSubHalo {
  to { transform: rotate(360deg); }
}

@keyframes shqSubLane {
  0%, 100% { opacity: 0.2; transform: translateX(-3%) rotate(-5deg); }
  50% { opacity: 0.55; transform: translateX(4%) rotate(-5deg); }
}

@media (max-width: 980px) {
  .shq-subpage .page-header {
    min-height: auto;
  }

  .shq-subpage .sz-page-mini-stage {
    right: -3rem;
    width: 22rem;
    opacity: 0.42;
  }

  .shq-subpage .page-header h1 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 8vw, 4.4rem);
  }

  .shq-subpage .page-header .ph-sub {
    max-width: 620px;
  }

  .shq-subpage .paper-layout {
    display: block;
  }
}

@media (max-width: 640px) {
  .shq-subpage .page-header {
    padding: 4rem 0 3.6rem;
  }

  .shq-subpage .page-header .ph-inner,
  .shq-subpage .paper-layout {
    width: min(100% - 32px, 1240px);
  }

  .shq-subpage .page-header::after {
    top: 15%;
    right: -9rem;
    width: 22rem;
    opacity: 0.42;
  }

  .shq-subpage .sz-page-mini-stage {
    display: none;
  }

  .shq-subpage .sz-page-word {
    right: -2rem;
    bottom: 1rem;
    font-size: 4.2rem;
  }

  .shq-subpage .page-header h1 {
    max-width: 100%;
    margin-top: 22px;
    font-size: clamp(2.28rem, 10.4vw, 3.2rem);
  }

  .shq-subpage .page-header .ph-sub {
    font-size: 14px;
    line-height: 1.78;
  }

  .shq-subpage .sz-page-proof {
    gap: 9px 14px;
    font-size: 8px;
  }

  .shq-subpage .section,
  .shq-subpage .paper-reader {
    padding-block: 4.2rem;
  }

  .shq-subpage .section-head h2,
  .shq-subpage .cta-band h2 {
    font-size: clamp(1.9rem, 9vw, 2.6rem);
  }

  .shq-subpage .summit-card:hover,
  .shq-subpage .service-flow-intro a:hover,
  .shq-subpage .service-card:hover,
  .shq-subpage .cert-card:hover,
  .shq-subpage .list-row:hover,
  .shq-subpage .faq-item:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shq-subpage .page-header::after,
  .shq-subpage .sz-page-rule,
  .shq-subpage .sz-page-mini-board i {
    animation: none;
  }

  .js .shq-subpage .reveal,
  .js .shq-subpage .reveal-l,
  .js .shq-subpage .reveal-r,
  .js .shq-subpage .reveal-scale,
  .js .shq-subpage .reveal-stagger > * {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}

/* Shanghai subpages hard override: retire inherited SZ/GD !important skins. */
.shq-subpage.sz-subpage {
  background:
    radial-gradient(circle at 84% 9%, rgba(52, 223, 199, 0.19), transparent 36rem),
    radial-gradient(circle at 8% 30%, rgba(255, 208, 113, 0.11), transparent 31rem),
    linear-gradient(180deg, #0b1c2e 0%, #10303b 44%, #151a32 100%) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .page-header {
  border-bottom-color: rgba(255, 246, 230, 0.14) !important;
  background:
    radial-gradient(circle at 77% 18%, rgba(52, 223, 199, 0.28), transparent 28rem),
    radial-gradient(circle at 72% 76%, rgba(255, 138, 103, 0.13), transparent 31rem),
    linear-gradient(135deg, #0e2032 0%, #123a3f 47%, #1b1a34 100%) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .page-header::before {
  display: block !important;
  background:
    linear-gradient(rgba(255, 246, 230, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 246, 230, 0.035) 1px, transparent 1px) !important;
  background-size: 92px 92px !important;
  opacity: 0.92 !important;
  -webkit-mask-image: radial-gradient(circle at 43% 48%, #000 0%, rgba(0, 0, 0, 0.74) 42%, transparent 78%) !important;
  mask-image: radial-gradient(circle at 43% 48%, #000 0%, rgba(0, 0, 0, 0.74) 42%, transparent 78%) !important;
}

.shq-subpage.sz-subpage .page-header::after {
  display: block !important;
  border: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at center, rgba(52, 223, 199, 0.2), transparent 21%),
    repeating-radial-gradient(circle at center, transparent 0 14%, rgba(170, 184, 255, 0.12) 14.2% 14.55%, transparent 14.8% 23%),
    conic-gradient(from 125deg, transparent, rgba(52, 223, 199, 0.3), transparent 34%, rgba(255, 208, 113, 0.2), transparent 68%) !important;
  box-shadow: 0 0 0 1.2rem rgba(52, 223, 199, 0.035), 0 34px 90px rgba(0, 0, 0, 0.22) !important;
  opacity: 0.66 !important;
}

.shq-subpage.sz-subpage .page-header .ph-eyebrow,
.shq-subpage.sz-subpage .kicker,
.shq-subpage.sz-subpage .panel-kicker,
.shq-subpage.sz-subpage .paper-kicker {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 208, 113, 0.9) !important;
}

.shq-subpage.sz-subpage .page-header .ph-eyebrow::before,
.shq-subpage.sz-subpage .kicker::before,
.shq-subpage.sz-subpage .panel-kicker::before,
.shq-subpage.sz-subpage .paper-kicker::before {
  width: 42px !important;
  height: 1px !important;
  border-radius: 0 !important;
  background: #34dfc7 !important;
  box-shadow: 0 0 18px rgba(52, 223, 199, 0.5) !important;
}

.shq-subpage.sz-subpage .page-header h1 {
  color: #fff6e6 !important;
  max-width: 760px !important;
  font-size: clamp(2.78rem, 3.35vw, 3.62rem) !important;
  font-weight: 800 !important;
  line-height: 1.13 !important;
  letter-spacing: -0.012em !important;
}

.shq-subpage.sz-subpage .page-header h1 .hl {
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .page-header h1 .hl::after {
  display: block !important;
  background: linear-gradient(90deg, #34dfc7, #ff8a67, #ffd071) !important;
  opacity: 0.92 !important;
}

.shq-subpage.sz-subpage .page-header .ph-sub {
  color: rgba(255, 246, 230, 0.76) !important;
  font-size: clamp(15px, 1.18vw, 17px) !important;
  line-height: 1.9 !important;
}

.shq-subpage.sz-subpage .section,
.shq-subpage.sz-subpage .paper-reader {
  background:
    radial-gradient(circle at 82% 0%, rgba(52, 223, 199, 0.075), transparent 30rem),
    linear-gradient(180deg, rgba(255, 208, 113, 0.035), transparent 34%) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .section.bg-cream,
.shq-subpage.sz-subpage .section:nth-of-type(even) {
  border-block-color: rgba(255, 246, 230, 0.1) !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(170, 184, 255, 0.08), transparent 30rem),
    linear-gradient(180deg, rgba(7, 16, 24, 0.26), rgba(10, 27, 39, 0.46)) !important;
}

.shq-subpage.sz-subpage .section-head h2,
.shq-subpage.sz-subpage .deliver-head h3,
.shq-subpage.sz-subpage .article-content h1,
.shq-subpage.sz-subpage .article-content h2,
.shq-subpage.sz-subpage .article-content h3,
.shq-subpage.sz-subpage .cta-band h2,
.shq-subpage.sz-subpage .method-overview-item strong,
.shq-subpage.sz-subpage .summit-card .step-name,
.shq-subpage.sz-subpage .service-flow-intro strong,
.shq-subpage.sz-subpage .process-row h3,
.shq-subpage.sz-subpage .service-card h3,
.shq-subpage.sz-subpage .cert-card h3,
.shq-subpage.sz-subpage .cred h3,
.shq-subpage.sz-subpage .local-feature h3,
.shq-subpage.sz-subpage .list-row h3,
.shq-subpage.sz-subpage .faq-q,
.shq-subpage.sz-subpage .paper-toolbar strong,
.shq-subpage.sz-subpage .paper-page h2,
.shq-subpage.sz-subpage .paper-page h3 {
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .section-head .lead,
.shq-subpage.sz-subpage .deliver-head p,
.shq-subpage.sz-subpage .article-content p,
.shq-subpage.sz-subpage .article-content li,
.shq-subpage.sz-subpage .list-row p,
.shq-subpage.sz-subpage .service-card p,
.shq-subpage.sz-subpage .cert-card p,
.shq-subpage.sz-subpage .cred p,
.shq-subpage.sz-subpage .local-feature p,
.shq-subpage.sz-subpage .faq-a p,
.shq-subpage.sz-subpage .process-row dd,
.shq-subpage.sz-subpage .method-overview-item p,
.shq-subpage.sz-subpage .service-flow-intro p,
.shq-subpage.sz-subpage .summit-card .step-deco,
.shq-subpage.sz-subpage .paper-nav a,
.shq-subpage.sz-subpage .paper-count {
  color: rgba(255, 246, 230, 0.68) !important;
}

.shq-subpage.sz-subpage .method-overview-item,
.shq-subpage.sz-subpage .summit-card,
.shq-subpage.sz-subpage .service-flow-intro a,
.shq-subpage.sz-subpage .process-row,
.shq-subpage.sz-subpage .service-card,
.shq-subpage.sz-subpage .cert-card,
.shq-subpage.sz-subpage .cred,
.shq-subpage.sz-subpage .local-feature,
.shq-subpage.sz-subpage .list-row,
.shq-subpage.sz-subpage .faq-item,
.shq-subpage.sz-subpage .paper-nav,
.shq-subpage.sz-subpage .paper-toolbar,
.shq-subpage.sz-subpage .paper-main,
.shq-subpage.sz-subpage .info-banner,
.shq-subpage.sz-subpage .deliver-panel,
.shq-subpage.sz-subpage .deliver-table-wrap {
  border-color: rgba(255, 246, 230, 0.14) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(255, 246, 230, 0.075), rgba(255, 246, 230, 0.032)),
    rgba(8, 18, 30, 0.54) !important;
  color: #fff6e6 !important;
  box-shadow: inset 0 1px 0 rgba(255, 246, 230, 0.06), 0 22px 56px rgba(0, 0, 0, 0.18) !important;
}

.shq-subpage.sz-subpage .method-overview-item > span,
.shq-subpage.sz-subpage .service-flow-intro span,
.shq-subpage.sz-subpage .step-n,
.shq-subpage.sz-subpage .panel-kicker,
.shq-subpage.sz-subpage .paper-kicker,
.shq-subpage.sz-subpage .d-step,
.shq-subpage.sz-subpage .list-row .lr-meta,
.shq-subpage.sz-subpage .paper-nav-title,
.shq-subpage.sz-subpage .paper-count,
.shq-subpage.sz-subpage .pagination .pager-num.current {
  color: #ffd071 !important;
}

.shq-subpage.sz-subpage .summit-card::before,
.shq-subpage.sz-subpage .process-row::after,
.shq-subpage.sz-subpage .service-card::before,
.shq-subpage.sz-subpage .cert-card::before,
.shq-subpage.sz-subpage .list-row::after {
  background: linear-gradient(90deg, #34dfc7, #ff8a67, #ffd071) !important;
}

.shq-subpage.sz-subpage .process-list::before {
  background: linear-gradient(180deg, #34dfc7, #ffd071, #ff8a67) !important;
}

.shq-subpage.sz-subpage .process-row .p-n,
.shq-subpage.sz-subpage .pagination .pager-edge,
.shq-subpage.sz-subpage .pagination .pager-num,
.shq-subpage.sz-subpage .paper-count {
  border-color: rgba(255, 246, 230, 0.15) !important;
  background: rgba(8, 18, 30, 0.58) !important;
  color: rgba(255, 246, 230, 0.76) !important;
}

.shq-subpage.sz-subpage .pagination .pager-num.current,
.shq-subpage.sz-subpage .pagination .pager-edge:hover,
.shq-subpage.sz-subpage .pagination .pager-num:hover,
.shq-subpage.sz-subpage .paper-nav a:hover,
.shq-subpage.sz-subpage .paper-nav a.is-active,
.shq-subpage.sz-subpage .faq-q:hover,
.shq-subpage.sz-subpage .faq-q[aria-expanded="true"] {
  border-color: rgba(52, 223, 199, 0.32) !important;
  background: rgba(52, 223, 199, 0.12) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .deliver-table th,
.shq-subpage.sz-subpage .deliver-table td,
.shq-subpage.sz-subpage .article-content th,
.shq-subpage.sz-subpage .article-content td {
  border-color: rgba(255, 246, 230, 0.13) !important;
}

.shq-subpage.sz-subpage .deliver-table thead th,
.shq-subpage.sz-subpage .article-content th {
  background: rgba(255, 246, 230, 0.08) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .article-content strong {
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .article-content blockquote {
  border-left-color: #ff8a67 !important;
  background: rgba(255, 138, 103, 0.09) !important;
  color: rgba(255, 246, 230, 0.78) !important;
}

.shq-subpage.sz-subpage .cta-band {
  background:
    radial-gradient(circle at 76% 22%, rgba(52, 223, 199, 0.18), transparent 28rem),
    radial-gradient(circle at 22% 86%, rgba(255, 138, 103, 0.13), transparent 28rem),
    linear-gradient(135deg, #0e2032 0%, #123a3f 52%, #1b1a34 100%) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .btn-cta {
  border-color: #ff8a67 !important;
  background: linear-gradient(135deg, #ff8a67, #ffd071) !important;
  color: #071018 !important;
}

/* Shanghai subpages v2 — force the framed nav pages to share the homepage chrome. */
body:has(.shq-subpage) .site-header {
  background: rgba(8, 18, 30, 0.91) !important;
  border-bottom-color: rgba(255, 246, 230, 0.13) !important;
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.14) !important;
  color: #fff6e6 !important;
  backdrop-filter: blur(18px);
}

body:has(.shq-subpage) .site-header::before {
  background: linear-gradient(90deg, #34dfc7, #ffd071, #ff8a67) !important;
  opacity: 0.86 !important;
}

body:has(.shq-subpage) .site-header .brand img {
  background: #f7f2e8 !important;
}

body:has(.shq-subpage) .site-header .brand .brand-name,
body:has(.shq-subpage) .site-header .brand-name,
body:has(.shq-subpage) .site-header .brand small,
body:has(.shq-subpage) .site-header .site-nav a,
body:has(.shq-subpage) .site-header .hotline {
  color: rgba(255, 246, 230, 0.8) !important;
}

body:has(.shq-subpage) .site-header .brand-sub {
  color: rgba(255, 246, 230, 0.62) !important;
}

body:has(.shq-subpage) .site-header .site-nav a:hover,
body:has(.shq-subpage) .site-header .site-nav a.active,
body:has(.shq-subpage) .site-header .hotline strong {
  color: #ffd071 !important;
}

body:has(.shq-subpage) .site-header .site-nav a.active::after {
  background: linear-gradient(90deg, #ff8a67, #34dfc7) !important;
}

body:has(.shq-subpage) .site-header .btn-header {
  background: linear-gradient(135deg, #ff8a67, #ffd071) !important;
  color: #071018 !important;
  box-shadow: 0 16px 35px rgba(255, 138, 103, 0.28) !important;
}

body:has(.shq-subpage) .site-header .btn-header .dot {
  background: #071018 !important;
  color: #ffd071 !important;
}

body:has(.shq-subpage) .site-header .nav-toggle span,
body:has(.shq-subpage) .site-header .nav-toggle span::before,
body:has(.shq-subpage) .site-header .nav-toggle span::after {
  background: #fff6e6 !important;
}

body:has(.shq-subpage) .mobile-nav {
  background: rgba(8, 18, 30, 0.98) !important;
  border-bottom-color: rgba(255, 246, 230, 0.12) !important;
}

body:has(.shq-subpage) .mobile-nav a {
  color: rgba(255, 246, 230, 0.82) !important;
}

.shq-subpage.sz-subpage .sz-page-mini-stage {
  width: clamp(13rem, 21vw, 19rem) !important;
  color: rgba(255, 246, 230, 0.76) !important;
  filter: drop-shadow(0 26px 58px rgba(0, 0, 0, 0.2));
}

.shq-subpage.sz-subpage .sz-page-mini-top {
  border-bottom-color: rgba(255, 246, 230, 0.14) !important;
  color: rgba(255, 246, 230, 0.5) !important;
}

.shq-subpage.sz-subpage .sz-page-mini-top b {
  color: #34dfc7 !important;
  text-shadow: 0 0 16px rgba(52, 223, 199, 0.42);
}

.shq-subpage.sz-subpage .sz-page-mini-board {
  border: 1px solid rgba(255, 246, 230, 0.14) !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at center, rgba(52, 223, 199, 0.2), transparent 24%),
    repeating-radial-gradient(circle at center, transparent 0 23%, rgba(170, 184, 255, 0.13) 23.2% 23.55%, transparent 23.9% 38%),
    conic-gradient(from 120deg, rgba(52, 223, 199, 0.16), transparent 30%, rgba(255, 208, 113, 0.18), transparent 64%, rgba(255, 138, 103, 0.14), transparent) !important;
  box-shadow:
    inset 0 0 0 1px rgba(52, 223, 199, 0.1),
    0 0 52px rgba(52, 223, 199, 0.1) !important;
}

.shq-subpage.sz-subpage .sz-page-mini-board::before,
.shq-subpage.sz-subpage .sz-page-mini-board::after {
  border-color: rgba(255, 246, 230, 0.13) !important;
}

.shq-subpage.sz-subpage .sz-page-mini-board i {
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(52, 223, 199, 0.9), transparent) !important;
  box-shadow: 0 0 18px rgba(52, 223, 199, 0.36) !important;
}

.shq-subpage.sz-subpage .sz-page-mini-board i:nth-child(2) {
  background: linear-gradient(90deg, transparent, rgba(255, 208, 113, 0.9), transparent) !important;
  box-shadow: 0 0 18px rgba(255, 208, 113, 0.3) !important;
}

.shq-subpage.sz-subpage .sz-page-mini-board strong {
  min-width: 4.8rem !important;
  border-radius: 50% !important;
  border: 1px solid rgba(52, 223, 199, 0.42) !important;
  background:
    radial-gradient(circle at center, rgba(255, 246, 230, 0.2), transparent 42%),
    rgba(52, 223, 199, 0.16) !important;
  color: #fff6e6 !important;
  font-size: 1.38rem !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 0 42px rgba(52, 223, 199, 0.25), inset 0 0 22px rgba(52, 223, 199, 0.16) !important;
}

.shq-subpage.sz-subpage .sz-mini-tag {
  min-width: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(8, 18, 30, 0.22) !important;
  box-shadow: none !important;
  color: rgba(255, 246, 230, 0.46) !important;
  padding: 0.32rem 0.56rem !important;
  text-shadow: 0 0 14px rgba(255, 246, 230, 0.08);
}

.shq-subpage.sz-subpage .sz-mini-tag::before {
  background: #34dfc7 !important;
  box-shadow: 0 0 0 0.22rem rgba(52, 223, 199, 0.1), 0 0 18px rgba(52, 223, 199, 0.3) !important;
}

.shq-subpage.sz-subpage .sz-page-proof {
  gap: 1.35rem !important;
}

.shq-subpage.sz-subpage .sz-page-proof span {
  min-height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  color: rgba(255, 246, 230, 0.56) !important;
  box-shadow: none !important;
  letter-spacing: 0.02em !important;
}

.shq-subpage.sz-subpage .sz-page-proof span::before {
  content: "";
  width: 0.34rem;
  height: 0.34rem;
  margin-right: 0.46rem;
  border-radius: 50%;
  background: #ff8a67;
  box-shadow: 0 0 0 0.2rem rgba(255, 138, 103, 0.1);
}

.shq-subpage.sz-subpage .sz-page-proof span:first-child {
  border-left: 0 !important;
}

/* Shanghai subpages v3 — remove the rejected header widget and neutralize old light blocks. */
.shq-subpage.sz-subpage .sz-page-mini-stage,
.shq-subpage.sz-subpage .sz-page-word {
  display: none !important;
}

.shq-subpage.sz-subpage .page-header {
  min-height: clamp(25rem, 38vw, 31rem) !important;
  padding: clamp(4.7rem, 7vw, 6.4rem) 0 clamp(4rem, 5.8vw, 5rem) !important;
}

.shq-subpage.sz-subpage .page-header .ph-inner {
  width: min(1180px, calc(100% - 56px)) !important;
  max-width: 1180px !important;
}

.shq-subpage.sz-subpage .page-header h1 {
  max-width: 760px !important;
}

.shq-subpage.sz-subpage .page-header .ph-sub {
  max-width: 52rem !important;
}

.shq-subpage.sz-subpage .deliver-panel,
.shq-subpage.sz-subpage .deliver-table-wrap,
.shq-subpage.sz-subpage .paper-toolbar,
.shq-subpage.sz-subpage .paper-main,
.shq-subpage.sz-subpage .paper-nav,
.shq-subpage.sz-subpage .info-banner {
  background:
    linear-gradient(180deg, rgba(255, 246, 230, 0.068), rgba(255, 246, 230, 0.028)),
    rgba(8, 18, 30, 0.58) !important;
}

.shq-subpage.sz-subpage .deliver-table,
.shq-subpage.sz-subpage .article-content table {
  overflow: hidden;
  border: 1px solid rgba(255, 246, 230, 0.12) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: rgba(6, 16, 26, 0.46) !important;
  color: rgba(255, 246, 230, 0.76) !important;
}

.shq-subpage.sz-subpage .deliver-table thead,
.shq-subpage.sz-subpage .article-content thead {
  background: transparent !important;
}

.shq-subpage.sz-subpage .deliver-table thead th,
.shq-subpage.sz-subpage .article-content thead th,
.shq-subpage.sz-subpage .article-content th {
  border-color: rgba(255, 246, 230, 0.13) !important;
  background:
    linear-gradient(180deg, rgba(52, 223, 199, 0.1), rgba(255, 246, 230, 0.045)),
    rgba(9, 22, 34, 0.9) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .deliver-table tbody,
.shq-subpage.sz-subpage .article-content tbody,
.shq-subpage.sz-subpage .deliver-table tbody tr,
.shq-subpage.sz-subpage .article-content tbody tr {
  background: transparent !important;
}

.shq-subpage.sz-subpage .deliver-table tbody td,
.shq-subpage.sz-subpage .article-content tbody td,
.shq-subpage.sz-subpage .article-content td {
  border-color: rgba(255, 246, 230, 0.105) !important;
  background: rgba(7, 16, 24, 0.36) !important;
  color: rgba(255, 246, 230, 0.78) !important;
}

.shq-subpage.sz-subpage .deliver-table tbody tr:nth-child(odd) td,
.shq-subpage.sz-subpage .article-content tbody tr:nth-child(odd) td {
  background: rgba(16, 48, 59, 0.34) !important;
}

.shq-subpage.sz-subpage .deliver-table tbody tr:hover td,
.shq-subpage.sz-subpage .article-content tbody tr:hover td {
  background: rgba(52, 223, 199, 0.095) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage .deliver-table .d-step,
.shq-subpage.sz-subpage .article-content table strong {
  color: #ffd071 !important;
}

.shq-subpage.sz-subpage .deliver-table .d-name,
.shq-subpage.sz-subpage .deliver-table .d-check {
  color: rgba(255, 246, 230, 0.88) !important;
}

.shq-subpage.sz-subpage input,
.shq-subpage.sz-subpage textarea,
.shq-subpage.sz-subpage select {
  border-color: rgba(255, 246, 230, 0.14) !important;
  background: rgba(8, 18, 30, 0.62) !important;
  color: #fff6e6 !important;
}

.shq-subpage.sz-subpage input::placeholder,
.shq-subpage.sz-subpage textarea::placeholder {
  color: rgba(255, 246, 230, 0.44) !important;
}

.shq-subpage.sz-subpage .local-scene {
  border-color: rgba(255, 246, 230, 0.14) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 76% 20%, rgba(52, 223, 199, 0.16), transparent 34%),
    radial-gradient(circle at 26% 84%, rgba(255, 138, 103, 0.1), transparent 34%),
    linear-gradient(135deg, rgba(8, 18, 30, 0.82), rgba(18, 58, 63, 0.5)) !important;
  background-size: auto !important;
  color: #fff6e6 !important;
  box-shadow: inset 0 1px 0 rgba(255, 246, 230, 0.06), 0 22px 56px rgba(0, 0, 0, 0.18) !important;
}

.shq-subpage.sz-subpage .local-scene::before {
  background-image:
    linear-gradient(to right, rgba(255, 246, 230, 0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 246, 230, 0.04) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
}

.shq-subpage.sz-subpage .local-scene .scene-label {
  border-color: rgba(255, 246, 230, 0.14) !important;
  background: rgba(8, 18, 30, 0.68) !important;
  color: #34dfc7 !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12) !important;
}

.shq-subpage.sz-subpage .article-content img {
  border-color: rgba(255, 246, 230, 0.12) !important;
  background: rgba(7, 16, 24, 0.3) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18) !important;
}

@media (max-width: 640px) {
  .shq-subpage.sz-subpage .page-header h1 {
    max-width: 100% !important;
    font-size: clamp(2.12rem, 9.4vw, 2.78rem) !important;
  }
}

/* Shanghai production readiness v1 — readable type, visible brand chrome and touch-safe controls. */
body:has(.shq-home) .site-header .brand,
body:has(.shq-home) .site-header .brand-name {
  color: #fff6e6 !important;
}

.site-header .brand .brand-sub {
  font-size: 0.72rem;
  line-height: 1.45;
}

body:has(.shq-home) .site-nav a {
  font-size: 0.94rem;
}

body:has(.shq-home) .hotline {
  font-size: 0.9rem;
}

body:has(.shq-home) .mobile-nav a {
  min-height: 50px;
  color: rgba(255, 246, 230, 0.9) !important;
}

body:has(.shq-home) .mobile-nav a:hover,
body:has(.shq-home) .mobile-nav a.active {
  background: linear-gradient(90deg, rgba(52, 223, 199, 0.2), rgba(255, 208, 113, 0.12));
  color: #ffd071 !important;
}

.nav-toggle {
  min-width: 44px;
  min-height: 44px;
}

.shq-status {
  font-size: 11.5px;
}

.shq-eyebrow,
.shq-link,
.shq-whisper {
  font-size: 14.5px;
}

.shq-copy > p {
  font-size: clamp(16px, 1.2vw, 17px);
}

.shq-live-sentence {
  font-size: 14px !important;
}

.shq-live-sentence strong {
  font-size: 17px;
}

.shq-actions .btn-cta,
.shq-link,
.shq-dock button {
  min-height: 44px;
}

.shq-dock button {
  font-size: 14px;
}

.shq-section-title > span,
.shq-section-tag {
  font-size: 12px;
}

.shq-section-title p,
.shq-contact p {
  font-size: 16px;
  line-height: 1.82;
}

.shq-flowline small,
.shq-feed small {
  font-size: 11.5px;
}

.shq-flowline h3,
.shq-feed h3,
.shq-proof-rail h3 {
  font-size: 18px;
}

.shq-flowline p,
.shq-feed p,
.shq-proof-rail p {
  font-size: 15.5px;
  line-height: 1.82;
}

.shq-feed article {
  transition: background 0.22s ease, padding-left 0.22s ease;
}

.shq-feed article:hover,
.shq-feed article:focus-within {
  padding-left: 12px;
  background: linear-gradient(90deg, rgba(52, 223, 199, 0.08), transparent 78%);
}

.shq-feed h3 a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.2em;
}

.shq-feed h3 a:hover,
.shq-feed h3 a:focus-visible {
  color: #ffd071;
  text-decoration: underline;
}

.shq-proof-rail article > span,
.shq-signal-list button > span {
  font-size: 12px;
}

.shq-signal-list button > em {
  color: rgba(255, 246, 230, 0.66);
  font-size: 11.5px;
}

.shq-form-head span {
  font-size: 11.5px;
}

.shq-form label {
  font-size: 14px;
}

.shq-form .form-privacy {
  font-size: 14px;
}

.shq-form .form-status {
  font-size: 14px;
}

.site-footer .footer-brand p,
.site-footer .footer-col a {
  font-size: 0.92rem;
}

.site-footer .footer-col h4,
.site-footer .footer-bottom {
  font-size: 0.84rem;
}

.shq-subpage.sz-subpage .cred p {
  font-size: 15px;
  line-height: 1.75;
}

@media (max-width: 520px) {
  .shq-copy > p {
    font-size: 15.5px;
    line-height: 1.86;
  }

  .shq-live-sentence {
    font-size: 14px !important;
  }

  .shq-live-sentence strong {
    font-size: 16px;
  }

  .shq-section-title p,
  .shq-contact p,
  .shq-flowline p,
  .shq-feed p,
  .shq-proof-rail p {
    font-size: 15px;
  }

  .site-footer .footer-col a {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
}
