/* ============================================================
   ATTRIUM ARQUITETURA — css/animations.css
   Loader, Scroll Reveal, Keyframes
   ============================================================ */

/* ─── KEYFRAMES ─────────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes barGrow {
  to { width: 100px; }
}

@keyframes pulse {
  0%,100% { opacity: 1; transform: scaleY(1); }
  50%      { opacity: .4; transform: scaleY(.5); }
}

/* ─── LOADER ────────────────────────────────────────────── */
#loader {
  position: fixed; inset: 0;
  background:  #6B755F;
  z-index: 9999;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  transition: opacity .7s ease, visibility .7s ease;
}
#loader.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-logo {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 3.5rem;
  font-weight: 300;
  color: #fff;
  letter-spacing: .4em;
  animation: fadeUp .8s ease both;
}
.loader-sub {
  font-size: .55rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #A87452;
  margin-top: .2rem;
  animation: fadeUp .8s ease .2s both;
}
.loader-bar {
  width: 0; height: 1px;
  background: #A87452;
  margin-top: 1.5rem;
  animation: barGrow 1.6s ease .4s forwards;
}

/* ─── SCROLL REVEAL ─────────────────────────────────────── */
/* Estado inicial — invisível */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .8s ease, transform .8s ease;
}
.reveal.from-left  { transform: translateX(-40px); }
.reveal.from-right { transform: translateX(40px); }

/* Estado final — quando entra no viewport */
.reveal.visible {
  opacity: 1;
  transform: translate(0);
}

/* ─── HERO ANIMATIONS ───────────────────────────────────── */
.hero-eyebrow { animation: fadeUp .8s ease .3s both; }
.hero-title   { animation: fadeUp .8s ease .5s both; }
.hero-btn     { animation: fadeUp .8s ease .7s both; }

/* ─── SCROLL LINE (hero) ────────────────────────────────── */
.scroll-line {
  animation: pulse 2s ease infinite;
}
