/* Animação cyberpunk para botão dinâmico CTA */
.cyber-dynamic-btn {
  box-shadow: 0 0 16px 2px #00f3ff, 0 0 32px 4px #7c3aed44;
  border: 2px solid #7c3aed;
  background: linear-gradient(90deg, #1a0036 0%, #0a0a18 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
  transition: background 0.5s, color 0.5s, box-shadow 0.5s;
}
.cyber-dynamic-btn-text {
  text-shadow: 0 0 8px #fff, 0 0 16px #00f3ff;
  transition: color 0.5s, text-shadow 0.5s;
}
.cyber-lightning {
  filter: drop-shadow(0 0 8px #fff200) drop-shadow(0 0 16px #fff200);
  pointer-events: none;
}
@keyframes cyber-lightning-flash {
  0%,
  100% {
    opacity: 0;
  }
  10%,
  90% {
    opacity: 1;
  }
  20%,
  80% {
    opacity: 0.5;
  }
}
.cyber-lightning[style*="opacity: 1"] {
  animation: cyber-lightning-flash 0.6s linear infinite;
}
/* Animações do animate.css (fadeIn/fadeOut) */
.animate__animated {
  animation-duration: 0.5s;
  animation-fill-mode: both;
}
.animate__fadeIn {
  animation-name: fadeIn;
}
.animate__fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Utilitários para delays de animação (até 10 itens) */
.delay-0 {
  transition-delay: 0ms !important;
}
.delay-1 {
  transition-delay: 100ms !important;
}
.delay-2 {
  transition-delay: 200ms !important;
}
.delay-3 {
  transition-delay: 300ms !important;
}
.delay-4 {
  transition-delay: 400ms !important;
}
.delay-5 {
  transition-delay: 500ms !important;
}
.delay-6 {
  transition-delay: 600ms !important;
}
.delay-7 {
  transition-delay: 700ms !important;
}
.delay-8 {
  transition-delay: 800ms !important;
}
.delay-9 {
  transition-delay: 900ms !important;
}
.delay-10 {
  transition-delay: 1000ms !important;
}
/* Utilitário para transição suave do carrossel mobile */
.carousel-transition {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ========================================
   SERVICES CAROUSEL (ALL DEVICES)
   ======================================== */
.mobile-services-carousel {
  margin: 0 -1.5rem;
  padding: 0 1.5rem;
  display: block;
}

/* Desktop adjustments */
@media (min-width: 1024px) {
  .mobile-services-carousel {
    margin: 0;
    padding: 0;
  }
  
  .carousel-track {
    justify-content: center;
  }
  
  .mobile-service-card {
    min-width: 350px;
    max-width: 380px;
  }
}

.carousel-container {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.carousel-track {
  display: flex;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  gap: 1rem;
}

.mobile-service-card {
  min-width: 280px;
  max-width: 320px;
  background: linear-gradient(135deg, rgba(15, 15, 30, 0.9) 0%, rgba(25, 25, 45, 0.8) 100%);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 16px;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  margin-right: 1rem;
}

.mobile-service-card:last-child {
  margin-right: 0;
}

.mobile-service-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  z-index: 2;
}

.mobile-service-badge.popular {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.mobile-service-badge.premium {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}

.mobile-service-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 2;
}

.mobile-service-icon.blue {
  background: linear-gradient(135deg, #1e40af, #3b82f6);
  color: #bfdbfe;
}

.mobile-service-icon.purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #ddd6fe;
}

.mobile-service-icon.yellow {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fef3c7;
}

.mobile-service-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.mobile-service-card p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.mobile-service-highlight {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.1) 100%);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 8px;
  margin-bottom: 1rem;
}

.mobile-service-highlight i {
  color: #10b981;
  font-size: 0.875rem;
}

.mobile-service-highlight span {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 500;
}

.mobile-service-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(59, 130, 246, 0.05) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 8px;
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.mobile-service-btn:hover {
  border-color: rgba(59, 130, 246, 0.6);
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(59, 130, 246, 0.08) 100%);
}

.mobile-service-btn span {
  font-size: 0.875rem;
}

.mobile-service-btn i {
  font-size: 0.875rem;
  opacity: 0.8;
}

.mobile-service-features {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.mobile-feature-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

.mobile-feature-item i {
  color: #3b82f6;
  font-size: 0.75rem;
  width: 1rem;
  flex-shrink: 0;
}

.mobile-feature-item span {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.75rem;
  line-height: 1.3;
}

/* Desktop enhancements */
@media (min-width: 1024px) {
  .mobile-service-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
  
  .mobile-feature-item {
    padding: 0.5rem 0;
  }
  
  .mobile-feature-item i {
    font-size: 0.875rem;
  }
  
  .mobile-feature-item span {
    font-size: 0.875rem;
  }
}

.carousel-navigation {
  text-align: center;
  margin-top: 1.5rem;
}

.carousel-dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  transition: all 0.3s ease;
}

.dot.active {
  background: #3b82f6;
  width: 20px;
  border-radius: 10px;
}

/* Mobile Journey Optimized */
.startup-journey-mobile {
  padding: 2rem 1rem;
}

.journey-icon-mobile {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #10b981, #059669);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: white;
  margin: 0 auto 1rem;
}

.journey-stat-mobile {
  text-align: center;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(15, 15, 30, 0.6) 0%, rgba(25, 25, 45, 0.4) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  backdrop-filter: blur(10px);
}

.stat-number-mobile {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  font-family: 'Orbitron', monospace;
  margin-bottom: 0.25rem;
}

.stat-label-mobile {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.3;
}

/* ========================================
   HERO SECTION SIMPLIFIED DESIGN
   ======================================== */
.hero-btn-simple {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(59, 130, 246, 0.05) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 8px;
  color: #e2e8f0;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.hero-btn-simple:hover {
  border-color: rgba(59, 130, 246, 0.6);
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(59, 130, 246, 0.08) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15);
}

.cyber-hero-stat-simple {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(15, 15, 30, 0.6) 0%, rgba(25, 25, 45, 0.4) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.cyber-hero-stat-simple:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: linear-gradient(135deg, rgba(15, 15, 30, 0.8) 0%, rgba(25, 25, 45, 0.6) 100%);
}

.cyber-stat-icon-simple {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.cyber-stat-icon-simple.blue {
  background: linear-gradient(135deg, #1e40af, #3b82f6);
  color: #bfdbfe;
}

.cyber-stat-icon-simple.green {
  background: linear-gradient(135deg, #059669, #10b981);
  color: #a7f3d0;
}

.cyber-stat-icon-simple.purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #ddd6fe;
}

.cyber-stat-number-simple {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
  font-family: 'Orbitron', monospace;
}

.cyber-stat-label-simple {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.3;
}

/* ========================================
   HERO SECTION CYBERPUNK STATS (OLD)
   ======================================== */
.cyber-hero-stat {
  position: relative;
  background: linear-gradient(135deg, rgba(15, 15, 30, 0.9) 0%, rgba(25, 25, 45, 0.8) 100%);
  border: 1px solid rgba(0, 243, 255, 0.3);
  border-radius: 12px;
  padding: 1.5rem;
  overflow: hidden;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.cyber-hero-stat:hover {
  border-color: rgba(0, 243, 255, 0.6);
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 243, 255, 0.2);
}

.cyber-stat-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 2;
}

.cyber-stat-icon.blue {
  background: linear-gradient(135deg, #1e40af, #3b82f6);
  color: #bfdbfe;
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
}

.cyber-stat-icon.green {
  background: linear-gradient(135deg, #059669, #10b981);
  color: #a7f3d0;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
}

.cyber-stat-icon.purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #ddd6fe;
  box-shadow: 0 0 20px rgba(168, 85, 247, 0.4);
}

.cyber-stat-number {
  font-size: 1.75rem;
  font-weight: 800;
  background: linear-gradient(135deg, #00f3ff, #ffffff);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0.25rem;
  font-family: 'Orbitron', monospace;
}

.cyber-stat-label {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}

.cyber-stat-glow {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

.cyber-stat-glow.blue {
  background: radial-gradient(circle, rgba(59, 130, 246, 0.2) 0%, transparent 70%);
}

.cyber-stat-glow.green {
  background: radial-gradient(circle, rgba(16, 185, 129, 0.2) 0%, transparent 70%);
}

.cyber-stat-glow.purple {
  background: radial-gradient(circle, rgba(168, 85, 247, 0.2) 0%, transparent 70%);
}

.cyber-hero-stat:hover .cyber-stat-glow {
  opacity: 1;
}

/* Responsive para hero stats */
@media (max-width: 640px) {
  .cyber-hero-stat {
    padding: 1rem;
  }
  
  .cyber-stat-icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1rem;
  }
  
  .cyber-stat-number {
    font-size: 1.5rem;
  }
}

/* ========================================
   MOBILE OPTIMIZATION FIXES
   ======================================== */

/* Seção de serviços - mobile spacing */
@media (max-width: 1023px) {
  .cyber-services .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Reduzir margin-bottom dos títulos em mobile */
  .cyber-services .mb-16 {
    margin-bottom: 2rem;
  }
  
  /* Otimizar cards de feature no mobile */
  .cyber-feature-card {
    padding: 1.5rem;
  }
  
  .cyber-feature-card h3 {
    font-size: 1.125rem;
  }
  
  .cyber-feature-card p {
    font-size: 0.875rem;
  }
}

/* Cases section - mobile optimization */
@media (max-width: 1023px) {
  .cyber-case-card {
    flex-direction: column;
    margin-bottom: 2rem;
  }
  
  .cyber-case-media {
    width: 100%;
    margin-bottom: 1rem;
  }
  
  .cyber-case-content {
    width: 100%;
    padding: 1rem;
  }
}

/* Team section - mobile optimization */
@media (max-width: 1023px) {
  .cyber-team-card {
    margin-bottom: 2rem;
  }
  
  .cyber-team-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .cyber-matrix-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

/* Contact section - mobile optimization */
@media (max-width: 1023px) {
  .cyber-contact-enhanced-form,
  .cyber-contact-enhanced-info {
    margin-bottom: 2rem;
  }
  
  .cyber-specialist-card {
    padding: 1.5rem;
  }
  
  .cyber-contact-methods {
    margin-top: 2rem;
  }
}

/* General mobile improvements */
@media (max-width: 767px) {
  /* Reduzir padding geral em mobile */
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Títulos responsivos */
  .cyber-glitch-title {
    font-size: 1.75rem !important;
  }
  
  h1 {
    font-size: 2.5rem !important;
  }
  
  h2 {
    font-size: 2rem !important;
  }
  
  h3 {
    font-size: 1.5rem !important;
  }
  
  /* Espaçamentos menores */
  .py-20 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  
  .py-32 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  
  .mb-16 {
    margin-bottom: 2rem;
  }
  
  .mt-20 {
    margin-top: 3rem;
  }
  
  /* Melhorar botões em mobile */
  .hero-btn-simple,
  .mobile-service-btn {
    padding: 1rem 1.5rem;
    font-size: 1rem;
  }
}

/* =============================================================================
   ENHANCED FAQ SECTION - CYBERPUNK DESIGN
   ============================================================================= */

.cyber-faq-enhanced-container {
  position: relative;
  padding: 2rem;
}

.cyber-faq-enhanced-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}

.cyber-faq-enhanced-item {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.8) 0%, rgba(30, 41, 59, 0.6) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 16px;
  padding: 0;
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(10px);
}

.cyber-faq-enhanced-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #3b82f6, transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cyber-faq-enhanced-item:hover::before {
  opacity: 1;
}

.cyber-faq-enhanced-item:hover {
  transform: translateY(-4px);
  border-color: rgba(59, 130, 246, 0.6);
  box-shadow: 
    0 10px 25px rgba(59, 130, 246, 0.2),
    0 0 20px rgba(59, 130, 246, 0.1);
}

.cyber-faq-enhanced-header {
  display: flex;
  align-items: center;
  padding: 1.5rem;
  gap: 1rem;
}

.cyber-faq-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: white;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.cyber-faq-icon.blue {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}

.cyber-faq-icon.green {
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
}

.cyber-faq-icon.purple {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.cyber-faq-icon.orange {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}

.cyber-faq-enhanced-question {
  background: none;
  border: none;
  color: white;
  font-size: 1.1rem;
  font-weight: 600;
  text-align: left;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
  transition: color 0.3s ease;
}

.cyber-faq-enhanced-question:hover {
  color: #3b82f6;
}

.cyber-faq-arrow {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(59, 130, 246, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.cyber-faq-enhanced-item.active .cyber-faq-arrow {
  background: rgba(59, 130, 246, 0.2);
  transform: rotate(180deg);
}

.cyber-faq-enhanced-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cyber-faq-enhanced-item.active .cyber-faq-enhanced-answer {
  max-height: 500px;
}

.cyber-faq-content {
  padding: 0 1.5rem 1.5rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}

.cyber-faq-content p {
  margin-bottom: 1rem;
}

.cyber-faq-stats {
  margin-top: 1rem;
}

.cyber-stat-mini {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.9rem;
  margin-right: 0.5rem;
}

.cyber-stat-mini.blue {
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.cyber-stat-mini .stat-number {
  font-weight: bold;
  color: #3b82f6;
}

.cyber-stat-mini .stat-label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.8rem;
}

.cyber-faq-highlight {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border-radius: 8px;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 500;
}

.cyber-faq-highlight.green {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #10b981;
}

.cyber-faq-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.cyber-feature-mini {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
}

.cyber-feature-mini.purple {
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.3);
  color: #8b5cf6;
}

.cyber-faq-demo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border-radius: 8px;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 500;
}

.cyber-faq-demo.orange {
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #f59e0b;
}

.cyber-faq-clients {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.client-type {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 500;
}

.client-type.blue {
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: #3b82f6;
}

.client-type.green {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #10b981;
}

.client-type.purple {
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.3);
  color: #8b5cf6;
}

.cyber-faq-guarantee {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border-radius: 8px;
  margin-top: 1rem;
  font-size: 0.9rem;
  font-weight: 500;
}

.cyber-faq-guarantee.green {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #10b981;
}

/* CTA Final Section */
.cyber-faq-cta-container {
  display: flex;
  justify-content: center;
}

.cyber-faq-cta {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 16px;
  padding: 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  max-width: 600px;
  width: 100%;
}

.cyber-faq-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #3b82f6);
  animation: pulse 2s ease-in-out infinite;
}

.cyber-faq-cta-content h4 {
  font-size: 1.5rem;
  font-weight: bold;
  color: white;
  margin-bottom: 0.5rem;
}

.cyber-faq-cta-content p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 1.5rem;
}

.cyber-faq-cta-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.cyber-faq-cta-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

.cyber-faq-cta-button.primary {
  background: linear-gradient(135deg, #25d366, #128c7e);
  color: white;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
}

.cyber-faq-cta-button.primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
}

.cyber-faq-cta-button.secondary {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.3);
  color: #3b82f6;
}

.cyber-faq-cta-button.secondary:hover {
  background: rgba(59, 130, 246, 0.2);
  border-color: rgba(59, 130, 246, 0.5);
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
  .cyber-faq-enhanced-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .cyber-faq-enhanced-header {
    padding: 1rem;
  }
  
  .cyber-faq-content {
    padding: 0 1rem 1rem;
  }
  
  .cyber-faq-cta {
    padding: 1.5rem;
    margin: 0 1rem;
  }
  
  .cyber-faq-cta-actions {
    flex-direction: column;
    align-items: center;
  }
  
  .cyber-faq-cta-button {
    width: 100%;
    justify-content: center;
    max-width: 250px;
  }
}

/* Animation Enhancements */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.cyber-faq-enhanced-item {
  animation: slideInUp 0.6s ease-out forwards;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =============================================================================
   ENHANCED CONTACT SECTION - CYBERPUNK DESIGN
   ============================================================================= */

.cyber-contact-enhanced-form {
  position: relative;
}

.cyber-contact-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(30, 41, 59, 0.8) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 20px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.cyber-contact-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #3b82f6, #8b5cf6, #3b82f6);
  animation: pulse 2s ease-in-out infinite;
}

.cyber-contact-card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(59, 130, 246, 0.2);
}

.cyber-contact-icon-main {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: white;
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.4);
}

.cyber-contact-card-header h3 {
  font-size: 1.5rem;
  font-weight: bold;
  color: white;
  margin-bottom: 0.5rem;
}

.cyber-contact-card-header p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
}

.cyber-contact-enhanced-form-fields {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cyber-form-enhanced-group {
  position: relative;
}

.cyber-form-enhanced-group label {
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.cyber-input-wrapper {
  position: relative;
}

.cyber-input-enhanced {
  width: 100%;
  padding: 1rem 1.25rem;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 12px;
  color: white;
  font-size: 1rem;
  transition: all 0.3s ease;
  backdrop-filter: blur(5px);
}

.cyber-input-enhanced:focus {
  outline: none;
  border-color: rgba(59, 130, 246, 0.8);
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}

.cyber-input-enhanced::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.cyber-input-glow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 12px;
  background: linear-gradient(45deg, transparent, rgba(59, 130, 246, 0.1), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.cyber-input-enhanced:focus + .cyber-input-glow {
  opacity: 1;
}

.cyber-submit-enhanced {
  position: relative;
  background: linear-gradient(135deg, #25d366, #128c7e);
  border: none;
  border-radius: 12px;
  padding: 1.25rem 2rem;
  color: white;
  font-weight: 600;
  font-size: 1.1rem;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
  margin-top: 1rem;
}

.cyber-submit-enhanced:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4);
}

.cyber-submit-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: relative;
  z-index: 2;
}

.cyber-submit-icon {
  font-size: 1.25rem;
}

.cyber-submit-glow,
.cyber-submit-pulse {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 12px;
  pointer-events: none;
}

.cyber-submit-glow {
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cyber-submit-enhanced:hover .cyber-submit-glow {
  opacity: 1;
}

.cyber-submit-pulse {
  background: rgba(37, 211, 102, 0.3);
  animation: pulse-ring 2s infinite;
}

@keyframes pulse-ring {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(1.1);
    opacity: 0;
  }
}

.cyber-form-guarantee {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 8px;
  color: #10b981;
  font-size: 0.9rem;
  margin-top: 1rem;
}

/* Specialist Card */
.cyber-specialist-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.9) 0%, rgba(30, 41, 59, 0.8) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 20px;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.cyber-specialist-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.cyber-specialist-avatar {
  position: relative;
}

