.page-products{
  --pg-space:clamp(56px,8vw,104px);
  --pg-line-soft:rgba(18,49,79,.14);
  background:var(--paper);
  color:var(--ink);
}

.page-products .wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.page-products .crumbs{
  padding-top:clamp(16px,3vw,28px);
}
.page-products .crumbs__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:0;
  padding:0;
  list-style:none;
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.08em;
  color:var(--ink-soft);
}
.page-products .crumbs__link{
  color:var(--deep);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.page-products .crumbs__link:hover,
.page-products .crumbs__link:focus-visible{
  border-bottom-color:var(--sand);
}
.page-products .crumbs__sep{color:var(--sand);}
.page-products .crumbs__current{color:var(--ink);}

/* ---------- 首屏 ---------- */
.page-products .pg-hero{
  position:relative;
  padding:clamp(28px,5vw,48px) 0 clamp(40px,6vw,72px);
  border-bottom:1px solid var(--pg-line-soft);
  background:linear-gradient(180deg,rgba(243,231,206,.62),rgba(251,247,239,0) 78%);
  overflow:hidden;
}
.page-products .pg-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(90deg,rgba(18,49,79,.09) 1px,transparent 1px),
    linear-gradient(0deg,rgba(18,49,79,.09) 1px,transparent 1px);
  background-size:68px 68px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 82%);
  mask-image:linear-gradient(180deg,#000,transparent 82%);
  opacity:.85;
}
.page-products .pg-hero > .wrap{
  position:relative;
  z-index:1;
}
.page-products .eyebrow{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--deep);
}
.page-products .pg-hero__title{
  margin:0;
  max-width:16ch;
  font-size:var(--fs-1);
  font-weight:900;
  line-height:1.06;
  letter-spacing:-.02em;
  color:var(--night);
}
.page-products .pg-hero__lede{
  margin:clamp(20px,3vw,28px) 0 0;
  max-width:36ch;
  font-size:var(--fs-5);
  line-height:1.9;
  color:var(--ink-soft);
}
.page-products .pg-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:clamp(22px,3vw,30px) 0 0;
  padding:0;
  list-style:none;
}
.page-products .chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  border:1px solid var(--pg-line-soft);
  border-radius:var(--pill);
  background:rgba(251,247,239,.9);
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.06em;
  color:var(--deep);
}
.page-products .chip--ok{
  border-color:rgba(79,124,74,.4);
  color:var(--poplar);
}
.page-products .status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--poplar);
}

/* ---------- 双栏骨架 ---------- */
.page-products .layout-editorial{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(32px,5vw,56px);
  padding-block:var(--pg-space) 0;
}
.page-products .layout-editorial__main{min-width:0;}
.page-products .layout-editorial__rail{min-width:0;}

/* ---------- 区块通用 ---------- */
.page-products .section{
  padding-bottom:var(--pg-space);
}
.page-products .section__head{
  margin-bottom:clamp(22px,3.5vw,34px);
}
.page-products .pg-h2{
  margin:0;
  font-size:var(--fs-2);
  font-weight:900;
  line-height:1.16;
  letter-spacing:-.02em;
  color:var(--night);
}
.page-products .section__head .prose{margin-top:16px;}
.page-products .prose{
  margin:0;
  max-width:34em;
  font-size:var(--fs-5);
  line-height:1.9;
  color:var(--ink-soft);
}
.page-products .prose + .prose{margin-top:14px;}
.page-products .prose a,
.page-products .pg-tail-link a,
.page-products .pg-check__link a,
.page-products .scene a{
  color:var(--clay);
  text-decoration:none;
  border-bottom:1px solid rgba(194,84,47,.4);
}
.page-products .prose a:hover,
.page-products .pg-tail-link a:hover,
.page-products .pg-check__link a:hover,
.page-products .scene a:hover{
  border-bottom-color:var(--clay);
}
.page-products .num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:.08em;
}
.page-products .pg-tail-link{
  margin:clamp(24px,3vw,32px) 0 0;
  padding-left:14px;
  border-left:3px solid var(--sand);
  font-size:var(--fs-6);
  font-family:var(--font-mono);
  letter-spacing:.04em;
  line-height:1.8;
  color:var(--ink-soft);
}

