/* ============================================================
   Tanvik — pricing.css · pricing page (after site-v6.css)
   The climb: plans hold still while a light walks Starter → Growth → Pro
   and each tier's list ticks in. Rates count up. Closing lines rise.
   ============================================================ */
.pricing-page .wrap{max-width:var(--w);margin:0 auto;padding:0 var(--gutter);}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- plans ---------- */
.tiers{position:relative;padding:8px 0 var(--pad-sec);}
.tiers.pinned{height:240vh;padding-bottom:0;}
.tiers.pinned .tiers-pin{position:sticky;top:var(--navh,72px);height:calc(100vh - var(--navh,72px));display:flex;align-items:center;}
.tiers-pin>.wrap{width:100%;}

.bill-row{display:flex;justify-content:center;margin-bottom:26px;}
.bill{position:relative;display:inline-flex;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--hair-2);box-shadow:var(--edge);}
.bill button{position:relative;z-index:1;min-height:42px;padding:0 18px;border:0;background:none;border-radius:999px;font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:color .2s var(--ease);}
.bill button[aria-pressed="true"]{color:var(--ink);}
.bill button span{font-size:11.5px;color:var(--iris-ink);background:rgba(91,91,214,.12);padding:4px 8px;border-radius:999px;}
.bill-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:0;border-radius:999px;background:var(--surface-2);border:1px solid var(--hair-2);box-shadow:var(--e1);transition:transform .35s var(--ease),width .35s var(--ease);}
html[data-theme="light"] .bill{background:var(--surface-2);}
html[data-theme="light"] .bill-thumb{background:var(--bg);}

.pricing-page .price4{position:relative;isolation:isolate;max-width:var(--w);margin:0 auto;gap:16px;align-items:stretch;}
.tier-glow{position:absolute;z-index:-1;top:-14%;left:0;height:128%;width:var(--gw,33%);transform:translateX(var(--gx,0));pointer-events:none;
  background:radial-gradient(closest-side,rgba(91,91,214,.26) 0%,rgba(91,91,214,.18) 18%,rgba(91,91,214,.1) 38%,rgba(91,91,214,.04) 60%,rgba(91,91,214,.01) 80%,rgba(91,91,214,0) 100%);
  transition:transform .7s var(--ease),width .7s var(--ease);}
html[data-theme="light"] .tier-glow{opacity:.6;}

.pricing-page .pcard{position:relative;display:flex;flex-direction:column;padding:26px 24px 24px;border-radius:22px;background:var(--surface);border:1px solid var(--hair-2);box-shadow:var(--edge);
  transition:transform .55s var(--ease),opacity .45s var(--ease),border-color .4s var(--ease),box-shadow .55s var(--ease);}
html[data-theme="light"] .pricing-page .pcard{background:var(--surface-2);}
.pricing-page .pcard h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;}
.pricing-page .pc-for{font-size:13.5px;line-height:1.5;color:var(--ink-2);min-height:3em;}
.pricing-page .pc-price{display:flex;align-items:baseline;gap:4px;margin:16px 0 2px;font-variant-numeric:tabular-nums;}
.pricing-page .pc-price .pv{font-size:clamp(2.3rem,3.6vw,2.9rem);font-weight:600;letter-spacing:-.045em;line-height:1;display:inline-block;transition:opacity .16s var(--ease),transform .24s var(--ease);}
.pricing-page .pc-price .pv.flip{opacity:0;transform:translateY(8px);}
.pricing-page .pc-price small{font-size:14px;color:var(--ink-3);}
.pricing-page .pc-annual{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)!important;margin-bottom:16px;}
.pricing-page .pcard ul{flex:1;display:flex;flex-direction:column;gap:8px;margin:0 0 20px;padding:16px 0 0;border-top:1px solid var(--hair);}
.pricing-page .pcard li{display:block;position:relative;padding-left:24px;font-size:13.5px;line-height:1.45;color:var(--ink-2);}
.pricing-page .pcard li b{color:var(--ink);font-weight:600;}
.pricing-page .pcard li .tick{position:absolute;left:0;top:0;width:16px;text-align:center;font-weight:700;color:var(--iris-ink);}
.pricing-page .pcard li.hl{color:var(--ink);font-weight:500;}
.pricing-page .pcard li.no{color:var(--ink-3);}
.pricing-page .pcard li.no .tick{color:var(--ink-3);font-weight:400;opacity:.7;}
.pricing-page .pcard>a{margin-top:auto;width:100%;justify-content:center;box-sizing:border-box;min-height:48px;padding-top:0!important;padding-bottom:0!important;align-items:center;}
.pricing-page .pcard.pop{border-color:rgba(91,91,214,.5);}
.pricing-page .pc-flag{position:absolute;top:-12px;left:24px;right:auto;margin:0;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--iris)!important;padding:6px 11px;border-radius:999px;display:inline-flex;gap:6px;align-items:center;transition:opacity .45s var(--ease),transform .55s var(--ease);}

