/* ══════════════════════════════════════════════════════════════════════
   PointGPT · единая воронка «Нейрофотосессия»
   пол → фотосессия → селфи → генерация со свайп-оценкой → результат → оплата
   Токены и типографика — как на боевой /promo/.
   ══════════════════════════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F5F3FB;--card:#fff;--t1:#17151F;--t2:#6B6880;--t3:#5f596b;
  --p:#7C3AED;--p2:#5B4BF5;--pk:#EC4899;
  --grad:linear-gradient(100deg,#7C3AED,#5B4BF5);
  --ok:#16A34A;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img,video{display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:480px;margin:0 auto;padding:0 16px 26px}
@media(min-width:600px){.wrap{max-width:520px}}

.top{display:flex;align-items:center;justify-content:space-between;padding:14px 0 4px}
.logo{display:flex;align-items:center;gap:7px;font-weight:800;font-size:15px;letter-spacing:-.4px}
.logo svg{width:26px;height:26px}
.disc{background:var(--grad);color:#fff;font-size:11px;font-weight:800;padding:5px 12px;border-radius:30px}

h1{font-size:29px;line-height:1.1;letter-spacing:-1.1px;font-weight:900;margin:14px 0 6px}
h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
h2{font-size:21px;line-height:1.15;letter-spacing:-.6px;font-weight:900;margin:6px 0 4px}
.sub{font-size:14px;color:var(--t2);line-height:1.45;margin-bottom:14px;font-weight:500}

.scr{display:none;animation:in .35s cubic-bezier(.2,.8,.3,1)}
.scr.on{display:block}
@keyframes in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.prog{height:4px;border-radius:10px;background:rgba(124,58,237,.12);overflow:hidden;margin:6px 0 14px}
.prog i{display:block;height:100%;width:0;border-radius:10px;background:var(--grad);transition:width .4s}
.back{display:block;margin:14px auto 0;font-size:13px;font-weight:700;color:var(--t3);padding:8px}

/* ── S1 пол ── */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gc{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:#E8E4F5;cursor:pointer;
  border:2.5px solid transparent;transition:transform .14s,border-color .14s}
.gc img{width:100%;height:100%;object-fit:cover}
.gc .nm{position:absolute;left:0;right:0;bottom:0;padding:20px 10px 10px;font-size:15px;font-weight:800;
  color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));text-align:center}
.gc:active{transform:scale(.97)}
.proof{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--t2);
  font-weight:700;margin-top:14px}
.proof .avs{display:flex}
.proof .avs b{width:22px;height:22px;border-radius:50%;background:var(--grad);color:#fff;font-size:10px;
  display:flex;align-items:center;justify-content:center;margin-left:-6px;border:2px solid var(--bg)}
.proof .star{color:#9A5B00}

/* ── S2 сеты ── */
.styles{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.sc{position:relative;border-radius:15px;overflow:hidden;aspect-ratio:3/4;background:#E8E4F5;cursor:pointer;
  border:2.5px solid transparent;transition:transform .14s}
.sc img{width:100%;height:100%;object-fit:cover}
.sc .nm{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 7px;font-size:12px;font-weight:800;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.75));line-height:1.25}
.sc .nm small{display:block;font-size:9.5px;font-weight:700;opacity:.85;margin-top:1px}
.sc .fr{position:absolute;top:7px;right:7px;background:rgba(255,255,255,.92);color:var(--p);font-size:8.5px;
  font-weight:800;padding:3px 7px;border-radius:20px}
.sc:active{transform:scale(.97)}

/* ── S3 селфи ── */
.s3sub{font-size:13.5px;color:var(--t2);text-align:center;font-weight:600;margin:-4px 0 12px;line-height:1.45}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.slot{position:relative;aspect-ratio:1/1;border:2px dashed rgba(124,58,237,.38);border-radius:18px;
  background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  gap:1px;cursor:pointer;transition:.18s;overflow:hidden;padding:0 6px 10px}
.slot:hover{border-color:var(--p)}
/* силуэт нужного ракурса — основная подсказка, подпись её лишь называет */
.slot .pose{width:58%;max-height:52%;margin-top:auto;margin-bottom:4px;
  fill:none;stroke:var(--p);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.34}
