:root {
  --ink: #142033;
  --muted: #5d6b7c;
  --line: #e6ebf2;
  --paper: #f6f8fb;
  --white: #fff;
  --navy: #10233f;
  --amber: #e08a1e;
  --wx: #07c160;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font: 16px/1.65 "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
img { max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 12px; top: 8px; background: #fff; padding: 8px; z-index: 9; }
.wrap { width: min(1080px, calc(100% - 40px)); margin: 0 auto; }
.hero { background: var(--navy); color: #f7f9fc; }
.hero-grid { display: grid; gap: 28px; padding: 48px 0 36px; }
.kicker { margin: 0 0 10px; color: #d7b56a; letter-spacing: .18em; font-size: 12px; }
h1 { margin: 0; font-size: 36px; line-height: 1.2; letter-spacing: -.03em; font-weight: 700; }
.lead { margin: 14px 0 0; color: #d5deea; max-width: 36em; }
.offer { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.offer li { border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 4px 12px; font-size: 13px; color: #e7eef6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  background: transparent;
}
.btn-light { background: #fff; color: var(--ink); font-weight: 700; }
.btn-wx { background: var(--wx); color: #fff; font-weight: 700; }
.btn-wx.is-copied { background: #05944a; }
.btn-solid { width: 100%; background: var(--amber); color: #fff; font-weight: 700; border: 0; }
.panel {
  background: #fff;
  color: var(--ink);
  border-radius: 16px;
  padding: 22px 20px 18px;
}
.panel h2 { margin: 0 0 4px; font-size: 20px; }
.panel-note, .panel label { display: block; color: var(--muted); font-size: 14px; }
.panel input, .panel select, .panel textarea {
  width: 100%;
  margin: 6px 0 12px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}
.hp { position: absolute; left: -9999px; }
.ok { color: #176b45; background: #e8f6ef; padding: 10px 12px; border-radius: 8px; }
.alert { color: #9f2d2d; background: #fdecec; padding: 10px 12px; border-radius: 8px; }
#lead { scroll-margin-bottom: 80px; }
.stats { background: var(--navy); color: #fff; }
.stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 8px 0 36px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.12);
}
.stats strong { display: block; font-size: 28px; line-height: 1.1; font-weight: 700; }
.stats small { margin-left: 2px; font-size: 14px; color: #f0c27a; font-weight: 600; }
.stats span { color: #b7c3d4; font-size: 13px; }
.ability, .process, .faq { padding: 64px 0; }
.section-head { max-width: 640px; margin-bottom: 28px; }
.section-head h2 { margin: 0; font-size: 28px; letter-spacing: -.03em; }
.section-head p { margin: 8px 0 0; color: var(--muted); }
.ability { background: var(--paper); }
.shots { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.shot { background: #fff; border-radius: 16px; overflow: hidden; }
.shot-pic { background: #eef2f7; }
.shot-pic img { display: block; width: 100%; height: 220px; object-fit: cover; object-position: top; }
.shot h3 { margin: 14px 16px 0; font-size: 16px; }
.shot p { margin: 4px 16px 16px; color: var(--muted); font-size: 13px; }
.cases { background: #f5f7fc; padding: 8px 0 20px; }
.xkd-case-module { width: min(1120px, 100%); margin: 0 auto; padding: 28px 0 20px; }
.xkd-section-title { text-align: center; padding: 0 16px 16px; }
.xkd-section-title h2 { margin: 0; font-size: 28px; line-height: 1.3; color: #1a2c3e; }
.xkd-section-title h2 span { color: #e07a1a; }
.xkd-section-title p { margin: 6px 0 0; color: #6c7a91; font-size: 14px; }
.xkd-carousel-track {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0 12px 8px;
}
.xkd-carousel-track::-webkit-scrollbar { display: none; }
.xkd-carousel-item {
  flex: 0 0 48%;
  scroll-snap-align: center;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e7edf5;
}
.xkd-item-image { background: #f0f2f6; }
.xkd-item-image img { display: block; width: 100%; height: auto; }
.xkd-item-caption { padding: 8px 6px 10px; text-align: center; }
.xkd-item-caption h3 { margin: 0; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xkd-carousel-dots { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.xkd-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 99px; background: #cbd5e1; }
.xkd-dot.active { width: 18px; background: #e07a1a; }
.xkd-more-btn-wrapper { text-align: center; margin: 14px 0 8px; }
.xkd-more-btn {
  display: inline-block;
  border: 1px solid #e07a1a;
  color: #c56a12;
  text-decoration: none;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 700;
}
.process { background: #fff; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.steps li { padding-top: 4px; }
.steps span { display: block; color: var(--amber); font-weight: 700; font-size: 13px; letter-spacing: .08em; }
.steps h3 { margin: 6px 0 4px; font-size: 18px; }
.steps p { margin: 0; color: var(--muted); font-size: 14px; }
.faq { background: var(--paper); }
.faq-list { display: grid; gap: 8px; max-width: 760px; }
.faq details { background: #fff; border-radius: 12px; padding: 2px 16px; }
.faq summary { cursor: pointer; font-weight: 600; padding: 14px 0; }
.faq p { margin: 0 0 14px; color: var(--muted); }
.foot { background: var(--navy); color: #d5dbe3; padding: 40px 0 96px; }
.foot-grid { display: grid; gap: 16px; }
.foot strong { color: #fff; font-size: 18px; }
.foot a { color: #fff; text-decoration: none; }
.foot p { margin: 6px 0; }
.foot-contact { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.address { margin: 0; color: #9aa6b5; font-size: 14px; }
.icp { text-align: center; color: #8d97a6; font-size: 12px; }
.dock {
  position: fixed; left: 0; right: 0; bottom: 0;
  display: grid; grid-template-columns: 1fr 1fr 1.1fr;
  background: #fff; border-top: 1px solid var(--line); z-index: 9;
}
.dock a, .dock button {
  text-align: center;
  text-decoration: none;
  padding: 14px 4px;
  font-weight: 700;
  border: 0;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}
.dock a:last-child { background: var(--amber); color: #fff; }
.dock button { color: var(--wx); }
.dock button.is-copied { color: #05944a; }
@media (min-width: 900px) {
  .hero-grid { grid-template-columns: 1fr 380px; align-items: center; padding: 88px 0 48px; }
  h1 { font-size: 52px; }
  .shots { grid-template-columns: repeat(3, 1fr); }
  .shot-pic img { height: 250px; }
  .steps { grid-template-columns: repeat(4, 1fr); }
  .foot { padding-bottom: 40px; }
  .foot-grid { grid-template-columns: 1.2fr 1fr; align-items: center; }
  .address { grid-column: 1 / -1; }
  .dock { display: none; }
  .xkd-carousel-item { flex-basis: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
