.page-products{
  --pf-rule:rgba(169,198,201,.42);
  --pf-rule-soft:rgba(169,198,201,.22);
  background-color:var(--paper);
  color:var(--black);
  font-family:var(--font-body);
  overflow-x:hidden;
}

.page-products a{ color:inherit; }

.page-products .wrap{
  width:100%;
  max-width:1480px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

@media (min-width:768px){
  .page-products .wrap{ padding-left:36px; padding-right:36px; }
}
@media (min-width:1280px){
  .page-products .wrap{ padding-left:64px; padding-right:64px; }
}

/* ---------- 首屏 ---------- */
.pf-hero{
  position:relative;
  padding:22px 0 56px;
  background-color:var(--paper);
  background-image:
    linear-gradient(to right, rgba(169,198,201,.20) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(169,198,201,.20) 1px, transparent 1px);
  background-size:24px 24px;
  border-bottom:1px solid var(--pf-rule);
}
@media (min-width:900px){
  .pf-hero{ padding:26px 0 88px; }
}

.pf-crumbs{ margin-bottom:26px; font-size:13px; }
.pf-crumbs ol{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; font-family:var(--font-mono); letter-spacing:.04em; color:var(--slate); }
.pf-crumbs li + li::before{ content:"/"; margin-right:8px; color:var(--mist); }
.pf-crumbs a{ text-decoration:none; color:var(--slate); border-bottom:1px solid transparent; }
.pf-crumbs a:hover{ color:var(--orange-deep); border-bottom-color:var(--orange-deep); }

.pf-hero__grid{
  display:grid;
  gap:32px;
}
@media (min-width:960px){
  .pf-hero__grid{
    grid-template-columns:minmax(0,7fr) minmax(0,4fr);
    align-items:start;
    gap:clamp(32px,5vw,72px);
  }
}

.pf-hero__lead .eyebrow{ margin:0 0 16px; }

.pf-title{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.02;
}
.pf-title__main{
  display:block;
  font-size:clamp(30px,6.6vw,68px);
}
.pf-title__sub{
  display:block;
  margin-top:14px;
  font-family:var(--font-mono);
  font-weight:500;
  font-size:clamp(13px,1.7vw,16px);
  letter-spacing:.02em;
  color:var(--ink-soft);
}

.pf-hero__lede{
  margin:22px 0 0;
  max-width:38ch;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.78;
  color:var(--black);
}

.pf-hero__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
  margin-top:30px;
}

.pf-textlink{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
  text-decoration:none;
  color:var(--ink-soft);
  border-bottom:1px solid var(--pf-rule);
  padding-bottom:2px;
}
.pf-textlink:hover{ color:var(--orange-deep); border-bottom-color:var(--orange-deep); }

/* 目录 */
.pf-index{
  position:relative;
  padding:22px 22px 24px;
  background:rgba(244,240,230,.82);
  border:1px solid var(--pf-rule);
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}
.pf-index__title{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--slate);
}
.pf-index__list{
  list-style:none;
  margin:0;
  padding:0;
}
.pf-index__list a{
  display:flex;
  align-items:baseline;
  gap:14px;
  padding:11px 0;
  font-size:15px;
  text-decoration:none;
  color:var(--ink);
  border-bottom:1px dashed var(--pf-rule-soft);
}
.pf-index__list li:last-child a{ border-bottom:0; }
.pf-index__list a:hover{ color:var(--orange-deep); }
.pf-index__list a:hover .pf-index__num{ color:var(--orange-deep); }
.pf-index__num{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--cyan);
  flex:none;
}
.pf-index__note{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid var(--pf-rule-soft);
  font-size:13px;
  line-height:1.7;
  color:var(--slate);
}

/* ---------- 通用章节头 ---------- */
.pf-head{ margin:0 0 30px; max-width:720px; }
.pf-head h2{
  margin:10px 0 0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(23px,3.4vw,40px);
  letter-spacing:-.02em;
  line-height:1.12;
}
.pf-head__note{
  margin:16px 0 0;
  font-size:15px;
  line-height:1.78;
  color:var(--slate);
  max-width:62ch;
}
.pf-head--ink h2{ color:var(--paper); }
.pf-head--ink .pf-head__note{ color:var(--mist); }

