/* Pricing plans (live 23 September 2026). Cumulative plan cards with feature details
   in a pointer-following tooltip (plan-tips.js), the $499 starting strip, and the
   Visibility-or-Active comparison. Reference: 21st Gradient Tiers 29259 inheritance
   labels, rebuilt with Aperture tokens. Proposals are kept in qa/pricing-proposal*. */
.pricing-page {--tv-check:var(--sc-accent);--tv-featured-soft:#d8e2f4;--tv-featured-line:#ffffff30;}

/* Every plan starts here */
.tv-start {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 48px;align-items:center;padding:28px 32px;border:1px solid var(--component-line);border-radius:var(--tv-radius-panel);background:var(--component-tint);}
.tv-start h2 {font-size:1.375rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 6px;}
.tv-start > div > p {font-size:.9375rem;line-height:1.65;color:var(--sc-ink-soft);margin:0;max-width:60ch;}
.tv-start-price {text-align:right;margin:0;}
.tv-start-price strong {display:block;font-size:2.75rem;line-height:1;letter-spacing:-.05em;font-weight:550;font-variant-numeric:tabular-nums;}
.tv-start-price span {font-size:.8125rem;color:var(--sc-ink-soft);}
.tv-start ul {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 28px;list-style:none;margin:0;padding:20px 0 0;border-top:1px solid var(--component-line);}
.tv-start li {position:relative;padding-left:24px;font-size:.875rem;line-height:1.55;}
.tv-start li:before {content:'';position:absolute;left:2px;top:.5em;width:9px;height:5px;border-left:1.5px solid var(--tv-check);border-bottom:1.5px solid var(--tv-check);transform:rotate(-45deg);}

.tv-action {display:flex;align-items:center;justify-content:center;align-self:end;min-height:48px;margin:0 0 26px;padding:12px 18px;border:1px solid var(--component-line);border-radius:var(--tv-radius-control);background:var(--component-surface);color:var(--sc-ink);font-size:.9375rem;font-weight:650;text-align:center;transition:background-color 160ms,border-color 160ms;}
.tv-action.is-primary {background:#164de5;border-color:#164de5;color:#fff;}
.tv-badge {position:absolute;top:-13px;left:28px;margin:0;padding:4px 10px;border-radius:var(--tv-radius-control);background:#164de5;color:#fff;font-size:.75rem;line-height:1.4;font-weight:650;}

.tv-reassure {margin:22px 0 0;font-size:.9375rem;line-height:1.65;color:var(--sc-ink-soft);}
.tv-reassure a {color:var(--sc-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* Visibility or Active Visibility? */
.tv-choose {margin-top:96px;}
.tv-section-head {max-width:62ch;margin-bottom:32px;}
.tv-section-head h2 {font-size:clamp(2rem,3.6vw,3rem);line-height:1.1;margin:0 0 14px;}
.tv-section-head p {font-size:1.0625rem;line-height:1.7;color:var(--sc-ink-soft);margin:0;}
.tv-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.tv-pair article {padding:30px;border:1px solid var(--component-line);border-radius:var(--tv-radius-panel);background:var(--component-surface);}
.tv-pair .tv-pair-plan {font-size:.8125rem;font-weight:650;color:var(--sc-ink-soft);margin:0 0 10px;}
.tv-pair h3 {font-size:1.625rem;line-height:1.2;letter-spacing:-.03em;margin:0 0 12px;}
.tv-pair p {font-size:.9375rem;line-height:1.7;margin:0 0 12px;}
.tv-pair p:last-child {margin:0;color:var(--sc-ink-soft);}
.tv-pair .is-featured {background:var(--component-dark);border-color:var(--component-dark);color:#fff;}
.tv-pair .is-featured :is(.tv-pair-plan,p:last-child) {color:var(--tv-featured-soft);}

.tv-adds {margin-top:20px;padding:30px;border-radius:var(--tv-radius-panel);background:var(--component-tint);}
.tv-adds h3 {font-size:1.125rem;letter-spacing:-.02em;margin:0 0 20px;}
.tv-adds ul {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0;}
.tv-adds li {padding-top:14px;border-top:2px solid #164de5;font-size:.875rem;line-height:1.55;color:var(--sc-ink-soft);}
.tv-adds strong {display:block;font-size:1.25rem;line-height:1.25;letter-spacing:-.02em;font-weight:650;color:var(--sc-ink);margin-bottom:4px;}

@media(hover:hover) and (pointer:fine) {
  .tv-action:hover {background:var(--component-tint);border-color:#8b9fc0;}
  .tv-action.is-primary:hover {background:#1143cc;border-color:#1143cc;}
  .is-featured .tv-action:hover {background:#d9e4ff;border-color:#d9e4ff;}
}
.tv-action:focus-visible {outline:3px solid var(--sc-accent);outline-offset:4px;}
.is-featured .tv-action:focus-visible {outline-color:#b1c7ff;}

@media(max-width:1080px) {
  .tv-adds ul {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px) {
  .tv-pair {grid-template-columns:1fr;}
  .tv-start {grid-template-columns:1fr;padding:26px;}
  .tv-start-price {text-align:left;}
  .tv-start ul {grid-template-columns:1fr;}
}
@media(max-width:760px) {
  .tv-adds {padding:24px;}
  .tv-adds ul {grid-template-columns:1fr;}
  .tv-pair article {padding:24px;}
  .tv-choose {margin-top:72px;}
}
@media screen and (prefers-color-scheme:dark) {
  .pricing-page {--tv-featured-line:#ffffff26;}
  .tv-pair .is-featured {background:#1f4380;border-color:#6d8ab8;}
  .tv-action.is-primary,.tv-badge {background:#2858d9;border-color:#2858d9;}
  .tv-adds li {border-color:var(--sc-accent);}
}
@media(prefers-reduced-motion:reduce) {.tv-action {transition:none;}}
@media(forced-colors:active) {.tv-action,.tv-badge {border:1px solid CanvasText;}}

.tvc-plans {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;margin-top:64px;}
.tvc-plan {position:relative;display:grid;grid-row:span 7;grid-template-rows:subgrid;row-gap:0;padding:34px 28px 18px;border:1px solid var(--component-line);border-radius:var(--tv-radius-panel);background:var(--component-surface);scroll-margin-top:28px;}
.tvc-plan h3 {font-size:1.375rem;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:0;}
.tvc-for {font-size:.875rem;line-height:1.5;color:var(--sc-ink-soft);margin:6px 0 0;}
.tvc-price {display:flex;align-items:baseline;gap:8px;margin:22px 0 0;}
.tvc-price strong {font-size:clamp(3rem,4vw,3.75rem);line-height:1;letter-spacing:-.05em;font-weight:550;font-variant-numeric:lining-nums tabular-nums;}
.tvc-price span {font-size:.9375rem;color:var(--sc-ink-soft);}
.tvc-promise {font-size:.9375rem;line-height:1.65;color:var(--sc-ink-soft);margin:14px 0 24px;}
.tvc-plan .tv-action {align-self:end;margin:0 0 26px;}

.tvc-inherit {align-self:start;margin:0;padding-top:4px;font-size:.9375rem;line-height:1.45;font-weight:600;}

.tvc-list {list-style:none;margin:0;padding:6px 0 0;}
.tvc-list li {position:relative;padding:8px 0 8px 26px;font-size:.9375rem;line-height:1.45;font-weight:600;cursor:help;text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,currentColor 38%,transparent);text-decoration-thickness:1.5px;text-underline-offset:5px;transition:text-decoration-color 140ms;}
.tvc-list li:before {content:'';position:absolute;left:2px;top:15px;width:9px;height:5px;border-left:1.5px solid var(--tv-check);border-bottom:1.5px solid var(--tv-check);transform:rotate(-45deg);}
.tvc-list li:focus-visible {outline:2px solid var(--sc-accent);outline-offset:2px;border-radius:var(--tv-radius-control);}
@media(hover:hover) and (pointer:fine) {.tvc-list li:hover {text-decoration-color:currentColor;}}

/* Feature detail tooltip */
.tvc-tip {position:fixed;z-index:50;max-width:min(300px,calc(100vw - 24px));padding:10px 13px;border-radius:var(--tv-radius-panel);background:#142744;color:#f7f9fc;font-size:.8125rem;line-height:1.55;font-weight:450;box-shadow:0 10px 30px rgba(20,39,68,.22);pointer-events:auto;opacity:0;transform:translateY(4px);transition:opacity 140ms ease-out,transform 140ms ease-out;}
.tvc-tip.is-visible {opacity:1;transform:none;}
.tvc-tip:after {content:'';position:absolute;left:var(--arrow-x,50%);bottom:-5px;width:10px;height:10px;margin-left:-5px;background:inherit;transform:rotate(45deg);border-radius:0 0 2px 0;}
.tvc-tip.is-below:after {bottom:auto;top:-5px;border-radius:2px 0 0 0;}
.tvc-tip[hidden] {display:none;}
.tvc-tip.is-light {background:#f7f9fc;color:#142744;box-shadow:0 10px 30px rgba(8,18,40,.4);}

.tvc-plan.is-featured {background:var(--component-dark);border-color:var(--component-dark);color:#fff;--tv-check:#b1c7ff;}
.tvc-plan.is-featured :is(.tvc-for,.tvc-price span,.tvc-promise) {color:var(--tv-featured-soft);}
.tvc-plan.is-featured .tv-action {background:#f0f4ff;border-color:#f0f4ff;color:#142d58;}
.tvc-plan.is-featured .tv-badge {background:#f0f4ff;color:#142d58;}
.tvc-plan.is-featured .tv-action:focus-visible {outline-color:#b1c7ff;}
@media(hover:hover) and (pointer:fine) {.tvc-plan.is-featured .tv-action:hover {background:#d9e4ff;border-color:#d9e4ff;}}

@media(max-width:1080px) {.tvc-plan {padding:32px 22px 24px;}}
@media(max-width:900px) {
  .tvc-plans {grid-template-columns:1fr;row-gap:28px;}
  .tvc-plan {display:flex;flex-direction:column;grid-row:auto;}
  .tvc-plan .tv-action {align-self:stretch;margin-bottom:22px;}
  .tvc-promise {margin-bottom:20px;}
}
@media screen and (prefers-color-scheme:dark) {
  .tvc-plan.is-featured {background:#1f4380;border-color:#6d8ab8;}
  .tvc-tip,.tvc-tip.is-light {background:#eef3fc;color:#0e1724;box-shadow:0 10px 30px rgba(0,0,0,.45);}
}
@media(prefers-reduced-motion:reduce) {.tvc-tip {transform:none;transition:opacity 80ms;} .tvc-list li {transition:none;}}
@media(forced-colors:active) {.tvc-plan.is-featured {border:1px solid CanvasText;}}


/* Monthly or annual billing switch */
.tv-billing {display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;min-height:44px;margin-top:56px;font-size:1rem;font-weight:500;}
.tv-billing[hidden] {display:none;}
.tv-billing + .tvc-plans {margin-top:36px;}
.tv-billing-label {color:var(--sc-ink-soft);cursor:pointer;user-select:none;transition:color 150ms;}
.tv-billing-label.is-active {color:var(--sc-ink);font-weight:650;}
.tv-billing-label em {font-style:normal;font-weight:650;color:var(--sc-accent);}
.tv-switch {position:relative;flex:none;width:56px;height:32px;padding:0;border:0;border-radius:16px;background:#b6c3d8;cursor:pointer;transition:background-color 180ms;}
.tv-switch[aria-checked=true] {background:#164de5;}
.tv-switch-thumb {position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform 200ms cubic-bezier(.3,.7,.4,1);}
.tv-switch[aria-checked=true] .tv-switch-thumb {transform:translateX(24px);}
.tv-switch:focus-visible {outline:3px solid var(--sc-accent);outline-offset:3px;}
.tvc-was {font-size:1.125rem;color:var(--sc-ink-soft);margin-left:2px;}
.tvc-was[hidden] {display:none;}
.tvc-plan.is-featured .tvc-was {color:var(--tv-featured-soft);}
@media screen and (prefers-color-scheme:dark) {
  .tv-switch {background:#3a4d69;}
  .tv-switch[aria-checked=true] {background:#2858d9;}
}
@media(prefers-reduced-motion:reduce) {.tv-switch,.tv-switch-thumb,.tv-billing-label {transition:none;}}
@media(forced-colors:active) {.tv-switch {border:1px solid CanvasText;} .tv-switch-thumb {background:CanvasText;}}
.tvc-price {flex-wrap:wrap;}
.tvc-price .tvc-billed {flex-basis:100%;margin-top:8px;font-size:.8125rem;color:var(--sc-ink-soft);}
.tvc-plan.is-featured .tvc-price .tvc-billed {color:var(--tv-featured-soft);}
/* Plan buttons post the chosen plan to the design-fee checkout */
.tvc-start {align-self:end;margin:0 0 26px;}
.tvc-start .tv-action {width:100%;margin:0;font:inherit;font-size:.9375rem;font-weight:650;cursor:pointer;}
@media(max-width:900px) {.tvc-start {align-self:stretch;margin-bottom:22px;}}
