@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap');
        
:root {
    --safari-green: #2d4a22;
    --savannah-gold: #c08c4a;
    --earth-white: #fdfbf7;
    --deep-onyx: #1a1a1a;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: var(--earth-white);
    color: var(--deep-onyx);
    scroll-behavior: smooth;
}

h1, h2, h3, h4, .serif {
    font-family: 'Playfair Display', serif;
}

/* Design Details & Animations */
.glass-header {
    background: rgba(253, 251, 247, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(45, 74, 34, 0.05);
}

.hero-zoom {
    background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1547471080-7cc2caa01a7e?q=80&w=1600&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    transition: transform 10s ease-out;
}

.safari-card {
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    border: 1px solid transparent;
}

.safari-card:hover {
    transform: translateY(-10px);
    border-color: var(--savannah-gold);
    box-shadow: 0 30px 60px -15px rgba(45, 74, 34, 0.1);
}

.wild-btn {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.wild-btn::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: 0.5s;
}

.wild-btn:hover::after {
    left: 100%;
}

.image-frame {
    position: relative;
    padding: 10px;
}

.image-frame::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 20%; bottom: 20%;
    border: 2px solid var(--accent);
    opacity: 0.3;
    z-index: 0;
    border-radius: 2rem;
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--earth-white); }
::-webkit-scrollbar-thumb { background: var(--safari-green); border-radius: 10px; }

.reveal { opacity: 0; transform: translateY(30px); transition: 0.8s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }

.blob {
    position: absolute;
    filter: blur(60px);
    z-index: -1;
    border-radius: 50%;
    opacity: 0.4;
}