:root{--bg-color: #0e1117;--text-color: #f5f5f5;--accent-color: #4c6b94;--accent-hover-color: #7089a9;--font-family: "Inter", sans-serif}html,body{margin:0;padding:0;font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);scroll-behavior:smooth}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}.container{max-width:1024px;margin:0 auto;padding:0 1rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.in-view{opacity:1;transform:translateY(0);animation:fadeUp .6s ease-out forwards}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:3rem 0;position:relative}.section-heading{font-size:3.5rem;font-weight:700;margin:0 0 2.5rem;color:var(--accent-color);text-align:center;line-height:1.2}.accent{color:var(--accent-color)}.reveal{opacity:1;transform:translateY(0);transition:all .6s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;width:100%;background:#14181ffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;box-shadow:0 4px 20px #00000040;border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease}.navbar-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:1rem 2rem}.navbar-logo{font-size:1.5rem;font-weight:800;color:var(--accent-color);text-decoration:none;letter-spacing:1.5px;text-shadow:0 0 10px rgba(0,255,255,.3);transition:all .3s ease}.navbar-logo:hover{transform:scale(1.05);text-shadow:0 0 15px rgba(0,255,255,.5)}.navbar-links{list-style:none;display:flex;gap:2.5rem;margin:0;padding:0}.navbar-links li a{color:#fff;font-weight:600;text-decoration:none;font-size:1.1rem;padding:.5rem 1rem;border-radius:25px;transition:all .3s ease;position:relative;overflow:hidden}.navbar-links li a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.1),transparent);transition:left .5s ease}.navbar-links li a:hover:before{left:100%}.navbar-links li a:hover{color:var(--accent-color);background:#00ffff1a;box-shadow:0 0 15px #0ff3;transform:translateY(-2px)}@media (max-width: 700px){.navbar-content{flex-direction:column;gap:.5rem;padding:.75rem 1rem}}body{padding-top:80px}.hero-section{position:relative;min-height:calc(100vh - 80px);height:auto;display:flex;align-items:stretch;justify-content:center;background-size:cover;background-position:center;overflow:hidden}.hero-section .overlay{position:relative;width:100%;min-height:calc(100vh - 80px);background:#0e1117e0;z-index:1;display:flex;align-items:center;padding:4rem 0}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center;max-width:1200px;width:100%;padding:0 2rem}.hero-text{text-align:left;display:flex;flex-direction:column;gap:2rem}.hero-intro{margin-bottom:1rem}.hero-greeting{font-size:2.2rem;font-weight:700;color:var(--accent-color);margin:0 0 1rem;background:#00ffff1a;padding:.8rem 1.5rem;border-radius:25px;display:inline-block;border:2px solid var(--accent-color)}.hero-description{display:flex;flex-direction:column;gap:1.5rem}.hero-main-text{font-size:1.6rem;font-weight:600;line-height:1.6;color:var(--text-color);margin:0}.hero-secondary-text{font-size:1.4rem;font-weight:400;line-height:1.7;color:#ffffffe6;margin:0}.hero-cta{display:flex;flex-direction:column;gap:1.5rem;margin-top:.3rem}.hero-portfolio-text{font-size:1.3rem;font-weight:400;line-height:1.6;color:#fffc;margin:0}.hero-link{color:#64ffda;text-decoration:none;font-weight:600;position:relative;transition:all .3s ease}.hero-link:hover{color:#fff;text-shadow:0 0 10px rgba(100,255,218,.6)}.hero-link:hover:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#64ffda,#00bcd4);border-radius:1px}.hero-image{display:flex;justify-content:center;align-items:center}.profile-placeholder{width:380px;height:480px;background:#ffffff1a;border:2px solid var(--accent-color);border-radius:15px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;transition:all .3s ease;overflow:hidden;padding:0}.profile-placeholder:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0006}.profile-image{width:100%;height:100%;object-fit:cover;border-radius:13px}.profile-placeholder p{color:var(--accent-color);font-size:1.2rem;font-weight:600;text-align:center}.cta-button{display:inline-block;background:linear-gradient(135deg,var(--accent-color),#0099cc);color:var(--text-color);padding:1.4rem 3rem;border-radius:50px;font-size:1.3rem;font-weight:600;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #00ffff4d;margin-top:2rem;border:none;cursor:pointer}.cta-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0ff6;background:linear-gradient(135deg,#0099cc,var(--accent-color))}@media (max-width: 900px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-text{text-align:center}.profile-placeholder{width:250px;height:320px}.hero-greeting{font-size:1.8rem}.hero-main-text{font-size:1.4rem}.hero-secondary-text{font-size:1.2rem}.hero-portfolio-text{font-size:1.1rem}.section-heading{font-size:2.8rem}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.skill-category-card{background:linear-gradient(145deg,#14181f,#1a202c);border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),#0099cc);transform:scaleX(0);transition:transform .3s ease}.skill-category-card:hover:before{transform:scaleX(1)}.skill-category-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #00ffff26;border-color:var(--accent-color)}.skill-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.skill-icon{font-size:2.5rem;filter:drop-shadow(0 0 10px rgba(0,255,255,.3))}.skill-category-title{font-size:1.8rem;font-weight:700;color:var(--accent-color);margin:0}.skills-list{display:flex;flex-wrap:wrap;gap:.8rem}.skill-tag{background:#00ffff1a;color:var(--text-color);padding:.6rem 1.2rem;border-radius:20px;font-size:.95rem;font-weight:500;border:1px solid rgba(0,255,255,.3);transition:all .3s ease;cursor:default}.skill-tag:hover{background:#0ff3;border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 15px #0ff3}@media (max-width: 800px){.skills-grid{grid-template-columns:1fr;gap:1.5rem}.skill-category-card{padding:1.5rem}.skill-header{gap:.8rem}.skill-icon{font-size:2rem}.skill-category-title{font-size:1.5rem}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem;margin-top:2rem}.service-card{background:linear-gradient(145deg,#14181f,#1a202c);border:1px solid rgba(0,255,255,.2);border-radius:12px;padding:2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),#0099cc);transform:scaleX(0);transition:transform .3s ease}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00ffff26;border-color:var(--accent-color)}.service-card h3{font-size:2rem;margin-bottom:1.2rem;color:var(--accent-color);font-weight:700}.service-card p{font-size:1.3rem;line-height:1.7;margin-bottom:1.8rem;color:#ffffffe6}.service-card ul{padding-left:0;list-style:none}.service-card ul li{margin-bottom:1rem;line-height:1.7;position:relative;padding-left:2rem;font-size:1.2rem;color:#fffc}.service-card ul li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent-color);font-weight:700;font-size:1.2rem}.service-cta-button{display:inline-block;background:linear-gradient(135deg,var(--accent-color),#0099cc);color:var(--text-color);padding:1rem 2rem;border-radius:25px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #00ffff4d;margin-top:auto;border:none;cursor:pointer;width:100%;text-align:center}.service-cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ff6;background:linear-gradient(135deg,#0099cc,var(--accent-color))}@media (max-width: 800px){.services-grid{grid-template-columns:1fr;gap:2rem}.service-card{padding:2rem}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.project-card{display:flex;flex-direction:column;background:#14181f;border:1px solid #2a2f3a;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0006}.project-card img{width:100%;height:180px;object-fit:cover}.project-content{padding:1.5rem;display:flex;flex-direction:column;height:100%}.project-content h3{margin:0 0 1rem;font-size:1.15rem;color:var(--accent-color)}.project-content p{flex:1;line-height:1.65;margin:0 0 1rem;font-size:.95rem;color:#ffffffd1}.project-links{display:flex;gap:.75rem;flex-wrap:wrap}.project-cta-button{background:linear-gradient(135deg,#28a745,#20c997);color:var(--text-color);padding:.75rem 1.5rem;border-radius:25px;font-size:1.2rem;font-weight:600;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #28a74533;border:1px solid rgba(40,167,69,.3)}.project-cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566;background:linear-gradient(135deg,#20c997,#28a745)}.project-links a{background:linear-gradient(135deg,var(--accent-color),#0099cc);color:var(--text-color);padding:.75rem 1.5rem;border-radius:25px;font-size:1.2rem;font-weight:600;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #0ff3}.project-button{background:linear-gradient(135deg,var(--accent-color),#0099cc);color:var(--text-color);padding:.75rem 1.5rem;border-radius:25px;font-size:1.2rem;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0ff3}.project-button.coming-soon{background:linear-gradient(135deg,#6c757d,#495057);color:#fff9;cursor:not-allowed;opacity:.7;box-shadow:0 4px 15px #6c757d33}.project-button.coming-soon:hover{transform:none;box-shadow:0 4px 15px #6c757d33;background:linear-gradient(135deg,#6c757d,#495057)}.project-links a:hover,.project-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00ffff4d;background:linear-gradient(135deg,#0099cc,var(--accent-color))}.video-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.video-modal-content{position:relative;max-width:90vw;max-height:90vh;background:#1a1a1a;border-radius:15px;padding:1rem;box-shadow:0 20px 60px #00000080}.close-button{position:absolute;top:-10px;right:-10px;background:var(--accent-color);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2001;transition:all .3s ease}.close-button:hover{background:#09c;transform:scale(1.1)}.demo-video{width:100%;height:auto;max-height:80vh;border-radius:10px}.testimonials-list{display:flex;flex-direction:column;gap:2rem;max-width:800px;margin:0 auto}.testimonial-card{background:#14181f;border-left:4px solid var(--accent-color);padding:1.5rem;border-radius:4px}.testimonial-card p{font-style:italic;line-height:1.6;margin:0 0 .75rem;font-size:1.3rem}.testimonial-card span{font-weight:500;color:var(--accent-color);font-size:1.2rem}.contact-container{max-width:100%;margin:0 auto;background:#14181f;border-radius:8px;padding:2rem;text-align:center;border:1px solid #2a2f3a}.contact-links{display:flex;flex-direction:row;gap:2rem;align-items:center;justify-content:center}.contact-link{color:var(--accent-color);font-weight:500;transition:all .3s ease;text-decoration:none;padding:1rem;border-radius:50%;background:#00ffff1a;border:2px solid rgba(0,255,255,.3);display:flex;align-items:center;justify-content:center;width:80px;height:80px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-icon{width:40px;height:40px;object-fit:contain;filter:brightness(1.2);transition:all .3s ease}.contact-link:hover{background:#0ff3;border-color:var(--accent-color);transform:translateY(-5px) scale(1.1);box-shadow:0 10px 30px #00ffff4d}.contact-link:hover .contact-icon{filter:brightness(1.5);transform:scale(1.1)}.contact-container p{font-size:1.1rem;line-height:1.8;color:#ffffffd1;margin-bottom:1.75rem}.contact-resume-btn{display:inline-block;margin-top:1.5rem;padding:.65rem 1.75rem;background:var(--accent-color);color:#fff;border-radius:6px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .2s ease,transform .2s ease}.contact-resume-btn:hover{background:var(--accent-hover-color);transform:translateY(-1px)}.hero-identity{margin-bottom:1.25rem}.hero-name{font-size:3.6rem;font-weight:800;color:var(--text-color);margin:0 0 .4rem;line-height:1.1;letter-spacing:-.02em}.hero-tagline{font-size:1.2rem;font-weight:500;color:var(--accent-color);letter-spacing:.04em;margin:0}.pillars-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:1.5rem}.pillar-card{background:#4c6b9414;border:1px solid rgba(76,107,148,.28);border-radius:10px;padding:1.1rem 1.1rem 1rem;transition:border-color .25s ease,background .25s ease,transform .2s ease}.pillar-card:hover{border-color:var(--accent-color);background:#4c6b9424;transform:translateY(-2px)}.pillar-icon{font-size:1.35rem;display:block;margin-bottom:.45rem}.pillar-title{font-size:.8rem;font-weight:700;color:var(--accent-color);margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.09em}.pillar-desc{font-size:.8rem;color:#ffffffa6;margin:0;line-height:1.55}.hero-bio{font-size:.98rem;color:#ffffffd1;line-height:1.75;margin:0 0 1.5rem}.hero-inline-link{color:var(--accent-color);text-decoration:underline;text-decoration-color:#4c6b9466;transition:color .2s ease}.hero-inline-link:hover{color:var(--accent-hover-color)}.hero-links-row{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.hero-link-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#ffffffe0;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .15s ease}.hero-link-btn:hover{background:#4c6b942e;border-color:var(--accent-color);color:#fff;transform:translateY(-1px)}.hero-link-btn--primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff;font-weight:600}.hero-link-btn--primary:hover{background:var(--accent-hover-color);border-color:var(--accent-hover-color);transform:translateY(-1px)}.hero-link-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0}@media (max-width: 900px){.hero-name{font-size:2.5rem}.hero-tagline{font-size:1rem}.pillars-row{grid-template-columns:1fr;gap:.65rem}.hero-links-row{justify-content:center}}.experience-timeline{position:relative;display:flex;flex-direction:column;padding-left:1.75rem}.experience-timeline:before{content:"";position:absolute;left:0;top:.4rem;bottom:2rem;width:2px;background:linear-gradient(to bottom,var(--accent-color),rgba(76,107,148,.1))}.experience-item{position:relative;padding:0 0 3rem 2.25rem}.experience-item:before{content:"";position:absolute;left:-.38rem;top:.4rem;width:10px;height:10px;background:var(--accent-color);border-radius:50%;border:2px solid var(--bg-color);box-shadow:0 0 0 3px #4c6b9433}.experience-item:last-child{padding-bottom:0}.exp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.3rem}.exp-role{font-size:1.2rem;font-weight:700;color:var(--text-color);margin:0;line-height:1.3}.exp-date-badge{font-size:.76rem;font-weight:600;color:var(--accent-color);background:#4c6b941a;border:1px solid rgba(76,107,148,.28);padding:.22rem .7rem;border-radius:20px;white-space:nowrap;flex-shrink:0;margin-top:.1rem}.exp-org{font-size:.9rem;color:var(--accent-color);font-weight:500;margin:0 0 .9rem}.exp-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.exp-bullets li{font-size:.92rem;color:#ffffffc7;padding-left:1.2rem;position:relative;line-height:1.65}.exp-bullets li:before{content:"▸";position:absolute;left:0;color:var(--accent-color);font-size:.75rem;top:.15rem}.exp-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:3px;margin-left:.4rem;vertical-align:middle;letter-spacing:.04em;text-transform:uppercase}.exp-badge--live{background:#28a7452e;color:#5dd87a;border:1px solid rgba(93,216,122,.3)}.exp-badge--pub{background:#b57bee26;color:#c49af0;border:1px solid rgba(181,123,238,.3)}@media (max-width: 700px){.experience-timeline{padding-left:1.1rem}.experience-item{padding-left:1.5rem}.exp-header{flex-direction:column;gap:.35rem}.exp-role{font-size:1.05rem}}.portfolio-subsection{margin-bottom:3rem}.portfolio-subsection:last-child{margin-bottom:0}.portfolio-subsection-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#fff6;margin:0 0 1.25rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.08)}.project-card-header h3{font-size:1.05rem;font-weight:700;color:var(--text-color);margin:0;line-height:1.35}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.project-status-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.07em;padding:.18rem .55rem;border-radius:4px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;margin-top:.1rem}.badge--live{background:#28a7452e;color:#5dd87a;border:1px solid rgba(93,216,122,.3)}.badge--in-dev{background:#ffc1071f;color:#ffc107;border:1px solid rgba(255,193,7,.28)}.badge--demo{background:#4c6b942e;color:#7da3cc;border:1px solid rgba(76,107,148,.35)}.badge--published{background:#b57bee26;color:#c49af0;border:1px solid rgba(181,123,238,.3)}.badge--historic{background:#ff8c001f;color:#fa4;border:1px solid rgba(255,140,0,.3)}.project-tech-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .9rem}.project-tech-tag{font-size:.72rem;font-weight:500;padding:.18rem .55rem;background:#4c6b941a;color:#ffffff94;border-radius:4px;border:1px solid rgba(76,107,148,.18)}.publications-wrapper{max-width:820px;margin:0 auto}.publication-card{background:linear-gradient(145deg,#14181f,#1a202c);border:1px solid rgba(76,107,148,.3);border-radius:12px;padding:2rem 2.5rem;position:relative;overflow:hidden}.publication-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-hover-color))}.pub-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-color);margin:0 0 .85rem}.pub-title{font-size:1.25rem;font-weight:700;color:var(--text-color);margin:0 0 .85rem;line-height:1.4}.pub-citation{font-size:.9rem;color:#ffffffa6;margin:0 0 1.25rem;line-height:1.7;font-style:italic}.pub-links{display:flex;gap:1rem;flex-wrap:wrap}.pub-doi-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-color);font-size:.88rem;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(76,107,148,.35);padding-bottom:.05rem;transition:color .2s ease,border-color .2s ease}.pub-doi-link:hover{color:var(--accent-hover-color);border-bottom-color:var(--accent-hover-color)}@media (max-width: 700px){.publication-card{padding:1.5rem}.pub-title{font-size:1.05rem}}
