/* Landing page */
.landing {
  max-width: var(--max-width);
  margin: 0 auto;
}

/* Hero */
.hero {
  height: 85vh;
  position: relative;
  overflow: hidden;
  background: transparent;
}

hero-logo {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
}

.hero-logo {
  width: 100%;
  height: 100%;
  display: block;
  cursor: default;
}


/* Hero intro (below the 3D scene) */
.hero-intro {
  text-align: center;
  padding: var(--space-xl) var(--space-xl) var(--space-3xl);
  margin-top: -6rem;
  position: relative;
  z-index: 1;
}

.hero__title {
  font-size: var(--text-hero);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #0ea5e9, #06b6d4, #6366f1);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: var(--space-md);
}

.hero__tagline {
  font-size: var(--text-xl);
  color: var(--color-text-muted);
  max-width: 38rem;
  margin: 0 auto var(--space-2xl);
  line-height: 1.6;
  text-align: center;
}

.hero__cta {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
  justify-content: center;
}

/* Sections */
section {
  padding: var(--section-padding);
}

section h2 {
  font-size: var(--text-3xl);
  font-weight: 700;
  margin-bottom: var(--space-lg);
  text-align: center;
}

section h2 app-icon {
  display: inline;
  color: var(--color-accent);
  vertical-align: sub;
  margin-right: var(--space-xs);
}

section h2 + p {
  text-align: center;
  color: var(--color-text-muted);
  max-width: 40rem;
  margin: 0 auto var(--space-3xl);
  font-size: var(--text-lg);
}
