:root {
  --bg: #ffffff;
  --text: #11131b;
  --muted: #5f6678;
  --line: #e9ebf3;
  --purple: #6d55e6;
  --purple-soft: #f2eeff;
  --shadow: 0 10px 24px rgba(27, 25, 70, 0.05);
}

* { box-sizing: border-box; }

/* 中文优先使用阿里妈妈数黑体；英文仍保持 Inter */
@font-face {
  font-family: "AlimamaShuHeiTiLocal";
  src: local("阿里妈妈数黑体"), local("Alimama ShuHeiTi"), local("AlimamaShuHeiTi");
  unicode-range: U+4E00-9FFF, U+3400-4DBF, U+3000-303F, U+FF00-FFEF;
}

body {
  margin: 0;
  font-family:
    "Inter",
    "AlimamaShuHeiTiLocal",
    "PingFang SC",
    "Microsoft YaHei",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  background: var(--bg);
  color: var(--text);
}

a { color: inherit; text-decoration: none; }

.container {
  width: min(1280px, 96%);
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.nav-wrap {
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
}

.brand { display: inline-flex; align-items: center; }

.brand img {
  height: 38px;
  width: auto;
  display: block;
}

.nav-logo {
  height: 32px;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 0 0 auto;
}

.nav-item {
  position: relative;
  font-size: 14px;
  color: #161b27;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.main-nav > .nav-item.is-current {
  color: #4f3db0;
}

.main-nav > .nav-item.is-current::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #7c66e8, #b19af8);
}

.has-dropdown { position: relative; }

.has-dropdown::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 12px;
}

.dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  display: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
}

.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown { display: block; }

.dropdown-products {
  min-width: 320px;
  padding: 10px;
}

/* 产品下拉已合并到 products 页面，统一隐藏 */
.dropdown-products {
  display: none !important;
}

.dropdown-products a {
  display: block;
  border-radius: 10px;
  padding: 10px 12px;
}

.dropdown-products a strong {
  display: block;
  font-size: 14px;
}

.dropdown-products a span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--muted);
}

.dropdown-products a:hover {
  background: #f7f5ff;
}

.nav-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}

/* 顶栏登录：与主导航文字同级，非按钮 */
.nav-login {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: #161b27;
  letter-spacing: 0.01em;
  padding: 6px 2px;
  border-radius: 8px;
  transition: color 0.18s ease;
}

.nav-login:hover,
.nav-login:focus-visible {
  color: #0d0f1a;
}

.nav-login:focus-visible {
  outline: 2px solid rgba(79, 61, 176, 0.35);
  outline-offset: 3px;
}

.text-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  color: #1f2533;
  font-weight: 500;
  transition: color 0.18s ease;
}

.text-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.2s ease;
  opacity: 0.9;
}

.text-link:hover,
.text-link:focus-visible {
  color: #111827;
}

