/* ============================================================================
   copyleast — Pricing page
   Hero with plan cards, "why packs" split, "on every plan", FAQ.
   ========================================================================== */

.pricing-hero {
  position: relative;
  overflow: hidden;
  background: var(--neutral-100);
  padding-top: var(--sp-16);
  padding-bottom: var(--sp-20);
}
@media (min-width: 768px) {
  .pricing-hero {
    padding-top: var(--sp-24);
    padding-bottom: var(--sp-32);
  }
}
.pricing-hero__wash {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(46rem 32rem at 8% -8%, rgba(255, 94, 0, 0.14), transparent 60%),
    radial-gradient(42rem 30rem at 94% 4%, rgba(255, 160, 77, 0.16), transparent 58%),
    radial-gradient(34rem 26rem at 82% 98%, rgba(255, 122, 31, 0.1), transparent 60%);
}
.pricing-hero__inner {
  position: relative;
}
.pricing-hero__head {
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}
.pricing-hero__title {
  margin-top: var(--sp-5);
  color: var(--neutral-950);
}
.pricing-hero__sub {
  margin-inline: auto;
  margin-top: var(--sp-6);
  max-width: 36rem;
  color: var(--neutral-500);
}

/* ── Plans ────────────────────────────────────────────────────────────────── */
.plans {
  margin-inline: auto;
  margin-top: 3.5rem;
  display: grid;
  gap: var(--sp-4);
  max-width: 64rem;
}
@media (min-width: 768px) {
  .plans {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
  }
}
.plans__note {
  margin-top: var(--sp-6);
  text-align: center;
  color: var(--neutral-400);
}

.plan {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-lg);
  background: #fff;
  border: 1px solid var(--neutral-200);
  box-shadow: var(--shadow-sm);
  padding: var(--sp-6);
}
@media (min-width: 768px) {
  .plan {
    padding: var(--sp-8);
  }
}
.plan--featured {
  border-color: var(--brand-500);
  /* ring-1 ring-brand-500 + shadow-md */
  box-shadow: 0 0 0 1px var(--brand-500), var(--shadow-md);
}
.plan__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
}
.plan__name {
  color: var(--neutral-950);
}
.plan__badge {
  border-radius: 9999px;
  background: var(--brand-500);
  padding: 0.25rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}
.plan__tagline {
  margin-top: var(--sp-1);
  color: var(--neutral-500);
}
.plan__price-row {
  margin-top: var(--sp-6);
  display: flex;
  align-items: baseline;
  gap: var(--sp-2);
}
.plan__price {
  color: var(--neutral-950);
}
.plan__unit {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--neutral-400);
}
.plan__features {
  margin-top: var(--sp-6);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.plan__features li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--neutral-600);
}
.plan__features li::before {
  content: "";
  margin-top: 0.375rem;
  height: 6px;
  width: 6px;
  flex-shrink: 0;
  border-radius: 9999px;
  background: var(--brand-500);
}
.plan__cta {
  margin-top: var(--sp-8);
}

/* ── Why packs (split) ────────────────────────────────────────────────────── */
.why-packs {
  display: grid;
  align-items: center;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .why-packs {
    grid-template-columns: 1.1fr 0.9fr;
    gap: 4rem;
  }
}
.why-packs__fig {
  margin-inline: auto;
  width: 100%;
  max-width: 20rem;
}
@media (min-width: 1024px) {
  .why-packs__fig {
    max-width: 24rem;
  }
}
.why-packs__cap {
  margin-top: var(--sp-3);
  text-align: center;
  color: var(--neutral-400);
}

/* ── FAQ footer note ──────────────────────────────────────────────────────── */
.faq-note {
  margin-top: var(--sp-6);
  text-align: center;
  font-size: 0.875rem;
  color: var(--neutral-500);
}
.faq-note a {
  font-weight: 500;
  color: var(--brand-700);
  text-underline-offset: 4px;
}
.faq-note a:hover {
  text-decoration: underline;
}
