/* ============================================================
   PREÇO PRONTO — LANDING PAGE FUTURISTICA 2026
   Dark + Warm Gradients + Glassmorphism + 3D + Interactions
   ============================================================ */

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ---------- VARIÁVEIS GLOBAL ---------- */
.landing-modelo{
  --rr-vermelho:#ef4444;
  --rr-laranja:#f97316;
  --rr-amarelo:#fbbf24;
  --rr-vermelho-escuro:#dc2626;
  --rr-laranja-escuro:#ea580c;
  --rr-preto:#050505;
  --rr-preto-medio:#0c0c0c;
  --rr-preto-claro:#111;
  --rr-cinza:#1a1a2e;
  --rr-cinza-2:#16213e;
  --rr-cinza-3:#1e2a3a;
  --rr-branco:#f0f0f0;
  --rr-branco-suave:#e0e0e0;
  --rr-texto:#c8c8d0;
  --rr-texto-muted:#6b6b7b;
  --rr-glow-vermelho:rgba(239,68,68,.25);
  --rr-glow-laranja:rgba(249,115,22,.25);
  --rr-glow-amarelo:rgba(251,191,36,.2);
  --rr-radius:16px;
  --rr-radius-lg:24px;
  --rr-transition:all .4s cubic-bezier(.16,1,.3,1);
}

/* ---------- REDUCE MOTION ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- SCROLLBAR ---------- */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--rr-preto)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--rr-vermelho),var(--rr-laranja));border-radius:3px}

/* ---------- TOPO / HEADER ---------- */
.landing-topo{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:12px 28px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(5,5,5,.85);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.landing-topo img.landing-logo{height:30px;width:auto}

.landing-topo nav{display:flex;align-items:center;gap:24px}

.landing-topo nav a{
  color:var(--rr-texto-muted);text-decoration:none;
  font-size:.82rem;font-weight:500;
  letter-spacing:.3px;transition:color .25s;
}

.landing-topo nav a:hover{color:var(--rr-branco)}

.landing-topo .landing-entrar{
  padding:7px 18px;border-radius:8px;
  background:transparent;border:1px solid rgba(255,255,255,.12);
  color:var(--rr-texto);font-weight:600;font-size:.82rem;
  cursor:pointer;transition:var(--rr-transition);font-family:inherit;
}

.landing-topo .landing-entrar:hover{
  border-color:var(--rr-vermelho);color:var(--rr-vermelho);
  background:rgba(239,68,68,.08);
}

.landing-topo .landing-criar{
  padding:7px 18px;border-radius:8px;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja));
  color:white;border:none;font-weight:700;font-size:.82rem;
  cursor:pointer;transition:var(--rr-transition);font-family:inherit;
  box-shadow:0 4px 20px var(--rr-glow-vermelho);
}

.landing-topo .landing-criar:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 30px var(--rr-glow-vermelho);
}

.landing-whatsapp-link{
  padding:7px 14px;color:#fbbf24;font-size:.78rem;font-weight:700;
  text-decoration:none;border:1px solid rgba(251,191,36,.3);
  border-radius:8px;background:rgba(251,191,36,.08);white-space:nowrap;
  transition:var(--rr-transition);
}

.landing-whatsapp-link:hover{background:rgba(251,191,36,.15);border-color:rgba(251,191,36,.5)}

/* ---------- HERO SECTION ---------- */
.landing-hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  padding:100px 40px 60px;
  background:var(--rr-preto);
}

/* Grid sutil no background */
.landing-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);
  pointer-events:none;z-index:0;
}

/* Gradiente radial enorme no fundo */
.landing-hero::after{
  content:"";position:absolute;top:30%;left:30%;
  width:800px;height:800px;
  background:radial-gradient(circle,rgba(239,68,68,.15) 0%,rgba(249,115,22,.08) 30%,transparent 60%);
  border-radius:50%;
  animation:heroGlow 6s ease-in-out infinite;
  pointer-events:none;z-index:0;
}

@keyframes heroGlow{
  0%,100%{transform:translate(0,0);opacity:.8;filter:blur(40px)}
  50%{transform:translate(30px,-20px);opacity:1;filter:blur(60px)}
}

/* Segundo gradiente */
.hero-gradient-2{
  position:absolute;bottom:0;right:10%;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(251,191,36,.1) 0%,transparent 60%);
  border-radius:50%;pointer-events:none;z-index:0;
}

/* Partículas */
.hero-particles{
  position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;
}

.hero-particle{
  position:absolute;width:2px;height:2px;
  background:rgba(255,255,255,.3);
  border-radius:50%;
  animation:particleFloat linear infinite;
}

@keyframes particleFloat{
  0%{transform:translateY(100vh) translateX(0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(-10vh) translateX(50px);opacity:0}
}

/* Conteúdo do Hero */
.landing-hero-content{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:center;
  max-width:1200px;width:100%;
}

@media(max-width:1024px){
  .landing-hero-content{grid-template-columns:1fr;text-align:center;gap:40px}
}

.hero-left{
  display:flex;flex-direction:column;gap:24px;
}

.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;border-radius:100px;
  background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);
  color:#f87171;font-size:.78rem;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;
  animation:heroFadeIn .8s ease-out .2s both;
}

.hero-badge .pulse-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--rr-vermelho);
  animation:heroPulse 2s ease-in-out infinite;
}

@keyframes heroPulse{0%,100%{opacity:1}50%{opacity:.3}}

.hero-title{
  font-family:"League Spartan Black","Impact",sans-serif;
  font-size:clamp(2.5rem,6vw,4.5rem);
  line-height:1;letter-spacing:-2px;
  color:var(--rr-branco);
  animation:heroFadeIn .8s ease-out .4s both;
}

.hero-title .highlight{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero-subtitle{
  font-size:clamp(1rem,2vw,1.15rem);
  color:var(--rr-texto-muted);
  line-height:1.7;max-width:480px;
  animation:heroFadeIn .8s ease-out .6s both;
}

@media(max-width:1024px){
  .hero-subtitle{margin:0 auto}
}

.hero-actions{
  display:flex;gap:14px;flex-wrap:wrap;
  animation:heroFadeIn .8s ease-out .8s both;
}

@media(max-width:1024px){
  .hero-actions{justify-content:center}
}

.hero-btn{
  padding:16px 36px;border-radius:14px;
  font-size:1rem;font-weight:800;
  font-family:inherit;cursor:pointer;
  border:none;transition:var(--rr-transition);
  letter-spacing:.5px;
}

.hero-btn--primary{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja));
  color:white;
  box-shadow:0 4px 30px var(--rr-glow-vermelho),0 0 60px rgba(239,68,68,.1);
}

.hero-btn--primary:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 40px var(--rr-glow-vermelho),0 0 80px rgba(239,68,68,.15);
}

.hero-btn--ghost{
  background:rgba(255,255,255,.05);
  color:var(--rr-branco);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}

.hero-btn--ghost:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.2);
  transform:translateY(-3px);
}

/* Hero Right - Mockup 3D */
.hero-right{
  position:relative;z-index:2;
  perspective:1200px;
  animation:heroFadeIn .8s ease-out 1s both;
}

@media(max-width:1024px){
  .hero-right{max-width:500px;margin:0 auto}
}

.mockup-3d-wrapper{
  position:relative;
  transform:rotateY(-8deg) rotateX(4deg);
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}

.mockup-3d-wrapper:hover{
  transform:rotateY(0deg) rotateX(0deg);
}

