/* Public plan presentation. Billing and entitlement enforcement remain in the portal. */
html:has(body.future-pricing-page) { scroll-padding-top: 0 !important; }
.future-pricing-page .pr-main { --pr-muted: #acb9b0; --pr-line: #cfe8cb26; font-family: var(--tx-font-sans); }
.future-pricing-page .pr-main :where(p, h2, h3, ul) { margin: 0; }
.future-pricing-page .pr-main :where(a) { border-bottom: 0; }
.future-pricing-page .pr-main :where(section, details) { scroll-margin-top: 130px; }
.future-pricing-page .pr-main :where(a, summary, [tabindex]):focus-visible { outline: 2px solid var(--fi-lime) !important; outline-offset: 5px; }
.pr-hero { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, .8fr); align-items: center; gap: 24px; padding-block: 158px 52px; }
.pr-hero .fi-eyebrow { margin-bottom: 22px; }
.future-pricing-page .pr-hero .fi-display { --fi-display-size: clamp(44px, 4.5vw, 65px); }
.future-pricing-page .pr-hero .fi-lead { max-width: 650px; margin-top: 27px; color: var(--pr-muted); }
.pr-hero__art { min-width: 0; width: 100%; max-width: 320px; margin-left: auto; }
.pr-hero__art svg { display: block; width: 100%; height: auto; }
.pr-hero__art p { display: flex; align-items: center; justify-content: center; gap: 18px; color: #aab99a; font: 10px/1.6 monospace; letter-spacing: .12em; }
.pr-hero__art p::before, .pr-hero__art p::after { content: ''; width: 28px; height: 1px; background: #b7ed4940; }
.pr-plan-rail { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 18px 22px; border-top: 1px solid var(--pr-line); }
.pr-plan-rail p { color: var(--pr-muted); font-size: 14px; line-height: 1.6; }
.pr-plan-rail p strong { color: var(--fi-white); font-weight: 800; }
.pr-plan-rail a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--fi-white); font-size: 14px; font-weight: 800; text-decoration: none; }
.pr-plan-rail a span { color: var(--fi-lime); }
.pr-plan-rail a:hover { color: var(--fi-lime); }
.future-pricing-page #plans { padding-block: 0; }
.pr-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pr-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 30px 30px 28px; border: 1px solid #cfe8cb2b; border-radius: 8px; background: linear-gradient(145deg, #b7ed4906, transparent 50%), #0b120f; }
.pr-card--pro { border-color: #b7ed4980; background: radial-gradient(ellipse at 80% 0, #b7ed4919, transparent 58%), linear-gradient(160deg, #182316, #0c150e 60%); box-shadow: 0 0 44px #94cf1407, inset 0 1px 0 #d7ff9150; }
.pr-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 31px; margin-bottom: 28px; }
.pr-card__index { color: #a5b59c; font: 11px/1.5 monospace; letter-spacing: .08em; }
.pr-card__badge { padding: 6px 9px; border: 1px solid #b7ed4959; border-radius: 3px; color: #c9f58a; font: 10px/1.5 monospace; letter-spacing: .08em; text-transform: uppercase; }
.pr-card__icon { width: 36px; height: 30px; color: #9bb982; }
.future-pricing-page .pr-card h2 { color: var(--fi-white); font-size: 28px !important; line-height: 1.25 !important; letter-spacing: -.035em !important; }
.future-pricing-page .pr-card__intro { min-height: 52px; margin-top: 12px; color: var(--pr-muted); font-size: 15px; line-height: 1.7; }
.pr-card__price { display: flex; align-items: baseline; gap: 9px; margin-top: 29px !important; white-space: nowrap; }
.pr-card__price strong { color: var(--fi-white); font: 700 clamp(44px, 4vw, 58px)/1 var(--tx-font-display); letter-spacing: -.065em; }
.pr-card--pro .pr-card__price strong { color: var(--fi-lime); }
.pr-card__price span { color: var(--pr-muted); font-size: 14px; }
.future-pricing-page .pr-card__billing { min-height: 24px; margin-top: 12px; color: var(--pr-muted); font-size: 13px; line-height: 1.6; }
.pr-card__rule { height: 1px; margin-block: 26px 24px; border: 0; background: var(--pr-line); }
.future-pricing-page .pr-features { display: grid; align-content: start; gap: 15px; padding: 0; list-style: none; }
.future-pricing-page .pr-features li { position: relative; padding-left: 25px; color: #c6d0c8; font-size: 15px; line-height: 1.65; }
.future-pricing-page .pr-features li::before { content: ''; position: absolute; top: 7px; left: 2px; width: 10px; height: 6px; border-left: 1.5px solid var(--fi-lime); border-bottom: 1.5px solid var(--fi-lime); transform: rotate(-45deg); background: none; border-radius: 0; }
.future-pricing-page .pr-card__bottom { margin-top: auto; padding-top: 30px; }
.future-pricing-page .pr-card .fi-button { width: 100%; gap: 14px; padding-inline: 13px; }
.pr-card__totals { display: grid; gap: 8px; margin-top: 22px; padding-top: 19px; border-top: 1px solid var(--pr-line); }
.pr-card__totals > div { display: flex; justify-content: space-between; gap: 12px; color: var(--pr-muted); font-size: 13px; line-height: 1.5; }
.pr-card__totals strong { color: #d5e3cc; font-weight: 800; white-space: nowrap; }
.future-pricing-page .pr-purchase-note { margin-top: 23px; max-width: 1020px; color: var(--pr-muted); font-size: 14px; line-height: 1.8; }
.future-pricing-page .pr-inline-link { color: var(--fi-lime); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.future-pricing-page .pr-inline-link:hover { color: #e1ffac; }
.pr-common { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding-block: 36px 38px; margin-top: 35px; border-block: 1px solid var(--pr-line); }
.pr-common__item { min-width: 0; display: flex; gap: 17px; }
.pr-common__item > svg { width: 23px; height: 23px; flex: 0 0 23px; margin-top: 2px; color: #b1cd91; }
.future-pricing-page .pr-common__item h3 { color: #e5edde; font-size: 16px !important; line-height: 1.5 !important; letter-spacing: 0 !important; }
.future-pricing-page .pr-common__item p { margin-top: 8px; color: var(--pr-muted); font-size: 14px; line-height: 1.7; }
.pr-comparison { padding-block: 83px 0; }
.future-pricing-page .pr-comparison .fi-section-head h2, .future-pricing-page .pr-questions h2 { font-size: clamp(30px, 3.1vw, 43px) !important; line-height: 1.2 !important; letter-spacing: -.04em !important; }
.pr-table-wrap { overflow-x: auto; border: 1px solid var(--pr-line); border-radius: 7px; scrollbar-color: #617643 #0b120f; }
.future-pricing-page .pr-table { width: 100%; min-width: 640px; border-collapse: collapse; table-layout: fixed; text-align: left; color: #c6d0c8; font-size: 14px; line-height: 1.7; }
.future-pricing-page .pr-table, .future-pricing-page .pr-table tbody, .future-pricing-page .pr-table tr { background: transparent; }
.future-pricing-page .pr-table tbody tr:nth-child(even) { background: #b7ed4903; }
.pr-table caption { padding: 0; }
.pr-table th, .pr-table td { padding: 20px 25px; border-bottom: 1px solid var(--pr-line); vertical-align: top; }
.pr-table thead th { padding-block: 26px; background: #0e1711; color: var(--fi-white); font-size: 17px; font-weight: 800; }
.pr-table thead th:first-child { color: var(--pr-muted); font-size: 13px; }
.pr-table thead th small { display: block; margin-top: 6px; color: #aebda7; font-size: 13px; font-weight: 400; }
.pr-table tbody th { color: #e0e9da; font-weight: 700; }
.pr-table :is(th, td):nth-child(3) { background: #b7ed4906; }
.pr-table tbody tr:last-child > * { border-bottom: 0; }
.pr-table .pr-yes { color: #d4f3b0; }
.future-pricing-page .pr-comparison__note { margin-top: 20px; color: var(--pr-muted); font-size: 14px; line-height: 1.8; }
.pr-table-hint { display: none; }
.pr-enterprise { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-block: 67px 0; padding: 36px 40px; border: 1px solid #b7ed4936; border-radius: 7px; background: radial-gradient(ellipse at 0 50%, #b7ed4909, transparent 70%), #0b120f; }
.pr-enterprise .fi-eyebrow { margin-bottom: 14px; }
.future-pricing-page .pr-enterprise h2 { font-size: clamp(25px, 2.8vw, 33px) !important; line-height: 1.25 !important; letter-spacing: -.035em !important; }
.future-pricing-page .pr-enterprise p:not(.fi-eyebrow) { max-width: 670px; margin-top: 15px; color: var(--pr-muted); font-size: 16px; line-height: 1.75; }
.pr-enterprise > .fi-button { flex-shrink: 0; }
.pr-questions { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: 80px; padding-block: 85px 90px; }
.pr-questions .fi-eyebrow { margin-bottom: 19px; }
.future-pricing-page .pr-questions__intro { margin-top: 22px; max-width: 380px; color: var(--pr-muted); font-size: 16px; line-height: 1.8; }
.pr-questions__list { border-top: 1px solid var(--pr-line); }
.pr-question { border-bottom: 1px solid var(--pr-line); }
.pr-question summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 78px; padding-block: 21px; color: #e6eddf; font-size: 17px; font-weight: 800; line-height: 1.5; cursor: pointer; list-style: none; }
.pr-question summary::-webkit-details-marker { display: none; }
.pr-question summary::marker { content: ''; }
.pr-question summary::after { content: '+'; width: 22px; flex: 0 0 22px; color: #bdcfb0; font: 400 25px/1 monospace; text-align: center; }
.pr-question[open] summary::after { content: '−'; color: var(--fi-lime); }
.pr-question summary:hover, .pr-question[open] summary { color: var(--fi-lime); }
.future-pricing-page .pr-question p { padding: 0 40px 26px 0; color: var(--pr-muted); font-size: 16px; line-height: 1.8; }
@keyframes pr-line-flash { 0% { opacity: 0; stroke-dasharray: 9 110; stroke-dashoffset: 12; } 8%, 86% { opacity: 1; } 100% { opacity: 0; stroke-dasharray: 9 110; stroke-dashoffset: -110; } }
@media (prefers-reduced-motion: no-preference) { .future-pricing-page .fi-art-flashing .pr-route-flash { animation: pr-line-flash 1.4s cubic-bezier(.4, 0, .2, 1) .3s 1 both; } }
@media (max-width: 1200px) {
  .pr-hero { padding-top: 144px; grid-template-columns: minmax(0, 1.9fr) minmax(0, .7fr); gap: 16px; }
  .pr-card { padding: 25px 22px; }
  .pr-plans { gap: 14px; }
  .pr-card__intro { min-height: 77px; }
  .pr-card__price strong { font-size: 50px; }
  .pr-common { gap: 24px; }
  .pr-table :is(th, td) { padding-inline: 20px; }
  .pr-questions { gap: 44px; }
}
@media (max-width: 900px) {
  .pr-hero { display: block; padding-block: 140px 42px; }
  .pr-hero__art { display: none; }
  .future-pricing-page .pr-hero .fi-display { --fi-display-size: 58px; }
  .pr-plans { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pr-card { padding: 28px 30px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 0 40px; }
  .pr-card__top { grid-column: 1 / -1; margin-bottom: 18px; }
  .pr-card__intro { min-height: 0; }
  .pr-card__rule { display: none; }
  .pr-features { grid-column: 2; grid-row: 2 / span 4; padding-top: 4px !important; }
  .pr-card__bottom { grid-column: 1; padding-top: 25px; }
  .pr-card__totals { grid-column: 2; grid-row: 6; align-self: end; }
  .pr-common { gap: 24px; }
  .pr-common__item { display: block; }
  .pr-common__item > svg { margin-bottom: 15px; }
  .pr-enterprise { align-items: flex-start; flex-direction: column; gap: 25px; padding: 32px; }
  .pr-questions { grid-template-columns: 1fr; gap: 32px; padding-block: 64px; }
  .future-pricing-page .pr-questions__intro { max-width: 650px; }
}
@media (max-width: 767px) {
  .pr-hero { padding-block: 132px 33px; }
  .future-pricing-page .pr-hero .fi-display { --fi-mobile-display-size: clamp(37px, 8.7vw, 58px); }
  .future-pricing-page .pr-hero .fi-lead { margin-top: 24px; }
  .pr-plan-rail { align-items: flex-start; flex-direction: column; gap: 8px; padding-block: 18px 21px; }
  .pr-plan-rail p { font-size: 13px; }
  .pr-card { display: flex; padding: 25px 24px; }
  .pr-card__top { margin-bottom: 22px; }
  .pr-card__price { margin-top: 25px !important; }
  .pr-card__price strong { font-size: 55px; }
  .pr-card__rule { display: block; }
  .pr-card__billing { min-height: 0; }
  .pr-card__bottom { padding-top: 28px; }
  .pr-card__totals { align-self: stretch; }
  .pr-common { grid-template-columns: 1fr; gap: 28px; padding-block: 30px; }
  .pr-common__item { display: flex; gap: 18px; }
  .pr-common__item > svg { margin-bottom: 0; }
  .pr-comparison { padding-top: 58px; }
  .pr-table-hint { display: block; margin-bottom: 14px !important; color: var(--pr-muted); font-size: 13px; line-height: 1.6; }
  .pr-table :is(th, td) { padding-inline: 17px; }
  .pr-table th:first-child { width: 150px; }
  .pr-enterprise { margin-top: 45px; padding: 27px 24px; }
  .pr-enterprise .fi-button { width: 100%; }
  .pr-questions { padding-block: 56px 65px; }
  .pr-question summary { font-size: 16px; }
  .future-pricing-page .pr-question p { padding-right: 10px; font-size: 15px; }
}
