/* === Base Reset === */
html, body {
  height: 100vh;
  overflow: hidden; /* Fully disable vertical scroll */
  margin: 0;
  padding: 0;
  font-family: 'Source Sans Pro', sans-serif;
  background: #f9f9f9;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
}
body::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

/* === Simulated Scroll Wrapper === */
.scroll-sim {
  overflow: hidden;
  height: 100vh;
  position: relative;
}

/* === Animated Horizontal Track === */
.scroll-track {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  will-change: transform;
  transition: transform 1s ease-out;
  padding: 1rem;
}

/* === Portfolio Items === */
.portfolio-item {
  flex: 0 0 auto;
  height: calc(100dvh - 2rem);
  aspect-ratio: 9 / 16;
  scroll-snap-align: start;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  background: #000;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === Caption Overlay === */
.portfolio-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1rem;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: #fff;
}

.portfolio-caption h2 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.portfolio-caption p {
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
  font-weight: 300;
  color: #ddd;
}

/* === Footer === */
footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  background: #222;
  color: #fff;
  text-align: center;
  z-index: 10;
}
