/* Live page's open columns, with message counts first and pointer-lit panes. */
.pricing-scene { max-width: 1060px; margin: auto; padding: 110px 44px 100px; scroll-margin-top: 52px; }
.pricing-scene h2 { font: 200 clamp(30px, 3.2vw, 46px)/1.22 Montserrat, Arial, sans-serif; letter-spacing: -.04em; color: #eee9de; margin: 0 0 56px; }
.pricing-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.pricing-col { --shine-rgb: 145 151 163; --shine-strength: .08; position: relative; isolation: isolate; display: flex; flex-direction: column; min-width: 0; padding: 25px 0 24px; color: #eff3f4; text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .28s cubic-bezier(.2,.75,.25,1); }
.pricing-col:hover, .pricing-col:focus-visible { transform: translateY(-8px); }
.pricing-col::before { content: ''; position: absolute; z-index: -1; pointer-events: none; inset: 0 -18px -10px; border-radius: 16px; opacity: 0; transform: translateY(3px); background: radial-gradient(240px circle at var(--shine-x, 50%) var(--shine-y, 35%), rgb(var(--shine-rgb) / var(--shine-strength)), transparent 80%), rgb(var(--shine-rgb) / .025); box-shadow: 0 0 38px rgb(var(--shine-rgb) / .13), 0 22px 64px -10px rgb(var(--shine-rgb) / .38), 0 38px 90px -24px rgb(var(--shine-rgb) / .22), inset 0 0 32px rgb(var(--shine-rgb) / .055); transition: opacity .25s ease, transform .25s ease; }
.pricing-col:hover::before, .pricing-col:focus-visible::before { opacity: 1; transform: translateY(0); }
.pricing-col:focus-visible { outline: 2px solid rgb(var(--shine-rgb) / .7); outline-offset: 10px; border-radius: 2px; }
.pricing-col:active::before { opacity: 1; transform: translateY(0); }
.pricing-demo { --shine-rgb: 148 155 168; --shine-strength: .08; }
.pricing-passive { --shine-rgb: 245 247 255; --shine-strength: .07; }
.pricing-ultra { --shine-rgb: 73 156 255; --shine-strength: .12; }
.pricing-plan { margin: 0; font-size: 14px; line-height: 1.4; font-weight: 600; color: #eff3f4; }
.pricing-demo .pricing-plan { color: #b3b9c3; }
.pricing-ultra .pricing-plan { color: #80bcff; letter-spacing: .01em; }
.pricing-vol { margin-top: 25px; font-variant-numeric: tabular-nums; }
.pricing-vol b { display: block; font-size: clamp(44px, 4.4vw, 56px); line-height: 1; font-weight: 500; letter-spacing: -.055em; }
.pricing-vol span { display: block; color: #8b98a5; font-size: 13px; line-height: 1.5; margin-top: 10px; }
.pricing-price { margin-top: 29px; font-size: 22px; line-height: 1.2; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pricing-price small { margin-left: 3px; font-size: 13px; font-weight: 400; color: #83919b; letter-spacing: 0; }
.closing-note { color: #9ca8b9; font-size: 12px; line-height: 1.5; margin: 16px auto 0; }
@media (max-width: 760px) {
  .pricing-scene { padding: 64px 20px 70px; }
  .pricing-scene h2 { margin-bottom: 38px; }
  .pricing-cols { grid-template-columns: 1fr; gap: 26px; }
  .pricing-col { padding: 22px 0 20px; }
  .pricing-col::before { left: -12px; right: -12px; }
  .pricing-vol b { font-size: 48px; }
}
@media (max-width: 420px) {
  .closing-form { flex-direction: column; }
  .closing-form input { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-col, .pricing-col:hover, .pricing-col:focus-visible { transition: none; transform: none; }
  .pricing-col::before { transition: none; transform: none; }
}
