/* ============================================================
   service.css — 定格 pin 叙事：POS 照片 → 毛玻璃卡从下进入
   → 织物+巨字整层覆盖 → 小卡片逐个从下方飞入
   （section 总高对齐原站 4285px；期间视口 pin 住不离开）
   ============================================================ */

.service { position: relative; height: 4285px; }

.service__pin {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: clip;
}

/* ---------- 层1：POS 照片 ---------- */
.service__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------- 层2：毛玻璃卡（从下方进入居中） ---------- */
.service__glass {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: min(680px, 92vw);
  padding: 34px 40px 0;
  border-radius: 34px;
  background: rgb(255 255 255 / .5);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgb(255 255 255 / .55);
  text-align: center;
  color: var(--ink);
  overflow: clip;
}
.service__glass-notch {
  display: block;
  width: 180px;
  height: 40px;
  margin: 0 auto 46px;
  border-radius: var(--radius-pill);
  background: var(--ink);
  position: relative;
}
.service__glass-notch::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  translate: 0 -50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #2b2660;
}
.service__glass-logo { margin: 0 auto 60px; }
.service__glass-amount {
  font-family: var(--font-numeric);
  font-size: clamp(48px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.02em;
}
.service__glass-caption { margin-top: 18px; font-size: var(--body-lg); }
.service__glass-meter {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 60px;
  color: var(--green);
  font-size: var(--body-lg);
  text-shadow: 0 1px 8px rgb(0 40 8 / .4);
}
.service__glass-meter i {
  flex: 1;
  border-top: 2px dotted rgb(111 178 232 / .7);
}
.service__glass-note {
  margin: 22px -40px 0;
  padding: 26px 60px 30px;
  background: rgb(20 22 31 / .45);
  color: var(--white);
  font-size: var(--body-lg);
  border-bottom: 2px solid var(--green);
  border-radius: 0 0 34px 34px;
}

/* ---------- 层3：织物 + 巨字整层覆盖 ---------- */
.service__cover {
  position: absolute;
  inset: 0;
  overflow: clip;
  background: var(--ink);
}
.service__fabric-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service__ticker {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  overflow: hidden;
}
.service__ticker .marquee-track {
  gap: 80px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(170px, 17.36vw, 250px);
  line-height: 1.3;
  letter-spacing: -0.1em;
  color: var(--white);
  white-space: nowrap;
}

/* ---------- 层4：小卡片（逐个从下方飞入，布局对照原站终态） ---------- */
.service__cards {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.service__card {
  position: absolute;
  width: min(345px, 40vw);
  border-radius: 22px;
  box-shadow: 0 30px 70px rgb(0 0 0 / .35);
}
.service__card--duo { left: 6%; top: 3%; }
.service__card--qr { left: 7%; top: 56%; }
.service__card--expenses { right: 4%; top: 36%; }
.service__card--balance { left: 40%; top: 64%; }

@media (max-width: 809px) {
  .service { height: 2600px; }
  .service__glass { padding: 22px 22px 0; }
  .service__glass-note { margin-inline: -22px; padding: 20px 24px 24px; }
  .service__card { width: min(300px, 66vw); }
  .service__card--duo { left: 4%; top: 4%; }
  .service__card--qr { left: 5%; top: 58%; }
  .service__card--expenses { right: 4%; top: 30%; }
  .service__card--balance { left: 30%; top: 70%; }
}