/* ---------- 图片 ---------- */
.page-products .pg-figure{
  margin:0 0 clamp(26px,4vw,38px);
  border:1px solid var(--pg-line-soft);
  background:var(--sand-pale);
  overflow:hidden;
}
.page-products .media__img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-products .media__caption{
  padding:10px 14px;
  border-top:1px solid var(--line-sand);
  background:var(--paper);
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.06em;
  color:var(--ink-soft);
}

/* ---------- 步骤卡 ---------- */
.page-products .step-list{
  position:relative;
  padding:0;
  margin:0;
}
.page-products .step-list::before{
  content:"";
  position:absolute;
  left:19px;
  top:26px;
  bottom:26px;
  width:1px;
  background:repeating-linear-gradient(180deg,var(--sand) 0 6px,transparent 6px 12px);
}
.page-products .step-card{
  position:relative;
  margin:0 0 14px;
  padding-left:54px;
  background:transparent;
}
.page-products .step-card__head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px 14px 18px;
  border:1px solid var(--pg-line-soft);
  border-left:3px solid var(--sand);
  background:var(--paper);
  cursor:pointer;
  list-style:none;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.page-products .step-card__head::-webkit-details-marker{display:none;}
.page-products .step-card__head:hover{background:var(--sand-pale);}
.page-products .step-card__head:focus-visible{
  outline:2px solid var(--sky);
  outline-offset:2px;
}
.page-products .step-card__num{
  position:absolute;
  left:0;
  top:14px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--night);
  color:var(--paper);
  font-size:var(--fs-6);
  letter-spacing:.02em;
  z-index:1;
}
.page-products .step-card__title{
  font-size:var(--fs-4);
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.35;
  color:var(--night);
}
.page-products .step-card__body{
  padding:14px 16px 16px 18px;
  border:1px solid var(--pg-line-soft);
  border-top:0;
  border-left:3px solid var(--sand);
  background:rgba(243,231,206,.42);
}
.page-products .step-card__body p{
  margin:0;
  max-width:32em;
  font-size:var(--fs-5);
  line-height:1.85;
  color:var(--ink-soft);
}
.page-products .step-card[open] .step-card__head{
  background:var(--sand-pale);
  border-bottom-color:transparent;
}

/* ---------- 电脑端 ---------- */
.page-products .pg-two{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3.5vw,34px);
  align-items:start;
}
.page-products .pg-points{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--pg-line-soft);
}
.page-products .pg-points li{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px 0;
  border-bottom:1px solid var(--pg-line-soft);
  font-size:var(--fs-5);
  line-height:1.7;
  color:var(--ink-soft);
}
.page-products .pg-points .num{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  background:var(--deep);
  color:var(--paper);
  font-size:var(--fs-6);
}

/* ---------- 四端表格 ---------- */
.page-products .dev-table-wrap{
  overflow-x:auto;
  border:1px solid var(--pg-line-soft);
  background:var(--paper);
  -webkit-overflow-scrolling:touch;
}
.page-products .dev-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  font-size:var(--fs-6);
  font-family:var(--font-mono);
  letter-spacing:.02em;
}
.page-products .dev-table__caption{
  padding:12px 14px;
  text-align:left;
  font-size:var(--fs-6);
  letter-spacing:.1em;
  color:var(--deep);
  border-bottom:1px solid var(--line-sand);
  background:var(--sand-pale);
}
.page-products .dev-table th,
.page-products .dev-table td{
  padding:14px 16px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--pg-line-soft);
  line-height:1.7;
  color:var(--ink-soft);
}
.page-products .dev-table thead th{
  background:var(--night);
  color:var(--on-night);
  font-weight:500;
  letter-spacing:.1em;
  border-bottom:0;
}
.page-products .dev-table tbody th{
  color:var(--night);
  font-weight:700;
  white-space:nowrap;
}
.page-products .dev-table tbody tr{
  transition:background var(--dur) var(--ease);
}
.page-products .dev-table tbody tr:hover,
.page-products .dev-table tbody tr:focus-within{
  background:var(--sand-pale);
}
.page-products .dev-table tbody tr:last-child th,
.page-products .dev-table tbody tr:last-child td{
  border-bottom:0;
}

