/* Pricing page: plan cards as the focal point, and a ruled comparison table. */
.pricing-hero { max-width: 760px; margin: 0 auto; text-align: center; }
.pricing-hero .breadcrumbs ol { justify-content: center; }
.pricing-hero h1 { margin-inline: auto; }
.pricing-hero .article-lede { margin-inline: auto; font-size: 19px; }
.pricing-hero .article-meta { justify-content: center; }

.plan-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 920px; margin: 44px auto 0; }
.plan-card { display: flex; flex-direction: column; padding: 34px; border: 1px solid #354a3d; border-radius: 16px; background: rgba(17, 33, 23, .72); }
.plan-card-home { border-color: #3fcf8e; background: linear-gradient(180deg, rgba(31, 77, 51, .55), rgba(17, 33, 23, .8) 42%); box-shadow: 0 0 0 1px rgba(63, 207, 142, .25), 0 24px 60px -30px rgba(63, 207, 142, .45); }
.plan-card .plan-kicker { margin: 0 0 10px; color: #9bac9f; font: 500 11px/1.6 "IBM Plex Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.plan-card-home .plan-kicker { color: #3fcf8e; }
.plan-card h2 { margin: 0; font-size: 24px; line-height: 1.2; }
.plan-price { display: flex; align-items: baseline; gap: 10px; margin: 26px 0 6px; color: #f0fff5; font-size: 60px; font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.plan-price small { color: #9bac9f; font-size: 15px; font-weight: 500; letter-spacing: 0; }
.plan-terms { margin: 0; color: #9bac9f; font-size: 14px; }
.plan-renewal { margin: 6px 0 0; color: #c9f5dc; font-size: 14px; }
.plan-features { flex: 1; margin: 26px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255, 255, 255, .1); list-style: none; }
.plan-features li { display: flex; gap: 12px; margin: 0 0 13px; color: #d5e0d9; font-size: 15px; line-height: 1.5; }
.plan-features li:last-child { margin-bottom: 0; }
.plan-check { flex: none; color: #3fcf8e; font-weight: 700; }
.plan-cta { display: flex; justify-content: center; align-items: center; min-height: 48px; margin-top: 30px; padding: 12px 18px; border: 1px solid #3fcf8e; border-radius: 9px; color: #c9f5dc; font-size: 15px; font-weight: 600; text-decoration: none; }
.plan-cta:hover { background: rgba(63, 207, 142, .12); }
.plan-card-home .plan-cta { color: #06210f; background: #3fcf8e; }
.plan-card-home .plan-cta:hover { background: #70dfac; }
.plan-note { max-width: 920px; margin: 18px auto 0; color: #9bac9f; font-size: 13px; text-align: center; }

.price-table th, .price-table td { border: 1px solid #354a3d; }
.price-table tr > :first-child { border-left: 0; }
.price-table tr > :last-child { border-right: 0; }
.price-table tbody tr:last-child > * { border-bottom: 0; }
.price-table thead th { border-top: 0; }
.price-table tbody th { text-align: left; }
.price-table tbody .featured { border-left-color: #354a3d; border-right-color: #354a3d; }

@media (max-width: 760px) {
  .plan-cards { grid-template-columns: 1fr; gap: 18px; margin-top: 32px; }
  .plan-card { padding: 26px; }
  .plan-price { font-size: 52px; }
  .pricing-hero .article-lede { font-size: 17px; }
}
