.page-products{
  --pr-gap: clamp(18px, 3vw, 28px);
  --pr-soft: rgba(18,48,42,.62);
  --pr-shadow: 5px 5px 0 rgba(0,0,0,.32);
  background: var(--bg);
  color: var(--fg);
  overflow-x: hidden;
}
.page-products .pr-wrap{
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gutter);
  padding-bottom: clamp(40px, 6vw, 76px);
}
.page-products .breadcrumb{ padding-block: 16px 6px; }

/* ---------- hero ---------- */
.page-products .pr-hero{
  display: grid;
  gap: clamp(20px, 4vw, 40px);
  padding-block: clamp(14px, 3vw, 30px) clamp(28px, 5vw, 52px);
  border-bottom: 1px solid var(--line);
}
.page-products .pr-kicker{
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--steel);
}
.page-products .pr-hero h1{
  margin: 0;
  font-size: clamp(34px, 7.2vw, 74px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-weight: 800;
  max-width: 15ch;
}
.page-products .pr-lede{
  margin: 18px 0 0;
  max-width: 38ch;
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.75;
  color: var(--steel);
}
.page-products .pr-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.page-products .pr-hero-stats{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin: 26px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
}
.page-products .pr-hero-stats div{
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.page-products .pr-hero-stats dt{
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--fg-faint);
}
.page-products .pr-hero-stats dd{
  margin: 0;
  font-size: 17px;
  color: var(--lime);
}
.page-products .pr-hero-media{
  border: 1px solid var(--line-strong);
  box-shadow: var(--pr-shadow);
  background: var(--bg-panel);
  padding: 8px;
}
.page-products .pr-hero-media .figure-cap{
  padding: 8px 4px 2px;
}

/* ---------- tree ---------- */
.page-products .pr-tree{
  padding-block: clamp(30px, 5vw, 54px);
  border-bottom: 1px solid var(--line);
}
.page-products .pr-tree-root{
  max-width: 60ch;
}
.page-products .pr-tree-root h2{
  margin: 8px 0 10px;
  font-size: clamp(22px, 3.4vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.page-products .pr-tree-root p{
  margin: 0;
  color: var(--steel);
  line-height: 1.7;
}
.page-products .pr-branches{
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.page-products .pr-branch{
  position: relative;
  padding: 18px 18px 20px;
  background: var(--pr-soft);
  border: 1px solid var(--line);
  border-top: 2px solid var(--line-red);
}
.page-products .pr-branch::before{
  content: "";
  position: absolute;
  top: -21px;
  left: 26px;
  height: 20px;
  border-left: 1px dashed var(--line-red);
}
.page-products .pr-branch h3{
  margin: 6px 0 8px;
  font-size: 19px;
  letter-spacing: -0.01em;
}
.page-products .pr-branch h3 a{
  color: var(--paper);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.page-products .pr-branch h3 a:hover{
  color: var(--lime);
  border-bottom-color: var(--line-red);
}
.page-products .pr-branch p:not(.index){
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ---------- shell ---------- */
.page-products .pr-shell{
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  padding-top: clamp(28px, 4vw, 44px);
}
.page-products .pr-main{ min-width: 0; }

/* ---------- section base ---------- */
.page-products .pr-section{
  padding-block: clamp(30px, 5vw, 54px);
  border-top: 1px solid var(--line);
  scroll-margin-top: 90px;
}
.page-products .pr-section:first-child{ border-top: none; padding-top: 0; }
.page-products .pr-sec-head{ max-width: 62ch; margin-bottom: clamp(20px, 3vw, 30px); }
.page-products .pr-sec-head h2{
  margin: 8px 0 12px;
  font-size: clamp(23px, 3.6vw, 38px);
  line-height: 1.12;
  letter-spacing: -0.015em;
}
.page-products .pr-sec-head p:not(.index){
  margin: 0;
  line-height: 1.75;
  color: var(--steel);
}

/* ---------- split ---------- */
.page-products .pr-split{
  display: grid;
  gap: var(--pr-gap);
}
.page-products .pr-split-side{ min-width: 0; }

/* ---------- field list ---------- */
.page-products .pr-fields{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.page-products .pr-fields li{
  background: var(--bg-panel);
  padding: 16px 18px;
}
.page-products .pr-fields h3{
  margin: 4px 0 6px;
  font-size: 17px;
  letter-spacing: -0.01em;
}
.page-products .pr-fields p:not(.index){
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

.page-products .pr-note{
  margin-top: 16px;
  padding: 16px 18px;
}
.page-products .pr-note p:not(.index){
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ---------- table ---------- */
.page-products .pr-table-block{
  margin-top: clamp(24px, 4vw, 38px);
  border-left: 2px solid var(--line-red);
  padding-left: 16px;
}
.page-products .pr-table-scroll{
  margin-top: 12px;
  overflow-x: auto;
  border: 1px solid var(--line);
}
.page-products .pr-table{
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .02em;
}
.page-products .pr-table-cap{
  caption-side: top;
  text-align: left;
  padding: 10px 12px;
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--fg-faint);
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
.page-products .pr-table th{
  text-align: left;
  padding: 11px 12px;
  font-weight: 500;
  letter-spacing: .1em;
  color: var(--steel);
  border-bottom: 1px solid var(--line-strong);
  white-space: nowrap;
}
.page-products .pr-table td{
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--paper);
  vertical-align: top;
}
.page-products .pr-table tbody tr:nth-child(odd){ background: var(--pr-soft); }
.page-products .pr-table tbody tr:last-child td{ border-bottom: none; }

/* ---------- filter demo ---------- */
.page-products .pr-filter-demo{
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--pr-soft);
  margin-bottom: clamp(24px, 4vw, 36px);
}
.page-products .pr-filter-label{
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--fg-faint);
}
.page-products .pr-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.page-products .pr-filters .chip{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}
.page-products .pr-filters .chip[aria-pressed="true"]{
  border-color: var(--red);
  color: var(--paper);
}
.page-products .pr-chip-n{
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--steel);
}
.page-products .pr-filters .chip[aria-pressed="true"] .pr-chip-n{ color: var(--lime); }
.page-products .pr-filter-hint{
  margin: 12px 0 0;
  font-size: 12.5px;
  color: var(--fg-faint);
}

/* ---------- steps ---------- */
.page-products .pr-steps{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
  counter-reset: prstep;
}
.page-products .pr-steps li{
  position: relative;
  padding: 16px 18px 16px 20px;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-left: 2px solid var(--red);
}
.page-products .pr-steps h3{
  margin: 5px 0 6px;
  font-size: 17px;
}
.page-products .pr-steps p:not(.index){
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}
.page-products .pr-limit{
  margin-top: 16px;
  padding: 16px 18px;
}
.page-products .pr-limit p:not(.index){
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.7;
}
.page-products .pr-limit strong{ color: var(--red); font-weight: 600; }

/* ---------- notice + checks ---------- */
.page-products .pr-notice{ margin-bottom: 18px; }
.page-products .pr-checks{
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 11px;
}
.page-products .pr-checks li{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--steel);
  padding-bottom: 11px;
  border-bottom: 1px dashed var(--line);
}
.page-products .pr-checks .dot{ margin-top: 7px; flex: none; }
.page-products .pr-inline-link{
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--steel);
}
.page-products .pr-inline-link a{
  color: var(--lime);
  text-decoration: none;
  border-bottom: 1px solid var(--line-red);
}
.page-products .pr-inline-link a:hover{ color: var(--red); }

/* ---------- ticks ---------- */
.page-products .pr-ticks{
  display: grid;
  gap: 18px;
  padding: 20px 18px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(28,74,63,.35), rgba(12,31,26,0));
}
.page-products .pr-tick{
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 8px 14px;
  align-items: center;
}
.page-products .pr-tick-n{
  font-size: 15px;
  color: var(--lime);
  letter-spacing: .04em;
}
.page-products .pr-tick-bar{
  width: var(--bar, 40%);
  height: 9px;
  background: linear-gradient(90deg, var(--red), var(--lime));
  box-shadow: 0 0 0 1px rgba(232,228,216,.12);
}
.page-products .pr-tick-txt{
  grid-column: 1 / -1;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ---------- status cards ---------- */
.page-products .pr-status-row{
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.page-products .pr-card{
  padding: 15px 17px;
  border: 1px solid var(--line);
  background: var(--bg-panel);
}
.page-products .pr-card p:not(.index){
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}
.page-products .pr-card .tag{ margin-right: 6px; }

/* ---------- paths ---------- */
.page-products .pr-paths{
  display: grid;
  gap: 16px;
}
.page-products .pr-path{
  padding: 20px 18px;
  border: 1px solid var(--line);
  background: var(--bg-panel);
  border-bottom: 3px solid var(--line-strong);
}
.page-products .pr-path--red{ border-bottom-color: var(--red); }
.page-products .pr-path--lime{ border-bottom-color: var(--lime); }
.page-products .pr-path--steel{ border-bottom-color: var(--steel); }
.page-products .pr-path h3{
  margin: 6px 0 12px;
  font-size: 18px;
  letter-spacing: -0.01em;
}
.page-products .pr-path ol{
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}
.page-products .pr-path li{
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}
.page-products .pr-path li::marker{
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--moss);
}

/* ---------- last ---------- */
.page-products .pr-section--last .pr-split-main h2{
  margin: 8px 0 12px;
  font-size: clamp(22px, 3.4vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.015em;
}
.page-products .pr-section--last .pr-split-main p{
  margin: 0 0 14px;
  line-height: 1.75;
  color: var(--steel);
}
.page-products .pr-section--last .btn{ margin-top: 10px; }

/* ---------- side rail ---------- */
.page-products .pr-side{
  display: grid;
  gap: 14px;
  align-content: start;
}
.page-products .pr-side-box{
  padding: 16px 16px 18px;
  border: 1px solid var(--line);
  background: var(--pr-soft);
  border-top: 2px solid var(--line-strong);
}
.page-products .pr-side-tags{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.page-products .pr-side-hint{
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--fg-faint);
}
.page-products .pr-side-num{
  margin: 8px 0 0;
  font-size: 30px;
  line-height: 1;
  color: var(--lime);
  letter-spacing: .02em;
}
.page-products .pr-side-num span{
  font-size: 14px;
  color: var(--moss);
  letter-spacing: .04em;
}
.page-products .pr-side-links{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 9px;
}
.page-products .pr-side-links a{
  display: block;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--paper);
  text-decoration: none;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--line);
  transition: color var(--dur) var(--ease);
}
.page-products .pr-side-links li:last-child a{ border-bottom: none; padding-bottom: 0; }
.page-products .pr-side-links a:hover{ color: var(--red); }

/* ---------- responsive ---------- */
@media (min-width: 720px){
  .page-products .pr-hero{
    grid-template-columns: 1.05fr .95fr;
    align-items: start;
  }
  .page-products .pr-branches{ grid-template-columns: repeat(3, 1fr); }
  .page-products .pr-status-row{ grid-template-columns: repeat(3, 1fr); }
  .page-products .pr-paths{ grid-template-columns: repeat(3, 1fr); }
  .page-products .pr-tick{
    grid-template-columns: 74px 1fr;
  }
  .page-products .pr-tick-txt{ grid-column: 2 / -1; }
}

@media (min-width: 960px){
  .page-products .pr-split{
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    align-items: start;
  }
  .page-products .pr-split--rev{
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  }
  .page-products .pr-split-side .figure{ margin: 0; }
}

@media (min-width: 1120px){
  .page-products .pr-shell{
    grid-template-columns: minmax(0, 1fr) 262px;
    gap: clamp(32px, 4vw, 56px);
    align-items: start;
  }
  .page-products .pr-side{
    position: sticky;
    top: 92px;
  }
}

.page-products{
  --pr-gap: clamp(18px, 3vw, 28px);
  --pr-soft: rgba(18,48,42,.62);
  --pr-shadow: 5px 5px 0 rgba(0,0,0,.32);
  background: var(--bg);
  color: var(--fg);
  overflow-x: hidden;
}
.page-products .pr-wrap{
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gutter);
  padding-bottom: clamp(40px, 6vw, 76px);
}
.page-products .breadcrumb{ padding-block: 16px 6px; }

/* ---------- hero ---------- */
.page-products .pr-hero{
  display: grid;
  gap: clamp(20px, 4vw, 40px);
  padding-block: clamp(14px, 3vw, 30px) clamp(28px, 5vw, 52px);
  border-bottom: 1px solid var(--line);
}
.page-products .pr-kicker{
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--steel);
}
.page-products .pr-hero h1{
  margin: 0;
  font-size: clamp(34px, 7.2vw, 74px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-weight: 800;
  max-width: 15ch;
}
.page-products .pr-lede{
  margin: 18px 0 0;
  max-width: 38ch;
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.75;
  color: var(--steel);
}
.page-products .pr-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.page-products .pr-hero-stats{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin: 26px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
}
.page-products .pr-hero-stats div{
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.page-products .pr-hero-stats dt{
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--fg-faint);
}
.page-products .pr-hero-stats dd{
  margin: 0;
  font-size: 17px;
  color: var(--lime);
}
.page-products .pr-hero-media{
  border: 1px solid var(--line-strong);
  box-shadow: var(--pr-shadow);
  background: var(--bg-panel);
  padding: 8px;
}
.page-products .pr-hero-media .figure-cap{
  padding: 8px 4px 2px;
}

/* ---------- tree ---------- */
.page-products .pr-tree{
  padding-block: clamp(30px, 5vw, 54px);
  border-bottom: 1px solid var(--line);
}
.page-products .pr-tree-root{
  max-width: 60ch;
}
.page-products .pr-tree-root h2{
  margin: 8px 0 10px;
  font-size: clamp(22px, 3.4vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.page-products .pr-tree-root p{
  margin: 0;
  color: var(--steel);
  line-height: 1.7;
}
.page-products .pr-branches{
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.page-products .pr-branch{
  position: relative;
  padding: 18px 18px 20px;
  background: var(--pr-soft);
  border: 1px solid var(--line);
  border-top: 2px solid var(--line-red);
}
.page-products .pr-branch::before{
  content: "";
  position: absolute;
  top: -21px;
  left: 26px;
  height: 20px;
  border-left: 1px dashed var(--line-red);
}
.page-products .pr-branch h3{
  margin: 6px 0 8px;
  font-size: 19px;
  letter-spacing: -0.01em;
}
.page-products .pr-branch h3 a{
  color: var(--paper);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.page-products .pr-branch h3 a:hover{
  color: var(--lime);
  border-bottom-color: var(--line-red);
}
.page-products .pr-branch p:not(.index){
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ---------- shell ---------- */
.page-products .pr-shell{
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  padding-top: clamp(28px, 4vw, 44px);
}
.page-products .pr-main{ min-width: 0; }

/* ---------- section base ---------- */
.page-products .pr-section{
  padding-block: clamp(30px, 5vw, 54px);
  border-top: 1px solid var(--line);
  scroll-margin-top: 90px;
}
.page-products .pr-section:first-child{ border-top: none; padding-top: 0; }
.page-products .pr-sec-head{ max-width: 62ch; margin-bottom: clamp(20px, 3vw, 30px); }
.page-products .pr-sec-head h2{
  margin: 8px 0 12px;
  font-size: clamp(23px, 3.6vw, 38px);
  line-height: 1.12;
  letter-spacing: -0.015em;
}
.page-products .pr-sec-head p:not(.index){
  margin: 0;
  line-height: 1.75;
  color: var(--steel);
}

/* ---------- split ---------- */
.page-products .pr-split{
  display: grid;
  gap: var(--pr-gap);
}
.page-products .pr-split-side{ min-width: 0; }

/* ---------- field list ---------- */
.page-products .pr-fields{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.page-products .pr-fields li{
  background: var(--bg-panel);
  padding: 16px 18px;
}
.page-products .pr-fields h3{
  margin: 4px 0 6px;
  font-size: 17px;
  letter-spacing: -0.01em;
}
.page-products .pr-fields p:not(.index){
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

.page-products .pr-note{
  margin-top: 16px;
  padding: 16px 18px;
}
.page-products .pr-note p:not(.index){
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ---------- table ---------- */
.page-products .pr-table-block{
  margin-top: clamp(24px, 4vw, 38px);
  border-left: 2px solid var(--line-red);
  padding-left: 16px;
}
.page-products .pr-table-scroll{
  margin-top: 12px;
  overflow-x: auto;
  border: 1px solid var(--line);
}
.page-products .pr-table{
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .02em;
}
.page-products .pr-table-cap{
  caption-side: top;
  text-align: left;
  padding: 10px 12px;
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--fg-faint);
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
.page-products .pr-table th{
  text-align: left;
  padding: 11px 12px;
  font-weight: 500;
  letter-spacing: .1em;
  color: var(--steel);
  border-bottom: 1px solid var(--line-strong);
  white-space: nowrap;
}
.page-products .pr-table td{
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--paper);
  vertical-align: top;
}
.page-products .pr-table tbody tr:nth-child(odd){ background: var(--pr-soft); }
.page-products .pr-table tbody tr:last-child td{ border-bottom: none; }

/* ---------- filter demo ---------- */
.page-products .pr-filter-demo{
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--pr-soft);
  margin-bottom: clamp(24px, 4vw, 36px);
}
.page-products .pr-filter-label{
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .14em;
  color: var(--fg-faint);
}
.page-products .pr-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.page-products .pr-filters .chip{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}
.page-products .pr-filters .chip[aria-pressed="true"]{
  border-color: var(--red);
  color: var(--paper);
}
.page-products .pr-chip-n{
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--steel);
}
.page-products .pr-filters .chip[aria-pressed="true"] .pr-chip-n{ color: var(--lime); }
.page-products .pr-filter-hint{
  margin: 12px 0 0;
  font-size: 12.5px;
  color: var(--fg-faint);
}

/* ---------- steps ---------- */
.page-products .pr-steps{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.page-products .pr-steps li{
  position: relative;
  padding: 16px 18px 16px 20px;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-left: 2px solid var(--red);
}
.page-products .pr-steps h3{
  margin: 5px 0 6px;
  font-size: 17px;
}
.page-products .pr-steps p:not(.index){
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}
.page-products .pr-limit{
  margin-top: 16px;
  padding: 16px 18px;
}
.page-products .pr-limit p:not(.index){
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.7;
}
.page-products .pr-limit strong{ color: var(--red); font-weight: 600; }

/* ---------- notice + checks ---------- */
.page-products .pr-notice{ margin-bottom: 18px; }
.page-products .pr-checks{
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 11px;
}
.page-products .pr-checks li{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--steel);
  padding-bottom: 11px;
  border-bottom: 1px dashed var(--line);
}
.page-products .pr-checks .dot{ margin-top: 7px; flex: none; }
.page-products .pr-inline-link{
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--steel);
}
.page-products .pr-inline-link a{
  color: var(--lime);
  text-decoration: none;
  border-bottom: 1px solid var(--line-red);
}
.page-products .pr-inline-link a:hover{ color: var(--red); }

/* ---------- ticks ---------- */
.page-products .pr-ticks{
  display: grid;
  gap: 18px;
  padding: 20px 18px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(28,74,63,.35), rgba(12,31,26,0));
}
.page-products .pr-tick{
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 8px 14px;
  align-items: center;
}
.page-products .pr-tick-n{
  font-size: 15px;
  color: var(--lime);
  letter-spacing: .04em;
}
.page-products .pr-tick-bar{
  width: var(--bar, 40%);
  height: 9px;
  background: linear-gradient(90deg, var(--red), var(--lime));
  box-shadow: 0 0 0 1px rgba(232,228,216,.12);
}
.page-products .pr-tick-txt{
  grid-column: 1 / -1;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ---------- status cards ---------- */
.page-products .pr-status-row{
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.page-products .pr-card{
  padding: 15px 17px;
  border: 1px solid var(--line);
  background: var(--bg-panel);
}
.page-products .pr-card p:not(.index){
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}
.page-products .pr-card .tag{ margin-right: 6px; }

/* ---------- paths ---------- */
.page-products .pr-paths{
  display: grid;
  gap: 16px;
}
.page-products .pr-path{
  padding: 20px 18px;
  border: 1px solid var(--line);
  background: var(--bg-panel);
  border-bottom: 3px solid var(--line-strong);
}
.page-products .pr-path--red{ border-bottom-color: var(--red); }
.page-products .pr-path--lime{ border-bottom-color: var(--lime); }
.page-products .pr-path--steel{ border-bottom-color: var(--steel); }
.page-products .pr-path h3{
  margin: 6px 0 12px;
  font-size: 18px;
  letter-spacing: -0.01em;
}
.page-products .pr-path ol{
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}
.page-products .pr-path li{
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}
.page-products .pr-path li::marker{
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--moss);
}

/* ---------- last ---------- */
.page-products .pr-section--last .pr-split-main h2{
  margin: 8px 0 12px;
  font-size: clamp(22px, 3.4vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.015em;
}
.page-products .pr-section--last .pr-split-main p{
  margin: 0 0 14px;
  line-height: 1.75;
  color: var(--steel);
}
.page-products .pr-section--last .btn{ margin-top: 10px; }

/* ---------- side rail ---------- */
.page-products .pr-side{
  display: grid;
  gap: 14px;
  align-content: start;
}
.page-products .pr-side-box{
  padding: 16px 16px 18px;
  border: 1px solid var(--line);
  background: var(--pr-soft);
  border-top: 2px solid var(--line-strong);
}
.page-products .pr-side-tags{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.page-products .pr-side-hint{
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--fg-faint);
}
.page-products .pr-side-num{
  margin: 8px 0 0;
  font-size: 30px;
  line-height: 1;
  color: var(--lime);
  letter-spacing: .02em;
}
.page-products .pr-side-num span{
  font-size: 14px;
  color: var(--moss);
  letter-spacing: .04em;
}
.page-products .pr-side-links{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 9px;
}
.page-products .pr-side-links a{
  display: block;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--paper);
  text-decoration: none;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--line);
  transition: color var(--dur) var(--ease);
}
.page-products .pr-side-links li:last-child a{ border-bottom: none; padding-bottom: 0; }
.page-products .pr-side-links a:hover{ color: var(--red); }

/* ---------- responsive ---------- */
@media (min-width: 720px){
  .page-products .pr-hero{
    grid-template-columns: 1.05fr .95fr;
    align-items: start;
  }
  .page-products .pr-branches{ grid-template-columns: repeat(3, 1fr); }
  .page-products .pr-status-row{ grid-template-columns: repeat(3, 1fr); }
  .page-products .pr-paths{ grid-template-columns: repeat(3, 1fr); }
  .page-products .pr-tick{ grid-template-columns: 74px 1fr; }
  .page-products .pr-tick-txt{ grid-column: 2 / -1; }
}

@media (min-width: 960px){
  .page-products .pr-split{
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    align-items: start;
  }
  .page-products .pr-split-side .figure{ margin: 0; }
}

@media (min-width: 1120px){
  .page-products .pr-shell{
    grid-template-columns: minmax(0, 1fr) 262px;
    gap: clamp(32px, 4vw, 56px);
    align-items: start;
  }
  .page-products .pr-side{
    position: sticky;
    top: 92px;
  }
}
<<<END_OF_RESPONSE>>>

.page-products {
  --bar: 1rem;
}
