body { background-color: #f8fafc; }

/* Glassmorphism Classes */
.glass-nav { background: rgba(10, 17, 40, 0.85); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(212, 175, 55, 0.15); }
.glass-card-dark { background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(16px); border: 1px solid rgba(212, 175, 55, 0.2); }
.glass-card-light { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(20px); border: 1px solid rgba(212, 175, 55, 0.4); box-shadow: 0 10px 40px rgba(0,0,0,0.05); }

/* Shiny Gold Gradients */
.text-gradient { background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-image: linear-gradient(135deg, #F3E5AB, #D4AF37, #AA8222); background-size: 200% auto; animation: textShine 4s linear infinite; }
.bg-gradient-primary { background: linear-gradient(135deg, #F3E5AB 0%, #D4AF37 50%, #AA8222 100%); }
@keyframes textShine { to { background-position: 200% center; } }

/* Slider */
.slider-overlay { background: linear-gradient(to right, rgba(10,17,40,0.95) 0%, rgba(10,17,40,0.7) 50%, rgba(10,17,40,0.8) 100%); }
.slide { transition: opacity 1.2s ease-in-out, transform 8s ease-out; opacity: 0; z-index: 0; transform: scale(1.1); }
.slide.active { opacity: 1; z-index: 10; transform: scale(1); }

/* Interactions & Utilities */
.reveal { opacity: 0; transform: translateY(40px); transition: all 1s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }

.service-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 2px transparent; transition: box-shadow 0.4s ease; pointer-events: none; z-index: 20;}
.service-card:hover::after { box-shadow: inset 0 0 0 2px #D4AF37; }

.marquee-wrapper { overflow: hidden; white-space: nowrap; position: relative; }
.marquee-wrapper::before, .marquee-wrapper::after { content: ''; position: absolute; top: 0; width: 15%; height: 100%; z-index: 2; }
.marquee-wrapper::before { left: 0; background: linear-gradient(to right, #D4AF37, transparent); }
.marquee-wrapper::after { right: 0; background: linear-gradient(to left, #D4AF37, transparent); }

.faq-answer { transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, padding 0.4s ease; max-height: 0; opacity: 0; overflow: hidden; padding-top: 0; padding-bottom: 0; }
.faq-answer.open { max-height: 500px; opacity: 1; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.faq-icon { transition: transform 0.4s ease; }
.faq-icon.open { transform: rotate(180deg); }

.fab-container { transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease; }
.fab-container:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(212,175,55,0.3); }

/* Smoothed Testimonial Slider Fade Transitions */
.testimonial-slide { 
    position: absolute; 
    inset: 0; 
    width: 100%; 
    opacity: 0; 
    transition: opacity 0.8s ease-in-out; 
    pointer-events: none; 
    z-index: 0; 
}
.testimonial-slide.active { 
    opacity: 1; 
    pointer-events: auto; 
    z-index: 10; 
}
