.pricing-shell { max-width: 1180px; margin: auto; padding: 24px 32px; }
.pricing-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pricing-nav .portal-brand { margin: 0; }
.pricing-nav > div { display: flex; gap: 22px; }
.pricing-nav a { color: inherit; text-decoration: none; }
.pricing-heading { padding: 20px 0 24px; }
.pricing-heading h1 { font-size: clamp(30px,4vw,42px); line-height: 1.2; letter-spacing: -1px; margin: 12px 0; }
.pricing-heading p { margin: 0; color: var(--app-muted); font-size: 14px; line-height: 1.8; }
.pricing-heading .pricing-eyebrow { color: var(--app-action); font-size: 12px; font-weight: 650; letter-spacing: 1px; }
.pricing-shell #availability { margin-bottom: 18px; }
.pricing-shell .purchase-options { margin-top: 0; }
.pricing-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.pricing-plans .is-annual { border: 2px solid #bf2043; background: linear-gradient(155deg,#fff,#fff3f5); }
.pricing-plans .plan-delivery { color: #52525c; }
.pricing-plans .portal-card { padding: 25px 20px; display: flex; flex-direction: column; }
.pricing-plans h3 { font-size: 20px; }
.pricing-plans p { line-height: 1.7; }
.pricing-plans .portal-button { margin-top: auto; text-align: center; }
.pricing-plans [data-create-order] { min-height: 44px; }
.plan-order-status:empty { display: none; }
.plan-order-status { overflow-wrap: anywhere; }
.plan-order-status:focus { outline: 2px solid var(--app-line); outline-offset: 5px; border-radius: 6px; }
.plan-order-status a { display: inline-flex; align-items: center; min-height: 44px; color: var(--app-action); text-underline-offset: 3px; }
.pricing-plans .plan-benefit { color: #a71b39; font-size: 12px; font-weight: 650; }
.plan-price { font-size: 36px; font-weight: 700; margin: 10px 0 20px; letter-spacing: -1px; }
.pricing-rules { margin-top: 38px; }
.pricing-rules p, .pricing-invite p { line-height: 1.9; color: #595963; }
.pricing-invite { padding: 28px 8px; max-width: 780px; }
.pricing-invite a { color: #af1c3b; }
.benefits-section { margin: 64px 0 40px; }
.benefits-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.benefits-kicker { color: #b11d3c; font-size: 12px; font-weight: 700; letter-spacing: 1px; }
.benefits-heading h2 { font-size: clamp(25px,3vw,35px); letter-spacing: -1px; margin: 12px 0; text-wrap: balance; }
.benefits-heading p:not(.benefits-kicker) { color: #60606a; line-height: 1.8; }
.double-badge { flex-shrink: 0; display: grid; gap: 8px; text-align: center; padding: 20px 28px; border: 1px solid #efc8d1; border-radius: 24px; background: linear-gradient(135deg,#fff,#fbe8ed); color: #a61f3c; font-size: 12px; }
.double-badge strong { font-size: 40px; letter-spacing: -2px; }
.comparison-wrap { border: 1px solid #dcdce3; border-radius: 24px; overflow: hidden; background: #fff; }
.comparison-table { border-collapse: collapse; width: 100%; table-layout: fixed; text-align: left; }
.comparison-table caption { padding: 16px 24px; color: #60606a; font-size: 12px; text-align: left; border-bottom: 1px solid #e8e8ed; }
.comparison-table :is(th,td) { padding: 22px 24px; vertical-align: middle; border-bottom: 1px solid #e8e8ed; }
.comparison-table thead th { font-size: 20px; padding-top: 30px; padding-bottom: 30px; }
.comparison-table thead th:first-child { font-size: 14px; color: #62626c; }
.comparison-table tbody th { font-size: 14px; font-weight: 600; }
.comparison-table th { white-space: normal; }
.comparison-table td strong { display: block; font-size: 17px; font-weight: 650; }
.comparison-table small { display: block; margin-top: 7px; font-size: 12px; color: #65656e; font-weight: 400; line-height: 1.6; }
.comparison-table .package-cell { background: #fff3f5; }
.comparison-table .package-cell strong, .comparison-table thead .package-cell { color: #a71b39; }
.comparison-table tbody tr:last-child :is(th,td) { border-bottom: 0; }
.benefits-footnote { color: #62626d; font-size: 13px; line-height: 1.9; margin: 20px 4px; }
.benefits-footnote strong { color: #303039; }
@media(max-width:650px) {
  .benefits-section { margin-top: 44px; }
  .benefits-heading { display: block; }
  .double-badge { display: inline-flex; align-items: center; gap: 14px; padding: 10px 18px; border-radius: 16px; }
  .double-badge strong { font-size: 26px; }
  .comparison-wrap { border-radius: 18px; }
  .comparison-table :is(th,td) { padding: 17px 8px; overflow-wrap: anywhere; }
  .comparison-table thead th { font-size: 14px; }
  .comparison-table tbody th, .comparison-table thead th:first-child { font-size: 12px; }
  .comparison-table td strong { font-size: 14px; }
  .comparison-table small { font-size: 11px; line-height: 1.6; }
  .comparison-table caption { padding: 14px 12px; font-size: 11px; }
}
@media(max-width:850px) { .pricing-plans { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .pricing-shell { padding: 18px; } .pricing-nav { align-items: flex-start; } .pricing-nav > div { flex-direction: column; gap: 10px; font-size: 13px; white-space: nowrap; } .pricing-nav .portal-brand strong { font-size: 20px; } .pricing-heading { padding: 10px 0 20px; } .pricing-plans { grid-template-columns: 1fr; } }
@media(max-width:360px) { .comparison-table :is(th,td) { padding-left: 6px; padding-right: 6px; } .comparison-table thead th, .comparison-table td strong { font-size: 13px; } }