.text-link:hover::after,
.text-link:focus-visible::after {
  transform: scaleX(1);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 9px 15px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid transparent;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.btn-dark { background: #11131c; color: #fff; }
.btn-light { border-color: var(--line); background: #fff; color: #22283a; }
.nav-actions .btn { min-height: 38px; height: 38px; box-sizing: border-box; }
.btn.large { padding: 12px 28px; font-size: 16px; }

/* 全站统一：产品体验 / 立即使用 按钮尾部箭头（demo / get-started 页） */
a.btn[href$="demo.html"],
a.btn[href$="get-started.html"] {
  position: relative;
}

a.btn[href$="demo.html"]::after,
a.btn[href$="get-started.html"]::after {
  content: " >";
  margin-left: 6px;
  font-weight: 700;
  transition: transform 0.2s ease, color 0.2s ease;
}

a.btn[href$="demo.html"]:hover::after,
a.btn[href$="demo.html"]:focus-visible::after,
a.btn[href$="get-started.html"]:hover::after,
a.btn[href$="get-started.html"]:focus-visible::after {
  content: " ->";
  transform: translateX(1px);
}

.cta-row .btn.large:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 18px rgba(23, 20, 54, 0.12);
}

.mobile-menu-btn {
  display: none;
  margin-left: auto;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 8px 10px;
}

.mobile-nav {
  display: none;
  border-top: 1px solid var(--line);
  padding: 12px 4%;
  background: #fff;
}

.mobile-nav.open { display: grid; gap: 10px; }

.mobile-nav a[aria-current="page"] {
  color: #4f3db0;
  font-weight: 700;
}

/* 移动端移除产品子页面入口，统一进入产品总页 */
.mobile-nav a[href$="one-query.html"],
.mobile-nav a[href$="one-paper.html"],
.mobile-nav a[href$="one-miner.html"] {
  display: none;
}

.section { padding: 96px 0; }
.section-soft { background: #fafbff; }
.section-soft { padding: 56px 0 40px; }
.section-soft h2 { font-size: 36px !important; line-height: 1.2; margin-bottom: 20px; }

.section-gradient {
  background:
    radial-gradient(1100px 350px at 50% 20%, rgba(255, 206, 175, 0.3), rgba(255, 206, 175, 0)),
    linear-gradient(180deg, #fff 0%, #fff 52%, #f3ecff 100%);
}

.hero {
  position: relative;
  padding-top: 88px;
  padding-bottom: 0;
}

.hero.section-gradient {
  background:
    linear-gradient(
      90deg,
      #ffffff 0 12px,
      rgba(255, 255, 255, 0) 12px calc(100% - 12px),
      #ffffff calc(100% - 12px) 100%
    ),
    radial-gradient(1100px 350px at 50% 20%, rgba(255, 206, 175, 0.3), rgba(255, 206, 175, 0)),
    linear-gradient(180deg, #fff 0%, #fff 52%, #f3ecff 100%);
}

.hero > .container {
  width: min(1260px, 95%);
}

h1 {
  margin: 0;
  text-align: center;
  font-size: clamp(36px, 6vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

/* Slogan 打字机效果 */
.hero-slogans {
  position: relative;
  text-align: center;
  min-height: 130px;
}

.hero-slogans::before {
  display: none;
}

.hero-slogans .slogan-item {
  display: none;
  margin: 0 auto;
  max-width: 20em;
  font-size: clamp(34px, 4.35vw, 42px);
  line-height: 1.1;
  font-weight: 680;
  letter-spacing: -0.02em;
}

.hero-slogans .slogan-item.is-active {
  display: block;
}

.hero-slogans .slogan-item::after {
  content: '';
  display: inline-block;
  width: 3px;
  height: 0.85em;
  margin-left: 4px;
  vertical-align: text-bottom;
  background: #222;
  animation: cursor-blink 1s steps(1) infinite;
}

@keyframes cursor-blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.hero-en {
  margin: 10px 0 0;
  text-align: center;
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.hero-sub {
  margin: 20px auto 0;
  max-width: 1280px;
  text-align: center;
  font-size: 21px;
  line-height: 1.55;
  color: #2f3444;
  white-space: nowrap;
}

.hero-panel {
  margin-top: 50px;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 18px 32px 22px;
  background:
    radial-gradient(1000px 230px at 50% 0%, rgba(255, 210, 181, 0.36), rgba(255, 210, 181, 0)),
    linear-gradient(180deg, #fff9f6 0%, #f9f1ff 44%, #bfa6ff 80%, #8f75f1 100%);
  width: 100vw;
  box-sizing: border-box;
}

.hero-cards-grid {
  display: flex;
  gap: 10px;
  max-width: 1260px;
  margin: 0 auto;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hero-cards-grid::-webkit-scrollbar {
  display: none;
}

.prompt-card {
  appearance: none;
  border: 1px solid #dee1eb;
  position: relative;
  background: #fff;
  border-radius: 12px;
  min-height: 66px;
  padding: 10px 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 10px rgba(22, 18, 58, 0.04);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
  cursor: pointer;
  text-align: center;
  flex: 1 1 0;
  min-width: 140px;
  scroll-snap-align: start;
}

.prompt-card:hover {
  transform: translateY(-2px);
  border-color: #b9a9f4;
  box-shadow: 0 10px 18px rgba(42, 31, 108, 0.12);
}

.prompt-card.is-active {
  border-color: #baa9f6;
  background: #f7f3ff;
  box-shadow: inset 0 0 0 1px rgba(132, 105, 223, 0.12);
}

.check {
  position: static;
  width: 14px;
  height: 14px;
  border: 1px solid #d0d5e3;
  border-radius: 3px;
  flex-shrink: 0;
}

.prompt-card.is-active .check {
  border-color: #9079ea;
  background: linear-gradient(180deg, #a790f4, #8f76ea);
}

.card-icon {
  margin-top: 8px;
  font-size: 24px;
  line-height: 1;
  opacity: 0.9;
}

.card-label {
  text-align: center;
  font-size: 13px;
  line-height: 1.3;
  color: #2c3244;
  max-width: 100%;
  font-weight: 600;
}

.cta-row {
  margin-top: 22px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.hero-cta-under-demo {
  margin-top: 16px;
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
}

.hero-dashboard {
  position: relative;
  margin: 24px auto 0;
  width: min(1260px, 100%);
  min-height: 560px;
  border: 1px solid #d9dced;
  border-radius: 20px;
  background: #fff;
  display: block;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(22, 17, 58, 0.1);
}

.hero-demo-track {
  --hero-index: 0;
  --hero-total: 6;
  display: flex;
  width: calc(var(--hero-total) * 100%);
  transform: translateX(calc(var(--hero-index) / var(--hero-total) * -100%));
  transition: transform 0.38s ease;
}

.hero-demo-screen {
  width: calc(100% / var(--hero-total, 6));
  min-height: 540px;
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.hero-demo-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #2c3550;
}

.hero-demo-video-wrap {
  border: 1px solid #eceff8;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  min-height: 514px;
  height: 514px;
}

.hero-demo-video {
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  object-fit: cover;
  object-position: center top;
}

.hero-demo-embed-wrap {
  border: 1px solid #eceff8;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  min-height: 480px;
  height: 480px;
  position: relative;
}

.hero-demo-embed {
  display: block;
  width: 166.67%;
  height: 166.67%;
  border: 0;
  background: #fff;
  transform: scale(0.6);
  transform-origin: top left;
}

.hero-demo-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.hero-demo-metrics div {
  border: 1px solid #eaecf6;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
}

.hero-demo-metrics label {
  display: block;
  font-size: 11px;
  color: #737b8f;
}

.hero-demo-metrics strong {
  display: block;
  margin-top: 4px;
  font-size: 28px;
  color: #1d2333;
  line-height: 1.05;
}

.hero-demo-bars {
  margin-top: 2px;
  min-height: 176px;
  border: 1px solid #eceff8;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8f9ff);
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 12px;
}

.hero-demo-bars span {
  flex: 1;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, #9178eb, #b59bf2);
  height: 30%;
  animation: heroBarPulse 1.6s ease-in-out infinite;
}

.hero-demo-bars span:nth-child(2) { height: 52%; animation-delay: 0.14s; }
.hero-demo-bars span:nth-child(3) { height: 44%; animation-delay: 0.28s; }
.hero-demo-bars span:nth-child(4) { height: 62%; animation-delay: 0.42s; }
.hero-demo-bars span:nth-child(5) { height: 40%; animation-delay: 0.56s; }

.hero-demo-flow,
.hero-demo-actions {
  border: 1px solid #eaedf7;
  border-radius: 12px;
  background: #fcfdff;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.hero-demo-flow span,
.hero-demo-actions span {
  min-height: 34px;
  border: 1px solid #eceff7;
  border-radius: 9px;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 10px;
  color: #38435d;
  font-size: 13px;
}

.hero-demo-lines {
  min-height: 116px;
  border: 1px solid #eceff8;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
  display: grid;
  gap: 8px;
  align-content: center;
}

.hero-demo-lines span {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #eef1fa, #e6ebf8);
}

.hero-demo-lines span:nth-child(1) { width: 88%; }
.hero-demo-lines span:nth-child(2) { width: 72%; }
.hero-demo-lines span:nth-child(3) { width: 94%; }

.hero-demo-radar {
  border: 1px solid #eceff8;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8f9ff);
  padding: 12px;
  display: grid;
  gap: 8px;
}

.hero-demo-radar span {
  min-height: 34px;
  border-radius: 9px;
  background: #fff;
  border: 1px solid #e8ecf8;
  display: flex;
  align-items: center;
  padding: 0 10px;
  font-size: 13px;
  color: #3c4761;
}

.hero-demo-note {
  margin: 0;
  color: #4f5a74;
  line-height: 1.5;
  font-size: 14px;
}

@keyframes heroBarPulse {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.08); }
}

h2 {
  margin: 0 0 24px;
  font-size: clamp(26px, 2.8vw, 36px);
  line-height: 1.18;
  letter-spacing: -0.02em;
}

h3 {
  margin: 0 0 10px;
  font-size: 20px;
}

.center { text-align: center; }

.proof-section { background: #fff; }
.proof-section h2 { font-size: 24px !important; line-height: 1.3; }

.video-placeholder {
  position: relative;
  margin: 0 auto;
  width: min(980px, 100%);
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  border: 1px solid #e2e6f1;
  background: #0f1220;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  box-sizing: border-box;
}

.proof-video {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  min-width: 0;
  min-height: 0;
  display: block;
  object-fit: contain;
  object-position: center;
  background: #0f1220;
}

.proof-video-ui {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity 150ms ease;
}

.proof-video-ui.is-visible {
  opacity: 1;
}

.proof-video-gradient {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 88px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.34));
}

.proof-video-bar {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.proof-video-bar-left,
.proof-video-bar-right {
  display: flex;
  align-items: center;
  gap: 2px;
}

.proof-ctrl {
  width: 44px;
  height: 44px;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.94);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  pointer-events: none;
  transition: color 150ms ease, background-color 150ms ease, opacity 150ms ease;
}

.proof-video-ui.is-visible .proof-ctrl {
  pointer-events: auto;
}

.proof-ctrl:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.proof-ctrl:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}

.proof-ctrl-icon {
  width: 22px;
  height: 22px;
  display: none;
}

.proof-ctrl[data-state="playing"] .icon-pause,
.proof-ctrl[data-state="paused"] .icon-play,
.proof-ctrl[data-state="muted"] .icon-muted,
.proof-ctrl[data-state="unmuted"] .icon-unmuted,
.proof-ctrl:not([data-state]) .icon-fs-enter,
.proof-ctrl[data-state="windowed"] .icon-fs-enter,
.proof-ctrl[data-state="fullscreen"] .icon-fs-exit {
  display: block;
}

.proof-video-progress {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 10px;
  height: 12px;
  display: flex;
  align-items: center;
  pointer-events: none;
}

.proof-video-progress-track {
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  overflow: hidden;
  transition: height 150ms ease;
}

.video-placeholder:hover .proof-video-progress-track {
  height: 4px;
}

.proof-video-progress-fill {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: var(--purple);
}

.proof-video-replay {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  display: none;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: #fff;
  background: rgba(15, 18, 32, 0.42);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: auto;
  transition: background-color 150ms ease, opacity 150ms ease;
}

.proof-video-replay:hover {
  background: rgba(15, 18, 32, 0.58);
}

.proof-video-replay[hidden] {
  display: none !important;
}

.proof-video-replay:not([hidden]) {
  display: inline-flex;
}

.proof-video-replay svg {
  width: 18px;
  height: 18px;
}

.proof-video-replay span {
  font-size: 14px;
  letter-spacing: 0.01em;
}

.play-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  display: grid;
  place-items: center;
  font-size: 28px;
  margin-bottom: 8px;
}

.result-line {
  margin: 16px 0 0;
  font-size: 18px;
  color: #2a2f40;
  font-weight: 700;
}

.decision-flow-section {
  background:
    radial-gradient(780px 180px at 50% 0, rgba(241, 234, 255, 0.52), rgba(241, 234, 255, 0)),
    #fff;
}

.flow-line {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 14px 0 22px;
  padding: 10px 8px;
}

.flow-box {
  min-width: 210px;
  border: 1px solid #e0e4f3;
  border-radius: 13px;
  background: linear-gradient(180deg, #fff, #fcfbff);
  padding: 14px 16px;
  text-align: left;
  display: grid;
  gap: 6px;
  box-shadow: 0 8px 20px rgba(24, 20, 60, 0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.flow-box strong {
  font-size: 18px;
  color: #202843;
}

.flow-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid #ded4ff;
  background: #f4f0ff;
  color: #5b47c8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.flow-box:hover {
  transform: translateY(-2px);
  border-color: #d3d8ea;
  box-shadow: 0 12px 24px rgba(24, 20, 60, 0.1);
}

.arrow {
  color: #7b65dd;
  font-size: 24px;
  font-weight: 700;
}

.flow-desc {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.flow-desc-card {
  border: 1px solid #e6e9f3;
  border-radius: 12px;
  padding: 16px 16px 14px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(25, 22, 66, 0.04);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.flow-desc-card:hover {
  transform: translateY(-2px);
  border-color: #d6dced;
  box-shadow: 0 10px 20px rgba(25, 22, 66, 0.08);
}

.flow-desc p {
  margin: 8px 0;
  color: #3f4960;
}

.flow-desc p:first-child {
  font-weight: 600;
  color: #252d46;
}

.scenario-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
}

.scenario-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.scenario-left h2 {
  margin: 0;
  flex-shrink: 0;
}

.scenario-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  align-items: stretch;
  flex: 1;
}

.scenario-image {
  display: flex;
  align-items: stretch;
  border-radius: 12px;
  overflow: hidden;
  max-height: 530px;
}

.scenario-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: 12px;
}

.scenario-card {
  position: relative;
  border: 1px solid #e4e7f2;
  border-radius: 10px;
  background: #fff;
  padding: 14px 14px;
  min-height: auto;
  display: flex;
  flex-direction: column;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  box-shadow: 0 4px 10px rgba(25, 22, 66, 0.03);
  justify-content: space-between;
}

.scenario-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  border-radius: 10px 10px 0 0;
  background: #6c8ef8;
}

.scenario-card:hover {
  transform: translateY(-2px);
  border-color: #cfcff0;
  box-shadow: 0 8px 18px rgba(25, 22, 66, 0.08);
}

.scenario-card h3 {
  font-size: 14px;
  margin-bottom: 4px;
  line-height: 1.25;
}

.scenario-card .q {
  font-weight: 700;
  margin: 0 0 4px;
  line-height: 1.3;
  color: #000;
  font-size: 17px;
}

.scenario-card ul {
  margin: 0;
  padding-left: 14px;
  color: #434b60;
}

.scenario-card li {
  margin: 3px 0;
  line-height: 1.45;
  font-size: 12px;
  font-weight: 400;
  color: #5f6678;
}

.retail::before { background: #6c8ef8; }
.finance::before { background: #53b26d; }
.manuf::before { background: #ff9d60; }
.generic::before { background: #9a69ef; }

.process-compare-head {
  text-align: center;
}

.process-compare-head h2 {
  margin: 0;
  font-size: clamp(28px, 2.8vw, 36px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #11182d;
}

.process-compare-head p {
  margin: 11px 0 0;
  font-size: clamp(14px, 1.3vw, 17px);
  color: #646f88;
  line-height: 1.5;
}

.process-compare-shell {
  margin-top: 34px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 0.52fr) minmax(0, 1.22fr);
  gap: 24px;
  align-items: center;
  border: 1px solid #eceff7;
  border-radius: 22px;
  background:
    radial-gradient(620px 170px at 50% 108%, rgba(143, 119, 232, 0.08), rgba(143, 119, 232, 0)),
    #fff;
  padding: 28px 28px 26px;
}

.pc-col,
.pc-transform {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.pc-col h3 {
  margin: 0;
  font-size: 32px;
  line-height: 1.16;
  color: #151c2f;
}

.pc-now h3 {
  font-weight: 610;
  color: #2f3850;
}

.pc-next h3 {
  font-weight: 680;
  color: #12192d;
}

.pc-chain {
  margin-top: 17px;
  display: grid;
  gap: 10px;
}

.pc-step {
  margin: 0;
  min-height: 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #515d78;
  font-size: 17px;
  line-height: 1.45;
  font-weight: 520;
  opacity: 0;
  transform: translateY(2px);
}

.pc-step::after {
  content: "→";
  margin-left: 5px;
  color: #b3bace;
}

.pc-step:last-child::after {
  content: "";
}

.pc-step.is-muted {
  color: #b8bfd2;
}

.pc-note {
  margin: 16px 0 0;
  font-size: 13px;
  color: #7e89a3;
}

.pc-transform {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 18px;
  position: relative;
  min-height: 176px;
}

.pc-transform::before,
.pc-transform::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(180deg, rgba(229, 234, 246, 0), rgba(229, 234, 246, 1), rgba(229, 234, 246, 0));
}

.pc-transform::before { left: -16px; }
.pc-transform::after { right: -16px; }

.pc-transform > p {
  margin: 0;
  text-align: center;
  color: #6f7992;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  opacity: 0;
  transform: translateY(2px);
}

.pc-compress {
  position: relative;
  width: 100%;
  max-width: 170px;
  height: 96px;
}

.pc-compress span {
  --w: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--w);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(141, 116, 232, 0), rgba(123, 92, 221, 0.68), rgba(141, 116, 232, 0));
  opacity: 0;
  transform: translate(-50%, -50%);
}

.pc-compress span:nth-child(1) { --w: 118%; top: 20%; }
.pc-compress span:nth-child(2) { --w: 88%; top: 40%; }
.pc-compress span:nth-child(3) { --w: 62%; top: 60%; }
.pc-compress span:nth-child(4) { --w: 40%; top: 80%; }

.pc-compress::before {
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  top: 50%;
  height: 24px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: radial-gradient(50% 60% at 50% 50%, rgba(126, 94, 224, 0.22), rgba(126, 94, 224, 0));
  opacity: 0;
}

.pc-compress i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6f4fe0;
  box-shadow: 0 0 0 6px rgba(111, 79, 224, 0.1), 0 0 14px rgba(111, 79, 224, 0.22);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.8);
}

.pc-next {
  opacity: 0;
  transform: translateY(2px);
  display: grid;
  align-content: center;
}

.pc-one-line {
  margin: 18px 0 0;
  font-size: 24px;
  line-height: 1.2;
  color: #121a2f;
  font-weight: 690;
  letter-spacing: -0.01em;
  word-spacing: 0.01em;
  white-space: normal;
  max-width: 16em;
}

.pc-one-line span {
  display: block;
  white-space: nowrap;
}

.pc-one-line span + span {
  margin-top: 4px;
}

.pc-sub {
  margin: 14px 0 0;
  color: #66718b;
  line-height: 1.62;
  font-size: 15px;
  max-width: 28em;
}

.pc-em {
  margin: 14px 0 0;
  color: #4a34af;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0;
}

@media (max-width: 1380px) {
  .pc-one-line {
    font-size: 30px;
    max-width: 17em;
  }
}

[data-process-compare].is-visible .pc-step:nth-child(1) { animation: pcStepIn 0.36s ease 0.05s forwards; }
[data-process-compare].is-visible .pc-step:nth-child(2) { animation: pcStepIn 0.36s ease 0.55s forwards; }
[data-process-compare].is-visible .pc-step:nth-child(3) { animation: pcStepIn 0.36s ease 1.05s forwards; }
[data-process-compare].is-visible .pc-step:nth-child(4) { animation: pcStepIn 0.36s ease 1.55s forwards; }
[data-process-compare].is-visible .pc-step:nth-child(5) { animation: pcStepIn 0.36s ease 2.05s forwards; }

[data-process-compare].is-visible .pc-transform > p { animation: pcFadeIn 0.32s ease 1.25s forwards; }
[data-process-compare].is-visible .pc-compress::before { animation: pcFadeIn 0.34s ease 1.36s forwards; }
[data-process-compare].is-visible .pc-compress span:nth-child(1) { animation: pcCompress 0.9s ease 1.3s forwards; }
[data-process-compare].is-visible .pc-compress span:nth-child(2) { animation: pcCompress 0.9s ease 1.42s forwards; }
[data-process-compare].is-visible .pc-compress span:nth-child(3) { animation: pcCompress 0.9s ease 1.54s forwards; }
[data-process-compare].is-visible .pc-compress span:nth-child(4) { animation: pcCompress 0.9s ease 1.66s forwards; }
[data-process-compare].is-visible .pc-compress i { animation: pcDotIn 0.3s ease 2.02s forwards; }
[data-process-compare].is-visible .pc-next { animation: pcStepIn 0.4s ease 2.5s forwards; }

@keyframes pcStepIn {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pcFadeIn {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pcCompress {
  0% { opacity: 0; transform: translate(-50%, -50%) scaleX(1); filter: blur(0); }
  20% { opacity: 0.95; }
  100% { opacity: 0.95; transform: translate(-50%, -50%) scaleX(0.08); filter: blur(0.1px); }
}

@keyframes pcDotIn {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.75); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .pc-step,
  .pc-transform > p,
  .pc-compress::before,
  .pc-compress span,
  .pc-compress i,
  .pc-next {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.core-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.core-card {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  padding: 20px;
  background: #fff;
}

.core-card h3 { font-size: 20px; line-height: 1.4; }
.core-card p { margin: 8px 0 0; color: #3c4760; font-size: 14px; line-height: 1.6; }

.final-cta p { font-size: 17px; margin: 0; color: #30384c; }
.final-cta h2 { font-size: clamp(34px, 4.35vw, 42px); letter-spacing: -0.03em; line-height: 1.1; }

.github-link {
  display: inline-block;
  margin-top: 16px;
  color: #2f3750;
  font-weight: 600;
  transition: transform 0.18s ease, color 0.18s ease, text-shadow 0.18s ease;
}

.github-link:hover {
  transform: translateY(-2px);
  color: #1f2640;
  text-shadow: 0 6px 14px rgba(35, 41, 64, 0.12);
}

.site-footer {
  border-top: 1px solid var(--line);
  background: #fff;
}

.footer-row {
  min-height: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: #999;
  font-size: 13px;
  font-weight: 400;
  padding: 12px 0;
}

.footer-row p {
  margin: 0;
  line-height: 1.6;
}
  padding: 12px 0;
}

.page-hero {
  padding: 96px 0 76px;
  background:
    radial-gradient(900px 300px at 50% 0, rgba(255, 208, 182, 0.25), rgba(255, 208, 182, 0)),
    linear-gradient(180deg, #fff, #f4efff);
}

.page-hero h1 { margin-top: 0; }
.page-content { padding: 60px 0 96px; }

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.simple-card {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  padding: 18px;
  background: #fff;
}

.simple-card h3 a {
  color: inherit;
  text-decoration: none;
}

.simple-card h3 a:hover {
  color: #4f3db0;
}

/* Resources v2 */
.res2-page .section {
  padding-top: 58px;
  padding-bottom: 58px;
}

.res2-page {
  background: #f6f7fb;
}

.res2-page .section.res2-hero {
  border-bottom: 0;
  padding-top: 88px;
  padding-bottom: 84px;
  background:
    radial-gradient(900px 300px at 50% 0, rgba(255, 208, 182, 0.25), rgba(255, 208, 182, 0)),
    linear-gradient(180deg, #fff, #f4efff);
}

.res2-hero-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: start;
  justify-items: center;
}

.res2-hero h1 {
  margin: 0;
  text-align: center;
  max-width: none;
  font-size: clamp(32px, 3.6vw, 42px);
  line-height: 1.16;
  letter-spacing: -0.02em;
  color: #20283b;
  font-weight: 700;
}

.res2-hero .res2-hero-sub {
  margin: 0;
  max-width: none;
  color: #3f4a63;
  font-size: 17px;
  line-height: 1.58;
  text-align: center;
}

.res2-filter {
  padding-top: 8px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid #e7eaf3;
}

.res2-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.res2-filter-row button {
  border: 1px solid #dfe4f1;
  background: #fff;
  color: #576380;
  border-radius: 999px;
  min-height: 30px;
  padding: 0 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.16s ease, color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.res2-filter-row button:hover {
  border-color: #cfd6e8;
  color: #2f3956;
  box-shadow: 0 2px 6px rgba(25, 31, 49, 0.06);
}

.res2-filter-row button.is-active {
  background: #f1ecff;
  color: #4f3e9f;
  border-color: #d6cbfb;
}

.res2-cases {
  padding-top: 18px !important;
}

.res2-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  min-height: 600px;
  contain: layout style;
}

.res2-card {
  border: 1px solid #e4e8f3;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(27, 34, 53, 0.04);
  display: flex;
  flex-direction: column;
  transition: border-color 0.16s ease, box-shadow 0.18s ease, transform 0.16s ease;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.res2-card:hover {
  border-color: #d2d9ea;
  box-shadow: 0 10px 22px rgba(26, 31, 49, 0.09);
  transform: translateY(-3px);
}

.res2-card-tag {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #8b6ef2;
}

.res2-card-scene {
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 1.35;
  color: #4f5f82;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 4px 10px;
  border: 1px solid #d4deee;
  border-radius: 999px;
  background: #f5f8ff;
}

.res2-card-scene::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8f79e9;
  flex-shrink: 0;
}

.res2-card-img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center 45%;
  display: block;
  background: #f3f1ee;
  transition: transform 0.22s ease;
  filter: saturate(0.9) contrast(0.94) brightness(1.03);
}

.res2-card-img.is-broken {
  object-fit: contain;
  padding: 12px;
}

.res2-card:hover .res2-card-img {
  transform: scale(1.03);
}

.res2-card-body {
  padding: 16px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.res2-card h3 {
  margin: 0;
  max-width: none;
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: #232b42;
  font-weight: 600;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.res2-card-arrow {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #6d58d9;
  letter-spacing: 0;
}

.res2-card-arrow::after {
  content: "→";
  font-size: 16px;
  transition: transform 0.16s ease;
}

.res2-card:hover .res2-card-arrow::after {
  transform: translateX(3px);
}

.res2-card-desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #5c6682;
  font-weight: 500;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.res2-card-metric {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: #6e4fe6;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 4px 10px;
  border: 1px solid #e4dcff;
  border-radius: 999px;
  background: #f7f5ff;
}

.res2-card-metric::before {
  content: none;
}

/* legacy res2-card-link removed */

@media (max-width: 1120px) {
  .res2-hero-inner {
    gap: 16px;
  }

  .res2-hero .res2-hero-sub {
    margin-top: 0;
    font-size: 16px;
    max-width: 34em;
  }

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

  .res2-card h3 {
    font-size: clamp(16px, 2.3vw, 20px);
  }
}

@media (max-width: 760px) {
  .res2-page .section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .res2-hero h1 {
    font-size: clamp(28px, 7vw, 36px);
  }

  .res2-hero .res2-hero-sub {
    font-size: 15px;
    line-height: 1.52;
  }

  .res2-filter-row {
    flex-wrap: wrap;
  }

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

  .res2-card {
    min-height: 336px;
    padding: 22px 20px 18px;
    gap: 12px;
  }

  .res2-card h3 {
    max-width: none;
    font-size: clamp(16px, 6.2vw, 20px);
    line-height: 1.3;
  }
}

/* Resource detail */
.res-detail-page {
  background: #fafafa;
}

.res-detail-page .section {
  padding-top: 48px;
  padding-bottom: 80px;
}

.res-detail-shell {
  max-width: 720px;
}

.res-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 28px;
  font-size: 14px;
  font-weight: 600;
  color: #6e4fe6;
  text-decoration: none;
}

.res-detail-back:hover {
  color: #5a3dd1;
}

.res-detail-tag {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #8b6ef2;
}

.res-detail-shell h1 {
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #20283b;
}

.res-detail-lead {
  margin: 0 0 32px;
  font-size: 18px;
  line-height: 1.6;
  color: #4f5f82;
}

.res-detail-top-image {
  margin: 0 0 36px;
  border-radius: 16px;
  overflow: hidden;
}

.res-detail-top-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Resource detail — OpenAI-style story narrative */
.res-detail-page.is-story-case {
  background: #fff;
}

.res-detail-page.is-story-case .section {
  padding-top: 32px;
  padding-bottom: 96px;
  overflow: visible;
}

.res-detail-page.is-story-case .res-detail-shell {
  max-width: 820px;
  padding-top: 32px;
}

.res-detail-page.is-story-case .container {
  overflow: visible;
}

.res-detail-page.is-story-case .res-detail-tag {
  margin-bottom: 8px;
}

.res-detail-page.is-story-case .res-detail-shell h1 {
  margin-bottom: 28px;
  font-size: clamp(26px, 3.6vw, 36px);
}

/* Story case deck — shared subtitle */
.res-detail-page.is-story-case .res-detail-subtitle:not([hidden]) {
  margin: 0 0 36px;
  padding: 0 0 32px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid #ebe8e3;
  font-size: clamp(15px, 1.95vw, 18px);
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-align: center;
  color: #5a6478;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case .res-detail-subtitle:not([hidden]) {
    font-size: clamp(14px, 1.85vw, 17px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case .res-detail-subtitle:not([hidden]) {
    margin-bottom: 28px;
    padding-bottom: 24px;
    font-size: 15px;
    line-height: 1.6;
    text-wrap: balance;
  }
}

/* Retail case — slightly larger title + centered deck (wraps within shell) */
.res-detail-page.is-story-case.is-retail-case .res-detail-shell h1 {
  margin: 0 0 16px;
  max-width: 100%;
  font-size: clamp(21px, 2.55vw, 27px);
  line-height: 1.28;
  letter-spacing: -0.038em;
  font-weight: 700;
  color: #12161f;
  text-wrap: balance;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-retail-case .res-detail-shell h1 {
    font-size: clamp(20px, 2.85vw, 25px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-retail-case .res-detail-shell h1 {
    font-size: clamp(19px, 4.4vw, 23px);
    line-height: 1.35;
  }
}

/* NOC case — max single-line title within body width + centered deck */
.res-detail-page.is-story-case.is-noc-case .res-detail-shell h1 {
  margin: 0 0 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-size: clamp(16px, 2.75vw, 28px);
  line-height: 1.15;
  letter-spacing: -0.05em;
  white-space: nowrap;
  font-weight: 700;
  color: #12161f;
}

.res-detail-page.is-story-case.is-noc-case .res-detail-subtitle:not([hidden]) {
  font-size: clamp(17px, 2.12vw, 20px);
  line-height: 1.5;
  letter-spacing: -0.015em;
  white-space: nowrap;
  color: #5a6478;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-noc-case .res-detail-shell h1 {
    font-size: clamp(15px, 2.55vw, 25px);
  }

  .res-detail-page.is-story-case.is-noc-case .res-detail-subtitle:not([hidden]) {
    font-size: clamp(16px, 2vw, 18px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-noc-case .res-detail-shell h1 {
    white-space: normal;
    font-size: clamp(17px, 4.2vw, 21px);
    line-height: 1.32;
    text-wrap: balance;
  }

  .res-detail-page.is-story-case.is-noc-case .res-detail-subtitle:not([hidden]) {
    white-space: normal;
    font-size: 16px;
  }
}

/* Manufacturing case — single-line title */
.res-detail-page.is-story-case.is-manufacturing-case .res-detail-shell h1 {
  margin: 0 0 16px;
  font-size: clamp(21px, 3.05vw, 31px);
  line-height: 1.12;
  letter-spacing: -0.045em;
  white-space: nowrap;
  font-weight: 700;
  color: #12161f;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-manufacturing-case .res-detail-shell h1 {
    font-size: clamp(19px, 2.75vw, 27px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-manufacturing-case .res-detail-shell h1 {
    white-space: normal;
    font-size: clamp(18px, 4.5vw, 22px);
    line-height: 1.32;
    text-wrap: balance;
  }
}

/* Manufacturing 002 — larger single-line title */
.res-detail-page.is-story-case.is-manufacturing-002-case .res-detail-shell h1 {
  font-size: clamp(24px, 3.65vw, 38px);
  letter-spacing: -0.048em;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-manufacturing-002-case .res-detail-shell h1 {
    font-size: clamp(21px, 3.2vw, 32px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-manufacturing-002-case .res-detail-shell h1 {
    font-size: clamp(19px, 4.8vw, 24px);
  }
}

/* Energy 002 — single-line title + deck subtitle */
.res-detail-page.is-story-case.is-energy-002-case .res-detail-tag {
  margin-bottom: 18px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #8a93a8;
}

.res-detail-page.is-story-case.is-energy-002-case .res-detail-shell h1 {
  margin: 0 0 16px;
  font-size: clamp(26px, 4.2vw, 42px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.05em;
  white-space: nowrap;
  text-align: center;
  color: #12161f;
}

.res-detail-page.is-story-case.is-energy-002-case .res-detail-subtitle {
  line-height: 1.45;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-energy-002-case .res-detail-shell h1 {
    font-size: clamp(22px, 3.5vw, 36px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-energy-002-case .res-detail-shell h1 {
    white-space: normal;
    font-size: clamp(19px, 4.8vw, 24px);
    line-height: 1.28;
    text-wrap: balance;
  }

  .res-detail-page.is-story-case.is-energy-002-case .res-detail-subtitle {
    white-space: normal;
  }
}

/* Energy 003 — title + smaller centered deck */
.res-detail-page.is-story-case.is-energy-003-case .res-detail-shell h1 {
  margin: 0 0 16px;
  font-size: clamp(28px, 3.85vw, 38px);
  line-height: 1.12;
  letter-spacing: -0.04em;
  font-weight: 700;
  color: #12161f;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-energy-003-case .res-detail-shell h1 {
    font-size: clamp(26px, 3.5vw, 34px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-energy-003-case .res-detail-shell h1 {
    font-size: clamp(24px, 5vw, 30px);
  }
}

.res-detail-page.is-story-case.is-energy-003-case .res-detail-subtitle:not([hidden]) {
  font-size: clamp(14px, 1.72vw, 16px);
  line-height: 1.6;
  letter-spacing: -0.008em;
  color: #5a6478;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-energy-003-case .res-detail-subtitle:not([hidden]) {
    font-size: clamp(13px, 1.65vw, 15px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-energy-003-case .res-detail-subtitle:not([hidden]) {
    font-size: 14px;
    line-height: 1.65;
  }
}

.res-detail-page.is-story-case.is-energy-003-case .res-story-article h2 {
  font-size: clamp(21px, 2.85vw, 28px);
  line-height: 1.26;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-energy-003-case .res-story-article h2 {
    font-size: clamp(20px, 2.65vw, 26px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-energy-003-case .res-story-article h2 {
    font-size: clamp(19px, 4.2vw, 24px);
  }
}

/* Real estate case — title + centered deck */
.res-detail-page.is-story-case.is-realestate-case .res-detail-shell h1 {
  margin: 0 0 16px;
  max-width: 100%;
  font-size: clamp(21px, 2.55vw, 27px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.038em;
  color: #12161f;
  text-wrap: balance;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-realestate-case .res-detail-shell h1 {
    font-size: clamp(20px, 2.85vw, 25px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-realestate-case .res-detail-shell h1 {
    font-size: clamp(19px, 4.3vw, 23px);
    line-height: 1.35;
  }
}

.res-detail-page.is-story-case.is-realestate-case .res-detail-subtitle:not([hidden]) {
  font-size: clamp(14px, 1.72vw, 16px);
  line-height: 1.6;
  letter-spacing: -0.008em;
  text-wrap: balance;
}

/* Finance case — title + centered deck */
.res-detail-page.is-story-case.is-finance-case .res-detail-shell h1 {
  margin: 0 0 16px;
  max-width: 100%;
  font-size: clamp(21px, 2.55vw, 27px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.038em;
  color: #12161f;
  text-wrap: balance;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-finance-case .res-detail-shell h1 {
    font-size: clamp(20px, 2.85vw, 25px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-finance-case .res-detail-shell h1 {
    font-size: clamp(19px, 4.3vw, 23px);
    line-height: 1.35;
  }
}

.res-detail-page.is-story-case.is-finance-case .res-detail-subtitle:not([hidden]) {
  font-size: clamp(14px, 1.72vw, 16px);
  line-height: 1.6;
  letter-spacing: -0.008em;
  text-wrap: balance;
}

.res-detail-page.is-story-case.is-finance-case .res-story-article ol {
  margin: 0 0 1.15em;
  padding-left: 1.35em;
  color: #3a4256;
}

.res-detail-page.is-story-case.is-finance-case .res-story-article ol li {
  margin-bottom: 0.45em;
  line-height: 1.72;
}

/* Medical case — title + centered deck */
.res-detail-page.is-story-case.is-medical-case .res-detail-tag {
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #8a93a8;
}

.res-detail-page.is-story-case.is-medical-case .res-detail-shell h1 {
  margin: 0 0 16px;
  max-width: 100%;
  font-size: clamp(21px, 2.55vw, 27px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.038em;
  color: #12161f;
  text-wrap: balance;
}

@media (max-width: 860px) {
  .res-detail-page.is-story-case.is-medical-case .res-detail-shell h1 {
    font-size: clamp(20px, 2.85vw, 25px);
  }
}

@media (max-width: 640px) {
  .res-detail-page.is-story-case.is-medical-case .res-detail-shell h1 {
    font-size: clamp(18px, 4.3vw, 22px);
    line-height: 1.35;
  }
}

.res-detail-page.is-story-case.is-medical-case .res-story-article {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  font-size: 16.5px;
  line-height: 1.82;
}

.res-detail-page.is-story-case.is-medical-case .res-story-article p {
  margin: 0 0 1.5em;
}

.res-detail-page.is-story-case.is-medical-case .res-story-example {
  margin: 1.75em 0;
  padding: 18px 22px 18px 24px;
  border-left: 3px solid #c5cad6;
  background: #f8f7f5;
  font-size: 15.5px;
  line-height: 1.68;
  color: #3d4559;
}

.res-detail-page.is-story-case.is-medical-case .res-story-aside {
  margin: 2.1em 0;
}

.res-detail-page.is-story-case.is-medical-case .res-story-aside p {
  margin: 0 !important;
  padding: 20px 24px;
  border-left: 3px solid #8fa0b8;
  background: #f5f6f8;
  font-size: 17px;
  line-height: 1.72;
  font-weight: 500;
  color: #2e364a;
}

.res-detail-page.is-story-case.is-medical-case .res-story-results {
  margin: 2.8em 0 2em;
  padding: 28px 32px;
  border-radius: 8px;
  background: #f9f8f6;
  border: 1px solid #ebe8e3;
}

.res-detail-page.is-story-case.is-medical-case .res-story-results h2 {
  margin: 0 0 1.1em;
  font-size: clamp(20px, 2.5vw, 24px);
}

.res-detail-page.is-story-case.is-medical-case .res-story-stat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.res-detail-page.is-story-case.is-medical-case .res-story-stat-list li {
  margin: 0 0 0.9em;
  font-size: 16px;
  line-height: 1.68;
  color: #3a4256;
}

.res-detail-page.is-story-case.is-medical-case .res-story-stat-list li:last-child {
  margin-bottom: 0;
}

.res-detail-page.is-story-case.is-medical-case .res-story-stat-list li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 12px;
  border-radius: 50%;
  background: #7a8499;
  vertical-align: 0.15em;
}

.res-detail-page.is-story-case .res-detail-lead {
  display: none !important;
}

.res-story-article {
  font-size: 17px;
  line-height: 1.75;
  color: #3a4256;
}

.res-story-article p {
  margin: 0 0 1.15em;
}

.res-story-hero {
  margin: 1.8em 0 2em;
  border-radius: 10px;
  overflow: hidden;
  background: #f3f1ee;
}

.res-story-hero img,
.res-story-hero svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center 45%;
  vertical-align: middle;
  filter: saturate(0.9) contrast(0.94) brightness(1.03);
}

.res-story-hero figcaption {
  padding: 10px 2px 0;
  font-size: 14px;
  line-height: 1.55;
  color: #6b7280;
  text-align: left;
}

.res-story-hero img.is-broken {
  min-height: 240px;
  object-fit: none;
}

.res-story-lede {
  margin: 0 0 1.5em !important;
  font-size: clamp(18px, 2.4vw, 22px);
  line-height: 1.5;
  font-weight: 500;
  color: #4f5f82;
}

.res-story-article h2 {
  margin: 2.6em 0 0.85em;
  font-size: clamp(24px, 3.2vw, 32px);
  line-height: 1.22;
  letter-spacing: -0.025em;
  color: #20283b;
}

.res-story-moment-title {
  margin: 2em 0 0.75em;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #6e4fe6;
}

.res-story-inline {
  margin: 2em 0;
  border-radius: 10px;
  overflow: hidden;
  background: #f3f1ee;
}

.res-story-inline img,
.res-story-inline svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 320px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center 40%;
  vertical-align: middle;
  filter: saturate(0.9) contrast(0.94) brightness(1.03);
}

.res-story-inline img.is-broken {
  min-height: 220px;
  object-fit: none;
}

.res-story-inline figcaption {
  padding: 12px 18px;
  font-size: 14px;
  line-height: 1.55;
  color: #6b7280;
  text-align: left;
}

.res-story-quote {
  margin: 2.2em 0;
  padding: 0;
  border: none;
  background: none;
}

.res-story-quote p {
  margin: 0 0 10px !important;
  font-size: clamp(20px, 2.8vw, 26px);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #20283b;
}

.res-story-quote cite {
  display: block;
  font-size: 14px;
  font-style: normal;
  color: #8f97ab;
  text-align: right;
}

.res-story-chat {
  margin: 1.2em 0 1.6em;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.res-story-chat-turn {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.res-story-chat-turn--user {
  flex-direction: row-reverse;
}

.res-story-chat-avatar {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e8e4df;
  color: #5c534c;
  font-size: 12px;
  font-weight: 700;
  line-height: 32px;
  text-align: center;
}

.res-story-chat-avatar--ai {
  background: linear-gradient(135deg, #6e4fe6, #8b6ef2);
  color: #fff;
  font-size: 10px;
  letter-spacing: -0.02em;
}

.res-story-chat-bubble {
  flex: 1;
  max-width: min(100%, 560px);
  padding: 14px 18px;
  border-radius: 16px;
  background: #f4f4f5;
}

.res-story-chat-turn--user .res-story-chat-bubble {
  background: #f4f4f5;
  border-radius: 16px 16px 4px 16px;
}

.res-story-chat-turn--ai .res-story-chat-bubble {
  background: #faf9ff;
  border: 1px solid #ece6ff;
  border-radius: 16px 16px 16px 4px;
}

.res-story-chat-label {
  margin: 0 0 4px !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8f97ab;
}

.res-story-chat-turn--ai .res-story-chat-label {
  color: #8b6ef2;
}

.res-story-chat-text {
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.55;
  color: #2f3956;
}

.res-story-chat-text strong {
  color: #20283b;
  font-weight: 600;
}

.res-story-outro {
  margin-top: 2.4em !important;
  padding-top: 1.6em;
  border-top: 1px solid #ece8e4;
  font-size: 17px;
  line-height: 1.65;
  color: #2f3956;
}

@media (max-width: 768px) {
  .res-detail-page.is-story-case .section {
    padding-top: 20px;
    padding-bottom: 64px;
  }

  .res-story-hero {
    margin-bottom: 28px;
  }

  .res-story-hero img,
  .res-story-inline img {
    max-height: 240px;
  }

  .res-story-chat-turn {
    gap: 10px;
  }

  .res-story-chat-bubble {
    padding: 12px 14px;
  }
}

/* legacy story classes (other cases may still use) */
.res-story-kicker {
  font-size: 17px;
  font-weight: 600;
  color: #6e4fe6;
  margin-bottom: 1.4em !important;
}

.res-story-article h3 {
  margin: 1.6em 0 0.6em;
  font-size: 18px;
  line-height: 1.35;
  color: #2f3956;
}

.res-story-prompt {
  margin: 1.4em 0;
  padding: 16px 20px;
  border: 1px solid #e4dcff;
  border-radius: 12px;
  background: #faf9ff;
}

.res-story-prompt-label {
  margin: 0 0 6px !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #8b6ef2;
}

.res-story-prompt-text {
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.5;
  color: #2f3956;
}

.res-story-results {
  margin: 0 0 1.4em;
  padding-left: 1.2em;
}

.res-story-results li {
  margin-bottom: 0.5em;
  line-height: 1.6;
}

.res-story-closing {
  margin-top: 2em !important;
  font-size: 17px;
  text-align: center;
  color: #2f3956;
}

/* 开始使用（Onboarding） */

.gs-auth-cn {
  padding-top: 28px !important;
  padding-bottom: 74px !important;
  background: transparent;
}

.gs-auth-title {
  display: none;
}

.gs-lite-auth-wrap {
  width: min(500px, 100%);
  margin: 0 auto;
}

.gs-lite-auth-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gs-lite-auth-tabs {
  margin: 0 auto 14px;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.gs-lite-auth-tabs label {
  min-height: auto;
  border-radius: 0;
  border: 0;
  background: transparent;
  color: #7a8092;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 4px 2px;
  position: relative;
  transition: color 0.18s ease;
}

.gs-lite-auth-tabs label::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: #8d78f2;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.18s ease;
}

#gs-lite-login:checked ~ .gs-lite-auth-tabs label[for="gs-lite-login"],
#gs-lite-signup:checked ~ .gs-lite-auth-tabs label[for="gs-lite-signup"] {
  color: #2f3656;
  font-weight: 700;
}

#gs-lite-login:checked ~ .gs-lite-auth-tabs label[for="gs-lite-login"]::after,
#gs-lite-signup:checked ~ .gs-lite-auth-tabs label[for="gs-lite-signup"]::after {
  transform: scaleX(1);
}

.gs-lite-auth-panel {
  display: none;
  padding-top: 4px;
}

#gs-lite-login:checked ~ .gs-lite-auth-panel.is-login,
#gs-lite-signup:checked ~ .gs-lite-auth-panel.is-signup {
  display: block;
}

.gs-lite-auth-panel h3 {
  margin: 0;
  text-align: center;
  font-size: clamp(30px, 3.35vw, 37px);
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: #171230;
}

.gs-lite-auth-panel.is-signup {
  opacity: 0.9;
}

.gs-lite-auth-panel.is-signup h3 {
  font-size: clamp(27px, 2.9vw, 33px);
}

.gs-lite-auth-divider {
  margin: 18px auto 12px;
  width: min(250px, 74%);
  position: relative;
  color: #8f94a3;
  font-size: 12px;
  text-align: center;
}

.gs-lite-auth-divider::before,
.gs-lite-auth-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40%;
  height: 1px;
  background: #d9dbe4;
}

.gs-lite-auth-divider::before { left: 0; }
.gs-lite-auth-divider::after { right: 0; }

.gs-lite-auth-divider span {
  display: inline-block;
  padding: 0 8px;
  background: #f4f1ff;
  position: relative;
  z-index: 1;
}

.gs-lite-auth-form {
  margin-top: 8px;
  display: grid;
  gap: 11px;
}

.gs-lite-auth-form input {
  width: 100%;
  min-height: 56px;
  border: 1px solid #eceef5;
  border-radius: 999px;
  background: #ffffff;
  padding: 12px 18px;
  font-size: 16px;
  color: #30384f;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.gs-lite-auth-form input::placeholder {
  color: #9aa1b3;
}

.gs-lite-auth-form input:focus {
  outline: none;
  border-color: #b4a9f0;
  box-shadow: 0 0 0 4px rgba(180, 169, 240, 0.18);
}

.gs-lite-auth-form .btn {
  margin-top: 6px;
  width: 100%;
  border-radius: 999px;
  min-height: 56px;
  background: linear-gradient(90deg, #6f5ae8, #8f78f5);
  background-size: 140% 100%;
  background-position: 0 50%;
  box-shadow: 0 8px 18px rgba(108, 88, 225, 0.22);
  transform: translateY(0);
  font-size: 16px;
  transition: transform 0.16s ease, box-shadow 0.18s ease, filter 0.16s ease, background-position 0.2s ease;
}

.gs-lite-auth-form .btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
  background-position: 100% 50%;
  box-shadow: 0 12px 24px rgba(108, 88, 225, 0.3);
}

.gs-lite-auth-form .btn:active {
  transform: translateY(0);
  filter: brightness(0.99);
  box-shadow: 0 6px 14px rgba(108, 88, 225, 0.2);
}

.gs-lite-auth-form .btn:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(180, 169, 240, 0.28),
    0 10px 22px rgba(108, 88, 225, 0.24);
}

.gs-lite-auth-panel.is-signup .gs-lite-auth-form .btn {
  background: #ffffff;
  color: #4a3fc2;
  border: 1px solid rgba(167, 150, 234, 0.72);
}

.gs-lite-auth-panel.is-signup .gs-lite-auth-form .btn:hover {
  filter: none;
  background: #f7f3ff;
  box-shadow: 0 8px 18px rgba(123, 100, 226, 0.16);
}

.gs-lite-auth-panel.is-signup .gs-lite-auth-form .btn:active {
  box-shadow: 0 4px 10px rgba(123, 100, 226, 0.12);
}

.gs-lite-auth-meta {
  margin: 10px 0 0;
  font-size: 15px;
  color: #5a6173;
  text-align: center;
  line-height: 1.45;
}

.gs-lite-auth-meta.is-secondary {
  color: #778097;
  font-size: 13px;
}

.gs-lite-auth-meta a {
  color: #363f66;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(54, 63, 102, 0.24);
  padding-bottom: 1px;
  transition: color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.gs-lite-auth-meta a:hover {
  color: #2c3360;
  border-bottom-color: rgba(44, 51, 96, 0.45);
  transform: translateY(-1px);
}

.gs-lite-auth-meta a:focus-visible {
  outline: none;
  border-bottom-color: rgba(44, 51, 96, 0.62);
  box-shadow: 0 2px 0 rgba(44, 51, 96, 0.18);
}

.gs-lite-auth-meta label {
  color: #363f66;
  font-weight: 600;
  cursor: pointer;
}

.gs-lite-auth-agree {
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #61687a;
  font-size: 13px;
  line-height: 1.45;
}

.gs-lite-auth-security {
  margin: 12px 0 0;
  font-size: 13px;
  color: #80879a;
  text-align: center;
}

.gs-back-home {
  display: inline-flex;
  margin-top: 40px;
  font-size: 14px;
  color: #5e6783;
  text-decoration: none;
  border-bottom: 1px solid rgba(94, 103, 131, 0.32);
  padding-bottom: 2px;
  transition: color 0.18s ease, border-color 0.18s ease;
}

.gs-back-home:hover,
.gs-back-home:focus-visible {
  color: #2f3656;
  border-color: rgba(47, 54, 86, 0.45);
}

.gs-lite-auth-agree input {
  width: 16px;
  min-height: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid rgba(196, 186, 236, 0.9);
  box-shadow: none;
}

@media (max-width: 640px) {
  .gs-lite-auth-panel h3 {
    font-size: clamp(30px, 8.8vw, 36px);
  }

  .gs-lite-auth-meta {
    margin-top: 12px;
  }
}


.auth-top {
  background: transparent;
  border-bottom: 0;
}

.auth-top-inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.auth-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.auth-logo img {
  height: 34px;
  width: auto;
  display: block;
}

.auth-main {
  background:
    radial-gradient(760px 190px at 50% 100%, rgba(154, 129, 241, 0.26), rgba(255, 255, 255, 0)),
    linear-gradient(180deg, #f7f5ff 0%, #f2efff 100%);
  min-height: calc(100vh - 88px);
}

.auth-layout {
  min-height: calc(100vh - 88px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 60px;
}

.auth-login {
  width: min(460px, 100%);
  padding: 0 6px;
  text-align: center;
}

.auth-login h1 {
  margin: 0;
  font-size: clamp(30px, 3.35vw, 37px);
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: #171230;
  white-space: nowrap;
}

.auth-caption {
  margin: 10px 0 0;
  color: #5f6472;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.auth-divider {
  margin: 22px auto 14px;
  width: min(250px, 74%);
  position: relative;
  color: #8f94a3;
  font-size: 12px;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40%;
  height: 1px;
  background: #d9dbe4;
}

.auth-divider::before { left: 0; }
.auth-divider::after { right: 0; }

.auth-divider span {
  display: inline-block;
  padding: 0 8px;
  background: #f4f1ff;
  position: relative;
  z-index: 1;
}

.auth-form {
  margin-top: 8px;
  display: grid;
  gap: 10px;
  text-align: left;
}

.auth-form label {
  font-size: 14px;
  font-weight: 600;
  color: #1d2335;
  margin-top: 2px;
}

.auth-form input {
  width: 100%;
  min-height: 56px;
  border: 1px solid #eceef5;
  border-radius: 999px;
  background: #ffffff;
  padding: 12px 18px;
  font-size: 16px;
  color: #30384f;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.auth-form input:focus {
  outline: none;
  border-color: #b4a9f0;
  box-shadow: 0 0 0 4px rgba(180, 169, 240, 0.18);
}

.auth-form .btn {
  margin-top: 10px;
  width: 100%;
  border-radius: 999px;
  min-height: 58px;
  background: linear-gradient(90deg, #6f5ae8, #8f78f5);
  box-shadow: none;
  transform: none !important;
  font-size: 16px;
  transition: filter 0.15s ease;
}

.auth-form .btn:hover {
  filter: brightness(0.98);
}

.auth-meta {
  margin: 14px 0 0;
  font-size: 15px;
  color: #5a6173;
  text-align: center;
}

.auth-meta a {
  color: #363f66;
  font-weight: 600;
}

.auth-security {
  margin: 14px 0 0;
  font-size: 13px;
  color: #80879a;
  text-align: center;
}

.get-started-route {
  min-height: 100vh;
  background:
    radial-gradient(760px 190px at 50% 100%, rgba(154, 129, 241, 0.26), rgba(255, 255, 255, 0)),
    linear-gradient(180deg, #f7f5ff 0%, #f2efff 100%);
}

.pricing-route {
  min-height: 100vh;
  background:
    radial-gradient(760px 190px at 50% 100%, rgba(154, 129, 241, 0.26), rgba(255, 255, 255, 0)),
    linear-gradient(180deg, #f7f5ff 0%, #f2efff 100%);
}

.demo-page {
  background: transparent;
}

.demo-top {
  background: transparent;
  border-bottom: 1px solid rgba(221, 213, 248, 0.45);
}

.demo-top-inner {
  min-height: 62px;
  display: flex;
  align-items: center;
}

.demo-hero {
  padding: 24px 0 56px;
  min-height: calc(100vh - 74px);
  background: transparent;
}

.demo-layout {
  display: grid;
  grid-template-columns: minmax(380px, 0.95fr) minmax(0, 1fr);
  gap: clamp(28px, 3.5vw, 54px);
  align-items: center;
  min-height: calc(100vh - 158px);
}

.demo-form-wrap {
  justify-self: center;
  width: min(480px, 100%);
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 14px 8px 10px;
  box-shadow: none;
}

.demo-brand {
  margin: 0;
  text-align: center;
  color: #22253a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.demo-form-wrap h1 {
  margin: 14px 0 18px;
  text-align: center;
  font-size: clamp(34px, 3.2vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #1c1f2b;
}

.demo-form {
  display: grid;
  gap: 14px;
}

.demo-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.demo-form input,
.demo-form select {
  width: 100%;
  min-height: 56px;
  border: 1px solid rgba(196, 186, 236, 0.6);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  padding: 11px 14px;
  font: inherit;
  font-size: 16px;
  color: #1e2639;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.demo-form textarea {
  width: 100%;
  min-height: 120px;
  border: 1px solid rgba(196, 186, 236, 0.6);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  padding: 12px 14px;
  font: inherit;
  font-size: 16px;
  color: #1e2639;
  resize: vertical;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.demo-form input:focus,
.demo-form select:focus {
  outline: none;
  border-color: #b4a9f0;
  box-shadow: 0 0 0 4px rgba(180, 169, 240, 0.18);
}

.demo-form textarea:focus {
  outline: none;
  border-color: #b4a9f0;
  box-shadow: 0 0 0 4px rgba(180, 169, 240, 0.18);
}

.demo-form .btn {
  justify-self: start;
  min-width: 170px;
  margin-top: 6px;
  border-radius: 999px;
  min-height: 58px;
  padding-left: 26px;
  padding-right: 26px;
  border: 0;
  color: #fff;
  font-size: 16px;
  background: linear-gradient(90deg, #6f5ae8, #8f78f5);
  box-shadow: 0 10px 24px rgba(92, 77, 214, 0.24);
}

.demo-form .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(92, 77, 214, 0.3);
}

.demo-note {
  margin: 12px 0 0;
  font-size: 12px;
  color: #666e84;
  line-height: 1.45;
  position: relative;
  padding-top: 10px;
}

.demo-note::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 76px;
  height: 1px;
  background: linear-gradient(90deg, rgba(130, 107, 222, 0.42), rgba(130, 107, 222, 0));
}

/* Demo page - contact list in insight aside */
.demo-contact-list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: grid;
  gap: 16px;
  color: #ece7ff;
}

.demo-contact-list li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.demo-contact-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(236, 231, 255, 0.5);
}

.demo-contact-list li span:last-child {
  font-size: 15px;
  line-height: 1.5;
}

.demo-insight {
  position: relative;
  overflow: hidden;
  padding: 24px 24px 22px;
  color: #ece7ff;
  background:
    radial-gradient(520px 200px at 82% 0, rgba(120, 93, 214, 0.18), rgba(120, 93, 214, 0)),
    linear-gradient(180deg, #221257 0%, #1b0d49 100%);
  border: 1px solid rgba(223, 214, 255, 0.16);
  border-radius: 20px;
  box-shadow: 0 20px 44px rgba(10, 8, 28, 0.34);
}

.demo-insight::after {
  content: "";
  position: absolute;
  left: -6%;
  right: -6%;
  bottom: -58px;
  height: 170px;
  border-radius: 999px;
  pointer-events: none;
  background:
    radial-gradient(62% 100% at 50% 0, rgba(166, 143, 245, 0.34), rgba(166, 143, 245, 0)),
    radial-gradient(42% 76% at 62% 26%, rgba(255, 193, 168, 0.16), rgba(255, 193, 168, 0));
  filter: blur(12px);
}

.demo-insight > * {
  position: relative;
  z-index: 1;
}

.demo-insight-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 12px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: #efe9ff;
  background: linear-gradient(90deg, rgba(138, 117, 224, 0.86), rgba(160, 137, 238, 0.64));
  border: 1px solid rgba(220, 210, 255, 0.2);
}

.demo-flow {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(130px, 0.9fr) minmax(200px, 1.2fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}

.demo-q-card,
.demo-engine,
.demo-result-card {
  border: 1px solid rgba(232, 226, 255, 0.18);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
  box-shadow: 0 10px 20px rgba(7, 6, 24, 0.22);
  backdrop-filter: blur(4px);
  position: relative;
  overflow: hidden;
}

.demo-q-card::before,
.demo-engine::before,
.demo-result-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(183, 165, 248, 0.5), rgba(223, 212, 255, 0.2));
}

.demo-q-card {
  padding: 12px 12px 11px;
}

.demo-q-card span {
  display: inline-block;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: #d8cff8;
  text-transform: uppercase;
}

.demo-q-card p {
  margin: 8px 0 0;
  color: #f2eeff;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.demo-engine {
  padding: 10px 10px 9px;
}

.demo-engine-title {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ddd3fb;
}

.demo-engine-tags {
  margin-top: 8px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.demo-engine-tags span {
  border: 1px solid rgba(218, 208, 250, 0.28);
  background: rgba(255, 255, 255, 0.06);
  color: #e7e0ff;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.2;
}

.demo-engine-canvas {
  position: relative;
  margin-top: 8px;
  min-height: 88px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(229, 223, 255, 0.1);
  overflow: hidden;
}

.demo-engine-svg {
  display: block;
  width: 100%;
  height: 88px;
}

.demo-path-main,
.demo-path-branch {
  fill: none;
  stroke: url(#demoPathGrad);
  stroke-width: 2.2;
  stroke-linecap: round;
}

.demo-path-main {
  stroke-dasharray: 3 8;
  animation: demo-path-flow 7s linear infinite;
}

.demo-path-branch {
  stroke-dasharray: 2 8;
  animation: demo-path-flow 8s linear infinite reverse;
}

.demo-path-node {
  fill: #d3c2ff;
  stroke: rgba(173, 157, 233, 0.82);
  stroke-width: 1;
  filter: drop-shadow(0 0 5px rgba(214, 197, 255, 0.28));
  animation: demo-path-node-pulse 4.4s ease-in-out infinite;
}

.demo-path-node.n2 { animation-delay: 0.7s; }
.demo-path-node.n3 { animation-delay: 1.4s; }
.demo-path-node.n4 { animation-delay: 2.1s; }

.demo-mini-chart::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  top: 10px;
  bottom: 8px;
  border-radius: 6px;
  background-image:
    linear-gradient(to right, rgba(220, 212, 248, 0.22) 1px, transparent 1px),
    linear-gradient(to top, rgba(220, 212, 248, 0.22) 1px, transparent 1px);
  background-size: 18px 100%, 100% 18px;
  pointer-events: none;
}

.demo-result-card {
  padding: 10px 12px 11px;
}

.demo-result-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.demo-result-head span {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ddd3fb;
}

.demo-result-head em {
  font-style: normal;
  font-size: 11px;
  color: #d1c6f8;
}

.demo-mini-chart {
  position: relative;
  height: 74px;
  border-radius: 8px;
  border: 1px solid rgba(200, 190, 236, 0.34);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.08));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 6px;
  padding: 8px 8px 6px;
}

.demo-mini-chart .bar {
  display: block;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(180deg, #a98ef3, #7f66e1);
}

.demo-mini-chart .b1 { height: 26px; }
.demo-mini-chart .b2 { height: 34px; }
.demo-mini-chart .b3 { height: 46px; }
.demo-mini-chart .b4 { height: 30px; }

.demo-mini-chart .trend {
  position: absolute;
  left: 14px;
  right: 14px;
  top: 18px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(130deg, rgba(255, 182, 140, 0.94), rgba(255, 182, 140, 0.32));
  clip-path: polygon(0 72%, 18% 58%, 39% 62%, 56% 34%, 73% 42%, 100% 10%, 100% 22%, 73% 50%, 56% 44%, 39% 72%, 18% 70%, 0 84%);
}

.demo-result-text {
  margin: 9px 0 0;
  color: #f0ebff;
  font-size: 13px;
  line-height: 1.4;
}

.demo-result-action {
  margin: 6px 0 0;
  color: #d2c8f8;
  font-size: 12px;
  line-height: 1.4;
}

.demo-insight h2 {
  margin: 0 0 10px;
  max-width: 18ch;
  font-size: clamp(26px, 2.2vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #f5f2ff;
  white-space: nowrap;
}

.demo-insight-sub {
  margin: 0 0 10px;
  color: #cfc6ee;
  font-size: 13px;
  line-height: 1.5;
}

.demo-points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.demo-points li {
  position: relative;
  margin: 0;
  padding-left: 22px;
  color: #ddd7f6;
  font-size: 14px;
  line-height: 1.46;
}

.demo-points li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: #d8cdf8;
  font-weight: 700;
}

.demo-insight-ornaments {
  margin-top: 14px;
  display: flex;
  gap: 10px;
}

.demo-insight-ornaments span {
  display: block;
  position: relative;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(233, 225, 255, 0.24);
  box-shadow:
    0 8px 18px rgba(8, 7, 22, 0.24),
    0 1px 0 rgba(255, 255, 255, 0.24) inset;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08)),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 3px, rgba(255, 255, 255, 0) 3px 7px);
}

.demo-insight-ornaments span::before {
  content: "";
  position: absolute;
  inset: 7px 8px 7px;
  border-radius: 6px;
  background:
    linear-gradient(130deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.04)),
    radial-gradient(22px 16px at 26% 62%, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)),
    linear-gradient(90deg, rgba(36, 30, 73, 0.34), rgba(36, 30, 73, 0.08));
}

.demo-insight-ornaments span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.08));
}

.demo-insight-ornaments span:nth-child(1) {
  width: 26%;
  transform: rotate(-9deg);
  background-color: rgba(156, 126, 231, 0.28);
}

.demo-insight-ornaments span:nth-child(1)::before {
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.05)),
    radial-gradient(18px 14px at 30% 62%, rgba(255, 205, 170, 0.45), rgba(255, 205, 170, 0)),
    linear-gradient(95deg, rgba(61, 53, 116, 0.44), rgba(93, 78, 171, 0.18));
}

.demo-insight-ornaments span:nth-child(2) {
  width: 32%;
  transform: rotate(3deg);
  background-color: rgba(123, 169, 235, 0.24);
}

.demo-insight-ornaments span:nth-child(2)::before {
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.04)),
    radial-gradient(16px 12px at 72% 40%, rgba(255, 234, 182, 0.42), rgba(255, 234, 182, 0)),
    linear-gradient(95deg, rgba(40, 70, 116, 0.42), rgba(94, 149, 211, 0.16));
}

.demo-insight-ornaments span:nth-child(3) {
  width: 22%;
  transform: rotate(-7deg);
  background-color: rgba(233, 154, 134, 0.24);
}

.demo-insight-ornaments span:nth-child(3)::before {
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.04)),
    radial-gradient(18px 14px at 34% 35%, rgba(255, 210, 190, 0.46), rgba(255, 210, 190, 0)),
    linear-gradient(100deg, rgba(117, 60, 67, 0.44), rgba(196, 106, 88, 0.16));
}

@keyframes demo-path-flow {
  to {
    stroke-dashoffset: -120;
  }
}

@keyframes demo-path-node-pulse {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .demo-path-main,
  .demo-path-branch,
  .demo-path-node {
    animation: none;
  }
}

@media (max-width: 980px) {
  .demo-layout {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .demo-flow {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .demo-engine-canvas {
    min-height: 56px;
  }

  .demo-engine-svg {
    height: 56px;
  }

  .demo-insight {
    margin-top: 8px;
  }

  .demo-insight-ornaments {
    display: none;
  }

  .demo-insight h2 {
    max-width: none;
    font-size: clamp(30px, 5.8vw, 42px);
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .demo-grid-2 {
    grid-template-columns: 1fr;
  }

  .demo-form-wrap {
    width: 100%;
    padding: 10px 2px 8px;
  }

  .demo-form-wrap h1 {
    font-size: clamp(32px, 11vw, 42px);
  }

  .demo-points li {
    font-size: 15px;
  }
}

@media (max-width: 980px) {
  .auth-logo img { height: 30px; }
  .auth-login { width: min(440px, 100%); }
  .auth-login h1 { font-size: clamp(32px, 6vw, 40px); }
  .auth-caption { font-size: 17px; }
  .auth-form label { font-size: 14px; }
  .auth-meta { font-size: 15px; }
}

@media (max-width: 640px) {
  .auth-top-inner {
    min-height: 72px;
  }

  .auth-login {
    padding: 0 2px;
  }

  .auth-logo img { height: 28px; }
  .auth-login h1 {
    font-size: clamp(30px, 9vw, 38px);
  }
  .auth-caption { font-size: 16px; }
  .auth-form label { font-size: 14px; }
  .auth-form input { min-height: 52px; font-size: 16px; }
  .auth-form .btn { min-height: 54px; font-size: 16px; }
  .auth-meta { font-size: 14px; }
  .auth-security { font-size: 14px; }
}

.products-page .page-hero {
  padding: 88px 0 36px;
  background:
    radial-gradient(920px 220px at 50% 100%, rgba(158, 136, 242, 0.14), rgba(255, 255, 255, 0)),
    linear-gradient(180deg, #ffffff 0%, #f8f6ff 100%);
}

.products-page .page-hero .container {
  position: relative;
}

.products-page .page-hero h1 {
  margin: 0 auto 18px;
  max-width: 20em;
  font-size: clamp(34px, 4.35vw, 42px);
  line-height: 1.1;
  font-weight: 680;
  letter-spacing: -0.02em;
  text-align: center;
}

.products-page .page-hero p {
  margin: 0 auto;
  max-width: 26em;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.55;
  font-weight: 460;
  color: #444d63;
}

.products-hero-sub {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #000 !important;
}

.products-page .page-hero .container::after {
  content: "";
  display: block;
  width: min(360px, 46%);
  height: 2px;
  margin: 28px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(246, 196, 163, 0.58), rgba(137, 112, 232, 0.52));
  opacity: 0.64;
  transition: width 0.22s ease, opacity 0.22s ease;
}

.products-page .page-hero:hover .container::after {
  width: min(420px, 54%);
  opacity: 0.78;
}

.product-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.product-value-note {
  position: relative;
  grid-column: 1 / -1;
  margin: -8px 0 8px;
  border: 1px solid #dfe4f3;
  border-radius: 14px;
  background:
    radial-gradient(480px 120px at 16% 0, rgba(245, 238, 255, 0.72), rgba(245, 238, 255, 0)),
    linear-gradient(180deg, #fff, #fcfbff);
  padding: 16px 18px;
  color: #313b52;
  line-height: 1.65;
  font-size: 16px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(24, 20, 60, 0.05);
}

.product-value-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(90deg, rgba(245, 197, 165, 0.82), rgba(131, 107, 229, 0.78));
}

.product-value-note::after {
  content: "“";
  position: absolute;
  left: 12px;
  top: 6px;
  color: #b7a9f1;
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
}

.value-main {
  display: inline-block;
  max-width: 100%;
}

.value-emphasis {
  color: #3f2f9b;
  font-weight: 700;
  background: #f4f0ff;
  border-radius: 7px;
  padding: 2px 6px;
}

.product-overview-card {
  position: relative;
  display: block;
  border: 1px solid #e6e9f3;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #fefeff);
  padding: 24px 22px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
  box-shadow: 0 6px 16px rgba(24, 20, 60, 0.04);
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}

.product-overview-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: rgba(123, 98, 223, 0.7);
  opacity: 0.68;
  transition: opacity 0.2s ease, width 0.2s ease;
}

.product-overview-card::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -120px;
  top: -120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(137, 112, 232, 0.18), rgba(137, 112, 232, 0));
  opacity: 0;
  transition: opacity 0.24s ease;
  pointer-events: none;
}

.product-overview-card:hover {
  transform: translateY(-5px);
  border-color: #cfd5eb;
  box-shadow: 0 16px 32px rgba(24, 20, 60, 0.13);
}

.product-overview-card:hover::before {
  opacity: 1;
  width: 4px;
}

.product-overview-card:hover::after,
.product-overview-card:focus-visible::after {
  opacity: 1;
}

.product-overview-card:active {
  transform: translateY(-2px) scale(0.997);
}

.product-overview-card h3 {
  margin: 0;
  font-size: clamp(20px, 1.5vw, 24px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: nowrap;
  position: relative;
  display: inline-block;
  padding-right: 56px;
}

.product-overview-card h3::after {
  content: "进入 ->";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  font-weight: 600;
  color: #6f5bda;
  letter-spacing: 0;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.product-overview-card:hover h3::after,
.product-overview-card:focus-visible h3::after {
  opacity: 1;
  transform: translateY(-50%) translateX(1px);
}

.overview-intro {
  margin: 4px 0 0;
  color: #4d566d;
  line-height: 1.5;
  font-size: 15px;
  transition: color 0.2s ease, transform 0.2s ease;
}

.product-overview-card ul {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
  transition: transform 0.2s ease;
}

.product-overview-card li {
  position: relative;
  padding-left: 18px;
  color: #000;
  line-height: 1.55;
  font-size: 14px;
  font-weight: 400;
  border-radius: 8px;
  transition: background-color 0.18s ease, color 0.18s ease, padding-left 0.18s ease, transform 0.18s ease;
}

.product-overview-card:hover .overview-intro {
  color: #3f4861;
  transform: translateX(1px);
}

.product-overview-card:hover ul {
  transform: translateX(1px);
}

.product-overview-card:focus-visible {
  outline: 2px solid #8d75e9;
  outline-offset: 2px;
}

.product-overview-card li:hover {
  background: #f7f3ff;
  color: #222a42;
  padding-left: 20px;
  transform: translateX(1px);
}

.product-overview-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #7b62df;
  font-weight: 700;
}

.product-overview-card {
  opacity: 0;
  transform: translateY(6px);
  animation: productCardIn 0.38s ease forwards;
}

.product-overview-card:nth-child(1) { animation-delay: 0.03s; }
.product-overview-card:nth-child(2) { animation-delay: 0.11s; }
.product-overview-card:nth-child(3) { animation-delay: 0.19s; }

@keyframes productCardIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-overview-card {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .product-overview-card,
  .product-overview-card::before,
  .product-overview-card::after,
  .product-overview-card li,
  .product-overview-card ul,
  .overview-intro,
  .products-page .page-hero .container::after {
    transition: none;
  }

  .pm-module,
  .pm-demo::after,
  .paper-sheet::after,
  .query-typing,
  .query-loading,
  .query-result,
  .query-chart span,
  .miner-root,
  .miner-node,
  .miner-path span,
  .miner-path span::after,
  .miner-key,
  .paper-doc,
  .paper-title,
  .paper-subtitle,
  .paper-lines span,
  .paper-table,
  .paper-summary,
  .paper-footer,
  .paper-status {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Products modules (append-only area) */
/* ========== Essence Section - 产品核心本质 ========== */
.essence-section {
  padding: 56px 0 48px;
  background: #fafaff;
  border-top: 1px solid #eceff8;
}

.essence-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 标题左对齐，放在左侧区域顶部 */
.essence-header {
  margin-bottom: 20px;
}

.essence-title {
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 700;
  color: #10162a;
  letter-spacing: -0.02em;
  margin: 0;
  text-align: left;
}

.essence-tagline {
  margin-top: 6px;
  font-size: clamp(14px, 1.4vw, 17px);
  color: #5f6678;
  font-weight: 400;
  text-align: left;
}

.essence-tagline strong {
  color: #6d55e6;
  font-weight: 650;
}

/* 左右布局：文字 | 图片 */
.essence-body {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: stretch;
}

/* 左侧文字区域 */
.essence-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.essence-item {
  padding: 14px 20px;
  background: #ffffff;
  border: 1px solid #eceff8;
  border-radius: 12px;
  transition: box-shadow .2s ease, transform .2s ease;
}

.essence-item:hover {
  box-shadow: 0 8px 24px rgba(109, 85, 230, 0.07);
  transform: translateY(-1px);
}

/* 头部一行：编号 + 标题 + 副标题，不换行 */
.essence-item-head {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: nowrap;
  margin-bottom: 6px;
}

.essence-num {
  font-size: 13px;
  font-weight: 700;
  color: #6d55e6;
  opacity: .55;
  flex-shrink: 0;
}

.essence-item-title {
  font-size: 16px;
  font-weight: 700;
  color: #10162a;
  white-space: nowrap;
}

.essence-item-sub {
  font-size: 13px;
  color: #6d55e6;
  font-weight: 500;
  white-space: nowrap;
}

.essence-item-desc {
  font-size: 13px;
  color: #5f6678;
  line-height: 1.5;
  margin: 0 0 4px;
}

.essence-item-tags {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
}

.essence-item-tags li {
  font-size: 12px;
  color: #5f6678;
  position: relative;
  padding-left: 10px;
  white-space: normal;
  line-height: 1.5;
}

.essence-item-tags li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #6d55e6;
  opacity: .45;
}

/* 右侧图片：高度撑满 */
.essence-right {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-radius: 12px;
}

.essence-right img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 12px;
}

@media (max-width: 900px) {
  .essence-body {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .essence-right img {
    height: auto;
    max-height: none;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .essence-item-tags {
    flex-wrap: wrap;
    gap: 4px 8px;
  }
  .essence-item-head {
    flex-wrap: wrap;
  }
  .essence-item-title,
  .essence-item-sub {
    white-space: normal;
  }
  .essence-section {
    padding: 36px 0 28px;
  }
  .essence-header {
    margin-bottom: 14px;
  }
}

/* ========== End Essence Section ========== */

.pm-section {
  border-top: 1px solid #eceff8;
  background: #fff;
  padding-top: 24px;
}

.products-final-cta {
  position: relative;
  overflow: clip;
  isolation: isolate;
  padding-top: 74px !important;
  padding-bottom: 110px !important;
  border-top: 0;
  background:
    radial-gradient(140% 62% at 50% 118%, rgba(136, 108, 235, 0.5), rgba(136, 108, 235, 0)),
    radial-gradient(120% 42% at 50% 96%, rgba(165, 140, 246, 0.24), rgba(165, 140, 246, 0)),
    linear-gradient(180deg, #ffffff 0%, #ffffff 58%, #f8f4ff 82%, #f2eaff 100%),
    #fff;
}

.products-final-cta-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 12px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.products-final-kicker {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.08em;
  color: #505c78;
  white-space: nowrap;
}

.products-final-cta h2 {
  margin: 16px auto 0;
  max-width: none;
  font-size: clamp(30px, 3.35vw, 42px);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #10162a;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
  white-space: nowrap;
}

.products-final-cta .cta-row {
  margin-top: 28px;
  gap: 10px;
}

.products-final-cta .btn {
  border-radius: 999px;
  min-height: 44px;
  padding: 0 18px;
  transition: transform 0.14s ease, box-shadow 0.18s ease, filter 0.16s ease, background-color 0.16s ease;
}

.products-final-cta .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(30, 24, 70, 0.13);
  filter: brightness(1.01);
}

.products-final-cta .btn-dark {
  box-shadow: 0 6px 14px rgba(64, 49, 145, 0.2);
}

.products-final-cta .btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(30, 24, 70, 0.1);
}

@media (max-width: 900px) {
  .products-final-kicker,
  .products-final-cta h2 {
    white-space: normal;
  }
}

.pm-stack {
  display: grid;
  gap: 28px;
}

.pm-module {
  border: 1px solid #e8ecf6;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff, #fcfbff);
  box-shadow: 0 12px 26px rgba(29, 24, 70, 0.05);
  padding: 24px;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.pm-module[id] {
  scroll-margin-top: 106px;
}

.pm-module + .pm-module {
  position: relative;
}

.pm-module + .pm-module::before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: -15px;
  height: 1px;
  background: linear-gradient(90deg, rgba(228, 233, 246, 0), rgba(228, 233, 246, 1), rgba(228, 233, 246, 0));
}

.pm-module.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}

.pm-layout.is-reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
}

.pm-layout.is-reverse .pm-copy {
  order: 2;
}

.pm-layout.is-reverse .pm-demo {
  order: 1;
}

.pm-kicker {
  margin: 0;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #e5e9f4;
  background: #f7f8fc;
  color: #616d89;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pm-copy h2 {
  margin: 14px 0 0;
  text-align: left;
  font-size: clamp(30px, 2.6vw, 38px);
  line-height: 1.16;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.pm-lead {
  margin: 12px 0 0;
  color: #3f4a63;
  font-size: 17px;
  line-height: 1.58;
}

.pm-points {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.pm-points div {
  border: 1px solid #ebeff8;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
}

.pm-points h4 {
  margin: 0;
  font-size: 14px;
  color: #56627f;
}

.pm-points p {
  margin: 6px 0 0;
  color: #2f3950;
  line-height: 1.55;
  font-size: 14px;
}

.pm-demo {
  border: 1px solid #e8ecf6;
  border-radius: 14px;
  background: #fbfbfe;
  padding: 14px;
  min-height: 276px;
  display: grid;
  align-content: start;
  gap: 12px;
  position: relative;
}

.pm-demo::before {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid #e6eaf5;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #6d7994;
}

.pm-demo-query::before { content: "输入 → 输出"; }
.pm-demo-miner::before { content: "路径展开"; }
.pm-demo-paper::before { content: "报告生成"; }

.pm-demo::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 10px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(142, 126, 222, 0.24), rgba(142, 126, 222, 0));
  transform: scaleX(0);
  transform-origin: left center;
}

.pm-module.is-visible .pm-demo::after {
  animation: stepProgress 1.9s ease 0.2s forwards;
}

/* OneQuery demo */
.query-input,
.query-result {
  border: 1px solid #e5eaf5;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
}

.query-label,
.query-result-kicker {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #727f9b;
  margin-bottom: 8px;
}

.query-meta {
  margin: 0 0 8px;
  color: #697590;
  font-size: 12px;
  line-height: 1.4;
}

.query-typing {
  margin: 0;
  color: #20293f;
  font-size: 19px;
  font-weight: 600;
  width: 0;
  white-space: nowrap;
  overflow: hidden;
  border-right: 2px solid #5f6f95;
}

.pm-module.is-visible .query-typing {
  animation: queryTyping 0.85s steps(10, end) 0.2s forwards, queryCursor 0.7s step-end 0.2s 4;
}

.query-loading {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 12px;
  opacity: 0;
}

.query-loading span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8a79dd;
}

.pm-module.is-visible .query-loading {
  animation: fadeIn 0.2s ease 1.05s forwards;
}

.pm-module.is-visible .query-loading span {
  animation: dotPulse 0.6s ease-in-out 1.05s 2;
}

.pm-module.is-visible .query-loading span:nth-child(2) { animation-delay: 1.12s; }
.pm-module.is-visible .query-loading span:nth-child(3) { animation-delay: 1.19s; }

.query-result {
  opacity: 0;
  transform: translateY(6px);
}

.pm-module.is-visible .query-result {
  animation: fadeUp 0.36s ease 1.35s forwards;
}

.query-result strong {
  display: block;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.query-result p {
  margin: 6px 0 0;
  color: #4f5a74;
}

.query-chart {
  margin-top: 10px;
  height: 46px;
  display: flex;
  align-items: flex-end;
  gap: 6px;
}

.query-chart span {
  width: 16%;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #8a79dd, #b0a2ee);
  transform-origin: bottom;
  transform: scaleY(0.4);
}

.pm-module.is-visible .query-chart span:nth-child(1) { height: 38%; animation: barRise 0.32s ease 1.55s forwards; }
.pm-module.is-visible .query-chart span:nth-child(2) { height: 52%; animation: barRise 0.32s ease 1.62s forwards; }
.pm-module.is-visible .query-chart span:nth-child(3) { height: 66%; animation: barRise 0.32s ease 1.69s forwards; }
.pm-module.is-visible .query-chart span:nth-child(4) { height: 58%; animation: barRise 0.32s ease 1.76s forwards; }
.pm-module.is-visible .query-chart span:nth-child(5) { height: 74%; animation: barRise 0.32s ease 1.83s forwards; }

/* OneMiner demo */
.miner-root {
  border: 1px solid #e4e9f5;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
  font-size: 24px;
  font-weight: 700;
  color: #222b41;
  opacity: 0;
  transform: translateY(6px);
}

.pm-module.is-visible .miner-root {
  animation: fadeUp 0.32s ease 0.2s forwards;
}

.miner-tree {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.miner-level {
  margin: 0;
  font-size: 12px;
  color: #697590;
  line-height: 1.4;
}

.miner-node {
  border: 1px solid #e4e9f5;
  border-radius: 10px;
  background: #fff;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #414d67;
  opacity: 0;
  transform: translateY(8px);
}

.pm-module.is-visible .miner-node:nth-child(1) { animation: fadeUp 0.28s ease 0.78s forwards; }
.pm-module.is-visible .miner-node:nth-child(2) { animation: fadeUp 0.28s ease 0.9s forwards; }
.pm-module.is-visible .miner-node:nth-child(3) { animation: fadeUp 0.28s ease 1.02s forwards; }

.pm-module.is-visible .miner-node {
  animation-name: fadeUp, nodeGlow;
  animation-duration: 0.28s, 1.45s;
  animation-timing-function: ease, ease-in-out;
  animation-fill-mode: forwards, both;
}

.pm-module.is-visible .miner-node:nth-child(1) { animation-delay: 0.78s, 1.14s; }
.pm-module.is-visible .miner-node:nth-child(2) { animation-delay: 0.9s, 1.26s; }
.pm-module.is-visible .miner-node:nth-child(3) { animation-delay: 1.02s, 1.38s; }

.miner-path {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.miner-path span {
  position: relative;
  overflow: hidden;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(143, 128, 220, 0.85), rgba(143, 128, 220, 0.15));
  transform: scaleX(0);
  transform-origin: left center;
}

.miner-path span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0));
  transform: translateX(-140%);
}

.pm-module.is-visible .miner-path span:nth-child(1) { animation: stepLine 0.26s ease 1.16s forwards; }
.pm-module.is-visible .miner-path span:nth-child(2) { animation: stepLine 0.26s ease 1.24s forwards; }
.pm-module.is-visible .miner-path span:nth-child(3) { animation: stepLine 0.26s ease 1.32s forwards; }

.pm-module.is-visible .miner-path span::after {
  animation: pathSweep 1s ease 1.58s 1 forwards;
}

.miner-key {
  border: 1px solid #d5ddf2;
  border-radius: 10px;
  background: #f8f5ff;
  color: #2f3960;
  padding: 12px;
  font-size: 14px;
  line-height: 1.52;
  opacity: 0;
}

.pm-module.is-visible .miner-key {
  animation: fadeIn 0.35s ease 1.48s forwards, keyPulse 2.2s ease-in-out 1.92s infinite;
}

/* OnePaper demo */
.paper-doc {
  position: relative;
  overflow: hidden;
  border: 1px solid #e5eaf5;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
  box-shadow: 0 10px 20px rgba(45, 37, 98, 0.06);
  opacity: 0;
  transform: translateY(8px);
}

.paper-toolbar {
  height: 34px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border-bottom: 1px solid #e9edf7;
  background: linear-gradient(180deg, #faf9ff, #f5f3ff);
}

.paper-w {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: linear-gradient(180deg, #7d6fe0, #6f62d0);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(111, 98, 208, 0.22);
}

.paper-doc-name {
  font-size: 12px;
  color: #50597a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.paper-status {
  min-height: 18px;
  padding: 0 7px;
  border-radius: 999px;
  border: 1px solid #e2e0f3;
  font-size: 11px;
  color: #6a7090;
  background: #fbfaff;
  display: inline-flex;
  align-items: center;
}

.paper-sheet {
  position: relative;
  margin: 10px;
  border: 1px solid #e6eaf5;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  display: grid;
  gap: 8px;
  min-height: 168px;
}

.paper-sheet::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, #c8bdf2, #d6cdf8);
}

.paper-sheet::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 18px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(203, 193, 245, 0.3), rgba(203, 193, 245, 0));
  opacity: 0;
  transform: translateY(-10px);
}

.paper-title,
.paper-subtitle,
.paper-lines span,
.paper-table,
.paper-summary,
.paper-footer {
  opacity: 0;
  transform: translateY(6px);
}

.paper-title {
  margin-top: 4px;
  height: 14px;
  width: 68%;
  border-radius: 6px;
  background: linear-gradient(90deg, #dce3f7, #d2daf3);
}

.paper-subtitle {
  height: 10px;
  width: 42%;
  border-radius: 999px;
  background: #e8edf8;
}

.paper-lines {
  display: grid;
  gap: 6px;
}

.paper-lines span {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #eef2fb, #f3f6fe);
}

.paper-lines span:nth-child(1) { width: 100%; }
.paper-lines span:nth-child(2) { width: 94%; }
.paper-lines span:nth-child(3) { width: 88%; }

.paper-table {
  margin-top: 2px;
  border: 1px solid #e3e8f5;
  border-radius: 7px;
  background:
    linear-gradient(#edf2ff, #edf2ff) 0 33% / 100% 1px no-repeat,
    linear-gradient(#edf2ff, #edf2ff) 0 66% / 100% 1px no-repeat,
    linear-gradient(90deg, #edf2ff, #edf2ff) 33% 0 / 1px 100% no-repeat,
    linear-gradient(90deg, #edf2ff, #edf2ff) 66% 0 / 1px 100% no-repeat,
    linear-gradient(180deg, #ffffff, #fbfcff);
  height: 56px;
}

.paper-table span {
  display: none;
}

.paper-summary {
  margin-top: 4px;
  border: 1px solid #dfe5f4;
  border-radius: 8px;
  background: #f8f5ff;
  color: #36415f;
  font-size: 13px;
  line-height: 1.46;
  padding: 8px 10px;
}

.paper-footer {
  font-size: 11px;
  color: #7a859f;
  letter-spacing: 0.02em;
}

.pm-module.is-visible .paper-doc {
  animation: fadeUp 0.36s ease 0.2s forwards;
}

.pm-module.is-visible .paper-sheet::after {
  animation: paperScan 1.05s ease 0.85s 1 forwards;
}

.pm-module.is-visible .paper-title {
  animation: fadeUp 0.3s ease 0.52s forwards, blockFill 0.6s ease 0.64s forwards;
}

.pm-module.is-visible .paper-subtitle {
  animation: fadeUp 0.28s ease 0.7s forwards;
}

.pm-module.is-visible .paper-lines span:nth-child(1) {
  animation: fadeUp 0.28s ease 0.86s forwards;
}

.pm-module.is-visible .paper-lines span:nth-child(2) {
  animation: fadeUp 0.28s ease 0.98s forwards;
}

.pm-module.is-visible .paper-lines span:nth-child(3) {
  animation: fadeUp 0.28s ease 1.1s forwards;
}

.pm-module.is-visible .paper-table {
  animation: fadeUp 0.32s ease 1.28s forwards, blockFill 0.72s ease 1.42s forwards;
}

.pm-module.is-visible .paper-summary {
  animation: summaryDrop 0.4s ease 1.74s forwards;
}

.pm-module.is-visible .paper-footer {
  animation: fadeIn 0.3s ease 1.92s forwards;
}

.pm-module.is-visible .paper-status {
  animation: statusSwitch 0.5s ease 1.9s forwards;
}

.pm-demo-miner,
.pm-demo-paper {
  background: radial-gradient(140% 110% at 8% -10%, rgba(190, 180, 240, 0.18), rgba(190, 180, 240, 0)), #fbfbfe;
  transition: transform 0.2s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.pm-demo-miner:hover,
.pm-demo-paper:hover {
  transform: translateY(-1px);
  border-color: #dbe1f2;
  box-shadow: 0 10px 20px rgba(47, 36, 106, 0.08);
}

@keyframes queryTyping {
  from { width: 0; }
  to { width: 10ch; }
}

@keyframes queryCursor {
  50% { border-right-color: transparent; }
}

@keyframes dotPulse {
  0%, 100% { transform: scale(0.8); opacity: 0.55; }
  50% { transform: scale(1.05); opacity: 1; }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes barRise {
  from { transform: scaleY(0.35); }
  to { transform: scaleY(1); }
}

@keyframes stepLine {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes stepProgress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes pathSweep {
  from { transform: translateX(-140%); }
  to { transform: translateX(140%); }
}

@keyframes keyPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(139, 124, 219, 0); }
  50% { box-shadow: 0 0 0 4px rgba(139, 124, 219, 0.14); }
}

@keyframes nodeGlow {
  0%, 100% {
    border-color: #e4e9f5;
    box-shadow: inset 0 0 0 0 rgba(137, 122, 216, 0);
  }
  50% {
    border-color: #d7def1;
    box-shadow: inset 0 0 0 1px rgba(137, 122, 216, 0.2);
  }
}

@keyframes paperScan {
  0% { opacity: 0; transform: translateY(-14px); }
  12% { opacity: 0.55; }
  100% { opacity: 0; transform: translateY(166px); }
}

@keyframes blockFill {
  0% {
    background: linear-gradient(90deg, #f2f5fc, #ecefff);
    box-shadow: inset 0 0 0 1px rgba(223, 229, 245, 0.56);
  }
  100% {
    background: linear-gradient(90deg, #eef2ff, #e5eaff);
    box-shadow: inset 0 0 0 1px rgba(193, 203, 234, 0.8);
  }
}

@keyframes summaryDrop {
  0% { opacity: 0; transform: translateY(8px) scale(0.98); }
  70% { opacity: 1; transform: translateY(-1px) scale(1.01); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes statusSwitch {
  0% {
    color: #6a7090;
    border-color: #e2e0f3;
    background: #fbfaff;
  }
  100% {
    color: #2f5b4a;
    border-color: #c7e6d8;
    background: #e9f8f1;
  }
}

@media (max-width: 1120px) {
  .pm-layout,
  .pm-layout.is-reverse {
    grid-template-columns: 1fr;
  }

  .pm-layout.is-reverse .pm-copy,
  .pm-layout.is-reverse .pm-demo {
    order: initial;
  }

  .pm-copy h2 {
    font-size: clamp(26px, 5vw, 34px);
    white-space: normal;
  }

  .pm-module + .pm-module::before {
    left: 14px;
    right: 14px;
  }
}

.about-page .section {
  padding-top: 88px;
  padding-bottom: 88px;
}

.about-intro {
  background:
    radial-gradient(1100px 350px at 50% 20%, rgba(255, 206, 175, 0.3), rgba(255, 206, 175, 0)),
    linear-gradient(180deg, #fff 0%, #fff 52%, #f3ecff 100%);
}

.about-top {
  position: relative;
  border: 1px solid #e9ebf3;
  border-radius: 14px;
  background: #fff;
  padding: 24px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  align-items: stretch;
  box-shadow: 0 8px 24px rgba(27, 20, 66, 0.04);
}

.about-top::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 160, 84, 0.78), rgba(125, 94, 224, 0.68));
}

.about-copy h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 4.4vw, 42px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}

.about-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  margin: 0 0 14px;
  border-radius: 999px;
  border: 1px solid #e6eaf4;
  background: #f7f9ff;
  color: #5f6d8a;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-metrics {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.about-metrics li {
  min-height: 56px;
  border: 1px solid #e8edf7;
  border-radius: 12px;
  background: #fbfcff;
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}

.about-metrics strong {
  color: #60708f;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.about-metrics span {
  color: #1f2940;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.about-copy-block {
  border-left: 2px solid #e8ecf8;
  padding-left: 14px;
}

.about-copy-block p {
  margin: 0;
  max-width: 42em;
  color: #434d63;
  line-height: 1.76;
  font-size: 16px;
}

.about-copy-block p + p {
  margin-top: 12px;
}

.about-copy-block p:first-child {
  color: #384662;
}

.about-photo-wrap {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e7e9f3;
  background: #f6f8fc;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.about-photo-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 58%, rgba(19, 20, 45, 0.2) 100%);
}

.about-photo-wrap img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  object-position: right center;
  display: block;
}

.about-why {
  padding-top: 12px !important;
}

.about-why-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.8fr);
  gap: 42px;
  align-items: start;
  padding-top: 26px;
  border-top: 1px solid #edf0f8;
}

.about-why-head {
  position: sticky;
  top: 94px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
}

.about-why-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: #6d778f;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.about-why-head h2 {
  margin: 0;
  font-size: clamp(30px, 2.4vw, 38px);
  line-height: 1.18;
  letter-spacing: -0.01em;
}

.about-why-head-lead {
  margin: 18px 0 0;
  max-width: 18em;
  color: #38445f;
  font-size: 16px;
  line-height: 1.78;
}

.about-why-tags {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 7px;
}

.about-why-tags li {
  display: block;
}

.about-why-taglink {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #e6eaf3;
  background: #fff;
  color: #485572;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.about-why-taglink:hover {
  border-color: #cfd7ea;
  color: #2f3b58;
  transform: translateX(2px);
}

.about-why-meta {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid #edf0f8;
  color: #6a748c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.about-why-content {
  position: relative;
  border-left: 1px solid #eceff7;
  padding-left: 30px;
}

.about-why-content::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  width: 1px;
  height: 78px;
  background: linear-gradient(180deg, rgba(255, 159, 79, 0.95), rgba(119, 89, 215, 0.86));
}

.about-why-content > p {
  margin: 0;
  max-width: 34em;
  color: #3d4860;
  line-height: 1.9;
  font-size: 16px;
}

.about-why-content > p + p {
  margin-top: 18px;
}

.about-why-lead {
  position: relative;
  color: #2f3850 !important;
  font-size: 18px !important;
  line-height: 1.82 !important;
  letter-spacing: 0.005em;
  padding-left: 18px;
}

.about-why-lead::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -8px;
  color: #b19de9;
  font-size: 36px;
  line-height: 1;
  font-weight: 600;
}

.about-why-block {
  position: relative;
  scroll-margin-top: 108px;
  margin-top: 22px;
  max-width: 34em;
  padding-top: 20px;
  border-top: 1px solid #eef1f8;
}

.about-why-block::before {
  content: attr(data-step);
  position: absolute;
  left: 0;
  top: 22px;
  transform: translateX(calc(-100% - 14px));
  color: #a7b1c7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.about-why-block h3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #6d778f;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.about-why-block h3::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #8d98b2;
}

.about-why-block p {
  margin: 0;
  color: #3d4860;
  line-height: 1.9;
  font-size: 16px;
}

.about-why-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-why-list li {
  margin: 0;
  padding-left: 18px;
  position: relative;
  color: #3a4661;
  line-height: 1.95;
  font-size: 16px;
}

.about-why-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.86em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #9aa5bb;
}

.about-why-list li + li {
  margin-top: 12px;
}

.about-why-conclusion {
  border: 0;
  border-left: 3px solid #c9d3e8;
  border-radius: 0;
  background: linear-gradient(90deg, rgba(242, 246, 253, 0.92), rgba(242, 246, 253, 0));
  padding: 10px 0 10px 14px;
}

.about-why-conclusion h3 {
  color: #66718a;
  margin-bottom: 10px;
}

.about-why-conclusion p {
  color: #2f3a56;
  font-weight: 500;
}

.about-why-em {
  color: #25314f;
  font-weight: 700;
  background: linear-gradient(180deg, rgba(236, 228, 255, 0), rgba(236, 228, 255, 0.88));
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 2px;
}

.about-why-note {
  margin-top: 24px !important;
  padding-top: 0;
  color: #2f3a55 !important;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 15px;
}

.about-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-feature {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  background: #fff;
  padding: 18px;
  position: relative;
}

.about-feature::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  border-radius: 12px 0 0 12px;
  background: #7b62df;
}

.about-feature h3 {
  margin: 0 0 8px;
  font-size: 34px;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.about-feature p {
  margin: 6px 0 0;
  color: #424b61;
  line-height: 1.55;
}

.adv-page .section {
  padding-top: 90px;
  padding-bottom: 90px;
}

.adv-intro {
  background:
    radial-gradient(720px 220px at 50% -8%, rgba(241, 234, 255, 0.38), rgba(255, 255, 255, 0)),
    #fff;
}

.adv-intro-shell {
  width: min(1060px, 100%);
  margin: 0 auto;
  border: 1px solid #e8ebf4;
  border-radius: 18px;
  background:
    radial-gradient(520px 160px at 50% 0, rgba(209, 190, 255, 0.1), rgba(255, 255, 255, 0)),
    #fff;
  box-shadow: 0 10px 24px rgba(28, 22, 68, 0.04);
  overflow: hidden;
}

.adv-intro-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px clamp(20px, 4vw, 48px) 36px;
  box-sizing: border-box;
}

.adv-hero-kicker {
  margin: 0 0 10px;
  color: #6d7892;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.adv-intro-top h1 {
  margin: 0;
  max-width: 100%;
  font-size: clamp(34px, 4.6vw, 42px);
  line-height: 1.12;
  letter-spacing: -0.022em;
  text-wrap: balance;
}

.adv-hero-lead {
  margin: 20px 0 0;
  max-width: 36em;
  padding: 0 4px;
  color: #3b4661;
  font-size: clamp(19px, 2.15vw, 27px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.008em;
  text-align: center;
}

.adv-cognitive-bar {
  display: flex;
  align-items: stretch;
  justify-content: center;
  margin: 28px 0 0;
  width: 100%;
  max-width: min(600px, 100%);
  border: 1px solid #e4e9f2;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.adv-cognitive-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 84px;
  padding: 16px 16px 18px;
  text-align: center;
}

.adv-cognitive-item.is-muted {
  background: #f8f9fc;
  color: #4a5568;
}

.adv-cognitive-item.is-accent {
  background: linear-gradient(180deg, #faf8ff 0%, #f3efff 100%);
  color: #3d2e92;
}

.adv-cognitive-label {
  display: block;
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.3;
  opacity: 0.85;
}

.adv-cognitive-value {
  display: block;
  margin: 8px 0 0;
  font-size: clamp(15px, 1.85vw, 18px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.adv-cognitive-connector {
  width: 3px;
  flex-shrink: 0;
  background: linear-gradient(180deg, #ffb088 0%, #9b83f9 100%);
}

.adv-intro-top .cta-row {
  margin-top: 28px;
  justify-content: center;
}

.adv-cap-index {
  margin: 0;
  color: #6a7590;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.adv-showcase {
  padding-top: 74px !important;
  padding-bottom: 74px !important;
}

.adv-showcase-shell {
  display: grid;
  grid-template-columns: minmax(270px, 0.9fr) minmax(0, 1.5fr);
  gap: 32px;
  align-items: start;
}

.adv-showcase-left {
  position: sticky;
  top: 94px;
  border: 1px solid #e8ebf5;
  border-radius: 14px;
  background: #fff;
  padding: 18px 18px 16px;
}

.adv-showcase-kicker {
  margin: 0;
  color: #7a86a1;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.adv-showcase-left h2 {
  margin: 10px 0 0;
  font-size: clamp(24px, 1.9vw, 30px);
  line-height: 1.16;
}

.adv-showcase-lead {
  margin: 12px 0 0;
  color: #43506c;
  line-height: 1.68;
}

.adv-showcase-nav {
  margin-top: 18px;
  display: grid;
  gap: 8px;
}

.adv-showcase-nav a {
  position: relative;
  border: 1px solid #e7ebf6;
  border-radius: 10px;
  background: #fff;
  min-height: 40px;
  padding: 0 12px 0 15px;
  display: inline-flex;
  align-items: center;
  color: #3f4a63;
  font-size: 14px;
  font-weight: 600;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.adv-showcase-nav a::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 9px;
  bottom: 9px;
  width: 2px;
  border-radius: 999px;
  background: transparent;
}

.adv-showcase-nav a.is-active {
  border-color: #d9cdfd;
  background: #f6f2ff;
  color: #3f2d9c;
}

.adv-showcase-nav a.is-active::before {
  background: linear-gradient(180deg, #ff9f6b, #7c5bdd);
}

.adv-showcase-nav a:hover {
  transform: translateX(2px);
}

.adv-showcase-right {
  display: grid;
  gap: 14px;
}

.adv-stage {
  border: 1px solid #e7eaf4;
  border-radius: 14px;
  background: #fff;
  padding: 22px 22px 20px;
}

.adv-stage:nth-child(1) {
  background: #fff;
}

.adv-stage:nth-child(2) {
  background: #fff;
}

.adv-stage-key {
  border-color: #dfd6ff;
  background: #fcfaff;
}

.adv-stage h3 {
  margin: 10px 0 0;
  font-size: 22px;
  line-height: 1.14;
  letter-spacing: -0.02em;
}

.adv-stage-intro {
  margin: 10px 0 0;
  color: #2f3955;
  font-size: 17px;
  line-height: 1.52;
  letter-spacing: -0.01em;
  font-weight: 600;
}

.adv-stage-detail {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.adv-stage-detail p {
  margin: 0;
  border: 1px solid #e9ecf6;
  border-radius: 10px;
  background: #fbfcff;
  padding: 11px 12px;
  color: #3c4760;
  font-size: 14px;
  line-height: 1.66;
}

.adv-stage-note {
  grid-column: 1 / -1;
  border-color: #ded4ff !important;
  background: #f7f3ff !important;
  color: #41349a !important;
  font-weight: 600;
  text-align: center;
}

.home-core-showcase {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.home-core-showcase .adv-showcase-left {
  position: sticky;
  top: 84px;
  border-color: #dde3f2;
  box-shadow: 0 10px 22px rgba(25, 20, 64, 0.06);
}

.home-core-showcase .adv-showcase-nav a {
  opacity: 0.66;
  transform: translateX(0);
}

.home-core-showcase .adv-showcase-nav a.is-active {
  opacity: 1;
  transform: translateX(1px);
}

@media (hover: hover) and (pointer: fine) {
  .home-core-showcase .adv-showcase-nav a:hover {
    opacity: 0.9;
  }
}

@media (max-width: 1120px) {
  .home-core-showcase .adv-showcase-left {
    position: static;
    top: auto;
    box-shadow: none;
  }

  .home-core-showcase .adv-showcase-nav a {
    opacity: 1;
  }
}

.adv-lite {
  padding-top: 62px !important;
  padding-bottom: 42px !important;
}

.adv-lite-card {
  border: 1px solid #e7eaf4;
  border-radius: 16px;
  background: #fff;
  padding: 24px;
}

.adv-lite-kicker {
  margin: 0 0 12px;
  color: #75809b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.adv-lite-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.adv-lite-item {
  border: 1px solid #edf0f8;
  border-radius: 12px;
  padding: 14px 14px 13px;
}

.adv-lite-item.is-orange {
  border-color: #f5dac7;
  background: #fff9f5;
}

.adv-lite-item.is-purple {
  border-color: #ddd4ff;
  background: #f8f5ff;
}

.adv-lite-item p {
  margin: 0;
  color: #46516b;
  line-height: 1.68;
  font-size: 16px;
  letter-spacing: -0.004em;
}

.adv-final {
  padding-top: 54px !important;
  padding-bottom: 68px !important;
  background:
    radial-gradient(860px 240px at 50% 0, rgba(241, 234, 255, 0.46), rgba(241, 234, 255, 0)),
    #fff;
}

.adv-final-shell {
  width: min(980px, 100%);
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e8ebf4;
  border-radius: 16px;
  padding: 30px 24px 24px;
  box-shadow: 0 10px 24px rgba(28, 22, 68, 0.04);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.adv-final-shell::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: -1px;
  height: 1.5px;
  border-radius: 999px;
  opacity: 0.6;
  background: linear-gradient(90deg, rgba(255, 157, 77, 0.58), rgba(120, 90, 220, 0.62));
}

.adv-final-kicker {
  margin: 0 0 14px;
  color: #5f6a84;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border: 1px solid #e4e8f4;
  border-radius: 999px;
  min-height: 24px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  background: #fff;
}

.adv-final-shell h2 {
  margin: 0 auto;
  max-width: 740px;
  color: #222b42;
  line-height: 1.24;
  font-size: clamp(28px, 3.4vw, 42px);
  letter-spacing: -0.01em;
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 1;
}

.adv-final-route {
  margin: 16px 0 0;
  color: #5f6c87;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #e6eaf4;
  background: #fff;
  display: inline-flex;
  align-items: center;
  position: relative;
  z-index: 1;
}

.oq-hero {
  background:
    radial-gradient(920px 300px at 72% 18%, rgba(239, 231, 255, 0.6), rgba(239, 231, 255, 0)),
    linear-gradient(180deg, #fff, #fff 84%, #f8f3ff);
}

.oq-page .section {
  padding-top: 88px;
  padding-bottom: 88px;
}

.oq-page h2 {
  margin-bottom: 22px;
}

.oq-hero-shell {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 26px;
  align-items: center;
}

.oq-hero-copy {
  text-align: left;
}

.oq-tag {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd2fb;
  border-radius: 8px;
  background: #f4efff;
  color: #4d3ca7;
  font-size: 13px;
  font-weight: 600;
}

.oq-hero-copy h1 {
  margin-top: 14px;
}

.oq-hero-copy p {
  max-width: 620px;
  margin: 12px 0 0;
  font-size: 22px;
  color: #333a4c;
  line-height: 1.55;
}

.oq-hero-cta {
  justify-content: flex-start;
  margin-top: 22px;
}

.oq-stage {
  position: relative;
  min-height: 520px;
}

.oq-stage-bg {
  position: absolute;
  inset: 56px 0 12px 24px;
  border: 1px solid #eceef6;
  border-radius: 18px;
  background:
    radial-gradient(620px 180px at 50% 100%, rgba(252, 173, 130, 0.2), rgba(252, 173, 130, 0)),
    linear-gradient(180deg, #ffffff, #fcfbff);
}

.oq-ui {
  position: absolute;
  border: 1px solid #e6e8f3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(26, 22, 62, 0.1);
  padding: 16px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.oq-ui:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(26, 22, 62, 0.14);
}

.kicker {
  font-size: 12px;
  color: #66708a;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.oq-ui-input {
  left: 20px;
  top: 22px;
  width: 64%;
}

.oq-ui-input p {
  margin: 8px 0 0;
  color: #2f3547;
  line-height: 1.45;
  font-size: 19px;
  font-weight: 600;
}

.oq-ui-result {
  left: 72px;
  top: 164px;
  width: 68%;
}

.oq-ui-result p {
  margin: 8px 0 0;
  color: #2f3547;
  line-height: 1.45;
}

.oq-ui-result h3 {
  margin: 10px 0 0;
  font-size: 30px;
  letter-spacing: -0.02em;
}

.oq-ui-next {
  right: 0;
  top: 318px;
  width: 58%;
}

.oq-ui-next ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #3e465c;
}

.oq-ui-next li { margin: 8px 0; }

.oq-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.oq-card {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.oq-card:hover {
  transform: translateY(-2px);
  border-color: #d9dcee;
  box-shadow: 0 10px 20px rgba(31, 26, 72, 0.08);
}

.oq-card h3 {
  margin: 0 0 8px;
  font-size: 24px;
}

.oq-card p {
  margin: 0;
  color: #444c62;
  line-height: 1.6;
}

.oq-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: center;
}

.oq-flow > span {
  color: #735de0;
  font-size: 28px;
}

.oq-step {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  background: #fff;
  padding: 18px;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.oq-step:hover {
  transform: translateY(-2px);
  border-color: #d7dbee;
  box-shadow: 0 8px 18px rgba(33, 27, 73, 0.08);
}

.oq-step p {
  margin: 6px 0 0;
  color: #465067;
}

.oq-q-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 6px;
}

.oq-q-card {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  font-size: 18px;
  line-height: 1.45;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.oq-q-card:hover {
  transform: translateY(-2px);
  border-color: #d6dbef;
  box-shadow: 0 10px 20px rgba(31, 26, 72, 0.08);
}

.oq-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 6px;
}

.oq-col {
  border: 1px solid #e7e9f3;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
  position: relative;
}

.oq-col::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  border-radius: 12px 12px 0 0;
  background: linear-gradient(90deg, #e4ddff, #c9b6ff);
}

.oq-col p {
  margin: 10px 0;
  color: #424b62;
}

.oq-final {
  background:
    radial-gradient(800px 250px at 50% 0, rgba(240, 234, 255, 0.6), rgba(240, 234, 255, 0)),
    #fff;
}

.oq-final p {
  margin: 0;
  font-size: 20px;
  color: #31394d;
}

.oq-final .cta-row {
  margin-top: 20px;
}

.oq-next {
  display: inline-block;
  margin-top: 16px;
  color: #323a52;
  font-weight: 600;
  transition: transform 0.18s ease, color 0.18s ease;
}

.oq-next:hover {
  transform: translateY(-1px);
  color: #222b45;
}

/* OneQuery sections: reduce repeated "PPT card" feel */
.oq-page h2 {
  max-width: 780px;
}

.oq-capability .oq-grid-3 {
  counter-reset: capitem;
}

.oq-capability .oq-card {
  position: relative;
  padding-top: 42px;
  border-color: #e5e8f5;
  background:
    linear-gradient(180deg, #ffffff, #fdfdff);
}

.oq-capability .oq-card::before {
  counter-increment: capitem;
  content: "0" counter(capitem);
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 12px;
  font-weight: 700;
  color: #6c5ad3;
  border: 1px solid #dfd7ff;
  background: #f5f2ff;
  border-radius: 999px;
  padding: 3px 8px;
}

.oq-process .oq-flow {
  position: relative;
}

.oq-flow-arrow {
  color: #735de0;
  font-size: 28px;
}

.oq-process .oq-step {
  padding-top: 42px;
  position: relative;
}

.oq-step-no {
  position: absolute;
  top: 14px;
  left: 18px;
  font-size: 12px;
  font-weight: 700;
  color: #6a5ad0;
}

.oq-question-sec .oq-q-card {
  position: relative;
  overflow: hidden;
}

.oq-question-sec .oq-q-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #c9b7ff, #f2d8c9);
}

.oq-compare-sec .oq-col {
  border-color: #e2e6f1;
}

.oq-compare-sec .oq-col p {
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid #edf0f7;
}

.oq-compare-sec .oq-col p:first-of-type {
  border-top: 0;
}

.oq-scene-card {
  border-left: 4px solid #9f85ef;
}

.oq-access-card {
  background: #fff;
}

.oq-access-card h3::before {
  content: "✓";
  display: inline-block;
  margin-right: 8px;
  color: #6b56d7;
}

.om-page .section {
  padding-top: 88px;
  padding-bottom: 88px;
}

.om-page h2 {
  max-width: 780px;
  margin-bottom: 22px;
}

.om-hero {
  background:
    radial-gradient(900px 300px at 72% 18%, rgba(238, 230, 255, 0.58), rgba(238, 230, 255, 0)),
    linear-gradient(180deg, #fff, #fff 84%, #f8f3ff);
}

.om-hero-shell {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 26px;
  align-items: center;
}

.om-hero-copy p {
  margin: 12px 0 0;
  font-size: 22px;
  color: #333b4f;
  line-height: 1.55;
}

.om-tag {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd2fb;
  border-radius: 8px;
  background: #f4efff;
  color: #4d3ca7;
  font-size: 13px;
  font-weight: 600;
}

.om-hero-copy h1 {
  margin-top: 14px;
  max-width: 560px;
  font-size: clamp(32px, 4.4vw, 42px);
  line-height: 1.12;
}

.om-stage {
  border: 1px solid #e8eaf4;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(28, 22, 68, 0.08);
}

.om-card {
  border: 1px solid #e8eaf3;
  border-radius: 12px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 8px 16px rgba(27, 24, 72, 0.06);
}

.om-card + .om-card {
  margin-top: 10px;
}

.om-drill {
  text-align: center;
  color: #7a66dc;
  font-size: 22px;
  line-height: 1;
  margin: 6px 0;
}

.om-kicker {
  font-size: 12px;
  color: #667089;
  font-weight: 600;
}

.om-result h3 {
  margin: 10px 0 0;
  font-size: 34px;
  letter-spacing: -0.02em;
}

.om-impact ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #394158;
}

.om-impact li {
  margin: 8px 0;
}

.om-next p {
  margin: 8px 0 0;
  color: #39425a;
}

.om-resonance {
  display: grid;
  gap: 8px;
}

.om-resonance p {
  margin: 0;
  border: 1px solid #eaecf5;
  border-radius: 10px;
  background: #fff;
  padding: 12px 14px;
  color: #2e3549;
}

.om-note {
  margin: 18px 0 0;
  font-size: 22px;
  line-height: 1.5;
  color: #2f3750;
  font-weight: 600;
}

.om-lead {
  margin: 0 0 16px;
  font-size: 22px;
  color: #343c51;
  line-height: 1.55;
}

.om-example {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 14px;
}

.om-user,
.om-system {
  border: 1px solid #e8eaf4;
  border-radius: 12px;
  background: #fff;
  padding: 16px;
}

.om-user span,
.om-system span {
  font-size: 13px;
  color: #68728a;
  font-weight: 600;
}

.om-user p {
  margin: 8px 0 0;
  font-size: 20px;
  color: #283046;
}

.om-system ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #3c455d;
}

.om-system li {
  margin: 8px 0;
}

.om-system strong {
  display: inline-block;
  margin-top: 8px;
  color: #5a47c5;
}

.om-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.om-pill-row span {
  border: 1px solid #dfd6ff;
  border-radius: 999px;
  background: #f4f0ff;
  color: #4c3da5;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
}

.om-pattern-card {
  border: 1px solid #e7e9f3;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
}

.om-pattern-card p {
  margin: 0;
  color: #3a4258;
  line-height: 1.65;
}

.om-pattern-card p + p {
  margin-top: 12px;
}

.om-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.om-card-lite {
  border: 1px solid #e7e9f3;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
}

.om-card-lite h3 {
  margin: 0 0 8px;
  font-size: 24px;
}

.om-card-lite p {
  margin: 0;
  color: #40495f;
  line-height: 1.6;
}

.om-final {
  background:
    radial-gradient(840px 260px at 50% 0, rgba(239, 232, 255, 0.62), rgba(239, 232, 255, 0)),
    #fff;
}

.om-final p {
  margin: 0;
  font-size: 20px;
  color: #313a50;
}

.om-next {
  display: inline-block;
  margin-top: 16px;
  color: #323b52;
  font-weight: 600;
  transition: transform 0.18s ease, color 0.18s ease;
}

.om-next:hover {
  transform: translateY(-1px);
  color: #232c45;
}

.op-page .section {
  padding-top: 88px;
  padding-bottom: 88px;
}

.op-page h2 {
  max-width: 780px;
  margin-bottom: 22px;
}

.op-hero {
  background:
    radial-gradient(900px 300px at 72% 18%, rgba(238, 230, 255, 0.58), rgba(238, 230, 255, 0)),
    linear-gradient(180deg, #fff, #fff 84%, #f8f3ff);
}

.op-hero-shell {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 26px;
  align-items: center;
}

.op-tag {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd2fb;
  border-radius: 8px;
  background: #f4efff;
  color: #4d3ca7;
  font-size: 13px;
  font-weight: 600;
}

.op-hero-copy h1 {
  margin-top: 14px;
  max-width: 560px;
  font-size: clamp(32px, 4.2vw, 42px);
  line-height: 1.14;
}

.op-hero-copy p {
  margin: 12px 0 0;
  font-size: 22px;
  color: #333b4f;
  line-height: 1.55;
}

.op-report {
  position: relative;
  border: 1px solid #e5e8f3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(28, 22, 68, 0.08);
  overflow: hidden;
}

.op-report-head {
  min-height: 56px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #ebedf5;
  background: #fcfcff;
}

.op-report-head strong {
  font-size: 18px;
  color: #1f273e;
}

.op-report-head span {
  font-size: 12px;
  color: #74809c;
  border: 1px solid #e2e6f4;
  border-radius: 999px;
  padding: 4px 10px;
}

.op-report-body {
  padding: 20px 22px 18px;
}

.op-report-intro {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #52607c;
}

.op-report-block + .op-report-block {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #edf0f6;
}

.op-report-block h4 {
  margin: 0;
  font-size: 15px;
  color: #5a657f;
}

.op-report-block p {
  margin: 10px 0 0;
  font-size: 32px;
  line-height: 1.18;
  color: #232b42;
  letter-spacing: -0.02em;
}

.op-report-block ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #33405a;
}

.op-report-block li {
  margin: 8px 0;
  line-height: 1.5;
}

.op-report-foot {
  min-height: 40px;
  border-top: 1px solid #edf0f6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  color: #7a859d;
  font-size: 12px;
}

.op-pain-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.op-pain-list li {
  margin: 0;
  border-left: 2px solid #d9def0;
  padding: 2px 0 2px 12px;
  color: #313a4e;
}

.op-note {
  margin: 18px 0 0;
  font-size: 22px;
  line-height: 1.5;
  color: #2f3750;
  font-weight: 600;
}

.op-lead {
  margin: 0 0 16px;
  font-size: 22px;
  color: #343c51;
  line-height: 1.55;
}

.op-outline {
  border: 1px solid #e8ebf4;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.op-outline p {
  margin: 0;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 12px;
  align-items: center;
}

.op-outline p + p {
  border-top: 1px solid #edf0f6;
}

.op-outline strong {
  color: #2b3348;
}

.op-outline span {
  color: #4a556f;
}

.op-logic-sheet {
  border: 1px solid #e8ebf4;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.op-logic-sheet p {
  margin: 0;
  min-height: 58px;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
}

.op-logic-sheet p + p {
  border-top: 1px solid #edf0f6;
}

.op-logic-sheet span {
  font-weight: 600;
  color: #5b49c1;
}

.op-logic-sheet b {
  color: #2d364b;
}

.op-use-list {
  display: grid;
  gap: 8px;
}

.op-use-list p {
  margin: 0;
  border: 1px solid #eaecf5;
  border-radius: 10px;
  background: #fff;
  padding: 12px 14px;
  color: #2e3549;
}

.op-note-small {
  margin: 14px 0 0;
  color: #5a47c5;
  font-weight: 600;
}

.op-flow {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: op-step;
  display: grid;
  gap: 8px;
  max-width: 620px;
}

.op-flow li {
  counter-increment: op-step;
  position: relative;
  border: 1px solid #e8ebf4;
  border-radius: 10px;
  background: #fff;
  min-height: 50px;
  padding: 0 14px 0 48px;
  display: flex;
  align-items: center;
  color: #323d54;
}

.op-flow li::before {
  content: counter(op-step);
  position: absolute;
  left: 14px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f2edff;
  color: #5e4ac7;
  font-size: 12px;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.op-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 24px;
  bottom: -10px;
  width: 1px;
  height: 10px;
  background: #d8dded;
}

.op-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.op-scene-card {
  border-left: 3px solid #d8cffb;
  background: transparent;
  padding: 20px;
}

.op-scene-card h3 {
  margin: 0 0 6px;
  font-size: 22px;
}

.op-scene-card p {
  margin: 0;
  color: #40495f;
}

.op-final {
  background:
    radial-gradient(840px 260px at 50% 0, rgba(239, 232, 255, 0.62), rgba(239, 232, 255, 0)),
    #fff;
}

.op-final p {
  margin: 0;
  font-size: 20px;
  color: #313a50;
}

.op-final .cta-row {
  margin-top: 20px;
}

.op-next {
  display: inline-block;
  margin-top: 16px;
  color: #323a52;
  font-weight: 600;
  transition: transform 0.18s ease, color 0.18s ease;
}

.op-next:hover {
  transform: translateY(-1px);
  color: #222b45;
}

/* ===== Pricing Page ===== */
.pr-page .section {
  padding-top: 90px;
  padding-bottom: 90px;
}

.pr-page .section.pr-hero {
  padding-top: 88px;
  padding-bottom: 74px;
  background:
    radial-gradient(1100px 350px at 50% 20%, rgba(255, 206, 175, 0.3), rgba(255, 206, 175, 0)),
    linear-gradient(180deg, #fff 0%, #fff 52%, #f3ecff 100%);
}

.pr-hero h1 {
  font-size: clamp(32px, 3.6vw, 42px);
  margin-bottom: 10px;
}

.pr-hero-sub {
  color: #5f6678;
  font-size: 17px;
  line-height: 1.58;
}

/* Plans Grid */
.pr-plans { padding-top: 20px !important; }

.pr-plans-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

/* Card Base */
.pr-card {
  border: 1px solid #e4e8f3;
  border-radius: 16px;
  background: #fff;
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 0.18s ease, transform 0.16s ease;
}

.pr-card:hover {
  box-shadow: 0 10px 24px rgba(27, 34, 53, 0.08);
  transform: translateY(-2px);
}

.pr-card-featured {
  border-color: #b9a9f4;
  box-shadow: 0 0 0 1px rgba(132, 105, 223, 0.15), 0 8px 20px rgba(109, 85, 230, 0.1);
}

.pr-card-badge {
  position: absolute;
  top: -11px;
  left: 24px;
  background: linear-gradient(135deg, #7c66e8, #b19af8);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 999px;
  letter-spacing: 0.04em;
}

/* Card Head */
.pr-card-head { margin-bottom: 18px; }

.pr-card-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8f97ab;
}

.pr-card-head h2 {
  margin: 6px 0 0;
  font-size: 22px;
  line-height: 1.2;
  color: #232b42;
}

.pr-card-desc {
  margin: 6px 0 0;
  font-size: 13px;
  color: #6c7792;
  line-height: 1.4;
}

/* Price Block */
.pr-price-block {
  padding: 14px 0;
  border-top: 1px solid #eceff8;
  border-bottom: 1px solid #eceff8;
  margin-bottom: 20px;
}

.pr-price {
  font-size: 28px;
  font-weight: 700;
  color: #232b42;
  margin: 0;
}

.pr-price span {
  font-size: 14px;
  font-weight: 500;
  color: #6c7792;
}

/* Card Body */
.pr-card-body { flex: 1; }

.pr-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8f97ab;
  margin: 16px 0 8px;
}

.pr-section-label:first-child { margin-top: 0; }

.pr-feature-list,
.pr-limit-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.pr-feature-list li,
.pr-limit-list li {
  font-size: 13px;
  line-height: 1.45;
  color: #3c4760;
  position: relative;
  padding-left: 16px;
}

.pr-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #6d55e6;
}

.pr-limit-list li {
  color: #7e89a3;
}

.pr-limit-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #c5cad8;
}

/* Card Button */
.pr-card-btn {
  margin-top: 20px;
  width: 100%;
  text-align: center;
}

/* FAQ */
.pr-faq { background: #f6f7fb; }

/* ===== 服务商区域 ===== */
.pr-partners {
  background: #fff;
}

.pr-partners-title {
  text-align: center;
  font-size: clamp(28px, 3.2vw, 38px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.pr-partners-sub {
  text-align: center;
  font-size: 15px;
  color: #5f6678;
  margin-bottom: 36px;
}

.pr-partners-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 960px;
  margin: 0 auto 40px;
}

.pr-partner-card {
  background: #f8f9fc;
  border: 1px solid #e4e8f3;
  border-radius: 14px;
  padding: 28px 24px;
  text-align: center;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.pr-partner-card:hover {
  border-color: #c5b8f0;
  box-shadow: 0 6px 16px rgba(121, 72, 234, 0.08);
}

.pr-partner-card h3 {
  font-size: 15px;
  font-weight: 600;
  color: #2c3244;
  line-height: 1.5;
}

.pr-partners-cta {
  text-align: center;
  padding-top: 8px;
}

.pr-partners-cta > p:first-child {
  font-size: 15px;
  color: #2c3244;
  font-weight: 600;
  margin-bottom: 6px;
}

.pr-partners-contact {
  font-size: 14px;
  color: #5f6678;
}

.pr-partners-contact a {
  color: #7948ea;
  font-weight: 600;
  text-decoration: none;
}

.pr-partners-contact a:hover {
  text-decoration: underline;
}

.pr-faq-title {
  text-align: center;
  font-size: clamp(32px, 3.6vw, 42px);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 28px;
}

.pr-faq-list {
  max-width: 720px;
  margin: 0 auto;
  display: grid;
  gap: 10px;
}

.pr-faq-item {
  background: #fff;
  border: 1px solid #e4e8f3;
  border-radius: 12px;
  padding: 20px 24px;
}

.pr-faq-item summary {
  font-size: 15px;
  font-weight: 600;
  color: #232b42;
}

.pr-faq-item > p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: #5f6678;
}

/* Responsive */
@media (max-width: 1120px) {
  .pr-plans-grid {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin: 0 auto;
  }
}

@media (max-width: 760px) {
  .pr-page .section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .pr-plans-grid { gap: 14px; }
  .pr-hero h1 { font-size: clamp(26px, 7vw, 34px); }
  .pr-partners-grid { grid-template-columns: 1fr; max-width: 400px; }
}

/* FAQ question style - high specificity to win over .pr-faq-item > p */
.pr-faq-item > .pr-faq-q {
  font-size: 14px;
  font-weight: 600;
  color: #161b27;
  margin-bottom: 20px;
}
/* ========== Highlights Section - 产品亮点 ========== */
.highlights-section {
  padding: 56px 0 48px;
  background: #ffffff;
  border-top: 1px solid #eceff8;
}

.highlights-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.highlights-body {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: stretch;
}

.highlights-header {
  margin-bottom: 20px;
}

.highlights-title {
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 700;
  color: #10162a;
  letter-spacing: -0.01em;
  margin: 0;
  text-align: left;
}

.highlights-tagline {
  margin-top: 6px;
  font-size: clamp(14px, 1.4vw, 17px);
  color: #5f6678;
  font-weight: 400;
  text-align: left;
}

/* 左侧文字区域 */
.highlights-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.highlights-item {
  padding: 14px 20px;
  background: #fafaff;
  border: 1px solid #eceff8;
  border-radius: 12px;
  transition: box-shadow .2s ease, transform .2s ease;
}

.highlights-item:hover {
  box-shadow: 0 8px 24px rgba(109, 85, 230, 0.07);
  transform: translateY(-1px);
}

.highlights-item-head {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: nowrap;
  margin-bottom: 6px;
}

.highlights-num {
  font-size: 13px;
  font-weight: 700;
  color: #6d55e6;
  opacity: .55;
  flex-shrink: 0;
}

.highlights-item-title {
  font-size: 16px;
  font-weight: 700;
  color: #10162a;
  white-space: nowrap;
}

.highlights-item-sub {
  font-size: 13px;
  color: #6d55e6;
  font-weight: 500;
  white-space: nowrap;
}

.highlights-item-tags {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.highlights-item-tags li {
  font-size: 12px;
  color: #5f6678;
  position: relative;
  padding-left: 10px;
  white-space: normal;
  line-height: 1.5;
}

.highlights-item-tags li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #6d55e6;
  opacity: .45;
}

/* 右侧图片：两张并排（第一个亮点区域） */
.highlights-right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: stretch;
  overflow: hidden;
}

.highlights-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .highlights-body {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .highlights-right img {
    height: auto;
    width: 100%;
  }
}

/* ========== End Highlights Section ========== */

/* ========== Highlights Reverse (图片左/文字右) ========== */
.highlights-reverse .highlights-body {
  grid-template-columns: 1.3fr 1fr;
}

.highlights-reverse .highlights-left {
  order: 2;
}

.highlights-reverse .highlights-right {
  order: 1;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  border-radius: 12px;
  overflow: hidden;
}

.highlights-reverse .highlights-right img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.highlights-reverse .highlights-tagline {
  font-size: 12px;
  margin-top: 2px;
}

.highlights-reverse .highlights-item-tags {
  flex-direction: column;
  gap: 4px;
}

@media (max-width: 900px) {
  .highlights-reverse .highlights-body {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .highlights-reverse .highlights-left,
  .highlights-reverse .highlights-right {
    order: unset;
  }
}

/* ─────────────────────────────────────────────
   About — 杂志式长文叙事
   ───────────────────────────────────────────── */

.about-page {
  color: var(--text-primary, #1a1a2e);
  background: #fff;
}

/* ── 章节 ── */
.story-chapter {
  padding: 100px 0;
  border-bottom: 1px solid rgba(0,0,0,.04);
}
.story-chapter:last-child {
  border-bottom: none;
}

.story-chapter-num {
  font-size: 80px;
  font-weight: 200;
  color: rgba(0,0,0,.06);
  line-height: 1;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}

.story-title {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  text-align: center;
}

.story-subtitle {
  font-size: 16px;
  color: rgba(0,0,0,.55);
  margin: 8px 0 0;
  text-align: center;
  font-weight: 600;
}

/* ── 正文区（左文右图 / 交替） ── */
.story-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  margin-top: 56px;
}

.story-body--flush {
  margin-top: 0;
  grid-template-columns: 3fr 2fr;
}

.story-body--wide-right {
  margin-top: 0;
  grid-template-columns: 2fr 3fr;
}
.story-body .story-text-block + .story-image-slot {
  order: 0;
}
.story-body .story-image-slot + .story-text-block {
  order: 0;
}

/* ── 文字段落 ── */
.story-text-block p {
  font-size: 15px;
  line-height: 2;
  margin: 0 0 4px;
  color: rgba(0,0,0,.75);
}

.story-text-block p:first-child {
  margin-top: 0;
}

/* 居中收尾（第七章） */
.story-text-block--center {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}

.story-text-block--center,
.story-text-block--center p {
  text-align: center;
}

/* 内联高亮 */
.story-inline-highlight {
  font-size: 17px;
  font-weight: 500;
  line-height: 2;
  color: var(--text-primary, #1a1a2e);
  margin-top: 20px;
}

/* 章节底部高亮块 */
.story-highlight {
  max-width: 560px;
  margin: 48px auto 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: var(--text-primary, #1a1a2e);
}

/* ── 配图位 ── */
.story-image-slot {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #f5f5f7;
  align-self: center;
}

.story-image-slot img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 12px;
}

/* 竖构图：保持原生比例 */
.story-image-slot--portrait {
  aspect-ratio: auto;
  align-self: center;
  max-height: 624px;
  max-width: 415px;
  margin-left: auto;
}

.story-image-slot--portrait img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* 上下堆叠布局 */
.story-body--stack {
  grid-template-columns: 1fr;
}

.story-image-slot--center {
  max-width: 640px;
  margin: 48px auto 0;
}

.story-image-slot--scale {
  overflow: hidden;
}

.story-image-slot--scale img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* 占位符（等配图替换） */
.story-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: rgba(0,0,0,.2);
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 12px,
    rgba(0,0,0,.015) 12px,
    rgba(0,0,0,.015) 24px
  );
}
.story-placeholder::before {
  content: attr(data-label);
  padding: 8px 16px;
  border: 1px dashed rgba(0,0,0,.12);
  border-radius: 6px;
}

/* ── 团队卡片 ── */
.story-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 56px;
}

.story-team-card {
  padding: 28px 24px;
  background: #f8f8fa;
  border-radius: 10px;
}

.story-team-card strong {
  display: block;
  font-size: 15px;
  margin-bottom: 8px;
}

.story-team-card p {
  font-size: 13px;
  line-height: 1.7;
  color: rgba(0,0,0,.55);
  margin: 0;
}

/* ── 最后一章特殊处理 ── */
.story-chapter--final {
  padding-bottom: 140px;
}

/* ── 响应式 ── */
@media (max-width: 900px) {
  .story-chapter {
    padding: 72px 0;
  }
  .story-body {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .story-image-slot {
    aspect-ratio: 16 / 10;
  }
  .story-team-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .story-chapter {
    padding: 56px 0;
  }
  .story-chapter-num {
    font-size: 56px;
  }
  .story-title {
    font-size: 24px;
  }
  .story-team-grid {
    grid-template-columns: 1fr;
  }
}

/* 探索页卡片两栏布局 */
.solutions-page .grid-3 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 720px;
  margin: 0 auto;
}

/* Resources 页卡片两栏布局 */
.resources-page .res2-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 80px;
  max-width: 1040px;
  margin: 0 auto;
}

.resources-page .res2-card {
  max-width: 520px;
  justify-self: center;
}

.resources-page .res2-card-img {
  aspect-ratio: 16 / 7;
}
