/* Custom styles and overrides */
:root {
    --color-teal-900: #0a2f30;
    --color-teal-850: #0d3b3b;
    --color-gold-300: #d4a853;
    --color-gold-400: #c9982e;
    --color-gold-500: #b8860b;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
}

.font-display {
    font-family: 'Playfair Display', serif;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #d4a853, #b8860b);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #c9982e, #a07800);
}

/* Selection color */
::selection {
    background: #d4a853;
    color: #0a2f30;
}

/* Focus styles */
*:focus {
    outline: none;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #d4a853 !important;
    box-shadow: 0 0 0 3px rgba(212, 168, 83, 0.1) !important;
}

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

@keyframes pulse-gold {
    0%, 100% { box-shadow: 0 0 0 0 rgba(212, 168, 83, 0.4); }
    50% { box-shadow: 0 0 0 10px rgba(212, 168, 83, 0); }
}

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

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    
    .service-card:hover {
        transform: none;
    }
    
    .service-icon {
        transform: none !important;
    }
    
    img {
        transition: none !important;
    }
}

/* Print styles */
@media print {
    nav,
    #contact-form,
    iframe {
        display: none;
    }
    
    body {
        background: white;
        color: black;
    }
    
    .text-white,
    .text-slate-200,
    .text-slate-300 {
        color: black !important;
    }
    
    .text-gold-400,
    .text-gold-300 {
        color: #b8860b !important;
    }
}
