html { scroll-behavior: smooth; }

body { background-color: #0a0d12; }

/* Reveal-on-scroll */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Sticky nav background when scrolled */
#topnav.is-scrolled {
  background: rgba(10, 13, 18, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Hero subtle parallax via transform set in JS */
#heroImg {
  transition: transform .2s linear;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a0d12; }
::-webkit-scrollbar-thumb { background: #2a3342; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #3b4659; }

/* IG fallback tiles */
.ig-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(90deg, #171d26 0%, #212835 50%, #171d26 100%);
  background-size: 200% 100%;
  animation: shimmer 2.4s linear infinite;
}
.ig-tile img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .7s ease;
}
.ig-tile:hover img { transform: scale(1.08); }
.ig-tile::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(10,13,18,0.7) 100%);
  pointer-events: none;
}