/* the climb: only while pinned */
.tiers.pinned .pcard.is-future{opacity:.5;transform:scale(.985);}
.tiers.pinned .pcard.is-lit{transform:translateY(-10px);border-color:rgba(91,91,214,.65);box-shadow:var(--edge),var(--e3);}
.tiers.pinned .pcard li{transition:opacity .4s var(--ease) calc(var(--i,0) * 45ms),transform .45s var(--ease) calc(var(--i,0) * 45ms);}
.tiers.pinned .pcard:not(.seen) li:not(.no){opacity:.3;transform:translateX(-4px);}
.tiers.pinned .pcard.pop:not(.seen) .pc-flag{opacity:0;transform:translateY(10px);}

.ent-line{text-align:center;margin:28px 0 0;font-size:14px;color:var(--ink-2);}
.ent-line a{color:var(--iris-ink);font-weight:600;text-underline-offset:3px;}
.ent-line a:hover{text-decoration:underline;}

/* ---------- message charges ---------- */
.rates .sec-head{text-align:left;}
.rate-t{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--hair-2);border-radius:20px;overflow:hidden;background:var(--surface);}
html[data-theme="light"] .rate-t{background:var(--surface-2);}
.rate-t thead th{text-align:left;font-size:12.5px;font-weight:500;color:var(--ink-3);padding:16px 24px;border-bottom:1px solid var(--hair-2);}
.rate-t tbody th{text-align:left;font-weight:600;font-size:15px;color:var(--ink);padding:20px 24px;border-bottom:1px solid var(--hair);}
.rate-t td{padding:20px 24px;border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ink-2);}
.rate-t tbody tr:last-child>*{border-bottom:0;}
.rate-t .rv b{font-family:var(--mono);font-weight:400;font-size:24px;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;}
.rate-t .ok .rv b{font-family:inherit;font-size:15px;font-weight:600;letter-spacing:0;color:#3DD68C;}
html[data-theme="light"] .rate-t .ok .rv b{color:#157A45;}
.js .rate-t .rrow{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease) calc(var(--i,0) * 90ms),transform .7s var(--ease) calc(var(--i,0) * 90ms);}
.rates.in .rate-t .rrow{opacity:1;transform:none;}
.calc-row{margin:22px 0 0;}
.rate-sheet-btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--hair-2);background:transparent;color:var(--ink);font-weight:600;font-size:14.5px;transition:border-color .2s var(--ease),background-color .2s var(--ease);}
.rate-sheet-btn:hover{border-color:var(--hair-3);background:rgba(255,255,255,.03);}
.rate-sheet-btn .ic{color:var(--iris-ink);}

/* ---------- close: lines rise, the light grows as you arrive ---------- */
.cta-banner h2 .ln{display:block;overflow:hidden;padding-bottom:.08em;}
.cta-banner h2 .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease);}
.cta-banner h2 .ln:nth-child(2)>span{transition-delay:.09s}
.cta-banner h2 .ln:nth-child(3)>span{transition-delay:.18s}
.cta-banner.live h2 .ln>span{transform:none;}
.cta-banner::before{transform:scale(calc(.82 + var(--cp,0) * .3));transform-origin:50% 100%;}

@media (max-width:1000px){
  .pricing-page .pc-for{min-height:0;}
}
@media (max-width:640px){
  .rate-t thead{display:none;}
  .rate-t tr{display:grid;grid-template-columns:1fr auto;}
  .rate-t tbody th{border-bottom:0;padding-bottom:4px;}
  .rate-t td{border-bottom:0;padding-top:4px;}
  .rate-t td:last-child{grid-column:1 / -1;padding-top:0;border-bottom:1px solid var(--hair);}
  .rate-t tbody tr:last-child td:last-child{border-bottom:0;}
}
@media (prefers-reduced-motion:reduce){
  .js .rate-t .rrow{opacity:1;transform:none;transition:none;}
  .cta-banner h2 .ln>span{transform:none;transition:none;}
  .bill-thumb,.pricing-page .pc-price .pv{transition:none;}
}
