.intro-up{opacity:0;transform:translateY(20px);animation:intro .8s ease forwards}.intro-up.delay-1{animation-delay:.2s}.intro-up.delay-2{animation-delay:.4s}.intro-up.delay-3{animation-delay:.6s}@keyframes intro{to{opacity:1;transform:translateY(0)}}.avatar-ring{width:160px;height:160px;border-radius:9999px;padding:3px;background:conic-gradient(from 180deg at 50% 50%,#60a5fa,#22d3ee,#1e3a8a,#60a5fa);margin:0 auto 18px;display:grid;place-items:center;transition:transform .4s ease}.avatar-ring:hover{transform:scale(1.03) rotate(2deg)}.avatar-img{width:100%;height:100%;border-radius:9999px;-o-object-fit:cover;object-fit:cover;display:block}.scroll-indicator{position:absolute;bottom:24px;left:50%;transform:translate(-50%);color:var(--text-color);opacity:.7;cursor:pointer}.scroll-indicator span{display:inline-block;animation:bounce 1.2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.experience-container{max-width:800px;margin:0 auto;font-family:var(--font-sans);color:var(--text-primary)}.experience-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--text-secondary)}.experience-title{font-size:20px;font-weight:600;margin:0}.job-entry{display:flex;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.job-entry:last-child{border-bottom:none}.logo-container{width:48px;height:48px;margin-right:12px;border-radius:8px;overflow:hidden;background-color:#fff;padding:4px;flex-shrink:0}.job-details{flex:1}.job-company{font-size:18px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.job-title{font-size:16px;font-weight:500;margin-bottom:4px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.job-meta{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.job-duration{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.job-skills{display:flex;align-items:center;margin-top:12px;margin-bottom:16px;flex-wrap:wrap;gap:8px}.skill-badge{background-color:var(--secondary-color);color:var(--accent-color);padding:4px 8px;border-radius:4px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;border:1px solid var(--accent-color)}.skill-icon{color:var(--accent-color)}.more-skills{cursor:pointer;background-color:#64ffda1a;transition:all .2s ease}.more-skills:hover{background-color:#64ffda33;transform:translateY(-2px)}.job-description{margin-top:16px}.job-bullet{position:relative;padding-left:24px;margin-bottom:12px;line-height:1.5;color:var(--text-secondary)}.job-bullet:before{content:"▹";position:absolute;left:0;color:var(--accent-color)}.job-bullet:hover{color:var(--text-primary)}.certificate-badge{display:inline-flex;align-items:center;gap:8px;background-color:#64ffda1a;color:var(--accent-color);border:1px solid var(--accent-color);padding:4px 12px;border-radius:4px;font-size:14px;margin-top:12px;cursor:pointer;transition:all .2s ease}.certificate-badge:hover{background-color:#64ffda33;transform:translateY(-2px)}.timeline-marker{position:absolute;left:24px;top:48px;bottom:0;width:2px;background-color:var(--accent-color);opacity:.3;z-index:1}.new-role-badge{background-color:var(--accent-color);color:var(--dark-navy);font-size:12px;padding:2px 8px;border-radius:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.employment-type{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.project-card{position:relative;background-color:var(--secondary-color);border-radius:4px;box-shadow:0 10px 30px -15px #020c1bb3;transition:all .3s ease;overflow:hidden;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-10px);box-shadow:0 20px 30px -15px #020c1bb3}.project-image-container{position:relative;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}.project-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#00000059;opacity:0;transition:opacity .3s ease}.project-image-container:hover .project-overlay{opacity:1}.project-image{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;border-top-left-radius:4px;border-top-right-radius:4px;transition:transform .3s ease}.project-image-container:hover .project-image{transform:scale(1.05)}.project-content{padding:25px;flex-grow:1;display:flex;flex-direction:column}.project-title{font-size:1.25rem;color:var(--white);margin-bottom:10px}.project-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px;flex-grow:1}.tech-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:0;list-style:none}.tech-item{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);background-color:#64ffda1a;padding:3px 8px;border-radius:3px;transition:all .2s ease}.tech-item:hover{color:var(--accent-color);background-color:#64ffda33}.project-links{display:flex;gap:15px}.project-link{color:var(--white);font-size:1rem;transition:all .2s ease;text-decoration:none;display:flex;align-items:center;gap:5px}.project-link:hover{color:var(--accent-color);transform:translateY(-2px)}.filter-container{display:flex;justify-content:center;margin-bottom:40px}.filter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.filter-btn{font-size:.8rem;padding:.5rem 1rem;background-color:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .3s ease}.filter-btn:hover{background-color:#64ffda0d;border-color:var(--accent-color);color:var(--accent-color)}.filter-btn.active{background-color:#64ffda1a;border-color:var(--accent-color);color:var(--accent-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}@media(max-width:768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media(max-width:480px){.filter-buttons{gap:5px}.filter-btn{font-size:.7rem;padding:.4rem .8rem}}.contact-container{max-width:1200px;margin:0 auto;padding:0 20px}.contact-header{text-align:center;margin-bottom:80px}.contact-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;background:linear-gradient(135deg,var(--accent-color),#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.contact-subtitle{font-size:1.3rem;color:var(--text-secondary);max-width:600px;margin:0 auto 30px;line-height:1.6}.contact-description{color:var(--text-secondary);max-width:500px;margin:0 auto;line-height:1.6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-form-section{background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.contact-form-section:hover{border-color:#64ffda4d;box-shadow:0 10px 30px #0000004d}.form-title{font-size:1.8rem;color:var(--white);margin-bottom:10px}.form-subtitle{color:var(--text-secondary);margin-bottom:30px;line-height:1.5}.form-group{margin-bottom:25px}.form-label{display:block;color:var(--white);font-weight:500;margin-bottom:8px;font-size:.9rem}.form-input,.form-textarea{width:100%;padding:15px 18px;border:2px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:12px;color:var(--white);font-size:1rem;transition:all .3s ease;outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--accent-color);background:#ffffff14;box-shadow:0 0 0 3px #64ffda1a}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}.submit-btn{width:100%;padding:15px 20px;background:linear-gradient(135deg,var(--accent-color),#00d4ff);color:var(--primary-color);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #64ffda4d}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.status-message{text-align:center;margin-top:15px;padding:10px;border-radius:8px;font-weight:500}.status-success{color:#22c55e;background:#22c55e1a}.status-sending{color:var(--accent-color);background:#64ffda1a}.contact-info-section{display:flex;flex-direction:column;gap:40px}.contact-info-card{background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px;transition:all .3s ease}.contact-info-card:hover{border-color:#64ffda4d;transform:translateY(-5px)}.info-title{font-size:1.5rem;color:var(--white);margin-bottom:20px;display:flex;align-items:center;gap:10px}.contact-methods{display:flex;flex-direction:column;gap:20px}.contact-method{display:flex;align-items:center;gap:15px;padding:15px;border-radius:12px;background:#ffffff08;transition:all .3s ease;text-decoration:none;color:inherit}.contact-method:hover{background:#64ffda1a;transform:translate(5px)}.method-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--accent-color),#00d4ff);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.1rem}.method-info{flex:1}.method-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:2px}.method-value{color:var(--white);font-weight:500}.social-links{display:flex;gap:15px;flex-wrap:wrap}.social-link{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;text-decoration:none;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;color:var(--white);font-size:1.2rem}.social-link:hover{transform:translateY(-3px);border-color:var(--accent-color);box-shadow:0 5px 15px #0000004d}.cta-section{text-align:center;margin-top:60px;padding:40px;background:linear-gradient(135deg,#64ffda1a,#00d4ff1a);border-radius:20px;border:1px solid rgba(100,255,218,.2)}.cta-title{font-size:1.8rem;color:var(--white);margin-bottom:15px}.cta-text{color:var(--text-secondary);margin-bottom:25px;line-height:1.6}.cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.cta-btn{padding:12px 25px;border-radius:25px;text-decoration:none;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px}.cta-primary{background:linear-gradient(135deg,var(--accent-color),#00d4ff);color:var(--primary-color)}.cta-secondary{background:transparent;color:var(--accent-color);border:2px solid var(--accent-color)}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-form-section,.contact-info-card{padding:25px}.contact-header{margin-bottom:50px}.social-links{justify-content:center}.cta-buttons{flex-direction:column;align-items:center}.cta-btn{width:200px;justify-content:center}}@media(max-width:480px){.contact-methods{gap:15px}.contact-method{padding:12px}.method-icon{width:35px;height:35px}}:root{--font-sans: "Inter", sans-serif;--font-mono: "Space Mono", monospace;--accent-color: #64ffda;--text-secondary: #8892b0;--text-color: #e6f1ff;--background: #0a192f;--secondary-color: #112240;--button-gradient: linear-gradient(135deg, #60a5fa 0%, #1e3a8a 100%);--heading-gradient: linear-gradient(90deg, #60a5fa 0%, #7dd3fc 50%, #1e3a8a 100%);--transition: all .25s cubic-bezier(.645, .045, .355, 1)}:root[data-theme=light]{--text-color: #0b1220;--text-secondary: #1f2937;--accent-color: #2563eb;--secondary-color: rgba(255,255,255,.6);--background: linear-gradient(180deg, #87CEEB 0%, #FDFDFD 100%);--button-gradient: linear-gradient(135deg, #87CEEB 0%, #1E3A8A 100%);--heading-gradient: linear-gradient(90deg, #1E3A8A 0%, #60a5fa 50%, #87CEEB 100%)}:root[data-theme=dark]{--text-color: #eef6ff;--text-secondary: #b7c7dd;--accent-color: #7cc8ff;--secondary-color: #132b45;--background: linear-gradient(180deg, #113055 0%, #0c1e38 100%);--button-gradient: linear-gradient(135deg, #7cc8ff 0%, #265ea7 100%);--heading-gradient: linear-gradient(90deg, #9ce2ff 0%, #7cc8ff 50%, #265ea7 100%)}.gradient-text{background:var(--heading-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.btn-gradient{background-image:var(--button-gradient);color:#fff;border:none;border-radius:10px;padding:.75rem 1.1rem;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 10px 25px #3b82f659;filter:brightness(1.05)}*{margin:0;padding:0;box-sizing:border-box}html,body{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--background);color:var(--text-color);line-height:1.6;overflow-x:hidden;transition:background .5s ease,color .3s ease}a{text-decoration:none;color:inherit}ul{list-style:none}.container{width:90%;max-width:1200px;margin:0 auto;padding:0 20px}.section-title{display:flex;align-items:center;position:relative;margin:10px 0 40px;width:100%;font-size:clamp(26px,5vw,32px);white-space:nowrap}.section-title .number{color:var(--accent-color);font-family:var(--font-mono);font-size:clamp(16px,3vw,20px);margin-right:10px}.btn{color:var(--accent-color);background-color:transparent;border:1px solid var(--accent-color);border-radius:8px;padding:.75rem 1rem;font-family:var(--font-mono);line-height:1;text-decoration:none;cursor:pointer;transition:var(--transition);margin-right:15px}.btn:hover{background-color:#64ffda1a}.btn-primary{background-image:var(--button-gradient);color:#fff;border:none}.loading-screen{height:100vh;display:flex;justify-content:center;align-items:center;background:var(--background)}.loader{border:4px solid rgba(100,255,218,.1);border-top:4px solid var(--accent-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .5s ease-in-out,transform .5s ease-in-out}.fade-in.appear{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translate(-50px);transition:opacity .5s ease-in-out,transform .5s ease-in-out}.slide-in-left.appear{opacity:1;transform:translate(0)}.slide-in-right{opacity:0;transform:translate(50px);transition:opacity .5s ease-in-out,transform .5s ease-in-out}.slide-in-right.appear{opacity:1;transform:translate(0)}@media(max-width:768px){.container{width:100%;padding:0 25px}.section-title{margin:10px 0 30px}}
