.font-serif { font-family: 'Playfair Display', serif; }
.font-sans { font-family: 'Inter', sans-serif; }

.geometric-pattern {
    background-image: 
        radial-gradient(circle at 25% 25%, rgba(16, 185, 129, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(251, 191, 36, 0.1) 0%, transparent 50%),
        linear-gradient(45deg, rgba(16, 185, 129, 0.05) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(251, 191, 36, 0.05) 25%, transparent 25%);
    background-size: 100px 100px, 150px 150px, 50px 50px, 50px 50px;
}

.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.gradient-text {
    background: linear-gradient(135deg, #10b981, #fbbf24);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.slideshow-container {
    position: relative;
    max-width: 100%;
    margin: auto;
}

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

.slide.active {
    display: block;
}

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

.nav-dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.3s ease;
}

.nav-dot.active, .nav-dot:hover {
    background-color: #10b981;
}