Spaces:
Running
Running
| /* 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; | |
| } |