/* ---------- 总览 ---------- */
.pf-overview{
  padding:clamp(48px,6vw,96px) 0;
  background:var(--paper);
}
.pf-overview__grid{
  display:grid;
  gap:34px;
}
@media (min-width:960px){
  .pf-overview__grid{
    grid-template-columns:minmax(0,6fr) minmax(0,5fr);
    gap:clamp(32px,4vw,64px);
    align-items:start;
  }
}
.pf-overview__text p{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.8;
  color:var(--black);
  max-width:56ch;
}
.pf-overview__stat{
  font-size:clamp(16px,1.8vw,19px);
  font-family:var(--font-body);
}
.pf-overview__stat span{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:1.5em;
  color:var(--orange-deep);
  letter-spacing:-.02em;
}

.pf-files{
  list-style:none;
  margin:26px 0;
  padding:0;
  border-top:1px solid var(--pf-rule);
}
.pf-files li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid var(--pf-rule);
}
.pf-files__key{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--paper);
  background:var(--ink);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}
.pf-files b{
  display:block;
  font-family:var(--font-display);
  font-weight:900;
  font-size:16px;
  letter-spacing:-.01em;
  margin-bottom:6px;
}
.pf-files p{
  margin:0;
  font-size:14px;
  line-height:1.72;
  color:var(--slate);
}
.pf-overview__order{
  padding:16px 18px;
  background:rgba(169,198,201,.14);
  border-left:3px solid var(--cyan);
  font-size:15px;
  line-height:1.78;
  margin:0;
}
.pf-overview__order::first-line{ font-weight:500; }

.pf-overview__media{
  margin:0;
  position:relative;
}
.pf-overview__media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:14/9;
  object-fit:cover;
  background:var(--ink-soft);
  clip-path:polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
}
.pf-overview__media figcaption{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.7;
  letter-spacing:.02em;
  color:var(--slate);
}

/* ---------- 版本区 ---------- */
.pf-versions{
  position:relative;
  overflow:hidden;
  padding:clamp(48px,6vw,96px) 0 clamp(40px,5vw,72px);
  background-color:var(--ink);
  background-image:linear-gradient(160deg, rgba(122,92,255,.22) 0%, rgba(11,27,43,0) 46%);
  color:var(--paper);
}
.pf-versions__texture{
  position:absolute;
  top:-10px;
  right:0;
  width:min(460px,50%);
  height:auto;
  max-width:100%;
  opacity:.16;
  pointer-events:none;
  object-fit:cover;
}
.pf-versions .wrap{ position:relative; z-index:1; }

.ver-panel{ position:relative; }

.ver-filter{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:28px;
}
.ver-filter input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.ver-filter label{
  display:inline-flex;
  align-items:center;
  padding:9px 16px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--paper);
  border:1px solid var(--mist);
  cursor:pointer;
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
  transition:background-color .2s var(--ease), color .2s var(--ease);
}
.ver-filter label:hover{ border-color:var(--cyan); color:var(--cyan-soft); }
.ver-filter input:checked + label{
  background:var(--orange);
  border-color:var(--orange);
  color:#0B1B2B;
}
.ver-filter input:focus-visible + label{
  outline:2px solid var(--cyan);
  outline-offset:3px;
}

.ver-matrix{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:start;
}
@media (min-width:620px){
  .ver-matrix{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px){
  .ver-matrix{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
}

.ver-card{
  --cut:14px;
  position:relative;
  display:grid;
  align-content:start;
  gap:14px;
  padding:22px 22px 20px;
  background:var(--ink-soft);
  border:1px solid var(--pf-rule-soft);
  clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%);
  transition:transform .25s var(--ease), border-color .25s var(--ease);
}
.ver-card:hover{ transform:translateY(-3px); border-color:var(--cyan); }
.ver-card:nth-child(1){ --cut:30px; }
.ver-card:nth-child(2){ --cut:26px; }
.ver-card:nth-child(3){ --cut:22px; }
.ver-card:nth-child(4){ --cut:18px; }
.ver-card:nth-child(5){ --cut:14px; }
.ver-card:nth-child(6){ --cut:10px; }

@media (min-width:1024px){
  .ver-card:nth-child(2){ margin-top:26px; }
  .ver-card:nth-child(3){ margin-top:10px; }
  .ver-card:nth-child(5){ margin-top:18px; }
  .ver-card:nth-child(6){ margin-top:34px; }
}

.ver-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ver-card__quarter{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--cyan-soft);
}
.ver-card__state{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--mist);
}
.ver-card__dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan);
  display:inline-block;
}
.ver-card__no{
  margin:0;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:34px;
  letter-spacing:-.02em;
  line-height:1;
  color:var(--paper);
}
.ver-card__meta{
  margin:0;
  display:grid;
  gap:6px;
  font-size:13px;
}
.ver-card__meta div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:6px;
  border-bottom:1px dashed rgba(169,198,201,.24);
}
.ver-card__meta dt{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--mist);
}
.ver-card__meta dd{
  margin:0;
  color:var(--paper);
}
.ver-card__hint{
  margin:0;
  font-size:12.5px;
  line-height:1.65;
  color:var(--mist);
}

