/* Base body font */
body {
  font-family: 'Merriweather', serif;
  background-color: #ffffff; /* Main background is white */
}

/* Custom font for headings */
.font-serif-heading {
  font-family: 'Lora', serif;
}

.font-poppins {
  font-family: 'Poppins', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

/* Custom scrollbar for a more refined look */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: #a8a29e;
}

/* Animation for project cards */
.project-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  background-color: #ffffff; /* Prevent dark edge bleed on media */
}
.project-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Constrain media more tightly to avoid subpixel edges and oversized rendering */
img, video {
  display: block;
  image-rendering: auto;
}

/* Hide 1px edge artifacts on desktop by overscanning media slightly */
@media (min-width: 1024px) {
  /* Slight overscan for images only */
  .project-card > img {
    width: calc(100% + 4px);
    margin-left: -2px;
  }

  /* For videos, crop internal edge bars by upscaling a hair */
  .project-card > video {
    width: 100%;
    margin-left: 0;
    transform: translateZ(0) scale(1.01);
    transform-origin: center center;
    backface-visibility: hidden;
  }
}


/* Gradient text utility for primary CTA */
.gradient-text {
  background: linear-gradient(90deg, #7EF9E4, #A3B8FF);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-weight: 700;
}



