body {
    font-family: 'Inter', sans-serif;
    /* Reemplazado theme('colors.patagonia-text-dark') con su valor real */
    color: #333333; 
}

/* Estilo para el patrón de fondo del banner */
.banner-abstract-shapes {
    /* Reemplazado theme('colors.patagonia-white') con su valor real */
    background-color: #FFFFFF;
    position: relative;
    overflow: hidden;
}

.banner-abstract-shapes::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        url('data:image/svg+xml,%3Csvg width="80" height="80" viewBox="0 0 80 80" xmlns="http://www.w3.org/2000/svg"%3E%3Cg opacity="0.1"%3E%3Ccircle cx="40" cy="40" r="15" fill="%23D1D5DB" /%3E%3Cpolygon points="40 10, 70 60, 10 60" fill="%23D1D5DB" /%3E%3C/g%3E%3C/svg%3E');
    background-size: 100px 100px;
    background-repeat: repeat;
    opacity: 0.3; /* Suavidad del patrón */
    z-index: 0;
}

/* Animaciones */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

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

@keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, 100% {
        transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }
    0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
    20% { transform: scale3d(1.1, 1.1, 1.1); }
    40% { transform: scale3d(0.9, 0.9, 0.9); }
    60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
    80% { transform: scale3d(0.97, 0.97, 0.97); }
    100% { opacity: 1; transform: scale3d(1, 1, 1); }
}

.animate-bounce-in {
    animation: bounceIn 0.8s;
}