/* Additional custom styles */
body {
    scroll-behavior: smooth;
}

/* Custom geometric decorations */
.geo-triangle {
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.geo-diamond {
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

/* Gradient overlays */
.gradient-overlay {
    background: linear-gradient(135deg, rgba(255, 111, 97, 0.1) 0%, rgba(26, 26, 26, 0.8) 100%);
}

/* Pulse animation for CTA buttons */
@keyframes pulse-coral {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(255, 111, 97, 0.4);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(255, 111, 97, 0);
    }
}

.cta-button.pulse {
    animation: pulse-coral 2s infinite;
}

/* Text gradient effect */
.text-gradient {
    background: linear-gradient(135deg, #FF8C7A 0%, #FF6F61 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hover effects for cards */
.service-card {
    transition: all 0.3s ease;
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(255, 111, 97, 0.2);
}

/* Image hover zoom effect */
.overflow-hidden {
    overflow: hidden;
}

/* Custom focus styles */
input:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 3px rgba(255, 111, 97, 0.2);
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .text-coral-400 {
        color: #FF9F8F;
    }
    
    .text-gray-400 {
        color: #B0B0B0;
    }
}

/* Print styles */
@media print {
    .fixed,
    .mobile-menu,
    .float-animation,
    .float-animation-delayed {
        display: none !important;
    }
    
    body {
        background: white !important;
        color: black !important;
    }
    
    a {
        color: black !important;
        text-decoration: underline !important;
    }
}