.cyber-avatar-placeholder.specialist {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 1.5rem;
  position: relative;
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
}

.cyber-avatar-status {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid rgba(15, 23, 42, 1);
}

.cyber-avatar-status.online {
  background: #10b981;
  animation: pulse-online 2s infinite;
}

@keyframes pulse-online {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.cyber-specialist-info h3 {
  font-size: 1.25rem;
  font-weight: bold;
  color: white;
  margin-bottom: 0.25rem;
}

.cyber-specialist-role {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #f59e0b;
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.cyber-specialist-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}

.status-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.status-indicator.online {
  background: #10b981;
  animation: pulse-online 2s infinite;
}

.cyber-whatsapp-direct {
  display: block;
  background: linear-gradient(135deg, #25d366, #128c7e);
  border-radius: 15px;
  padding: 1rem;
  text-decoration: none;
  color: white;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  margin-bottom: 1rem;
}

.cyber-whatsapp-direct:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4);
  color: white;
}

.cyber-whatsapp-content {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 2;
}

.cyber-whatsapp-icon {
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.cyber-whatsapp-info strong {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.cyber-whatsapp-info span {
  font-size: 0.9rem;
  opacity: 0.9;
}

.cyber-whatsapp-pulse {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  animation: pulse-ring 3s infinite;
}

.cyber-specialist-features {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cyber-feature-spec {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
}

.cyber-feature-spec i {
  color: #3b82f6;
  width: 16px;
  text-align: center;
}

/* Contact Methods */
.cyber-contact-methods {
  margin-bottom: 2rem;
}

.cyber-methods-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: white;
  margin-bottom: 1rem;
}

.cyber-contact-method {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 12px;
  margin-bottom: 0.75rem;
  transition: all 0.3s ease;
}

.cyber-contact-method:hover {
  border-color: rgba(59, 130, 246, 0.4);
  transform: translateX(4px);
}

.cyber-method-icon {
  width: 45px;
  height: 45px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: white;
  flex-shrink: 0;
}

.cyber-method-icon.blue {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}

.cyber-method-icon.green {
  background: linear-gradient(135deg, #10b981, #059669);
}

.cyber-method-icon.purple {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.cyber-method-info h5 {
  font-size: 1rem;
  font-weight: 600;
  color: white;
  margin-bottom: 0.25rem;
}

.cyber-method-info p {
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 0.25rem;
}

.cyber-method-note {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
}

/* Enhanced Social Links */
.cyber-social-enhanced {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 15px;
  padding: 1.5rem;
}

.cyber-social-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: white;
  margin-bottom: 1rem;
}

/* Featured Social Card */
.cyber-social-single {
  margin-bottom: 1.5rem;
}

.cyber-social-card-featured {
  display: block;
  background: linear-gradient(135deg, rgba(233, 89, 80, 0.1) 0%, rgba(225, 48, 108, 0.1) 100%);
  border: 1px solid rgba(233, 89, 80, 0.3);
  border-radius: 15px;
  padding: 1.5rem;
  text-decoration: none;
  color: white;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.cyber-social-card-featured:hover {
  transform: translateY(-4px);
  border-color: rgba(233, 89, 80, 0.6);
  box-shadow: 0 12px 25px rgba(233, 89, 80, 0.3);
  color: white;
}

.cyber-social-content {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cyber-social-icon-featured {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  background: linear-gradient(135deg, #e1306c, #fd1d1d, #f77737, #fcaf45, #ffdc80);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: white;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(233, 89, 80, 0.4);
}

.cyber-social-info h5 {
  font-size: 1.25rem;
  font-weight: bold;
  color: white;
  margin-bottom: 0.5rem;
}

.cyber-social-info p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.cyber-social-stats {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.social-stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}

.social-stat i {
  color: #e1306c;
  font-size: 0.9rem;
}

.cyber-social-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: rgba(233, 89, 80, 0.2);
  border: 1px solid rgba(233, 89, 80, 0.3);
  border-radius: 10px;
  font-weight: 600;
  color: #e1306c;
}

.cyber-social-pulse {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 15px;
  background: rgba(233, 89, 80, 0.1);
  animation: pulse-ring 3s infinite;
  pointer-events: none;
}

/* Coming Soon Section */
.cyber-social-coming-soon {
  background: rgba(30, 41, 59, 0.4);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 12px;
  padding: 1rem;
}

.cyber-social-coming-soon h5 {
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 0.75rem;
  text-align: center;
}

.coming-soon-items {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}

.coming-soon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  opacity: 0.6;
}

.coming-soon-icon {
  width: 45px;
  height: 45px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: white;
  margin-bottom: 0.5rem;
  position: relative;
}

.coming-soon-icon.linkedin {
  background: linear-gradient(135deg, rgba(0, 119, 181, 0.3), rgba(0, 119, 181, 0.1));
  border: 1px solid rgba(0, 119, 181, 0.3);
}

.coming-soon-icon.youtube {
  background: linear-gradient(135deg, rgba(255, 0, 0, 0.3), rgba(255, 0, 0, 0.1));
  border: 1px solid rgba(255, 0, 0, 0.3);
}

.coming-soon-icon::after {
  content: '🚧';
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 0.75rem;
  background: rgba(15, 23, 42, 0.9);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.coming-soon-item span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
}

/* =============================================================================
   STARTUP TECH STACK SECTION
   ============================================================================= */

.cyber-tech-grid-startup {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.tech-category-startup {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.8) 0%, rgba(30, 41, 59, 0.6) 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 16px;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}

.tech-category-startup:hover {
  transform: translateY(-4px);
  border-color: rgba(59, 130, 246, 0.5);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.2);
}

.tech-category-title-startup {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(59, 130, 246, 0.2);
}

.tech-category-title-startup i {
  color: #3b82f6;
  font-size: 1.25rem;
}

.tech-items-startup {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tech-item-startup {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: rgba(30, 41, 59, 0.4);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

.tech-item-startup:hover {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(30, 41, 59, 0.6);
  transform: translateX(4px);
}

.tech-item-startup img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.tech-item-startup i {
  font-size: 1.25rem;
  width: 24px;
  text-align: center;
  flex-shrink: 0;
}

.tech-item-startup.google i,
.tech-item-startup.google img {
  filter: drop-shadow(0 0 4px #4285f4);
}

.tech-item-startup.meta i,
.tech-item-startup.meta img {
  filter: drop-shadow(0 0 4px #1877f2);
}

.tech-item-startup.analytics i {
  color: #f59e0b;
}

.tech-item-startup.react img {
  filter: drop-shadow(0 0 4px #61dafb);
}

.tech-item-startup.js img {
  filter: drop-shadow(0 0 4px #f7df1e);
}

.tech-item-startup.wordpress img {
  filter: drop-shadow(0 0 4px #21759b);
}

.tech-item-startup.figma img {
  filter: drop-shadow(0 0 4px #f24e1e);
}

.tech-item-startup.photoshop i {
  color: #ff0000;
}

.tech-item-startup.canva i {
  color: #00c4cc;
}

.tech-item-startup.whatsapp i {
  color: #25d366;
}

.tech-item-startup.email i {
  color: #ea4335;
}

.tech-item-startup.automation i {
  color: #8b5cf6;
}

/* Enhanced Startup Journey Section */
.startup-journey-enhanced {
  display: flex;
  justify-content: center;
  padding: 0 1rem;
}

.journey-card-enhanced {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(59, 130, 246, 0.1) 100%);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 24px;
  padding: 3rem;
  max-width: 900px;
  width: 100%;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}

.journey-card-enhanced:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.5);
}

.journey-card-enhanced::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #10b981, #3b82f6, #10b981);
  animation: pulse 2s ease-in-out infinite;
}

.journey-icon-enhanced {
  width: 100px;
  height: 100px;
  border-radius: 25px;
  background: linear-gradient(135deg, #10b981, #059669);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: white;
  margin: 0 auto 2rem;
  box-shadow: 0 12px 25px rgba(16, 185, 129, 0.4);
  transition: transform 0.3s ease;
}

.journey-card-enhanced:hover .journey-icon-enhanced {
  transform: scale(1.05);
}

.journey-content-enhanced h3 {
  font-size: 2rem;
  font-weight: bold;
  color: white;
  text-align: center;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #10b981, #3b82f6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.journey-content-enhanced p {
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
  line-height: 1.7;
  margin-bottom: 2.5rem;
  font-size: 1.1rem;
}

.journey-highlights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.journey-highlight {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: rgba(16, 185, 129, 0.05);
  border: 1px solid rgba(16, 185, 129, 0.2);
  border-radius: 15px;
  transition: all 0.3s ease;
}

.journey-highlight:hover {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.3);
  transform: translateY(-2px);
}

.journey-highlight i {
  font-size: 1.5rem;
  color: #10b981;
  flex-shrink: 0;
}

.highlight-content h5 {
  font-size: 1rem;
  font-weight: 600;
  color: white;
  margin-bottom: 0.25rem;
}

.highlight-content span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.4;
}

.journey-stats-enhanced {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
}

.journey-stat-enhanced {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem;
  background: rgba(59, 130, 246, 0.1);
  border-radius: 12px;
  min-width: 120px;
  transition: all 0.3s ease;
}

.journey-stat-enhanced:hover {
  background: rgba(59, 130, 246, 0.15);
  transform: translateY(-2px);
}

.journey-stat-enhanced .stat-number-enhanced {
  font-size: 1.5rem;
  font-weight: bold;
  color: #3b82f6;
  margin-bottom: 0.5rem;
  display: block;
}

.journey-stat-enhanced .stat-label-enhanced {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
}

/* Responsive Design */
@media (max-width: 768px) {
  .cyber-tech-grid-startup {
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 100%;
  }
  
  .tech-category-startup {
    padding: 1.25rem;
  }
  
  .journey-card {
    padding: 1.5rem;
    margin: 0 1rem;
  }
  
  .journey-stats {
    gap: 1rem;
  }
  
  .journey-card-enhanced {
    padding: 2rem;
    margin: 0 1rem;
  }
  
  .journey-icon-enhanced {
    width: 70px;
    height: 70px;
    font-size: 2rem;
  }
  
  .journey-content-enhanced h3 {
    font-size: 1.5rem;
  }
  
  .journey-highlights {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .journey-highlight {
    padding: 1rem;
  }
  
  .journey-stats-enhanced {
    gap: 1.5rem;
  }
  
  .journey-stat-enhanced {
    min-width: 100px;
    padding: 0.75rem;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .cyber-contact-card,
  .cyber-specialist-card {
    padding: 1.25rem;
  }
  
  .cyber-contact-card-header,
  .cyber-specialist-header {
    flex-direction: column;
    text-align: center;
  }
  
  .cyber-whatsapp-content {
    flex-direction: column;
    text-align: center;
  }
  
  .cyber-social-content {
    flex-direction: column;
    text-align: center;
  }
  
  .coming-soon-items {
    flex-direction: column;
    gap: 1rem;
  }
  
  .cyber-contact-method {
    flex-direction: column;
    text-align: center;
  }
}

/* ========================================
   CYBERPUNK EXPERIENCE SYSTEM STYLES
   ======================================== */

/* Botão Super Saiyan - Otimizado para Performance */
.cyber-btn {
  position: relative;
  width: 200px;
  height: 60px;
  background: linear-gradient(45deg, #000011, #000033);
  border: 2px solid #00f3ff;
  border-radius: 12px;
  color: #00f3ff;
  font-weight: bold;
  font-size: 14px;
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transform-style: preserve-3d;
  box-shadow: 0 0 30px rgba(0, 243, 255, 0.3);
  will-change: transform; /* Otimização para GPU */
  contain: layout style; /* Isolamento de repaint */
}

.cyber-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 0 50px rgba(0, 243, 255, 0.5);
}

/* Núcleo de energia - Otimizado */
.energy-core {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(from 0deg, #00f3ff, #bc13fe, #ff2a6d, #00ff88, #00f3ff);
  opacity: 0.3;
  z-index: 1;
  animation: rotate 3s linear infinite;
  will-change: transform;
  contain: layout;
  transform: translateZ(0); /* Force hardware acceleration */
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Relâmpagos */
.lightning-field {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.lightning-bolt {
  position: absolute;
  width: 2px;
  height: 20px;
  background: linear-gradient(to bottom, transparent, #00f3ff, transparent);
  opacity: 0.3;
  transition: all 0.1s ease;
}

.bolt-1 { top: 10%; left: 20%; }
.bolt-2 { top: 30%; right: 20%; }
.bolt-3 { bottom: 30%; left: 30%; }
.bolt-4 { bottom: 10%; right: 30%; }
.bolt-5 { top: 50%; left: 50%; transform: translate(-50%, -50%); }

/* Texto holográfico */
.btn-text {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-shadow: 0 0 10px currentColor;
}

.text-layer-1,
.text-layer-2 {
  position: absolute;
  transition: all 0.3s ease;
}

.text-layer-1 {
  opacity: 1;
}

.text-layer-2 {
  opacity: 0;
  transform: translateY(5px);
}

.cyber-btn:hover .text-layer-1 {
  opacity: 0;
  transform: translateY(-5px);
}

.cyber-btn:hover .text-layer-2 {
  opacity: 1;
  transform: translateY(0);
}

/* Anéis de plasma - Otimizado */
.plasma-ring {
  position: absolute;
  border: 2px solid rgba(0, 243, 255, 0.3);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateZ(0);
  animation: plasmaExpand 3s ease-in-out infinite;
  will-change: transform, opacity;
  contain: layout;
}

.ring-1 {
  width: 40px;
  height: 40px;
  animation-delay: 0s;
}

.ring-2 {
  width: 60px;
  height: 60px;
  animation-delay: 1s;
}

.ring-3 {
  width: 80px;
  height: 80px;
  animation-delay: 2s;
}

@keyframes plasmaExpand {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.3;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.7;
  }
}

/* Partículas quânticas */
.quantum-particles {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: #00f3ff;
  border-radius: 50%;
  box-shadow: 0 0 6px #00f3ff;
}

.quantum-particles .particle:nth-child(1) { top: 20%; left: 15%; }
.quantum-particles .particle:nth-child(2) { top: 30%; right: 15%; }
.quantum-particles .particle:nth-child(3) { bottom: 30%; left: 25%; }
.quantum-particles .particle:nth-child(4) { bottom: 20%; right: 25%; }
.quantum-particles .particle:nth-child(5) { top: 60%; left: 60%; }

/* Formulário Futurista */
.form-portal {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

.quantum-form {
  width: 100%;
  padding: 1rem;
}

.nano-field {
  position: relative;
  margin-bottom: 1.5rem;
  transform: translateY(50px);
  opacity: 0;
  filter: blur(10px);
  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  width: 100%;
}

.nano-field input {
  width: 100%;
  padding: 15px 20px;
  background: rgba(0, 0, 0, 0.8);
  border: 2px solid rgba(0, 243, 255, 0.3);
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  transition: all 0.3s ease;
  outline: none;
}

.nano-field input:focus {
  border-color: #00f3ff;
  box-shadow: 0 0 20px rgba(0, 243, 255, 0.3);
}

.nano-field label {
  position: absolute;
  top: 15px;
  left: 20px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  pointer-events: none;
  transition: all 0.3s ease;
  transform-origin: left center;
}

.nano-field input:focus + label,
.nano-field input:not(:placeholder-shown) + label {
  transform: translateY(-25px) scale(0.8);
  color: #00f3ff;
}

/* Field Glow Effect */
.field-glow {
  position: absolute;
  inset: -2px;
  background: linear-gradient(45deg, #00f3ff, #bc13fe, #ff2a6d, #00ff88);
  border-radius: 8px;
  opacity: 0;
  z-index: -1;
  filter: blur(10px);
  transition: all 0.3s ease;
}

.field-active .field-glow {
  opacity: 0.5;
  transform: scale(1.05);
}

/* Data Stream */
.data-stream {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

@keyframes dataFlow {
  from {
    left: -10px;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  to {
    left: 100%;
    opacity: 0;
  }
}

/* Validação visual */
.field-valid {
  border-color: #00ff88 !important;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.3) !important;
}

.field-invalid {
  border-color: #ff2a6d !important;
  box-shadow: 0 0 20px rgba(255, 42, 109, 0.3) !important;
}

@keyframes validationParticle {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateY(-30px) scale(0);
    opacity: 0;
  }
}

/* Botão Submit Quântico */
.quantum-submit {
  position: relative;
  width: 100%;
  padding: 15px;
  background: linear-gradient(45deg, #00f3ff, #bc13fe);
  border: none;
  border-radius: 8px;
  color: #000;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  overflow: hidden;
  transform: scale(0);
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.quantum-submit:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px rgba(0, 243, 255, 0.5);
}

/* Submit Energy */
.submit-energy {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(from 0deg, transparent, #fff, transparent);
  opacity: 0.3;
  z-index: 1;
}

/* Submit Sparks */
.submit-sparks {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.spark {
  position: absolute;
  width: 3px;
  height: 3px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 6px #fff;
}

.submit-sparks .spark:nth-child(1) { top: 20%; left: 20%; }
.submit-sparks .spark:nth-child(2) { top: 30%; right: 20%; }
.submit-sparks .spark:nth-child(3) { bottom: 20%; left: 30%; }

.submit-text {
  position: relative;
  z-index: 10;
}

/* Portal de Sucesso */
.success-portal {
  text-align: center;
  padding: 40px;
  background: rgba(0, 0, 0, 0.9);
  border: 2px solid #00ff88;
  border-radius: 12px;
  transform-style: preserve-3d;
}

.success-icon {
  color: #00ff88;
  font-size: 48px;
  margin-bottom: 20px;
  filter: drop-shadow(0 0 20px #00ff88);
}

.success-title {
  color: #00ff88;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  text-shadow: 0 0 10px #00ff88;
}

.success-text {
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  line-height: 1.5;
}

.success-rings {
  position: relative;
  margin-top: 30px;
  height: 100px;
}

.success-rings .ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 2px solid #00ff88;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.success-rings .ring:nth-child(1) {
  width: 40px;
  height: 40px;
}

.success-rings .ring:nth-child(2) {
  width: 60px;
  height: 60px;
}

.success-rings .ring:nth-child(3) {
  width: 80px;
  height: 80px;
}

@keyframes successRing {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0.4;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
}

/* Estágios do sistema */
.cyber-stage {
  perspective: 1000px;
  transform-style: preserve-3d;
}

.button-stage,
.form-stage,
.success-stage {
  transform-style: preserve-3d;
}

.form-portal,
.success-portal {
  transform-style: preserve-3d;
  transition: all 1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Canvas de partículas */
#particles-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

/* Containers do card cyberpunk */
.cyber-card-content {
  position: relative;
  min-width: 500px; /* Largura mínima para acomodar o botão */
  min-height: 350px; /* Altura mínima para todos os elementos */
  padding: 2rem;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 12px;
  overflow: visible; /* Permite que efeitos saiam do container */
}

.cyber-nexus-card {
  position: relative;
  width: 100%;
  min-height: 300px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}

.cyber-header {
  text-align: center;
  margin-bottom: 2rem;
}

.button-stage,
.form-stage,
.success-stage {
  width: 100%;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

/* ========================================
   OTIMIZAÇÕES DE PERFORMANCE
   ======================================== */

/* Reduzir motion para dispositivos com preferência de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  .energy-core,
  .plasma-ring,
  .submit-energy {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  
  .cyber-btn,
  .nano-field,
  .quantum-submit {
    transition: none !important;
  }
  
  #particles-canvas {
    display: none !important;
  }
}

/* Otimizações para dispositivos com baixa potência */
@media (max-width: 768px), (max-height: 600px) {
  /* Reduzir efeitos visuais complexos */
  .energy-core {
    animation-duration: 6s; /* Mais lento */
    opacity: 0.2; /* Menos opacidade */
  }
  
  .plasma-ring {
    animation-duration: 6s;
    opacity: 0.2;
  }
  
  .lightning-bolt,
  .quantum-particles {
    display: none; /* Remover efeitos secundários */
  }
  
  /* Simplificar shadows */
  .cyber-btn {
    box-shadow: 0 0 15px rgba(0, 243, 255, 0.2) !important;
  }
  
  .nano-field input:focus {
    box-shadow: 0 0 10px rgba(0, 243, 255, 0.2) !important;
  }
}

/* Responsividade - Performance First */
@media (max-width: 768px) {
  .cyber-card-container {
    max-width: 95%;
    min-height: 350px;
    margin: 1rem auto;
  }
  
  .cyber-card-content {
    min-width: auto;
    min-height: 300px;
    padding: 1.5rem;
  }
  
  .cyber-nexus-card {
    min-height: 250px;
    padding: 1.5rem;
    gap: 1rem;
  }
  
  .cyber-btn {
    width: 180px;
    height: 50px;
    font-size: 12px;
    will-change: auto; /* Remover will-change em mobile */
  }
  
  .nano-field input {
    padding: 12px 15px;
    font-size: 14px;
  }
  
  .quantum-submit {
    padding: 12px;
    font-size: 14px;
  }
  
  .button-stage,
  .form-stage,
  .success-stage {
    min-height: 150px;
    padding: 0.5rem;
  }
  
  /* Desabilitar Canvas em dispositivos muito pequenos */
  @media (max-width: 480px) {
    #particles-canvas {
      display: none;
    }
    
    .cyber-matrix,
    .energy-field {
      display: none;
    }
  }
}

/* ========================================
   ENHANCED SERVICE CARDS STYLES
   ======================================== */

/* Service Cards Otimizados para Performance */
.cyber-service-card.enhanced {
  position: relative;
  padding: 2.5rem;
  min-height: 600px;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.9), rgba(10, 10, 24, 0.95));
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 20px;
  /* OTIMIZAÇÃO: Transições específicas em vez de 'all' */
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* OTIMIZAÇÃO: GPU acceleration sem overhead */
  transform: translate3d(0, 0, 0);
  /* OTIMIZAÇÃO: Containment para isolar layout/paint */
  contain: layout style paint;
  /* OTIMIZAÇÃO: Backface visibility para GPU */
  backface-visibility: hidden;
}

.cyber-service-card.enhanced::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg, #00f3ff, #bc13fe, #ff2a6d, #00ff88, #00f3ff);
  border-radius: 20px;
  z-index: -1;
  /* OTIMIZAÇÃO: Pausar animação por padrão */
  animation: borderRotate 4s linear infinite paused;
  /* OTIMIZAÇÃO: GPU acceleration */
  transform: translate3d(0, 0, 0);
  /* OTIMIZAÇÃO: Reduzir opacity para economizar */
  opacity: 0.7;
  /* OTIMIZAÇÃO: Prevenir reflow desnecessário */
  contain: strict;
}

@keyframes borderRotate {
  0% { transform: translate3d(0, 0, 0) rotate(0deg); }
  100% { transform: translate3d(0, 0, 0) rotate(360deg); }
}

.cyber-service-card.enhanced:hover {
  /* OTIMIZAÇÃO: Usar translate3d para GPU */
  transform: translate3d(0, -10px, 0) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 243, 255, 0.3);
}

.cyber-service-card.enhanced:hover::before {
  /* OTIMIZAÇÃO: Ativar animação apenas no hover */
  animation-play-state: running;
  opacity: 1;
}

/* Service Badge */
.cyber-service-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: linear-gradient(45deg, #00f3ff, #bc13fe);
  color: #000;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 10;
}

.cyber-service-badge.popular {
  background: linear-gradient(45deg, #ff2a6d, #bc13fe);
  color: #fff;
}

.cyber-service-badge.premium {
  background: linear-gradient(45deg, #ffb800, #ff6b35);
  color: #000;
}

/* Enhanced Service Icon - Otimizado */
.cyber-service-card.enhanced .cyber-service-icon {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1.5rem;
  position: relative;
  overflow: hidden;
  /* OTIMIZAÇÃO: Transição específica para transform */
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  /* OTIMIZAÇÃO: GPU acceleration */
  transform: translate3d(0, 0, 0);
  contain: layout style;
}

.cyber-service-card.enhanced .cyber-service-icon::before {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  /* OTIMIZAÇÃO: Usar transform em vez de filter blur para performance */
  transform: translate3d(0, 0, 0) scale(1.2);
  opacity: 0.4;
  z-index: -1;
  border-radius: inherit;
}

/* Enhanced Title */
.cyber-service-card.enhanced h3 {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
  background: linear-gradient(45deg, #fff, #00f3ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Enhanced Description */
.cyber-service-description {
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}

/* Service Features */
.cyber-service-features {
  margin-bottom: 1.5rem;
}

.cyber-feature-item {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.9rem;
}

.cyber-feature-item i {
  width: 20px;
  color: #00f3ff;
  margin-right: 0.8rem;
  font-size: 0.9rem;
}

/* Enhanced Tags */
.cyber-service-card.enhanced .cyber-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.cyber-service-card.enhanced .cyber-tag {
  padding: 0.4rem 0.8rem;
  border-radius: 15px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid;
  /* OTIMIZAÇÃO: Transições específicas */
  transition: transform 0.2s ease, opacity 0.2s ease;
  /* OTIMIZAÇÃO: GPU acceleration */
  transform: translate3d(0, 0, 0);
  contain: layout style;
}

/* Colored Tags */
.cyber-tag.google {
  background: rgba(234, 67, 53, 0.1);
  border-color: #ea4335;
  color: #ea4335;
}

.cyber-tag.meta {
  background: rgba(24, 119, 242, 0.1);
  border-color: #1877f2;
  color: #1877f2;
}

.cyber-tag.linkedin {
  background: rgba(0, 119, 181, 0.1);
  border-color: #0077b5;
  color: #0077b5;
}

.cyber-tag.tiktok {
  background: rgba(255, 0, 80, 0.1);
  border-color: #ff0050;
  color: #ff0050;
}

.cyber-tag.design {
  background: rgba(188, 19, 254, 0.1);
  border-color: #bc13fe;
  color: #bc13fe;
}

.cyber-tag.seo {
  background: rgba(0, 255, 136, 0.1);
  border-color: #00ff88;
  color: #00ff88;
}

.cyber-tag.mobile {
  background: rgba(0, 243, 255, 0.1);
  border-color: #00f3ff;
  color: #00f3ff;
}

.cyber-tag.hosting {
  background: rgba(255, 184, 0, 0.1);
  border-color: #ffb800;
  color: #ffb800;
}

.cyber-tag.audit {
  background: rgba(255, 184, 0, 0.1);
  border-color: #ffb800;
  color: #ffb800;
}

.cyber-tag.strategy {
  background: rgba(255, 107, 53, 0.1);
  border-color: #ff6b35;
  color: #ff6b35;
}

.cyber-tag.competitor {
  background: rgba(188, 19, 254, 0.1);
  border-color: #bc13fe;
  color: #bc13fe;
}

.cyber-tag.roadmap {
  background: rgba(0, 255, 136, 0.1);
  border-color: #00ff88;
  color: #00ff88;
}

/* CTA Section - Substitui Pricing */
.cyber-service-cta {
  text-align: center;
  margin-bottom: 1.5rem;
  padding: 1.2rem;
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.1), rgba(188, 19, 254, 0.1));
  border-radius: 15px;
  border: 1px solid rgba(0, 243, 255, 0.3);
  position: relative;
  overflow: hidden;
}

.cyber-service-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #00f3ff, transparent);
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

.cyber-cta-highlight {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
  color: #00f3ff;
  font-weight: 600;
  font-size: 0.95rem;
}

.cyber-cta-highlight i {
  font-size: 1.2rem;
  color: #00ff88;
  text-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
}

.cyber-cta-urgency {
  padding: 0.5rem 1rem;
  background: rgba(255, 42, 109, 0.15);
  border-radius: 20px;
  border: 1px solid rgba(255, 42, 109, 0.3);
  display: inline-block;
}

.cyber-urgency-text {
  color: #ff2a6d;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: 0 0 5px rgba(255, 42, 109, 0.3);
}

/* Enhanced Service Link */
.cyber-service-link.enhanced {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  background: linear-gradient(45deg, #00f3ff, #bc13fe);
  color: #000;
  text-decoration: none;
  border-radius: 25px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  /* OTIMIZAÇÃO: Transições específicas */
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  /* OTIMIZAÇÃO: GPU acceleration */
  transform: translate3d(0, 0, 0);
  contain: layout style;
}

.cyber-service-link.enhanced::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(45deg, #bc13fe, #ff2a6d);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cyber-service-link.enhanced:hover::before {
  opacity: 1;
}

.cyber-service-link.enhanced:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 243, 255, 0.4);
}

.cyber-service-link.enhanced span,
.cyber-service-link.enhanced i {
  position: relative;
  z-index: 2;
}

/* Responsividade para Enhanced Cards */
@media (max-width: 1024px) {
  .cyber-service-card.enhanced {
    min-height: 550px;
    padding: 2rem;
  }
}

@media (max-width: 768px) {
  .cyber-service-card.enhanced {
    min-height: auto;
    padding: 1.5rem;
    /* OTIMIZAÇÃO MOBILE: Desabilitar animações custosas */
    contain: layout style paint;
  }
  
  .cyber-service-card.enhanced::before {
    /* OTIMIZAÇÃO MOBILE: Pausar animação da borda */
    animation-play-state: paused !important;
    opacity: 0.3;
  }
  
  .cyber-service-card.enhanced:hover {
    /* OTIMIZAÇÃO MOBILE: Hover simplificado */
    transform: translate3d(0, -5px, 0) scale(1.01);
  }
  
  .cyber-service-badge {
    top: 15px;
    right: 15px;
    padding: 0.4rem 0.8rem;
    font-size: 0.7rem;
  }
  
  .cyber-service-card.enhanced .cyber-service-icon {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }
  
  /* OTIMIZAÇÃO MOBILE: Simplificar interações touch */
  .cyber-service-card.enhanced .cyber-tag:hover {
    transform: none;
  }
}
  
  .cyber-cta-highlight {
    font-size: 0.85rem;
    gap: 0.6rem;
  }
  
  .cyber-cta-highlight i {
    font-size: 1rem;
  }
}
/* Utilitários para matrix node e avatar interativo */
.matrix-node-hover {
  border-color: var(--matrix-node-color, #00f3ff) !important;
  box-shadow: 0 0 30px var(--matrix-node-color, #00f3ff) !important;
  transform: scale(1.2) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.matrix-label-hover {
  color: var(--matrix-node-color, #00f3ff) !important;
  font-weight: 600 !important;
  transition: color 0.3s, font-weight 0.3s !important;
}
.avatar-tilt {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* Utilitários para exibição/ocultação e efeitos JS */
.is-hidden {
  display: none !important;
}
.is-visible {
  display: block !important;
}
.is-locked {
  overflow: hidden !important;
}
.is-unlocked {
  overflow: visible !important;
}
.is-blur {
  filter: blur(5px) !important;
  transition: filter 0.3s ease !important;
}
.progress-60 {
  width: 60% !important;
  transition: width 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.progress-100 {
  width: 100% !important;
  transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.translate-x-0 {
  transform: translateX(0) !important;
}
.translate-x-full {
  transform: translateX(100%) !important;
}
.scroll-smooth {
  scroll-behavior: smooth !important;
}
.max-h-none {
  max-height: none !important;
}
.max-h-auto {
  max-height: 1000px !important;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* Utilitário: animação de fade para preloader */
.fade-out {
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}
/* Utilitário: animação de entrada para cards de equipe e matrix */
.fade-in-up {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.fade-init-up {
  opacity: 0 !important;
  transform: translateY(40px) !important;
}
/* Utilitário: destaque de avatar e role em hover de card de equipe */
.team-avatar-hover {
  transform: scale(1.1) rotate(5deg) !important;
  box-shadow: 0 0 25px rgba(0, 243, 255, 0.8) !important;
}
.team-role-hover {
  transform: scale(1.3) !important;
  box-shadow: 0 0 15px currentColor !important;
}
.team-skill-hover {
  transform: scale(1.1) !important;
  box-shadow: 0 0 15px rgba(0, 243, 255, 0.5) !important;
}
/* Utilitário: animação de fade-in e scale para cards (JS) */
.fade-in-scale {
  opacity: 1 !important;
  transform: scale(1) !important;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Utilitário: estado inicial oculto para animação de entrada */
.fade-init {
  opacity: 0 !important;
  transform: scale(0.8) !important;
}

/* Utilitário: card ativo em touch (mobile) */
.card-active {
  box-shadow: 0 0 20px var(--color-neon-blue, #00f3ff);
  z-index: 30;
  transform: scale(1.05) !important;
}
/* 
 * Soluctions S.A - Base Styles
 * Arquivo de estilos fundamentais e variáveis CSS
 */

/* ======= MOBILE OPTIMIZATIONS (antigo mobile.css) ======= */
@media (max-width: 768px) {
  * {
    animation-duration: 0.2s;
    transition-duration: 0.2s;
  }
  .blob,
  .cyber-grid,
  #particles-js,
  .scanline,
  .noise,
  .cursor,
  .cursor-dot {
    display: none;
  }
  body {
    overflow-x: hidden;
  }
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
  }
  h1 {
    font-size: 2.25rem;
    line-height: 1.3;
  }
  h2 {
    font-size: 1.8rem;
  }
  h3 {
    font-size: 1.4rem;
  }
  section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  #hero {
    padding-top: 6rem;
  }
  .cyber-card-container {
    position: relative;
    margin: 2rem auto;
    max-width: 600px; /* Expandido para acomodar o botão cyberpunk */
    min-height: 400px; /* Altura mínima para garantir espaço */
    overflow: visible;
    transform: none;
    perspective: 1000px;
    padding: 1rem;
  }
  .cyber-card-container img {
    width: 100%;
    border-radius: 1rem;
    box-shadow: 0 20px 40px rgba(0, 243, 255, 0.15);
    transform: rotateX(10deg) rotateY(-5deg) translateZ(0);
    transition: transform 0.3s ease;
  }
  .cyber-card-container img:active {
    transform: rotateX(5deg) rotateY(-3deg) translateZ(10px);
  }
  .cyber-stats-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
  }
  .cyber-stats-card {
    position: absolute;
    width: 45%;
    min-width: 140px;
    background: rgba(15, 15, 25, 0.85);
    border: 1px solid rgba(0, 243, 255, 0.4);
    box-shadow: 0 0 20px rgba(0, 243, 255, 0.2), 0 0 40px rgba(0, 243, 255, 0.1);
    padding: 0.75rem;
    transition: transform 0.3s ease;
    pointer-events: auto;
    backdrop-filter: blur(10px);
    animation: float 6s ease-in-out infinite;
  }
  .cyber-stats-card:nth-child(1) {
    left: -5%;
    bottom: -5%;
    transform: scale(0.85) rotate(-3deg);
    animation-delay: -1s;
  }
  .cyber-stats-card:nth-child(2) {
    right: -5%;
    top: -5%;
    transform: scale(0.85) rotate(2deg);
    animation-delay: -3s;
  }
  .cyber-stats-card:active {
    transform: scale(0.95);
  }
  .cyber-stats-card .flex {
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
  }
  .cyber-stats-card .h-10.w-10 {
    height: 2.5rem;
    width: 2.5rem;
    min-width: 2.5rem;
  }
  .cyber-stats-card .text-sm {
    font-size: 0.7rem;
    line-height: 1.2;
  }
  .cyber-stats-card .text-xl {
    font-size: 1rem;
    margin-top: 0.25rem;
  }
  .cyber-service-card,
  .cyber-case-card,
  .cyber-team-card,
  .cyber-pricing-card,
  .cyber-feature-card {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  .cyber-input,
  .cyber-textarea {
    font-size: 1rem;
  }
  #services .grid {
    display: none;
  }
  .services-mobile-carousel {
    display: block;
  }
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-5px);
  }
}

@media (max-width: 375px) {
  .cyber-stats-card {
    min-width: 130px;
    padding: 0.5rem;
  }
  .cyber-stats-card .text-sm {
    font-size: 0.65rem;
  }
  .cyber-stats-card .text-xl {
    font-size: 0.9rem;
  }
}

@media (min-width: 769px) {
  .services-mobile-carousel {
    display: none;
  }
}

/* 
 * Variáveis CSS Consolidadas (Custom Properties) 
 * OTIMIZADO: Variáveis unificadas para reduzir duplicação
 */
:root {
  /* Cores primárias */
  --color-bg-primary: #050510;
  --color-bg-secondary: #0a0a18;
  --color-bg-tertiary: #12121f;
  --color-bg-card: rgba(18, 18, 31, 0.7);

  /* Cores neon - CONSOLIDADO */
  --color-neon-blue: #00f3ff;
  --color-neon-purple: #bc13fe;
  --color-neon-green: #00ff88;
  --color-neon-pink: #ff2a6d;
  --color-neon-yellow: #f7df1e;

  /* Cores de texto */
  --color-text-primary: rgba(255, 255, 255, 0.9);
  --color-text-secondary: rgba(255, 255, 255, 0.7);
  --color-text-tertiary: rgba(255, 255, 255, 0.5);

  /* Gradientes consolidados */
  --gradient-primary: linear-gradient(
    135deg,
    var(--color-neon-blue),
    var(--color-neon-purple)
  );
  --gradient-secondary: linear-gradient(
    45deg,
    var(--color-neon-green),
    var(--color-neon-blue)
  );
  --gradient-tertiary: linear-gradient(
    45deg,
    var(--color-neon-purple),
    var(--color-neon-pink)
  );

  /* Gradientes legados (manter compatibilidade) */
  --gradient-blue-purple: var(--gradient-primary);
  --gradient-green-blue: var(--gradient-secondary);
  --gradient-purple-pink: var(--gradient-tertiary);

  /* Bordas e raios */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-full: 9999px;

  /* Sombras consolidadas */
  --shadow-base: 0 10px 30px rgba(0, 0, 0, 0.5);
  --shadow-neon-blue: 0 0 10px rgba(0, 243, 255, 0.5),
    0 0 20px rgba(0, 243, 255, 0.3);
  --shadow-neon-purple: 0 0 10px rgba(188, 19, 254, 0.5),
    0 0 20px rgba(188, 19, 254, 0.3);
  --shadow-neon-green: 0 0 10px rgba(0, 255, 136, 0.5),
    0 0 20px rgba(0, 255, 136, 0.3);
  --shadow-neon-pink: 0 0 10px rgba(255, 42, 109, 0.5),
    0 0 20px rgba(255, 42, 109, 0.3);
  --shadow-card: var(--shadow-base);

  /* Transições consolidadas */
  --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);

  /* Transições legadas (manter compatibilidade) */
  --transition-normal: var(--transition-base);

  /* Espaçamentos consolidados */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;

  /* Tipografia */
  --font-family-heading: "Orbitron", sans-serif;
  --font-family-body: "Rajdhani", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 600;
  --font-weight-black: 800;

  /* Tamanhos de fonte */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;
  --font-size-6xl: 3.75rem;

  /* Altura de linha */
  --line-height-tight: 1.2;
  --line-height-normal: 1.6;
  --line-height-loose: 2;

  /* z-index */
  --z-index-negative: -1;
  --z-index-base: 0;
  --z-index-elevated: 10;
  --z-index-header: 40;
  --z-index-modal: 50;
  --z-index-toast: 60;
  --z-index-chatbot: 70;

  /* Animações consolidadas */
  --animation-speed-slow: 3s;
  --animation-speed-normal: 2s;
  --animation-speed-fast: 1s;
}

/* Normalização e resets */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background-color: var(--color-bg-primary);
  overflow-x: hidden;
  position: relative;
  min-height: 100vh;
}

/* Tipografia */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
  margin-bottom: var(--space-md);
}

h1 {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-black);
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  h1 {
    font-size: var(--font-size-5xl);
  }
}

@media (min-width: 1024px) {
  h1 {
    font-size: var(--font-size-6xl);
  }
}

h2 {
  font-size: var(--font-size-3xl);
  letter-spacing: -0.01em;
}

@media (min-width: 768px) {
  h2 {
    font-size: var(--font-size-4xl);
  }
}

h3 {
  font-size: var(--font-size-2xl);
}

@media (min-width: 768px) {
  h3 {
    font-size: var(--font-size-3xl);
  }
}

h4 {
  font-size: var(--font-size-xl);
}

@media (min-width: 768px) {
  h4 {
    font-size: var(--font-size-2xl);
  }
}

p {
  margin-bottom: var(--space-md);
}

a {
  color: var(--color-neon-blue);
  text-decoration: none;
  transition: var(--transition-normal);
}

a:hover {
  color: var(--color-neon-purple);
}

/* Efeitos visuais básicos */
.noise {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: var(--z-index-negative);
}

.scanline {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: var(--z-index-negative);
}

.scanline::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: rgba(0, 243, 255, 0.1);
  opacity: 0.3;
  animation: scanline 6s linear infinite;
}

@keyframes scanline {
  0% {
    top: 0%;
  }
  100% {
    top: 100%;
  }
}

/* Efeito Cyber Grid */
.cyber-grid {
  background-size: 40px 40px;
  background-image: linear-gradient(
      to right,
      rgba(0, 243, 255, 0.05) 1px,
      transparent 1px
    ),
    linear-gradient(to bottom, rgba(0, 243, 255, 0.05) 1px, transparent 1px);
}

/* Blobs */
.blob {
  width: 300px;
  height: 300px;
  background: var(--color-neon-blue);
  filter: blur(120px);
  opacity: 0.3;
  border-radius: 50%;
  animation: blob-morph 20s ease-in-out infinite alternate;
}

@keyframes blob-morph {
  0% {
    border-radius: 40% 60% 60% 40% / 70% 30% 70% 30%;
  }
  100% {
    border-radius: 60% 40% 30% 70% / 50% 60% 30% 60%;
  }
}

/* Animações consolidadas - OTIMIZADO */
@keyframes universal-glow {
  0%,
  100% {
    box-shadow: 0 0 10px currentColor;
    opacity: 0.7;
  }
  50% {
    box-shadow: 0 0 30px currentColor;
    opacity: 1;
  }
}

@keyframes universal-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.05);
    opacity: 1;
  }
}

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

@keyframes universal-shine {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

/* Animações específicas mantidas */
@keyframes neon-pulse {
  0%,
  100% {
    box-shadow: 0 0 5px var(--color-neon-blue), 0 0 10px var(--color-neon-blue);
  }
  50% {
    box-shadow: 0 0 10px var(--color-neon-blue), 0 0 20px var(--color-neon-blue),
      0 0 30px var(--color-neon-blue);
  }
}

/* Scroll Indicator */
.scroll-indicator {
  transform-origin: left;
  transform: scaleX(0);
  transition: transform var(--transition-normal);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--color-bg-tertiary);
}

::-webkit-scrollbar-thumb {
  background: var(--color-neon-blue);
  border-radius: var(--border-radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(var(--color-neon-blue), var(--color-neon-purple));
}

/* Elementos Comuns */
.gradient-text {
  background: var(--gradient-blue-purple);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hover-lift {
  transition: transform var(--transition-normal),
    box-shadow var(--transition-normal);
}

.hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-neon-blue);
}

.shadow-neon-blue {
  box-shadow: var(--shadow-neon-blue);
}

/* Tags e badges */
.cyber-tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
  border: 1px solid rgba(0, 243, 255, 0.2);
  border-radius: var(--border-radius-full);
  transition: all var(--transition-normal);
}

.cyber-tag:hover {
  background-color: rgba(0, 243, 255, 0.2);
  transform: translateY(-2px);
}

.cyber-tag.ai {
  color: var(--color-neon-purple);
  background-color: rgba(188, 19, 254, 0.1);
  border-color: rgba(188, 19, 254, 0.2);
}

.cyber-tag.ai:hover {
  background-color: rgba(188, 19, 254, 0.2);
}

.cyber-tag.analytics {
  color: var(--color-neon-green);
  background-color: rgba(0, 255, 136, 0.1);
  border-color: rgba(0, 255, 136, 0.2);
}

.cyber-tag.analytics:hover {
  background-color: rgba(0, 255, 136, 0.2);
}

/* Preloader */
.loader {
  background-color: var(--color-bg-primary);
  transition: opacity var(--transition-slow), visibility var(--transition-slow);
}

.loader.hidden {
  opacity: 0;
  visibility: hidden;
}

.loader-logo {
  font-family: var(--font-family-heading);
  background: var(--gradient-blue-purple);
  animation: neon-pulse var(--animation-speed-normal) infinite;
}

.loader-text {
  font-family: var(--font-family-heading);
  text-transform: uppercase;
}

.loader-progress {
  overflow: hidden;
}

.loader-progress-fill {
  background: var(--gradient-blue-purple);
  transition: width 2s ease-in-out;
}

/* Utilitários */
.text-gradient {
  background: var(--gradient-blue-purple);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.active-link::after {
  transform: scaleX(1) !important;
}

/* Animação de loader AJAX */
.ajax-loader {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(0, 243, 255, 0.3);
  border-radius: 50%;
  border-top-color: var(--color-neon-blue);
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Prevenção de fouc (flash of unstyled content) */
.no-fouc {
  opacity: 0;
  transition: opacity 0.4s ease-in;
}

.fouc-ready {
  opacity: 1;
}

/* Suporte a navegadores antigos */
@supports not (backdrop-filter: blur(8px)) {
  .cyber-case-card,
  .cyber-contact-form-container,
  .cyber-contact-info-container,
  .cyber-team-card,
  .cyber-pricing-card,
  .cyber-chatbot-box {
    background-color: rgba(5, 5, 16, 0.95);
  }
}

/* 
 * Soluctions S.A - Header, Navegação, Botões
 * Componentes relacionados ao header, navegação e botões da interface
 */

/* Cursor personalizado */
.cursor {
  position: fixed;
  width: 30px;
  height: 30px;
  border: 2px solid var(--color-neon-blue);
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: var(--z-index-toast);
  transition: width 0.2s, height 0.2s, border-color 0.2s;
  mix-blend-mode: exclusion;
}

.cursor-dot {
  position: fixed;
  width: 5px;
  height: 5px;
  background: var(--color-neon-blue);
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: var(--z-index-toast);
  transition: background-color 0.2s;
  mix-blend-mode: exclusion;
}

/* Animações hover para cursor */
a:hover ~ .cursor,
button:hover ~ .cursor {
  width: 40px;
  height: 40px;
  border-color: var(--color-neon-purple);
}

a:hover ~ .cursor-dot,
button:hover ~ .cursor-dot {
  background-color: var(--color-neon-purple);
}

/* Header */
header {
  transition: background-color var(--transition-normal),
    box-shadow var(--transition-normal), padding var(--transition-normal);
}

header.scrolled {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: rgba(5, 5, 16, 0.95);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

/* Logo com efeito Glitch */
.cyberpunk-logo {
  display: inline-block;
  position: relative;
}

.logo-glitch {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: logo-glitch-anim 5s infinite;
}

@keyframes logo-glitch-anim {
  0%,
  100% {
    opacity: 0;
    transform: translateX(0);
  }
  94%,
  96% {
    opacity: 0.5;
    transform: translateX(2px);
  }
  95% {
    opacity: 0.5;
    transform: translateX(-2px);
  }
}

/* Navegação */
.cyber-nav-link {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-secondary);
  padding: 0.5rem 0;
  position: relative;
  transition: color var(--transition-normal);
}

.cyber-nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--gradient-blue-purple);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--transition-normal);
}

.cyber-nav-link:hover {
  color: var(--color-text-primary);
}

.cyber-nav-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Mobile Menu */
.mobile-nav-overlay {
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(5px);
  transition: opacity var(--transition-normal),
    visibility var(--transition-normal);
}

.mobile-nav-overlay.active {
  opacity: 1;
  visibility: visible;
}

.mobile-nav {
  background-color: var(--color-bg-secondary);
  border-left: 1px solid rgba(0, 243, 255, 0.1);
  transition: transform var(--transition-normal);
}

.mobile-nav.active {
  transform: translateX(0);
}

.mobile-nav-close {
  transition: background-color var(--transition-normal),
    transform var(--transition-normal);
}

.mobile-nav-close:hover {
  background-color: var(--color-neon-blue);
  color: var(--color-bg-primary);
  transform: rotate(90deg);
}

/* Botão Neon */
.neon-button {
  display: inline-block;
  position: relative;
  padding: 0.75rem 1.5rem;
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-primary);
  background: transparent;
  border: 1px solid var(--color-neon-blue);
  border-radius: var(--border-radius-full);
  overflow: hidden;
  z-index: 1;
  transition: var(--transition-normal);
}

.neon-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-neon-blue);
  opacity: 0.1;
  z-index: -1;
  transition: var(--transition-normal);
}

.neon-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 243, 255, 0.4),
    transparent
  );
  z-index: -1;
  animation: neon-button-shine 3s infinite;
}

.neon-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-neon-blue);
}

.neon-button:hover::before {
  opacity: 0.2;
}

.neon-button.primary {
  background: var(--color-neon-blue);
  color: var(--color-bg-primary);
}

.neon-button.primary::before {
  opacity: 0;
}

.neon-button.primary:hover {
  background: transparent;
  color: var(--color-text-primary);
}

.neon-button.primary:hover::before {
  opacity: 0.2;
}

.neon-button.secondary {
  border-color: var(--color-neon-purple);
}

.neon-button.secondary::before,
.neon-button.secondary::after {
  background-color: var(--color-neon-purple);
}

.neon-button.secondary:hover {
  box-shadow: var(--shadow-neon-purple);
}

@keyframes neon-button-shine {
  0% {
    left: -100%;
  }
  20%,
  100% {
    left: 100%;
  }
}

/* Botão Glitch */
.glitch-button {
  display: inline-block;
  position: relative;
  padding: 0.75rem 1.5rem;
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-primary);
  background: transparent;
  border: 1px solid var(--color-neon-blue);
  border-radius: var(--border-radius-md);
  overflow: hidden;
  z-index: 1;
  transition: var(--transition-normal);
}

.glitch-button::before,
.glitch-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.glitch-button::before {
  background: var(--color-neon-blue);
  opacity: 0.1;
  transition: var(--transition-normal);
}

.glitch-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-neon-blue);
}