/* ---------- 右侧书签栏 ---------- */
.page-products .pg-rail{
  padding:20px;
  border:1px solid var(--pg-line-soft);
  border-top:4px solid var(--night);
  background:rgba(243,231,206,.5);
}
.page-products .pg-rail__title{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.12em;
  color:var(--deep);
}
.page-products .pg-rail__list{
  margin:0 0 20px;
  padding:0;
  list-style:none;
  border-top:1px dashed var(--line-sand);
}
.page-products .pg-rail__list li{
  border-bottom:1px dashed var(--line-sand);
}
.page-products .pg-rail__link{
  display:flex;
  gap:10px;
  align-items:baseline;
  padding:11px 4px 11px 10px;
  border-left:0 solid var(--clay);
  color:var(--ink);
  text-decoration:none;
  font-size:var(--fs-5);
  line-height:1.5;
  transition:border-left-width 220ms var(--ease),background 220ms var(--ease);
}
.page-products .pg-rail__link .num{
  font-size:var(--fs-6);
  color:var(--clay);
}
.page-products .pg-rail__link:hover,
.page-products .pg-rail__link:focus-visible{
  border-left-width:6px;
  background:var(--paper);
}
.page-products .pg-rail__block{
  padding-top:6px;
}
.page-products .pg-rail__devices{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}
.page-products .pg-rail__devices a{
  padding:6px 11px;
  border:1px solid var(--pg-line-soft);
  background:var(--paper);
  color:var(--deep);
  text-decoration:none;
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.06em;
}
.page-products .pg-rail__devices a:hover,
.page-products .pg-rail__devices a:focus-visible{
  background:var(--night);
  color:var(--paper);
  border-color:var(--night);
}
.page-products .pg-rail__note{
  margin:18px 0 0;
  padding-top:12px;
  border-top:1px solid var(--pg-line-soft);
  font-size:var(--fs-6);
  color:var(--ink-soft);
}

/* ---------- 横向暮蓝带 ---------- */
.page-products .pg-band{
  margin-block:clamp(8px,2vw,20px);
  background:var(--night);
  color:var(--paper);
  border-top:6px solid var(--sand);
}
.page-products .pg-band__inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  padding-block:clamp(26px,4vw,40px);
}
.page-products .pg-band__text{
  margin:0;
  max-width:26ch;
  font-size:var(--fs-3);
  font-weight:900;
  line-height:1.35;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-products .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 24px;
  border:0;
  border-radius:var(--pill);
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.1em;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.page-products .btn--clay{
  background:var(--clay);
  color:var(--paper);
}
.page-products .btn--clay:hover,
.page-products .btn--clay:focus-visible{
  background:var(--clay-deep);
  transform:translateY(-1px);
}

/* ---------- 会员中心 ---------- */
.page-products .pg-member{
  padding-top:var(--pg-space);
}
.page-products .pg-member__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3.5vw,34px);
  align-items:start;
}
.page-products .pg-member__figure{
  margin-bottom:0;
}
.page-products .mcenter{
  display:grid;
  grid-template-columns:1fr;
  background:var(--paper);
  border-top:1px solid var(--line-sand);
  border-left:1px solid var(--line-sand);
}
.page-products .mcell{
  padding:20px 18px 22px;
  border-right:1px dashed var(--line-sand);
  border-bottom:1px dashed var(--line-sand);
  transition:background var(--dur) var(--ease);
}
.page-products .mcell:hover,
.page-products .mcell:focus-within{
  background:var(--sand-pale);
}
.page-products .mcell__num{
  display:inline-block;
  margin-bottom:8px;
  font-size:var(--fs-6);
  color:var(--clay);
}
.page-products .mcell__title{
  margin:0 0 8px;
  font-size:var(--fs-4);
  font-weight:900;
  letter-spacing:-.01em;
  color:var(--night);
}
.page-products .mcell p{
  margin:0;
  font-size:var(--fs-5);
  line-height:1.8;
  color:var(--ink-soft);
}
.page-products .mcell__note{
  margin-top:10px !important;
  font-family:var(--font-mono);
  font-size:var(--fs-6) !important;
  letter-spacing:.06em;
  color:var(--deep) !important;
}

