.pricing-v2 {
    --pricing-v2-navy: #071329;
    --pricing-v2-navy-soft: #0e1b39;
    --pricing-v2-purple: #6240df;
    --pricing-v2-purple-dark: #4025b8;
    --pricing-v2-blue: #226fda;
    --pricing-v2-text: #131a2b;
    --pricing-v2-muted: #596579;
    --pricing-v2-border: #dce2ec;
    --pricing-v2-surface: #fff;
    --pricing-v2-soft: #f5f7fb;
    --pricing-v2-success: #08795f;
    --pricing-v2-radius: 18px;
    color: var(--pricing-v2-text);
    background: var(--pricing-v2-soft);
}

.pricing-v2 *, .pricing-v2 *::before, .pricing-v2 *::after { box-sizing: border-box; }
.pricing-v2-shell { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.pricing-v2-hero { padding: 76px 0 142px; overflow: hidden; color: #fff; text-align: center; background: radial-gradient(circle at 18% 10%, rgba(98,64,223,.38), transparent 34%), radial-gradient(circle at 84% 18%, rgba(34,111,218,.3), transparent 32%), linear-gradient(145deg, var(--pricing-v2-navy), var(--pricing-v2-navy-soft)); }
.pricing-v2-eyebrow { margin: 0 0 14px; color: #7557ed; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pricing-v2-hero .pricing-v2-eyebrow { color: #d4cbff; }
.pricing-v2-hero h1 { max-width: 780px; margin: 0 auto 16px; font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.04; letter-spacing: -.04em; }
.pricing-v2-lead { max-width: 700px; margin: 0 auto; color: #d3daea; font-size: clamp(1rem, 2vw, 1.18rem); line-height: 1.65; }
.pricing-v2-toggle { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 30px; padding: 5px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(0,0,0,.28); }
.pricing-v2-toggle-button { min-width: 138px; min-height: 44px; padding: 9px 18px; border: 0; border-radius: 999px; color: #e5e9f4; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.pricing-v2-toggle-button.is-active { color: #fff; background: linear-gradient(135deg, var(--pricing-v2-purple), var(--pricing-v2-blue)); }
.pricing-v2-plans { position: relative; z-index: 2; margin-top: -104px; padding-bottom: 48px; }
.pricing-v2-notice { display: grid; gap: 4px; margin-bottom: 16px; padding: 18px 20px; border: 1px solid #b7c7e6; border-radius: 12px; color: #18345f; background: #edf4ff; }
.pricing-v2-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.pricing-v2-card { position: relative; display: flex; min-width: 0; padding: 27px 21px 22px; flex-direction: column; border: 1px solid var(--pricing-v2-border); border-radius: var(--pricing-v2-radius); background: var(--pricing-v2-surface); box-shadow: 0 10px 32px rgba(10,24,52,.08); }
.pricing-v2-card.is-popular { border: 2px solid var(--pricing-v2-purple); box-shadow: 0 18px 48px rgba(10,24,52,.13); }
.pricing-v2-popular { position: absolute; top: -16px; left: 50%; margin: 0; padding: 7px 14px; border-radius: 999px; color: #fff; background: var(--pricing-v2-purple-dark); font-size: .76rem; font-weight: 800; white-space: nowrap; transform: translateX(-50%); }
.pricing-v2-card header h3 { margin: 0 0 8px; font-size: 1.18rem; text-transform: uppercase; }
.pricing-v2-card header p { min-height: 64px; margin: 0; color: var(--pricing-v2-muted); font-size: .9rem; line-height: 1.5; }
.pricing-v2-price { display: flex; min-height: 64px; margin: 22px 0 16px; align-items: baseline; gap: 6px; }
.pricing-v2-price [data-v2-price] { font-size: clamp(2rem, 4vw, 2.55rem); font-weight: 850; line-height: 1; letter-spacing: -.04em; }
.pricing-v2-price small { color: var(--pricing-v2-muted); font-size: .82rem; }
.pricing-v2-actions { display: grid; gap: 10px; }
.pricing-v2-btn { display: inline-flex; min-height: 46px; padding: 11px 15px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 10px; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; }
.pricing-v2-btn-primary { color: #fff; background: linear-gradient(135deg, var(--pricing-v2-purple-dark), var(--pricing-v2-blue)); }
.pricing-v2-btn-secondary { border-color: var(--pricing-v2-purple-dark); color: var(--pricing-v2-purple-dark); background: #fff; }
.pricing-v2-trial-note { margin: 0 0 8px; color: var(--pricing-v2-muted); font-size: .76rem; line-height: 1.45; text-align: center; }
.pricing-v2-highlights { display: grid; gap: 10px; margin: 20px 0 24px; padding: 0; list-style: none; }
.pricing-v2-highlights li { display: grid; grid-template-columns: 18px 1fr; gap: 7px; color: #344057; font-size: .86rem; line-height: 1.4; }
.pricing-v2-highlights li span { color: var(--pricing-v2-success); font-weight: 900; }
.pricing-v2-custom-plan { margin: 0 0 20px; padding: 10px 12px; border-radius: 9px; color: #29364e; background: #eef2f8; font-size: .84rem; font-weight: 700; line-height: 1.45; }
.pricing-v2-view-features { margin-top: auto; color: var(--pricing-v2-purple-dark); font-size: .86rem; font-weight: 800; }
.pricing-v2-trust { padding: 8px 0 64px; }
.pricing-v2-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--pricing-v2-border); border-radius: var(--pricing-v2-radius); background: #fff; }
.pricing-v2-trust-grid div { display: grid; gap: 5px; padding: 23px; }
.pricing-v2-trust-grid div + div { border-left: 1px solid var(--pricing-v2-border); }
.pricing-v2-trust-grid span { color: var(--pricing-v2-muted); font-size: .82rem; line-height: 1.45; }
.pricing-v2-comparison, .pricing-v2-faq { padding: 68px 0; background: #fff; }
.pricing-v2-heading { max-width: 720px; margin-bottom: 30px; }
.pricing-v2-heading h2, .pricing-v2-final h2 { margin: 0 0 10px; font-size: clamp(1.85rem, 4vw, 2.9rem); letter-spacing: -.03em; }
.pricing-v2-heading > p:last-child { color: var(--pricing-v2-muted); }
.pricing-v2-category { margin-bottom: 16px; overflow: hidden; border: 1px solid var(--pricing-v2-border); border-radius: 14px; background: #fff; }
.pricing-v2-category summary { min-height: 54px; padding: 16px 20px; color: #17213a; background: #f7f8fc; font-weight: 850; cursor: pointer; }
.pricing-v2-table-wrap { overflow-x: auto; }
.pricing-v2 table { width: 100%; min-width: 760px; border-collapse: collapse; }
.pricing-v2 th, .pricing-v2 td { padding: 13px 15px; border-bottom: 1px solid #e8ecf3; text-align: center; font-size: .84rem; }
.pricing-v2 th:first-child { position: sticky; left: 0; z-index: 2; width: 32%; color: #26334b; text-align: left; background: #fff; }
.pricing-v2 thead th { color: #26334b; background: #fff; }
.pricing-v2-check { display: inline-grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #05684f; background: #d9f4ea; font-weight: 900; }
.pricing-v2-no { color: #778399; }
.pricing-v2-faq { background: var(--pricing-v2-soft); }
.pricing-v2-faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.pricing-v2-faq details { border: 1px solid var(--pricing-v2-border); border-radius: 12px; background: #fff; }
.pricing-v2-faq summary { min-height: 56px; padding: 18px; font-weight: 800; cursor: pointer; }
.pricing-v2-faq details p { margin: 0; padding: 0 18px 18px; color: var(--pricing-v2-muted); line-height: 1.65; }
.pricing-v2-final { padding: 72px 0; color: #fff; background: var(--pricing-v2-navy); }
.pricing-v2-final .pricing-v2-shell { display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.pricing-v2-final p:not(.pricing-v2-eyebrow) { max-width: 760px; margin: 0; color: #d3daea; }
.pricing-v2-btn-light { flex-shrink: 0; color: var(--pricing-v2-navy); background: #fff; }
.pricing-v2-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.pricing-v2 a:focus-visible, .pricing-v2 button:focus-visible, .pricing-v2 summary:focus-visible, .pricing-v2-table-wrap:focus-visible { outline: 3px solid #2d75d5; outline-offset: 3px; }

@media (max-width: 980px) { .pricing-v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pricing-v2-trust-grid { grid-template-columns: repeat(2, 1fr); } .pricing-v2-trust-grid div:nth-child(odd) { border-left: 0; } .pricing-v2-trust-grid div:nth-child(n+3) { border-top: 1px solid var(--pricing-v2-border); } }
@media (max-width: 640px) { .pricing-v2-shell { width: min(100% - 22px, 1180px); } .pricing-v2-hero { padding: 60px 0 124px; } .pricing-v2-toggle { width: 100%; } .pricing-v2-toggle-button { min-width: 0; } .pricing-v2-grid, .pricing-v2-trust-grid, .pricing-v2-faq-grid { grid-template-columns: 1fr; } .pricing-v2-card header p { min-height: 0; } .pricing-v2-trust-grid div + div { border-top: 1px solid var(--pricing-v2-border); border-left: 0; } .pricing-v2-final .pricing-v2-shell { align-items: stretch; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .pricing-v2 *, .pricing-v2 *::before, .pricing-v2 *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