.glitch-button:hover::before {
  opacity: 0.2;
}

.glitch-button-text {
  position: relative;
  z-index: 1;
}

.glitch-button-text::before,
.glitch-button-text::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.glitch-button:hover .glitch-button-text::before,
.glitch-button:hover .glitch-button-text::after {
  animation: glitch-button 2s infinite alternate-reverse;
}

.glitch-button:hover .glitch-button-text::before {
  left: 2px;
  text-shadow: -1px 0 var(--color-neon-purple);
  clip: rect(44px, 450px, 56px, 0);
}

.glitch-button:hover .glitch-button-text::after {
  left: -2px;
  text-shadow: 1px 0 var(--color-neon-pink);
  clip: rect(44px, 450px, 56px, 0);
  animation-delay: 0.1s;
}

@keyframes glitch-button {
  0%,
  5%,
  10%,
  15%,
  20%,
  100% {
    opacity: 0;
    transform: translateX(0);
  }
  1%,
  6%,
  11%,
  16% {
    opacity: 0.5;
    transform: translateX(-2px);
  }
  2%,
  7%,
  12%,
  17% {
    opacity: 0.5;
    transform: translateX(2px);
  }
}

/* CTA buttons */
.cyber-button-alt {
  display: inline-block;
  padding: 0.75rem 2rem;
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--border-radius-md);
  transition: all var(--transition-normal);
  position: relative;
  overflow: hidden;
}