.mockup-card{
  background:linear-gradient(145deg,#1a1a2e,#0c0c1a);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--rr-radius-lg);
  box-shadow:
    0 25px 60px rgba(0,0,0,.6),
    0 0 40px var(--rr-glow-vermelho),
    inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;position:relative;
}

.mockup-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:40px;
  background:linear-gradient(180deg,rgba(239,68,68,.15),transparent);
  z-index:1;
}

.mockup-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);
}

.mockup-header-brand{
  display:flex;align-items:center;gap:8px;
}

.mockup-header-brand .logo-mini{
  width:20px;height:20px;border-radius:4px;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
}

.mockup-header-brand span{
  color:var(--rr-branco);font-size:.75rem;font-weight:700;
}

.mockup-header-status{
  padding:3px 10px;border-radius:100px;
  background:rgba(34,197,94,.15);color:#4ade80;
  font-size:.65rem;font-weight:700;
}

.mockup-body{
  padding:16px;display:grid;gap:8px;
}

.mockup-product-row{
  display:flex;align-items:center;gap:10px;
  padding:10px;border-radius:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.04);
}

.mockup-product-img{
  width:36px;height:36px;border-radius:8px;
  background:linear-gradient(135deg,rgba(239,68,68,.2),rgba(251,191,36,.2));
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;
}

.mockup-product-info{flex:1}

.mockup-product-name{
  color:var(--rr-branco);font-size:.75rem;font-weight:600;
}

.mockup-product-price{
  display:flex;align-items:center;gap:6px;margin-top:2px;
}

.mockup-price-old{
  color:var(--rr-texto-muted);font-size:.65rem;
  text-decoration:line-through;
}

.mockup-price-new{
  color:#f87171;font-size:.8rem;font-weight:800;
}

.mockup-product-badge{
  padding:2px 6px;border-radius:4px;
  background:rgba(239,68,68,.2);color:#f87171;
  font-size:.6rem;font-weight:700;
}

.mockup-footer{
  padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:space-between;
}

.mockup-footer-text{color:var(--rr-texto-muted);font-size:.65rem}

.mockup-footer-tags{display:flex;gap:4px}

.mockup-tag{
  padding:2px 6px;border-radius:3px;
  background:rgba(239,68,68,.1);color:#f87171;
  font-size:.6rem;font-weight:700;
}

/* Glow atrás do mockup */
.mockup-glow{
  position:absolute;inset:-20px;
  background:radial-gradient(circle,var(--rr-glow-vermelho) 0%,transparent 70%);
  filter:blur(40px);opacity:.5;
  z-index:-1;animation:heroGlow 4s ease-in-out infinite;
}

/* Reflexo */
.mockup-reflection{
  position:absolute;bottom:-20px;left:10%;right:10%;
  height:40px;
  background:linear-gradient(180deg,rgba(239,68,68,.1),transparent);
  filter:blur(10px);opacity:.5;
  transform:scaleY(-1);
}

/* Elementos flutuantes */
.float-badge{
  position:absolute;padding:8px 16px;
  background:rgba(12,12,18,.9);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  font-size:.75rem;font-weight:700;
  color:var(--rr-branco);
  animation:floatBadge 3s ease-in-out infinite;
  box-shadow:0 8px 30px rgba(0,0,0,.4);
  z-index:10;
}

.float-badge .float-check{
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  display:flex;align-items:center;justify-content:center;
  font-size:.55rem;color:white;margin-right:6px;
}

.float-badge:nth-child(1){
  top:10%;right:-15px;animation-delay:-.5s;
}

.float-badge:nth-child(2){
  bottom:20%;left:-15px;animation-delay:-1.5s;
}

.float-badge:nth-child(3){
  top:50%;right:-10px;animation-delay:-2s;font-size:.7rem;
}

.float-badge:nth-child(4){
  bottom:30%;right:5%;animation-delay:-1s;font-size:.65rem;padding:6px 12px;
}

@keyframes floatBadge{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

/* ---- ANIMATIONS ---- */
@keyframes heroFadeIn{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}

/* ---------- SEÇÃO MARQUEE / IMPACTO ---------- */
.landing-impact{
  padding:40px 0;
  background:var(--rr-preto-medio);
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
  overflow:hidden;position:relative;
}

.landing-impact::before,
.landing-impact::after{
  content:"";position:absolute;top:0;bottom:0;
  width:100px;z-index:2;pointer-events:none;
}

.landing-impact::before{left:0;background:linear-gradient(90deg,var(--rr-preto-medio),transparent)}
.landing-impact::after{right:0;background:linear-gradient(-90deg,var(--rr-preto-medio),transparent)}

.marquee-track{
  display:flex;gap:60px;
  animation:marqueeScroll 30s linear infinite;
  white-space:nowrap;
}

.marquee-item{
  display:inline-flex;align-items:center;gap:12px;
  color:var(--rr-texto-muted);font-size:.85rem;
  font-weight:600;letter-spacing:1px;text-transform:uppercase;
}

.marquee-item .marque-num{
  font-family:"League Spartan Black",sans-serif;
  font-size:1.8rem;font-weight:900;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

@keyframes marqueeScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ---------- SEÇÃO PROBLEMA ---------- */
.landing-problema{
  padding:100px 40px;
  background:var(--rr-preto);
  position:relative;overflow:hidden;
}

.problema-grid{
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:40px;align-items:start;
  max-width:1000px;margin:0 auto;
}

@media(max-width:768px){
  .problema-grid{grid-template-columns:1fr;gap:20px}
}

.problema-card{
  padding:40px;border-radius:var(--rr-radius-lg);
  position:relative;overflow:hidden;
  transition:var(--rr-transition);
}

.problema-card:hover{transform:translateY(-4px)}

.problema-card--old{
  background:rgba(239,68,68,.06);
  border:1px solid rgba(239,68,68,.15);
}

.problema-card--old h3{
  color:#f87171;font-family:"League Spartan Black",sans-serif;
  font-size:1.2rem;margin-bottom:24px;
}

.problema-card--new{
  background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(251,191,36,.05));
  border:1px solid rgba(239,68,68,.25);
}

.problema-card--new h3{
  color:var(--rr-amarelo);font-family:"League Spartan Black",sans-serif;
  font-size:1.2rem;margin-bottom:24px;
}

.problema-steps{
  list-style:none;display:flex;flex-direction:column;gap:12px;
}

.problema-steps li{
  display:flex;align-items:center;gap:12px;
  color:var(--rr-texto-muted);font-size:.9rem;
  padding:8px 0;
}

.problema-steps .step-dot{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:800;flex-shrink:0;
}

.step-dot--red{background:rgba(239,68,68,.2);color:#f87171}
.step-dot--yellow{background:rgba(251,191,36,.2);color:var(--rr-amarelo)}

.problema-arrow{
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:var(--rr-vermelho);
  padding:60px 0;
}

@media(max-width:768px){.problema-arrow{padding:10px 0}}

/* ---------- SEÇÃO COMO FUNCIONA ---------- */
.landing-como-funciona{
  padding:100px 40px;
  background:var(--rr-preto-medio);
  position:relative;
}

.como-funciona-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:32px;max-width:900px;margin:50px auto 0;
  position:relative;
}

@media(max-width:768px){.como-funciona-grid{grid-template-columns:1fr}}

/* Linha luminosa conectando */
.como-funciona-grid::before{
  content:"";position:absolute;top:60px;left:20%;right:20%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--rr-vermelho),var(--rr-amarelo),transparent);
  z-index:0;
}

@media(max-width:768px){.como-funciona-grid::before{display:none}}

