/* ══════════════════════════════════════════════════════════════
   服务页（礼盒包装 / VI / 产品外观）：独立整页，盖在房间上面
   ══════════════════════════════════════════════════════════════ */
.service-page {
  position: fixed;
  inset: 0;
  z-index: 70;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  padding-top: var(--header-h);
  background: var(--paper);
}
.service-page[hidden] { display: none; }
.service-page::-webkit-scrollbar { display: none; }
.service-page .site-header { position: fixed; z-index: 100; }

/* 图片位：没图时显示灰色线框占位 + 标签 */
.slot {
  position: relative;
  overflow: hidden;
  background: var(--slot-empty);
  border: 1px solid #a8a8a8;
}
.slot::after {
  content: attr(data-label);
  position: absolute;
  left: 12px;
  bottom: 12px;
  font-size: 10px;
  letter-spacing: .04em;
  color: #686868;
}
.slot.has-image::after { display: none; }
.slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ── 开篇：左标题 / 右主图 + 介绍 ── */
.service-intro {
  display: grid;
  grid-template-columns: minmax(0, 50%) minmax(0, 50%);
}
.service-heading { padding: calc(32vh - 72px) 48px 96px 16px; }
.service-title {
  margin-bottom: 30px;
  font-size: clamp(60px, 6.0125vw, 115px);
  line-height: .95;
  letter-spacing: -.01em;
}
.service-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 610px;
  font-size: 11px;
  line-height: 1.35;
}
.service-return { display: block; margin-top: 32px; font-size: 10px; }

.service-column { min-width: 0; padding: 0 16px 80px 0; }
.service-hero { height: calc(100vh - 72px); min-height: 620px; }
.service-copy {
  padding: 72px 0 96px;
  font-size: clamp(28px, 2.818vw, 54px);
  line-height: 1.04;
  letter-spacing: -.01em;
}
.service-copy p[lang="zh-CN"] {
  max-width: 95%;
  margin-top: 42px;
  font-size: clamp(17px, 1.35vw, 24px);
  line-height: 1.65;
  letter-spacing: 0;
}
.service-copy small {
  display: block;
  margin-top: 28px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .04em;
}

/* ── 文字块（可选） ── */
.service-block {
  width: calc((42.7% - 16px) * .62);
  margin: clamp(55px, 8vw, 130px) 16px clamp(55px, 8vw, 130px) 57.3%;
  padding: 24px 0 calc(8vw + 18px);
}
.service-block h3 {
  margin: 0 0 18px;
  font-size: clamp(20px, 2.1vw, 34px);
  line-height: 1.2;
  font-weight: 400;
}
.service-block p {
  font-size: clamp(17px, 1.35vw, 25px);
  line-height: 1.55;
  white-space: pre-wrap;
}
.service-block small {
  display: block;
  margin-top: 14px;
  font-size: clamp(12px, .95vw, 15px);
  line-height: 1.75;
  color: var(--muted-2);
}

/* ── 章节 ── */
.service-chapter { padding: 120px 16px 0; }
.service-chapter + .service-chapter { padding-top: 160px; }
.service-chapter-heading {
  display: grid;
  grid-template-columns: calc(57.3% - 16px) 1fr;
  margin-bottom: 65px;
  font-size: 11px;
  line-height: 1.4;
}
.service-chapter-heading span:first-child { display: flex; gap: 50px; }
.service-chapter-heading p { max-width: 440px; font-size: 18px; line-height: 1.5; }

.service-wide { height: 76vw; max-height: 1150px; }
.service-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
.service-pair .slot { height: 65vw; max-height: 1000px; }
.service-offset { height: 58vw; margin: 0 0 180px 57.3%; }

/* ── 下一业务 ── */
.service-next {
  display: grid;
  grid-template-columns: 57.3% 1fr;
  margin: 0 16px;
  padding: 70px 0 100px;
  border-top: 1px solid #aaa;
}
.service-next small { font-size: 11px; }
.service-next button {
  font-size: clamp(45px, 6vw, 96px);
  line-height: 1;
}
.service-next button span {
  display: block;
  margin-top: 30px;
  font-size: 11px;
  letter-spacing: normal;
}

@media (min-width: 651px) and (max-width: 1000px) {
  .service-title { font-size: 7vw; }
  .service-meta { gap: 12px; font-size: 9px; }
}

@media (max-width: 650px) {
  .service-intro { display: block; }
  .service-heading { padding: 92px 16px 48px; }
  .service-title { margin-bottom: 28px; font-size: clamp(52px, 13vw, 80px); letter-spacing: 0; }
  .service-meta { gap: 16px; font-size: 10px; }
  .service-return { margin-top: 26px; }

  .service-column { padding: 0 16px 48px; }
  .service-hero { height: 110vw; min-height: 420px; }
  .service-copy { padding: 56px 0 72px; font-size: 34px; line-height: 1.07; }
  .service-copy p[lang="zh-CN"] { margin-top: 32px; font-size: 17px; }

  .service-block { width: calc((100% - 40px) * .62); margin: 55px 20px 0; padding: 24px 0 78px; }
  .service-block h3 { font-size: 24px; }
  .service-block p { font-size: 17px; }
  .service-block small { font-size: 12px; }

  .service-chapter { padding: 72px 16px 0; }
  .service-chapter + .service-chapter { padding-top: 96px; }
  .service-chapter-heading { grid-template-columns: 1fr; gap: 28px; margin-bottom: 36px; }
  .service-chapter-heading p { font-size: 16px; }
  .service-wide { height: 110vw; }
  .service-pair { gap: 12px; }
  .service-pair .slot { height: 75vw; }
  .service-offset { height: 105vw; margin: 0 0 90px 20%; }

  .service-next { grid-template-columns: 1fr; gap: 40px; padding: 45px 0 70px; }
  .service-next button { font-size: 56px; }
}
