@charset "UTF-8";
.page-pricing .masthead__issue, .page-pricing .nav, .page-pricing .footer-col a, .page-pricing .footer-col h3, .page-pricing .footer-bottom { font-size: 13px; }
.page-pricing .skip-link { font-size: 14px; }
.pricing-intro { padding-top: 60px; text-align: center; }
.pricing-intro h1 { font-size: clamp(38px, 4.2vw, 58px); line-height: 1.08; letter-spacing: -.04em; }
.pricing-copy { color: var(--ink-muted); font-size: 18px; line-height: 1.6; margin: 20px auto 0; max-width: 640px; }
.pricing-billing { display: inline-flex; margin-top: 28px; padding: 4px; gap: 4px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-1); }
.pricing-billing button { cursor: pointer; min-height: 44px; padding: 10px 20px; color: var(--ink-muted); border: 0; border-radius: var(--radius-small); background: transparent; font: inherit; }
.pricing-billing button[aria-pressed="true"] { background: var(--surface-4); color: var(--ink); }
.pricing-billing span { margin-left: 8px; color: var(--accent-hover); font-size: 13px; }
.pricing-note { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 16px 0 0; }
.pricing-intro > .pricing-note { max-width: 65ch; margin-inline: auto; }
.pricing-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 960px; margin: 32px auto 0; text-align: left; }
.pricing-plan { padding: 30px 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-1); }
.pricing-pro { border-color: var(--accent); background: var(--surface-2); }
.pricing-plan-heading { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.pricing-plan h2 { margin: 0; font-size: 28px; line-height: 1.2; }
.pricing-status { font-size: 13px; color: var(--ink-muted); }
.pricing-status-pro { color: var(--accent-hover); }
.pricing-purpose { color: var(--ink-muted); font-size: 16px; min-height: 48px; margin: 14px 0 0; }
.pricing-price { display: flex; gap: 9px; align-items: baseline; margin: 23px 0 0; font-variant-numeric: tabular-nums; }
.pricing-price > span:first-child { font-size: 56px; font-weight: 600; letter-spacing: -.045em; line-height: 1.1; }
.pricing-unit { color: var(--muted); font-size: 16px; }
.pricing-billing-note { margin: 10px 0 0; min-height: 26px; color: var(--ink-muted); font-size: 16px; font-variant-numeric: tabular-nums; }
.pricing-action { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin-top: 24px; font: inherit; border-radius: var(--radius-small); }
.pricing-unavailable { color: var(--muted); background: var(--surface-3); border: 1px solid var(--line-strong); cursor: not-allowed; }
.pricing-account { min-height: 42px; margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.pricing-includes { padding-top: 20px; border-top: 1px solid var(--line); margin: 16px 0 0; color: var(--ink-muted); font-size: 16px; }
.pricing-features { padding: 0 0 0 19px; margin: 20px 0 0; }
.pricing-features li { padding-left: 4px; margin-top: 13px; color: var(--ink-muted); font-size: 16px; line-height: 1.55; }
.pricing-features strong { color: var(--ink); }
.pricing-guest { margin: 25px auto 0; color: var(--ink-muted); font-size: 15px; max-width: 760px; }
.pricing-comparison { padding-top: 90px; max-width: 960px; }
.pricing-comparison h2, .pricing-faq h2 { font-size: 32px; letter-spacing: -.03em; }
.pricing-comparison > .pricing-copy { margin-left: 0; }
.pricing-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: 30px; text-align: left; }
.pricing-table th, .pricing-table td { border-bottom: 1px solid var(--line); padding: 18px 14px; font-size: 16px; vertical-align: middle; }
.pricing-table th:first-child { width: 54%; padding-left: 0; }
.pricing-table tbody th { font-weight: 400; }
.pricing-table td { color: var(--ink-muted); }
.pricing-table th span { display: block; font-size: 13px; color: var(--muted); margin-top: 5px; }
.pricing-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 24px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.pricing-faq { display: grid; grid-template-columns: 1fr 1.6fr; gap: 64px; padding-top: 90px; padding-bottom: 80px; max-width: 960px; }
.pricing-faq details { border-bottom: 1px solid var(--line); }
.pricing-faq summary { cursor: pointer; padding: 20px 4px; font-size: 16px; }
.pricing-faq details p { margin: 0; padding: 0 4px 22px; color: var(--ink-muted); font-size: 16px; line-height: 1.65; }
@media (max-width: 800px) {
  .pricing-plan { padding: 26px 24px; }
  .pricing-faq { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
  .pricing-intro { padding-top: 34px; }
  .pricing-copy { font-size: 16px; }
  .pricing-billing { display: flex; }
  .pricing-billing button { flex: 1; padding: 10px 8px; font-size: 14px; }
  .pricing-billing span { margin-left: 4px; }
  .pricing-plans { grid-template-columns: 1fr; gap: 20px; margin-top: 26px; }
  .pricing-purpose { min-height: 0; }
  .pricing-account { min-height: 0; }
  .pricing-table th, .pricing-table td { padding: 16px 8px; font-size: 14px; overflow-wrap: anywhere; }
  .pricing-table th:first-child { width: 46%; }
  .pricing-scope { grid-template-columns: 1fr; gap: 4px; }
  .pricing-comparison, .pricing-faq { padding-top: 64px; }
}
