/* Scoped to the benefits page; SignPop and shared layouts remain unchanged. */
.plans-page { color:#18304d; background:#f6f8fc; padding-bottom:48px; }
.plans-page .wrap { max-width:1180px; }
.plan-intro { padding-top:48px; padding-bottom:8px; }
.plan-intro h1 { font-size:clamp(28px,4vw,42px); line-height:1.2; letter-spacing:-.03em; margin:10px 0 16px; }
.plan-intro>p:not(.eyebrow) { max-width:850px; font-size:17px; line-height:1.7; margin:0 0 20px; color:#52617a; }
.plan-note { padding:12px 16px; border:1px solid #d9e3ef; border-radius:10px; background:#edf3fb; font-size:14px; line-height:1.6; }
.plan-section { margin-top:30px; }
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.price-card{background:#fff;border:1px solid #dce4ef;border-radius:18px;padding:22px;display:grid;align-content:start;gap:8px}.price-card.featured{border-color:#74a7f7;box-shadow:0 10px 28px rgba(39,111,229,.12)}.price-card h2{font-size:18px;margin:0}.price{font-size:30px;font-weight:850;color:#102b51}.price small{font-size:14px;color:#65738a}.price-card p{margin:0;color:#52617a;line-height:1.6}.credit-packs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.credit-packs span{padding:7px 10px;border-radius:999px;background:#edf3fb;font-weight:700;color:#193e74}.price-disclaimer{grid-column:1/-1;color:#65738a;font-size:13px;line-height:1.6}
.plan-section h2 { font-size:22px; line-height:1.4; margin:0 0 14px; }
.price-wide{grid-column:1/-1}
.plan-scroll { overflow:auto; border:1px solid #dce4ef; border-radius:14px; background:#fff; }
.plan-scroll:focus-visible, .plan-details summary:focus-visible { outline:3px solid #276fe5; outline-offset:3px; }
.plan-table { width:100%; min-width:720px; border-collapse:separate; border-spacing:0; font-size:16px; line-height:1.55; table-layout:fixed; }
.plan-table th,.plan-table td { text-align:left; vertical-align:top; padding:17px 20px; border-bottom:1px solid #e4eaf2; overflow-wrap:anywhere; }
.plan-table thead th { background:#eaf1fb; color:#193e74; font-weight:750; }
.plan-table tbody th { font-weight:600; color:#314765; background:#fff; width:24%; }
.plan-table tbody tr:nth-child(even) th,.plan-table tbody tr:nth-child(even) td { background:#f7f9fc; }
.plan-table tr:last-child th,.plan-table tr:last-child td { border-bottom:0; }
.plan-section:first-child .plan-table thead th:nth-child(3) { background:#fff0dc; color:#704912; }
.plan-section:first-child .plan-table thead th:nth-child(4) { background:#dfeaff; color:#194d9c; }
.plan-footnote { margin:12px 0 22px; color:#58677d; font-size:14px; line-height:1.7; }
.plan-details { border:1px solid #dce4ef; border-radius:14px; padding:0 20px; background:white; margin-top:20px; }
.plan-details summary { cursor:pointer; padding:20px 0; font-size:17px; font-weight:650; }
.plan-details[open] { padding-bottom:20px; }
.plan-details p { font-size:15px; line-height:1.8; color:#52617a; }
.plan-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin-top:30px; color:#52617a; font-size:14px; }
@media(max-width:640px) {
  .plan-intro { padding-top:28px; }
  .plan-intro>p:not(.eyebrow) { font-size:16px; }
  .plan-table { min-width:650px; }
  .plan-table th,.plan-table td { padding:14px 16px; }
  .plan-table th:first-child { position:sticky; left:0; z-index:1; box-shadow:2px 0 0 #e4eaf2; }
  .plan-details { padding-left:14px; padding-right:14px; }
  .price-grid{grid-template-columns:1fr}
}
@media print { .plan-scroll { overflow:visible; } .plan-table { min-width:0; } .plan-details { break-inside:avoid; } }
