/* === Homepage Hero === */
.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  padding: var(--space-md) var(--space-xl);
}

.hero__reel {
  width: 100%;
  max-width: 1260px;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-md);
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
}

.hero__reel img,
.hero__reel video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Placeholder state when no demo reel is provided */
.hero__reel--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-secondary);
  font-size: var(--text-lg);
}

.hero__name {
  margin-bottom: var(--space-sm);
}

.hero__role {
  font-size: var(--text-xl);
  font-weight: 500;
  color: var(--color-accent);
  margin-bottom: var(--space-md);
}

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

/* Homepage: lock to viewport, no scroll */
.page-home {
  height: 100vh;
  overflow: hidden;
}

.page-home main {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.page-home .footer {
  margin-top: 0;
}

@media (min-width: 768px) {
  .hero__role {
    font-size: var(--text-2xl);
  }
}
