        @font-face {
  font-family: 'JosefinSans';
  src: url('../fonts/JosefinSans-Bold.ttf') format('opentype');
  font-style: normal;
}

        @font-face {
  font-family: 'Inter_18pt';
  src: url('../fonts/Inter_18pt-Regular.ttf') format('opentype');
  font-style: normal;
}

        @font-face {
  font-family: 'Inter_Bold';
  src: url('../fonts/Inter_24pt-SemiBold.ttf') format('opentype');
  font-style: normal;
}
    
    /* RESET */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
   font-family: 'Inter_18pt';
      width: 100%;
    }

    /* ================= HEADER ================= */
    header {
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem;
      background: #233d4b;
    }

    .logo {
      width: 13vw;
    }

    /* ================= HERO SECTION ================= */
    .hero {
      position: relative;
      height: 90vh;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    /* Carousel (stacked cross-fade) */
    .carousel {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }

    .slide {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      background-size: cover;      /* fills area, no distortion */
      background-position: center;
      background-repeat: no-repeat;
      opacity: 0;
      transition: opacity 0.8s ease-in-out;
    }

    .slide.is-active {
      opacity: 1;
    }

    /* Overlay */
    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.65);
      z-index: 1;
    }

    /* Center Content */
    .hero-content {
      position: absolute;
      z-index: 2;
      text-align: center;
      color: #fff;
      padding: 2rem;
      width: 90%;
    }

    .hero-content h1 {
              font-size: clamp(3rem, 4.55vw, 4rem);

      margin-bottom: 1rem;
      font-family: 'JosefinSans';
      font-weight: bold;
            line-height: 1;
    }

    .hero-content p {
      font-size: 1.56rem;
      margin-bottom: 2.5rem;
      font-family: 'Inter_18pt';
    }

    .hero-content button {
      padding: 0.4em 1.3em;
      font-size: 2rem;
    font-weight: 700;
      border: none;
      border-radius: 999em;
      background: #f6c766;
      color: #000;
      cursor: pointer;
        font-family: 'Inter_Bold';
    }
    
    .features-section {
  width: 100%;
  padding: 8vh 5vw;
  background: #f9fafb;
}

.features-container {
  display: flex;
  justify-content: center;
  gap: 3vw;
  max-width: 90vw;
  margin: 0 auto;
}

.feature-card {
  background: #ffffff;
  border-radius: 1.5rem;
  padding: 3rem 2rem;
  text-align: center;
  width: 30%;
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease;
}

.feature-card:hover {
  transform: translateY(-0.5rem);
}

.icon-box {
  width: 5rem;
  height: 5rem;
  margin: 0 auto 2rem;
  border-radius: 1.2rem;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-box img {
  width: 2.2rem;
  height: 2.2rem;
}

.feature-card h3 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  color: #111827;

}

.feature-card p {
  font-size: 1rem;
  line-height: 1.6em;
  color: #6b7280;
}

    /* ================= FOOTER ================= */
    footer {
      height: 7vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.15rem;
      background: #000;
    }

    footer a {
      color: #fff;
      text-decoration: none;
    }

    /* ================= RESPONSIVE ================= */
    @media (max-width: 768px) {
        
          .hero {
      height: 85vh;
    }
    
    header {
    padding: 1rem;
}
        
      .hero-content {
    padding: 1.3rem;
    width: 100%;
      }

      .logo {
        width: 45vw;
      }
      
      .hero-content p {
    font-size: 1.55rem;
    margin-bottom: 1.6rem;
      }
      
      .hero-content button {
         padding: 0.5em 1em;
        font-size: 1.6rem;
}

 .features-container {
    flex-direction: column;
    gap: 4vh;
  }

  .feature-card {
    width: 100%;
  }
    }
