.prices-page{
  background:linear-gradient(180deg, #fcfafc 0%, #fbf7fa 100%);
}

.page-hero{
  padding:72px 0 60px;
}

.page-hero-inner{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.page-hero-inner h1{
  margin:0 0 14px;
  font-size:clamp(2.8rem, 5vw, 4.8rem);
  line-height:.94;
  letter-spacing:-.065em;
  text-wrap:balance;
}

.page-hero-inner p{
  max-width:56ch;
  margin:0 auto;
  color:var(--muted);
  line-height:1.82;
  font-size:1.04rem;
}

.pricing-section{
  padding:88px 0 44px;
}

.pricing-top{
  display:flex;
  justify-content:center;
  margin-bottom:28px;
}

.pricing-switch{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  padding:16px 20px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  font-weight:700;
}

.billing-switch{
  position:relative;
  width:58px;
  height:32px;
  display:inline-flex;
}

.billing-switch input{
  opacity:0;
  width:0;
  height:0;
}

.billing-slider{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#e9d8e3;
  transition:background .2s ease;
}

.billing-slider::before{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 16px rgba(41,19,34,.12);
  transition:transform .2s ease;
}

.billing-switch input:checked + .billing-slider{
  background:var(--brand);
}

.billing-switch input:checked + .billing-slider::before{
  transform:translateX(26px);
}

.pricing-badge{
  padding:8px 12px;
  border-radius:999px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:13px;
  font-weight:800;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}

.plan-card{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:100%;
  padding:22px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.plan-card-accent{
  border-color:rgba(132,67,105,.18);
}

.plan-card-popular{
  position:relative;
  transform:translateY(-8px);
}

.plan-head{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  min-height:286px;
}

.plan-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.plan-heading h2{
  font-size:1.5rem;
  letter-spacing:-.05em;
}

.plan-popular{
  padding:8px 12px;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.plan-price{
  font-size:2.2rem;
  font-weight:800;
  letter-spacing:-.06em;
}

.plan-price small{
  font-size:1rem;
  font-weight:700;
  color:var(--muted);
}

.plan-term{
  color:#5f5360;
  font-size:14px;
  font-weight:700;
}

.plan-desc{
  color:var(--muted);
  line-height:1.75;
}

.plan-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  font-weight:800;
  text-align:center;
  margin-top:auto;
}

.plan-btn-outline{
  background:#fff;
  color:var(--text);
  border:1px solid var(--line);
}

.plan-body{
  padding-top:18px;
  border-top:1px solid var(--line);
}

.plan-body strong{
  display:block;
  margin-bottom:12px;
  font-size:14px;
  letter-spacing:.01em;
}

.plan-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.plan-list li{
  position:relative;
  padding-left:20px;
  color:#4f434e;
  line-height:1.65;
}

.plan-list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--brand);
  font-weight:800;
}

.plan-included-addons{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed rgba(132,67,105,.18);
}

.plan-addon-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.plan-addon-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:#f4eaf1;
  color:var(--brand);
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}

.plan-addon-box{
  background:linear-gradient(180deg, #fcf8fb 0%, #f9f1f6 100%);
  border-radius:22px;
  padding:20px;
  border-top:none;
}

.plan-note{
  margin-bottom:14px;
  color:var(--muted);
  line-height:1.6;
  font-size:14px;
}

.plan-addon-box .plan-list{
  gap:12px;
}

.plan-addon-box .plan-list li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-left:20px;
}

.plan-addon-box .plan-list li span:first-child{
  flex:1;
}

.plan-addon-price{
  flex:0 0 auto;
  color:var(--brand);
  font-weight:800;
}

.comparison-section{
  padding:44px 0 88px;
}

.compare-wrap{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.compare-wrap.collapsed{
  max-height:720px;
}

.compare-wrap.collapsed::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:130px;
  background:linear-gradient(180deg, rgba(255,255,255,0), #fff 82%);
  pointer-events:none;
}

.compare-table-scroll{
  overflow:auto;
}

.compare-table{
  width:100%;
  border-collapse:collapse;
  min-width:860px;
}

.compare-table th,
.compare-table td{
  padding:16px 18px;
  border-bottom:1px solid rgba(132,67,105,.1);
  text-align:left;
  vertical-align:top;
}

.compare-table th{
  position:sticky;
  top:0;
  background:#fcf7fa;
  z-index:1;
  font-size:14px;
  font-weight:800;
}

.compare-table td{
  color:#4f434e;
  line-height:1.65;
}

.compare-table td:first-child{
  color:var(--text);
  font-weight:700;
}

.compare-addon{
  color:var(--brand);
  font-weight:800;
}

.compare-actions{
  display:flex;
  justify-content:center;
  margin-top:24px;
}

.pricing-cta{
  padding:28px 0 88px;
}

.pricing-cta-box{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:20px;
  align-items:center;
  padding:32px 34px;
  border-radius:34px;
  background:linear-gradient(145deg, #9a5b80 0%, #844369 58%, #65324c 100%);
  box-shadow:0 28px 60px rgba(41, 19, 34, .16);
}

.pricing-cta-copy h2{
  margin:16px 0 12px;
  color:#fff;
  font-size:clamp(2rem, 4vw, 3.3rem);
  line-height:.98;
  letter-spacing:-.055em;
  max-width:14ch;
}

.pricing-cta-copy p{
  max-width:42ch;
  color:rgba(255,255,255,.84);
  line-height:1.8;
}

.pricing-cta-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.pricing-cta-actions .btn-brand{
  background:#fff;
  color:var(--brand);
  box-shadow:none;
}

.pricing-cta-actions .btn-light{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

@media (max-width:1180px){
  .pricing-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .page-hero{
    padding-top:42px;
  }

  .page-hero-inner h1{
    font-size:clamp(2.4rem, 10vw, 3.6rem);
  }

  .pricing-grid{
    grid-template-columns:1fr;
  }

  .plan-card-popular{
    transform:none;
  }

  .plan-card,
  .pricing-switch{
    padding-left:18px;
    padding-right:18px;
  }

  .plan-head{
    min-height:auto;
  }

  .compare-wrap.collapsed{
    max-height:620px;
  }

  .pricing-cta-box{
    grid-template-columns:1fr;
    padding:24px 20px;
  }

  .pricing-cta-copy h2{
    max-width:none;
  }

}