.funcao-card{
  padding:40px 28px;border-radius:var(--rr-radius-lg);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  text-align:center;position:relative;z-index:1;
  transition:var(--rr-transition);
}

.funcao-card:hover{
  background:rgba(239,68,68,.06);
  border-color:rgba(239,68,68,.2);
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.3);
}

.funcao-numero{
  font-family:"League Spartan Black",sans-serif;
  font-size:4rem;font-weight:900;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  line-height:1;margin-bottom:8px;
}

.funcao-card h3{
  color:var(--rr-branco);font-family:"League Spartan Black",sans-serif;
  font-size:1.1rem;margin-bottom:10px;
}

.funcao-card p{color:var(--rr-texto-muted);font-size:.88rem;line-height:1.5}

/* ---------- SEÇÃO PRODUTO ---------- */
.landing-produto{
  padding:100px 40px;
  background:var(--rr-preto);
  position:relative;overflow:hidden;
}

.produto-container{
  max-width:1100px;margin:0 auto;
  position:relative;
}

.produto-mockup-area{
  position:relative;
  border-radius:var(--rr-radius-lg);
  overflow:visible;
}

.produto-main-mockup{
  width:100%;border-radius:var(--rr-radius-lg);
  background:linear-gradient(145deg,#1a1a2e,#0c0c1a);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 60px var(--rr-glow-vermelho);
  overflow:hidden;position:relative;
}

.produto-main-mockup .mockup-header{
  padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:space-between;
}

.produto-main-mockup .mockup-body{padding:24px}

/* Cards flutuantes ao redor */
.floating-feature{
  position:absolute;padding:14px 20px;
  background:rgba(12,12,18,.92);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--rr-radius);
  box-shadow:0 12px 40px rgba(0,0,0,.4);
  animation:floatBadge 4s ease-in-out infinite;
  z-index:10;transition:var(--rr-transition);
}

.floating-feature:hover{
  transform:scale(1.05);
  border-color:rgba(239,68,68,.3);
  box-shadow:0 16px 50px rgba(239,68,68,.15);
}

.floating-feature .feat-icon{
  width:32px;height:32px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;margin-bottom:6px;
}

.floating-feature .feat-title{
  color:var(--rr-branco);font-size:.78rem;font-weight:700;
}

.floating-feature .feat-desc{
  color:var(--rr-texto-muted);font-size:.65rem;margin-top:2px;
}

/* Posições dos cards flutuantes */
.floating-feature:nth-child(1){top:-15px;right:-15px;animation-delay:-.5s}
.floating-feature:nth-child(2){bottom:20%;left:-20px;animation-delay:-1.5s}
.floating-feature:nth-child(3){top:40%;left:-15px;animation-delay:-2.5s}
.floating-feature:nth-child(4){bottom:-10px;right:10%;animation-delay:-1s}

@media(max-width:768px){
  .floating-feature{position:static;margin:8px 0;animation:none}
  .produto-main-mockup .mockup-body{padding:16px}
}

/* ---------- SEÇÃO CARTAZES ---------- */
.landing-cartazes{
  padding:100px 40px;
  background:var(--rr-preto-medio);
  position:relative;overflow:hidden;
}

.cartazes-container{
  max-width:1200px;margin:50px auto 0;
  position:relative;
}

.cartazes-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;perspective:1000px;
}

@media(max-width:1024px){.cartazes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cartazes-grid{grid-template-columns:1fr}}

.cartaz-float-card{
  position:relative;aspect-ratio:3/4;
  border-radius:14px;overflow:hidden;
  cursor:pointer;transition:transform .6s cubic-bezier(.16,1,.3,1);
  transform-style:preserve-3d;
}

.cartaz-float-card:hover{
  transform:scale(1.05) rotateY(-5deg);
  z-index:10;
}

.cartaz-float-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s;
}

.cartaz-float-card:hover img{transform:scale(1.08)}

.cartaz-float-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.8));
}

.cartaz-float-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:16px;color:white;
}

.cartaz-float-format{
  display:inline-block;padding:3px 8px;border-radius:4px;
  background:var(--rr-vermelho);color:white;
  font-size:.65rem;font-weight:700;margin-bottom:6px;
}

/* ---------- SEÇÃO PARA QUEM É ---------- */
.landing-para-quem{
  padding:100px 40px;
  background:var(--rr-preto);
}

.pessoas-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;max-width:1000px;margin:50px auto 0;
}

@media(max-width:768px){.pessoas-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.pessoas-grid{grid-template-columns:1fr}}

.pessoa-card{
  padding:36px 24px;border-radius:var(--rr-radius-lg);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  text-align:center;transition:var(--rr-transition);
  position:relative;overflow:hidden;
}

.pessoa-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rr-vermelho),var(--rr-amarelo));
  transform:scaleX(0);transition:transform .4s;
}

.pessoa-card:hover{
  transform:translateY(-8px);
  border-color:rgba(239,68,68,.2);
  background:rgba(239,68,68,.04);
}

.pessoa-card:hover::before{transform:scaleX(1)}

.pessoa-icon{
  width:56px;height:56px;border-radius:14px;
  background:linear-gradient(135deg,rgba(239,68,68,.15),rgba(251,191,36,.1));
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin:0 auto 16px;
  transition:var(--rr-transition);
}

.pessoa-card:hover .pessoa-icon{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  transform:scale(1.1);
}

.pessoa-card h3{
  color:var(--rr-branco);font-family:"League Spartan Black",sans-serif;
  font-size:.95rem;margin-bottom:8px;
}

.pessoa-card p{
  color:var(--rr-texto-muted);font-size:.82rem;line-height:1.5;
}

/* ---------- SEÇÃO DIFERENCIAL ---------- */
.landing-diferencial{
  padding:100px 40px;
  background:var(--rr-preto-medio);
  position:relative;overflow:hidden;
}

.diferencial-container{
  max-width:900px;margin:0 auto;text-align:center;
}

.dif-clock{
  width:200px;height:200px;margin:40px auto;
  border:3px solid rgba(239,68,68,.3);
  border-radius:50%;position:relative;
  animation:difClockRotate 8s linear infinite;
}

@keyframes difClockRotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}

.dif-clock::before{
  content:"";position:absolute;inset:15px;
  border:2px solid rgba(251,191,36,.3);
  border-radius:50%;
  animation:difClockRotate 12s linear infinite reverse;
}

.dif-clock .clock-center{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:12px;height:12px;border-radius:50%;
  background:var(--rr-vermelho);
  box-shadow:0 0 20px var(--rr-glow-vermelho);
}

.dif-clock .clock-hand{
  position:absolute;bottom:50%;left:50%;
  width:3px;height:60px;
  background:linear-gradient(to top,var(--rr-vermelho),var(--rr-amarelo));
  transform-origin:bottom center;transform:translateX(-50%);
  border-radius:2px;
  animation:difHandMove 3s ease-in-out infinite;
}

@keyframes difHandMove{
  0%,100%{transform:translateX(-50%) rotate(0deg)}
  50%{transform:translateX(-50%) rotate(180deg)}
}

/* ---------- PLANOS ---------- */
.landing-planos{
  padding:100px 40px;
  background:var(--rr-preto);
}

.planos-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:24px;max-width:650px;margin:50px auto 0;
}

@media(max-width:600px){.planos-grid{grid-template-columns:1fr}}

.plano-card{
  padding:36px 28px;border-radius:var(--rr-radius-lg);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;position:relative;
  transition:var(--rr-transition);
  backdrop-filter:blur(10px);
}

