.pricing-page .editorial { letter-spacing: normal; }
.pricing-hero { padding-block: 64px 36px; text-align: center; background: radial-gradient(ellipse at 50% 100%, #eaf0ff, transparent 70%), #fbfcff; }
.pricing-hero .eyebrow, .pricing-section-heading .eyebrow { justify-content: center; }
.pricing-hero h1 { font-size: clamp(42px, 4.5vw, 63px); margin-block: 14px 22px; line-height: 1.55; }
.pricing-hero h1 span { color: var(--blue); }
.pricing-hero > .page-width > p:not(.eyebrow) { color: var(--muted); font-size: 17px; }
.pricing-deployment { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 5px; border: 1px solid #dce5f3; border-radius: 12px; padding: 5px; background: #edf2fa; margin-top: 29px; font-size: 13px; }
.pricing-deployment > * { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 11px 18px; min-height: 46px; border-radius: 8px; color: #63738c; }
.pricing-deployment [aria-current] { background: #fff; color: var(--blue); box-shadow: 0 2px 8px #2846700c; }
.pricing-deployment .icon { width: 19px; height: 19px; }
.pricing-plans { max-width: 1200px; padding-block: 24px 70px; }
.pricing-plans .notice { font-size: 12px; margin-bottom: 24px; }
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 22px; align-items: stretch; }
.pricing-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #e0e6f1; border-radius: 17px; padding: 29px; background: #fff; }
.pricing-featured { border: 2px solid #83a9fb; padding: 28px; background: linear-gradient(180deg, #f2f6ff, #fff 40%); box-shadow: 0 14px 40px -25px #2563eb55; }
.pricing-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; margin-bottom: 22px; }
.pricing-plan-mark { display: inline-flex; background: #f1f5fc; color: #557cba; padding: 10px; border-radius: 11px; }
.pricing-plan-mark .icon { width: 23px; height: 23px; }
.pricing-badge { color: #3262b7; background: #e2ebff; padding: 5px 10px; border-radius: 100px; font-size: 10px; }
.pricing-card h2 { font-size: 25px; margin-bottom: 10px; }
.pricing-description { font-size: 14px; line-height: 1.85; color: var(--muted); min-height: 54px; }
.pricing-price { display: flex; gap: 9px; align-items: baseline; margin-top: 27px; min-height: 58px; }
.pricing-price b { color: var(--navy); font-size: 49px; font-weight: 600; line-height: 1.2; }
.pricing-price img { align-self: center; width: 26px; height: 26px; }
.pricing-price span { color: var(--muted); font-size: 13px; }
.pricing-price-pending { align-items: center; font-size: 18px; }
.pricing-billing-note { font-size: 11px; color: var(--muted); margin-block: 3px 22px; }
.pricing-card .button { width: 100%; min-height: 49px; font-size: 14px; }
.pricing-capacity { display: grid; gap: 7px; padding-block: 22px; border-bottom: 1px solid var(--line); margin-bottom: 20px; font-size: 13px; color: #4e627f; }
.pricing-capacity span { display: flex; align-items: center; gap: 8px; }
.pricing-capacity b { color: var(--ink); font-weight: 500; }
.pricing-capacity .icon { width: 18px; height: 18px; color: #7490b3; }
.pricing-includes-label { font-size: 12px; font-weight: 500; margin-bottom: 12px; }
.pricing-features { flex: 1; margin: 0; padding: 0; list-style: none; font-size: 13px; color: #5a6b83; }
.pricing-features li { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 11px; }
.pricing-features .icon { width: 17px; height: 17px; margin-top: 4px; color: #507ac0; }
.pricing-details-link { font-size: 12px; padding-top: 20px; }
.pricing-details-link .icon { width: 16px; height: 16px; }
.pricing-section-heading { text-align: center; margin-bottom: 33px; }
.pricing-section-heading h2 { font-size: clamp(34px, 3.4vw, 48px); margin-block: 13px 19px; }
.pricing-section-heading > p:last-child:not(.eyebrow) { color: var(--muted); font-size: 15px; }
.pricing-comparison { max-width: 1200px; padding-block: 18px 80px; }
.pricing-table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; scrollbar-width: thin; }
.pricing-table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: 14px; }
.pricing-table th, .pricing-table td { padding: 21px 24px; text-align: center; border-bottom: 1px solid #e9edf5; }
.pricing-table th:first-child { width: 32%; text-align: start; }
.pricing-table thead { background: #eef3fc; }
.pricing-table thead th { font-weight: 500; font-size: 16px; }
.pricing-table tbody th { font-weight: 400; }
.pricing-table th small { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.pricing-table td { color: #4a6080; }
.pricing-table tbody tr:nth-child(even) { background: #fbfcfe; }
.pricing-table tfoot th, .pricing-table tfoot td { border: 0; }
.pricing-table .text-link { font-size: 12px; }
.pricing-table .text-link .icon { width: 16px; height: 16px; }
.comparison-money, .comparison-check { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.comparison-money img { width: 18px; height: 18px; }
.comparison-check { color: #4473b4; font-size: 12px; }
.comparison-check .icon { width: 17px; height: 17px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pricing-local { padding-block: 36px; background: #f4f7fc; border-block: 1px solid #e6ecf5; }
.pricing-local > .page-width { display: flex; align-items: center; gap: 27px; max-width: 1200px; }
.pricing-local-icon { display: inline-flex; flex: none; padding: 20px; border: 1px solid #dce6f4; background: #fff; color: #6987b0; border-radius: 15px; }
.pricing-local-icon .icon { width: 32px; height: 32px; }
.pricing-local h2 { font-size: 22px; margin-block: 5px 9px; }
.pricing-local p:not(.eyebrow) { font-size: 14px; color: var(--muted); }
.pricing-local .button { margin-inline-start: auto; flex: none; font-size: 13px; }
.pricing-faq { max-width: 950px; padding-block: 80px; }
.pricing-faq-list { border-top: 1px solid var(--line); }
.pricing-faq-list details { border-bottom: 1px solid var(--line); }
.pricing-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; min-height: 76px; font-size: 15px; padding-block: 20px; }
.pricing-faq-list summary::-webkit-details-marker { display: none; }
.pricing-faq-list summary .icon { width: 19px; height: 19px; color: #7184a2; }
.pricing-faq-list details[open] .icon { transform: rotate(45deg); }
.pricing-faq-list details p { color: var(--muted); font-size: 14px; padding-bottom: 24px; }
.pricing-empty { text-align: center; padding: 55px 25px; background: #f7f9fd; border: 1px solid var(--line); border-radius: 15px; }
.pricing-empty p { margin-block: 15px; color: var(--muted); }
@media (max-width: 1000px) {
    .pricing-local > .page-width { flex-wrap: wrap; }
    .pricing-local .button { margin-inline-start: 0; }
}
@media (max-width: 600px) {
    .pricing-hero { padding-block: 40px 24px; }
    .pricing-hero h1 { font-size: 42px; }
    .pricing-hero > .page-width > p:not(.eyebrow) { font-size: 14px; }
    .pricing-deployment { display: flex; font-size: 12px; }
    .pricing-deployment > * { flex: 1; padding-inline: 10px; }
    .pricing-plans { padding-block: 22px 50px; }
    .pricing-grid { gap: 18px; }
    .pricing-card { padding: 25px; }
    .pricing-featured { padding: 24px; }
    .pricing-description { min-height: 0; }
    .pricing-capacity { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 11px; }
    .pricing-capacity span { flex-wrap: wrap; gap: 5px; }
    .pricing-comparison { padding-bottom: 55px; }
    .pricing-table th, .pricing-table td { padding: 17px 19px; }
    .pricing-local { padding-block: 30px; }
    .pricing-local > .page-width { gap: 20px; }
    .pricing-local-icon { padding: 14px; }
    .pricing-local h2 { font-size: 20px; }
    .pricing-local p:not(.eyebrow) { font-size: 13px; }
    .pricing-faq { padding-block: 55px; }
    .pricing-faq-list summary { font-size: 14px; }
}