.slot .pose .thin{stroke-width:1.8;opacity:.75}
.slot .pose .dot{fill:var(--p);stroke:none}
.slot .pose .ray{stroke-width:2;opacity:.85}
.slot:hover .pose{opacity:.5}
/* плюс — маленьким бейджем в углу, чтобы не спорить с силуэтом */
.slot i{position:absolute;top:7px;left:9px;font-style:normal;font-size:17px;color:var(--p);
  font-weight:400;line-height:1;opacity:.75}
.slot b{font-size:12.5px;font-weight:800;color:var(--t1)}
.slot span{font-size:10.5px;color:var(--t3);font-weight:600;text-align:center;line-height:1.3}
/* заполненный слот: превью на всю плитку + галочка */
.slot.full{border-style:solid;border-color:var(--ok)}
.slot.full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot.full i,.slot.full b,.slot.full span,.slot.full .pose{display:none}
.slot.full::after{content:"✓";position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;
  background:var(--ok);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}

/* имя уникальное: .prog уже занят полосой прогресса воронки наверху */
.uprog{display:flex;align-items:center;gap:10px;margin-top:12px}
.uprog .ubar{flex:1;height:6px;border-radius:99px;background:rgba(124,58,237,.14);overflow:hidden}
.uprog .ubar i{display:block;height:100%;width:0;border-radius:99px;background:var(--grad);transition:width .3s}
.uprog b{font-size:12px;font-weight:800;color:var(--t2);white-space:nowrap}