.plano-card:hover{
  transform:translateY(-8px);
  border-color:rgba(239,68,68,.3);
  box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 40px var(--rr-glow-vermelho);
}

.plano-card--featured{
  border-color:var(--rr-vermelho);
  background:linear-gradient(180deg,rgba(239,68,68,.08),rgba(255,255,255,.03));
}

.plano-card--featured::before{
  content:"MELHOR ECONOMIA";position:absolute;top:-12px;
  left:50%;transform:translateX(-50%);
  padding:5px 16px;border-radius:100px;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  color:white;font-size:.7rem;font-weight:800;
  white-space:nowrap;
}

.plano-card h3{
  color:var(--rr-texto-muted);font-size:.85rem;
  text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;
}

.plano-price .valor{
  font-family:"League Spartan Black",sans-serif;
  font-size:3.2rem;font-weight:900;color:var(--rr-branco);
  line-height:1;
}

.plano-price .periodo{
  color:var(--rr-texto-muted);font-size:.85rem;margin-left:4px;
}

.plano-desc{
  color:var(--rr-texto-muted);font-size:.82rem;
  margin:12px 0 20px;line-height:1.5;
}

.plano-features{
  list-style:none;margin:0 0 24px;text-align:left;
}

.plano-features li{
  padding:6px 0;color:var(--rr-texto);font-size:.84rem;
  display:flex;align-items:center;gap:8px;
}

.plano-features li .check{
  color:var(--rr-amarelo);font-size:.75rem;flex-shrink:0;
}

.plano-btn{
  width:100%;padding:14px;border-radius:12px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);
  color:var(--rr-branco);font-weight:700;font-size:.9rem;
  cursor:pointer;transition:var(--rr-transition);font-family:inherit;
}

.plano-btn:hover{background:var(--rr-vermelho);border-color:var(--rr-vermelho)}

.plano-card--featured .plano-btn{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja));
  border-color:transparent;
  box-shadow:0 4px 20px var(--rr-glow-vermelho);
}

.plano-card--featured .plano-btn:hover{
  box-shadow:0 8px 40px var(--rr-glow-vermelho);
}

/* ---------- FAQ ---------- */
.landing-faq{
  padding:100px 40px;
  background:var(--rr-preto-medio);
}

.faq-list{
  max-width:700px;margin:50px auto 0;
  display:flex;flex-direction:column;gap:12px;
}

.faq-item{
  border-radius:var(--rr-radius);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;transition:var(--rr-transition);
}

.faq-item:hover{border-color:rgba(239,68,68,.2)}

.faq-item[open]{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.03)}

.faq-item summary{
  padding:18px 22px;font-weight:600;color:var(--rr-branco);
  font-size:.92rem;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;
  transition:var(--rr-transition);
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item summary::after{
  content:"+";font-size:1.3rem;font-weight:800;
  color:var(--rr-vermelho);transition:transform .3s;
  flex-shrink:0;margin-left:16px;
}

.faq-item[open] summary::after{content:"−"}

.faq-item p{
  padding:0 22px 20px;color:var(--rr-texto-muted);
  font-size:.88rem;line-height:1.6;
}

/* ---------- CTA FINAL ---------- */
.landing-cta{
  padding:120px 40px;text-align:center;
  background:var(--rr-preto);
  position:relative;overflow:hidden;
}

.landing-cta::before{
  content:"";position:absolute;top:30%;left:30%;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(239,68,68,.2),rgba(251,191,36,.1),transparent 60%);
  border-radius:50%;animation:heroGlow 5s ease-in-out infinite;
  pointer-events:none;filter:blur(60px);
}

.cta-content{position:relative;z-index:2}

.cta-title{
  font-family:"League Spartan Black",sans-serif;
  font-size:clamp(2.5rem,5vw,3.8rem);
  color:var(--rr-branco);line-height:1.1;
  letter-spacing:-1px;margin-bottom:20px;
}

.cta-title .highlight{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.cta-text{
  color:var(--rr-texto-muted);font-size:1.1rem;
  max-width:500px;margin:0 auto 36px;line-height:1.7;
}

.cta-btn{
  padding:20px 52px;border-radius:16px;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja));
  color:white;border:none;font-weight:800;
  font-size:1.1rem;font-family:inherit;cursor:pointer;
  transition:var(--rr-transition);
  box-shadow:0 4px 30px var(--rr-glow-vermelho),0 0 60px rgba(239,68,68,.1);
  letter-spacing:.5px;
}

.cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 40px var(--rr-glow-vermelho),0 0 80px rgba(239,68,68,.15);
}

.cta-mockup-bg{
  position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:400px;opacity:.08;filter:blur(2px);pointer-events:none;
}

/* ---------- RODAPÉ ---------- */
.landing-rodape{
  padding:50px 40px 30px;
  background:var(--rr-preto);
  border-top:1px solid rgba(255,255,255,.04);
}

.rodape-grid{
  display:grid;grid-template-columns:1fr 2fr 1fr;
  gap:32px;max-width:1200px;margin:0 auto 32px;
}

@media(max-width:768px){.rodape-grid{grid-template-columns:1fr;text-align:center}}

.rodape-brand{display:flex;flex-direction:column;gap:6px}

.rodape-brand .logo{
  color:var(--rr-branco);font-family:"League Spartan Black",sans-serif;
  font-size:1.3rem;font-weight:900;margin-bottom:4px;
}

.rodape-brand .logo span{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.rodape-links{display:flex;flex-direction:column;gap:8px}

.rodape-links a{
  color:var(--rr-texto-muted);text-decoration:none;
  font-size:.85rem;transition:color .25s;
}

.rodape-links a:hover{color:var(--rr-branco)}

.rodape-contato p{color:var(--rr-texto-muted);font-size:.82rem;margin-bottom:3px}

.rodape-copy{
  text-align:center;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.06);
  color:var(--rr-texto-muted);font-size:.78rem;
}

/* ---------- WHATSAPP FLOAT ---------- */
.landing-whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:1000;
  display:flex;align-items:center;gap:9px;
  padding:14px 20px;border-radius:999px;
  color:white;background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja));
  text-decoration:none;font-size:.85rem;font-weight:700;
  box-shadow:0 8px 30px var(--rr-glow-vermelho);
  transition:var(--rr-transition);
}

.landing-whatsapp-float:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px var(--rr-glow-vermelho);
}

/* ---------- AUTH ---------- */
.tela-autenticacao{
  position:fixed;inset:0;z-index:100000;
  min-height:100vh;padding:28px;
  display:grid;place-items:center;overflow-y:auto;
  background:linear-gradient(110deg,rgba(0,0,0,.85),rgba(0,0,0,.5) 52%,rgba(0,0,0,.8)),
    url("imagens/fundo-login-varejo.png") center/cover fixed no-repeat;
}

.cartao-autenticacao{
  width:min(940px,100%);min-height:580px;padding:46px;
  display:grid;grid-template-columns:minmax(290px,.9fr) minmax(320px,1.1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:58px;background:rgba(15,15,20,.97);
  border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.6);
  backdrop-filter:blur(20px);
}

/* ---------- SCROLL REVEAL ---------- */
.reveal{
  opacity:0;transform:translateY(50px);
  transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);
}

.reveal.is-visible{opacity:1;transform:translateY(0)}

.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}
.reveal-delay-5{transition-delay:.5s}

