.pricing-hero{
  position:relative;
  min-height:620px;
  overflow-x:clip;
  max-width:100%;
  background:linear-gradient(180deg,var(--color-hero-top),var(--color-hero-bottom));
}
.pricing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,var(--color-hatch) 0 1px,transparent 1px 18px);
  pointer-events:none;
}
.pricing-hero__inner{
  position:relative;
  z-index:3;
  display:flex;
  min-height:620px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-top:72px;
  padding-bottom:72px;
  text-align:center;
}
.pricing-hero h1{
  max-width:820px;
  margin:22px auto 0;
}
.pricing-hero__lede{
  max-width:720px;
  margin:24px auto 0;
  font-size:18px;
}
.pricing-hero__actions{
  justify-content:center;
  margin-top:28px;
}
.pricing-fact-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:34px;
}
.pricing-fact-strip span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 14px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-pill);
  background:var(--color-panel-glass);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:12px;
  box-shadow:var(--shadow-small);
}
.pricing-hero__decor{
  position:absolute;
  top:34px;
  right:max(var(--gutter),calc((100% - var(--wide-width))/2));
  z-index:1;
  width:min(360px,32vw);
  color:var(--color-accent);
  opacity:.16;
}
.pricing-hero__decor svg{
  width:100%;
}
.pricing-hero__decor path,
.pricing-hero__decor circle{
  fill:none;
  stroke:currentColor;
  stroke-width:7;
  stroke-linecap:round;
}
.pricing-hero__line{
  position:absolute;
  right:0;
  bottom:20px;
  left:0;
  z-index:1;
  width:100%;
  height:300px;
  pointer-events:none;
}
.pricing-hero__line path{
  fill:none;
  stroke:var(--color-accent-30);
  stroke-width:1;
}
.pricing-tabs>.tab-list{
  margin-inline:auto;
}
.billing-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin-bottom:28px;
  padding:20px 22px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-md);
  background:var(--color-lilac);
}
.billing-note strong{
  color:var(--color-accent);
  font-family:var(--font-display);
  font-size:20px;
  font-weight:400;
}
.billing-note p{
  margin-bottom:0;
}
.plan-card{
  transition:transform .2s ease,box-shadow .2s ease;
}
.plan-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-panel-hover);
}
.plan-summary{
  min-height:100px;
}
.plan-detail{
  margin-bottom:24px;
  padding-top:18px;
  border-top:1px solid var(--color-slot);
  font-size:14px;
}
.plan-card .plan-features{
  margin-top:4px;
}
.pricing-inclusions{
  background:var(--color-slot);
}
.inclusion-layout{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.8fr);
  gap:28px;
  align-items:stretch;
}
.inclusion-lead{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:36px;
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg,var(--color-accent),var(--color-navy));
  box-shadow:var(--shadow-panel-hover);
}
.inclusion-lead .platform-icon{
  background:var(--color-lilac);
}
.inclusion-lead h3,
.inclusion-lead p{
  color:var(--color-panel);
}
.inclusion-lead h3{
  margin-bottom:14px;
}
.inclusion-lead p{
  margin-bottom:0;
  opacity:.86;
}
.inclusion-list{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}
.inclusion-list article{
  min-width:0;
  padding:24px;
  border-left:4px solid var(--color-accent);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
  transition:transform .2s ease,box-shadow .2s ease;
}
.inclusion-list article:nth-child(4n+2),
.inclusion-list article:nth-child(4n+3){
  border-left-color:var(--color-success);
}
.inclusion-list article:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-panel-hover);
}
.inclusion-list h3{
  margin-bottom:8px;
  font-family:var(--font-body);
  font-size:19px;
  font-weight:700;
  color:var(--color-text);
}
.inclusion-list p{
  margin-bottom:0;
}
.pricing-table{
  min-width:980px;
}
.comparison-callout{
  margin-top:28px;
}
.payment-section{
  background:var(--color-panel-glass);
}
.payment-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:52px;
  align-items:center;
}
.payment-copy p:last-child{
  margin-bottom:0;
}
.payment-panel{
  padding:30px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.payment-panel h3{
  margin-bottom:22px;
  font-family:var(--font-body);
  font-size:21px;
  font-weight:700;
  color:var(--color-text);
}
.payment-methods{
  display:grid;
  gap:12px;
  margin:0 0 24px;
  padding:0;
}
.payment-methods li{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid var(--color-border-soft);
  border-radius:var(--radius-sm);
  background:var(--color-bg);
}
.payment-methods li>span{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:var(--radius-sm);
  background:var(--color-lilac);
  color:var(--color-accent);
  font-family:var(--font-display);
  font-size:20px;
}
.payment-methods strong{
  display:block;
}
.payment-methods p{
  margin-bottom:0;
  font-size:13px;
}
.payment-panel .btn{
  width:100%;
}
.refund-section{
  padding-top:0;
}
.refund-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
  padding:38px;
  border-radius:var(--radius-lg);
  background:var(--color-lilac);
  box-shadow:var(--shadow-panel);
}
.refund-mark{
  display:grid;
  width:68px;
  height:68px;
  place-items:center;
  border-radius:var(--radius-md);
  background:var(--color-accent);
  color:var(--color-panel);
}
.refund-mark svg{
  width:34px;
  height:34px;
}
.refund-panel h2{
  margin:6px 0 12px;
  font-size:clamp(32px,4vw,46px);
}
.refund-panel p:last-child{
  margin-bottom:0;
}
.refund-button{
  flex-shrink:0;
}
.faq-wrap{
  max-width:920px;
}
@media (max-width:1000px){
  .inclusion-layout,
  .payment-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .inclusion-lead{
    min-height:300px;
  }
  .payment-layout{
    gap:32px;
  }
  .refund-panel{
    grid-template-columns:auto minmax(0,1fr);
  }
  .refund-button{
    grid-column:2;
    justify-self:start;
  }
}
@media (max-width:768px){
  .pricing-hero,
  .pricing-hero__inner{
    min-height:560px;
  }
  .pricing-hero__inner{
    padding-top:56px;
    padding-bottom:56px;
  }
  .pricing-hero__lede{
    font-size:16px;
  }
  .pricing-hero__decor{
    top:20px;
    right:-18px;
    width:210px;
    opacity:.1;
  }
  .pricing-hero__line{
    display:none;
  }
  .billing-note{
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  .inclusion-list{
    grid-template-columns:minmax(0,1fr);
  }
  .plan-ribbon{
    position:static;
    align-self:flex-start;
    margin-bottom:10px;
  }
  .plan-summary{
    min-height:0;
  }
}
@media (max-width:640px){
  .pricing-fact-strip{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }
  .pricing-fact-strip span{
    justify-content:center;
    width:100%;
    text-align:center;
  }
  .pricing-tabs>.tab-list{
    width:100%;
  }
  .pricing-tabs>.tab-list [role="tab"]{
    flex:1 1 0;
  }
  .inclusion-lead,
  .payment-panel,
  .refund-panel{
    padding:24px;
  }
  .inclusion-lead{
    min-height:0;
  }
  .refund-panel{
    grid-template-columns:minmax(0,1fr);
  }
  .refund-mark{
    width:56px;
    height:56px;
  }
  .refund-button{
    grid-column:auto;
    justify-self:stretch;
  }
}
@media (prefers-reduced-motion:reduce){
  .plan-card,
  .inclusion-list article{
    transition:none;
  }
}