/* ── Tokens de movimento (do design system RTS GO) ───────────────── */
:root {
  --ease-apple: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-expo:  cubic-bezier(0.19, 1, 0.22, 1);
  --orange: #B4180C;
  --gold:   #E13D30;
  --red:    #5A0600;
}

html, body { margin:0; padding:0; background:#070707; color:#fff; }
  * { box-sizing:border-box; }
  ::-webkit-scrollbar { width:9px; height:9px; }
  ::-webkit-scrollbar-track { background:#0b0b0b; }
  ::-webkit-scrollbar-thumb { background:#262626; border-radius:5px; }
  input[type=range].rng { -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:4px; background:#2a2222; outline:none; }
  input[type=range].rng::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%; background:#E13D30; border:3px solid #1a1010; box-shadow:0 0 0 2px rgba(225,61,48,0.4), 0 0 18px rgba(225,61,48,0.6); cursor:pointer; }
  input[type=range].rng::-moz-range-thumb { width:22px; height:22px; border-radius:50%; background:#E13D30; border:3px solid #1a1010; cursor:pointer; }
  .ph::placeholder { color:rgba(255,255,255,0.25); }

/* ── Keyframes ───────────────────────────────────────────────────── */
/* riseIn/popIn agora seguem o reveal cinematográfico do design system
   (translateY + scale + blur, ease-apple). */
@keyframes riseIn { from { opacity:0; transform:translateY(2.4rem) scale(0.985); filter:blur(12px); } to { opacity:1; transform:none; filter:none; } }
@keyframes popIn  { from { opacity:0; transform:translateY(1.3rem) scale(0.94); filter:blur(6px); } to { opacity:1; transform:none; filter:none; } }
@keyframes fadeIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes spin   { to { transform:rotate(360deg); } }
@keyframes floatBg { 0%,100% { transform:translate(-50%,-50%) scale(1); } 50% { transform:translate(-50%,-52%) scale(1.08); } }

/* Acentos da marca (verbatim do design system) */
@keyframes fire-pulse   { 0%,100% { opacity:0.5; transform:scale(1); } 50% { opacity:1; transform:scale(1.1); } }
@keyframes shimmer-fire { 0% { background-position:-200% center; } 100% { background-position:200% center; } }
@keyframes fade-up      { from { opacity:0; transform:translateY(1rem); } to { opacity:1; transform:translateY(0); } }
@keyframes float        { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes pulse-ring   { 0% { transform:scale(0.6); opacity:0.7; } 100% { transform:scale(2.2); opacity:0; } }
@keyframes scan-line    { 0% { transform:translateY(-100%); opacity:0; } 10% { opacity:1; } 90% { opacity:1; } 100% { transform:translateY(800%); opacity:0; } }
@keyframes slide-in-right { from { opacity:0; transform:translateX(2rem); } to { opacity:1; transform:translateX(0); } }
@keyframes border-glow-fire { 0%,100% { box-shadow:0 0 0 0 rgba(180,24,12,0); } 50% { box-shadow:0 0 0 4px rgba(180,24,12,0.18), 0 0 28px rgba(180,24,12,0.12); } }

/* ── Utilidades de motion ────────────────────────────────────────── */
/* Texto com shimmer de fogo (mesma paleta do site). */
.shimmer-text {
  background:linear-gradient(90deg, #B4180C 0%, #5A0600 30%, #E13D30 55%, #B4180C 100%);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:shimmer-fire 4s linear infinite;
}
/* Glow pulsante na borda (CTA, card em destaque). */
.glow-fire { animation:border-glow-fire 3s ease-in-out infinite; }
/* Ponto pulsante. */
.fire-dot { animation:fire-pulse 3s ease-in-out infinite; }
/* Anel de pulso (radar) — usar em elemento absoluto. */
.pulse-ring { position:absolute; border-radius:50%; border:1px solid rgba(225,61,48,0.4); animation:pulse-ring 3.2s var(--ease-expo) infinite; pointer-events:none; }

/* Reveal escalonado: cada filho direto entra em sequência (ease-apple). */
.stagger > * { opacity:0; animation:riseIn 1s var(--ease-apple) both; }
.stagger > *:nth-child(1)  { animation-delay:0.10s; }
.stagger > *:nth-child(2)  { animation-delay:0.17s; }
.stagger > *:nth-child(3)  { animation-delay:0.24s; }
.stagger > *:nth-child(4)  { animation-delay:0.31s; }
.stagger > *:nth-child(5)  { animation-delay:0.38s; }
.stagger > *:nth-child(6)  { animation-delay:0.45s; }
.stagger > *:nth-child(7)  { animation-delay:0.52s; }
.stagger > *:nth-child(8)  { animation-delay:0.59s; }
.stagger > *:nth-child(9)  { animation-delay:0.66s; }
.stagger > *:nth-child(10) { animation-delay:0.73s; }
.stagger > *:nth-child(11) { animation-delay:0.80s; }
.stagger > *:nth-child(12) { animation-delay:0.87s; }

/* ── Apresentação (full-screen, alinhada à esquerda) ─────────────── */
.pres-stage { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; gap:0; padding:74px clamp(44px,7vw,120px) 104px; overflow:hidden; animation:fadeIn 0.45s var(--ease-apple) both; }
.pres-kicker { display:flex; align-items:center; gap:11px; font-size:clamp(11px,1vw,13px); letter-spacing:0.3em; text-transform:uppercase; color:#E13D30; font-weight:700; margin-bottom:16px; }
.pres-kicker::before { content:''; width:8px; height:8px; border-radius:50%; background:#E13D30; box-shadow:0 0 12px rgba(225,61,48,0.7); animation:fire-pulse 3s ease-in-out infinite; }
.pres-h { font-family:'Saira',sans-serif; font-weight:900; text-transform:uppercase; letter-spacing:-0.01em; line-height:0.98; margin:0; }
.pres-rule { width:64px; height:4px; background:linear-gradient(90deg,#E8B23A,#E13D30); border-radius:4px; }
.pres-stat { font-family:'Saira',sans-serif; font-weight:800; line-height:1; }
.pres-lab { font-size:clamp(10px,0.85vw,12px); letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.42); margin-top:9px; font-weight:600; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}
