/* Inter & Montserrat Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@700;800&display=swap');

:root {
  --primary: #00FFFF;
  --primary-glow: rgba(0, 255, 255, 0.5);
  --primary-glow-strong: rgba(0, 255, 255, 0.8);
}

body {
  background-color: #000000;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  margin: 0;
  overflow-x: hidden;
}

h1, h2, h3, h4, .font-display {
  font-family: 'Montserrat', sans-serif;
  letter-spacing: -0.02em;
}

/* Glass Effect */
.glass {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Neon Glows */
.neon-glow {
  text-shadow: 0 0 10px var(--primary-glow-strong);
}

.neon-border {
  border-color: var(--primary);
  box-shadow: 0 0 10px var(--primary-glow), 0 0 20px rgba(0, 255, 255, 0.3);
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

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

::-webkit-scrollbar-track {
  background: #000;
}

::-webkit-scrollbar-thumb {
  background: #222;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--primary);
}

/* FAQ Transition */
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  opacity: 0;
}

.faq-item.active .faq-content {
  max-height: 500px;
  opacity: 1;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* Mobile Drawer */
#mobile-drawer {
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

#drawer-backdrop {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

#drawer-backdrop.active {
  opacity: 1;
  visibility: visible;
}

/* Portfolio Scroll Animation */
.portfolio-scroll-img.scrolling {
  animation: portfolio-loop-mobile 35s linear infinite;
  will-change: transform;
}

@keyframes portfolio-loop-mobile {
  0%, 1.5% { transform: translateY(0); }
  85% { transform: translateY(calc(-100% + 400px)); }
  91.4% { transform: translateY(calc(-100% + 400px)); }
  100% { transform: translateY(0); }
}

@media (min-width: 768px) {
  .portfolio-scroll-img.scrolling {
    animation: portfolio-loop-desktop 35s linear infinite;
  }

  @keyframes portfolio-loop-desktop {
    0%, 1.5% { transform: translateY(0); }
    85% { transform: translateY(calc(-100% + 600px)); }
    91.4% { transform: translateY(calc(-100% + 600px)); }
    100% { transform: translateY(0); }
  }
}

/* Pause on hover */
.portfolio-scroll-img:hover {
  animation-play-state: paused;
}

/* Selection */
::selection {
  background: var(--primary);
  color: #000;
}
