/* styles.css - Haloic Synergy LLC (Premium Dark Theme Redesign) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
  --theme-bg: #0A0F1C;
  --theme-card: rgba(255, 255, 255, 0.03);
  --theme-card-alt: rgba(255, 255, 255, 0.05);
  --theme-text: #F8FAFC;
  --theme-text-muted: #94A3B8;
  --theme-accent: #38BDF8;
  /* Sky 400 */
}

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--theme-bg);
  color: var(--theme-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

.font-heading {
  font-family: 'Outfit', sans-serif;
}

/* Animations */
@keyframes slideUpBlur {
  0% {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

.animate-enter {
  opacity: 0;
  animation: slideUpBlur 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(10px);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.scroll-reveal.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Delays */
.delay-100 {
  animation-delay: 100ms;
  transition-delay: 100ms;
}

.delay-200 {
  animation-delay: 200ms;
  transition-delay: 200ms;
}

.delay-300 {
  animation-delay: 300ms;
  transition-delay: 300ms;
}

.delay-400 {
  animation-delay: 400ms;
  transition-delay: 400ms;
}

.delay-500 {
  animation-delay: 500ms;
  transition-delay: 500ms;
}

/* Utilities */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Custom Components - Dark Theme */
.btn-primary {
  @apply bg-[#38BDF8] text-[#0A0F1C] px-8 py-4 rounded-full font-bold uppercase tracking-widest text-xs transition-all flex items-center justify-center gap-3 shadow-lg shadow-[#38BDF8]/20;
}

.btn-primary:hover {
  @apply bg-[#7DD3FC] scale-105 shadow-[#38BDF8]/40 translate-x-1;
}

.btn-primary:active {
  @apply scale-95;
}

.card-glass {
  @apply bg-white/5 backdrop-blur-md border border-white/10 rounded-[2rem] transition-all duration-500;
}

.card-glass:hover {
  @apply bg-white/10 shadow-2xl shadow-black/50 border-white/20;
}

.section-tag {
  @apply inline-block bg-[#38BDF8]/10 text-[#38BDF8] border border-[#38BDF8]/20 px-4 py-2 rounded-full text-xs font-bold uppercase tracking-widest mb-6;
}

.form-input {
  @apply w-full bg-white/5 border border-white/10 rounded-xl px-4 py-3 text-sm focus:outline-none focus:border-[#38BDF8] focus:bg-white/10 transition-all text-white placeholder-gray-500 shadow-sm block;
}

/* Responsive Grid / Shell */
.app-shell {
  min-height: calc(100vh - 4rem);
}