/* IntellQ custom styles — Tailwind utilities + config remain in each HTML <head> */

body {
  background-color: #F7F7F5;
  color: #09090B;
  font-family: 'Geist', sans-serif;
  overflow-x: hidden;
}

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.material-symbols-outlined.fill {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

@keyframes marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

.animate-marquee {
  display: flex;
  animation: marquee 35s linear infinite;
  width: 200%;
  will-change: transform;
  backface-visibility: hidden;
}

.animate-marquee:hover,
.animate-marquee.is-paused {
  animation-play-state: paused;
}

.glass-card {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  transform: translateZ(0);
}

/* Hero orb layer: animate wrapper (compositor), keep blur on static child */
.orb-stage {
  contain: layout paint;
  isolation: isolate;
  transform: translateZ(0);
}

@keyframes float-orb-a {
  0%, 100% { transform: translate3d(-8rem, -0.5rem, 0) scale(1); }
  50% { transform: translate3d(-7rem, -1.5rem, 0) scale(1.04); }
}

@keyframes float-orb-b {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0.75rem, -1.25rem, 0) scale(1.03); }
}

@keyframes float-orb-c {
  0%, 100% { transform: translate3d(9rem, 4rem, 0) scale(1); }
  50% { transform: translate3d(8rem, 5rem, 0) scale(1.05); }
}

@keyframes float-orb-d {
  0%, 100% { transform: translate3d(16rem, -3rem, 0) scale(1); }
  50% { transform: translate3d(15rem, -2rem, 0) scale(1.03); }
}

.orb-float-a,
.orb-float-b,
.orb-float-c,
.orb-float-d {
  will-change: transform;
  backface-visibility: hidden;
}

.orb-float-a { animation: float-orb-a 8s ease-in-out infinite; }
.orb-float-b { animation: float-orb-b 10s ease-in-out infinite; }
.orb-float-c { animation: float-orb-c 12s ease-in-out infinite; }
.orb-float-d { animation: float-orb-d 14s ease-in-out infinite; }

.orb-float-a.is-paused,
.orb-float-b.is-paused,
.orb-float-c.is-paused,
.orb-float-d.is-paused {
  animation-play-state: paused;
}

.orb-blur {
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  transform: translateZ(0);
}

.card-lift {
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.card-lift:hover {
  transform: translate3d(0, -4px, 0);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

@media (max-width: 640px) {
  .hero-panel { min-height: 440px !important; }
}