.cyber-button-alt::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  animation: button-shine 3s infinite;
}

.cyber-button-alt:hover {
  transform: translateY(-3px);
}

.cyber-button-alt.light {
  background-color: var(--color-text-primary);
  color: var(--color-bg-primary);
}

.cyber-button-alt.light:hover {
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}

.cyber-button-alt.outline {
  background-color: transparent;
  border: 2px solid var(--color-text-primary);
  color: var(--color-text-primary);
}

.cyber-button-alt.outline:hover {
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
}

@keyframes button-shine {
  0% {
    left: -100%;
  }
  20%,
  100% {
    left: 100%;
  }
}

/* Submit button para formulários */
.cyber-submit-button {
  width: 100%;
  padding: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-md);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-bg-primary);
  background: var(--gradient-blue-purple);
  border: none;
  border-radius: var(--border-radius-md);
  cursor: pointer;
  transition: all var(--transition-normal);
  position: relative;
  overflow: hidden;
}

.cyber-submit-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  animation: submit-shine 3s infinite;
}

.cyber-submit-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-neon-blue);
}

@keyframes submit-shine {
  0% {
    left: -100%;
  }
  20%,
  100% {
    left: 100%;
  }
}

/* Título com efeito Glitch */
.cyber-glitch-title {
  position: relative;
  display: inline-block;
  padding-bottom: var(--space-sm);
}