/* ---------- UTILIDADES ---------- */
.text-highlight{
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.text-muted{color:var(--rr-texto-muted)}
.text-white{color:var(--rr-branco)}
.text-center{text-align:center}

/* ---------- ANIMATIONS ---------- */
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes heroGlow{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes particleFloat{0%{transform:translateY(100vh);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:translateY(-10vh);opacity:0}}
@keyframes difClockRotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes difHandMove{0%,100%{transform:rotate(0)}50%{transform:rotate(180deg)}}

/* ---------- MOBILE ---------- */
@media(max-width:768px){
  .landing-hero{padding:80px 20px 40px}
  .landing-hero-content{gap:30px}
  .landing-problema,.landing-como-funciona,
  .landing-produto,.landing-cartazes,
  .landing-para-quem,.landing-diferencial,
  .landing-planos,.landing-faq{padding:60px 20px}
  .landing-cta{padding:80px 20px}
  .landing-topo{padding:10px 16px}
  .landing-topo nav{display:none}
  .landing-whatsapp-link{display:none}
  .marquee-item .marque-num{font-size:1.4rem}
  .floating-feature{position:static;margin:8px 0;animation:none}
}

/* ============================================================
   PONTE CSS — Mapeia classes antigas para novos estilos
   ============================================================ */

/* ---- Hero antigo → Novo ---- */
.landing-hero-texto { display:flex; flex-direction:column; gap:24px; }
.landing-hero-texto h1 { font-family:"League Spartan Black","Impact",sans-serif; font-size:clamp(2.5rem,6vw,4.5rem); line-height:1; letter-spacing:-2px; color:var(--rr-branco); }
.landing-hero-texto h1 b { display:block; }
.landing-hero-texto h1 b:nth-child(1) { color:var(--rr-branco); }
.landing-hero-texto h1 b:nth-child(3) { color:var(--rr-branco); }
.landing-hero-texto h1 b:nth-child(2) { background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.landing-hero-texto p { font-size:clamp(1rem,2vw,1.15rem); color:var(--rr-texto-muted); line-height:1.7; max-width:480px; }
.landing-hero-acoes { display:flex; gap:14px; flex-wrap:wrap; }

/* Botões antigos */
.btn-hero-principal {
  padding:16px 36px; border-radius:14px; font-size:1rem; font-weight:800;
  background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja));
  color:white; border:none; cursor:pointer; font-family:inherit;
  box-shadow:0 4px 30px var(--rr-glow-vermelho), 0 0 60px rgba(239,68,68,.1);
  transition:var(--rr-transition); letter-spacing:.5px;
}
.btn-hero-principal:hover { transform:translateY(-3px); box-shadow:0 8px 40px var(--rr-glow-vermelho), 0 0 80px rgba(239,68,68,.15); }
.secundario {
  padding:16px 36px; border-radius:14px; font-size:1rem; font-weight:600;
  background:rgba(255,255,255,.05); color:var(--rr-branco);
  border:1px solid rgba(255,255,255,.12); cursor:pointer; font-family:inherit;
  transition:var(--rr-transition); backdrop-filter:blur(10px);
}
.secundario:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); transform:translateY(-3px); }

/* Vitrine antiga */
.landing-vitrine { display:none; }

/* ---- Problema antigo → Novo ---- */
.landing-comparacao-problema { display:grid; grid-template-columns:1fr auto 1fr; gap:40px; align-items:start; max-width:1000px; margin:0 auto; }
@media(max-width:768px){ .landing-comparacao-problema { grid-template-columns:1fr; gap:20px; } }
.lado-antes { padding:40px; border-radius:var(--rr-radius-lg); background:rgba(239,68,68,.06); border:1px solid rgba(239,68,68,.15); }
.lado-antes h3 { color:#f87171; font-family:"League Spartan Black",sans-serif; font-size:1.2rem; margin-bottom:24px; }
.lado-depois { padding:40px; border-radius:var(--rr-radius-lg); background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(251,191,36,.05)); border:1px solid rgba(239,68,68,.25); }
.lado-depois h3 { color:var(--rr-amarelo); font-family:"League Spartan Black",sans-serif; font-size:1.2rem; margin-bottom:24px; }
.lado-antes ul, .lado-depois ul { list-style:none; display:flex; flex-direction:column; gap:12px; }
.lado-antes ul li, .lado-depois ul li { display:flex; align-items:center; gap:12px; color:var(--rr-texto-muted); font-size:.9rem; padding:8px 0; }
.seta-comparacao { display:flex; align-items:center; justify-content:center; font-size:2rem; color:var(--rr-vermelho); padding:60px 0; }
@media(max-width:768px){ .seta-comparacao{ padding:10px 0; } }
.tempo-antes { color:var(--rr-texto-muted); font-size:.9rem; }
.tempo-depois { color:var(--rr-amarelo); font-size:.9rem; }

/* ---- Como Funciona antigo → Novo ---- */
.landing-passos-grade { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; max-width:900px; margin:50px auto 0; position:relative; }
@media(max-width:768px){ .landing-passos-grade{ grid-template-columns:1fr; } }
/* Linha luminosa conectando */
.landing-passos-grade::before{ content:""; position:absolute; top:60px; left:20%; right:20%; height:2px; background:linear-gradient(90deg,transparent,var(--rr-vermelho),var(--rr-amarelo),transparent); z-index:0; }
@media(max-width:768px){ .landing-passos-grade::before{ display:none; } }
.passo-card { padding:40px 28px; border-radius:var(--rr-radius-lg); background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); text-align:center; position:relative; z-index:1; transition:var(--rr-transition); }
.passo-card:hover { background:rgba(239,68,68,.06); border-color:rgba(239,68,68,.2); transform:translateY(-8px); box-shadow:0 20px 40px rgba(0,0,0,.3); }
.passo-numero { font-family:"League Spartan Black",sans-serif; font-size:4rem; font-weight:900; background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; line-height:1; margin-bottom:8px; }
.passo-card h3 { color:var(--rr-branco); font-family:"League Spartan Black",sans-serif; font-size:1.1rem; margin-bottom:10px; }
.passo-card p { color:var(--rr-texto-muted); font-size:.88rem; line-height:1.5; }

