@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap'); /* Color Variables */ :root { --primary-50: #f9fafb; --primary-100: #f3f4f6; --primary-200: #e5e7eb; --primary-300: #d1d5db; --primary-400: #9ca3af; --primary-500: #6b7280; --primary-600: #4b5563; --primary-700: #374151; --primary-800: #1f2937; --primary-900: #111827; --accent-100: #e5e7eb; --accent-200: #d1d5db; --accent-300: #9ca3af; --accent-400: #6b7280; --accent-500: #4b5563; --accent-600: #374151; --accent-700: #1f2937; --accent-800: #111827; --accent-900: #030712; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #1a1a2e; } ::-webkit-scrollbar-thumb { background: #0f3460; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #07689f; } /* Animation classes */ .animate-float { animation: float 6s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } } /* Custom transitions */ .transition-slow { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .transition-very-slow { transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); } /* Executive Typography */ .executive-heading { font-family: 'Playfair Display', serif; font-weight: 600; } /* Interactive Elements */ .interactive-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid var(--primary-200); } .interactive-card:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(139, 92, 246, 0.1), 0 10px 10px -5px rgba(139, 92, 246, 0.04); border-color: var(--primary-400); } /* Resume Timeline */ .timeline-item { position: relative; padding-left: 3rem; border-left: 2px solid var(--primary-300); } .timeline-item:before { content: ''; position: absolute; left: -11px; top: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--primary-600); border: 4px solid white; } /* Custom underline effect */ .hover-underline-animation { position: relative; } .hover-underline-animation::after { content: ''; position: absolute; width: 0; height: 2px; bottom: -2px; left: 0; background-color: currentColor; transition: width 0.3s ease; } .hover-underline-animation:hover::after { width: 100%; }