.tips{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.tip{background:var(--card);border-radius:16px;padding:11px 12px}
.tip b{display:block;font-size:12.5px;font-weight:800;margin-bottom:6px}
.tip span{display:block;font-size:11.5px;color:var(--t2);font-weight:600;line-height:1.5;padding-left:12px;
  position:relative}
.tip span::before{content:"·";position:absolute;left:3px;font-weight:800}
.tip.ok b{color:var(--ok)}
.tip.no b{color:#DC2626}
.why{font-size:12px;color:var(--t2);font-weight:600;line-height:1.55;margin-top:12px;
  background:rgba(124,58,237,.06);border-radius:14px;padding:11px 13px}
.why b{color:var(--t1)}
.priv{font-size:11.5px;color:var(--t3);text-align:center;margin-top:12px;font-weight:600;line-height:1.5}
.setpin{display:inline-block;background:rgba(124,58,237,.09);color:var(--p);font-size:12px;font-weight:800;
  padding:5px 12px;border-radius:20px;margin-bottom:12px}

/* ── S4 генерация + свайп ── */
.genbox{text-align:center;padding:18px 0 4px}
.spin{width:52px;height:52px;border-radius:50%;margin:0 auto 12px;border:4px solid rgba(124,58,237,.15);
  border-top-color:var(--p);animation:sp .9s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.spin.ok{border-color:var(--ok);background:var(--ok);animation:none;display:flex;align-items:center;justify-content:center}
.spin.ok::after{content:'✓';color:#fff;font-size:27px;font-weight:900;line-height:1}
.gt{font-size:18px;font-weight:800;letter-spacing:-.5px}
.gs{max-width:280px;margin:14px auto 0;text-align:left;display:flex;flex-direction:column;gap:9px}
.g{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--t3);transition:.3s}
.g i{width:20px;height:20px;border-radius:50%;background:rgba(124,58,237,.12);display:flex;align-items:center;
  justify-content:center;font-size:11px;color:var(--p);flex-shrink:0;font-style:normal}
.g.done{color:var(--t1)}
.g.done i{background:var(--ok);color:#fff}
.split{display:flex;align-items:center;gap:10px;margin:20px 0 12px}
.split::before,.split::after{content:'';flex:1;height:1px;background:rgba(23,21,31,.1)}
.split span{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--t3)}

.meter{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.meter .bar{flex:1;height:5px;border-radius:10px;background:rgba(124,58,237,.13);overflow:hidden}
.meter .bar i{display:block;height:100%;width:0;border-radius:10px;background:var(--grad);transition:width .3s}
.meter .cnt{font-size:12.5px;font-weight:800;color:var(--p);white-space:nowrap;font-variant-numeric:tabular-nums}

.deck{position:relative;aspect-ratio:3/4;margin-bottom:20px;touch-action:pan-y;z-index:1}
.cd{position:absolute;inset:0;border-radius:18px;overflow:hidden;background:#E8E4F5;
  box-shadow:0 10px 30px rgba(23,21,31,.13);will-change:transform;transform-origin:50% 120%}
.cd img,.cd video{width:100%;height:100%;object-fit:cover}
.cd .shade{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 13px;
  background:linear-gradient(transparent,rgba(0,0,0,.78))}
.cd .nm{font-size:17px;font-weight:900;color:#fff;letter-spacing:-.3px;line-height:1.2}
.cd .mt{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.86)}
.cd .mt em{font-style:normal;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:20px}
.cd .kind{position:absolute;top:11px;left:11px;background:rgba(23,21,31,.55);color:#fff;font-size:10px;
  font-weight:800;padding:4px 9px;border-radius:20px}
.cd .likes{position:absolute;top:11px;right:11px;background:rgba(255,255,255,.92);color:var(--pk);font-size:10.5px;
  font-weight:800;padding:4px 9px;border-radius:20px}
.stamp{position:absolute;top:20px;font-size:19px;font-weight:900;letter-spacing:.5px;padding:7px 14px;
  border-radius:11px;border:3px solid;opacity:0;pointer-events:none;transition:opacity .12s}
.stamp.yes{left:16px;transform:rotate(-13deg);color:var(--ok);border-color:var(--ok);background:rgba(255,255,255,.9)}
.stamp.no{right:16px;transform:rotate(13deg);color:#E11D48;border-color:#E11D48;background:rgba(255,255,255,.9)}
.acts{position:relative;z-index:30;display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:10px}
.rb{width:62px;height:62px;border-radius:50%;background:var(--card);box-shadow:0 6px 18px rgba(23,21,31,.12);
  display:flex;align-items:center;justify-content:center;font-size:25px;transition:transform .12s}
.rb:active{transform:scale(.9)}
.rb.no{color:#E11D48}
.rb.yes{width:72px;height:72px;background:var(--grad);color:#fff;font-size:29px;box-shadow:0 8px 24px rgba(124,58,237,.36)}
.rb.hit{animation:hit .22s ease-out}
@keyframes hit{0%{transform:scale(1)}45%{transform:scale(1.18)}100%{transform:scale(1)}}
.lbls{display:flex;justify-content:center;gap:52px;margin:-2px 0 10px;font-size:11.5px;font-weight:800;color:var(--t3)}
.hint{font-size:11.5px;color:var(--t3);text-align:center;font-weight:600;line-height:1.5}
.skel{position:absolute;inset:0;border-radius:18px;background:linear-gradient(100deg,#EAE6F7 30%,#F3F0FB 50%,#EAE6F7 70%);
  background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}

.done{display:none;text-align:center;padding:16px 0 0}
.done.on{display:block;animation:in .35s cubic-bezier(.2,.8,.3,1)}
.done .em{font-size:40px;margin-bottom:8px}
.done h3{font-size:21px;font-weight:900;letter-spacing:-.6px;margin-bottom:6px}
.done p{font-size:13.5px;color:var(--t2);font-weight:500;line-height:1.5;margin-bottom:14px}
.verdict{display:flex;justify-content:center;gap:10px;margin-bottom:14px}
.verdict div{flex:0 0 108px;background:var(--card);border-radius:14px;padding:11px 8px;box-shadow:0 4px 14px rgba(23,21,31,.07)}
.verdict b{display:block;font-size:26px;font-weight:900;letter-spacing:-1px;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.verdict span{display:block;font-size:11.5px;font-weight:700;color:var(--t2);margin-top:4px}
.liked{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:16px}
.liked div{aspect-ratio:3/4;border-radius:11px;overflow:hidden;background:#E8E4F5}
.liked img,.liked video{width:100%;height:100%;object-fit:cover}
.ready{display:none;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;
  width:calc(100% - 32px);max-width:448px;background:var(--grad);color:#fff;border-radius:15px;padding:14px 16px;
  font-size:14.5px;font-weight:800;text-align:left;box-shadow:0 12px 30px rgba(124,58,237,.42);
  align-items:center;justify-content:space-between;gap:10px}
.ready.on{display:flex;animation:rup .34s cubic-bezier(.2,.8,.3,1)}
.ready b{font-weight:900;white-space:nowrap}
@keyframes rup{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}

/* ── S5 результат + пейвол ── */
.free-tag{display:inline-block;background:rgba(22,163,74,.1);color:#166534;font-size:11.5px;font-weight:800;
  padding:5px 12px;border-radius:20px;margin-bottom:10px}
.big{display:block;width:100%;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;
  background:#E8E4F5;padding:0}
.big img{width:100%;height:100%;object-fit:cover}
.big .wm-note{position:absolute;right:10px;top:10px;background:rgba(23,21,31,.7);color:#fff;font-size:9.5px;
  font-weight:800;padding:5px 9px;border-radius:20px}
.big .open-note{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;
  justify-content:center;text-align:center;background:linear-gradient(100deg,#7C3AED,#EC4899);color:#fff;
  font-size:13.5px;line-height:1.2;font-weight:900;padding:12px 14px;border-radius:14px;
  box-shadow:0 10px 28px rgba(124,58,237,.5);animation:openPulse 2.2s ease-in-out infinite}
@keyframes openPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
.grid10{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.r{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;background:#ddd;cursor:pointer}
.r img{width:100%;height:100%;object-fit:cover;filter:blur(15px) saturate(.55) brightness(.92);transform:scale(1.15)}
.r::after{content:'';position:absolute;inset:0;background:rgba(23,21,31,.22)}
.r .nm{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding:5px;font-size:8.5px;
  font-weight:800;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);line-height:1.15}
.r .lk{position:absolute;top:5px;right:5px;z-index:2;font-size:10px}
.r.shake{animation:shk .35s}
@keyframes shk{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.r.free{perspective:620px;background:transparent}
.r.free::after{display:none}
.flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.32,.75,.28,1)}
.r.free.flipped .flip{transform:rotateY(180deg)}
.face{position:absolute;inset:0;border-radius:10px;overflow:hidden;backface-visibility:hidden;
  -webkit-backface-visibility:hidden}
.face.back{transform:rotateY(180deg)}
.face.front img{filter:blur(15px) saturate(.55) brightness(.92);transform:scale(1.15)}
.face.front::after{content:'';position:absolute;inset:0;background:rgba(23,21,31,.22)}
.face.back img{filter:none;transform:none}
.r.free .open-badge{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:8.5px;font-weight:900;color:#fff;line-height:1.15;padding:4px;
  text-shadow:0 1px 5px rgba(0,0,0,.7)}
.r.free.flipped .open-badge{display:none}
.r.free .tag{position:absolute;top:4px;left:4px;z-index:3;background:rgba(22,163,74,.95);color:#fff;font-size:8px;
  font-weight:900;padding:3px 6px;border-radius:20px}
.r.free:not(.flipped){animation:freePulse 2.4s ease-in-out infinite}
@keyframes freePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.row-note{text-align:center;font-size:11.5px;color:var(--t2);font-weight:700;margin:9px 0 0}

.viewer{position:fixed;inset:0;z-index:140;background:rgba(15,13,22,.94);display:none;align-items:center;
  justify-content:center;flex-direction:column;gap:14px;padding:20px}
.viewer.on{display:flex}
.v-img{max-width:100%;max-height:82vh;border-radius:16px;overflow:hidden}
.v-img img{max-width:100%;max-height:82vh;object-fit:contain}
.v-close{color:#fff;font-size:13px;font-weight:800;opacity:.75}

.timer{display:flex;align-items:center;justify-content:center;gap:6px;background:#FFF4E5;
  border:1px solid rgba(245,158,11,.3);color:#B45309;border-radius:12px;padding:10px;font-size:12.5px;
  font-weight:700;margin:14px 0 10px}
.timer b{font-variant-numeric:tabular-nums}
.offer{background:var(--card);border:2px solid var(--p);border-radius:20px;padding:18px 16px;
  box-shadow:0 10px 30px rgba(92,75,245,.12)}
.of-name{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:900;letter-spacing:-.4px;margin-bottom:2px}
.of-name::before{content:'';width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#7C3AED,#EC4899)}
.of-sub{font-size:12px;color:var(--t2);margin-bottom:12px}
.pricebox{background:linear-gradient(180deg,rgba(124,58,237,.07),rgba(236,72,153,.06));border-radius:16px;
  padding:12px 14px 13px;margin-bottom:8px}
.save{display:inline-block;background:var(--pk);color:#fff;font-size:11px;font-weight:900;padding:4px 10px;
  border-radius:20px;margin-bottom:7px}
.of-p{display:flex;align-items:center;gap:11px}
.of-now{font-size:60px;font-weight:900;letter-spacing:-3.5px;line-height:1;color:var(--p)}
.of-side{display:flex;flex-direction:column;gap:2px}
.of-side s{font-size:18px;font-weight:800;color:var(--t3)}
.of-side em{font-style:normal;font-size:12px;font-weight:700;color:var(--t2)}
.of-per{font-size:11.5px;color:var(--t3);font-weight:500;line-height:1.45;margin:0 0 12px}
.perks{margin:14px 0 4px;padding-top:14px;border-top:1px solid rgba(124,58,237,.12)}
.perks-cap{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:900;margin-bottom:11px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pk{background:#FCFBFF;border:1px solid rgba(124,58,237,.14);border-radius:13px;padding:11px 11px 12px}
.pk b{display:block;font-size:23px;font-weight:900;letter-spacing:-1px;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pk .ico{display:block;font-size:20px;line-height:1}
.pk span{display:block;font-size:12px;font-weight:700;color:var(--t1);line-height:1.3;margin-top:5px}
.pk em{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:var(--t2);line-height:1.3;margin-top:2px}
.perks-more{font-size:11.5px;color:var(--t2);font-weight:600;text-align:center;margin-top:9px;line-height:1.45}
.perks-more u{text-decoration:none;color:var(--p);font-weight:800;cursor:pointer}
.models{margin-top:9px;font-size:11.5px;color:var(--t2);font-weight:600;line-height:1.6}
.models[hidden]{display:none}
.models b{color:var(--t1);font-weight:700}
.pay-email{width:100%;margin-top:16px;padding:14px 16px;border-radius:13px;border:1.5px solid rgba(124,58,237,.3);
  background:#fff;font-family:inherit;font-size:15px;font-weight:600;color:var(--t1);margin-bottom:9px;outline:none}
.pay-email:focus{border-color:var(--p)}
.pay-email::placeholder{color:var(--t3);font-weight:500}
.cta{display:block;width:100%;text-align:center;background:var(--grad);color:#fff;font-size:16px;font-weight:800;
  padding:16px;border-radius:15px;box-shadow:0 10px 26px rgba(124,58,237,.3);letter-spacing:-.2px}
.cta:disabled{opacity:.6}
.cta.attention{animation:att .9s ease-in-out 2}
@keyframes att{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.pay-err{font-size:12px;color:#DC2626;font-weight:700;margin-top:8px;min-height:1px}
.micro{font-size:11px;color:var(--t3);font-weight:600;line-height:1.5;text-align:center;margin-top:9px}
.paym{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--t3);
  font-weight:700;margin-top:9px}
.legal{font-size:10.5px;color:var(--t3);line-height:1.7;margin-top:14px;text-align:center;font-weight:500}
.foot{text-align:center;font-size:10px;color:var(--t3);padding:20px 0 6px;line-height:1.8}
.foot a{text-decoration:underline}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Curated promo1 flow: compact waiting feed and demo-matched result/paywall. */
.p1-feed-meter,.p1-feed-liked{display:none!important}
.p1-swipe-deck{width:min(68vw,260px)!important;width:clamp(210px,calc(80svh - 292px),260px)!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4/5!important;margin:0 auto!important;position:relative!important}
.p1-swipe-card{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:20px!important;overflow:hidden!important}
.p1-swipe-card>img,.p1-swipe-card>video{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}

.r.free{perspective:620px;background:transparent}
.r.free::after{display:none}
.flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .58s cubic-bezier(.32,.75,.28,1)}
.r.free.flipped .flip{transform:rotateY(180deg)}
.face{position:absolute;inset:0;border-radius:10px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.face.back{transform:rotateY(180deg)}
.face.front img{filter:blur(15px) saturate(.55) brightness(.92)!important;transform:scale(1.15)}
.face.front::after{content:'';position:absolute;inset:0;background:rgba(23,21,31,.22)}
.face.back img{filter:none!important;transform:none!important}
.r.free .open-badge{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8.5px;font-weight:900;color:#fff;line-height:1.15;padding:4px;text-shadow:0 1px 5px rgba(0,0,0,.7)}
.r.free.flipped .open-badge{display:none}
.r.free .tag{position:absolute;top:4px;left:4px;z-index:3;background:rgba(22,163,74,.95);color:#fff;font-size:8px;font-weight:900;padding:3px 6px;border-radius:20px}
.r.free:not(.flipped){animation:freePulse 2.4s ease-in-out infinite}
@keyframes freePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.r.free.revealable:not(.flipped){box-shadow:inset 0 0 0 2px rgba(22,163,74,.78),0 5px 16px rgba(22,163,74,.22)}
.r.free.revealable .open-badge{inset:50% auto auto 50%;width:auto;height:auto;transform:translate(-50%,-50%);padding:6px 9px;border:1px solid rgba(22,163,74,.38);border-radius:999px;background:rgba(240,253,244,.96);color:#15803d;font-size:10.5px;line-height:1;font-weight:900;text-shadow:none;white-space:nowrap}

.pricebox{background:linear-gradient(180deg,rgba(124,58,237,.07),rgba(236,72,153,.06));border-radius:16px;padding:12px 14px 13px;margin-bottom:8px}
.save{display:inline-block;background:var(--pk);color:#fff;font-size:11px;font-weight:900;padding:4px 10px;border-radius:20px;margin-bottom:7px}
.of-p{display:flex;align-items:center;gap:11px}
.of-now{font-size:60px;font-weight:900;letter-spacing:-3.5px;line-height:1;color:var(--p)}
.of-side{display:flex;flex-direction:column;gap:2px}
.of-side s{font-size:18px;font-weight:800;color:var(--t3)}
.of-side em{font-style:normal;font-size:12px;font-weight:700;color:var(--t2)}
.of-per{font-size:11.5px;color:var(--t3);font-weight:500;line-height:1.45;margin:0 0 12px}
.perks{margin:14px 0 4px;padding-top:14px;border-top:1px solid rgba(124,58,237,.12)}
.perks-cap{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:900;margin-bottom:11px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pk{background:#FCFBFF;border:1px solid rgba(124,58,237,.14);border-radius:13px;padding:11px 11px 12px}
.pk b{display:block;font-size:23px;font-weight:900;letter-spacing:-1px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pk .ico{display:block;font-size:20px;line-height:1}
.pk span{display:block;font-size:12px;font-weight:700;color:var(--t1);line-height:1.3;margin-top:5px}
.pk em{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:var(--t2);line-height:1.3;margin-top:2px}
.perks-more{font-size:11.5px;color:var(--t2);font-weight:600;text-align:center;margin-top:9px;line-height:1.45}
.models-toggle{display:inline;border:0;background:none;padding:0;font:inherit;color:var(--p);font-weight:800;text-decoration:none;cursor:pointer}
.models{margin-top:9px;font-size:11.5px;color:var(--t2);font-weight:600;line-height:1.6}
.models[hidden]{display:none}
.models b{color:var(--t1);font-weight:700}
.legal{font-size:10.5px;color:var(--t3);line-height:1.7;margin-top:14px;text-align:center;font-weight:500}
