.page-products {
  --pp-fit: 0%;
  --pp-panel-pad: 22px;
  display: block;
  background: var(--ink-900);
}

/* ---------- Hero ---------- */
.page-products .pp-hero {
  position: relative;
  overflow: hidden;
  padding: calc(var(--header-offset) + 36px) 0 64px;
  background:
    radial-gradient(120% 90% at 82% 8%, rgba(201, 162, 39, .16) 0%, rgba(201, 162, 39, 0) 58%),
    linear-gradient(158deg, #08251F 0%, #0E3A31 62%, #17594A 100%);
}

.page-products .pp-hero__grid {
  display: grid;
  gap: 40px;
  align-items: end;
}

.page-products .breadcrumb {
  margin: 0 0 20px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .04em;
  color: rgba(245, 241, 230, .55);
}

.page-products .breadcrumb a {
  color: var(--gold-soft);
  text-decoration: none;
}

.page-products .breadcrumb a:hover {
  text-decoration: underline;
}

.page-products .breadcrumb span[aria-hidden] {
  margin: 0 8px;
  color: rgba(245, 241, 230, .3);
}

.page-products .pp-hero h1 {
  margin: 0 0 20px;
  max-width: 13em;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(34px, 5.6vw, 60px);
  line-height: 1.16;
  letter-spacing: .01em;
  color: var(--paper);
}

.page-products .pp-hero .lead {
  max-width: 34em;
  margin: 0 0 4px;
  font-size: 17px;
  line-height: 1.85;
  color: rgba(245, 241, 230, .78);
}

.page-products .pp-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 30px 0 32px;
  padding: 20px 0;
  border-top: 1px solid var(--edge-soft);
  border-bottom: 1px solid var(--edge-soft);
}

.page-products .pp-stat {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.page-products .pp-stat__num {
  font-family: var(--font-mono);
  font-size: 25px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--gold);
}

.page-products .pp-stat__label {
  font-size: 13px;
  color: rgba(245, 241, 230, .64);
}

.page-products .btn-row {
  flex-wrap: wrap;
  gap: 12px;
}

.page-products .pp-hero__media {
  position: relative;
  margin: 0;
}

.page-products .pp-hero__media::after {
  content: "";
  position: absolute;
  inset: 14px -12px -12px 14px;
  border: 1px solid var(--edge-soft);
  border-radius: var(--radius-card);
  pointer-events: none;
}

.page-products .pp-hero__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--edge);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-float);
  object-fit: cover;
}

.page-products .pp-cap {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--mist);
}

.page-products .pp-hero__media .pp-cap {
  position: relative;
  z-index: 1;
  color: rgba(245, 241, 230, .56);
}

/* ---------- 共通章节 ---------- */
.page-products .section-head {
  max-width: 46em;
  margin-bottom: 40px;
}

.page-products .section-head .section-num {
  display: block;
  margin-bottom: 6px;
}

.page-products .section-title {
  margin: 6px 0 14px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(26px, 3.6vw, 40px);
  line-height: 1.25;
  color: var(--paper);
}

.page-products .section--paper .section-title {
  color: var(--charcoal);
}

.page-products .pp-lede {
  max-width: 40em;
  margin: 0;
  font-size: 16.5px;
  line-height: 1.85;
  color: rgba(245, 241, 230, .72);
}

.page-products .section--paper .pp-lede {
  color: rgba(20, 23, 26, .76);
}

.page-products .section--mid .eyebrow {
  color: var(--gold-soft);
}

/* ---------- 分段控件 ---------- */
.page-products .tabs-list {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}

.page-products .tabs-list::-webkit-scrollbar {
  display: none;
}

.page-products .tabs-list .tab {
  flex: 0 0 auto;
  white-space: nowrap;
}

.page-products .tab-panel {
  padding-top: 36px;
}

/* ---------- 功能两栏 ---------- */
.page-products .pp-feature {
  display: grid;
  gap: 34px;
}

.page-products .pp-feature__title {
  margin: 0 0 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(22px, 2.8vw, 30px);
  line-height: 1.35;
  color: var(--paper);
}

.page-products .pp-feature__lede {
  max-width: 32em;
  margin: 0 0 26px;
  font-size: 16.5px;
  line-height: 1.85;
  color: rgba(245, 241, 230, .74);
}

/* ---------- 步骤 ---------- */
.page-products .pp-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-products .pp-step {
  position: relative;
  padding: 0 0 24px 36px;
}

.page-products .pp-step::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 20px;
  bottom: 2px;
  width: 1px;
  background: linear-gradient(180deg, var(--edge) 0%, rgba(201, 162, 39, 0) 100%);
}

.page-products .pp-step:last-child {
  padding-bottom: 0;
}

.page-products .pp-step:last-child::before {
  display: none;
}

