/* Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { overflow-x: hidden; } /* Custom Animations */ @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } @keyframes comet { 0% { transform: translateX(-100vw) translateY(-100vh); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateX(100vw) translateY(100vh); opacity: 0; } } .float-animation { animation: float 6s ease-in-out infinite; } .comet-trail { position: absolute; width: 300px; height: 2px; background: linear-gradient(90deg, transparent, #00E5CC, transparent); filter: blur(1px); animation: comet 20s linear infinite; } /* Service Cards */ .service-card { background: rgba(10, 15, 44, 0.6); border: 1px solid rgba(30, 59, 112, 0.3); border-radius: 16px; padding: 2rem; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; } .service-card::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(0, 229, 204, 0.1), transparent); transition: left 0.6s ease; } .service-card:hover::before { left: 100%; } .service-card:hover { transform: translateY(-8px); border-color: #00E5CC; box-shadow: 0 20px 40px rgba(0, 229, 204, 0.15); } .service-card .icon-wrapper { display: inline-flex; padding: 1rem; background: rgba(0, 229, 204, 0.1); border-radius: 12px; margin-bottom: 1.5rem; transition: all 0.3s ease; } .service-card:hover .icon-wrapper { background: rgba(0, 229, 204, 0.2); transform: scale(1.1); } /* Tech Stack Items */ .tech-item { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); padding: 1rem 2rem; border-radius: 12px; font-family: 'Exo 2', sans-serif; font-weight: 600; transition: all 0.3s ease; cursor: default; backdrop-filter: blur(10px); } .tech-item:hover { background: rgba(0, 229, 204, 0.1); border-color: #00E5CC; transform: translateY(-4px); box-shadow: 0 10px 20px rgba(0, 229, 204, 0.2); } /* Responsive Adjustments */ @media (max-width: 768px) { .service-card { padding: 1.5rem; } .tech-item { padding: 0.75rem 1.5rem; font-size: 0.9rem; } } /* Accessibility Focus Styles */ :focus { outline: 2px solid #00E5CC; outline-offset: 2px; } :focus:not(:focus-visible) { outline: none; } /* Smooth Scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #050A1C; } ::-webkit-scrollbar-thumb { background: #00E5CC; border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #00B8A9; }