.pf-versions__foot{
  margin:30px 0 0;
  font-size:13.5px;
  line-height:1.8;
  color:var(--mist);
  max-width:66ch;
}
.pf-versions__foot a{
  color:var(--cyan-soft);
  text-decoration:none;
  border-bottom:1px solid rgba(127,243,228,.4);
}
.pf-versions__foot a:hover{ color:var(--orange); border-bottom-color:var(--orange); }

/* 纯 CSS 筛选（渐进增强） */
.page-products .ver-panel:has(#vf-now:checked) .ver-card:not(.ver-card--now){ display:none; }
.page-products .ver-panel:has(#vf-recent:checked) .ver-card--older{ display:none; }
.page-products .ver-panel:has(#vf-older:checked) .ver-card:not(.ver-card--older){ display:none; }

/* ---------- 斜切渐变带 ---------- */
.pf-slant{
  height:clamp(40px,5.4vw,76px);
  background:linear-gradient(92deg, var(--violet) 0%, var(--cyan) 52%, var(--orange) 100%);
  clip-path:polygon(0 0, 100% 0, 100% 100%, 0 34%);
}

/* ---------- 六步轨道 ---------- */
.pf-track{
  padding:clamp(44px,5.4vw,84px) 0 clamp(48px,6vw,92px);
  background:var(--paper);
}
.pf-track__figure{
  margin:0 0 clamp(30px,4vw,48px);
}
.pf-track__figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:16/5;
  object-fit:cover;
  background:var(--ink-soft);
  clip-path:polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
}
.pf-track__figure figcaption{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.02em;
  color:var(--slate);
}

.pf-track__rail{
  position:relative;
  margin:0 0 clamp(30px,3.6vw,46px);
}
.pf-track__svg{ display:none; }
.pf-track__line{
  stroke:rgba(11,27,43,.22);
  stroke-width:2;
  stroke-dasharray:6 8;
}

.pf-track__nodes{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}
.pf-track__nodes::before{
  content:"";
  position:absolute;
  left:18px;
  top:8px;
  bottom:8px;
  width:2px;
  background:repeating-linear-gradient(to bottom, rgba(11,27,43,.24) 0 6px, transparent 6px 14px);
}

.pf-node{
  display:grid;
  gap:7px;
  justify-items:start;
  padding:2px 0;
}
.pf-node__num{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}
.pf-node__name{
  font-family:var(--font-display);
  font-weight:700;
  font-size:14.5px;
  letter-spacing:-.01em;
  color:var(--ink);
}

.pf-level{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:4px 10px;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}
.pf-level i{
  width:7px;
  height:7px;
  border-radius:50%;
  display:block;
  flex:none;
  background:var(--cyan);
}
.pf-level--std i{ background:var(--yellow); }
.pf-level--adv i{ background:var(--orange); }

@media (min-width:900px){
  .pf-track__svg{
    display:block;
    position:absolute;
    left:0;
    top:18px;
    width:100%;
    height:2px;
  }
  .pf-track__nodes{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    align-items:start;
  }
  .pf-track__nodes::before{ display:none; }
}

.pf-steps{ border-top:1px solid var(--pf-rule); }
.pf-step{ border-bottom:1px solid var(--pf-rule); }
.pf-step summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  padding:16px 0;
  cursor:pointer;
  list-style:none;
}
.pf-step summary::-webkit-details-marker{ display:none; }
.pf-step summary:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
}
.pf-step__num{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--orange-deep);
  flex:none;
}
.pf-step__name{
  font-family:var(--font-display);
  font-weight:900;
  font-size:17px;
  letter-spacing:-.01em;
  color:var(--ink);
}
.pf-step summary .pf-level{ margin-left:auto; }
.pf-step summary::after{
  content:"+";
  flex:none;
  font-family:var(--font-mono);
  font-size:16px;
  color:var(--slate);
}
.pf-step[open] summary::after{ content:"–"; }
.pf-step__body{
  padding:0 0 20px;
  max-width:70ch;
}
.pf-step__body p{
  margin:0 0 8px;
  font-size:14.5px;
  line-height:1.8;
  color:var(--slate);
}
.pf-step__body b{
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  margin-right:6px;
}