/* ---------- 场景 ---------- */
.page-products .pg-scenes{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3.5vw,34px);
  align-items:start;
}
.page-products .pg-scenes__main{
  display:grid;
  gap:14px;
  min-width:0;
}
.page-products .scene{
  padding:20px 20px 22px;
  border-left:4px solid var(--deep);
  background:rgba(243,231,206,.45);
}
.page-products .scene:nth-child(even){
  border-left-color:var(--poplar);
}
.page-products .scene__num{
  margin:0 0 8px;
  font-size:var(--fs-6);
  color:var(--deep);
}
.page-products .scene__title{
  margin:0 0 8px;
  font-size:var(--fs-4);
  font-weight:900;
  line-height:1.35;
  letter-spacing:-.01em;
  color:var(--night);
}
.page-products .scene p{
  margin:0;
  font-size:var(--fs-5);
  line-height:1.85;
  color:var(--ink-soft);
}
.page-products .pg-scenes__figure{
  margin-bottom:0;
}

/* ---------- 验证 ---------- */
.page-products .pg-check{
  padding-top:var(--pg-space);
  padding-bottom:clamp(56px,8vw,96px);
  border-top:1px solid var(--pg-line-soft);
}
.page-products .pg-check__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(24px,4vw,40px);
  align-items:start;
}
.page-products .pg-check__figure{
  margin-bottom:0;
}
.page-products .pg-check__link{
  margin:18px 0 0;
  font-size:var(--fs-5);
  line-height:1.8;
  color:var(--ink-soft);
}
.page-products .pg-check__stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:clamp(28px,4vw,44px) 0 0;
  padding:0;
  list-style:none;
  background:var(--line-sand);
  border:1px solid var(--line-sand);
}
.page-products .pg-check__stats li{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:20px 16px;
  background:var(--paper);
}
.page-products .pg-check__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--fs-2);
  font-weight:700;
  line-height:1;
  color:var(--night);
}
.page-products .pg-check__label{
  font-family:var(--font-mono);
  font-size:var(--fs-6);
  letter-spacing:.08em;
  color:var(--ink-soft);
}

/* ---------- 交互与动效 ---------- */
.page-products [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.page-products [data-reveal].is-in{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  .page-products [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }
  .page-products .step-card__head,
  .page-products .pg-rail__link,
  .page-products .mcell,
  .page-products .btn{
    transition:none;
  }
}

/* ---------- 窄屏适配 ---------- */
@media (max-width:519px){
  .page-products .step-card__title{font-size:var(--fs-5);}
  .page-products .step-card{padding-left:48px;}
  .page-products .step-card__num{width:34px;height:34px;}
  .page-products .step-list::before{left:16px;}
  .page-products .pg-rail{padding:16px;}
}

/* ---------- 平板 ---------- */
@media (min-width:700px){
  .page-products .pg-two{
    grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  }
  .page-products .mcenter{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .page-products .pg-band__inner{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .page-products .pg-band__text{max-width:34ch;}
  .page-products .pg-check__stats{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (hover:hover) and (min-width:900px){
  .page-products .mcell__note{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0 !important;
    transition:max-height var(--dur) var(--ease),opacity var(--dur) var(--ease),margin-top var(--dur) var(--ease);
  }
  .page-products .mcell:hover .mcell__note,
  .page-products .mcell:focus-within .mcell__note{
    max-height:64px;
    opacity:1;
    margin-top:10px !important;
  }
}

/* ---------- 桌面 ---------- */
@media (min-width:900px){
  .page-products .layout-editorial{
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:0;
    column-gap:clamp(20px,2.4vw,32px);
  }
  .page-products .layout-editorial__main{
    grid-column:1 / span 8;
  }
  .page-products .layout-editorial__rail{
    grid-column:10 / span 3;
  }
  .page-products .pg-rail{
    position:sticky;
    top:96px;
  }

  .page-products .step-card:nth-child(even){
    margin-left:36px;
    padding-left:58px;
  }
  .page-products .step-card:nth-child(odd){
    max-width:94%;
  }

  .page-products .pg-member__grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  }
  .page-products .mcenter{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .page-products .pg-scenes{
    grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  }
  .page-products .scene:nth-child(even){
    margin-left:28px;
  }

  .page-products .pg-check__inner{
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  }
  .page-products .pg-check__figure{
    margin-top:6px;
  }
}

@media (min-width:1100px){
  .page-products .pg-rail{
    padding:24px 22px;
  }
  .page-products .pg-hero__lede{
    max-width:38ch;
  }
}
<<<END>>>
