/* ===== Efeitos globais ===== */
.car-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,#6d28d9,#c084fc,#f5c76b);box-shadow:0 0 14px #a855f7aa;pointer-events:none;transition:width .08s linear}
.car-embers{position:fixed;inset:0;z-index:-1;pointer-events:none}
.car-spot{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(520px circle at var(--car-mx,50%) var(--car-my,50%),rgba(140,70,240,.10),transparent 60%)}
.car-spot.on{opacity:1}
.ca-visual #planos .grid{perspective:1400px}
.ca-visual #planos .ca-card{transition:translate .3s ease,border-color .3s ease,box-shadow .3s ease,rotate .5s cubic-bezier(.2,.8,.2,1)}
.ca-visual #planos .ca-card.car-tilting{transition:translate .3s ease,border-color .3s ease,box-shadow .3s ease,rotate .12s ease-out}
@property --car-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.ca-visual #planos .ca-featured::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--car-a),transparent 0 62%,#a855f7 74%,#f5c76b 82%,#e9d5ff 86%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:car-spin 5s linear infinite}
@keyframes car-spin{to{--car-a:360deg}}
.ca-visual #cta .ca-cta{animation:car-pulse 2.6s ease-in-out infinite}
@keyframes car-pulse{0%,100%{box-shadow:0 8px 28px -8px #9044e76b,0 0 0 0 #a855f755}50%{box-shadow:0 8px 34px -6px #9f56f3a0,0 0 0 12px #a855f700}}
.ca-visual #top h1{text-shadow:0 0 60px #8b45f022}

/* ===== Seção Rewards ===== */
.ca-visual .car-rewards{position:relative;padding-block:110px 90px;overflow:hidden;margin-inline:0;width:100%}
.car-rewards{--car-txt:#efeaff;--car-mut:#a69dbb;--car-line:rgba(190,150,255,.14)}
.car-floor{position:absolute;left:0;right:0;bottom:0;height:55%;perspective:380px;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 90%);mask-image:linear-gradient(to top,#000 0%,transparent 90%)}
.car-floor::before{content:"";position:absolute;left:-60%;right:-60%;top:-120%;bottom:0;transform:rotateX(68deg);transform-origin:50% 100%;
  background-image:linear-gradient(rgba(168,85,247,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.32) 1px,transparent 1px);
  background-size:64px 64px;animation:car-grid 2.8s linear infinite}
@keyframes car-grid{to{background-position:0 64px}}
.car-halo{position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(45% 35% at 50% 55%,rgba(124,58,237,.18),transparent 70%),radial-gradient(25% 20% at 85% 35%,rgba(245,199,107,.06),transparent 70%)}
.car-wrap{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding-inline:26px}
.car-head{text-align:center;max-width:760px;margin:0 auto}
.car-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.32em;font-weight:700;color:#c9a4f5;text-transform:uppercase}
.car-eyebrow::before,.car-eyebrow::after{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,#c084fc)}
.car-eyebrow::after{transform:scaleX(-1)}
.ca-visual .car-head h2{font-size:clamp(34px,4.6vw,60px);font-weight:800;letter-spacing:-.05em;line-height:1.05;margin-top:20px;
  background:linear-gradient(100deg,#fff 0%,#e9d5ff 30%,#a855f7 50%,#e9d5ff 70%,#fff 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:car-shimmer 7s linear infinite}
@keyframes car-shimmer{to{background-position:-250% 0}}
.ca-visual .car-head p{color:var(--car-mut);font-size:15px;margin-top:18px;line-height:1.8}
.car-stats{margin:38px auto 0;max-width:900px;display:grid;grid-template-columns:1fr 1.4fr .9fr;gap:12px}
.car-glass{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.012));border:1px solid var(--car-line);border-radius:18px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 60px -25px #000a,inset 0 1px 0 rgba(255,255,255,.05)}
.car-stat{padding:18px 20px;text-align:left}
.car-stat .car-lbl{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--car-mut);font-weight:700}
.car-stat .car-big{font-size:clamp(20px,2.2vw,28px);font-weight:800;margin-top:8px;letter-spacing:-.03em;color:var(--car-txt)}
.car-stat .car-big small{font-size:.5em;color:var(--car-mut);font-weight:500;margin-left:6px;letter-spacing:0}
.car-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.07);margin-top:12px;overflow:hidden;position:relative}
.car-bar i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#6d28d9,#c084fc,#f5c76b);box-shadow:0 0 18px #a855f7cc}
.car-dots{display:flex;gap:8px;margin-top:12px}
.car-dots span{width:28px;height:28px;border-radius:50%;border:1px solid var(--car-line);display:grid;place-items:center;font-size:10px;color:var(--car-mut);transition:.5s}
.car-dots span.on{background:radial-gradient(circle at 35% 30%,#e9d5ff,#9333ea 60%,#4c1d95);color:#fff;border-color:transparent;box-shadow:0 0 18px #a855f7cc}
.car-dots span.on.g{background:radial-gradient(circle at 35% 30%,#fff3cf,#f5c76b 55%,#a16207);box-shadow:0 0 18px #f5c76bcc}

.car-trail{position:relative;margin-top:36px;padding:40px 0 20px}
.car-trail svg.car-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.car-stage{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,64px);align-items:start;padding-left:clamp(30px,5vw,80px)}
.car-reward{--lift:0px;margin-top:var(--lift);display:flex;flex-direction:column;align-items:center;opacity:0;translate:0 60px;filter:blur(8px);
  transition:opacity 1s cubic-bezier(.2,.8,.2,1),translate 1s cubic-bezier(.2,.8,.2,1),filter 1s;transition-delay:calc(var(--i)*.18s)}
.car-rewards.car-in .car-reward{opacity:1;translate:0 0;filter:none}
.car-reward:nth-child(1){--lift:170px}.car-reward:nth-child(2){--lift:85px}.car-reward:nth-child(3){--lift:0px}
.car-tier{font-size:10px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--car-mut);margin-bottom:14px;display:flex;gap:8px;align-items:center}
.car-tier em{font-style:normal;padding:4px 10px;border-radius:99px;border:1px solid var(--car-line);letter-spacing:.12em;font-size:9px;color:#e9d5ff;transition:.6s}
.car-reward.car-on .car-tier em{color:#fff;border-color:#a855f799;background:#9333ea40}
.car-card{position:relative;width:100%;max-width:320px;perspective:1100px;cursor:pointer;animation:car-float 7s ease-in-out infinite;animation-delay:calc(var(--i)*-2.3s);outline:none}
.car-card:focus-visible{outline:2px solid #d7b6ff;outline-offset:8px;border-radius:12px}
@keyframes car-float{0%,100%{translate:0 0}50%{translate:0 -22px}}
.car-aura{position:absolute;inset:-18% -22%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,var(--c),transparent);opacity:.12;filter:blur(18px);transition:opacity .8s}
.car-reward.car-on .car-aura{opacity:.55;animation:car-aura 4s ease-in-out infinite}
@keyframes car-aura{50%{opacity:.85;scale:1.08}}
.car-sway{transform-style:preserve-3d;animation:car-sway 9s ease-in-out infinite;animation-delay:calc(var(--i)*-3s)}
@keyframes car-sway{0%,100%{transform:rotateY(-9deg) rotateX(3deg)}50%{transform:rotateY(9deg) rotateX(-2deg)}}
.car-tilt{position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform}
.car-card.car-hover .car-tilt{transition:transform .12s ease-out}
.ca-visual .car-tilt img{display:block;width:100%;height:auto;max-width:none;user-select:none;-webkit-user-drag:none;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.75)) drop-shadow(0 0 30px rgba(147,51,234,.25));
  -webkit-box-reflect:below 6px linear-gradient(transparent 80%,rgba(255,255,255,.12))}
.car-glare,.car-sweep{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.car-glare{mix-blend-mode:overlay;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.7),transparent 48%)}
.car-card.car-hover .car-glare{opacity:1}
.car-sweep{overflow:hidden}
.car-sweep::after{content:"";position:absolute;top:-50%;bottom:-50%;width:40%;left:-60%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);opacity:0}
.car-reward.car-on .car-sweep::after{opacity:1;animation:car-sweep 5.5s ease-in-out infinite;animation-delay:calc(var(--i)*1.3s)}
@keyframes car-sweep{0%,60%{left:-60%}100%{left:130%}}
.car-shadow{position:absolute;left:12%;right:12%;bottom:-38px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);
  filter:blur(4px);animation:car-shad 7s ease-in-out infinite;animation-delay:calc(var(--i)*-2.3s);z-index:-1}
@keyframes car-shad{0%,100%{scale:1;opacity:.9}50%{scale:.78;opacity:.5}}
.car-ped{position:relative;width:180px;height:56px;margin-top:58px;display:grid;place-items:center}
.car-ped::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,rgba(147,51,234,.55),transparent);filter:blur(6px);opacity:.3;transition:opacity .8s}
.car-ped::after{content:"";position:absolute;inset:10px 22px;border-radius:50%;border:1px solid rgba(192,132,252,.35)}
.car-reward.car-on .car-ped::before{opacity:1}
.car-node{position:relative;width:22px;height:22px;border-radius:50%;background:#1b1230;border:2px solid rgba(255,255,255,.25);z-index:3;transition:.6s}
.car-reward.car-on .car-node{background:radial-gradient(circle at 35% 30%,#fff,var(--c) 55%);border-color:#fff;box-shadow:0 0 0 6px rgba(168,85,247,.18),0 0 26px var(--c)}
.car-node::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid var(--c);opacity:0}
.car-reward.car-on .car-node::after{animation:car-ping 2.4s ease-out infinite}
@keyframes car-ping{0%{opacity:.9;scale:.6}100%{opacity:0;scale:2.2}}
.car-node.car-ignite{animation:car-ignite .9s ease-out}
@keyframes car-ignite{0%{scale:1}30%{scale:2.1;box-shadow:0 0 60px #fff,0 0 120px var(--c)}100%{scale:1}}
.car-info{text-align:center;margin-top:16px}
.ca-visual .car-info h3{font-size:clamp(22px,2.2vw,30px);font-weight:800;letter-spacing:-.03em;color:var(--car-txt)}
.ca-visual .car-reward.car-on .car-info h3{background:linear-gradient(180deg,#fff,var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ca-visual .car-info p{color:var(--car-mut);font-size:13px;margin-top:2px;line-height:1.6}
.car-chip{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 14px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid var(--car-line);background:rgba(255,255,255,.04);color:#d9c7f3;cursor:pointer;transition:.3s}
.car-chip:hover{border-color:#a855f799;background:#9333ea26;color:#fff}
.car-start{position:absolute;z-index:3;font-size:9px;font-weight:700;letter-spacing:.3em;color:var(--car-mut);text-transform:uppercase;transform:translate(-50%,18px);white-space:nowrap}
.car-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:90px}
.car-step{padding:24px;transition:translate .4s,border-color .4s}
.car-step:hover{translate:0 -6px;border-color:#a855f766}
.car-step .car-n{font-size:46px;font-weight:800;line-height:1;background:linear-gradient(180deg,rgba(192,132,252,.9),rgba(192,132,252,0));-webkit-background-clip:text;background-clip:text;color:transparent}
.ca-visual .car-step h4{font-size:16px;margin:10px 0 6px;color:var(--car-txt);font-weight:700}
.ca-visual .car-step p{font-size:13px;color:var(--car-mut);line-height:1.7}

/* modal / toast / confete (fora do React, direto no body) */
.car-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;pointer-events:none;opacity:0;transition:opacity .4s;font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;color:#efeaff}
.car-modal.open{pointer-events:auto;opacity:1}
.car-bd{position:absolute;inset:0;background:rgba(4,2,10,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.car-mcard{position:relative;width:min(1000px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px;
  background:linear-gradient(160deg,#1d142cf2,#0f0b19f5);border:1px solid rgba(190,150,255,.18);border-radius:24px;box-shadow:0 40px 120px -30px #000,0 0 80px #8b45f020;
  transform:perspective(1400px) rotateY(-18deg) scale(.86) translateY(30px);transition:transform .7s cubic-bezier(.2,.9,.2,1)}
.car-modal.open .car-mcard{transform:none}
.car-x{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(190,150,255,.18);background:rgba(255,255,255,.04);color:#fff;font-size:22px;line-height:1;z-index:3;cursor:pointer}
.car-x:hover{background:rgba(255,255,255,.12)}
.car-mvis{perspective:1200px;position:relative}
.car-mvis .car-card{animation:none;max-width:none;cursor:default}
.car-mvis .car-aura{opacity:.6}
.car-mvis .car-tilt img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.75))}
.car-mvis .car-sweep::after{opacity:1;animation:car-sweep 4.5s ease-in-out infinite}
.car-minfo{display:flex;flex-direction:column;justify-content:center}
.car-minfo .car-tier{justify-content:flex-start}
.car-minfo h2{font-size:clamp(34px,4.4vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1;margin:0}
.car-minfo .car-nm{color:#c084fc;font-weight:600;margin-top:10px;letter-spacing:.06em;font-size:13px}
.car-minfo .car-desc{color:#a69dbb;line-height:1.75;margin-top:18px;font-size:15px}
.car-mcta{margin-top:28px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:14px;font-weight:700;font-size:14px;color:#fff;text-decoration:none;
  background:linear-gradient(115deg,#763bea,#a759f8 65%,#bd83ff);border:1px solid #d6acff3b;box-shadow:0 10px 34px -10px #9044e7;transition:translate .25s,box-shadow .25s}
.car-mcta:hover{translate:0 -2px;box-shadow:0 16px 44px -10px #9f56f3}
.car-toast{position:fixed;left:50%;top:22px;z-index:85;translate:-50% -160%;transition:translate .6s cubic-bezier(.2,.9,.2,1);padding:12px 18px 12px 14px;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px);
  font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;color:#efeaff;background:linear-gradient(160deg,#21163299,#100c1bdd);border:1px solid rgba(190,150,255,.2);border-radius:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 50px -20px #000}
.car-toast.show{translate:-50% 0}
.car-toast img{width:40px;height:50px;object-fit:contain}
.car-toast b{display:block;font-size:14px}
.car-toast span{font-size:12px;color:#a69dbb}
.car-fx{position:fixed;inset:0;z-index:84;pointer-events:none}

.ca-motion-paused .car-rewards *,.ca-motion-paused .car-rewards *::before,.ca-motion-paused .car-rewards *::after,
.ca-motion-paused .ca-visual #planos .ca-featured::after,.ca-motion-paused .ca-visual #cta .ca-cta{animation-play-state:paused!important}

@media (max-width:900px){
  .car-stats{grid-template-columns:1fr}
  .car-stage{grid-template-columns:1fr;gap:70px;padding-left:64px}
  .car-reward{--lift:0px!important;align-items:flex-start;position:relative}
  .car-tier{justify-content:flex-start}
  .car-card{max-width:290px}
  .car-ped{position:absolute;left:-64px;top:50%;width:44px;height:44px;margin:0;translate:0 -50%}
  .car-ped::after{display:none}
  .car-info{text-align:left}
  .car-steps{grid-template-columns:1fr;margin-top:70px}
  .car-mcard{grid-template-columns:1fr;padding:26px;gap:24px}
  .car-mvis{max-width:340px;margin:0 auto;width:100%}
  .ca-visual .car-rewards{padding-block:70px 60px}
  .car-wrap{padding-inline:20px}
}
@media (prefers-reduced-motion:reduce){
  .car-rewards *,.car-rewards *::before,.car-rewards *::after,.car-modal *,.ca-visual #planos .ca-featured::after,.ca-visual #cta .ca-cta{animation:none!important}
  .car-reward{transition:none;opacity:1;translate:0 0;filter:none}
}

/* Integration: keep modal focus isolated and all effects pausable. */
.car-modal[inert]{visibility:hidden}
.car-caption{text-align:center;color:#a69dbb;font-size:11px;margin-top:20px}
.ca-motion-paused .car-modal *,.ca-motion-paused .car-modal *::after{animation-play-state:paused!important}