/* ---------- 难度与时长 ---------- */
.pf-effort{
  padding:clamp(44px,5.4vw,84px) 0;
  background-color:var(--ink-soft);
  background-image:linear-gradient(200deg, rgba(23,224,200,.14) 0%, rgba(15,47,60,0) 52%);
  color:var(--paper);
}
.pf-effort__grid{
  display:grid;
  gap:34px;
}
@media (min-width:960px){
  .pf-effort__grid{
    grid-template-columns:minmax(0,7fr) minmax(0,4fr);
    gap:clamp(32px,4vw,64px);
    align-items:start;
  }
}

.pf-bars{
  list-style:none;
  margin:0;
  padding:0;
}
.pf-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px 16px;
  padding:13px 0;
  border-bottom:1px solid rgba(169,198,201,.18);
}
.pf-bar__name{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.04em;
  color:var(--paper);
}
.pf-bar__time{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--mist);
}
.pf-bar__track{
  grid-column:1 / -1;
  display:block;
  height:8px;
  background:rgba(169,198,201,.16);
}
.pf-bar__fill{
  display:block;
  height:100%;
  width:25%;
}
.pf-bar__fill--light{ background:var(--cyan); }
.pf-bar__fill--std{ background:var(--yellow); }
.pf-bar__fill--adv{ background:var(--orange); }

.pf-bar:nth-child(1) .pf-bar__fill{ width:25%; }
.pf-bar:nth-child(2) .pf-bar__fill{ width:50%; }
.pf-bar:nth-child(3) .pf-bar__fill{ width:100%; }
.pf-bar:nth-child(4) .pf-bar__fill{ width:50%; }
.pf-bar:nth-child(5) .pf-bar__fill{ width:50%; }
.pf-bar:nth-child(6) .pf-bar__fill{ width:25%; }

.pf-effort__note{
  padding:24px 22px;
  border:1px solid rgba(169,198,201,.28);
  background:rgba(11,27,43,.36);
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
}
.pf-effort__label{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.2em;
  color:var(--orange);
  text-transform:uppercase;
}
.pf-effort__big{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:22px;
  letter-spacing:-.02em;
  color:var(--paper);
}
.pf-effort__note p{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.78;
  color:var(--mist);
}
.pf-effort__note p:last-child{ margin-bottom:0; }
.pf-effort__note a{
  color:var(--cyan-soft);
  text-decoration:none;
  border-bottom:1px solid rgba(127,243,228,.4);
}
.pf-effort__note a:hover{ color:var(--orange); border-bottom-color:var(--orange); }

/* ---------- 换设备 ---------- */
.pf-device{
  padding:clamp(48px,6vw,92px) 0;
  background-color:var(--paper);
  background-image:
    linear-gradient(to right, rgba(169,198,201,.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(169,198,201,.14) 1px, transparent 1px);
  background-size:24px 24px;
}
.pf-device__grid{
  display:grid;
  gap:32px;
}
@media (min-width:960px){
  .pf-device__grid{
    grid-template-columns:minmax(0,6fr) minmax(0,5fr);
    gap:clamp(32px,4vw,64px);
    align-items:center;
  }
}
.pf-device__text h2{
  margin:10px 0 18px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(23px,3.2vw,36px);
  letter-spacing:-.02em;
  line-height:1.15;
}
.pf-device__text p{
  margin:0 0 16px;
  font-size:16px;
  line-height:1.8;
  max-width:54ch;
  color:var(--black);
}
.pf-device__steps{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  display:grid;
  gap:12px;
}
.pf-device__steps li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
  font-size:14.5px;
  line-height:1.72;
  color:var(--slate);
}
.pf-device__steps span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  background:var(--cyan);
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  clip-path:polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 0 100%);
}
.pf-device__media{
  margin:0;
}
.pf-device__media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  background:var(--ink-soft);
  clip-path:polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
}
.pf-device__media figcaption{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.7;
  color:var(--slate);
}

