
.hero {
  width: 100%;
  min-height: 100vh; 
  display: flex;
  justify-content: center; 
  align-items: flex-start;
  text-align: center;
  overflow: hidden;
  padding-top: 25vh;
  
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

#home.hero.active-page {
  display: flex;
}

.animated-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.animated-bg::before,
.animated-bg::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.3;
}
.animated-bg::before {
  width: 400px;
  height: 400px;
  background: var(--primary);
  top: 10%;
  left: 10%;
  animation: float 15s infinite ease-in-out;
}
.animated-bg::after {
  width: 300px;
  height: 300px;
  background: #0ea5e9;
  bottom: 15%;
  right: 15%;
  animation: float 20s infinite ease-in-out reverse;
}
@keyframes float {
  0% { transform: translate(0, 0); }
  50% { transform: translate(100px, 50px) scale(1.2); }
  100% { transform: translate(0, 0); }
}
.hero-content {
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero h1 {
  font-size: clamp(2.5rem, 6vw, 4.2rem);
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.hero p {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  color: var(--text-secondary);
  margin-bottom: 2.5rem;
  max-width: 600px;
}
.cta-buttons {
  display: flex;
  gap: 20px;
}