/* Quantory v3 production pricing styles. Approved from the staged Pricing page. */

.plan-section { padding: clamp(56px, 7vw, 96px) 0; background: var(--q-navy); color: #edf3ef; }
.plan-section__intro { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 60px; margin-bottom: clamp(36px, 5vw, 64px); }
.q-eyebrow--light { color: var(--q-sage); }
.plan-section__intro > p { max-width: 470px; justify-self: end; margin: 0; color: #aab8b3; font-size: .94rem; line-height: 1.75; }
.plan-ledger { border-top: 1px solid #40514d; }
.plan-row { position: relative; display: grid; min-height: 230px; grid-template-columns: minmax(160px, .8fr) minmax(100px, .4fr) minmax(220px, 1.2fr) minmax(180px, .65fr); align-items: center; gap: clamp(24px, 4vw, 68px); border-bottom: 1px solid #40514d; }
.plan-row--accent::before { position: absolute; top: -1px; bottom: -1px; left: calc(-1 * var(--q-page-pad)); width: 3px; background: var(--q-brass); content: ""; }
.plan-row__identity { display: grid; grid-template-columns: 1fr; align-items: start; }
.plan-row h3 { margin: 0; color: #f0f4f2; font-family: var(--q-font-serif); font-size: clamp(2.35rem, 3.4vw, 3.9rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.plan-row__identity p:last-child { margin: 11px 0 0; color: #8fa09a; font-size: .76rem; }
.plan-row__label { width: fit-content; margin: 0 0 9px; padding-bottom: 5px; border-bottom: 1px solid var(--q-brass); color: var(--q-brass-light); font-family: var(--q-font-mono); font-size: .51rem; letter-spacing: .07em; text-transform: uppercase; }
.plan-row__price strong { display: block; color: #f1f4f2; font-family: var(--q-font-serif); font-size: clamp(2.35rem, 3.1vw, 3.4rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.plan-row__price span { display: block; margin-top: 8px; color: #778a84; font-family: var(--q-font-mono); font-size: .54rem; letter-spacing: .07em; text-transform: uppercase; }
.plan-row__price--custom strong { font-size: clamp(1.75rem, 2.3vw, 2.5rem); }
.plan-row__features { display: grid; gap: 9px; margin: 0; padding: 0; color: #b9c6c1; font-size: .74rem; line-height: 1.55; list-style: none; }
.plan-row__features li { position: relative; padding-left: 18px; }
.plan-row__features li::before { position: absolute; top: .72em; left: 0; width: 7px; height: 1px; background: #7f968d; content: ""; }
.q-button--light { background: var(--q-paper-bright); color: var(--q-ink); }
.q-button--outline-light { border-color: #50645e; color: #e0e8e4; }
.q-button--outline-light:hover { border-color: var(--q-sage); background: rgba(255,255,255,.04); }
.plan-row > .q-button { width: 100%; min-width: 0; padding-inline: 17px; white-space: nowrap; }

.comparison-section { padding: clamp(95px, 11vw, 160px) 0; }
.comparison-heading { display: grid; grid-template-columns: 1fr; align-items: start; gap: clamp(30px, 5vw, 80px); }
.comparison-picker { display: none; }
.capability-table-wrap { margin: clamp(62px, 7vw, 96px) 0 0 0; border-top: 1px solid var(--q-ink); }
.capability-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; }
.capability-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.capability-table th, .capability-table td { padding: 25px 20px; border-right: 1px solid var(--q-line); border-bottom: 1px solid var(--q-line); vertical-align: middle; }
.capability-table th:last-child, .capability-table td:last-child { border-right: 0; }
.capability-table thead th { padding-block: 16px; color: #5f6e69; font-family: var(--q-font-mono); font-size: .6rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.capability-table thead th:first-child { width: 30%; }
.capability-table thead th[data-plan-column="basic"] { border-top: 3px solid var(--q-brass); color: var(--q-ink); }
.capability-table tbody th span { display: block; font-family: var(--q-font-serif); font-size: 1.12rem; font-weight: 400; letter-spacing: -.015em; }
.capability-table tbody th small { display: block; margin-top: 5px; color: #586762; font-size: .66rem; font-weight: 400; }
.capability-table td { color: #33433e; font-family: var(--q-font-mono); font-size: .66rem; font-weight: 620; }
.capability-table td[data-plan-column="basic"] { background: rgba(198, 161, 91, .06); }
.entitlement-notes { display: grid; grid-template-columns: .8fr 1.35fr .85fr; gap: 0; margin: 34px 0 0 0; border-top: 1px solid var(--q-line); border-bottom: 1px solid var(--q-line); }
.entitlement-notes p { margin: 0; padding: 22px 25px 22px 0; color: var(--q-ink-soft); font-size: .68rem; line-height: 1.65; }
.entitlement-notes p + p { padding-left: 25px; border-left: 1px solid var(--q-line); }
.entitlement-notes span { display: block; margin-bottom: 7px; color: #56645f; font-family: var(--q-font-mono); font-size: .54rem; letter-spacing: .07em; text-transform: uppercase; }



@media (max-width: 1180px) {
  .plan-row { grid-template-columns: minmax(140px, .7fr) 100px minmax(210px, 1fr) 180px; gap: 28px; }
  .plan-row > .q-button { font-size: .7rem; }
  .comparison-heading { grid-template-columns: 1fr; gap: 34px; }
  .capability-table-wrap, .entitlement-notes { margin-left: 0; }
}

@media (max-width: 960px) {
  .plan-row { min-height: 0; grid-template-columns: minmax(230px, .7fr) 130px minmax(0, 1fr); padding: 36px 0; }
  .plan-row > .q-button { grid-column: 3; width: 220px; justify-self: end; }
  .plan-row__features { grid-column: 3; grid-row: 1; }
  .plan-row__price { align-self: start; padding-top: 8px; }
  .entitlement-notes { grid-template-columns: 1fr; }
  .entitlement-notes p, .entitlement-notes p + p { padding: 19px 0; border-left: 0; border-bottom: 1px solid var(--q-line); }
  .entitlement-notes p:last-child { border-bottom: 0; }
}

@media (max-width: 820px) {
  .plan-section__intro, .comparison-heading { grid-template-columns: 1fr; }
  .plan-section__intro { gap: 24px; }
  .plan-section__intro > p { max-width: 600px; justify-self: start; }
  .plan-row { grid-template-columns: minmax(215px, .7fr) 120px minmax(0, 1fr); }
  .capability-table-wrap, .entitlement-notes { margin-left: 0; }
  .capability-table { min-width: 760px; }
  .capability-table-wrap { overflow-x: auto; scrollbar-color: var(--q-brass) var(--q-line); }
}

@media (max-width: 640px) {
  .plan-row { grid-template-columns: 1fr auto; gap: 24px; padding-block: 34px; }
  .plan-row__identity { grid-column: 1; }
  .plan-row__price { grid-column: 2; grid-row: 1; text-align: right; }
  .plan-row__features { grid-column: 1 / -1; grid-row: auto; padding-left: 0; }
  .plan-row > .q-button { grid-column: 1 / -1; width: 100%; justify-self: end; }
  .comparison-picker { display: block; margin-top: 52px; }
  .comparison-picker > span { display: block; margin-bottom: 11px; color: #56645f; font-family: var(--q-font-mono); font-size: .55rem; letter-spacing: .07em; text-transform: uppercase; }
  .comparison-picker > div { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--q-line); }
  .comparison-picker button { min-height: 44px; padding: 5px; border: 0; border-right: 1px solid var(--q-line); background: transparent; color: var(--q-ink-soft); font-size: .65rem; }
  .comparison-picker button:last-child { border-right: 0; }
  .comparison-picker button[aria-pressed="true"] { background: var(--q-ink); color: var(--q-white); }
  .capability-table-wrap { overflow: visible; margin-top: 20px; }
  .js .capability-table { min-width: 0; table-layout: auto; }
  .js .capability-table th, .js .capability-table td { display: none; }
  .js .capability-table th:first-child { display: table-cell; width: 58%; }
  .js .capability-table-wrap[data-comparison="free"] [data-plan-column="free"],
  .js .capability-table-wrap[data-comparison="basic"] [data-plan-column="basic"],
  .js .capability-table-wrap[data-comparison="pro"] [data-plan-column="pro"],
  .js .capability-table-wrap[data-comparison="enterprise"] [data-plan-column="enterprise"] { display: table-cell; }
  .capability-table th, .capability-table td { padding: 20px 12px; }
  .capability-table tbody th span { font-size: .98rem; }
}

@media (max-width: 420px) {
  .plan-row__identity { grid-template-columns: 1fr; }
  .plan-row__features { padding-left: 0; }
  .plan-row > .q-button { width: 100%; }
  .comparison-picker button { font-size: .58rem; }
  .capability-table th, .capability-table td { padding-inline: 9px; }
  .capability-table tbody th small { display: none; }
}

.plan-section__subhead { margin: 16px 0 0; color: #aab8b3; font-size: 1.05rem; }
.pricing-faq { padding: 0 0 clamp(72px, 8vw, 112px); }
.faq-list { max-width: 940px; margin-top: 28px; border-top: 1px solid var(--q-line); }
.faq-list details { border-bottom: 1px solid var(--q-line); }
.faq-list summary { padding: 22px 8px; color: var(--q-ink); font-size: 1rem; font-weight: 600; cursor: pointer; }
.faq-list summary::marker { color: #8b6a2c; }
.faq-list p { max-width: 76ch; margin: 0; padding: 0 8px 24px; color: var(--q-ink-soft); font-size: .9rem; line-height: 1.7; }
.pricing-faq__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 32px; }
@media (max-width: 640px) {
  .pricing-faq__actions { align-items: stretch; flex-direction: column; }
  .pricing-faq__actions .q-text-link { align-self: center; }
}
