/* ============================================================
   密境 — Figma 还原 (node 204590:7492 / 1242 × 3088)
   设计稿坐标 1:1 还原，窄屏等比缩放，移动端重排
   ============================================================ */

:root {
  --design-w: 1242px;
  --design-h: 3088px;

  --bar-bg: #f6f5f5;
  --ink: #000000;
  --accent: #d8b5f3;
  --btn-bg: #10100e;

  --font-cn: "Noto Sans SC", "Source Han Sans CN", "PingFang SC",
             "Microsoft YaHei", sans-serif;
  --font-ui: "Inter", var(--font-cn);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-ui);
  color: var(--ink);
  background: #5c9a85;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }

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

/* 缩放容器：JS 写入 height，避免缩放后留白。
   渐变同时挂在这里，保证缩放后左右仍是满幅背景 */
.viewport {
  width: 100%;
  overflow: hidden;
  background: linear-gradient(
    180deg,
    #f5f9f8 0%,
    #f5f9f8 38.25%,
    #9bc7b9 64.559%,
    #5c9a85 100%
  );
}

.stage {
  position: relative;
  width: var(--design-w);
  height: var(--design-h);
  margin: 0 auto;
  transform-origin: top left;
  background: linear-gradient(
    180deg,
    #f5f9f8 0%,
    #f5f9f8 38.25%,
    #9bc7b9 64.559%,
    #5c9a85 100%
  );
}

/* ---------- 排版 ----------
   行高取自设计稿实测行距：48px 标题 ≈ 58px、24px 正文 ≈ 29.3px
   （即 Figma 的 leading: normal，约 1.21 倍） */

.display {
  margin: 0;
  font-family: var(--font-ui);
  font-weight: 400;
  font-size: 48px;
  line-height: 1.21;
  color: var(--ink);
}

.body {
  margin: 0;
  font-family: var(--font-ui);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.22;
  color: var(--ink);
}

/* ---------- 顶部导航 ---------- */

/* 设计稿中导航条宽 1359px，超出画板 —— 这里做满幅处理，
   由 .viewport 的 overflow:hidden 负责裁切 */
.topbar {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3000px;
  margin-left: -1500px;
  height: 132px;
  background: var(--bar-bg);
  overflow: hidden;
  z-index: 10;
}

.topbar__inner {
  position: relative;
  width: var(--design-w);
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 0 210px 0 55px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 32px;
}

.brand__logo {
  position: relative;
  top: 8px; /* 设计稿中图标顶边 y=20，并非垂直居中 */
  width: 108px;
  height: 108px;
  border-radius: 24px;
  object-fit: cover;
}

.brand__name {
  font-family: var(--font-ui);
  font-weight: 400;
  font-size: 48px;
  line-height: 32px;
  text-transform: uppercase;
  white-space: nowrap;
}

.nav {
  display: flex;
  align-items: center;
  gap: 60px;
  margin-left: 74px;
}

.nav__link {
  font-family: var(--font-cn);
  font-weight: 700;
  font-size: 22px;
  line-height: normal;
  letter-spacing: 0.66px;
  text-transform: capitalize;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.nav__link:hover { color: var(--accent); }
.nav__link.is-active { color: var(--accent); }

.topbar__cta { margin-left: auto; }

.btn-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 56px;
  border-radius: 40px;
  background: var(--btn-bg);
  color: #fff;
  font-family: var(--font-cn);
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
  letter-spacing: 0.6px;
  text-transform: capitalize;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.btn-download:hover { transform: translateY(-2px); opacity: 0.88; }

/* ---------- 首屏 (设计稿 y: 132 → 898) ---------- */

.hero {
  position: absolute;
  top: 132px;
  left: 0;
  width: var(--design-w);
  height: 766px;
}

.hero .display {
  position: absolute;
  top: 160px;
  left: 55px;
  width: 534px;
}

.hero .body {
  position: absolute;
  top: 314px;
  left: 55px;
  width: 513px;
}

.hero__shot {
  position: absolute;
  top: 25px;
  left: 723px;
  width: 324px;
  height: 741px;
}

.hero__shot img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  object-fit: cover;
}

/* ---------- 好器物 (设计稿 y: 898 → 1828) ---------- */

.feature { position: absolute; left: 0; width: var(--design-w); }

.feature--a { top: 898px; height: 930px; }

.feature--a .display {
  position: absolute;
  top: 59px;
  left: 70px;
  width: 680px;
}

