/* Base Styles */
body {
    font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Ensure Hugeicons display correctly */
[class^="hgi-"], [class*=" hgi-"] {
    display: inline-block;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
}

/* Ensure proper sizing for Hugeicons */
.hgi-stroke {
    font-size: inherit;
    width: 1em;
    height: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Animations */
.animate-fade-in {
    animation: fadeIn 0.8s ease-out forwards;
}

.animate-slide-up {
    animation: slideUp 0.8s ease-out forwards;
}

.animate-slide-in-left {
    animation: slideInLeft 0.8s ease-out forwards;
}

.animate-slide-in-right {
    animation: slideInRight 0.8s ease-out forwards;
}

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

@keyframes slideUp {
    from { 
        opacity: 0; 
        transform: translateY(30px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

@keyframes slideInLeft {
    from { 
        opacity: 0; 
        transform: translateX(-30px); 
    }
    to { 
        opacity: 1; 
        transform: translateX(0); 
    }
}

@keyframes slideInRight {
    from { 
        opacity: 0; 
        transform: translateX(30px); 
    }
    to { 
        opacity: 1; 
        transform: translateX(0); 
    }
}

/* Animation Delays */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }
.delay-600 { animation-delay: 0.6s; }

/* Utility Classes */
.initial-hidden { 
    opacity: 0; 
    transform: translateY(30px); 
}

.phone-mockup { 
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Font Classes */
.font-geist { font-family: 'Geist', sans-serif; }
.font-roboto { font-family: 'Roboto', sans-serif; }
.font-montserrat { font-family: 'Montserrat', sans-serif; }
.font-poppins { font-family: 'Poppins', sans-serif; }
.font-playfair { font-family: 'Playfair Display', serif; }
.font-instrument-serif { font-family: 'Instrument Serif', serif; }
.font-merriweather { font-family: 'Merriweather', serif; }
.font-bricolage { font-family: 'Bricolage Grotesque', sans-serif; }
.font-jakarta { font-family: 'Plus Jakarta Sans', sans-serif; }
.font-manrope { font-family: 'Manrope', sans-serif; }
.font-space-grotesk { font-family: 'Space Grotesk', sans-serif; }
.font-work-sans { font-family: 'Work Sans', sans-serif; }
.font-pt-serif { font-family: 'PT Serif', serif; }
.font-geist-mono { font-family: 'Geist Mono', monospace; }
.font-space-mono { font-family: 'Space Mono', monospace; }
.font-quicksand { font-family: 'Quicksand', sans-serif; }
.font-nunito { font-family: 'Nunito', sans-serif; }