.page-products .pp-step__dot {
  position: absolute;
  left: 2px;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(201, 162, 39, .16);
}

.page-products .pp-step h4 {
  margin: 0 0 6px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16.5px;
  line-height: 1.5;
  color: var(--gold-soft);
}

.page-products .pp-step p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.8;
  color: rgba(245, 241, 230, .72);
}

/* ---------- 侧栏 ---------- */
.page-products .pp-feature__aside {
  min-width: 0;
}

.page-products .pp-aside-label {
  margin: 0 0 16px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mist);
}

.page-products .pp-levels {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--edge-soft);
}

.page-products .pp-level {
  display: grid;
  gap: 6px;
  padding: 16px 0;
  border-bottom: 1px solid var(--edge-soft);
}

.page-products .pp-level__mark {
  justify-self: start;
  padding: 3px 10px;
  border: 1px solid var(--edge);
  border-radius: var(--radius-pill);
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .08em;
  color: var(--gold-soft);
}

.page-products .pp-level p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: rgba(245, 241, 230, .74);
}

.page-products .pp-aside-note {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--mist);
}

.page-products .pp-shot {
  margin: 0;
  border: 1px solid var(--edge);
  border-radius: var(--radius-card);
  background: var(--ink-900);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.page-products .pp-shot img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-products .pp-hint {
  margin: 24px 0 0;
  padding-left: 14px;
  border-left: 2px solid var(--gold);
  font-size: 15px;
  line-height: 1.8;
  color: rgba(245, 241, 230, .75);
}

/* ---------- 计分四步 ---------- */
.page-products .pp-calc {
  margin: 0 0 4px;
  padding: var(--pp-panel-pad);
  border: 1px solid var(--edge);
  border-radius: var(--radius-card);
  background: rgba(8, 37, 31, .55);
}

.page-products .pp-calc__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.page-products .pp-calc:has(.pp-calc__input:focus-visible) .pp-calc__nav {
  outline: 2px solid var(--gold);
  outline-offset: 6px;
  border-radius: 12px;
}

.page-products .pp-calc__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.page-products .pp-calc__nav label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .04em;
  color: rgba(245, 241, 230, .6);
  cursor: pointer;
  transition: color .2s ease-out, border-color .2s ease-out, background-color .2s ease-out;
}

.page-products .pp-calc__nav label:hover {
  color: var(--gold-soft);
  border-color: var(--edge-soft);
}

.page-products .pp-calc__dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(245, 241, 230, .28);
  transition: background-color .2s ease-out;
}

.page-products .pp-calc__input:nth-of-type(1):checked ~ .pp-calc__nav > li:nth-child(1) label,
.page-products .pp-calc__input:nth-of-type(2):checked ~ .pp-calc__nav > li:nth-child(2) label,
.page-products .pp-calc__input:nth-of-type(3):checked ~ .pp-calc__nav > li:nth-child(3) label,
.page-products .pp-calc__input:nth-of-type(4):checked ~ .pp-calc__nav > li:nth-child(4) label {
  color: var(--gold);
  border-color: var(--gold);
  background: rgba(201, 162, 39, .1);
}

.page-products .pp-calc__input:nth-of-type(1):checked ~ .pp-calc__nav > li:nth-child(1) .pp-calc__dot,
.page-products .pp-calc__input:nth-of-type(2):checked ~ .pp-calc__nav > li:nth-child(2) .pp-calc__dot,
.page-products .pp-calc__input:nth-of-type(3):checked ~ .pp-calc__nav > li:nth-child(3) .pp-calc__dot,
.page-products .pp-calc__input:nth-of-type(4):checked ~ .pp-calc__nav > li:nth-child(4) .pp-calc__dot {
  background: var(--gold);
}

.page-products .pp-calc__view {
  display: none;
}

.page-products .pp-calc__input:nth-of-type(1):checked ~ .pp-calc__views > .pp-calc__view:nth-child(1),
.page-products .pp-calc__input:nth-of-type(2):checked ~ .pp-calc__views > .pp-calc__view:nth-child(2),
.page-products .pp-calc__input:nth-of-type(3):checked ~ .pp-calc__views > .pp-calc__view:nth-child(3),
.page-products .pp-calc__input:nth-of-type(4):checked ~ .pp-calc__views > .pp-calc__view:nth-child(4) {
  display: block;
  animation: ppFade .28s ease-out both;
}

@keyframes ppFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.page-products .pp-calc__kicker {
  margin: 0 0 6px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .1em;
  color: var(--mist);
}

.page-products .pp-calc__view h4 {
  margin: 0 0 10px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 17px;
  line-height: 1.5;
  color: var(--paper);
}

.page-products .pp-calc__view p {
  margin: 0 0 14px;
  font-size: 15.5px;
  line-height: 1.8;
  color: rgba(245, 241, 230, .74);
}

