/* ==========================================================================
   PORTO ADENIUM — Hero / Manifesto
   Primeiro viewport: silêncio, espaço negativo, transição suave à galeria.
   ========================================================================== */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-nav);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-5) var(--space-5) 0;
  pointer-events: none;
}

.site-header__mark {
  font-family: var(--font-sans);
  font-size: var(--fs-label);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--color-text-secondary);
  pointer-events: auto;
}

.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-9) var(--space-5);
  overflow: hidden;
}

.hero__title {
  font-family: var(--font-sans);
  font-size: var(--fs-label);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-7);
}

.hero__manifesto {
  font-family: var(--font-serif);
  font-size: var(--fs-manifesto);
  line-height: var(--lh-manifesto);
  color: var(--color-text-primary);
  max-width: 20ch;
  margin: 0;
  font-weight: 400;
}

.hero__discover {
  position: absolute;
  bottom: var(--space-7);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-sans);
  font-size: var(--fs-label);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--color-text-secondary);
  text-decoration: none;
  background: none;
  border: none;
}

.hero__discover-arrow {
  font-size: 1rem;
}

@media (prefers-reduced-motion: no-preference) {
  .hero__discover-arrow {
    animation: hero-float 2.4s var(--ease-standard) infinite;
  }
}

@keyframes hero-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

@media (max-width: 640px) {
  .hero__manifesto {
    font-size: clamp(1.375rem, 6vw, 2rem);
    max-width: 16ch;
  }
}
