* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
}

.font-heading {
    font-family: 'Montserrat', sans-serif;
}

.hero-slide {
    display: none;
    animation: fadeIn 1s ease-in-out;
}

.hero-slide.active {
    display: block;
}

.svg-wave path {
    stroke: none !important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.nav-link {
    position: relative;
    transition: color 0.3s;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: rgba(0, 0, 0, 0.3);
    transition: width 0.3s;
}

.nav-link:hover::after {
    width: 100%;
}

.btn-cta {
    transition: all 0.3s ease;
}

.btn-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(16, 185, 129, 0.3);
}

.slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s;
}

.slider-dot.active {
    background: #10b981;
    width: 30px;
    border-radius: 6px;
}

.overlay-texture {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.group:hover .group-hover\\:block {
  display: block;
  animation: fadeIn 0.2s ease-in-out;
}
.font-1 {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.font-2 {
  font-family: "Russo One", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.font-3 {
  font-family: "Staatliches", sans-serif;
  font-weight: 400;
  font-style: normal;
}

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

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

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

/* Ensure consistent height for documentation cards */
.h-\[400px\] {
    height: 400px;
}

.h-24 {
    height: 6rem;
}

/* Flex utilities for consistent layout */
.flex-grow {
    flex-grow: 1;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

/* Smooth image scaling */
.group:hover .group-hover\:scale-110 {
    transform: scale(1.1);
}


@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}