.feature--a .body {
  position: absolute;
  top: 151px;
  left: 71px;
  width: 552px;
}

.shot { position: absolute; object-fit: cover; }

.shot--product {
  top: 347px;
  left: 459px;
  width: 327px;
  height: 583px;
  border-radius: 30px;
}

.shot--cart {
  top: 347px;
  left: 864px;
  width: 327px;
  height: 583px;
  border-radius: 30px;
}

/* ---------- 一站式购物 (设计稿 y: 1828 → 3088) ---------- */

.feature--b { top: 1828px; height: 1260px; }

.feature--b .display {
  position: absolute;
  top: 102px;
  left: 104px;
  white-space: nowrap;
}

.feature--b .body {
  position: absolute;
  top: 219px;
  left: 104px;
  white-space: nowrap;
}

.shot--recharge {
  top: 394px;
  left: 368px;
  width: 359.5px;
  height: 640px;
  border-radius: 30px;
}

.shot--profile {
  top: 377px;
  left: 829px;
  width: 309px;
  height: 657px;
  border-radius: 50px;
}

/* ---------- 备案信息 ----------
   放在设计稿底部 y2862–3088 的留白带内，不改变画板高度 */

.beian {
  position: absolute;
  left: 0;
  bottom: 26px;
  width: var(--design-w);
  text-align: center;
  font-family: var(--font-cn);
  font-size: 14px;
  line-height: 26px;
  /* 底部渐变为 #5c9a85，白字对比度仅 3.3:1，改用与全站一致的黑色墨水 */
  color: rgba(0, 0, 0, 0.78);
}

.beian p { margin: 0; }

.beian__divider {
  width: 1132px;
  height: 1px;
  margin: 0 auto 18px;
  background: rgba(0, 0, 0, 0.16);
}

.beian__company {
  margin-bottom: 4px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.5px;
  color: var(--ink);
}

.beian a {
  color: var(--ink);
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.beian a:hover { opacity: 0.65; border-bottom-color: rgba(0, 0, 0, 0.7); }

/* ============================================================
   移动端重排 (≤ 768px)：放弃等比缩放，单列流式布局
   ============================================================ */

@media (max-width: 768px) {
  body {
    background: linear-gradient(
      180deg,
      #f5f9f8 0%,
      #f5f9f8 38.25%,
      #9bc7b9 64.559%,
      #5c9a85 100%
    );
  }

  .viewport { overflow: visible; }

  .stage {
    width: 100%;
    height: auto;
    transform: none !important;
    background: none;
    padding-bottom: 64px;
  }

  /* 导航 */
  .topbar {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    margin-left: 0;
    height: auto;
    padding: 12px 0;
  }

  .topbar__inner {
    width: 100%;
    padding: 0 20px;
    flex-wrap: wrap;
    gap: 12px;
  }

  .brand { gap: 12px; }
  .brand__logo { top: 0; width: 48px; height: 48px; border-radius: 12px; }
  .brand__name { font-size: 24px; line-height: 1; }

  .nav {
    order: 3;
    width: 100%;
    margin-left: 0;
    gap: 28px;
  }

  .nav__link { font-size: 16px; }

  .topbar__cta { margin-left: auto; }

  .btn-download { width: 88px; height: 40px; font-size: 16px; }

  /* 区块通用 */
  .hero,
  .feature {
    position: static;
    width: 100%;
    height: auto;
    padding: 48px 20px 0;
  }

  .hero .display,
  .hero .body,
  .feature .display,
  .feature .body {
    position: static;
    width: 100%;
    white-space: normal;
  }

  .display { font-size: 30px; }
  .display--wide { font-size: 26px; }
  /* 小屏放宽行距，兼顾中文阅读舒适度 */
  .body { font-size: 16px; line-height: 1.7; margin-top: 20px; }

  /* 保留设计稿的断行节奏，过长时自然换行 */

  /* 截图 */
  .hero__shot {
    position: static;
    width: 100%;
    max-width: 300px;
    height: auto;
    margin: 32px auto 0;
  }

  .hero__shot img { height: auto; }

  .feature__shots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 32px;
  }

  .shot {
    position: static;
    width: calc(50% - 8px);
    max-width: 220px;
    height: auto;
  }

  /* 备案信息 */
  .beian {
    position: static;
    width: 100%;
    padding: 40px 20px 0;
    font-size: 13px;
    line-height: 1.9;
  }

  .beian__divider { width: 100%; margin-bottom: 16px; }
  .beian__company { font-size: 15px; }
}
