html {
  scroll-behavior: smooth;
}

body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.reveal-up,
.reveal-left,
.reveal-right,
.reveal-scale {
  opacity: 0;
  transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-up {
  transform: translateY(52px);
}

.reveal-left {
  transform: translateX(-52px);
}

.reveal-right {
  transform: translateX(52px);
}

.reveal-scale {
  transform: scale(0.93);
}

.revealed {
  opacity: 1 !important;
  transform: none !important;
}

.hero-text-reveal {
  opacity: 0;
  transform: translateY(32px);
  animation: heroReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.hero-delay-1 {
  animation-delay: 0.15s;
}

.hero-delay-2 {
  animation-delay: 0.3s;
}

.hero-delay-3 {
  animation-delay: 0.45s;
}

@keyframes heroReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-kenburns {
  animation: kenBurns 8s ease-out forwards;
}

@keyframes kenBurns {
  from {
    transform: scale(1) translate(0, 0);
  }
  to {
    transform: scale(1.06) translate(-1%, -0.5%);
  }
}

.scene-image {
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

section:hover .scene-image {
  transform: scale(1.03);
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: #0d0505;
}

::-webkit-scrollbar-thumb {
  background: #7B1111;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #9B1515;
}
