/* ============================================================
   CYBER / RETROFUTURISTA — Design System Compartilhado
   Academia do Ruby Landing Pages
   ============================================================ */

:root {
  --neon: #00F5A0;
  --neon-teal: #27e9b5;
  --neon-glow: rgba(0, 245, 160, 0.15);
  --ruby: #cc342d;
  --ruby-glow: rgba(204, 52, 45, 0.15);
  --anthropic: #f25f22;
  --anthropic-glow: rgba(242, 95, 34, 0.15);
  --dark: #0b111a;
  --dark-surface: #080d14;
  --dark-card: #162936;
}

body {
  font-family: "Inter", sans-serif;
  scroll-behavior: smooth;
  background-color: var(--dark);
  color: #ffffff;
}

/* Scrollbar Cyber */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: #222; border-radius: 0; }
::-webkit-scrollbar-thumb:hover { background: var(--neon); }

/* Fontes */
.font-display { font-family: "Space Grotesk", sans-serif; }
.font-mono-cyber { font-family: "Fira Code", monospace; }

/* Glassmorphism Sci-Fi */
.cyber-glass {
  background: rgba(255, 255, 255, 0.015);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.cyber-glass:hover {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(0, 245, 160, 0.3);
}
.cyber-glass-ruby:hover {
  border-color: rgba(204, 52, 45, 0.4);
}

/* Miras HUD nos cantos */
.crosshair-corners::before,
.crosshair-corners::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  pointer-events: none;
}
.crosshair-corners::before {
  top: -1px;
  left: -1px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.crosshair-corners::after {
  bottom: -1px;
  right: -1px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}

/* Botão Cyber — brand green */
.btn-cyber {
  background: linear-gradient(135deg, #00c47e 0%, #00F5A0 100%);
  box-shadow: 0 0 20px rgba(0, 245, 160, 0.2),
              inset 0 1px 1px rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  position: relative;
  overflow: hidden;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
.btn-cyber::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: skewX(-20deg);
  transition: left 0.5s ease;
}
.btn-cyber:hover {
  box-shadow: 0 0 40px rgba(0, 245, 160, 0.4),
              inset 0 1px 1px rgba(255, 255, 255, 0.2);
}
.btn-cyber:hover::after { left: 200%; }

/* Botão Ruby — variação para Rollback */
.btn-ruby {
  background: linear-gradient(135deg, #991b1b 0%, #cc342d 100%);
  box-shadow: 0 0 20px rgba(204, 52, 45, 0.2),
              inset 0 1px 1px rgba(255, 255, 255, 0.3);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.btn-ruby::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: skewX(-20deg);
  transition: left 0.5s ease;
}
.btn-ruby:hover { box-shadow: 0 0 40px rgba(204, 52, 45, 0.4); }
.btn-ruby:hover::after { left: 200%; }

/* Botão Anthropic — variação para Claude Code */
.btn-anthropic {
  background: linear-gradient(135deg, #d94b14 0%, #f25f22 100%);
  box-shadow: 0 0 20px rgba(242, 95, 34, 0.2),
              inset 0 1px 1px rgba(255, 255, 255, 0.3);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
.btn-anthropic::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: skewX(-20deg);
  transition: left 0.5s ease;
}
.btn-anthropic:hover {
  box-shadow: 0 0 40px rgba(242, 95, 34, 0.4);
  transform: translateY(-1px);
}
.btn-anthropic:hover::after { left: 200%; }

.cyber-glass-anthropic:hover {
  border-color: rgba(242, 95, 34, 0.4);
}

.text-anthropic {
  color: #f25f22;
}

.text-hud-anthropic {
  color: var(--anthropic);
  text-shadow: 0 0 8px rgba(242, 95, 34, 0.5);
}

/* Texto HUD brand green */
.text-hud {
  color: #00F5A0;
  text-shadow: 0 0 8px rgba(0, 245, 160, 0.5);
}
.text-hud-ruby {
  color: var(--ruby);
  text-shadow: 0 0 8px rgba(204, 52, 45, 0.5);
}

/* Gradiente de texto brand green */
.text-gradient {
  background: linear-gradient(to right, #00F5A0, #27e9b5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Card premium arredondado */
.glass-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.5rem;
  position: relative;
  transition: border-color 0.3s ease, background 0.3s ease;
}

/* Lift hover para glass-card */
.glow-hover {
  transition: all 0.4s ease;
}
.glow-hover:hover {
  box-shadow: 0 0 40px rgba(0, 245, 160, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  border-color: rgba(0, 245, 160, 0.3);
  transform: translateY(-2px);
}

/* Textura micro-grid */
.bg-grid {
  background-size: 40px 40px;
  background-image:
    linear-gradient(to right,  rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
}

/* Scanlines CRT */
.scanlines {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 50%,
    rgba(0, 0, 0, 0.2) 50%,
    rgba(0, 0, 0, 0.2)
  );
  background-size: 100% 4px;
}

/* Header cyber backdrop */
.header-cyber {
  background: rgba(11, 17, 26, 0);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  border-bottom: 1px solid transparent;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.header-cyber.header-scrolled {
  background: rgba(11, 17, 26, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}

.ruby-gradient {
  background: linear-gradient(135deg, #ff1a56 0%, #e11d48 40%, #be123c 70%, #881337 100%);
  box-shadow:
    0 0 30px rgba(255, 26, 86, 0.4),
    0 0 60px rgba(225, 29, 72, 0.2),
    0 4px 20px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
}

.ruby-gradient:hover {
  background: linear-gradient(135deg, #ff2d65 0%, #f02554 40%, #d91449 70%, #9f1239 100%);
  box-shadow:
    0 0 50px rgba(255, 26, 86, 0.6),
    0 0 80px rgba(225, 29, 72, 0.3),
    0 6px 30px rgba(0, 0, 0, 0.4);
  transform: scale(1.05) translateY(-2px);
}

.text-ruby {
  color: #e0115f;
}

.bg-mesh-anthropic {
  background-color: #060b12;
  background-image: radial-gradient(at 50% 0%,
      rgba(242, 95, 34, 0.08) 0,
      transparent 60%);
}

.bg-mesh {
  background-color: #0b0e14;
  background-image: radial-gradient(at 50% 0%,
      rgba(224, 17, 95, 0.1) 0,
      transparent 50%);
}

.step-card {
  background: rgba(17, 20, 27, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.modal-overlay {
  background-color: rgba(9, 9, 11, 0.95);
  backdrop-filter: blur(4px);
}

/* Carrossel de logos — slides com largura automática (CSS, nunca inline) */
.logos-swiper .swiper-wrapper {
  width: max-content;
  animation: logos-marquee 30s linear infinite;
  /* sobrescreve transições do Swiper para não interferir */
  transition-duration: 0ms !important;
  transition-timing-function: linear !important;
}

.logos-swiper .swiper-wrapper:hover {
  animation-play-state: paused;
}

@keyframes logos-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.logos-swiper .swiper-slide {
  width: auto;
}

.logo-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.2);
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: -0.02em;
  white-space: nowrap;
  padding: 0 0.5rem;
  transition: color 0.4s ease;
  cursor: default;
  user-select: none;
}
.logo-slide span {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: "Fira Code", monospace;
  opacity: 0.5;
  transition: opacity 0.4s ease;
}
.logo-slide:hover span { opacity: 1; }
.logo-slide svg { fill: currentColor; transition: fill 0.4s ease; }

/* img logos — branco opaco por padrão, cor da marca no hover */
.logo-slide img {
  height: 24px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.25;
  transition: filter 0.4s ease, opacity 0.4s ease;
}

/* Logos com cor de marca visível no hover */
.logo-airbnb:hover    img,
.logo-shopify:hover   img,
.logo-basecamp:hover  img,
.logo-kickstarter:hover img,
.logo-locaweb:hover   img,
.logo-twitch:hover    img { filter: none; opacity: 1; }

/* Logos com fill escuro (monochrome) — ficam brancos no hover */
.logo-github:hover    img,
.logo-zendesk:hover   img,
.logo-pipefy:hover    img { filter: brightness(0) invert(1); opacity: 0.9; }

form#lead_form {
  .hyk-field {
    abbr:where([title]) {
      text-decoration: none;
    }

    .kt-form-description {
      color: var(--color-zinc-600);
      text-align: center;
    }
  }
}

/* Reveal Animation — fade-in + slide-up para seções */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}
