.home-pricing {
  margin: 72px 0 82px;
  padding-top: 47px;
  border-top: 1px solid rgb(33 26 46 / .15);
}
.home-pricing .home-section-heading { max-width: 760px; }
.pricing-gift {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 25px 0 18px;
  padding: 15px 18px;
  border-inline-start: 4px solid var(--brand-citron);
  border-radius: 10px;
  background: var(--brand-ink);
  color: var(--brand-chalk);
}
.pricing-gift strong { color: var(--brand-citron); }
.pricing-gift span { color: rgb(245 242 250 / .83); font-size: .9rem; }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  container-type: inline-size;
}
.pricing-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  padding: 21px 19px 18px;
  border: 1px solid rgb(33 26 46 / .19);
  border-radius: 14px;
  background: var(--brand-chalk);
}
.pricing-card h3 { margin: 0; font-size: 1.2rem; }
.pricing-trial { display: inline-flex; margin: 9px 0 0; padding: 4px 9px; border-radius: 6px; background: var(--brand-citron); color: var(--brand-ink); font-size: .8rem; font-weight: 700; }
.pricing-cap { margin: 4px 0 17px; color: rgb(33 26 46 / .7); font-size: .9rem; }
.pricing-price { display: grid; gap: 1px; margin: 0; }
.pricing-price > strong { font-size: clamp(1.25rem, 1.8vw, 1.7rem); font-weight: 800; font-variant-numeric: tabular-nums; }
.pricing-price > span { display: grid; color: var(--brand-ink); font-size: .88rem; }
.pricing-price small { color: rgb(33 26 46 / .66); font-size: .8rem; }
.pricing-rate { margin: 15px 0 0; padding-top: 12px; border-top: 1px solid rgb(33 26 46 / .13); color: rgb(33 26 46 / .78); font-size: .9rem; }
.pricing-rate strong { display: block; margin-top: 2px; color: var(--brand-ink); }
.pricing-action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 11px;
  border: 1px solid var(--brand-violet);
  border-radius: 9px;
  color: var(--brand-ink) !important;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: color .16s ease, background-color .16s ease;
}
.pricing-action:hover,
.pricing-action:focus-visible { background: var(--brand-citron); }
.pricing-footnote { margin: 15px 0 0; color: rgb(33 26 46 / .68); font-size: .88rem; line-height: 1.8; }

.signup-plan-choice { display: grid; gap: 11px; margin: 0; padding: 0; border: 0; }
.signup-plan-choice legend { margin-bottom: 0; color: var(--brand-ink); font-weight: 800; }
.plan-choice-help { margin: -6px 0 2px; padding: 10px 13px; border-radius: 10px; background: var(--brand-violet); color: var(--brand-citron); font-size: .92rem; font-weight: 700; line-height: 1.75; }
.signup-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.signup-plan-option {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  margin: 0;
  padding: 14px;
  border: 1px solid rgb(33 26 46 / .2);
  border-radius: 12px;
  background: var(--brand-chalk);
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.signup-plan-option:has(input:checked) { border: 2px solid var(--brand-violet); padding: 13px; background: rgb(120 80 248 / .07); }
.signup-plan-option:focus-within { outline: 2px solid var(--brand-violet); outline-offset: 2px; }
.signup-plan-option > input { width: 19px; height: 19px; margin: 3px 0 0; accent-color: var(--brand-violet); }
.plan-option-copy { display: grid; min-width: 0; gap: 3px; }
.plan-option-copy > strong { font-size: 1.04rem; }
.plan-option-copy > small { color: rgb(33 26 46 / .74); font-size: .83rem; font-weight: 400; line-height: 1.55; }
.plan-option-copy > b { margin-top: 5px; font-size: .91rem; font-variant-numeric: tabular-nums; }
.plan-option-copy > b small { color: rgb(33 26 46 / .67); font-size: .78rem; font-weight: 400; }
.plan-gift-note { display: grid; gap: 3px; padding: 12px 14px; border-radius: 10px; background: var(--brand-ink); color: var(--brand-chalk); }
.plan-gift-note strong { color: var(--brand-citron); }
.plan-gift-note span { color: rgb(245 242 250 / .84); font-size: .86rem; line-height: 1.7; }
.plan-review { padding: 15px; border: 1px solid rgb(33 26 46 / .18); border-radius: 12px; background: #fff; }
.plan-review[hidden] { display: none !important; }
.plan-review h3 { margin: 0 0 10px; font-size: 1rem; }
.plan-review dl { display: grid; gap: 0; margin: 0; }
.plan-review dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid rgb(33 26 46 / .1); }
.plan-review dt { color: rgb(33 26 46 / .72); }
.plan-review dd { margin: 0; font-weight: 700; text-align: left; font-variant-numeric: tabular-nums; }
.plan-review p { margin: 9px 0 0; color: rgb(33 26 46 / .72); font-size: .85rem; line-height: 1.75; }

@media (max-width: 1000px) {
  .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .home-pricing { margin: 58px 0 66px; padding-top: 35px; }
  .pricing-gift { align-items: flex-start; flex-direction: column; gap: 3px; }
}
@media (max-width: 600px) {
  .pricing-grid,
  .signup-plan-grid { grid-template-columns: 1fr; }
  .pricing-card { padding: 18px; }
  .pricing-price > strong { font-size: 1.5rem; }
  .plan-review dl > div { align-items: flex-start; }
  .plan-review dd { max-width: 55%; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-card *, .signup-plan-choice * { transition-duration: .01ms !important; }
}
