/* ── Base ── */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

/* ── Navbar transition ── */
#navbar {
  background: transparent;
  transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
}
#navbar.scrolled {
  background: rgba(26, 26, 26, 0.95);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 20px rgba(0,0,0,0.2);
}

/* ── Reveal on scroll ── */
.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  html { scroll-behavior: auto; }
}

/* ── Mobile menu ── */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
#mobile-menu.open {
  max-height: 400px;
}

/* ── Subtle hover lift on cards ── */
.group:hover .group-hover\:scale-105 {
  transform: scale(1.05);
}

/* ── Selection color ── */
::selection {
  background: rgba(255, 107, 90, 0.2);
  color: #1A1A1A;
}
