@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); :root { --celestial-blue: #004f98; --deep-space: #001a33; --nebula-purple: #2d1b69; --silver: #c0c0c0; --starlight: #ffffff; } body { font-family: 'Inter', sans-serif; scroll-behavior: smooth; } /* Celestial Animations */ @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } @keyframes twinkle { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes nebulaPulse { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } /* Star Elements */ .star { position: absolute; width: 2px; height: 2px; background: white; border-radius: 50%; animation: twinkle 3s infinite; } .star:nth-child(2n) { animation-delay: 1s; } .star:nth-child(3n) { animation-delay: 2s; } /* Celestial Text Effects */ .celestial-text { background: linear-gradient(135deg, #ffffff 0%, #c0c0c0 50%, #a8a8a8 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: fadeInUp 1.5s ease-out; } .celestial-title { background: linear-gradient(135deg, #ffffff 0%, #c0c0c0 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .celestial-subtitle { animation: fadeInUp 1.5s ease-out 0.5s both; } .celestial-card { animation: fadeInUp 1s ease-out; border: 1px solid rgba(192, 192, 192, 0.1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); } /* Portfolio Gallery Styles */ .portfolio-item { position: relative; overflow: hidden; border-radius: 12px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(192, 192, 192, 0.1); } .portfolio-item:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4); border-color: rgba(192, 192, 192, 0.3); } .portfolio-image { width: 100%; height: 300px; object-fit: cover; transition: transform 0.6s ease; } .portfolio-item:hover .portfolio-image { transform: scale(1.1); } .portfolio-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0, 79, 152, 0.9)); padding: 2rem 1.5rem 1.5rem; transform: translateY(100%); transition: transform 0.4s ease; } .portfolio-item:hover .portfolio-overlay { transform: translateY(0); } /* Navigation Styles */ .nav-link { position: relative; transition: all 0.3s ease; } .nav-link::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, #c0c0c0, #ffffff); transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } /* Form Styles */ input, textarea { backdrop-filter: blur(10px); } input:focus, textarea:focus { backdrop-filter: blur(15px); } /* Responsive Design */ @media (max-width: 768px) { .celestial-text { font-size: 3rem !important; } .portfolio-item { margin-bottom: 2rem; } } /* Scroll Animations */ .fade-in { opacity: 0; transform: translateY(30px); transition: all 0.8s ease; } .fade-in.visible { opacity: 1; transform: translateY(0); } /* Nebula Background Effect */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 20% 80%, rgba(45, 27, 105, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(0, 79, 152, 0.1) 0%, transparent 50%), radial-gradient(circle at 40% 40%, rgba(0, 26, 51, 0.1) 0%, transparent 50%); animation: nebulaPulse 20s ease-in-out infinite; pointer-events: none; z-index: -1; }