.pricing-page { background: #fff; color: #172033; }
.pricing-page main .container { width: min(100% - 40px, 1120px); }
.pricing-page main h1, .pricing-page main h2, .pricing-page main h3 { letter-spacing: 0; }
.pricing-hero { padding: 58px 0 52px; background: #f3f7f8; border-bottom: 1px solid #dce6e8; }
.pricing-hero .breadcrumb { margin-bottom: 20px; color: #64748b; }
.pricing-hero .eyebrow, .pricing-section-heading .eyebrow, .pricing-contact-section .eyebrow { color: #0f766e; font-weight: 750; }
.pricing-hero h1 { max-width: 800px; margin: 10px 0 16px; font-size: 52px; line-height: 1.18; color: #101b29; }
.pricing-hero p { max-width: 740px; margin: 0; color: #526174; font-size: 18px; line-height: 1.7; }
.pricing-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 26px; }
.pricing-hero-actions > a:last-child { color: #0f766e; font-weight: 700; }
.pricing-plans-section, .pricing-compare-section, .pricing-terms-section { padding: 64px 0 74px; }
.pricing-section-heading { margin-bottom: 28px; }
.pricing-section-heading h2 { margin: 6px 0 10px; color: #101b29; font-size: 31px; line-height: 1.3; }
.pricing-section-heading p { max-width: 720px; margin: 0; color: #64748b; line-height: 1.7; }
.pricing-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.pricing-plan { display: flex; flex-direction: column; min-width: 0; padding: 30px; border: 1px solid #dce5e9; border-radius: 8px; background: #fff; }
.pricing-plan-v6 { border-color: #afcfdb; border-top: 4px solid #2467ad; padding-top: 27px; }
.pricing-plan-v5 { border-top: 4px solid #198f78; padding-top: 27px; }
.pricing-plan-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 22px; font-size: 13px; }
.pricing-plan-title span { color: #475569; font-weight: 750; }
.pricing-plan-title strong { color: #0f766e; font-weight: 700; }
.pricing-plan-intro { display: grid; grid-template-columns: 148px minmax(0, 1fr); align-items: center; gap: 20px; min-width: 0; min-height: 148px; }
.pricing-plan-intro > img, .pricing-plan-mark { display: block; width: 148px; height: 148px; border-radius: 6px; }
.pricing-plan-intro > img { object-fit: contain; background: #f7f9fc; }
.pricing-plan-mark { display: grid; place-items: center; background: #e8f5f1; color: #0f766e; font-size: 42px; }
.pricing-plan-intro > div:last-child { min-width: 0; }
.pricing-plan-intro h3 { margin: 0 0 6px; color: #172033; font-size: 23px; line-height: 1.25; }
.pricing-plan-intro p { margin: 0; color: #64748b; font-size: 14px; line-height: 1.55; }
.pricing-amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 16px; }
.pricing-amount strong { color: #154a78; font-size: 39px; line-height: 1.15; white-space: nowrap; }
.pricing-plan-v5 .pricing-amount strong { color: #0f766e; }
.pricing-amount span { color: #64748b; font-size: 13px; }
.pricing-plan-features { display: grid; gap: 14px; margin: 28px 0 0; padding: 24px 0 28px; border-top: 1px solid #e2e8f0; list-style: none; }
.pricing-plan-features li { position: relative; padding-left: 23px; color: #475569; font-size: 15px; line-height: 1.5; }
.pricing-plan-features li::before { position: absolute; top: 0.55em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #0f766e; content: ""; }
.pricing-plan-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: auto; }
.pricing-plan-actions .btn { min-height: 44px; border-radius: 6px; }
.pricing-plan-actions > a:last-child { color: #0f766e; font-size: 14px; font-weight: 700; }
.pricing-compare-section { background: #f7faf9; border-block: 1px solid #e2e9e8; }
.pricing-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pricing-compare-section table { width: 100%; min-width: 700px; border-collapse: collapse; table-layout: fixed; background: transparent; }
.pricing-compare-section th, .pricing-compare-section td { padding: 16px 18px; border-bottom: 1px solid #dce5e6; text-align: left; vertical-align: top; line-height: 1.6; }
.pricing-compare-section thead th { color: #1f3340; font-size: 14px; background: #eaf2f0; }
.pricing-compare-section thead th:first-child { width: 20%; }
.pricing-compare-section tbody th { color: #263746; font-weight: 750; }
.pricing-compare-section tbody td { color: #526174; }
.pricing-compare-note { max-width: 920px; margin: 20px 0 0; color: #64748b; font-size: 14px; line-height: 1.7; }
.pricing-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #dce5e8; }
.pricing-terms > div { min-width: 0; padding: 24px 22px 0 0; }
.pricing-terms > div + div { padding-left: 22px; border-left: 1px solid #dce5e8; }
.pricing-terms strong { color: #172033; font-size: 18px; }
.pricing-terms p { margin: 10px 0 0; color: #526174; line-height: 1.75; }
.pricing-contact-section { padding: 58px 0; background: #173542; color: #fff; }
.pricing-contact-section .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; }
.pricing-contact-section .container > div:first-child { min-width: 0; }
.pricing-contact-section .eyebrow { color: #8ee0ce; }
.pricing-contact-section h2 { margin: 8px 0 10px; color: #fff; font-size: 30px; }
.pricing-contact-section p { max-width: 660px; margin: 0; color: #c9dde3; }
.pricing-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.pricing-contact-actions .btn { border-radius: 6px; }

@media (max-width: 1160px) and (min-width: 881px) {
  .pricing-page .menu-toggle { display: inline-flex; }
  .pricing-page .nav-links { position: fixed; top: 80px; right: 0; left: 0; display: none; max-height: calc(100dvh - 80px); overflow-y: auto; padding: 16px 20px 24px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, 0.98); box-shadow: var(--shadow); }
  .pricing-page.menu-open .nav-links { display: grid; justify-content: stretch; }
  .pricing-page .nav-item, .pricing-page .nav-link { width: 100%; }
  .pricing-page .nav-item:has(.dropdown)::after { display: none; }
  .pricing-page .nav-link { justify-content: space-between; }
  .pricing-page .dropdown, .pricing-page .mega-menu, .pricing-page .mega-menu.mega-wide { position: static; width: 100%; max-width: none; grid-template-columns: 1fr; margin: 4px 0 10px; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
  .pricing-page .dropdown-section { padding: 6px; }
  .pricing-page .nav-actions .btn-secondary { display: none; }
}

@media (max-width: 1160px) {
  .pricing-page .nav-item:hover .dropdown, .pricing-page .nav-item:focus-within .dropdown { transform: none; }
}

@media (max-width: 900px) {
  .pricing-plans { grid-template-columns: 1fr; }
}

@media (max-width: 880px) {
  .pricing-page .nav-links { top: 80px; max-height: calc(100dvh - 80px); }
}

@media (max-width: 760px) {
  .pricing-table-scroll { overflow: visible; }
  .pricing-compare-section table, .pricing-compare-section tbody, .pricing-compare-section tr { display: block; width: 100%; min-width: 0; }
  .pricing-compare-section thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .pricing-compare-section tr { padding: 18px 0; border-top: 1px solid #dce5e6; }
  .pricing-compare-section th, .pricing-compare-section td { display: block; padding: 0; border: 0; }
  .pricing-compare-section tbody th { margin-bottom: 10px; font-size: 16px; }
  .pricing-compare-section tbody td { margin-top: 9px; font-size: 14px; }
  .pricing-compare-section tbody td::before { display: inline-block; min-width: 4.6em; margin-right: 8px; color: #0f766e; font-weight: 750; content: attr(data-version); }
}

@media (max-width: 700px) {
  .pricing-hero { padding: 38px 0 42px; }
  .pricing-hero h1 { font-size: 36px; }
  .pricing-hero p { font-size: 16px; }
  .pricing-plans-section, .pricing-compare-section, .pricing-terms-section { padding: 48px 0 54px; }
  .pricing-section-heading h2 { font-size: 26px; }
  .pricing-terms { grid-template-columns: 1fr; }
  .pricing-terms > div, .pricing-terms > div + div { padding: 20px 0; border-left: 0; border-bottom: 1px solid #dce5e8; }
}

@media (max-width: 480px) {
  .pricing-page main .container { width: min(100% - 32px, 1120px); }
  .pricing-page .nav-actions .btn-primary { display: none; }
  .pricing-hero h1 { font-size: 32px; }
  .pricing-hero-actions .btn { min-width: 0; }
  .pricing-plan { padding: 22px; }
  .pricing-plan-v6, .pricing-plan-v5 { padding-top: 19px; }
  .pricing-plan-intro { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; min-height: 96px; }
  .pricing-plan-intro > img, .pricing-plan-mark { width: 96px; height: 96px; }
  .pricing-plan-mark { font-size: 32px; }
  .pricing-plan-intro h3 { font-size: 19px; }
  .pricing-plan-intro p { font-size: 13px; }
  .pricing-amount { margin-top: 10px; }
  .pricing-amount strong { font-size: 30px; }
  .pricing-plan-actions { align-items: stretch; flex-direction: column; }
  .pricing-plan-actions .btn { width: 100%; }
  .pricing-contact-section h2 { font-size: 26px; }
}

@media (max-width: 360px) {
  .pricing-plan-intro { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
  .pricing-plan-intro > img, .pricing-plan-mark { width: 76px; height: 76px; }
  .pricing-amount strong { font-size: 27px; }
}
