html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { font-family: 'Inter', sans-serif; background-color: #F9FAFB; color: #1A1A1A; overflow-x: hidden; }

.hero-bg {
    background-image: linear-gradient(rgba(26, 26, 26, 0.75), rgba(139, 30, 50, 0.85)), url('../img/home2.jpg');
    background-size: cover; 
    background-position: center; 
    background-attachment: fixed;
}

/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Mobile Scrollbar Hide */
.hide-scroll-mobile::-webkit-scrollbar { height: 4px; }
@media (max-width: 768px) { .hide-scroll-mobile::-webkit-scrollbar { display: none; } }

/* Modal Transitions */
.modal-fade-in { animation: fadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.97) translateY(10px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Scroll Reveal Animations */
.reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }