/* Base behavior preserved from original, plus subtle enhancements */
.page-section{display:none;opacity:0;transform:translateY(8px);}
.page-section.active{display:block;animation:fadeSlide .35s ease-out forwards;}
.nav-link.active{background-color:#1e40af;color:#fff;}
.property-card{transition:transform .3s ease, box-shadow .3s ease;}
.property-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1);}

/* Animated underline for desktop nav */
#active-underline{left:0;width:0;}
/* Mobile menu slide animation */
#mobile-menu.opening{animation:menudown .25s ease-out forwards;}
#mobile-menu.closing{animation:menuup .2s ease-in forwards;}

@keyframes fadeSlide{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes menudown{
  from{opacity:0;max-height:0}
  to{opacity:1;max-height:500px}
}
@keyframes menuup{
  from{opacity:1;max-height:500px}
  to{opacity:0;max-height:0}
}


/* --- Minimal scroll reveal styles --- */
.sr{opacity:0;transform:translateY(12px);transition:opacity .55s ease, transform .55s ease;will-change:opacity,transform}
.sr.sr-show{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .sr{opacity:1;transform:none;transition:none}
}
