/* HomePage Styles */ /* Services Section */ .services-section { background: var(--bg-secondary); padding: var(--space-4xl) 0; } /* Service Icons */ .service-icon { width: 3rem; height: 3rem; border-radius: var(--border-radius-lg); display: flex; align-items: center; justify-content: center; margin-right: var(--space-md); flex-shrink: 0; } /* Scroll Icon */ .scroll-icon { width: 1.5rem; height: 1.5rem; color: var(--text-tertiary); } /* Custom animations with delays */ .animate-fade-in-up { animation: fadeInUp 0.6s ease-out forwards; opacity: 0; } /* Responsive utilities */ @media (min-width: 640px) { .sm\:flex-row { flex-direction: row; } } @media (min-width: 768px) { .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1024px) { .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); } .lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); } } /* Custom utilities */ .max-w-2xl { max-width: 42rem; } .mx-auto { margin-left: auto; margin-right: auto; } .opacity-90 { opacity: 0.9; } .transform { transform: translateX(0); } .-translate-x-1\/2 { transform: translateX(-50%); } .absolute { position: absolute; } .bottom-8 { bottom: 2rem; } .left-1\/2 { left: 50%; } .animate-bounce { animation: bounce 1s infinite; } @keyframes bounce { 0%, 20%, 53%, 80%, 100% { transform: translate3d(-50%, 0, 0); } 40%, 43% { transform: translate3d(-50%, -30px, 0); } 70% { transform: translate3d(-50%, -15px, 0); } 90% { transform: translate3d(-50%, -4px, 0); } } .text-secondary { color: var(--text-secondary); }