/* solutions.html — "Which ZeInfoTech software fits your business". Uses the site tokens from style.css. */

.sol-hero { padding: 120px 0 40px; text-align: center; position: relative; }
.sol-hero h1 { font-size: clamp(32px, 5.4vw, 60px); line-height: 1.08; letter-spacing: -0.02em; max-width: 900px; margin: 18px auto 0; }
.sol-hero h1 .grad { background: var(--g-hero); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sol-hero p.lead { max-width: 680px; margin: 20px auto 0; font-size: 18px; color: var(--text-muted); }

/* the three doors */
.sol-doors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 46px auto 0; max-width: 1080px; }
.sol-door { position: relative; display: block; padding: 26px 22px 24px; border-radius: 22px; border: 1px solid var(--border); background: #fff; box-shadow: var(--card-shadow); text-align: left; overflow: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .3s; }
.sol-door:hover { transform: translateY(-6px); border-color: transparent; box-shadow: var(--card-shadow-hover); }
.sol-door::before { content: ""; position: absolute; inset: -40% -40% auto auto; width: 220px; height: 220px; border-radius: 50%; filter: blur(46px); opacity: .28; background: var(--door, #3b4ab8); animation: solFloat 9s ease-in-out infinite; }
.sol-door[data-p="lite"] { --door: #3b82f6; }
.sol-door[data-p="salon"] { --door: #ec4899; }
.sol-door[data-p="rest"] { --door: #f59e0b; }
.sol-door .q { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); position: relative; }
.sol-door h3 { font-size: 24px; margin: 10px 0 6px; position: relative; }
.sol-door p { font-size: 14.5px; color: var(--text-muted); position: relative; }
.sol-door .go { margin-top: 16px; font-weight: 800; position: relative; color: var(--v-violet); display: inline-flex; gap: 8px; align-items: center; }
.sol-door .go span { transition: transform .3s; }
.sol-door:hover .go span { transform: translateX(5px); }
.sol-door .big { font-size: 38px; position: relative; display: inline-block; animation: solBob 3.2s ease-in-out infinite; }
.sol-door:nth-child(2) .big { animation-delay: .4s; }
.sol-door:nth-child(3) .big { animation-delay: .8s; }

/* quick finder */
.sol-finder { margin: 70px auto 0; max-width: 1080px; padding: 28px; border-radius: 24px; border: 1px solid var(--border); background: #fff; box-shadow: var(--card-shadow); }
.sol-finder h2 { font-size: clamp(22px, 3vw, 30px); text-align: center; }
.sol-finder > p { text-align: center; color: var(--text-muted); margin-top: 8px; }
.sol-search { display: flex; gap: 10px; margin: 20px auto 16px; max-width: 520px; }
.sol-search input { flex: 1; padding: 13px 16px; border-radius: 14px; border: 1px solid var(--border-strong); background: #fff; color: inherit; font: inherit; outline: none; }
.sol-search input:focus { border-color: var(--v-violet); box-shadow: 0 0 0 4px rgba(124,58,237,.12); }
.sol-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.sol-chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--border); background: #fff; font-size: 14px; font-weight: 600; transition: transform .2s, background .2s, border-color .2s, opacity .25s; cursor: pointer; }
.sol-chip:hover { transform: translateY(-2px); box-shadow: var(--card-shadow); }
.sol-chip .tag { font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 999px; }
.sol-chip[data-p="lite"] .tag { background: rgba(59,130,246,.14); color: #1d4ed8; }
.sol-chip[data-p="salon"] .tag { background: rgba(236,72,153,.14); color: #be185d; }
.sol-chip[data-p="rest"] .tag { background: rgba(245,158,11,.16); color: #b45309; }
.sol-chip.dim { opacity: .18; transform: scale(.96); }
.sol-noresult { text-align: center; margin-top: 14px; color: var(--text-muted); display: none; }

/* product sections */
.sol-product { padding: 110px 0 40px; position: relative; scroll-margin-top: 70px; }
.sol-product .ptag { display: inline-flex; gap: 8px; align-items: center; font-weight: 800; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--border-strong); }
#lite .ptag { color: #1d4ed8; background: rgba(59,130,246,.08); } #salon .ptag { color: #be185d; background: rgba(236,72,153,.08); } #rest .ptag { color: #b45309; background: rgba(245,158,11,.1); }
.sol-split { display: grid; grid-template-columns: 1.05fr 1fr; gap: 54px; align-items: center; }
.sol-split.rev { grid-template-columns: 1fr 1.05fr; }
.sol-split.rev .sol-art { order: -1; }
.sol-split h2 { font-size: clamp(30px, 4.2vw, 48px); line-height: 1.1; margin: 16px 0 14px; letter-spacing: -0.015em; }
.sol-split .lead { font-size: 17px; color: var(--text-muted); }
.sol-points { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
.sol-points li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; }
.sol-points li b { color: var(--text); }
.sol-points .tick { flex: none; width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; font-size: 13px; font-weight: 900; color: #0b1020; }
#lite .tick { background: #60a5fa; } #salon .tick { background: #f472b6; } #rest .tick { background: #fbbf24; }
.sol-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.btn-wa { background: #22c55e; color: #052e16 !important; font-weight: 800; }
.btn-wa:hover { background: #4ade80; }

/* illustrations */
.sol-art { position: relative; border-radius: 28px; padding: 18px; background: #fff; border: 1px solid var(--border); box-shadow: var(--card-shadow-hover); }
.sol-art svg { width: 100%; height: auto; display: block; }
.sol-art .float-badge { position: absolute; padding: 10px 14px; border-radius: 14px; font-size: 13px; font-weight: 700; background: #0f172a; color: #fff; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px -18px rgba(0,0,0,.8); animation: solBob 4s ease-in-out infinite; white-space: nowrap; }
.sol-art .float-badge.b1 { top: -16px; right: 18px; }
.sol-art .float-badge.b2 { bottom: -16px; left: 18px; animation-delay: 1.4s; }

/* business tiles */
.sol-biz-head { margin: 70px 0 22px; display: flex; align-items: end; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.sol-biz-head h3 { font-size: clamp(22px, 2.6vw, 28px); }
.sol-biz-head p { color: var(--text-muted); max-width: 520px; }
.sol-biz { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sol-tile { position: relative; padding: 20px 18px 18px; border-radius: 18px; border: 1px solid var(--border); background: #fff; box-shadow: var(--card-shadow); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; overflow: hidden; }
.sol-tile:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); }
.sol-tile .pic { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; font-size: 27px; margin-bottom: 14px; transition: transform .4s; }
.sol-tile:hover .pic { transform: rotate(-8deg) scale(1.08); }
#lite .sol-tile .pic { background: rgba(59,130,246,.16); } #salon .sol-tile .pic { background: rgba(236,72,153,.16); } #rest .sol-tile .pic { background: rgba(245,158,11,.16); }
.sol-tile h4 { font-size: 16px; margin-bottom: 6px; }
.sol-tile p { font-size: 13.5px; color: var(--text-muted); }
.sol-tile .ask { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 800; color: #16a34a; }
.sol-tile .ask:hover { text-decoration: underline; }

/* a day with it */
.sol-day { margin-top: 64px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
.sol-day::before { content: ""; position: absolute; top: 27px; left: 12%; right: 12%; height: 2px; background: linear-gradient(90deg, transparent, rgba(124,58,237,.35), transparent); }
.sol-step { text-align: center; padding: 0 12px; position: relative; }
.sol-step .n { width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 14px; display: grid; place-items: center; font-size: 24px; background: #fff; box-shadow: var(--card-shadow); border: 1px solid var(--border); position: relative; }
.sol-step.in .n { animation: solPop .6s cubic-bezier(.2,1.4,.4,1) both; }
.sol-step h5 { font-size: 15px; margin-bottom: 6px; }
.sol-step p { font-size: 13.5px; color: var(--text-muted); }

/* app mock screens */
.sol-screen { --text: #e2e8f0; --text-muted: #94a3b8; --border: rgba(255,255,255,.1); --border-strong: rgba(255,255,255,.18); color: var(--text); margin-top: 56px; border-radius: 20px; border: 1px solid rgba(15,23,42,.2); background: #0d1224; overflow: hidden; box-shadow: 0 40px 90px -40px rgba(0,0,0,.8); }
.sol-screen .bar { display: flex; gap: 7px; align-items: center; padding: 11px 14px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.03); font-size: 12.5px; color: var(--text-muted); }
.sol-screen .bar i { width: 11px; height: 11px; border-radius: 50%; background: #475569; display: inline-block; }
.sol-screen .bar i:nth-child(1) { background: #f87171; } .sol-screen .bar i:nth-child(2) { background: #fbbf24; } .sol-screen .bar i:nth-child(3) { background: #34d399; }
.sol-screen .bar span { margin-left: 10px; }
.sol-screen img { width: 100%; display: block; }
.sol-shots { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; margin-top: 56px; }
.sol-shots .sol-screen { margin-top: 0; }
.sol-caption { font-size: 13px; color: var(--text-muted); padding: 10px 14px; border-top: 1px solid var(--border); }

/* salon board mock */
.mock-board { display: grid; grid-template-columns: 110px repeat(4, 1fr); gap: 10px; padding: 16px; font-size: 12.5px; }
.mock-board .lane { color: var(--text-muted); font-weight: 700; display: flex; align-items: center; gap: 8px; }
.mock-board .lane .av { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; background: rgba(236,72,153,.2); }
.mock-board .col-h { color: var(--text-muted); font-weight: 800; text-transform: uppercase; font-size: 11px; letter-spacing: .06em; }
.mock-card { border-radius: 12px; padding: 9px 10px; border: 1px solid var(--border); background: rgba(255,255,255,.04); min-height: 54px; }
.mock-card b { display: block; font-size: 12.5px; }
.mock-card small { color: var(--text-muted); }
.mock-card.st-booked { border-left: 3px solid #60a5fa; }
.mock-card.st-arrived { border-left: 3px solid #fbbf24; }
.mock-card.st-chair { border-left: 3px solid #f472b6; }
.mock-card.st-paid { border-left: 3px solid #34d399; }
.mock-card.empty { border-style: dashed; background: transparent; }
.mock-card.move { animation: solSlideIn 6s ease-in-out infinite; }

/* restaurant table map mock */
.mock-rest { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; padding: 16px; font-size: 12.5px; }
.mock-tables { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.mock-table { aspect-ratio: 1; border-radius: 14px; display: grid; place-items: center; text-align: center; font-weight: 800; border: 1px solid var(--border); background: rgba(255,255,255,.03); }
.mock-table small { display: block; font-weight: 600; color: var(--text-muted); }
.mock-table.busy { background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.5); }
.mock-table.bill { background: rgba(52,211,153,.12); border-color: rgba(52,211,153,.5); }
.mock-table.pulse { animation: solPulse 2.4s ease-in-out infinite; }
.mock-kitchen { border-radius: 14px; border: 1px solid var(--border); padding: 12px; background: rgba(255,255,255,.03); }
.mock-kitchen h6 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); margin-bottom: 10px; }
.mock-kot { border-radius: 10px; padding: 9px 10px; background: #fffbea; color: #3b2a00; margin-bottom: 8px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11.5px; box-shadow: 0 6px 14px -8px rgba(0,0,0,.6); }
.mock-kot.new { animation: solDrop 5s ease-in-out infinite; }

/* compare table */
.sol-compare { margin-top: 20px; overflow-x: auto; border-radius: 20px; border: 1px solid var(--border); }
.sol-compare table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 14.5px; }
.sol-compare th, .sol-compare td { padding: 14px 16px; border-bottom: 1px solid var(--border); text-align: center; }
.sol-compare th:first-child, .sol-compare td:first-child { text-align: left; }
.sol-compare { background: #fff; box-shadow: var(--card-shadow); }
.sol-compare thead th { background: rgba(124,58,237,.06); font-size: 15px; }
.sol-compare td.y { color: #16a34a; font-weight: 900; }
.sol-compare td.n { color: #94a3b8; }
.sol-compare tr.all td { background: rgba(52,211,153,.05); }

/* contact builder */
.sol-contact { margin-top: 30px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; padding: 32px; border-radius: 26px; border: 1px solid var(--border-strong); background: linear-gradient(135deg, rgba(59,130,246,.10), rgba(236,72,153,.08) 50%, rgba(245,158,11,.10)), #fff; box-shadow: var(--card-shadow); }
.sol-contact h2 { font-size: clamp(26px, 3.4vw, 38px); line-height: 1.15; }
.sol-contact p { color: var(--text-muted); margin-top: 12px; }
.sol-form { display: grid; gap: 12px; }
.sol-form label { font-size: 13px; font-weight: 700; color: var(--text-muted); }
.sol-form select, .sol-form input { width: 100%; margin-top: 6px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--border-strong); background: #fff; color: inherit; font: inherit; }
.sol-form select option { color: #111; }
.sol-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sol-form .btn { justify-content: center; }
.sol-trust { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; font-size: 13.5px; color: var(--text-muted); }
.sol-trust span::before { content: "✓ "; color: #16a34a; font-weight: 900; }

/* animations */
@keyframes solFloat { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-30px, 24px); } }
@keyframes solBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes solPop { 0% { transform: scale(.4); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes solPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(245,158,11,.0); } 50% { box-shadow: 0 0 0 8px rgba(245,158,11,.18); } }
@keyframes solDrop { 0%,12% { transform: translateY(-14px); opacity: 0; } 22%,85% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(0); opacity: 1; } }
@keyframes solSlideIn { 0%,20% { transform: translateX(-12px); opacity: .4; } 30%,100% { transform: translateX(0); opacity: 1; } }
/* svg scene parts */
.scan-beam { animation: solScan 2.6s ease-in-out infinite; }
@keyframes solScan { 0%,100% { transform: translateX(0); } 50% { transform: translateX(120px); } }
.receipt { transform-box: fill-box; transform-origin: top; animation: solPrint 4s ease-in-out infinite; }
@keyframes solPrint { 0% { transform: scaleY(.1); } 45%,85% { transform: scaleY(1); } 100% { transform: scaleY(.1); } }
.pop1, .pop2, .pop3 { transform-box: fill-box; transform-origin: center; animation: solItem 4s ease-in-out infinite; }
.pop2 { animation-delay: .5s; } .pop3 { animation-delay: 1s; }
@keyframes solItem { 0%,10% { transform: scale(0); } 25%,80% { transform: scale(1); } 100% { transform: scale(0); } }
.snip { transform-box: fill-box; transform-origin: 50% 70%; animation: solSnip 1.1s ease-in-out infinite; }
@keyframes solSnip { 0%,100% { transform: rotate(-14deg); } 50% { transform: rotate(10deg); } }
.slot-in { animation: solSlot 5s ease-in-out infinite; }
@keyframes solSlot { 0%,15% { transform: translateX(60px); opacity: 0; } 30%,85% { transform: translateX(0); opacity: 1; } 100% { opacity: 0; } }
.hand { transform-box: fill-box; transform-origin: center; animation: solTick 6s linear infinite; }
@keyframes solTick { to { transform: rotate(360deg); } }
.kot-fly { animation: solFly 4.5s ease-in-out infinite; }
@keyframes solFly { 0%,10% { transform: translate(0,0); opacity: 0; } 20% { opacity: 1; } 70% { transform: translate(250px,-120px); opacity: 1; } 85%,100% { transform: translate(250px,-120px); opacity: 0; } }
.steam { animation: solSteam 3s ease-in-out infinite; } .steam.s2 { animation-delay: 1s; } .steam.s3 { animation-delay: 2s; }
@keyframes solSteam { 0% { transform: translateY(6px); opacity: 0; } 40% { opacity: .9; } 100% { transform: translateY(-18px); opacity: 0; } }
.qr-pulse { transform-box: fill-box; transform-origin: center; animation: solQR 2.2s ease-in-out infinite; }
@keyframes solQR { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }

@media (prefers-reduced-motion: reduce) {
  .sol-page *, .sol-page *::before { animation: none !important; transition: none !important; }
}
@media (max-width: 980px) {
  .sol-doors { grid-template-columns: 1fr; }
  .sol-split, .sol-split.rev { grid-template-columns: 1fr; gap: 36px; }
  .sol-split.rev .sol-art { order: 0; }
  .sol-biz { grid-template-columns: repeat(2, 1fr); }
  .sol-day { grid-template-columns: repeat(2, 1fr); row-gap: 26px; }
  .sol-day::before { display: none; }
  .sol-shots { grid-template-columns: 1fr; }
  .sol-contact { grid-template-columns: 1fr; padding: 22px; }
  .mock-board { grid-template-columns: 80px repeat(4, minmax(90px, 1fr)); overflow-x: auto; }
  .mock-rest { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .sol-hero { padding-top: 96px; }
  .sol-biz { grid-template-columns: 1fr; }
  .sol-day { grid-template-columns: 1fr; }
  .sol-form .row { grid-template-columns: 1fr; }
  .sol-finder { padding: 20px 14px; }
}

/* ---------- pay once vs. every year ---------- */
.sol-price { display: inline-flex; align-items: baseline; gap: 8px; margin-top: 14px; position: relative; padding: 8px 14px; border-radius: 14px; background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.35); }
.sol-price b { font-family: Sora, Inter, sans-serif; font-size: 24px; color: #047857; }
.sol-price span { font-size: 13px; font-weight: 700; color: #065f46; }
.sol-pricebar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 22px; padding: 16px 18px; border-radius: 18px; background: #fff; box-shadow: var(--card-shadow); border: 1px solid var(--border); }
.sol-pricebar .amt { font-family: Sora, Inter, sans-serif; font-size: clamp(30px, 3.6vw, 42px); font-weight: 800; background: var(--g-fresh); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sol-pricebar .once { font-weight: 800; font-size: 14px; color: #047857; }
.sol-pricebar .vs { font-size: 13.5px; color: var(--text-muted); }
.sol-pricebar .vs s { color: #be123c; font-weight: 700; }

.sol-save { padding: 90px 0 30px; scroll-margin-top: 70px; }
.sol-save-card { position: relative; overflow: hidden; padding: 46px 40px; border-radius: 32px; color: #fff; background: radial-gradient(120% 140% at 0% 0%, #4f46e5 0%, #312e81 40%, #0f172a 100%); box-shadow: 0 40px 90px -40px rgba(49,46,129,.8); }
.sol-save-card::before, .sol-save-card::after { content: ""; position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; animation: solFloat 10s ease-in-out infinite; }
.sol-save-card::before { width: 380px; height: 380px; background: #ec4899; top: -140px; right: -80px; }
.sol-save-card::after { width: 320px; height: 320px; background: #10b981; bottom: -160px; left: -60px; animation-delay: -4s; }
.sol-save-card > * { position: relative; z-index: 1; }
.sol-save .kicker { display: inline-block; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); font-weight: 800; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.sol-save h2 { font-size: clamp(34px, 5.6vw, 68px); line-height: 1.04; letter-spacing: -0.025em; margin: 18px 0 12px; color: #fff; }
.sol-save h2 .hot { background: linear-gradient(90deg, #fde68a, #f472b6 50%, #34d399); -webkit-background-clip: text; background-clip: text; color: transparent; background-size: 200% auto; animation: solShine 4s linear infinite; }
.sol-save .sub { font-size: clamp(16px, 2vw, 20px); color: #c7d2fe; max-width: 760px; }
.sol-save .pick { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 8px; }
.sol-save .pick button { cursor: pointer; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; font: inherit; font-weight: 800; font-size: 14px; transition: background .2s, transform .2s; }
.sol-save .pick button:hover { transform: translateY(-2px); }
.sol-save .pick button.on { background: #fff; color: #312e81; }

.sol-years { margin-top: 22px; display: grid; grid-template-columns: 150px repeat(10, minmax(64px, 1fr)); gap: 8px; align-items: stretch; }
.sol-years .lbl { font-weight: 800; font-size: 14px; display: flex; flex-direction: column; justify-content: center; }
.sol-years .lbl small { font-weight: 600; color: #a5b4fc; font-size: 12px; }
.sol-years .yh { text-align: center; font-size: 12px; font-weight: 700; color: #a5b4fc; }
.sol-years .cell { border-radius: 12px; padding: 10px 4px; text-align: center; font-weight: 800; font-size: 13.5px; opacity: 0; transform: translateY(12px) scale(.9); }
.sol-years .cell small { display: block; font-weight: 600; font-size: 10.5px; opacity: .8; margin-top: 2px; }
.sol-years .cloud { background: rgba(244,63,94,.18); border: 1px solid rgba(244,63,94,.45); color: #fecdd3; }
.sol-years .ours { background: rgba(16,185,129,.16); border: 1px solid rgba(16,185,129,.45); color: #a7f3d0; }
.sol-years .ours.first { background: #10b981; color: #052e16; border-color: #34d399; }
.sol-years .ours.free { font-size: 15px; letter-spacing: .04em; }
.sol-years .cell.y3 { box-shadow: 0 0 0 2px #fbbf24 inset; }
.sol-save.play .sol-years .cell { animation: solCellIn .5s cubic-bezier(.2,1.3,.4,1) forwards; animation-delay: calc(var(--i) * 140ms); }
.sol-save.play .sol-years .ours.free { animation: solCellIn .5s cubic-bezier(.2,1.3,.4,1) forwards, solGlow 2.4s ease-in-out infinite; animation-delay: calc(var(--i) * 140ms), calc(var(--i) * 140ms + 600ms); }
.sol-note { margin-top: 14px; display: inline-flex; gap: 10px; align-items: center; padding: 10px 14px; border-radius: 14px; background: rgba(251,191,36,.15); border: 1px solid rgba(251,191,36,.5); color: #fde68a; font-weight: 700; font-size: 14.5px; }

.sol-totals { margin-top: 30px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sol-total { padding: 20px 22px; border-radius: 22px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); }
.sol-total .t { font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #a5b4fc; }
.sol-total .v { font-family: Sora, Inter, sans-serif; font-size: clamp(32px, 4.2vw, 52px); font-weight: 800; line-height: 1.1; margin-top: 6px; }
.sol-total.bad .v { color: #fda4af; text-decoration: line-through; text-decoration-thickness: 3px; text-decoration-color: rgba(244,63,94,.7); }
.sol-total.good .v { color: #6ee7b7; }
.sol-total.win { background: linear-gradient(135deg, rgba(16,185,129,.35), rgba(6,182,212,.25)); border-color: rgba(52,211,153,.6); }
.sol-total.win .v { color: #fff; font-size: clamp(36px, 5vw, 62px); }
.sol-save.play .sol-total.win { animation: solBeat 2.6s ease-in-out 1.8s infinite; }
.sol-save .small { margin-top: 16px; font-size: 12.5px; color: #a5b4fc; }
.sol-save .sol-cta .btn-ghost { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.3); }

@keyframes solShine { to { background-position: 200% center; } }
@keyframes solCellIn { to { opacity: 1; transform: none; } }
@keyframes solGlow { 0%,100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); } 50% { box-shadow: 0 0 18px 2px rgba(16,185,129,.45); } }
@keyframes solBeat { 0%,100% { transform: scale(1); } 50% { transform: scale(1.03); } }

@media (max-width: 980px) {
  .sol-save-card { padding: 30px 18px; }
  .sol-years { grid-template-columns: 110px repeat(10, 70px); overflow-x: auto; padding-bottom: 8px; }
  .sol-totals { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .sol-years .cell { opacity: 1; transform: none; }
}
.sol-save h2 .cost { background: linear-gradient(90deg, #fda4af, #fb923c); -webkit-background-clip: text; background-clip: text; color: transparent; text-decoration: line-through; text-decoration-color: rgba(251,113,133,.55); text-decoration-thickness: 4px; }
.sol-save h2 .hot { background-image: linear-gradient(90deg, #6ee7b7, #a7f3d0 40%, #fde68a 60%, #6ee7b7); }
.sol-door .sol-price { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; width: fit-content; max-width: 100%; }
.sol-price del, .sol-pricebar .old { color: #94a3b8; font-weight: 700; text-decoration-thickness: 2px; text-decoration-color: #f43f5e; }
.sol-price del { font-size: 14px; }
.sol-price em { font-style: normal; font-size: 11.5px; font-weight: 900; color: #fff; background: #f43f5e; padding: 3px 8px; border-radius: 999px; align-self: center; animation: solBeat 2.4s ease-in-out infinite; }
.sol-pricebar .old { font-size: 18px; }
.sol-pricebar .off { font-size: 12.5px; font-weight: 900; color: #fff; background: #f43f5e; padding: 5px 10px; border-radius: 999px; animation: solBeat 2.4s ease-in-out infinite; }

/* pricing card tabs */
.pc-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 40px auto 18px; padding: 6px; width: fit-content; max-width: 100%; border-radius: 999px; background: #fff; box-shadow: var(--card-shadow); border: 1px solid var(--border); }
.pc-tabs button { cursor: pointer; border: 0; padding: 11px 20px; border-radius: 999px; background: transparent; font: inherit; font-weight: 800; font-size: 15px; color: var(--text-muted); transition: background .25s, color .25s, transform .2s; }
.pc-tabs button:hover { color: var(--text); transform: translateY(-1px); }
.pc-tabs button.on { background: var(--g-hero); color: #fff; box-shadow: 0 8px 20px -8px rgba(124,58,237,.7); }
#pcCard.swap { animation: pcSwap .45s cubic-bezier(.2,.9,.3,1.2); }
@keyframes pcSwap { 0% { opacity: .2; transform: translateY(10px) scale(.98); } 100% { opacity: 1; transform: none; } }