/* ---- Galeria antiga → Novo ---- */
.galeria-grade { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; perspective:1000px; }
@media(max-width:1024px){ .galeria-grade{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .galeria-grade{ grid-template-columns:1fr; } }
.galeria-item { position:relative; aspect-ratio:3/4; border-radius:14px; overflow:hidden; cursor:pointer; transition:transform .6s cubic-bezier(.16,1,.3,1); transform-style:preserve-3d; }
.galeria-item:hover { transform:scale(1.05) rotateY(-5deg); z-index:10; }
.galeria-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.galeria-item:hover .galeria-thumb img{ transform:scale(1.08); }
.galeria-formato { display:inline-block; padding:3px 8px; border-radius:4px; background:var(--rr-vermelho); color:white; font-size:.65rem; font-weight:700; margin-bottom:6px; }
.btn-usar-modelo { padding:8px 16px; border-radius:8px; background:rgba(239,68,68,.15); color:#f87171; border:1px solid rgba(239,68,68,.3); font-weight:700; font-size:.75rem; cursor:pointer; transition:var(--rr-transition); font-family:inherit; }
.btn-usar-modelo:hover { background:var(--rr-vermelho); color:white; }

/* ---- Produto antigo → Novo ---- */
.gondola-visual { display:flex; flex-direction:column; gap:16px; }
.gondola-prateleira { display:flex; gap:12px; flex-wrap:wrap; }
.cartaz-gondola { position:relative; border-radius:14px; overflow:hidden; aspect-ratio:3/4; min-width:120px; transition:transform .4s; }
.cartaz-gondola:hover { transform:scale(1.05); }
.cartaz-gondola img { width:100%; height:100%; object-fit:cover; }
.formato-tag { position:absolute; bottom:8px; right:8px; padding:3px 8px; border-radius:4px; background:rgba(239,68,68,.8); color:white; font-size:.65rem; font-weight:700; }

/* ---- Pessoas antigo → Novo ---- */
.landing-personas-grade { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:1000px; margin:50px auto 0; }
@media(max-width:768px){ .landing-personas-grid, .landing-personas-grade{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .landing-personas-grade{ grid-template-columns:1fr; } }
.persona-card { padding:36px 24px; border-radius:var(--rr-radius-lg); background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); text-align:center; transition:var(--rr-transition); position:relative; overflow:hidden; }
.persona-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--rr-vermelho),var(--rr-amarelo)); transform:scaleX(0); transition:transform .4s; }
.persona-card:hover { transform:translateY(-8px); border-color:rgba(239,68,68,.2); background:rgba(239,68,68,.04); }
.persona-card:hover::before { transform:scaleX(1); }
.persona-icone { width:56px; height:56px; border-radius:14px; background:linear-gradient(135deg,rgba(239,68,68,.15),rgba(251,191,36,.1)); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin:0 auto 16px; transition:var(--rr-transition); }
.persona-card:hover .persona-icone { background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo)); transform:scale(1.1); }
.persona-card h3 { color:var(--rr-branco); font-family:"League Spartan Black",sans-serif; font-size:.95rem; margin-bottom:8px; }
.persona-card p { color:var(--rr-texto-muted); font-size:.82rem; line-height:1.5; }

/* ---- Diferencial antigo → Novo ---- */
.diferencial-conteudo { display:flex; gap:40px; align-items:center; max-width:900px; margin:0 auto; }
@media(max-width:768px){ .diferencial-conteudo{ flex-direction:column; } }
.diferencial-texto p { color:var(--rr-texto-muted); line-height:1.6; margin-bottom:16px; }
.diferencial-lista { list-style:none; display:flex; flex-direction:column; gap:8px; }
.diferencial-lista li { display:flex; align-items:center; gap:8px; color:var(--rr-texto); font-size:.9rem; }
.check { color:var(--rr-amarelo); font-size:.75rem; }
.mockup-interface-simples { width:100%; height:300px; border-radius:var(--rr-radius-lg); background:linear-gradient(145deg,#1a1a2e,#0c0c1a); border:1px solid rgba(255,255,255,.08); box-shadow:0 20px 60px rgba(0,0,0,.4); }

/* ---- Comparacao antigo -> Novo ---- */
.comparacao-tabela { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:700px; margin:40px auto 0; }
@media(max-width:600px){ .comparacao-tabela{ grid-template-columns:1fr; } }
.coluna-pronto { padding:36px; border-radius:var(--rr-radius-lg); background:linear-gradient(135deg,rgba(239,68,68,.08),rgba(251,191,36,.05)); border:1px solid rgba(239,68,68,.25); }
.coluna-pronto h3 { color:var(--rr-amarelo); font-family:"League Spartan Black",sans-serif; margin-bottom:16px; }
.coluna-manual { padding:36px; border-radius:var(--rr-radius-lg); background:rgba(239,68,68,.06); border:1px solid rgba(239,68,68,.15); }
.coluna-manual h3 { color:#f87171; font-family:"League Spartan Black",sans-serif; margin-bottom:16px; }
.comparacao-tabela ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.comparacao-tabela li { color:var(--rr-texto-muted); font-size:.9rem; padding:4px 0; }

/* ---- Depoimentos ---- */
.depoimentos-grade { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:900px; margin:50px auto 0; }
@media(max-width:768px){ .depoimentos-grade{ grid-template-columns:1fr; } }
.depoimento-card { padding:36px; border-radius:var(--rr-radius-lg); background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); transition:var(--rr-transition); }
.depoimento-card:hover { border-color:rgba(239,68,68,.2); transform:translateY(-4px); }
.depoimento-placeholder { text-align:center; }
.placeholder-icone { font-size:2rem; }
.depoimento-placeholder p { color:var(--rr-texto-muted); font-size:.88rem; margin:12px 0; }
.depoimento-placeholder small { color:var(--rr-texto-muted); font-size:.78rem; }

/* ---- Planos antigo → Novo ---- */
.planos-grade { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:650px; margin:50px auto 0; }
.plano-card.recomendado { border-color:var(--rr-vermelho); background:linear-gradient(180deg,rgba(239,68,68,.08),rgba(255,255,255,.03)); position:relative; }
.plano-card.recomendado::before { content:"MELHOR ECONOMIA"; position:absolute; top:-12px; left:50%; transform:translateX(-50%); padding:5px 16px; border-radius:100px; background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo)); color:white; font-size:.7rem; font-weight:800; white-space:nowrap; }
.plano-badge { display:none; }
.plano-preco .moeda { font-size:.85rem; color:var(--rr-texto-muted); }
.plano-preco .valor { font-family:"League Spartan Black",sans-serif; font-size:3.2rem; font-weight:900; color:var(--rr-branco); line-height:1; }
.plano-preco .periodo { color:var(--rr-texto-muted); font-size:.85rem; margin-left:4px; }
.plano-recursos { list-style:none; margin:0 0 24px; text-align:left; }
.plano-recursos li { padding:6px 0; color:var(--rr-texto); font-size:.84rem; }
.plano-recursos li .check { color:var(--rr-amarelo); font-size:.75rem; margin-right:4px; }
.btn-plano { width:100%; padding:14px; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); color:var(--rr-branco); font-weight:700; font-size:.9rem; cursor:pointer; transition:var(--rr-transition); font-family:inherit; }
.btn-plano:hover { background:var(--rr-vermelho); border-color:var(--rr-vermelho); }
.btn-plano-destaque { background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja)); border-color:transparent; box-shadow:0 4px 20px var(--rr-glow-vermelho); }
.btn-plano-destaque:hover { box-shadow:0 8px 40px var(--rr-glow-vermelho); }
.planos-mensagem { text-align:center; color:var(--rr-texto-muted); font-size:.88rem; margin-top:20px; }

/* ---- CTA ---- */
.landing-cta-final { padding:120px 40px; text-align:center; background:var(--rr-preto); position:relative; overflow:hidden; }
.landing-cta-final::before { content:""; position:absolute; top:30%; left:30%; width:700px; height:700px; background:radial-gradient(circle,rgba(239,68,68,.2),rgba(251,191,36,.1),transparent 60%); border-radius:50%; animation:heroGlow 5s ease-in-out infinite; pointer-events:none; filter:blur(60px); }
.landing-cta-final h2 { font-family:"League Spartan Black",sans-serif; font-size:clamp(2.5rem,5vw,3.8rem); color:var(--rr-branco); line-height:1.1; letter-spacing:-1px; margin-bottom:20px; position:relative; z-index:2; }
.landing-cta-final h2 .highlight { background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.landing-cta-final p { color:var(--rr-texto-muted); font-size:1.1rem; max-width:500px; margin:0 auto 36px; line-height:1.7; position:relative; z-index:2; }
.btn-cta-final { padding:20px 52px; border-radius:16px; background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-laranja)); color:white; border:none; font-weight:800; font-size:1.1rem; font-family:inherit; cursor:pointer; transition:var(--rr-transition); box-shadow:0 4px 30px var(--rr-glow-vermelho), 0 0 60px rgba(239,68,68,.1); letter-spacing:.5px; position:relative; z-index:2; }
.btn-cta-final:hover { transform:translateY(-3px); box-shadow:0 8px 40px var(--rr-glow-vermelho), 0 0 80px rgba(239,68,68,.15); }

