* { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Inter', sans-serif; background: #0a0a0a; color: #ffffff; overflow-x: hidden; } .hero { height: 100vh; position: relative; display: flex; align-items: center; overflow: hidden; background-image: url('/placeholder.svg?height=1080&width=1920'); background-size: cover; background-position: center; background-repeat: no-repeat; } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.6) 100%); z-index: 0; } .hero-content { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } .hero-text { opacity: 0; transform: translateX(-50px); animation: slideInLeft 1s ease-out 0.5s forwards; } .hero-title { font-size: 3.5rem; font-weight: 700; margin-bottom: 1rem; background: linear-gradient(135deg, #ffffff 0%, #888888 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero-subtitle { font-size: 1.5rem; color: #888888; margin-bottom: 2rem; font-weight: 300; } .hero-description { font-size: 1.1rem; line-height: 1.8; color: #cccccc; margin-bottom: 2rem; } .hero-tags { display: flex; gap: 1rem; flex-wrap: wrap; } .tag { padding: 0.5rem 1rem; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 25px; font-size: 0.9rem; backdrop-filter: blur(10px); } .hero-visual { opacity: 0; transform: translateX(50px); animation: slideInRight 1s ease-out 0.7s forwards; } .code-window { background: rgba(20, 20, 20, 0.9); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 1.5rem; backdrop-filter: blur(20px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5); } .code-header { display: flex; gap: 0.5rem; margin-bottom: 1rem; } .code-dot { width: 12px; height: 12px; border-radius: 50%; } .dot-red { background: #ff5f57; } .dot-yellow { background: #ffbd2e; } .dot-green { background: #28ca42; } .code-content { font-family: 'Courier New', monospace; font-size: 0.9rem; line-height: 1.6; color: #888888; } .code-line { margin-bottom: 0.5rem; } .code-comment { color: #666666; } .code-keyword { color: #ff6b6b; } .code-string { color: #4ecdc4; } .about { padding: 8rem 2rem; background: #0a0a0a; position: relative; z-index: 10; } .about-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } .about-text { opacity: 0; transform: translateX(-30px); } .about-title { font-size: 2.5rem; font-weight: 600; margin-bottom: 2rem; background: linear-gradient(135deg, #ffffff 0%, #888888 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .about-description { font-size: 1.1rem; line-height: 1.8; color: #cccccc; margin-bottom: 2rem; } .about-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; } .stat-item { background: rgba(255, 255, 255, 0.05); padding: 1.5rem; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); } .stat-number { font-size: 2rem; font-weight: 700; color: #ff6b6b; margin-bottom: 0.5rem; } .stat-label { color: #888888; font-size: 0.9rem; } .skills { padding: 8rem 2rem; background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); } .skills-container { max-width: 1200px; margin: 0 auto; } .section-title { font-size: 2.5rem; font-weight: 600; text-align: center; margin-bottom: 4rem; opacity: 0; transform: translateY(30px); } .skills-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; } .skill-card { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 2rem; backdrop-filter: blur(20px); transition: all 0.4s ease; opacity: 0; transform: translateY(30px); } .skill-card:hover { transform: translateY(-5px); border-color: rgba(255, 255, 255, 0.3); } .skill-icon { font-size: 2.5rem; margin-bottom: 1rem; color: #ff6b6b; } .skill-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 1rem; } .skill-description { color: #cccccc; line-height: 1.6; } .tools { padding: 8rem 2rem; background: rgba(10, 10, 10, 0.95); } .tools-container { max-width: 1200px; margin: 0 auto; } .tools-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; } .tool-item { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 1.5rem; backdrop-filter: blur(20px); transition: all 0.3s ease; opacity: 0; transform: translateY(20px); text-align: center; } .tool-item:hover { transform: translateY(-3px); border-color: rgba(255, 255, 255, 0.3); } .tool-icon { font-size: 2rem; color: #4ecdc4; margin-bottom: 1rem; } .tool-name { font-weight: 600; margin-bottom: 0.5rem; } .tool-category { color: #888888; font-size: 0.9rem; } .services { padding: 8rem 2rem; background: #0a0a0a; } .services-container { max-width: 1200px; margin: 0 auto; } .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } .service-card { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 2.5rem; backdrop-filter: blur(20px); transition: all 0.4s ease; opacity: 0; transform: translateY(30px); text-align: center; } .service-card:hover { transform: translateY(-10px); border-color: rgba(255, 107, 107, 0.5); box-shadow: 0 20px 40px rgba(255, 107, 107, 0.1); } .service-icon { font-size: 3rem; color: #ff6b6b; margin-bottom: 1.5rem; } .service-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem; } .service-description { color: #cccccc; line-height: 1.6; margin-bottom: 1.5rem; } .service-features { list-style: none; text-align: left; } .service-features li { color: #888888; margin-bottom: 0.5rem; padding-left: 1.5rem; position: relative; } .service-features li::before { content: "✓"; position: absolute; left: 0; color: #4ecdc4; font-weight: bold; } .projects { padding: 8rem 2rem; background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); max-width: 1200px; margin: 0 auto; } .projects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; } .project-card { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 2rem; backdrop-filter: blur(20px); transition: all 0.4s ease; opacity: 0; transform: translateY(50px); position: relative; overflow: hidden; } .project-card:hover { transform: translateY(-10px); border-color: rgba(255, 255, 255, 0.3); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); } .project-card.upcoming { filter: blur(8px); opacity: 0.4; } .project-card.upcoming::after { content: "Name Pending"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(255, 255, 255, 0.15); padding: 1.5rem 3rem; border-radius: 12px; font-weight: 600; font-size: 1.2rem; backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.2); } .project-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; } .project-icon { width: 50px; height: 50px; background: linear-gradient(135deg, #ff6b6b, #4ecdc4); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; } .project-title { font-size: 1.5rem; font-weight: 600; } .project-role { color: #ff6b6b; font-size: 0.8rem; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; } .project-members { color: #888888; font-size: 0.9rem; display: flex; align-items: center; gap: 0.5rem; } .project-description { color: #cccccc; line-height: 1.6; margin-bottom: 1.5rem; } .project-tech { display: flex; gap: 0.5rem; flex-wrap: wrap; } .tech-tag { padding: 0.3rem 0.8rem; background: rgba(255, 255, 255, 0.1); border-radius: 15px; font-size: 0.8rem; color: #cccccc; } .process { padding: 8rem 2rem; background: rgba(10, 10, 10, 0.95); } .process-container { max-width: 1000px; margin: 0 auto; } .process-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; } .process-step { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 2rem; backdrop-filter: blur(20px); transition: all 0.4s ease; opacity: 0; transform: translateY(30px); text-align: center; position: relative; } .process-step:hover { transform: translateY(-5px); border-color: rgba(255, 255, 255, 0.3); } .step-number { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); width: 30px; height: 30px; background: #ff6b6b; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 0.9rem; } .step-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 1rem; margin-top: 1rem; } .step-description { color: #cccccc; line-height: 1.6; } .achievements { padding: 8rem 2rem; background: #0a0a0a; } .achievements-container { max-width: 1200px; margin: 0 auto; } .achievements-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; } .achievement-card { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 2rem; backdrop-filter: blur(20px); transition: all 0.4s ease; opacity: 0; transform: translateY(30px); text-align: center; } .achievement-card:hover { transform: translateY(-5px); border-color: rgba(255, 215, 0, 0.5); } .achievement-icon { font-size: 3rem; color: #ffd700; margin-bottom: 1rem; } .achievement-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.5rem; } .achievement-description { color: #cccccc; font-size: 0.9rem; } .testimonials { padding: 8rem 2rem; background: linear-gradient(135deg, rgba(10, 10, 10, 0.9) 0%, rgba(20, 20, 20, 0.9) 100%); } .testimonials-container { max-width: 1000px; margin: 0 auto; } .testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } .testimonial-card { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 2rem; backdrop-filter: blur(20px); transition: all 0.4s ease; opacity: 0; transform: translateY(30px); } .testimonial-card:hover { transform: translateY(-5px); border-color: rgba(255, 255, 255, 0.3); } .testimonial-content { font-style: italic; color: #cccccc; line-height: 1.6; margin-bottom: 1.5rem; } .testimonial-author { display: flex; align-items: center; gap: 1rem; } .testimonial-avatar { width: 50px; height: 50px; background: linear-gradient(135deg, #ff6b6b, #4ecdc4); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; } .testimonial-info h4 { font-weight: 600; margin-bottom: 0.2rem; } .testimonial-info span { color: #888888; font-size: 0.9rem; } .faq { padding: 8rem 2rem; background: rgba(10, 10, 10, 0.95); } .faq-container { max-width: 800px; margin: 0 auto; } .faq-item { background: rgba(20, 20, 20, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; margin-bottom: 1rem; backdrop-filter: blur(20px); opacity: 0; transform: translateY(20px); } .faq-question { padding: 1.5rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; transition: all 0.3s ease; } .faq-question:hover { background: rgba(255, 255, 255, 0.05); } .faq-answer { padding: 0 1.5rem 1.5rem; color: #cccccc; line-height: 1.6; display: none; } .faq-answer.active { display: block; } .faq-icon { transition: transform 0.3s ease; } .faq-icon.rotated { transform: rotate(180deg); } .experience { padding: 8rem 2rem; background: #0a0a0a; } .experience-container { max-width: 1000px; margin: 0 auto; } .timeline { position: relative; padding-left: 2rem; } .timeline::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, #ff6b6b, #4ecdc4); } .timeline-item { position: relative; margin-bottom: 3rem; opacity: 0; transform: translateX(30px); } .timeline-item::before { content: ''; position: absolute; left: -2rem; top: 0.5rem; width: 12px; height: 12px; background: #ff6b6b; border-radius: 50%; transform: translateX(-5px); } .timeline-content { background: rgba(20, 20, 20, 0.8); padding: 2rem; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); backdrop-filter: blur(20px); } .timeline-year { color: #ff6b6b; font-weight: 600; font-size: 0.9rem; margin-bottom: 0.5rem; } .timeline-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 1rem; } .timeline-description { color: #cccccc; line-height: 1.6; } .contact { padding: 6rem 2rem; text-align: center; background: linear-gradient(135deg, rgba(10, 10, 10, 0.9) 0%, rgba(20, 20, 20, 0.9) 100%); } .contact-title { font-size: 2.5rem; font-weight: 600; margin-bottom: 2rem; opacity: 0; transform: translateY(30px); } .contact-subtitle { font-size: 1.2rem; color: #888888; margin-bottom: 3rem; opacity: 0; transform: translateY(30px); } .contact-buttons { display: flex; gap: 2rem; justify-content: center; flex-wrap: wrap; opacity: 0; transform: translateY(30px); } .contact-btn { display: flex; align-items: center; gap: 1rem; padding: 1rem 2rem; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 12px; color: #ffffff; text-decoration: none; font-weight: 500; transition: all 0.3s ease; backdrop-filter: blur(10px); } .contact-btn:hover { background: rgba(255, 255, 255, 0.2); transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } .contact-btn i { font-size: 1.2rem; } @keyframes slideInLeft { to { opacity: 1; transform: translateX(0); } } @keyframes slideInRight { to { opacity: 1; transform: translateX(0); } } @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } } @media (max-width: 768px) { .hero-content, .about-container { grid-template-columns: 1fr; gap: 2rem; text-align: center; } .hero-title { font-size: 2.5rem; } .projects-grid { grid-template-columns: 1fr; } .contact-buttons { flex-direction: column; align-items: center; } .about-stats { grid-template-columns: 1fr; } } .animate-on-scroll { opacity: 0; transform: translateY(50px); transition: all 0.8s ease; } .animate-on-scroll.animated { opacity: 1; transform: translateY(0); }