:root {
  --text-heading-1: 4.00rem;
  --text-heading-1--line-height: 110%;
  --text-heading-2: 3.0rem;
  --text-heading-2--line-height: 120%;
  --text-heading-3: 2.5rem;
  --text-heading-3--line-height: 120%;
  --text-heading-4: 2rem;
  --text-heading-4--line-height: 130%;
  --text-heading-5: 1.5rem;
  --text-heading-5--line-height: 140%;
  --text-heading-6: 1.25rem;
  --text-heading-6--line-height: 140%;
  --text-tagline-1: 1rem;
  --text-tagline-1--line-height: 150%;
  --text-tagline-2: .875rem;
  --text-tagline-2--line-height: 150%;
  --text-tagline-3: .75rem;
  --text-tagline-3--line-height: 150%;
}

/* Heading Utility Classes (using !important to override runtime Tailwind preflight) */
.text-heading-1 {
  font-size: 2.25rem !important;
  line-height: 120% !important;
  font-weight: 500 !important;
}
@media (min-width: 48rem) {
  .text-heading-1 {
    font-size: var(--text-heading-1) !important;
    line-height: var(--text-heading-1--line-height) !important;
  }
}

.text-heading-2 {
  font-size: var(--text-heading-5) !important;
  line-height: var(--text-heading-5--line-height) !important;
  font-weight: 500 !important;
}
@media (min-width: 40rem) {
  .text-heading-2 {
    font-size: var(--text-heading-4) !important;
    line-height: var(--text-heading-4--line-height) !important;
  }
}
@media (min-width: 48rem) {
  .text-heading-2 {
    font-size: var(--text-heading-3) !important;
    line-height: var(--text-heading-3--line-height) !important;
  }
}
@media (min-width: 80rem) {
  .text-heading-2 {
    font-size: var(--text-heading-2) !important;
    line-height: var(--text-heading-2--line-height) !important;
  }
}

.text-heading-3 {
  font-size: var(--text-heading-6) !important;
  line-height: var(--text-heading-6--line-height) !important;
}
@media (min-width: 48rem) {
  .text-heading-3 {
    font-size: var(--text-heading-5) !important;
    line-height: var(--text-heading-5--line-height) !important;
  }
}
@media (min-width: 80rem) {
  .text-heading-3 {
    font-size: var(--text-heading-4) !important;
    line-height: var(--text-heading-4--line-height) !important;
  }
}

.text-heading-4 {
  font-size: var(--text-heading-6) !important;
  line-height: var(--text-heading-6--line-height) !important;
}

/* Taglines / Body variants */
.text-tagline-1 {
  font-size: var(--text-tagline-1);
  line-height: var(--text-tagline-1--line-height);
}
.text-tagline-2 {
  font-size: var(--text-tagline-2);
  line-height: var(--text-tagline-2--line-height);
}
.text-tagline-3 {
  font-size: var(--text-tagline-3);
  line-height: var(--text-tagline-3--line-height);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #FFF5F5;
}
::-webkit-scrollbar-thumb {
  background: #FCA5A5;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #EF4444;
}

/* Keyframes for soft float */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}
.animate-float {
  animation: float 6s ease-in-out infinite;
}

/* Infinite Marquee for Integrations */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.animate-marquee {
  display: flex;
  width: max-content;
  animation: marquee 30s linear infinite;
}
.animate-marquee:hover {
  animation-play-state: paused;
}

/* Gradient Background Blobs */
.blur-blob {
  filter: blur(100px);
  z-index: 0;
}
