/* Keyframes, transitions, hover, reveal, fade, parallax */

nav.menu a:hover{ opacity:1; }

nav.menu a:hover::after{ width:100%; }

.nav-cta:hover{ transform:translateY(-1px) scale(1.03); box-shadow:0 8px 18px rgba(176,141,87,0.35); }

.nav-cta:active{ transform:scale(0.98); transition:transform .1s ease; }

.btn-primary:hover{ transform:scale(1.035); box-shadow:0 14px 28px rgba(176,141,87,0.32); background:#BE9A64; }

.btn-primary:active{ transform:scale(0.98); transition:transform .1s ease; }

.btn-ghost:hover{ border-color:var(--dourado); background:rgba(176,141,87,0.08); transform:scale(1.025); }

.btn-ghost:active{ transform:scale(0.98); transition:transform .1s ease; }

.foto-frame img{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    display:block;
    transform:scale(1.06);
    transition:transform .9s cubic-bezier(.16,.7,.24,1);
  }

.foto-frame:hover img.in-view{ transform:scale(1.03); }

@media (prefers-reduced-motion: reduce){
    .foto-frame img{ transform:none !important; transition:none !important; }
  }

@keyframes slide{ 0%{left:-14px;} 50%{left:36px;} 100%{left:-14px;} }

/* Scroll-triggered fade-up reveals — subtle, premium, one-shot */

.reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .8s cubic-bezier(.16,.7,.24,1), transform .8s cubic-bezier(.16,.7,.24,1);
  }

.reveal.in-view{ opacity:1; transform:translateY(0); }

.stagger-item{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .65s cubic-bezier(.16,.7,.24,1), transform .65s cubic-bezier(.16,.7,.24,1);
  }

.stagger.in-view .stagger-item{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
    .reveal, .stagger-item{ opacity:1 !important; transform:none !important; transition:none !important; }
    [data-parallax-speed]{ transform:none !important; }
    .btn-primary:hover, .btn-ghost:hover, .nav-cta:hover,
    .dif-card:hover, .area-item:hover, .passo:hover{ transform:none !important; }
  }

.area-item:hover{ background:rgba(176,141,87,0.05); box-shadow:0 14px 26px rgba(13,38,56,0.08); transform:translateY(-4px); }

.dif-card:hover{ background:#102c3f; box-shadow:0 18px 34px rgba(0,0,0,0.32); transform:translateY(-6px); }

.passo:hover{ transform:translateY(-6px); }

.passo:hover .passo-num{ border-color:var(--dourado); box-shadow:0 10px 20px rgba(176,141,87,0.25); transition:box-shadow .25s ease; }

.info-row:hover{ transform:translateX(4px); }