/* ---- Rodapé ---- */
.landing-rodape-grid { display:grid; grid-template-columns:1fr 2fr 1fr; gap:32px; max-width:1200px; margin:0 auto 32px; }
@media(max-width:768px){ .landing-rodape-grid{ grid-template-columns:1fr; text-align:center; } }
.landing-rodape-marca { display:flex; flex-direction:column; gap:6px; }
.landing-logo-rodape { height:24px; width:auto; margin-bottom:4px; }
.landing-rodape-links { display:flex; flex-direction:column; gap:8px; }
.landing-rodape-links a { color:var(--rr-texto-muted); text-decoration:none; font-size:.85rem; }
.landing-rodape-links a:hover { color:var(--rr-branco); }
.landing-rodape-contato p { color:var(--rr-texto-muted); font-size:.82rem; margin-bottom:3px; }
.landing-rodape-copy { text-align:center; padding-top:24px; border-top:1px solid rgba(255,255,255,.06); color:var(--rr-texto-muted); font-size:.78rem; }

/* ---- Marquee SECTION ---- */
.landing-impact { padding:40px 0; background:var(--rr-preto-medio); border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04); overflow:hidden; position:relative; }

/* ---------- SEÇÃO APRESENTAÇÃO (imagem real do trabalho) ---------- */
.landing-apresentacao{padding:56px 0 18px}
.apresentacao-moldura{margin:0 auto;max-width:1180px;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1)}
.apresentacao-moldura img{display:block;width:100%;height:auto}
@media(max-width:720px){.landing-apresentacao{padding:36px 0 8px}.apresentacao-moldura{border-radius:16px}}
.marquee-track { display:flex; gap:60px; animation:marqueeScroll 30s linear infinite; white-space:nowrap; }
.marquee-item { display:inline-flex; align-items:center; gap:12px; color:var(--rr-texto-muted); font-size:.85rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.marquee-item .marque-num { font-family:"League Spartan Black",sans-serif; font-size:1.8rem; font-weight:900; background:linear-gradient(135deg,var(--rr-vermelho),var(--rr-amarelo)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* ---- Loading ---- */
.landing-loading { display:none; }

/* ---- Classes antigas sobrescritas ---- */
.landing-showcase, .landing-showcase-fundo, .landing-balao, .landing-indicador-animado { display:none !important; }

/* ---- Resultado / Gôndola ---- */
.landing-resultado { padding:100px 40px; background:var(--rr-preto-medio); }
.gondola-visual { display:flex; flex-direction:column; gap:16px; }
.gondola-prateleira { display:flex; gap:12px; flex-wrap:wrap; }
.cartaz-gondola { position:relative; border-radius:14px; overflow:hidden; aspect-ratio:3/4; min-width:120px; transition:transform .4s; }
.cartaz-gondola:hover { transform:scale(1.05); }
.cartaz-gondola img { width:100%; height:100%; object-fit:cover; }
.formato-tag { position:absolute; bottom:8px; right:8px; padding:3px 8px; border-radius:4px; background:rgba(239,68,68,.8); color:white; font-size:.65rem; font-weight:700; }

/* ---- Marquee improvements ---- */
.marquee-track { will-change:transform; }

/* ---- Floating features fallback ---- */
.floating-feature { position:static; margin:8px 0; animation:none; }

/* ---- Verificação visual ---- */
@media(max-width:768px){
  .landing-hero-texto h1 { letter-spacing:-1px; }
  .hero-btn { padding:14px 24px; font-size:.9rem; }
  .hero-badge { font-size:.7rem; padding:6px 14px; }
}

/* ============================================================
   OVERRIDE FINAL v2 — Seletores específicos com .landing-modelo
   ============================================================ */

/* ---- TOPO ---- */
.landing-modelo .landing-topo {
  background: rgba(5,5,5,.9) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 0 !important;
  padding: 12px 28px !important;
  width: 100% !important;
  min-height: auto !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
}
.landing-modelo .landing-topo img.landing-logo {
  width: auto !important;
  height: 30px !important;
  filter: none !important;
}
.landing-modelo .landing-topo nav {
  gap: 24px !important;
  display: flex !important;
}
.landing-modelo .landing-topo nav a {
  color: var(--rr-texto-muted) !important;
  font-size: .82rem !important;
  padding: 8px 12px !important;
}
.landing-modelo .landing-topo nav a:hover { color: var(--rr-branco) !important; }
.landing-modelo .landing-topo nav button,
.landing-modelo .landing-topo .landing-entrar,
.landing-modelo .landing-topo .landing-criar {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: var(--rr-texto) !important;
  padding: 7px 18px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-family: inherit !important;
}
.landing-modelo .landing-topo .landing-criar {
  background: linear-gradient(135deg, var(--rr-vermelho), var(--rr-laranja)) !important;
  border-color: transparent !important;
  color: white !important;
  box-shadow: 0 4px 20px var(--rr-glow-vermelho) !important;
}
.landing-modelo .landing-whatsapp-link {
  color: #fbbf24 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 1px solid rgba(251,191,36,.3) !important;
  border-radius: 8px !important;
  background: rgba(251,191,36,.08) !important;
  padding: 7px 14px !important;
}

/* ---- HERO ---- */
.landing-modelo .landing-hero {
  width: 100% !important;
  min-height: 100vh !important;
  padding: 100px 40px 60px !important;
  background: var(--rr-preto) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  position: relative !important;
}
.landing-modelo .landing-hero-content {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  max-width: 1200px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
}
.landing-modelo .landing-hero h1,
.landing-modelo .hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem) !important;
  letter-spacing: -2px !important;
  line-height: 1 !important;
  color: var(--rr-branco) !important;
  font-weight: 900 !important;
  font-family: "League Spartan Black", sans-serif !important;
  margin: 0 !important;
  max-width: none !important;
}
.landing-modelo .landing-hero-texto > p,
.landing-modelo .hero-subtitle {
  color: var(--rr-texto-muted) !important;
  font-size: clamp(1rem, 2vw, 1.15rem) !important;
  line-height: 1.7 !important;
  max-width: 480px !important;
  margin-bottom: 0 !important;
}
.landing-modelo .landing-hero-acoes,
.landing-modelo .hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 0 !important;
}
.landing-modelo .landing-hero-acoes button,
.landing-modelo .btn-hero-principal {
  background: linear-gradient(135deg, var(--rr-vermelho), var(--rr-laranja)) !important;
  color: white !important;
  border-color: transparent !important;
  box-shadow: 0 4px 30px var(--rr-glow-vermelho) !important;
  padding: 16px 36px !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  font-family: inherit !important;
  cursor: pointer !important;
}
.landing-modelo .landing-hero-acoes button:hover,
.landing-modelo .btn-hero-principal:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 40px var(--rr-glow-vermelho) !important;
}
.landing-modelo .landing-hero-acoes .secundario,
.landing-modelo .secundario {
  background: rgba(255,255,255,.05) !important;
  color: var(--rr-branco) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: none !important;
  padding: 16px 36px !important;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  backdrop-filter: blur(10px) !important;
}
.landing-modelo .landing-hero-acoes .secundario:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.2) !important;
}

/* ---- ESCONDER ELEMENTOS ANTIGOS ---- */
.landing-modelo .landing-vitrine,
.landing-modelo .landing-showcase,
.landing-modelo .landing-showcase-fundo,
.landing-modelo .landing-balao,
.landing-modelo .landing-indicador-animado {
  display: none !important;
}