.page-products .pp-calc .formula {
  margin: 0;
  border-left: 2px solid var(--gold);
  font-family: var(--font-mono);
  font-size: 13.5px;
  letter-spacing: .02em;
}

/* ---------- 适配条 ---------- */
.page-products .pp-fit {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-top: 30px;
  padding: 16px 18px;
  border: 1px solid var(--edge-soft);
  border-radius: 14px;
  background: rgba(8, 37, 31, .45);
}

.page-products .pp-fit__label {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .1em;
  color: var(--mist);
}

.page-products .pp-fit__track {
  height: 8px;
  border-radius: var(--radius-pill);
  background: rgba(245, 241, 230, .1);
  overflow: hidden;
}

.page-products .pp-fit__fill {
  display: block;
  height: 100%;
  width: var(--pp-fit);
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-soft) 100%);
}

.page-products .pp-fit__value {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(245, 241, 230, .72);
}

.page-products .pp-fit--25 { --pp-fit: 25%; }
.page-products .pp-fit--75 { --pp-fit: 75%; }
.page-products .pp-fit--100 { --pp-fit: 100%; }

/* ---------- 设备对照 ---------- */
.page-products .pp-table-wrap {
  border: 1px solid var(--line-paper);
  border-radius: var(--radius-card);
  background: var(--paper);
  overflow-x: auto;
}

.page-products .pp-table__caption {
  padding: 16px 18px 4px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
  text-align: left;
  color: rgba(20, 23, 26, .55);
  caption-side: top;
}

.page-products .pp-table {
  width: 100%;
  min-width: 660px;
  border-collapse: collapse;
  font-size: 15px;
}

.page-products .pp-table thead th {
  padding: 14px 18px;
  background: var(--ink-700);
  border-bottom: 2px solid var(--gold);
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: left;
  color: var(--gold-soft);
}

.page-products .pp-table tbody th {
  padding: 15px 18px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  color: var(--charcoal);
  white-space: nowrap;
}

.page-products .pp-table tbody td {
  padding: 15px 18px;
  line-height: 1.7;
  color: rgba(20, 23, 26, .8);
}

.page-products .pp-table tbody tr + tr th,
.page-products .pp-table tbody tr + tr td {
  border-top: 1px solid var(--line-paper);
}

.page-products .pp-table tbody tr:nth-child(even) {
  background: rgba(14, 58, 49, .05);
}

.page-products .pp-devices__media {
  margin: 34px 0 0;
  border: 1px solid var(--line-paper);
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--ink-900);
}

.page-products .pp-devices__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-products .pp-devices__media .pp-cap {
  padding: 14px 18px 18px;
  margin: 0;
  color: rgba(245, 241, 230, .6);
}

/* ---------- 收尾 ---------- */
.page-products .pp-next {
  background: linear-gradient(140deg, #0E3A31 0%, #17594A 100%);
}

.page-products .pp-next__grid {
  display: grid;
  gap: 30px;
  align-items: center;
}

.page-products .pp-next__copy p {
  max-width: 40em;
  margin: 0;
  font-size: 16.5px;
  line-height: 1.85;
  color: rgba(245, 241, 230, .76);
}

.page-products .pp-next__title {
  margin: 8px 0 14px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(24px, 3.4vw, 36px);
  line-height: 1.3;
  color: var(--paper);
}

.page-products .pp-next__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ---------- 响应式 ---------- */
@media (min-width: 720px) {
  .page-products .pp-hero__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-products .pp-fit {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
  }

  .page-products .pp-fit__label,
  .page-products .pp-fit__value {
    white-space: nowrap;
  }

  .page-products .pp-calc__nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-products .pp-calc {
    --pp-panel-pad: 26px;
  }
}

@media (min-width: 900px) {
  .page-products .pp-hero {
    padding: calc(var(--header-offset) + 56px) 0 88px;
  }

  .page-products .pp-hero__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.86fr);
    gap: 58px;
  }

  .page-products .pp-feature {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    gap: 48px;
    align-items: start;
  }

  .page-products .pp-feature__aside--tall {
    margin-top: 6px;
  }

  .page-products .pp-next__grid {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
  }

  .page-products .pp-next__links {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-products .pp-calc__input:nth-of-type(1):checked ~ .pp-calc__views > .pp-calc__view:nth-child(1),
  .page-products .pp-calc__input:nth-of-type(2):checked ~ .pp-calc__views > .pp-calc__view:nth-child(2),
  .page-products .pp-calc__input:nth-of-type(3):checked ~ .pp-calc__views > .pp-calc__view:nth-child(3),
  .page-products .pp-calc__input:nth-of-type(4):checked ~ .pp-calc__views > .pp-calc__view:nth-child(4) {
    animation: none;
  }

  .page-products .pp-calc__nav label,
  .page-products .pp-calc__dot {
    transition: none;
  }
}
