:root {
    --indigo-primary: #4c1d95;
    --indigo-secondary: #6d28d9;
    --indigo-light: #8b5cf6;
    --gold-primary: #d97706;
    --gold-secondary: #f59e0b;
    --gold-light: #fbbf24;
}

body {
    font-family: 'Inter', sans-serif;
}

.font-display {
    font-family: 'Playfair Display', serif;
}

.bg-indigo-custom {
    background: linear-gradient(135deg, var(--indigo-primary) 0%, var(--indigo-secondary) 100%);
}

.bg-gold-custom {
    background: linear-gradient(135deg, var(--gold-primary) 0%, var(--gold-secondary) 100%);
}

.text-indigo-custom {
    color: var(--indigo-primary);
}

.text-gold-custom {
    color: var(--gold-primary);
}

.hero-bg {
    background: linear-gradient(rgba(76, 29, 149, 0.8), rgba(109, 40, 217, 0.8)),
                url('/static/index/img/banner.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.mobile-menu {
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
}

.mobile-menu.active {
    transform: translateX(0);
}

.hamburger span {
    display: block;
    height: 3px;
    width: 25px;
    background: #575555;
    margin: 5px 0;
    transition: 0.3s;
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.btn-primary {
    background: linear-gradient(135deg, var(--gold-primary) 0%, var(--gold-secondary) 100%);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: linear-gradient(135deg, var(--gold-secondary) 0%, var(--gold-light) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(217, 119, 6, 0.3);
}

.btn-secondary {
    background: linear-gradient(135deg, var(--indigo-primary) 0%, var(--indigo-secondary) 100%);
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background: linear-gradient(135deg, var(--indigo-secondary) 0%, var(--indigo-light) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(109, 40, 217, 0.3);
}

.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
    .hero-bg {
        background-attachment: scroll;
    }
}