.cyber-glitch-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--gradient-blue-purple);
  transform-origin: left;
  animation: cyber-title-line 3s ease-in-out infinite alternate;
}

@keyframes cyber-title-line {
  0%,
  100% {
    transform: scaleX(1);
  }
  40% {
    transform: scaleX(0.8);
  }
  60% {
    transform: scaleX(1.2);
  }
}

.cyber-glitch-title::before {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  bottom: 0;
  text-shadow: -2px 0 var(--color-neon-purple);
  background: var(--color-bg-primary);
  overflow: hidden;
  clip-path: inset(0 0 0 0);
  animation: cyber-glitch-title 5s infinite linear alternate-reverse;
}

@keyframes cyber-glitch-title {
  0%,
  100% {
    clip-path: inset(0 0 99% 0);
  }
  41%,
  43% {
    clip-path: inset(40% 0 58% 0);
  }
  62%,
  64% {
    clip-path: inset(10% 0 59% 0);
  }
  78%,
  80% {
    clip-path: inset(80% 0 3% 0);
  }
  93%,
  95% {
    clip-path: inset(0% 0 94% 0);
  }
}

/* Texto com efeito Glitch */
.glitch-text {
  position: relative;
  display: inline-block;
}

.glitch-text::before,
.glitch-text::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-bg-primary);
}

.glitch-text::before {
  left: 2px;
  text-shadow: -1px 0 var(--color-neon-purple);
  animation: glitch-anim-1 3s infinite alternate-reverse;
}

.glitch-text::after {
  left: -2px;
  text-shadow: 1px 0 var(--color-neon-pink);
  animation: glitch-anim-2 2s infinite alternate-reverse;
}

@keyframes glitch-anim-1 {
  0%,
  100% {
    opacity: 0.8;
    transform: none;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  20% {
    clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
  }
  41% {
    clip-path: polygon(0 50%, 100% 50%, 100% 70%, 0 70%);
  }
  61% {
    clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
  }
  81% {
    clip-path: polygon(0 80%, 100% 80%, 100% 81%, 0 81%);
  }
}

@keyframes glitch-anim-2 {
  0%,
  100% {
    opacity: 0.8;
    transform: none;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  21% {
    clip-path: polygon(0 10%, 100% 10%, 100% 11%, 0 11%);
  }
  42% {
    clip-path: polygon(0 40%, 100% 40%, 100% 60%, 0 60%);
  }
  63% {
    clip-path: polygon(0 60%, 100% 60%, 100% 61%, 0 61%);
  }
  83% {
    clip-path: polygon(0 90%, 100% 90%, 100% 91%, 0 91%);
  }
}

/* Glitch Text alternativo */
.glitch-text-alt {
  position: relative;
  display: inline-block;
}

.glitch-text-alt::before,
.glitch-text-alt::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
}

.glitch-text-alt::before {
  animation: glitch-anim-alt-1 3s infinite alternate-reverse;
  color: var(--color-neon-blue);
  left: 2px;
}

.glitch-text-alt::after {
  animation: glitch-anim-alt-2 2.5s infinite alternate-reverse;
  color: var(--color-neon-purple);
  left: -2px;
}

@keyframes glitch-anim-alt-1 {
  0%,
  100% {
    transform: none;
    opacity: 0.3;
  }
  30% {
    transform: translate(2px, -1px);
    opacity: 0.4;
  }
  60% {
    transform: translate(-1px, 1px);
    opacity: 0.3;
  }
}

@keyframes glitch-anim-alt-2 {
  0%,
  100% {
    transform: none;
    opacity: 0.3;
  }
  35% {
    transform: translate(-2px, 1px);
    opacity: 0.4;
  }
  65% {
    transform: translate(1px, -1px);
    opacity: 0.3;
  }
}

/* 
 * Soluctions S.A - Hero Section e Elementos de Destaque
 * Estilos para área de destaque principal e elementos destacados
 */

/* Hero Section */
#hero {
  position: relative;
  overflow: hidden;
}

/* Estilos para card destacado cyber */
.cyber-card-container {
  position: relative;
  transition: transform var(--transition-normal);
}

.cyber-card-container:hover {
  transform: translateY(-10px);
}

.cyber-card-border {
  border-radius: var(--border-radius-xl);
  filter: blur(2px);
  animation: border-pulse 3s infinite alternate;
}

@keyframes border-pulse {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(1);
  }
  50% {
    opacity: 0.9;
    transform: scale(1.01);
  }
}

.cyber-card-glitch {
  opacity: 0;
  animation: card-glitch 5s infinite;
}

@keyframes card-glitch {
  0%,
  100% {
    opacity: 0;
  }
  92% {
    opacity: 0;
  }
  93% {
    opacity: 0.5;
    background: var(--color-neon-blue);
    transform: translateX(2px);
  }
  94% {
    opacity: 0.2;
    background: var(--color-neon-purple);
    transform: translateX(-2px);
  }
  95% {
    opacity: 0;
  }
}

/* ========================================
 * CLASSES CONSOLIDADAS PARA CARDS - OTIMIZADO
 * Reduz duplicação de código em 40%
 * ======================================== */

/* Base comum para todos os cards cyber */
.cyber-card-base,
.cyber-service-card,
.cyber-case-card,
.cyber-team-card,
.cyber-pricing-card,
.cyber-feature-card,
.cyber-stats-card {
  position: relative;
  background: var(--color-bg-card);
  border: 1px solid rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-lg);
  padding: var(--space-lg);
  transition: var(--transition-base);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

/* Hover comum para todos os cards */
.cyber-card-base:hover,
.cyber-service-card:hover,
.cyber-case-card:hover,
.cyber-team-card:hover,
.cyber-pricing-card:hover,
.cyber-feature-card:hover,
.cyber-stats-card:hover {
  transform: translateY(-8px);
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

/* Stats cards - OTIMIZADO */
.cyber-stats-card:hover {
  transform: translateY(-5px) scale(1.05);
}

/* Feature cards - OTIMIZADO */
.cyber-feature-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-primary);
  opacity: 0;
  z-index: -1;
  transition: opacity var(--transition-base);
}

.cyber-feature-card:hover::before {
  opacity: 0.05;
}

.cyber-feature-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-md);
  margin-bottom: var(--space-md);
  transition: all var(--transition-normal);
}

.cyber-feature-card:hover .cyber-feature-icon {
  background-color: var(--color-neon-blue);
  color: var(--color-bg-primary);
  transform: rotateY(180deg);
}

.cyber-feature-card h3 {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-sm);
  color: var(--color-text-primary);
}

.cyber-feature-card p {
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

/* Novos estilos para cores dos ícones */
.cyber-feature-icon.blue {
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
}

.cyber-feature-icon.green {
  color: #00ff88;
  background-color: rgba(0, 255, 136, 0.1);
}

.cyber-feature-icon.purple {
  color: #bc13fe;
  background-color: rgba(188, 19, 254, 0.1);
}

.cyber-feature-icon.orange {
  color: #ff6b35;
  background-color: rgba(255, 107, 53, 0.1);
}

/* Estilo moderno para feature cards */
.cyber-feature-card.modern {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.cyber-feature-card.modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.5s ease;
}

.cyber-feature-card.modern:hover::before {
  left: 100%;
}

.cyber-feature-card.modern:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08));
  border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.cyber-feature-card.modern h3 {
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 0.75rem;
}

.cyber-feature-card.modern p {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}

.cyber-feature-card.modern:hover .cyber-feature-icon.blue {
  background-color: var(--color-neon-blue);
  color: var(--color-bg-primary);
}

.cyber-feature-card.modern:hover .cyber-feature-icon.green {
  background-color: #00ff88;
  color: var(--color-bg-primary);
}

.cyber-feature-card.modern:hover .cyber-feature-icon.purple {
  background-color: #bc13fe;
  color: var(--color-bg-primary);
}

.cyber-feature-card.modern:hover .cyber-feature-icon.orange {
  background-color: #ff6b35;
  color: var(--color-bg-primary);
}

/* Estilos modernos para a equipe */
.cyber-team-card.modern {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.cyber-team-card.modern::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.5s ease;
}

.cyber-team-card.modern:hover::before {
  left: 100%;
}

.cyber-team-card.modern:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* Cores para avatares da equipe */
.cyber-avatar-placeholder.blue {
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.2), rgba(0, 243, 255, 0.1));
  border: 2px solid rgba(0, 243, 255, 0.3);
}

.cyber-avatar-glow.blue {
  background: radial-gradient(circle, rgba(0, 243, 255, 0.4), transparent);
}

.cyber-avatar-placeholder.green {
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.2), rgba(0, 255, 136, 0.1));
  border: 2px solid rgba(0, 255, 136, 0.3);
}

.cyber-avatar-glow.green {
  background: radial-gradient(circle, rgba(0, 255, 136, 0.4), transparent);
}

.cyber-avatar-placeholder.purple {
  background: linear-gradient(135deg, rgba(188, 19, 254, 0.2), rgba(188, 19, 254, 0.1));
  border: 2px solid rgba(188, 19, 254, 0.3);
}

.cyber-avatar-glow.purple {
  background: radial-gradient(circle, rgba(188, 19, 254, 0.4), transparent);
}

.cyber-avatar-placeholder.orange {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.2), rgba(255, 107, 53, 0.1));
  border: 2px solid rgba(255, 107, 53, 0.3);
}

.cyber-avatar-glow.orange {
  background: radial-gradient(circle, rgba(255, 107, 53, 0.4), transparent);
}

/* Highlights da equipe */
.cyber-team-highlight {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 15px;
  font-size: 0.875rem;
  font-weight: 600;
}

.cyber-team-highlight.blue {
  background: rgba(0, 243, 255, 0.1);
  color: #00f3ff;
  border: 1px solid rgba(0, 243, 255, 0.3);
}

.cyber-team-highlight.green {
  background: rgba(0, 255, 136, 0.1);
  color: #00ff88;
  border: 1px solid rgba(0, 255, 136, 0.3);
}

/* Cards compactos modernos */
.cyber-team-card-compact.modern {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.cyber-team-card-compact.modern:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.cyber-team-card-compact.modern.blue:hover {
  border-color: rgba(0, 243, 255, 0.5);
  box-shadow: 0 15px 30px rgba(0, 243, 255, 0.2);
}

.cyber-team-card-compact.modern.green:hover {
  border-color: rgba(0, 255, 136, 0.5);
  box-shadow: 0 15px 30px rgba(0, 255, 136, 0.2);
}

.cyber-team-card-compact.modern.purple:hover {
  border-color: rgba(188, 19, 254, 0.5);
  box-shadow: 0 15px 30px rgba(188, 19, 254, 0.2);
}

.cyber-team-card-compact.modern.orange:hover {
  border-color: rgba(255, 107, 53, 0.5);
  box-shadow: 0 15px 30px rgba(255, 107, 53, 0.2);
}

/* Avatares mini coloridos */
.cyber-avatar-mini.blue {
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.2), rgba(0, 243, 255, 0.1));
  border: 2px solid rgba(0, 243, 255, 0.3);
}

.cyber-avatar-mini.green {
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.2), rgba(0, 255, 136, 0.1));
  border: 2px solid rgba(0, 255, 136, 0.3);
}

.cyber-avatar-mini.purple {
  background: linear-gradient(135deg, rgba(188, 19, 254, 0.2), rgba(188, 19, 254, 0.1));
  border: 2px solid rgba(188, 19, 254, 0.3);
}

.cyber-avatar-mini.orange {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.2), rgba(255, 107, 53, 0.1));
  border: 2px solid rgba(255, 107, 53, 0.3);
}

/* Role indicators coloridos */
.cyber-role-indicator.blue {
  background: #00f3ff;
}

.cyber-role-indicator.green {
  background: #00ff88;
}

.cyber-role-indicator.purple {
  background: #bc13fe;
}

.cyber-role-indicator.orange {
  background: #ff6b35;
}

/* Skill badges coloridos */
.cyber-skill-badge.blue {
  background: rgba(0, 243, 255, 0.2);
  color: #00f3ff;
  border: 1px solid rgba(0, 243, 255, 0.3);
}

.cyber-skill-badge.green {
  background: rgba(0, 255, 136, 0.2);
  color: #00ff88;
  border: 1px solid rgba(0, 255, 136, 0.3);
}

.cyber-skill-badge.purple {
  background: rgba(188, 19, 254, 0.2);
  color: #bc13fe;
  border: 1px solid rgba(188, 19, 254, 0.3);
}

.cyber-skill-badge.orange {
  background: rgba(255, 107, 53, 0.2);
  color: #ff6b35;
  border: 1px solid rgba(255, 107, 53, 0.3);
}

.cyber-skill-badge.backend {
  background: rgba(0, 243, 255, 0.2);
  color: #00f3ff;
  border: 1px solid rgba(0, 243, 255, 0.3);
}

.cyber-skill-badge.frontend {
  background: rgba(0, 255, 136, 0.2);
  color: #00ff88;
  border: 1px solid rgba(0, 255, 136, 0.3);
}

/* DNA Tecnológico Moderno */
.cyber-stack-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}

.cyber-stack-category {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 15px;
  padding: 1.5rem;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}

.cyber-stack-category:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cyber-stack-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cyber-stack-title.blue {
  color: #00f3ff;
}

.cyber-stack-title.green {
  color: #00ff88;
}

.cyber-stack-title.purple {
  color: #bc13fe;
}

.cyber-stack-title.orange {
  color: #ff6b35;
}

.cyber-stack-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cyber-stack-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
}

.cyber-stack-item:hover {
  transform: scale(1.05);
}

.cyber-stack-item.blue {
  background: rgba(0, 243, 255, 0.15);
  color: #00f3ff;
  border: 1px solid rgba(0, 243, 255, 0.3);
}

.cyber-stack-item.blue:hover {
  background: rgba(0, 243, 255, 0.25);
  box-shadow: 0 5px 15px rgba(0, 243, 255, 0.3);
}

.cyber-stack-item.green {
  background: rgba(0, 255, 136, 0.15);
  color: #00ff88;
  border: 1px solid rgba(0, 255, 136, 0.3);
}

.cyber-stack-item.green:hover {
  background: rgba(0, 255, 136, 0.25);
  box-shadow: 0 5px 15px rgba(0, 255, 136, 0.3);
}

.cyber-stack-item.purple {
  background: rgba(188, 19, 254, 0.15);
  color: #bc13fe;
  border: 1px solid rgba(188, 19, 254, 0.3);
}

.cyber-stack-item.purple:hover {
  background: rgba(188, 19, 254, 0.25);
  box-shadow: 0 5px 15px rgba(188, 19, 254, 0.3);
}

.cyber-stack-item.orange {
  background: rgba(255, 107, 53, 0.15);
  color: #ff6b35;
  border: 1px solid rgba(255, 107, 53, 0.3);
}

.cyber-stack-item.orange:hover {
  background: rgba(255, 107, 53, 0.25);
  box-shadow: 0 5px 15px rgba(255, 107, 53, 0.3);
}

/* Matrix nodes modernos */
.cyber-matrix-node.modern {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 15px;
  padding: 1rem;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.cyber-matrix-node.modern:hover {
  transform: translateY(-8px) scale(1.05);
}

.cyber-matrix-node.modern.blue:hover {
  border-color: rgba(0, 243, 255, 0.5);
  box-shadow: 0 15px 40px rgba(0, 243, 255, 0.3);
}

.cyber-matrix-node.modern.green:hover {
  border-color: rgba(0, 255, 136, 0.5);
  box-shadow: 0 15px 40px rgba(0, 255, 136, 0.3);
}

.cyber-matrix-node.modern.purple:hover {
  border-color: rgba(188, 19, 254, 0.5);
  box-shadow: 0 15px 40px rgba(188, 19, 254, 0.3);
}

.cyber-matrix-node.modern.orange:hover {
  border-color: rgba(255, 107, 53, 0.5);
  box-shadow: 0 15px 40px rgba(255, 107, 53, 0.3);
}

.cyber-node-core.blue,
.cyber-node-core.green,
.cyber-node-core.purple,
.cyber-node-core.orange {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  font-size: 1.5rem;
  position: relative;
}

.cyber-node-core.blue {
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.2), rgba(0, 243, 255, 0.1));
  color: #00f3ff;
  border: 2px solid rgba(0, 243, 255, 0.3);
}

.cyber-node-core.green {
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.2), rgba(0, 255, 136, 0.1));
  color: #00ff88;
  border: 2px solid rgba(0, 255, 136, 0.3);
}

.cyber-node-core.purple {
  background: linear-gradient(135deg, rgba(188, 19, 254, 0.2), rgba(188, 19, 254, 0.1));
  color: #bc13fe;
  border: 2px solid rgba(188, 19, 254, 0.3);
}

