/* Custom Styles & Overrides */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

h1, h2, h3, h4, .font-display {
    font-family: 'Outfit', sans-serif;
}

/* Geometric Decorative Shapes */
.blob-1 {
    position: absolute;
    top: -10%;
    right: -5%;
    width: 500px;
    height: 500px;
    background: linear-gradient(135deg, #2DD4BF 0%, #0D9488 100%);
    border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
    opacity: 0.1;
    z-index: -1;
    animation: blob-float 10s ease-in-out infinite;
}

.blob-2 {
    position: absolute;
    bottom: 10%;
    left: -10%;
    width: 400px;
    height: 400px;
    background: linear-gradient(135deg, #14B8A6 0%, #0F766E 100%);
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    opacity: 0.1;
    z-index: -1;
    animation: blob-float 15s ease-in-out infinite reverse;
}

@keyframes blob-float {
    0% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(20px, 40px) rotate(10deg); }
    100% { transform: translate(0, 0) rotate(0deg); }
}

/* Mobile Menu Transitions */
#mobile-menu {
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}

/* Form Focus States */
input:focus, select:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.2);
}
