.nav-link[aria-current="page"] { color: var(--purple); }
.pricing-shell { width: min(100% - 64px, 1400px); margin-inline: auto; }
.pricing-page [hidden] { display: none !important; }
.pricing-page .sr-only,
.pricing-page[data-pricing-ready="true"] .pricing-panel-title { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap !important; border: 0 !important; }
#choose-plan { scroll-margin-top: 24px; }
.pricing-hero { position: relative; isolation: isolate; overflow: hidden; padding: 24px 0 38px; text-align: center; border-bottom: 1px solid #e4e8f4; background: radial-gradient(ellipse at 8% 15%, #eee9ff 0%, transparent 43%), linear-gradient(120deg, #fcfbff, #fff 50%, #edf5ff); }
.pricing-breadcrumb { display: flex; justify-content: center; align-items: center; gap: 11px; margin-bottom: 25px; font-size: .875rem; color: #616d85; }
.pricing-breadcrumb a:hover { color: var(--purple); }
.pricing-breadcrumb svg { width: 13px; height: 13px; transform: rotate(-90deg); color: #9da7ba; }
.pricing-breadcrumb [aria-current] { color: #303a51; }
.pricing-eyebrow { margin: 0 0 14px; font-size: .875rem; font-weight: 650; line-height: 1.6; color: #6236cf; }
.pricing-hero h1 { max-width: 920px; margin: 0 auto; font-size: clamp(2.75rem, 4.3vw, 3.75rem); line-height: 1.12; font-weight: 730; letter-spacing: -2.3px; }
.pricing-hero h1 span { display: inline; max-width: none; margin: 0; color: #552bc9; }
@supports (background-clip: text) {
  .pricing-hero h1 span { background: linear-gradient(100deg, #642ae4 15%, #235ed1 95%); background-clip: text; -webkit-background-clip: text; color: transparent; }
}
.pricing-description { max-width: 645px; margin: 21px auto 0; color: #4d5b73; font-size: 1.125rem; line-height: 1.75; }
.pricing-hero-art { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.pricing-ring { position: absolute; border: 2px solid; border-radius: 50%; }
.pricing-ring-left { left: calc(50% - 517px); top: 119px; width: 34px; height: 34px; border-color: #bda3ef; box-shadow: 0 0 0 9px #eee6fe80; }
.pricing-ring-right { right: calc(50% - 496px); top: 268px; width: 22px; height: 22px; border-color: #94b6ec; }
.pricing-spark { position: absolute; right: calc(50% - 449px); top: 66px; width: 22px; height: 22px; color: #bc8b25; }

.pricing-plans-area { padding: 24px 0 64px; background: linear-gradient(180deg, #f7f8fd, #fff 900px); }
.pricing-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pricing-audiences { flex: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; max-width: 760px; min-width: 0; margin: 0; padding: 4px; background: #eceef7; border: 1px solid #e4e5f1; border-radius: 12px; }
.pricing-audiences button { min-width: 0; min-height: 48px; display: flex; align-items: flex-start; justify-content: flex-start; gap: 10px; padding: 11px 14px; border: 1px solid transparent; border-radius: 8px; text-align: left; background: transparent; color: #5a657d; transition: background .15s, border-color .15s; }
.pricing-audiences button[aria-selected="true"] { background: #fff; border-color: #d4c8ed; box-shadow: 0 2px 6px #25355808; color: #542bb5; }
.pricing-audiences button:hover { background: #f7f7fc; }
.pricing-audiences button[aria-selected="true"]:hover { background: #fff; }
.pricing-audiences button > svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; }
.pricing-audiences strong { display: block; font-size: .9375rem; font-weight: 620; line-height: 1.5; }
.pricing-audience-copy { min-width: 0; }
.pricing-audience-copy > span { display: block; margin-top: 4px; font-size: .875rem; font-weight: 400; line-height: 1.5; color: #606b83; }
.pricing-currency-note { margin: 12px 0 0; font-size: .875rem; line-height: 1.6; color: #647089; }
.pricing-currency-note strong { font-weight: 600; color: #46516a; }
.pricing-billing-control { flex-shrink: 0; display: inline-flex; align-items: center; gap: 3px; padding: 4px; border: 1px solid #e0e3ee; border-radius: 11px; background: #edeff6; }
.pricing-billing-control button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 8px 17px; border: 1px solid transparent; border-radius: 7px; font-size: .875rem; font-weight: 590; color: #536078; background: transparent; }
.pricing-billing-control button[aria-pressed="true"] { color: #32264e; background: #fff; border-color: #ddd9ea; box-shadow: 0 2px 5px #27304b08; }
.pricing-billing-control button > span { border-radius: 5px; background: #e6f3eb; color: #1b744f; padding: 2px 6px; font-size: .6875rem; font-weight: 630; white-space: nowrap; }
.pricing-panel { padding-top: 26px; }
.pricing-panel + .pricing-panel { margin-top: 40px; border-top: 1px solid #e2e6f1; }
.pricing-page[data-pricing-ready="true"] .pricing-panel { margin-top: 0; border-top: 0; }
.pricing-panel-title { margin: 0 0 30px; font-size: 1.375rem; line-height: 1.4; font-weight: 650; letter-spacing: -.5px; color: #273148; }
.pricing-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.pricing-card { position: relative; min-width: 0; padding: 30px 29px 24px; border: 1px solid #dce1ee; border-radius: 17px; background: #fff; box-shadow: 0 5px 17px #22356804; }
.pricing-card-highlight { border: 2px solid #8056e7; padding: 29px 28px 23px; box-shadow: 0 10px 27px #613ccd0c; }
.pricing-card-free { border: 1px solid #c9b8f5; background: #fbf9ff; }
.pricing-card-badge { position: absolute; top: -14px; left: 24px; padding: 5px 12px; border: 1px solid #8156e7; border-radius: 6px; color: #fff; background: #7245d4; font-size: .75rem; font-weight: 600; line-height: 1.5; }
.pricing-card h3 { margin: 0; font-size: 1.3125rem; line-height: 1.5; font-weight: 690; letter-spacing: -.4px; color: #252d44; }
.pricing-card-tagline { min-height: 47px; margin: 7px 0 21px; font-size: .875rem; line-height: 1.7; color: #66718a; }
.pricing-price { display: flex; align-items: baseline; gap: 7px; margin: 0; color: #222b42; }
.pricing-price > strong { font-size: 2.9375rem; line-height: 1.12; letter-spacing: -1.8px; font-weight: 710; }
.pricing-price > span { font-size: .875rem; color: #65718a; }
.pricing-billing-total { margin: 9px 0 0; font-size: .875rem; line-height: 1.7; color: #5e6a82; }
.pricing-savings { width: fit-content; margin: 9px 0 0; padding: 3px 7px; background: #eef8f2; border-radius: 5px; color: #19704e; font-size: .75rem; font-weight: 550; line-height: 1.6; }
.pricing-no-card { margin-top: 10px; }
.pricing-nojs-annual { margin: 7px 0 0; color: #58657d; font-size: .8125rem; line-height: 1.7; }
.pricing-card-cta { width: 100%; min-height: 48px; margin-top: 22px; padding-inline: 12px; font-size: .9375rem; gap: 10px; }
.pricing-card-cta svg { width: 17px; height: 17px; }
.pricing-card-trial { text-align: center; margin: 11px 0 21px; color: #69748a; font-size: .75rem; line-height: 1.7; }
.pricing-account { display: grid; grid-template-columns: 1.2fr 1fr; gap: 15px; padding: 18px 0; border-block: 1px solid #e9ebf3; }
.pricing-account > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 6px; font-size: .8125rem; line-height: 1.55; }
.pricing-account strong { font-size: 1.25rem; color: #3f315d; font-weight: 650; }
.pricing-account span { color: #636c81; }
.pricing-unlimited { display: flex; gap: 9px; align-items: flex-start; margin: 19px 0 17px; color: #277858; font-size: .8125rem; font-weight: 560; line-height: 1.7; }
.pricing-unlimited svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; }
.pricing-card-limits { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.pricing-card-limits li { display: flex; gap: 10px; align-items: flex-start; font-size: .875rem; line-height: 1.65; color: #5a667e; }
.pricing-card-limits li > svg { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; color: #8e99ae; }
.pricing-card-limits strong { color: #37425b; font-weight: 590; }
.pricing-card-support { margin: 21px 0 0; padding-top: 17px; border-top: 1px solid #e9ebf3; color: #647089; font-size: .75rem; line-height: 1.7; }
.pricing-card-support span { margin: 0 4px; }
.pricing-card-footer { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 22px; text-align: center; }
.pricing-track-note { max-width: 900px; margin: 0; color: #58657c; font-size: .8125rem; line-height: 1.8; text-align: center; }
.pricing-compare-link { width: 220px; max-width: 100%; min-height: 50px; padding-inline: 24px; font-size: 1rem; white-space: nowrap; }
.pricing-compare-link svg { width: 18px; height: 18px; }
.pricing-custom { display: flex; gap: 19px; align-items: center; margin-top: 29px; padding: 26px 28px; border: 1px solid #dedced; border-radius: 15px; background: linear-gradient(115deg, #f5f1ff, #f6f8fe); }
.pricing-custom-icon { flex: 0 0 43px; height: 43px; display: grid; place-items: center; color: #7251b1; border: 1px solid #e0d7f0; border-radius: 11px; background: #fff; }
.pricing-custom-icon svg { width: 23px; height: 23px; }
.pricing-custom > div { flex: 1; }
.pricing-custom-label { margin: 0 0 6px; font-size: .75rem; line-height: 1.6; font-weight: 600; color: #6f47b4; }
.pricing-custom h3 { margin: 0 0 7px; font-size: 1.1875rem; line-height: 1.5; letter-spacing: -.3px; font-weight: 640; color: #393150; }
.pricing-custom h3 + p { max-width: 650px; margin: 0; font-size: .875rem; line-height: 1.75; color: #626a81; }
.pricing-custom ul { display: flex; gap: 5px 19px; flex-wrap: wrap; margin: 11px 0 0; padding: 0; list-style: none; color: #655879; font-size: .75rem; line-height: 1.7; }
.pricing-custom > a { flex-shrink: 0; min-height: 47px; margin-left: 6px; padding: 10px 17px; font-size: .875rem; gap: 8px; }
.pricing-custom > a svg { width: 17px; height: 17px; }
.pricing-text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #6132c6; font-size: .875rem; font-weight: 570; line-height: 1.5; }
.pricing-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.pricing-text-link svg { width: 17px; height: 17px; }

.pricing-comparison { margin-top: 65px; scroll-margin-top: 28px; }
.pricing-comparison-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.pricing-comparison-heading .pricing-eyebrow { margin-bottom: 9px; }
.pricing-comparison-heading h2 { margin: 0; font-size: 2.25rem; line-height: 1.2; letter-spacing: -1.2px; color: #273147; font-weight: 670; }
.pricing-comparison-note { max-width: 780px; margin: 19px 0 24px; color: #66728a; font-size: .875rem; line-height: 1.85; }
.pricing-mobile-hint { display: none; color: #68748a; font-size: .75rem; line-height: 1.6; }
.pricing-table-wrap { overflow-x: auto; border: 1px solid #dce2ef; border-radius: 14px; background: #fff; }
.pricing-table { table-layout: fixed; border-collapse: separate; border-spacing: 0; width: 100%; min-width: 760px; color: #526078; font-size: .875rem; line-height: 1.7; }
.pricing-table thead th { padding: 22px 17px; text-align: center; vertical-align: middle; background: #fff; font-weight: 630; color: #344158; }
.pricing-table thead th:first-child { width: 34%; text-align: left; padding-left: 24px; position: sticky; left: 0; z-index: 2; }
.pricing-table thead th > span { display: block; font-size: 1rem; color: #343d54; }
.pricing-table thead small { display: block; margin-top: 6px; color: #66718a; font-size: .8125rem; font-weight: 420; }
.pricing-table thead small b { font-weight: 570; }
.pricing-table th[scope="row"] { position: sticky; left: 0; z-index: 1; text-align: left; font-weight: 480; background: #fff; padding: 13px 17px 13px 24px; }
.pricing-table td { padding: 13px 17px; text-align: center; background: #fff; }
.pricing-table tr:not(.pricing-table-group) > * { border-bottom: 1px solid #edf0f6; }
.pricing-table td:nth-child(3) { background: #fcfbff; }
.pricing-table-group th { padding: 12px 24px; text-align: left; background: #f2f4fa; border-block: 1px solid #e5e9f3; font-size: .8125rem; font-weight: 650; color: #4a536d; }
.pricing-included { display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: #397861; font-size: .8125rem; }
.pricing-included svg { width: 16px; height: 16px; }
.pricing-table-footnote { margin: 18px 0 0; color: #67738a; font-size: .8125rem; line-height: 1.8; }
.pricing-table-footnote a { color: #623ac1; text-decoration: underline; text-underline-offset: 3px; }
.pricing-static-note { margin: 0 0 22px; font-size: .9375rem; line-height: 1.8; color: #54627a; }
.pricing-faq .faq-all-link { margin-left: 0; min-height: 44px; }
.pricing-faq .section-eyebrow { font-size: .875rem; }
.pricing-closing-cta .closing-actions .button { font-size: 1rem; }

@media (max-width: 1100px) {
  .pricing-hero-art { display: none; }
  .pricing-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .pricing-card { padding-inline: 23px; }
  .pricing-card-highlight { padding-inline: 22px; }
  .pricing-card-tagline { min-height: 48px; }
  .pricing-custom { gap: 17px; padding-inline: 24px; }
  .pricing-custom > a { max-width: 220px; }
}
@media (max-width: 900px) {
  .pricing-shell { width: min(100% - 48px, 690px); }
  .pricing-toolbar { flex-direction: column; gap: 12px; }
  .pricing-audiences { flex: none; width: 100%; max-width: none; }
  .pricing-currency-note { text-align: center; }
  .pricing-card-grid { grid-template-columns: 1fr; gap: 28px; max-width: 560px; margin-inline: auto; }
  .pricing-card, .pricing-card-highlight { padding: 28px 30px; }
  .pricing-card-tagline { min-height: 0; margin-bottom: 19px; }
  .pricing-account { grid-template-columns: 1fr 1fr; }
  .pricing-card-limits { grid-template-columns: 1fr 1fr; gap: 15px 21px; }
  .pricing-card-limits li { font-size: .8125rem; }
  .pricing-card-cta { max-width: none; }
  .pricing-custom { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 10px 19px; align-items: start; }
  .pricing-custom > a { grid-column: 2; max-width: none; width: fit-content; margin: 8px 0 0; }
  .pricing-comparison-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .pricing-comparison-heading > a { min-height: 35px; }
  .pricing-comparison-note { margin-top: 12px; margin-bottom: 14px; }
  .pricing-mobile-hint { display: block; margin: 0 0 13px; }
}
@media (max-width: 700px) {
  .pricing-hero { padding-bottom: 31px; }
  .pricing-hero h1 { font-size: 2.75rem; letter-spacing: -1.8px; }
  .pricing-description { font-size: 1rem; }
  .pricing-audiences button { padding-inline: 10px; gap: 8px; }
  .pricing-audiences strong { font-size: .875rem; }
  .pricing-card-limits { grid-template-columns: 1fr; gap: 12px; }
  .pricing-card-limits li { font-size: .875rem; }
  .pricing-table { min-width: 660px; font-size: .8125rem; }
  .pricing-table thead th:first-child { width: 170px; padding-left: 16px; }
  .pricing-table th[scope="row"] { padding-left: 16px; padding-right: 16px; box-shadow: 1px 0 0 #e4e8f1; }
  .pricing-table-group th { padding-inline: 16px; }
  .pricing-comparison { margin-top: 47px; }
  .pricing-plans-area { padding-bottom: 47px; }
}
@media (max-width: 480px) {
  .pricing-card, .pricing-card-highlight { padding: 26px 24px; }
  .pricing-custom { grid-template-columns: 1fr; padding: 24px; gap: 14px; }
  .pricing-custom > a { grid-column: 1; width: 100%; font-size: .8125rem; padding-inline: 12px; }
  .pricing-custom ul { display: grid; gap: 5px; }
  .pricing-panel-title { font-size: 1.25rem; }
  .pricing-comparison-heading h2 { font-size: 2rem; letter-spacing: -.8px; }
}
@media (max-width: 420px) {
  .pricing-shell { width: calc(100% - 36px); }
  .pricing-hero h1 { font-size: 2.375rem; letter-spacing: -1.4px; }
  .pricing-breadcrumb { margin-bottom: 23px; }
  .pricing-audiences button { padding-inline: 8px; }
  .pricing-audiences button > svg { display: none; }
  .pricing-card, .pricing-card-highlight { padding-inline: 23px; }
  .pricing-price > strong { font-size: 2.75rem; }
}