/* ---------- 下载前检查 ---------- */
.pf-check{
  padding:clamp(44px,5.4vw,88px) 0 clamp(52px,6vw,96px);
  background:var(--paper);
  border-top:1px solid var(--pf-rule);
}
.pf-check__grid{
  display:grid;
  gap:30px;
}
@media (min-width:960px){
  .pf-check__grid{
    grid-template-columns:minmax(0,7fr) minmax(0,4fr);
    gap:clamp(32px,4vw,64px);
    align-items:start;
  }
}

.pf-checklist{
  position:relative;
  border:1px solid var(--pf-rule);
  background:rgba(255,255,255,.42);
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
  padding:8px 0 0;
}
.pf-checklist__box{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.pf-checklist__list{
  list-style:none;
  margin:0;
  padding:0;
}
.pf-checklist__list li + li{ border-top:1px solid var(--pf-rule-soft); }
.pf-checklist__list label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:18px 22px;
  cursor:pointer;
}
.pf-checklist__list label:hover .pf-checklist__mark{ border-color:var(--orange); }
.pf-checklist__mark{
  position:relative;
  width:22px;
  height:22px;
  border:1px solid var(--slate);
  background:transparent;
  display:block;
  flex:none;
  transition:background-color .2s var(--ease), border-color .2s var(--ease);
}
.pf-checklist__mark::after{
  content:"";
  position:absolute;
  left:7px;
  top:2px;
  width:6px;
  height:12px;
  border:solid var(--ink);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  opacity:0;
  transition:opacity .15s var(--ease);
}
.pf-checklist__body{
  display:block;
  font-size:14.5px;
  line-height:1.72;
  color:var(--slate);
}
.pf-checklist__body b{
  display:block;
  font-family:var(--font-display);
  font-weight:900;
  font-size:16px;
  letter-spacing:-.01em;
  color:var(--ink);
  margin-bottom:4px;
}
.pf-checklist__done{
  display:none;
  margin:0;
  padding:16px 22px;
  border-top:1px solid var(--pf-rule);
  background:rgba(23,224,200,.16);
  font-size:14px;
  line-height:1.7;
  color:var(--ink);
}

.page-products .pf-checklist:has(#pf-c1:checked) label[for="pf-c1"] .pf-checklist__mark,
.page-products .pf-checklist:has(#pf-c2:checked) label[for="pf-c2"] .pf-checklist__mark,
.page-products .pf-checklist:has(#pf-c3:checked) label[for="pf-c3"] .pf-checklist__mark{
  background:var(--cyan);
  border-color:var(--cyan);
}
.page-products .pf-checklist:has(#pf-c1:checked) label[for="pf-c1"] .pf-checklist__mark::after,
.page-products .pf-checklist:has(#pf-c2:checked) label[for="pf-c2"] .pf-checklist__mark::after,
.page-products .pf-checklist:has(#pf-c3:checked) label[for="pf-c3"] .pf-checklist__mark::after{
  opacity:1;
}
.page-products .pf-checklist:has(#pf-c1:checked):has(#pf-c2:checked):has(#pf-c3:checked) .pf-checklist__done{
  display:block;
}

.pf-check__media{ margin:0; }
.pf-check__media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:10/7;
  object-fit:cover;
  background:var(--paper-dim);
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
}
.pf-check__media figcaption{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.7;
  color:var(--slate);
}

.pf-next{
  margin-top:clamp(30px,4vw,52px);
  padding:26px 24px;
  border-left:3px solid var(--orange);
  background:var(--ink);
  color:var(--paper);
  display:grid;
  gap:20px;
}
@media (min-width:820px){
  .pf-next{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:32px;
  }
}
.pf-next p{
  margin:0;
  font-size:15px;
  line-height:1.78;
  color:var(--mist);
  max-width:60ch;
}
.pf-next__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}
.pf-next .pf-textlink{
  color:var(--paper);
  border-bottom-color:rgba(169,198,201,.5);
}
.pf-next .pf-textlink:hover{
  color:var(--cyan-soft);
  border-bottom-color:var(--cyan-soft);
}

@media (prefers-reduced-motion: reduce){
  .page-products .ver-card,
  .page-products .ver-filter label,
  .page-products .pf-checklist__mark,
  .page-products .pf-checklist__mark::after{
    transition:none;
  }
  .page-products .ver-card:hover{ transform:none; }
}
<<<END>>>
