.pricing-hero{
  position:relative;
  overflow-x:clip;
  border-bottom:1px solid var(--color-line);
  background:
    linear-gradient(var(--color-panel),var(--color-canvas));
}
.pricing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right,var(--color-line) 1px,transparent 1px),
    linear-gradient(to bottom,var(--color-line) 1px,transparent 1px);
  background-size:48px 48px;
  opacity:.28;
}
.pricing-hero-inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  gap:clamp(34px,6vw,84px);
  align-items:center;
}
.pricing-hero-copy{
  max-width:760px;
}
.pricing-hero-copy h1{
  margin-top:20px;
}
.pricing-hero-copy .lead{
  max-width:720px;
}
.pricing-hero-actions{
  margin-top:28px;
}
.pricing-facts{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:32px 0 0;
  padding:0;
  list-style:none;
}
.pricing-facts li{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:150px;
  padding:13px 16px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--color-canvas);
  box-shadow:var(--shadow-card);
}
.pricing-facts strong{
  font-family:var(--font-mono);
  font-size:.9rem;
}
.pricing-facts span{
  color:var(--color-muted);
  font-size:.78rem;
}
.pricing-ledger{
  position:relative;
  padding:12px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-panel);
  background:var(--color-canvas);
  box-shadow:var(--shadow-raised);
}
.pricing-ledger::before{
  content:"";
  position:absolute;
  top:48px;
  bottom:76px;
  left:37px;
  width:2px;
  background:linear-gradient(var(--color-accent),var(--color-success),var(--color-warning));
}
.ledger-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:12px 12px 20px;
}
.ledger-row{
  position:relative;
  display:grid;
  grid-template-columns:50px minmax(0,1fr) 22px;
  gap:12px;
  align-items:center;
  min-height:86px;
  padding:14px;
  border:1px solid transparent;
  border-radius:var(--radius-card);
  color:var(--color-ink);
  text-decoration:none;
}
.ledger-row:hover{
  border-color:var(--color-line);
  background:var(--color-panel);
  color:var(--color-ink);
}
.ledger-row svg{
  width:22px;
  height:22px;
  color:var(--color-accent-deep);
}
.ledger-code{
  position:relative;
  z-index:1;
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  border:1px solid var(--color-line);
  border-radius:var(--radius-pill);
  background:var(--color-canvas);
  color:var(--color-accent-deep);
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:800;
}
.ledger-row b,
.ledger-row small{
  display:block;
}
.ledger-row small{
  margin-top:4px;
  color:var(--color-muted);
}
.ledger-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:10px 4px 4px;
  padding:14px;
  border-radius:var(--radius-card);
  background:var(--color-accent-soft);
}
.ledger-note .status-dot{
  margin-top:8px;
}
.ledger-note p{
  margin:0;
  font-size:.88rem;
}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:32px;
  margin-bottom:36px;
}
.section-heading p{
  max-width:590px;
  margin:0;
}
.plan-description{
  min-height:132px;
}
.monthly-rules{
  display:grid;
  grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);
  gap:clamp(26px,5vw,70px);
  margin-top:28px;
  background:var(--color-panel);
}
.rule-copy p:last-child{
  margin-bottom:0;
}
.traffic-section,
.compare-section{
  background:var(--color-panel);
}
.traffic-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.traffic-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:28px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-panel);
  background:var(--color-canvas);
  box-shadow:var(--shadow-card);
}
.traffic-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.traffic-card-top strong{
  font-family:var(--font-mono);
  color:var(--color-accent-deep);
}
.traffic-code{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--color-muted);
}
.traffic-price{
  margin:26px 0 18px;
  font-family:var(--font-display);
  font-size:2.6rem;
  font-weight:800;
  line-height:1;
}
.traffic-card p{
  flex:1;
}
.traffic-card .btn{
  margin-top:12px;
}
.included-browser{
  display:grid;
  grid-template-columns:minmax(220px,.38fr) minmax(0,1.62fr);
  gap:18px;
}
.included-index{
  display:grid;
  align-content:start;
  gap:8px;
}
.included-index-item{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:60px;
  padding:10px 16px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-pill);
  background:var(--color-canvas);
  color:var(--color-muted);
}
.included-index-item span{
  display:grid;
  width:42px;
  height:32px;
  place-items:center;
  border-radius:var(--radius-pill);
  background:var(--color-panel-strong);
  font-family:var(--font-mono);
  font-size:.68rem;
}
.included-index-item.is-active{
  border-color:var(--color-accent);
  background:var(--color-accent-soft);
  color:var(--color-accent-deep);
}
.included-index-item.is-active::after{
  content:"";
  width:28px;
  height:2px;
  margin-left:auto;
  background:linear-gradient(90deg,var(--color-accent),var(--color-accent-blue));
}
.included-detail{
  position:relative;
  overflow:clip;
  padding-right:clamp(24px,18vw,260px);
}
.included-detail p:last-child{
  margin-bottom:0;
}
.included-visual{
  position:absolute;
  top:28px;
  right:22px;
  width:210px;
  color:var(--color-accent);
}
.included-path{
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:7 7;
}
.included-node{
  stroke:var(--color-canvas);
  stroke-width:4;
}
.node-a{
  fill:var(--color-accent);
}
.node-b{
  fill:var(--color-success);
}
.node-c{
  fill:var(--color-warning);
}
.node-d{
  fill:var(--color-danger);
}
.selection-guide{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.selection-guide article{
  padding:26px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--color-canvas);
}
.selection-guide p:last-child{
  margin-bottom:0;
}
.payment-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:clamp(32px,7vw,90px);
  align-items:center;
}
.payment-panel{
  background:var(--color-panel);
}
.payment-checklist{
  display:grid;
  gap:10px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
}
.payment-checklist li{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px solid var(--color-line);
}
.payment-checklist li>span{
  padding-top:3px;
  color:var(--color-accent-deep);
  font-family:var(--font-mono);
  font-size:.7rem;
  font-weight:800;
}
.payment-checklist p{
  margin:2px 0 0;
  font-size:.9rem;
}
.refund-section{
  border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);
  background:var(--color-accent-soft);
}
.refund-layout{
  display:grid;
  grid-template-columns:170px minmax(0,760px);
  gap:clamp(28px,6vw,76px);
  justify-content:center;
  align-items:center;
}
.refund-mark{
  display:grid;
  width:150px;
  height:150px;
  place-items:center;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-pill);
  background:var(--color-canvas);
  color:var(--color-accent-deep);
  box-shadow:var(--shadow-card);
}
.refund-mark svg{
  width:76px;
  height:76px;
}
.faq-area>p{
  margin-bottom:30px;
}
@media(max-width:980px){
  .pricing-hero-inner,
  .payment-layout{
    grid-template-columns:1fr;
  }
  .pricing-ledger{
    max-width:680px;
  }
  .traffic-grid{
    grid-template-columns:1fr;
  }
  .plan-description{
    min-height:0;
  }
  .included-detail{
    padding-right:clamp(22px,4vw,40px);
  }
  .included-visual{
    position:static;
    width:180px;
    margin:0 0 20px auto;
  }
}
@media(max-width:768px){
  .section-heading{
    display:block;
  }
  .section-heading p{
    margin-top:14px;
  }
  .monthly-rules,
  .included-browser,
  .refund-layout{
    grid-template-columns:1fr;
  }
  .included-index{
    display:flex;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:8px;
  }
  .included-index-item{
    flex:0 0 auto;
  }
  .refund-mark{
    width:110px;
    height:110px;
  }
  .refund-mark svg{
    width:58px;
    height:58px;
  }
}
@media(max-width:640px){
  .pricing-facts{
    display:grid;
    grid-template-columns:1fr;
  }
  .pricing-facts li{
    min-width:0;
  }
  .ledger-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ledger-row{
    grid-template-columns:46px minmax(0,1fr) 20px;
    padding-inline:8px;
  }
  .ledger-code{
    width:46px;
    height:46px;
  }
  .selection-guide{
    grid-template-columns:1fr;
  }
  .traffic-card-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .payment-checklist li{
    grid-template-columns:1fr;
    gap:4px;
  }
}