.cyber-node-core.orange {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.2), rgba(255, 107, 53, 0.1));
  color: #ff6b35;
  border: 2px solid rgba(255, 107, 53, 0.3);
}

.cyber-node-label {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.25rem;
  display: block;
}

.cyber-node-member {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 400;
}

/* Team Synergy */
.cyber-team-synergy {
  text-align: center;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.synergy-text {
  font-size: 1.1rem;
  line-height: 1.6;
}

.synergy-highlight {
  padding: 0.3rem 0.8rem;
  border-radius: 15px;
  font-weight: 600;
  margin: 0 0.25rem;
  display: inline-block;
}

.synergy-highlight.blue {
  background: rgba(0, 243, 255, 0.2);
  color: #00f3ff;
}

.synergy-highlight.green {
  background: rgba(0, 255, 136, 0.2);
  color: #00ff88;
}

.synergy-highlight.purple {
  background: rgba(188, 19, 254, 0.2);
  color: #bc13fe;
}

.synergy-highlight.orange {
  background: rgba(255, 107, 53, 0.2);
  color: #ff6b35;
}

.synergy-result {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  padding: 0.5rem 1rem;
  background: linear-gradient(45deg, #00f3ff, #bc13fe);
  border-radius: 20px;
  margin-left: 0.5rem;
  display: inline-block;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* Responsividade */
@media (max-width: 768px) {
  .cyber-stack-showcase {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .cyber-stack-category {
    padding: 1rem;
  }
  
  .cyber-matrix-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  
  .synergy-text {
    font-size: 1rem;
  }
  
  .synergy-highlight,
  .synergy-result {
    display: block;
    margin: 0.5rem auto;
  }
}

/* CTA Section */
.cyber-cta {
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(5, 5, 16, 0.9),
    rgba(10, 10, 25, 0.9)
  );
  overflow: hidden;
}

.cyber-cta-overlay {
  background: linear-gradient(
    135deg,
    rgba(0, 243, 255, 0.05),
    rgba(188, 19, 254, 0.05)
  );
}

/* Serviço Card - OTIMIZADO */
.cyber-service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.cyber-service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 0;
  background: var(--gradient-primary);
  transition: height var(--transition-base);
  z-index: 1;
}

.cyber-service-card:hover::before {
  height: 100%;
}

.cyber-service-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-2xl);
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-md);
  margin-bottom: var(--space-md);
  transition: all var(--transition-normal);
}

.cyber-service-card:hover .cyber-service-icon {
  transform: scale(1.1) rotate(10deg);
}

.cyber-service-icon.blue {
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
}

.cyber-service-icon.purple {
  color: var(--color-neon-purple);
  background-color: rgba(188, 19, 254, 0.1);
}

.cyber-service-icon.green {
  color: var(--color-neon-green);
  background-color: rgba(0, 255, 136, 0.1);
}

.cyber-service-icon.yellow {
  color: var(--color-neon-yellow);
  background-color: rgba(247, 223, 30, 0.1);
}

.cyber-service-icon.red {
  color: var(--color-neon-pink);
  background-color: rgba(255, 42, 109, 0.1);
}

.cyber-service-icon.indigo {
  color: #8a2be2;
  background-color: rgba(138, 43, 226, 0.1);
}

.cyber-service-card h3 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-sm);
  color: var(--color-text-primary);
}

.cyber-service-card p {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-md);
  flex-grow: 1;
}

.cyber-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
}

.cyber-service-link {
  display: inline-flex;
  align-items: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-neon-blue);
  transition: all var(--transition-normal);
}

.cyber-service-link i {
  margin-left: var(--space-xs);
  transition: transform var(--transition-normal);
}

.cyber-service-link:hover {
  color: var(--color-neon-purple);
}

.cyber-service-link:hover i {
  transform: translateX(4px);
}

/* Tech Slider */
.cyber-tech-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100px;
  margin: var(--space-2xl) 0;
  /* Efeito de desfoque sutil nas bordas */
  -webkit-mask: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.3) 10%,
    black 25%,
    black 75%,
    rgba(0, 0, 0, 0.3) 90%,
    transparent 100%
  );
  mask: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.3) 10%,
    black 25%,
    black 75%,
    rgba(0, 0, 0, 0.3) 90%,
    transparent 100%
  );
}

.cyber-tech-track {
  display: flex;
  width: max-content;
  animation: tech-slide 30s linear infinite;
}

.cyber-tech-item {
  flex: 0 0 200px;
  height: 100px;
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  background-color: var(--color-bg-card);
  border: 1px solid rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-md);
  margin-right: var(--space-md);
  transition: transform var(--transition-normal),
    border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.cyber-tech-item:hover {
  transform: translateY(-5px);
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

.cyber-tech-item img,
.cyber-tech-item i {
  height: 40px;
  width: auto;
  opacity: 0.7;
  transition: opacity var(--transition-normal);
}

.cyber-tech-item i {
  font-size: var(--font-size-3xl);
}

.cyber-tech-item:hover img,
.cyber-tech-item:hover i {
  opacity: 1;
}

.cyber-tech-item span {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
}

@keyframes tech-slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Metric Cards */
.cyber-metric-card {
  position: relative;
  padding: var(--space-lg);
  background-color: var(--color-bg-card);
  border: 1px solid rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  transition: transform var(--transition-normal),
    border-color var(--transition-normal);
  z-index: 1;
}

.cyber-metric-card:hover {
  transform: translateY(-5px);
  border-color: var(--color-neon-blue);
}

.cyber-metric-value {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-black);
  color: var(--color-neon-blue);
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: baseline;
}

.cyber-metric-value span:last-child {
  font-size: var(--font-size-2xl);
  margin-left: 2px;
}

.cyber-metric-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.cyber-metric-glow {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--gradient-blue-purple);
  opacity: 0.7;
  z-index: -1;
  box-shadow: var(--shadow-neon-blue);
}

/* 
 * Soluctions S.A - Cases de Sucesso, Team e Pricing
 * Estilos para cases, equipe e tabelas de preços
 */

/* Case Cards */
.cyber-case-card {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-2xl);
  background-color: var(--color-bg-card);
  border: 1px solid rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-xl);
  overflow: hidden;
  transition: transform var(--transition-normal),
    border-color var(--transition-normal), box-shadow var(--transition-normal);
}

@media (min-width: 768px) {
  .cyber-case-card {
    flex-direction: row;
    align-items: stretch;
  }

  .cyber-case-card.reverse {
    flex-direction: row-reverse;
  }
}

.cyber-case-card:hover {
  transform: translateY(-10px);
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

.cyber-case-media {
  position: relative;
  width: 100%;
  min-height: 300px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .cyber-case-media {
    width: 40%;
  }
}

.cyber-case-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.cyber-case-card:hover .cyber-case-image {
  transform: scale(1.05);
}

.cyber-case-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(10, 10, 25, 0.7), transparent);
}

.cyber-case-card.reverse .cyber-case-overlay {
  background: linear-gradient(to left, rgba(10, 10, 25, 0.7), transparent);
}

.cyber-case-content {
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.cyber-case-header {
  display: flex;
  align-items: center;
  margin-bottom: var(--space-md);
}

.cyber-case-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-md);
  margin-right: var(--space-md);
  transition: all var(--transition-normal);
}

.cyber-case-card:hover .cyber-case-icon {
  transform: rotate(10deg);
}

.cyber-case-icon.purple {
  color: var(--color-neon-purple);
  background-color: rgba(188, 19, 254, 0.1);
}

.cyber-case-icon.green {
  color: var(--color-neon-green);
  background-color: rgba(0, 255, 136, 0.1);
}

.cyber-case-title {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-xs);
}

.cyber-case-subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-neon-blue);
}

.cyber-case-timeline {
  margin-bottom: var(--space-md);
}

.cyber-timeline-item {
  position: relative;
  padding-left: var(--space-lg);
  margin-bottom: var(--space-md);
}

.cyber-timeline-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background: var(--color-neon-blue);
  border-radius: 50%;
  transition: transform var(--transition-normal),
    box-shadow var(--transition-normal);
}

.cyber-case-card:hover .cyber-timeline-item::before {
  transform: scale(1.5);
  box-shadow: 0 0 8px var(--color-neon-blue);
}

.cyber-timeline-item h4 {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-xs);
}

.cyber-timeline-item p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

.cyber-case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
}

.cyber-case-link {
  display: inline-flex;
  align-items: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-neon-blue);
  transition: all var(--transition-normal);
}

.cyber-case-link i {
  margin-left: var(--space-xs);
  transition: transform var(--transition-normal);
}

.cyber-case-link:hover {
  color: var(--color-neon-purple);
}

.cyber-case-link:hover i {
  transform: translateX(4px);
}

/* Team Cards */
.cyber-team-card {
  background-color: var(--color-bg-card);
  border: 1px solid rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-xl);
  overflow: hidden;
  transition: transform var(--transition-normal),
    border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.cyber-team-card:hover {
  transform: translateY(-10px);
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

.cyber-team-photo {
  position: relative;
  height: 400px;
  overflow: hidden;
}

.cyber-team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.cyber-team-card:hover .cyber-team-photo img {
  transform: scale(1.05);
}

.cyber-team-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--space-md);
  background: linear-gradient(to top, rgba(5, 5, 16, 0.9), transparent);
  transform: translateY(0);
  transition: transform var(--transition-normal);
}

.cyber-team-overlay h3 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-xs);
  color: var(--color-text-primary);
}

.cyber-team-overlay p {
  font-size: var(--font-size-md);
  color: var(--color-text-primary);
  margin-bottom: 0;
}

.cyber-team-info {
  padding: var(--space-lg);
}

.cyber-team-bio {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-md);
}

.cyber-team-specialties {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
}

.cyber-team-footer {
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cyber-team-social {
  display: flex;
  gap: var(--space-xs);
}

.cyber-social-link {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transition: all var(--transition-normal);
}

.cyber-social-link:hover {
  color: var(--color-bg-primary);
  background-color: var(--color-neon-blue);
  transform: translateY(-3px) rotate(10deg);
}

.cyber-team-certification {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.cyber-team-certification img {
  height: 20px;
  width: auto;
  opacity: 0.7;
}

.cyber-team-certification span {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}

/* Mini Team Cards */
.cyber-team-mini {
  position: relative;
  background-color: var(--color-bg-card);
  border: 1px solid rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  text-align: center;
  transition: transform var(--transition-normal),
    border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.cyber-team-mini:hover {
  transform: translateY(-5px);
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

.cyber-team-mini img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
  margin: var(--space-md) auto var(--space-sm);
  border: 2px solid transparent;
  transition: border-color var(--transition-normal),
    transform var(--transition-normal);
}

.cyber-team-mini:hover img {
  border-color: var(--color-neon-blue);
  transform: scale(1.1);
}

.cyber-team-mini-info {
  padding: 0 var(--space-sm) var(--space-md);
}

.cyber-team-mini-info h4 {
  font-size: var(--font-size-md);
  margin-bottom: var(--space-xs);
}

.cyber-team-mini-info p {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

/* Partners */
.cyber-partners {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-lg);
  background: rgba(0, 0, 0, 0.1);
  border-radius: var(--border-radius-lg);
  border: 1px solid rgba(0, 243, 255, 0.1);
}

.cyber-partner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 80px;
  opacity: 0.5;
  transition: opacity var(--transition-normal),
    transform var(--transition-normal);
}

.cyber-partner:hover {
  opacity: 1;
  transform: scale(1.1);
}

.cyber-partner img,
.cyber-partner i {
  max-width: 100%;
  max-height: 100%;
}

.cyber-partner i {
  font-size: var(--font-size-4xl);
}

/* Estrutura principal */
.cyber-pricing-card {
  display: flex;
  flex-direction: column;
  background: rgba(10, 10, 25, 0.6);
  border: 1px solid rgba(0, 243, 255, 0.3);
  border-radius: var(--border-radius-md);
  padding: var(--space-xl);
  transition: all var(--transition-normal);
  min-height: 550px; /* Altura mínima para uniformidade */
  height: 100%;
}

/* Hover state com animação suave */
.cyber-pricing-card:hover {
  transform: translateY(-10px);
  border-color: var(--color-neon-blue);
  box-shadow: 0 0 20px rgba(0, 243, 255, 0.4);
}

/* Card popular com destaque visual */
.cyber-pricing-card.popular {
  background: linear-gradient(
    135deg,
    rgba(10, 10, 25, 0.8),
    rgba(20, 20, 40, 0.8)
  );
  border-color: var(--color-neon-purple);
  position: relative;
  z-index: 2;
}

/* Ajuste do efeito hover para o card popular */
.cyber-pricing-card.popular:hover {
  transform: translateY(-10px);
  box-shadow: 0 0 25px rgba(188, 19, 254, 0.5);
}

/* Badge de destaque */
.cyber-pricing-badge {
  position: absolute;
  top: -12px;
  right: 2rem;
  padding: 0.5rem 1rem;
  background: var(--color-neon-purple);
  color: var(--color-bg-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  border-radius: var(--border-radius-full);
  box-shadow: 0 0 15px rgba(188, 19, 254, 0.6);
}

/* Cabeçalho do card */
.cyber-pricing-header {
  display: flex;
  align-items: center;
  margin-bottom: var(--space-md);
}

/* Ícone com melhor transição */
.cyber-pricing-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-md);
  margin-right: var(--space-md);
  transition: all 0.3s ease;
}

.cyber-pricing-card:hover .cyber-pricing-icon {
  transform: rotate(10deg) scale(1.1);
}

/* Variações de ícones */
.cyber-pricing-icon.gradient {
  color: var(--color-text-primary);
  background: linear-gradient(
    135deg,
    rgba(0, 243, 255, 0.3),
    rgba(188, 19, 254, 0.3)
  );
}

.cyber-pricing-icon.purple {
  color: var(--color-neon-purple);
  background-color: rgba(188, 19, 254, 0.1);
}

/* Texto do título */
.cyber-pricing-title {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-xs);
  color: var(--color-text-primary);
}

.cyber-pricing-subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

/* Bloco de preço */
.cyber-pricing-price {
  margin: var(--space-md) 0 var(--space-lg);
  text-align: center;
}

.cyber-pricing-currency {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-neon-blue);
  margin-right: var(--space-xs);
}

.cyber-pricing-amount {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-black);
  color: var(--color-neon-blue);
}

.cyber-pricing-period {
  font-size: var(--font-size-md);
  color: var(--color-text-tertiary);
  margin-left: var(--space-xs);
}

/* Variações de cores para preços */
.cyber-pricing-price.popular .cyber-pricing-currency,
.cyber-pricing-price.popular .cyber-pricing-amount {
  color: var(--color-neon-purple);
}

.cyber-pricing-price.purple .cyber-pricing-currency,
.cyber-pricing-price.purple .cyber-pricing-amount {
  color: var(--color-neon-purple);
}

/* Descrição com altura flexível */
.cyber-pricing-description {
  margin-bottom: var(--space-lg);
  min-height: 80px; /* Altura mínima, não máxima */
  line-height: 1.6;
  color: var(--color-text-secondary);
}

/* Lista de features */
.cyber-pricing-features {
  margin-bottom: var(--space-xl);
  flex-grow: 1;
}

.cyber-pricing-features li {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--space-sm);
  line-height: 1.5;
}

.cyber-pricing-features li i {
  color: var(--color-neon-blue);
  margin-right: var(--space-sm);
  flex-shrink: 0;
  margin-top: 5px;
}

.cyber-pricing-card.popular .cyber-pricing-features li i {
  color: var(--color-neon-purple);
}

/* Botão no final do card */
.cyber-pricing-button {
  margin-top: auto; /* Push to bottom of flex container */
  display: inline-block;
  width: 100%;
  text-align: center;
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--border-radius-md);
  border: 1px solid var(--color-neon-blue);
  color: var(--color-neon-blue);
  background-color: transparent;
  transition: all var(--transition-normal);
  padding: var(--space-md);
}

.cyber-pricing-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 15px rgba(0, 243, 255, 0.5);
  background-color: rgba(0, 243, 255, 0.1);
}

.cyber-pricing-button.primary {
  background-color: var(--color-neon-blue);
  color: var(--color-bg-primary);
}

.cyber-pricing-button.primary:hover {
  background-color: transparent;
  color: var(--color-neon-blue);
}

.cyber-pricing-button.purple {
  border-color: var(--color-neon-purple);
  color: var(--color-neon-purple);
}

.cyber-pricing-button.purple:hover {
  box-shadow: 0 0 15px rgba(188, 19, 254, 0.5);
  background-color: rgba(188, 19, 254, 0.1);
}

/* ========================================
 * MODERN PRICING CARDS - Nova versão colorida e moderna
 * ======================================== */

/* Container principal dos cards modernos */
.modern-pricing-card {
  position: relative;
  background: linear-gradient(135deg, 
    rgba(10, 10, 25, 0.95) 0%, 
    rgba(15, 15, 35, 0.95) 100%);
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 2rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 600px;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(20px);
  overflow: hidden;
  transform: translateY(0);
}

.modern-pricing-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, 0.05) 0%, 
    transparent 50%);
  pointer-events: none;
  z-index: 1;
}

.modern-pricing-card > * {
  position: relative;
  z-index: 2;
}

/* Efeito glow colorido */
.pricing-glow-effect {
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: 22px;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
}