/* ---- RODAPÉ ---- */
.landing-modelo .landing-rodape {
  background: var(--rr-preto) !important;
  border-top: 1px solid rgba(255,255,255,.04) !important;
  padding: 50px 40px 30px !important;
}

/* ---- FUNDO ESCURO FORÇADO ---- */
body.auth-pendente .landing-publica {
  background: var(--rr-preto) !important;
}
.landing-publica {
  background: var(--rr-preto) !important;
  background-color: var(--rr-preto) !important;
  background-image: none !important;
}

/* ---- MOBILE ---- */
@media(max-width:768px){
  .landing-modelo .landing-topo {
    padding: 10px 16px !important;
    position: fixed !important;
  }
  .landing-modelo .landing-topo nav { display: none !important; }
  .landing-modelo .landing-hero {
    padding: 80px 20px 40px !important;
    min-height: auto !important;
  }
  .landing-modelo .landing-hero-content {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    text-align: center !important;
  }
  .landing-modelo .hero-left { align-items: center !important; }
  .landing-modelo .hero-subtitle { margin: 0 auto !important; }
  .landing-modelo .hero-actions { justify-content: center !important; }
  .landing-modelo .landing-hero h1,
  .landing-modelo .hero-title {
    font-size: clamp(2rem, 8vw, 3.5rem) !important;
    letter-spacing: -1px !important;
  }
  .landing-modelo .landing-topo img.landing-logo { height: 24px !important; }
  .landing-modelo .landing-whatsapp-link { display: none !important; }
}
@media(max-width:560px){
  .landing-modelo .landing-topo {
    width: calc(100% - 24px) !important;
    background: rgba(5,5,5,.9) !important;
    padding: 6px 14px !important;
  }
  .landing-modelo .landing-hero {
    width: calc(100% - 28px) !important;
    padding: 35px 0 64px !important;
  }
  .landing-modelo .landing-hero h1 {
    margin-top: 12px !important;
    font-size: 42px !important;
  }
  .landing-modelo .landing-hero-texto > p { font-size: 16px !important; }
  .landing-modelo .landing-hero-acoes { display: grid !important; }
  .landing-modelo .landing-hero-acoes button { width: 100% !important; }
}

/* ---- GARANTIR TEXTOS VISÍVEIS EM TODA A LANDING ---- */
.landing-modelo {
  color-scheme: dark !important;
}
.landing-modelo,
.landing-modelo h1,
.landing-modelo h2,
.landing-modelo h3,
.landing-modelo h4,
.landing-modelo h5,
.landing-modelo h6,
.landing-modelo p,
.landing-modelo span,
.landing-modelo strong,
.landing-modelo a,
.landing-modelo li,
.landing-modelo label,
.landing-modelo button,
.landing-modelo small,
.landing-modelo em,
.landing-modelo b,
.landing-modelo i {
  color-scheme: dark !important;
}

/* ---- DETAIL BOXES DE TEXTO ---- */
.landing-modelo .landing-mensagem-problema,
.landing-modelo .landing-mensagem-resultado,
.landing-modelo .landing-titulo-secao span,
.landing-modelo .landing-titulo-secao h2 {
  color: var(--rr-texto-muted) !important;
}
.landing-modelo .landing-titulo-secao h2 {
  color: var(--rr-branco) !important;
}

/* ==========================================
   FIX ULTIMO - FORÇA TUDO VISÍVEL
   ========================================== */
.landing-modelo,
.landing-modelo * {
  color-scheme: dark !important;
}

.landing-modelo .landing-titulo-secao span,
.landing-modelo .landing-titulo-secao h2,
.landing-modelo .landing-mensagem-problema,
.landing-modelo .landing-mensagem-resultado,
.landing-modelo .landing-titulo-secao,
.landing-modelo .landing-titulo-secao * {
  color: var(--rr-branco) !important;
}

.landing-modelo .landing-problema,
.landing-modelo .landing-como-funciona,
.landing-modelo .landing-para-quem,
.landing-modelo .landing-diferencial,
.landing-modelo .landing-comparacao,
.landing-modelo .landing-galeria,
.landing-modelo .landing-planos,
.landing-modelo .landing-depoimentos,
.landing-modelo .landing-faq,
.landing-modelo .landing-cta-final,
.landing-modelo .landing-impact,
.landing-modelo .landing-produto,
.landing-modelo .landing-resultado,
.landing-modelo .landing-rodape,
.landing-modelo .landing-chamada-final {
  background: var(--rr-preto) !important;
  background-color: var(--rr-preto) !important;
  background-image: none !important;
  color: var(--rr-texto) !important;
}

.landing-modelo .landing-como-funciona,
.landing-modelo .landing-resultado,
.landing-modelo .landing-chamada-final {
  background: var(--rr-preto) !important;
}

.landing-modelo h1,
.landing-modelo h2,
.landing-modelo h3,
.landing-modelo h4,
.landing-modelo h5,
.landing-modelo h6,
.landing-modelo p,
.landing-modelo span,
.landing-modelo li,
.landing-modelo a,
.landing-modelo button,
.landing-modelo small,
.landing-modelo label {
  color: var(--rr-branco) !important;
}

.landing-modelo .landing-rodape,
.landing-modelo .landing-rodape * {
  color: var(--rr-texto-muted) !important;
}
.landing-modelo .landing-rodape h4,
.landing-modelo .landing-rodape strong {
  color: var(--rr-branco) !important;
}

.landing-modelo .landing-whatsapp-link {
  color: #fbbf24 !important;
}

/* ============================================================
   FIX2 — CARDS CLAROS × FUNDO ESCURO (+ header claro)
   O landing-premium.css carrega DEPOIS deste arquivo e devolve os
   cards ao tema claro (#fbfcfb/#fff), mas o FIX acima força o texto
   em branco → branco sobre branco. Forçamos os cards de volta ao
   escuro e tratamos os pontos que a primeira correção não pegou.
   ============================================================ */

/* Cards das seções → tema escuro (texto branco continua visível) */
.landing-modelo .passo-card,
.landing-modelo .persona-card,
.landing-modelo .plano-card,
.landing-modelo .faq-item,
.landing-modelo .coluna-manual {
  background: rgba(255, 255, 255, .04) !important;
  border-color: rgba(255, 255, 255, .10) !important;
}
.landing-modelo .coluna-manual {
  background: rgba(239, 68, 66, .07) !important;
  border-color: rgba(239, 68, 66, .18) !important;
}
.landing-modelo .plano-card.recomendado {
  background: linear-gradient(180deg, rgba(239, 68, 66, .10), rgba(255, 255, 255, .04)) !important;
  border-color: rgba(239, 68, 66, .50) !important;
}
.landing-modelo .faq-item[open] {
  background: rgba(239, 68, 66, .06) !important;
  border-color: rgba(239, 68, 66, .30) !important;
}

/* <summary> não entra na lista "h1..label" do FIX principal */
.landing-modelo .faq-item summary { color: var(--rr-branco) !important; }

/* Seção Apresentação ficou de fora da lista de seções escuras */
.landing-modelo .landing-apresentacao { background: var(--rr-preto) !important; }

/* O topo é claro por decisão do premium: WhatsApp em âmbar fica ilegível */
.landing-modelo .landing-topo .landing-whatsapp-link {
  color: #0f7b47 !important;
  background: rgba(15, 123, 71, .10) !important;
  border-color: rgba(15, 123, 71, .35) !important;
}