/*! 9ui Hero v1.0 | MIT License | https://9ui.dev */

.ui-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 60vh;
  overflow: hidden;
  padding: var(--ui-space-20) var(--ui-space-6);
}

.ui-hero-full { min-height: 100dvh; }
.ui-hero-half { min-height: 50vh; }

.ui-hero-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--ui-container-xl);
  margin-inline: auto;
}

.ui-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-2);
  font-size: var(--ui-text-sm);
  font-weight: var(--ui-font-semibold);
  color: hsl(var(--ui-primary));
  margin-bottom: var(--ui-space-4);
  text-transform: uppercase;
  letter-spacing: var(--ui-tracking-wider);
}

.ui-hero-title {
  font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: var(--ui-font-extrabold);
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: hsl(var(--ui-foreground));
  margin-bottom: var(--ui-space-6);
}

.ui-hero-subtitle {
  font-size: clamp(1.125rem, 3vw, 1.375rem);
  color: hsl(var(--ui-muted-foreground));
  line-height: var(--ui-leading-relaxed);
  max-width: 55ch;
  margin-bottom: var(--ui-space-8);
}

.ui-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-3);
  align-items: center;
}

/* Centered variant */
.ui-hero-centered .ui-hero-content { text-align: center; }
.ui-hero-centered .ui-hero-subtitle { margin-inline: auto; }
.ui-hero-centered .ui-hero-actions { justify-content: center; }
.ui-hero-centered .ui-hero-eyebrow { margin-inline: auto; }

/* Background elements */
.ui-hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ui-hero-gradient {
  background: radial-gradient(
    ellipse 80% 80% at 50% -20%,
    hsl(var(--ui-primary) / 0.15),
    transparent
  );
}

.ui-hero-gradient-warm {
  background: radial-gradient(
    ellipse 80% 80% at 50% -20%,
    hsl(var(--ui-chart-3) / 0.12),
    transparent
  );
}

.ui-hero-image {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.ui-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    hsl(var(--ui-background) / 0.4),
    hsl(var(--ui-background) / 0.8)
  );
}

/* Orb decorations */
.ui-hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
}

.ui-hero-orb-1 {
  width: 600px;
  height: 600px;
  background: hsl(var(--ui-primary) / 0.15);
  top: -200px;
  left: -100px;
  animation: ui-float 8s ease-in-out infinite;
}

.ui-hero-orb-2 {
  width: 400px;
  height: 400px;
  background: hsl(var(--ui-chart-3) / 0.1);
  bottom: -100px;
  right: -100px;
  animation: ui-float 10s ease-in-out infinite reverse;
}

@media (max-width: 640px) {
  .ui-hero { padding: var(--ui-space-16) var(--ui-space-4); }
  .ui-hero-actions { flex-direction: column; align-items: flex-start; }
  .ui-hero-centered .ui-hero-actions { align-items: center; }
}