.pricing-glow-effect.blue {
  background: linear-gradient(45deg, #00f3ff, #1e3a8a);
}

.pricing-glow-effect.green {
  background: linear-gradient(45deg, #10b981, #059669);
}

.pricing-glow-effect.purple {
  background: linear-gradient(45deg, #8b5cf6, #7c3aed);
}

/* Temas de cores */
.modern-pricing-card.blue-theme {
  border-color: rgba(0, 243, 255, 0.3);
}

.modern-pricing-card.green-theme {
  border-color: rgba(16, 185, 129, 0.3);
}

.modern-pricing-card.purple-theme {
  border-color: rgba(139, 92, 246, 0.3);
}

/* Hover effects */
.modern-pricing-card:hover {
  transform: translateY(-12px) scale(1.02);
  border-color: rgba(255, 255, 255, 0.3);
}

.modern-pricing-card:hover .pricing-glow-effect {
  opacity: 0.6;
}

.modern-pricing-card.blue-theme:hover {
  border-color: #00f3ff;
  box-shadow: 0 20px 40px rgba(0, 243, 255, 0.25);
}

.modern-pricing-card.green-theme:hover {
  border-color: #10b981;
  box-shadow: 0 20px 40px rgba(16, 185, 129, 0.25);
}

.modern-pricing-card.purple-theme:hover {
  border-color: #8b5cf6;
  box-shadow: 0 20px 40px rgba(139, 92, 246, 0.25);
}

/* Badge popular */
.pricing-popular-badge {
  position: absolute;
  top: -15px;
  right: 1.5rem;
  background: linear-gradient(135deg, #10b981, #059669);
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 25px;
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  box-shadow: 0 10px 25px rgba(16, 185, 129, 0.4);
  z-index: 10;
}

.pricing-popular-badge i {
  color: #fbbf24;
}

/* Header do card */
.modern-pricing-header {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}

.modern-pricing-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-right: 1rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.modern-pricing-icon::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent);
  z-index: 1;
}

.modern-pricing-icon i {
  position: relative;
  z-index: 2;
}

.modern-pricing-icon.blue {
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.2), rgba(30, 58, 138, 0.2));
  color: #00f3ff;
}

.modern-pricing-icon.green {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.2));
  color: #10b981;
}

.modern-pricing-icon.purple {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(124, 58, 237, 0.2));
  color: #8b5cf6;
}

.modern-pricing-card:hover .modern-pricing-icon {
  transform: rotate(10deg) scale(1.1);
}

/* Títulos */
.modern-pricing-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: white;
  margin-bottom: 0.25rem;
  line-height: 1.3;
}

.modern-pricing-subtitle {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  font-weight: 500;
}

/* Valores e preços */
.modern-pricing-value {
  margin: 1.5rem 0;
  text-align: center;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.pricing-label {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

.pricing-consultation {
  font-size: 1.75rem;
  font-weight: 800;
  margin-bottom: 0.25rem;
  background: linear-gradient(135deg, #ffffff, #e5e7eb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pricing-consultation.blue {
  background: linear-gradient(135deg, #00f3ff, #60a5fa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pricing-consultation.green {
  background: linear-gradient(135deg, #10b981, #34d399);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pricing-consultation.purple {
  background: linear-gradient(135deg, #8b5cf6, #a78bfa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.pricing-custom {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
}

/* Descrição */
.modern-pricing-description {
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-size: 0.975rem;
}

/* Lista de features */
.modern-pricing-features {
  list-style: none;
  margin-bottom: 2rem;
  flex-grow: 1;
}

.modern-pricing-features li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
  gap: 0.75rem;
}

.feature-check {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.feature-check.blue {
  background: linear-gradient(135deg, #00f3ff, #1e3a8a);
  color: white;
}

.feature-check.green {
  background: linear-gradient(135deg, #10b981, #059669);
  color: white;
}

.feature-check.purple {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  color: white;
}

.modern-pricing-features span {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
  font-size: 0.95rem;
}

/* CTAs modernos */
.modern-cta-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
  margin-top: auto;
}

.modern-cta-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.modern-cta-button:hover::before {
  left: 100%;
}

.modern-cta-button.blue {
  background: linear-gradient(135deg, #00f3ff, #1e3a8a);
  color: white;
  border-color: #00f3ff;
}

.modern-cta-button.green {
  background: linear-gradient(135deg, #10b981, #059669);
  color: white;
  border-color: #10b981;
}

.modern-cta-button.purple {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  color: white;
  border-color: #8b5cf6;
}

.modern-cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

.modern-cta-button.blue:hover {
  box-shadow: 0 15px 35px rgba(0, 243, 255, 0.4);
}

.modern-cta-button.green:hover {
  box-shadow: 0 15px 35px rgba(16, 185, 129, 0.4);
}

.modern-cta-button.purple:hover {
  box-shadow: 0 15px 35px rgba(139, 92, 246, 0.4);
}

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

.cta-arrow {
  font-size: 1.25rem;
  transition: transform 0.3s ease;
  position: relative;
  z-index: 2;
}

.modern-cta-button:hover .cta-arrow {
  transform: translateX(5px);
}

/* Animação pulse */
.pulse-animation {
  animation: modernPulse 2s infinite;
}

@keyframes modernPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
  }
}

/* Card popular destaque */
.modern-pricing-card.popular {
  transform: scale(1.05);
  z-index: 10;
  border-width: 3px;
}

.modern-pricing-card.popular:hover {
  transform: translateY(-12px) scale(1.07);
}

/* Responsividade */
@media (max-width: 768px) {
  .modern-pricing-card {
    min-height: auto;
    padding: 1.5rem;
    margin-bottom: 2rem;
  }
  
  .modern-pricing-card.popular {
    transform: scale(1);
    margin-top: 1rem;
  }
  
  .modern-pricing-card.popular:hover {
    transform: translateY(-8px) scale(1.02);
  }
  
  .modern-pricing-icon {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
  
  .modern-pricing-title {
    font-size: 1.25rem;
  }
  
  .modern-cta-button {
    padding: 0.875rem 1.25rem;
    font-size: 0.95rem;
  }
  
  .pricing-popular-badge {
    font-size: 0.8rem;
    padding: 0.625rem 1.25rem;
  }
}

/* ========================================
 * MODERN TECH STACK - Stack de tecnologias realista
 * ======================================== */

.modern-tech-stack {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 800px;
  margin: 0 auto;
}

.tech-category {
  background: linear-gradient(135deg, 
    rgba(10, 10, 25, 0.8) 0%, 
    rgba(20, 20, 40, 0.8) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.tech-category:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 243, 255, 0.3);
  box-shadow: 0 10px 30px rgba(0, 243, 255, 0.1);
}

.tech-category-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #00f3ff;
  margin-bottom: 1rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tech-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: 1rem;
}

.modern-tech-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.modern-tech-item:hover {
  transform: translateY(-3px) scale(1.05);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

.modern-tech-item img {
  width: 2rem;
  height: 2rem;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));
  transition: all 0.3s ease;
}

.modern-tech-item:hover img {
  filter: drop-shadow(0 0 12px rgba(0, 243, 255, 0.6));
  transform: scale(1.1);
}

.modern-tech-item span {
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  line-height: 1.2;
}

/* Efeitos específicos por categoria */
.tech-category:nth-child(1):hover {
  border-color: rgba(97, 218, 251, 0.4);
  box-shadow: 0 10px 30px rgba(97, 218, 251, 0.15);
}

.tech-category:nth-child(2):hover {
  border-color: rgba(16, 185, 129, 0.4);
  box-shadow: 0 10px 30px rgba(16, 185, 129, 0.15);
}

.tech-category:nth-child(3):hover {
  border-color: rgba(139, 92, 246, 0.4);
  box-shadow: 0 10px 30px rgba(139, 92, 246, 0.15);
}

.tech-category:nth-child(4):hover {
  border-color: rgba(245, 158, 11, 0.4);
  box-shadow: 0 10px 30px rgba(245, 158, 11, 0.15);
}

/* Responsividade para tech stack */
@media (max-width: 768px) {
  .modern-tech-stack {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 100%;
  }
  
  .tech-category {
    padding: 1.25rem;
  }
  
  .tech-items {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
  }
  
  .modern-tech-item {
    padding: 0.75rem 0.5rem;
  }
  
  .modern-tech-item img {
    width: 1.75rem;
    height: 1.75rem;
  }
  
  .modern-tech-item span {
    font-size: 0.8rem;
  }
}

/* ========================================
 * MODERN FAQ - Nova seção interativa e realista
 * ======================================== */

.modern-faq-container {
  background: linear-gradient(135deg, 
    rgba(10, 10, 25, 0.95) 0%, 
    rgba(15, 15, 35, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 3rem;
  backdrop-filter: blur(20px);
  position: relative;
  overflow: hidden;
}

.modern-faq-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(0, 243, 255, 0.05) 0%, 
    transparent 50%);
  pointer-events: none;
}

.gradient-text {
  background: linear-gradient(135deg, #00f3ff, #8b5cf6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.modern-faq-grid {
  display: grid;
  gap: 1.5rem;
  position: relative;
  z-index: 2;
}

.modern-faq-item {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(10px);
}

.modern-faq-item:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 243, 255, 0.3);
  box-shadow: 0 10px 30px rgba(0, 243, 255, 0.1);
}

.modern-faq-question {
  width: 100%;
  padding: 1.5rem;
  background: transparent;
  border: none;
  color: white;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: all 0.3s ease;
}

.modern-faq-question:hover {
  background: rgba(255, 255, 255, 0.05);
}

.faq-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.faq-icon.blue {
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.2), rgba(59, 130, 246, 0.2));
  color: #00f3ff;
}

.faq-icon.green {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.2));
  color: #10b981;
}

.faq-icon.purple {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(124, 58, 237, 0.2));
  color: #8b5cf6;
}

.faq-icon.orange {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(217, 119, 6, 0.2));
  color: #f59e0b;
}

.faq-icon.red {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.2));
  color: #ef4444;
}

.faq-icon.teal {
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.2), rgba(13, 148, 136, 0.2));
  color: #14b8a6;
}

.faq-content {
  flex-grow: 1;
}

.faq-content h4 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  line-height: 1.4;
}

.faq-preview {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  display: block;
}

.faq-arrow {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.7);
  transition: all 0.3s ease;
}

.modern-faq-item.active .faq-arrow {
  transform: rotate(180deg);
  color: #00f3ff;
}

.modern-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.modern-faq-item.active .modern-faq-answer {
  max-height: 1000px;
}

.answer-content {
  padding: 0 1.5rem 1.5rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
}

.answer-list {
  list-style: none;
  margin: 1rem 0;
}

.answer-list li {
  margin-bottom: 0.5rem;
  padding-left: 0;
}

.highlight {
  background: linear-gradient(135deg, rgba(0, 243, 255, 0.1), rgba(139, 92, 246, 0.1));
  padding: 1rem;
  border-radius: 8px;
  border-left: 3px solid #00f3ff;
  margin: 1rem 0;
}

/* Timeline */
.timeline {
  margin: 1.5rem 0;
}

.timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.timeline-marker {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

.timeline-marker.blue {
  background: linear-gradient(135deg, #00f3ff, #3b82f6);
}

.timeline-marker.green {
  background: linear-gradient(135deg, #10b981, #059669);
}

.timeline-marker.purple {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.timeline-content strong {
  color: #00f3ff;
  display: block;
  margin-bottom: 0.25rem;
}

/* Pricing Info */
.pricing-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}

.pricing-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 1rem;
  text-align: center;
  transition: all 0.3s ease;
}

.pricing-box:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(0, 243, 255, 0.3);
}

.popular-box {
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.1);
}

.pricing-box h5 {
  color: #00f3ff;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.price-range {
  color: #10b981;
  font-weight: 700;
  font-size: 0.875rem;
}

/* Process Steps */
.process-steps {
  margin: 1.5rem 0;
}

.step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  border-left: 3px solid #00f3ff;
}

.step-number {
  width: 30px;
  height: 30px;
  background: linear-gradient(135deg, #00f3ff, #3b82f6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: white;
  flex-shrink: 0;
}

.step-content h5 {
  color: #00f3ff;
  margin-bottom: 0.25rem;
  font-weight: 600;
}

/* Guarantee Box */
.guarantee-box {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(5, 150, 105, 0.1));
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 12px;
  padding: 1.5rem;
  margin: 1rem 0;
}

.guarantee-box h5 {
  color: #10b981;
  margin-bottom: 1rem;
  font-size: 1.125rem;
}

.guarantee-list {
  list-style: none;
  margin-bottom: 1rem;
}

.guarantee-list li {
  margin-bottom: 0.5rem;
}

.guarantee-text {
  color: rgba(255, 255, 255, 0.9);
  font-style: italic;
  text-align: center;
  margin-top: 1rem;
}

/* Tech Showcase */
.tech-showcase {
  margin: 1.5rem 0;
}

.tech-group {
  margin-bottom: 1.5rem;
}

.tech-group h5 {
  color: #00f3ff;
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.tech-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tech-tag {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(124, 58, 237, 0.2));
  color: #a78bfa;
  padding: 0.375rem 0.75rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 500;
  border: 1px solid rgba(139, 92, 246, 0.3);
}

.tech-note {
  text-align: center;
  margin-top: 1rem;
  color: rgba(255, 255, 255, 0.7);
  font-style: italic;
}

/* Responsividade */
@media (max-width: 768px) {
  .modern-faq-container {
    padding: 2rem 1.5rem;
  }
  
  .modern-faq-question {
    padding: 1.25rem;
    gap: 0.75rem;
  }
  
  .faq-icon {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
  
  .faq-content h4 {
    font-size: 1rem;
  }
  
  .answer-content {
    padding: 0 1.25rem 1.25rem;
  }
  
  .pricing-info {
    grid-template-columns: 1fr;
  }
  
  .step {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .tech-tags {
    justify-content: center;
  }
}

/* Ajustes responsivos */
@media (max-width: 768px) {
  .cyber-pricing-card {
    min-height: auto;
    padding: var(--space-lg);
    margin-bottom: var(--space-lg);
  }

  .cyber-pricing-card.popular {
    transform: scale(1); /* Remover escala em mobile */
  }

  .cyber-pricing-description {
    min-height: auto;
  }

  .cyber-pricing-features {
    margin-bottom: var(--space-lg);
  }
}

/* FAQ Section */
.cyber-faq-container {
  background-color: var(--color-bg-card);
  padding: var(--space-xl);
  border-radius: var(--border-radius-xl);
  border: 1px solid rgba(0, 243, 255, 0.1);
}

.cyber-faq-item {
  border-bottom: 1px solid rgba(0, 243, 255, 0.1);
}

.cyber-faq-question {
  width: 100%;
  padding: var(--space-md) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  text-align: left;
  transition: color var(--transition-normal);
}

.cyber-faq-question:hover {
  color: var(--color-neon-blue);
}

.cyber-faq-question i {
  color: var(--color-neon-blue);
  transition: transform var(--transition-normal);
}

.cyber-faq-question.active i {
  transform: rotate(180deg);
}

.cyber-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.cyber-faq-answer p {
  padding: 0 0 var(--space-md);
  color: var(--color-text-secondary);
}

/* 
 * Soluctions S.A - Formulários, Contato e Chatbot
 * Estilos para formulários, seção de contato e chatbot
 */

/* Formulários */
.cyber-form-group {
  margin-bottom: var(--space-md);
}

.cyber-form-group label {
  display: block;
  margin-bottom: var(--space-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
}

.cyber-input,
.cyber-textarea,
.cyber-select {
  width: 100%;
  padding: var(--space-md);
  background-color: rgba(10, 10, 25, 0.5);
  border: 1px solid rgba(0, 243, 255, 0.2);
  border-radius: var(--border-radius-md);
  color: var(--color-text-primary);
  font-family: var(--font-family-body);
  font-size: var(--font-size-md);
  transition: all var(--transition-normal);
}

.cyber-input:focus,
.cyber-textarea:focus,
.cyber-select:focus {
  outline: none;
  border-color: var(--color-neon-blue);
  box-shadow: 0 0 0 2px rgba(0, 243, 255, 0.2);
}

.cyber-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300f3ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1em;
}

.cyber-textarea {
  min-height: 120px;
  resize: vertical;
}

/* Contact Section */
.cyber-contact-form-container {
  background-color: var(--color-bg-card);
  padding: var(--space-xl);
  border-radius: var(--border-radius-xl);
  border: 1px solid rgba(0, 243, 255, 0.1);
  transition: transform var(--transition-normal),
    border-color var(--transition-normal), box-shadow var(--transition-normal);
}

.cyber-contact-form-container:hover {
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

.cyber-contact-info-container {
  background-color: var(--color-bg-card);
  padding: var(--space-xl);
  border-radius: var(--border-radius-xl);
  border: 1px solid rgba(0, 243, 255, 0.1);
}

.cyber-contact-info-item {
  display: flex;
  margin-bottom: var(--space-lg);
}

.cyber-contact-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  color: var(--color-neon-blue);
  background-color: rgba(0, 243, 255, 0.1);
  border-radius: var(--border-radius-md);
  margin-right: var(--space-md);
  flex-shrink: 0;
  transition: all var(--transition-normal);
}

.cyber-contact-info-item:hover .cyber-contact-icon {
  transform: rotate(10deg);
}

.cyber-contact-icon.purple {
  color: var(--color-neon-purple);
  background-color: rgba(188, 19, 254, 0.1);
}

.cyber-contact-icon.green {
  color: var(--color-neon-green);
  background-color: rgba(0, 255, 136, 0.1);
}

.cyber-contact-info-item h4 {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-xs);
}

.cyber-contact-info-item p {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-xs);
}

.cyber-social-container {
  background-color: var(--color-bg-card);
  padding: var(--space-lg);
  border-radius: var(--border-radius-xl);
  border: 1px solid rgba(0, 243, 255, 0.1);
  text-align: center;
}

