/* Custom styles and overrides */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Smooth scroll offset for fixed nav */
html {
    scroll-padding-top: 80px;
}

/* Animation keyframes */
@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(45deg); }
    50% { transform: translateY(-20px) rotate(45deg); }
}

@keyframes floatCircle {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-30px); }
}

/* Apply animations to geometric shapes */
.geo-square {
    animation: float 6s ease-in-out infinite;
}

.geo-circle {
    animation: floatCircle 8s ease-in-out infinite;
}

/* Stagger animations */
.geo-square:nth-child(2) {
    animation-delay: 1s;
}

.geo-circle:nth-child(2) {
    animation-delay: 2s;
}

.geo-square:nth-child(3) {
    animation-delay: 3s;
}

/* Hover effects for service cards */
.group:hover .bg-coral-500\/20 {
    background-color: rgb(255 107 107 / 0.3);
}

/* Custom selection color */
::selection {
    background-color: #FF6B6B;
    color: #121212;
}

/* Focus styles */
button:focus, a:focus {
    outline: 2px solid #FF6B6B;
    outline-offset: 2px;
}

/* Mobile menu transitions */
#mobile-menu {
    transition: max-height 0.3s ease-in-out;
}

/* Image placeholder fallback */
img {
    background: linear-gradient(135deg, #1E1E1E 0%, #2A2A2A 100%);
}