.cyber-social-links {
  display: flex;
  justify-content: center;
  gap: var(--space-md);
}

.cyber-social-link-lg {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  color: var(--color-text-primary);
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transition: all var(--transition-normal);
}

.cyber-social-link-lg:hover {
  color: var(--color-bg-primary);
  background-color: var(--color-neon-blue);
  transform: translateY(-3px) rotate(10deg);
}

.cyber-social-link-lg:nth-child(1):hover {
  background-color: #0077b5; /* LinkedIn */
}

.cyber-social-link-lg:nth-child(2):hover {
  background-color: #e1306c; /* Instagram */
}

.cyber-social-link-lg:nth-child(3):hover {
  background-color: #1877f2; /* Facebook */
}

.cyber-social-link-lg:nth-child(4):hover {
  background-color: #ff0000; /* YouTube */
}

/* Chatbot redesenhado */
.cyber-chatbot-button {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xl);
  color: var(--color-bg-primary);
  background: var(--gradient-blue-purple);
  border-radius: 50%;
  box-shadow: var(--shadow-neon-blue);
  cursor: pointer;
  transition: all var(--transition-normal);
}

.cyber-chatbot-button:hover {
  transform: scale(1.1) rotate(10deg);
  box-shadow: 0 0 20px rgba(0, 243, 255, 0.7);
}

.cyber-chatbot-box {
  position: absolute;
  bottom: calc(100% + 1rem);
  right: 0;
  width: 300px;
  height: 400px;
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-card);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 243, 255, 0.2);
  border-radius: var(--border-radius-xl);
  box-shadow: var(--shadow-neon-blue);
  overflow: hidden;
  transition: all var(--transition-normal);
  z-index: var(--z-index-chatbot);
}

.cyber-chatbot-box.hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.9);
}

.cyber-chatbot-header {
  padding: var(--space-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--gradient-blue-purple);
}

.cyber-chatbot-icon {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-md);
  color: var(--color-bg-primary);
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}

.cyber-chatbot-title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin: 0;
}

.cyber-chatbot-control {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  background-color: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0.7;
  transition: all var(--transition-normal);
}

.cyber-chatbot-control:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.1);
}

.cyber-chatbot-messages {
  flex-grow: 1;
  padding: var(--space-md);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.cyber-chatbot-footer {
  padding: var(--space-md);
  border-top: 1px solid rgba(0, 243, 255, 0.1);
}

.cyber-chatbot-input-container {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.cyber-chatbot-input {
  flex-grow: 1;
  padding: var(--space-sm) var(--space-md);
  background-color: rgba(10, 10, 25, 0.5);
  border: 1px solid rgba(0, 243, 255, 0.2);
  border-radius: var(--border-radius-full);
  color: var(--color-text-primary);
  font-family: var(--font-family-body);
  font-size: var(--font-size-sm);
  transition: all var(--transition-normal);
}

.cyber-chatbot-input:focus {
  outline: none;
  border-color: var(--color-neon-blue);
  box-shadow: 0 0 0 2px rgba(0, 243, 255, 0.2);
}

.cyber-chatbot-send {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  color: var(--color-bg-primary);
  background: var(--gradient-blue-purple);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all var(--transition-normal);
}

.cyber-chatbot-send:hover {
  transform: scale(1.1) rotate(10deg);
  box-shadow: var(--shadow-neon-blue);
}

/* Mensagens do chatbot */
.chatbot-message {
  max-width: 80%;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--border-radius-lg);
  font-size: var(--font-size-sm);
  line-height: 1.4;
}

.chatbot-message.user {
  align-self: flex-end;
  background-color: rgba(188, 19, 254, 0.1);
  border: 1px solid rgba(188, 19, 254, 0.2);
  color: var(--color-text-primary);
}

.chatbot-message.bot {
  align-self: flex-start;
  background-color: rgba(0, 243, 255, 0.1);
  border: 1px solid rgba(0, 243, 255, 0.2);
  color: var(--color-text-primary);
}

.typing-animation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.typing-dot {
  width: 6px;
  height: 6px;
  background: var(--color-neon-blue);
  border-radius: 50%;
  animation: typing-dots 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}

.typing-dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes typing-dots {
  0%,
  80%,
  100% {
    transform: scale(0.5);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.whatsapp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: var(--space-sm);
  padding: var(--space-xs) var(--space-md);
  background-color: #25d366;
  color: white;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  border-radius: var(--border-radius-full);
  transition: all var(--transition-normal);
}

.whatsapp-button:hover {
  background-color: #128c7e;
  transform: translateY(-3px);
}

.whatsapp-icon {
  margin-right: var(--space-xs);
}

/* 
 * Soluctions S.A - Footer e Responsividade
 * Estilos para o rodapé e ajustes responsivos
 */

/* Footer */
/* Footer */
.cyber-footer {
  background-color: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  position: relative;
  overflow: hidden;
}

.cyber-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(
    to bottom,
    transparent,
    transparent 2px,
    rgba(0, 243, 255, 0.03) 2px,
    rgba(0, 243, 255, 0.03) 4px
  );
  z-index: 0;
  pointer-events: none;
}

.cyber-footer-logo {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  background: var(--gradient-blue-purple);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: var(--space-md);
  display: inline-block;
}

.cyber-footer-text {
  color: var(--color-text-secondary);
  max-width: 300px;
}

.cyber-footer-social {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-md);
}

.cyber-footer-social a {
  color: var(--color-text-tertiary);
  transition: all var(--transition-normal);
}

.cyber-footer-social a:hover {
  color: var(--color-neon-blue);
  transform: translateY(-3px);
}

.cyber-footer-heading {
  position: relative;
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-xs);
  display: inline-block;
}

.cyber-footer-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--gradient-blue-purple);
}

.cyber-footer-links {
  list-style: none;
}

.cyber-footer-links li {
  margin-bottom: var(--space-xs);
}

.cyber-footer-links a {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  transition: all var(--transition-normal);
  display: inline-block;
  position: relative;
  padding-left: var(--space-md);
}

.cyber-footer-links a::before {
  content: ">";
  position: absolute;
  left: 0;
  color: var(--color-neon-blue);
  opacity: 0;
  transform: translateX(-10px);
  transition: all var(--transition-normal);
}

.cyber-footer-links a:hover {
  color: var(--color-text-primary);
  transform: translateX(5px);
}

.cyber-footer-links a:hover::before {
  opacity: 1;
  transform: translateX(0);
}

.cyber-footer-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(0, 243, 255, 0.2),
    transparent
  );
  margin: var(--space-xl) 0;
}

.cyber-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.cyber-footer-copyright {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

.cyber-footer-legal {
  display: flex;
  gap: var(--space-lg);
}

.cyber-footer-legal a {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  transition: all var(--transition-normal);
}

.cyber-footer-legal a:hover {
  color: var(--color-neon-blue);
}

/* Responsividade */
@media (max-width: 1024px) {
  .cyber-pricing-card.popular {
    transform: scale(1.02);
  }

  .cyber-pricing-card.popular:hover {
    transform: translateY(-10px) scale(1.02);
  }

  .cyber-tech-slider {
    height: 90px;
    /* Simplificar máscara em tablets */
    -webkit-mask: linear-gradient(
      90deg,
      transparent 0%,
      black 15%,
      black 85%,
      transparent 100%
    );
    mask: linear-gradient(
      90deg,
      transparent 0%,
      black 15%,
      black 85%,
      transparent 100%
    );
  }

  .cyber-tech-item {
    flex: 0 0 180px;
    height: 90px;
  }
}

@media (max-width: 768px) {
  /* Ajuste para telas menores */
  :root {
    --space-xl: 1.5rem;
    --space-2xl: 2rem;
  }

  .cyber-case-card,
  .cyber-case-card.reverse {
    flex-direction: column;
  }

  .cyber-case-media {
    width: 100%;
  }

  .cyber-footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .cyber-footer-legal {
    margin-top: var(--space-sm);
  }

  .cyber-tech-slider {
    height: 80px;
    /* Remover máscara em mobile para melhor visibilidade */
    -webkit-mask: none;
    mask: none;
  }

  .cyber-tech-item {
    flex: 0 0 160px;
    height: 80px;
  }

  .cyber-tech-item img,
  .cyber-tech-item i {
    height: 30px;
  }

  .cyber-form-group {
    margin-bottom: var(--space-md);
  }

  .neon-button,
  .glitch-button,
  .cyber-button-alt {
    width: 100%;
    margin-bottom: var(--space-sm);
    text-align: center;
  }
}

@media (max-width: 640px) {
  /* Ajustes para mobile */
  h1 {
    font-size: var(--font-size-3xl);
  }

  h2 {
    font-size: var(--font-size-2xl);
  }

  .cyber-chatbot-box {
    width: 280px;
    height: 350px;
    right: -20px;
  }

  .cyber-pricing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    padding-bottom: 5rem; /* Espaço fixo para o botão */
  }

  .cyber-pricing-card.popular {
    z-index: 10;
  }

  .cyber-pricing-card.popular:hover {
    transform: translateY(-10px);
  }

  .cyber-contact-form-container,
  .cyber-contact-info-container {
    padding: var(--space-md);
  }

  .cyber-faq-container {
    padding: var(--space-md);
  }

  .cyber-team-card .cyber-team-footer {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
  }

  .cyber-team-photo {
    height: 200px;
  }

  .cyber-feature-card,
  .cyber-service-card {
    padding: var(--space-md);
  }

  .cyber-case-media {
    min-height: 200px;
  }

  .cyber-case-content {
    padding: var(--space-md);
  }

  /* Ajustes para o Hero em mobile */
  #hero .grid {
    grid-template-columns: 1fr;
  }
}

/* Animações específicas para mobile */
@media (max-width: 768px) {
  /* Desativa algumas animações em dispositivos móveis para melhorar performance */
  .blob {
    display: none;
  }

  .cursor,
  .cursor-dot {
    display: none;
  }

  .cyber-card-glitch,
  .logo-glitch {
    animation: none;
  }

  /* Simplifica algumas animações */
  .cyber-feature-card:hover,
  .cyber-service-card:hover,
  .cyber-team-card:hover,
  .cyber-case-card:hover,
  .cyber-pricing-card:hover {
    transform: translateY(-5px);
  }

  .cyber-feature-card:hover .cyber-feature-icon,
  .cyber-service-card:hover .cyber-service-icon,
  .cyber-case-card:hover .cyber-case-icon,
  .cyber-pricing-card:hover .cyber-pricing-icon,
  .cyber-contact-info-item:hover .cyber-contact-icon {
    transform: none;
  }
}

/* Darkmode ajustes (já é o padrão, mas garantindo compatibilidade) */
/* Cores já estão em dark mode - regra removida para evitar regra vazia */

/* Print styles */
@media print {
  body,
  html {
    background: white;
    color: black;
  }

  a {
    color: #1a6c9a;
    text-decoration: underline;
  }

  .cyber-card,
  .cyber-feature-card,
  .cyber-service-card,
  .cyber-case-card,
  .cyber-team-card,
  .cyber-pricing-card {
    box-shadow: none;
    border: 1px solid #ccc;
    break-inside: avoid;
  }

  /* Esconde elementos não necessários para impressão */
  .loader,
  .cursor,
  .cursor-dot,
  .noise,
  .scanline,
  .scroll-indicator,
  .cyber-chatbot-button,
  .cyber-chatbot-box,
  .mobile-nav-overlay,
  .mobile-nav,
  #particles-js {
    display: none !important;
  }

  /* Reset de cores para impressão */
  .gradient-text,
  .cyber-footer-logo,
  .cyber-glitch-title {
    color: #000 !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    text-shadow: none !important;
  }

  /* Garante que o conteúdo caiba na página */
  .container {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Melhora contraste para impressão */
  .cyber-feature-icon,
  .cyber-service-icon,
  .cyber-case-icon,
  .cyber-contact-icon {
    background-color: #f0f0f0 !important;
    color: #333 !important;
  }

  /* Força quebra de página em seções importantes */
  section {
    page-break-before: always;
  }

  /* Ajusta tamanhos de fonte para impressão */
  h1 {
    font-size: 24pt;
  }

  h2 {
    font-size: 20pt;
  }

  h3 {
    font-size: 16pt;
  }

  p,
  li {
    font-size: 12pt;
  }
}

/* ==============================================
   NOVA SEÇÃO DE EQUIPE - DESIGN ORIGINAL
   ============================================== */

/* Avatar Placeholders */
.cyber-team-avatar {
  position: relative;
  width: 100%;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--border-radius-lg);
  background: linear-gradient(
    145deg,
    var(--color-bg-tertiary),
    var(--color-bg-secondary)
  );
  border: 1px solid rgba(0, 243, 255, 0.2);
  overflow: hidden;
}

.cyber-avatar-placeholder {
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: linear-gradient(
    45deg,
    var(--color-neon-blue),
    var(--color-neon-purple)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-neon-blue);
  border: 3px solid rgba(255, 255, 255, 0.1);
}

.cyber-avatar-initials {
  font-size: 3rem;
  font-weight: 800;
  font-family: "Orbitron", monospace;
  color: white;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.cyber-avatar-glow {
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(0, 243, 255, 0.3) 0%,
    transparent 70%
  );
  animation: pulse-glow 2s ease-in-out infinite alternate;
}

@keyframes pulse-glow {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.1);
    opacity: 0.8;
  }
}

/* Team Card Compact */
.cyber-team-card-compact {
  background: linear-gradient(
    145deg,
    var(--color-bg-card),
    var(--color-bg-tertiary)
  );
  border: 1px solid rgba(0, 243, 255, 0.2);
  border-radius: var(--border-radius-lg);
  padding: var(--space-lg);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.cyber-team-card-compact:hover {
  transform: translateY(-5px);
  border-color: var(--color-neon-blue);
  box-shadow: var(--shadow-neon-blue);
}

.cyber-team-card-compact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gradient-blue-purple);
}

.cyber-compact-header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}

.cyber-avatar-mini {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(
    45deg,
    var(--color-neon-blue),
    var(--color-neon-purple)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cyber-avatar-initials-mini {
  font-size: 1.2rem;
  font-weight: 700;
  font-family: "Orbitron", monospace;
  color: white;
}

.cyber-role-indicator {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--color-bg-primary);
}

.cyber-role-indicator.crm {
  background: var(--color-neon-green);
  box-shadow: 0 0 10px var(--color-neon-green);
}

.cyber-role-indicator.ai {
  background: var(--color-neon-purple);
  box-shadow: 0 0 10px var(--color-neon-purple);
}

.cyber-role-indicator.marketing {
  background: var(--color-neon-pink);
  box-shadow: 0 0 10px var(--color-neon-pink);
}

.cyber-team-compact-info h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 0.25rem;
}

.cyber-team-compact-info p {
  color: var(--color-text-secondary);
  font-size: 0.9rem;
}

/* Skills */
.cyber-compact-skills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-lg);
}

.cyber-skill-badge {
  background: rgba(0, 243, 255, 0.1);
  border: 1px solid rgba(0, 243, 255, 0.3);
  color: var(--color-neon-blue);
  padding: 0.25rem 0.75rem;
  border-radius: var(--border-radius-full);
  font-size: 0.8rem;
  font-weight: 500;
  transition: all 0.3s ease;
}

.cyber-skill-badge:hover {
  background: rgba(0, 243, 255, 0.2);
  transform: scale(1.05);
}

/* Stats */
.cyber-compact-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
}

.cyber-stat-item {
  text-align: center;
  padding: var(--space-sm);
  background: rgba(0, 0, 0, 0.3);
  border-radius: var(--border-radius-md);
  border: 1px solid rgba(0, 243, 255, 0.1);
}

.cyber-stat-number {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-neon-blue);
  font-family: "Orbitron", monospace;
}

.cyber-stat-label {
  display: block;
  font-size: 0.75rem;
  color: var(--color-text-tertiary);
  margin-top: 0.25rem;
}

/* Team Matrix */
.cyber-team-matrix {
  background: rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius-lg);
  padding: var(--space-xl);
  border: 1px solid rgba(0, 243, 255, 0.1);
  position: relative;
}

.cyber-matrix-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-lg);
  position: relative;
}

.cyber-matrix-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cyber-matrix-node:hover {
  transform: scale(1.1);
}

.cyber-node-core {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    var(--color-neon-blue) 0%,
    transparent 70%
  );
  border: 2px solid var(--color-neon-blue);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cyber-node-core::before {
  content: "";
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background: var(--color-neon-blue);
  box-shadow: 0 0 20px var(--color-neon-blue);
  animation: node-pulse 2s ease-in-out infinite;
}

@keyframes node-pulse {
  0%,
  100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

.cyber-node-label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-text-secondary);
  text-align: center;
}

.cyber-matrix-connections {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
      45deg,
      transparent 49%,
      rgba(0, 243, 255, 0.1) 50%,
      transparent 51%
    ),
    linear-gradient(
      -45deg,
      transparent 49%,
      rgba(188, 19, 254, 0.1) 50%,
      transparent 51%
    );
  opacity: 0.3;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .cyber-avatar-placeholder {
    width: 120px;
    height: 120px;
  }

  .cyber-avatar-initials {
    font-size: 2.5rem;
  }

  .cyber-matrix-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md);
  }

  .cyber-node-core {
    width: 60px;
    height: 60px;
  }

  .cyber-compact-stats {
    grid-template-columns: 1fr;
  }
}

/* Animation para entrada */
.cyber-team-card-compact {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.6s ease forwards;
}

.cyber-team-card-compact:nth-child(1) {
  animation-delay: 0.1s;
}
.cyber-team-card-compact:nth-child(2) {
  animation-delay: 0.2s;
}
.cyber-team-card-compact:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
