@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Satoshi:wght@400;500;600;700&display=swap";.header{background:#0e0e0ef2;border-bottom:1px solid var(--color-border);padding:var(--space-md) 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:var(--transition-normal)}.header:hover{background:#121212fa;box-shadow:0 2px 20px #00ff7f14}.nav{display:flex;align-items:center;justify-content:space-between;animation:headerSlideDown .8s ease-out}@keyframes headerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;transition:var(--transition-normal);position:relative}.logo:hover{transform:translateY(-2px)}.logo-icon{width:32px;height:32px;background:var(--color-accent-green);color:var(--color-primary-bg);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:1.125rem;border-radius:4px;transition:var(--transition-normal);position:relative;overflow:hidden}.logo-icon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.logo:hover .logo-icon:before{left:100%}.logo:hover .logo-icon{background:var(--color-accent-green-hover);box-shadow:var(--shadow-glow);transform:rotate(5deg)}.logo-text{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-text-primary);transition:var(--transition-normal)}.logo:hover .logo-text{color:var(--color-accent-green)}.nav-links{display:flex;gap:var(--space-lg);align-items:center}.nav-links li{opacity:0;transform:translateY(-10px);animation:navItemSlideIn .6s ease-out forwards}.nav-links li:nth-child(1){animation-delay:.3s}.nav-links li:nth-child(2){animation-delay:.4s}.nav-links li:nth-child(3){animation-delay:.5s}@keyframes navItemSlideIn{to{opacity:1;transform:translateY(0)}}.nav-link{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-normal);position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-accent-green);transition:all .3s ease;transform:translate(-50%)}.nav-link:hover:before{width:80%}.nav-link:hover{color:var(--color-text-primary);background:var(--color-accent-green-glow);transform:translateY(-2px)}.nav-link.active{color:var(--color-text-primary);font-weight:var(--weight-semibold);background:var(--color-accent-green-glow)}.nav-link.active:before{width:80%}@media (max-width: 768px){.nav-links{gap:var(--space-md)}.nav-link{padding:var(--space-xs)}}@media (max-width: 480px){.nav{flex-direction:column;gap:var(--space-sm);text-align:center}.nav-links{gap:var(--space-sm)}.logo-text{font-size:var(--text-small)}}.footer{background:var(--color-black);color:var(--color-white);padding:var(--space-2xl) 0;margin-top:auto;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2xl)}.footer-left{flex:1;max-width:400px}.footer-message{font-size:var(--text-body);font-weight:var(--weight-regular);color:var(--color-white);margin-bottom:var(--space-md);line-height:1.5}.copy-email-btn{font-size:var(--text-small);color:var(--color-white);border:1px solid var(--color-white);background:transparent;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;gap:var(--space-xs)}.copy-email-btn:hover{background:var(--color-white);color:var(--color-black)}.copy-email-btn .icon{font-size:14px}.footer-right{display:flex}.footer-links{display:flex;gap:var(--space-2xl)}.link-group{display:flex;flex-direction:column;gap:var(--space-sm)}.link-title{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--color-text-muted);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.footer-link{font-size:var(--text-small);color:var(--color-text-primary);text-decoration:none;transition:var(--transition-fast);padding:2px 0}.footer-link:hover{color:var(--color-accent-green);text-decoration:underline}@media (max-width: 768px){.footer-content{flex-direction:column;gap:var(--space-xl);text-align:center}.footer-left{max-width:none}.footer-links{justify-content:center;gap:var(--space-xl)}.footer{padding:var(--space-xl) 0;border-radius:0}}@media (max-width: 480px){.footer-links{flex-direction:column;gap:var(--space-lg);align-items:center}.link-group{text-align:center;gap:var(--space-xs)}.footer-content{gap:var(--space-lg)}}.video-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;animation:modalFadeIn .3s ease-out forwards}.video-modal{background:var(--color-secondary-bg);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:var(--shadow-glow);max-width:90vw;max-height:90vh;width:100%;max-width:1000px;display:flex;flex-direction:column;transform:scale(.9);animation:modalSlideIn .3s ease-out .1s forwards}.video-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-lg) var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.video-modal-title{font-size:var(--text-project-title);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0}.close-button{background:none;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;padding:var(--space-xs);border-radius:var(--border-radius-sm);transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.close-button:hover{background:var(--color-border);color:var(--color-text-primary);transform:scale(1.1)}.close-button:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.video-container{padding:var(--space-lg);flex:1;display:flex;align-items:center;justify-content:center}.demo-video{width:100%;height:auto;max-height:70vh;border-radius:var(--border-radius-sm);background:var(--color-input-bg)}.demo-video::-webkit-media-controls-panel{background:var(--color-secondary-bg)}.demo-video::-webkit-media-controls-play-button,.demo-video::-webkit-media-controls-pause-button{background-color:var(--color-accent-green);border-radius:50%}.video-modal-footer{padding:var(--space-md) var(--space-lg) var(--space-lg) var(--space-lg);border-top:1px solid var(--color-border);text-align:center}.video-hint{font-size:var(--text-small);color:var(--color-text-muted);margin:0}.video-hint kbd{background:var(--color-border);color:var(--color-text-primary);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.85em}@keyframes modalFadeIn{to{opacity:1}}@keyframes modalSlideIn{to{transform:scale(1)}}@media (max-width: 768px){.video-modal-overlay{padding:var(--space-md)}.video-modal{max-width:95vw;max-height:95vh}.video-modal-header,.video-container,.video-modal-footer{padding:var(--space-md)}.video-modal-title{font-size:var(--text-body)}.demo-video{max-height:60vh}}@media (max-width: 480px){.video-modal-overlay,.video-modal-header,.video-container,.video-modal-footer{padding:var(--space-sm)}.demo-video{max-height:50vh}.video-hint{font-size:var(--text-tiny)}}.demo-video:not([src]){background:var(--color-input-bg);display:flex;align-items:center;justify-content:center;min-height:300px}.demo-video:not([src]):before{content:"Loading video...";color:var(--color-text-muted);font-size:var(--text-small)}@media (prefers-reduced-motion: reduce){.video-modal-overlay,.video-modal{animation:none}.video-modal{opacity:1;transform:scale(1)}}.youtube-embed{border-radius:var(--border-radius-sm);width:100%;height:400px;background:var(--color-input-bg)}.external-link-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-lg);text-align:center}.external-link-container p{color:var(--color-text-primary);margin-bottom:var(--space-md)}.external-demo-button{background:var(--color-accent-blue);color:var(--color-white);border:none;padding:var(--space-md) var(--space-xl);border-radius:var(--border-radius);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-lg) 0}.external-demo-button:hover{background:var(--color-accent-blue);transform:translateY(-2px);box-shadow:0 4px 12px #0070f34d}.external-demo-button .link-icon{font-size:1.2em}.external-hint{font-size:var(--text-small);color:var(--color-text-muted);word-break:break-all;margin-top:var(--space-md)}.external-hint code{background:var(--color-border);color:var(--color-text-secondary);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.9em}.video-type-hint{font-size:var(--text-tiny);color:var(--color-text-muted);margin-top:var(--space-xs)}.video-type-hint a{color:var(--color-accent-blue);text-decoration:none}.video-type-hint a:hover{text-decoration:underline}@media (max-width: 768px){.youtube-embed{height:250px}.external-demo-button{padding:var(--space-sm) var(--space-lg);font-size:var(--text-small)}}@media (max-width: 480px){.youtube-embed{height:200px}.external-link-container{padding:var(--space-md);min-height:250px}.external-demo-button{width:100%;justify-content:center}}.landing{background:var(--color-primary-bg);min-height:100vh}.hero-section{padding-top:var(--space-4xl);padding-bottom:var(--space-2xl);background:var(--color-primary-bg)}.hero-content{text-align:left;max-width:900px}.hero-text{font-size:var(--text-hero);font-weight:var(--weight-regular);line-height:1.2;letter-spacing:-.02em;margin:0 0 var(--space-xl) 0;opacity:0;transform:translateY(30px);animation:heroFadeInUp 1s ease-out .3s forwards}.text-emphasis{color:var(--color-text-primary)}.hero-text .text-muted{color:var(--color-text-secondary)}.pixel-figure{font-size:.8em;margin:0 .1em;color:var(--color-accent-green);display:inline-block;vertical-align:baseline;animation:pixelBounce 2s ease-in-out infinite}.hero-social{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;opacity:0;transform:translateY(20px);animation:socialFadeInUp .8s ease-out .8s forwards}.social-link{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;color:var(--color-text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);border:1px solid var(--color-border);background:var(--color-card-bg);transition:var(--transition-normal);font-weight:var(--weight-medium);font-size:var(--text-small)}.social-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow);border-color:var(--color-accent-green);background:var(--color-accent-green-glow)}.social-icon{font-size:1.125rem;transition:var(--transition-normal)}.social-link:hover .social-icon{transform:scale(1.2)}.social-text{font-size:var(--text-small)}.work-section{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.section-heading{font-size:var(--text-section);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xl);text-align:left;position:relative;opacity:0;transform:translate(-30px);animation:sectionHeadingSlideIn .8s ease-out .5s forwards}.section-heading:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:var(--color-accent-green);border-radius:2px;transform:scaleX(0);transform-origin:left;animation:underlineExpand .6s ease-out 1.3s forwards}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-glow);border-color:var(--color-accent-green)}.project-image{width:100%;height:250px;overflow:hidden;background:var(--color-input-bg);border-radius:var(--border-radius);margin-bottom:var(--space-sm);position:relative}.project-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius);transition:var(--transition-slow)}.project-tags span{font-size:var(--text-tiny);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:4px 8px;background:var(--color-border);border-radius:4px;transition:var(--transition-fast)}.project-card:hover .project-tags span{background:var(--color-accent-green-glow);color:var(--color-accent-green)}.project-title{font-size:var(--text-project-title);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.3;margin-bottom:var(--space-xs);transition:var(--transition-fast)}.project-card:hover .project-title{color:var(--color-accent-green)}.project-link{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-tiny);font-weight:var(--weight-medium);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-normal);border:1px solid transparent;flex:1;justify-content:center;position:relative;overflow:hidden;cursor:pointer;background:none}.project-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .3s ease}.project-link:hover:before{left:100%}.github-link{color:var(--color-text-primary);background:var(--color-border);border-color:var(--color-border-hover)}.github-link:hover{background:var(--color-text-primary);color:var(--color-primary-bg);transform:translateY(-2px);box-shadow:0 4px 12px #f5f5f533}.demo-link{color:var(--color-accent-green);background:var(--color-accent-green-glow);border-color:var(--color-accent-green)}.demo-link:hover{background:var(--color-accent-green);color:var(--color-primary-bg);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.link-icon{font-size:10px;transition:var(--transition-normal)}.project-link:hover .link-icon{transform:scale(1.2)}@keyframes heroFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes socialFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes sectionHeadingSlideIn{to{opacity:1;transform:translate(0)}}@keyframes underlineExpand{to{transform:scaleX(1)}}@keyframes pixelBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}@media (max-width: 1024px){.projects-grid{gap:var(--space-lg)}.hero-social{gap:var(--space-md)}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:var(--space-lg)}.hero-section{padding-top:var(--space-2xl);padding-bottom:var(--space-xl)}.hero-content{text-align:center}.hero-social{justify-content:center;gap:var(--space-sm)}.work-section{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}.section-heading{text-align:center}.section-heading:after{left:50%;transform:translate(-50%) scaleX(0);transform-origin:center}.project-image{height:200px}}@media (max-width: 480px){.hero-section{padding-top:var(--space-xl)}.hero-social{flex-direction:column;align-items:center;gap:var(--space-sm)}.social-link{width:100%;max-width:200px;justify-content:center}.project-info{padding:var(--space-sm)}.project-image{height:180px}.project-links{flex-direction:column;gap:var(--space-xs)}}.project-card:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.social-link:focus-visible,.project-link:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}@media print{.hero-section,.work-section{padding:var(--space-lg) 0}.project-card{break-inside:avoid;margin-bottom:var(--space-lg)}.project-links,.hero-social{display:none}}.projects{background:var(--color-primary-bg);padding-top:var(--space-2xl)}.projects-header{padding:var(--space-3xl) 0;border-bottom:1px solid var(--color-border)}.header-content{text-align:center;max-width:700px;margin:0 auto}.page-title{font-size:3rem;font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-md);line-height:1.2}.page-description{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;max-width:600px;margin:0 auto}.featured-projects{padding:var(--space-3xl) 0}.section-heading{font-size:var(--text-section);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xl);text-align:left}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.compact-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.project-card{background:var(--color-card-bg);border-radius:var(--border-radius);overflow:hidden;transition:var(--transition-normal);cursor:pointer;border:1px solid var(--color-border)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:var(--color-accent-green)}.project-image{width:100%;height:250px;overflow:hidden;background:var(--color-input-bg);border-radius:var(--border-radius) var(--border-radius) 0 0}.compact-image{height:200px}.project-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition-normal)}.project-card:hover .project-image img{transform:scale(1.05)}.project-info{padding:var(--space-md)}.compact-card .project-info{padding:var(--space-sm) var(--space-md)}.project-tags{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap}.project-tags span{font-size:var(--text-tiny);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-medium);padding:4px 8px;background:#b2b2b21a;border-radius:4px}.project-title{font-size:var(--text-project-title);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1.3;margin-bottom:var(--space-xs)}.compact-card .project-title{font-size:1.125rem}.project-description{font-size:var(--text-small);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-sm)}.compact-card .project-description{font-size:.8rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-links{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.project-link{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-tiny);font-weight:var(--weight-medium);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-normal);border:1px solid transparent;flex:1;justify-content:center}.github-link{color:var(--color-black);background:#0000000d;border-color:#0000001a}.github-link:hover{background:var(--color-black);color:var(--color-white)}.demo-link{color:var(--color-accent-blue);background:#0047ff0d;border-color:var(--color-accent-blue)}.demo-link:hover{background:var(--color-accent-blue);color:var(--color-white)}.link-icon{font-size:10px}.other-projects{padding:var(--space-3xl) 0;background:#00000005}@media (max-width: 1024px){.projects-grid{gap:var(--space-lg)}.compact-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.projects{padding-top:var(--space-xl)}.projects-header,.featured-projects,.other-projects{padding:var(--space-2xl) 0}.page-title{font-size:2.5rem}.projects-grid,.compact-grid{grid-template-columns:1fr;gap:var(--space-lg)}.section-heading{text-align:center}.project-image,.compact-image{height:200px}}@media (max-width: 480px){.page-title{font-size:2rem}.project-info,.compact-card .project-info{padding:var(--space-sm)}.project-image,.compact-image{height:180px}.project-links{flex-direction:column;gap:var(--space-xs)}.project-link{justify-content:center}}.project-card{animation:fadeInUp .4s ease-out}.project-card:nth-child(1){animation-delay:.05s}.project-card:nth-child(2){animation-delay:.1s}.project-card:nth-child(3){animation-delay:.15s}.project-card:nth-child(4){animation-delay:.2s}.project-card:nth-child(5){animation-delay:.25s}.project-card:nth-child(6){animation-delay:.3s}@media print{.projects-header,.featured-projects,.other-projects{padding:var(--space-lg) 0}.project-card{break-inside:avoid;margin-bottom:var(--space-lg);box-shadow:none;border:1px solid #ccc}.project-links{display:none}}.about{background:var(--color-primary-bg);padding-top:var(--space-2xl)}.about-intro{padding:var(--space-3xl) 0}.intro-content{display:flex;gap:var(--space-2xl);align-items:flex-start}.profile-image{flex:0 0 350px;opacity:0;transform:translate(-30px);animation:profileImageSlideIn .8s ease-out .3s forwards}.profile-image img{width:100%;height:450px;object-fit:cover;border-radius:var(--space-sm);filter:grayscale(100%);transition:var(--transition-normal)}.profile-image:hover img{filter:grayscale(0%);transform:scale(1.02)}.profile-text{flex:1;padding-left:var(--space-lg);opacity:0;transform:translate(30px);animation:profileTextSlideIn .8s ease-out .5s forwards}.about-heading{font-size:2.25rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-lg);line-height:1.2}.pixel-figure{color:var(--color-accent-green);font-size:.9em;margin-left:.2em}.about-paragraphs{display:flex;flex-direction:column;gap:var(--space-md)}.about-paragraphs p{font-size:1rem;line-height:1.6;color:var(--color-text-secondary);max-width:600px}.success-link{color:var(--color-accent-green);text-decoration:none;transition:var(--transition-fast)}.success-link:hover{text-decoration:underline;color:var(--color-accent-green-hover)}.work-experience{padding:var(--space-3xl) 0}.experience-content{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-2xl);align-items:flex-start}.section-header{position:sticky;top:var(--space-4xl)}.section-title{font-size:1.5rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-sm)}.section-icon{color:var(--color-accent-green);font-size:1.5rem}.experience-list{display:flex;flex-direction:column;gap:var(--space-xl)}.job-entry{display:flex;gap:var(--space-md);align-items:flex-start}.company-logo{flex:0 0 48px;height:48px}.logo-placeholder{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:1.25rem;color:var(--color-primary-bg);border-radius:var(--border-radius-sm)}.black-logo{background:var(--color-text-primary)}.blue-logo{background:var(--color-accent-green)}.gray-logo{background:var(--color-text-secondary)}.job-details{flex:1}.company-name{font-size:1.125rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.job-duration{font-size:var(--text-small);color:var(--color-text-secondary);margin-bottom:var(--space-sm);font-weight:var(--weight-medium)}.job-description{font-size:var(--text-small);line-height:1.6;color:var(--color-text-secondary);max-width:600px;margin-bottom:var(--space-sm)}.client-logos{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-sm)}.client-logo{font-size:var(--text-small);color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);background:var(--color-border);border-radius:var(--border-radius-sm);font-weight:var(--weight-medium)}.education{padding:var(--space-3xl) 0;border-top:1px solid var(--color-border)}.education-content{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-2xl);align-items:flex-start}.education-list{display:flex;flex-direction:column;gap:var(--space-xl)}.education-entry{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:flex-start}.education-left{text-align:left}.education-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.degree-name{font-size:1rem;font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.education-details{font-size:var(--text-small);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-xs)}.institution-name{font-size:var(--text-small);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.education-dates{font-size:var(--text-small);color:var(--color-text-muted);font-weight:var(--weight-medium)}@media (max-width: 1024px){.intro-content{gap:var(--space-xl)}.profile-image{flex:0 0 300px}.profile-image img{height:400px}.experience-content,.education-content{grid-template-columns:1fr;gap:var(--space-xl)}.section-header{position:static}}@media (max-width: 768px){.about{padding-top:var(--space-xl)}.about-intro,.work-experience,.education{padding:var(--space-2xl) 0}.intro-content{flex-direction:column;align-items:center;text-align:center;gap:var(--space-xl)}.profile-image{flex:none}.profile-text{padding-left:0}.about-heading{font-size:2rem}.job-entry{flex-direction:column;gap:var(--space-sm);text-align:center}.company-logo{align-self:center}.education-entry{grid-template-columns:1fr;text-align:center;gap:var(--space-sm)}.education-right{align-items:center}}@media (max-width: 480px){.profile-image{flex:0 0 250px}.profile-image img{height:320px}.about-heading{font-size:1.75rem}.client-logos{justify-content:center;gap:var(--space-sm)}.experience-list,.education-list{gap:var(--space-lg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes profileImageSlideIn{to{opacity:1;transform:translate(0)}}@keyframes profileTextSlideIn{to{opacity:1;transform:translate(0)}}.job-entry,.education-entry{animation:fadeInUp .5s ease-out;opacity:0;transform:translateY(20px)}.job-entry:nth-child(1){animation-delay:.7s;animation-fill-mode:forwards}.job-entry:nth-child(2){animation-delay:.85s;animation-fill-mode:forwards}.job-entry:nth-child(3){animation-delay:1s;animation-fill-mode:forwards}.job-entry:nth-child(4){animation-delay:1.15s;animation-fill-mode:forwards}.job-entry:nth-child(5){animation-delay:1.3s;animation-fill-mode:forwards}.job-entry:nth-child(6){animation-delay:1.45s;animation-fill-mode:forwards}.education-entry:nth-child(1){animation-delay:.3s;animation-fill-mode:forwards}.education-entry:nth-child(2){animation-delay:.45s;animation-fill-mode:forwards}@media print{.about-intro,.work-experience,.education{padding:var(--space-lg) 0;break-inside:avoid}.job-entry,.education-entry{break-inside:avoid;margin-bottom:var(--space-lg)}}.contact{background:var(--color-primary-bg);padding-top:var(--space-2xl);min-height:100vh}.contact-header{padding:var(--space-3xl) 0;text-align:center}.header-content{max-width:700px;margin:0 auto}.page-title{font-size:3rem;font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-md);line-height:1.2;opacity:0;transform:translateY(30px);animation:titleFadeInUp .8s ease-out .2s forwards}.page-subtitle{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;max-width:600px;margin:0 auto;opacity:0;transform:translateY(20px);animation:subtitleFadeInUp .8s ease-out .4s forwards}.contact-methods{padding:var(--space-3xl) 0}.methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl);max-width:1000px;margin:0 auto}.contact-card{background:var(--color-card-bg);border:2px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-xl);text-align:center;transition:var(--transition-normal);position:relative;overflow:hidden;opacity:0;transform:translateY(40px);animation:cardFadeInUp .8s ease-out forwards}.contact-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:4px;background:linear-gradient(90deg,var(--color-accent-green),var(--color-accent-green-hover));transition:left .3s ease}.contact-card:hover:before{left:0}.contact-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-glow);border-color:var(--color-accent-green)}.contact-icon{font-size:3rem;margin-bottom:var(--space-md);display:block;transition:var(--transition-normal)}.contact-card:hover .contact-icon{transform:scale(1.1) rotate(5deg)}.contact-title{font-size:1.5rem;font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.contact-value{font-size:var(--text-small);color:var(--color-accent-green);font-weight:var(--weight-medium);margin-bottom:var(--space-sm);word-break:break-all}.contact-description{font-size:var(--text-small);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.5}.contact-button{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);background:var(--color-accent-green);color:var(--color-primary-bg);border:none;border-radius:var(--border-radius-sm);font-weight:var(--weight-semibold);font-size:var(--text-small);text-decoration:none;cursor:pointer;transition:var(--transition-normal);position:relative;overflow:hidden}.contact-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.contact-button:hover:before{left:100%}.contact-button:hover{background:var(--color-accent-green-hover);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.contact-button.copied{background:#10b981;transform:scale(1.05)}.button-icon{font-size:.875rem;transition:var(--transition-normal)}.contact-button:hover .button-icon{transform:scale(1.2)}.contact-cta{padding:var(--space-3xl) 0;text-align:center}.cta-content{max-width:600px;margin:0 auto}.cta-title{font-size:2.5rem;font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-md);opacity:0;transform:translateY(30px);animation:ctaTitleFadeInUp .8s ease-out .4s forwards}.cta-description{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-xl);opacity:0;transform:translateY(20px);animation:ctaDescFadeInUp .8s ease-out .6s forwards}.cta-button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);background:var(--color-accent-green);color:var(--color-primary-bg);border:none;border-radius:var(--border-radius);font-weight:var(--weight-bold);font-size:var(--text-body);cursor:pointer;transition:var(--transition-normal);position:relative;overflow:hidden;opacity:0;transform:translateY(20px);animation:ctaButtonFadeInUp .8s ease-out .8s forwards}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.cta-button:hover:before{left:100%}.cta-button:hover{background:var(--color-accent-green-hover);transform:translateY(-4px);box-shadow:var(--shadow-glow)}.cta-button.copied{background:#10b981;transform:scale(1.05)}.cta-icon{font-size:1.25rem;transition:var(--transition-normal)}.cta-button:hover .cta-icon{transform:scale(1.2) rotate(10deg)}@keyframes titleFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes subtitleFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes cardFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes ctaTitleFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes ctaDescFadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes ctaButtonFadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.methods-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 768px){.contact{padding-top:var(--space-xl)}.contact-header,.contact-methods,.contact-cta{padding:var(--space-2xl) 0}.page-title{font-size:2.5rem}.cta-title{font-size:2rem}.methods-grid{grid-template-columns:1fr;gap:var(--space-lg)}.contact-card{padding:var(--space-lg)}}@media (max-width: 480px){.page-title{font-size:2rem}.cta-title{font-size:1.75rem}.contact-card{padding:var(--space-md)}.contact-value{word-break:break-word}.cta-button{padding:var(--space-md) var(--space-lg);font-size:var(--text-small)}}.contact-button:focus-visible,.cta-button:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}@media print{.contact-header,.contact-methods,.contact-cta{padding:var(--space-lg) 0}.contact-card{break-inside:avoid;margin-bottom:var(--space-lg)}.contact-button,.cta-button{display:none}}:root{--color-primary-bg: #0E0E0E;--color-secondary-bg: #121212;--color-card-bg: #1A1A1A;--color-accent-green: #00FF7F;--color-accent-green-hover: #00E676;--color-accent-green-glow: #00FF7F40;--color-text-primary: #F5F5F5;--color-text-secondary: #B0B0B0;--color-text-muted: #808080;--color-border: #2A2A2A;--color-border-hover: #303030;--color-input-bg: #1F1F1F;--color-white: var(--color-secondary-bg);--color-black: var(--color-text-primary);--color-gray-light: var(--color-text-secondary);--color-gray-medium: var(--color-text-muted);--color-gray-dark: var(--color-text-secondary);--color-gray-muted: var(--color-text-muted);--color-accent-blue: var(--color-accent-green);--color-cyan-hover: var(--color-accent-green-hover);--font-primary: "Inter", "Satoshi", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--text-hero: 4.5rem;--text-section: 1.75rem;--text-project-title: 1.25rem;--text-body: 1.125rem;--text-small: .875rem;--text-tiny: .75rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-xs: 8px;--space-sm: 16px;--space-md: 24px;--space-lg: 32px;--space-xl: 48px;--space-2xl: 64px;--space-3xl: 80px;--space-4xl: 96px;--space-5xl: 128px;--max-width: 1200px;--content-padding: var(--space-lg);--content-padding-mobile: var(--space-md);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 1px 3px rgba(0, 255, 127, .1);--shadow-md: 0 4px 12px rgba(0, 255, 127, .15);--shadow-glow: 0 0 20px rgba(0, 255, 127, .3);--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 32px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:1.6;color:var(--color-text-primary);background:var(--color-primary-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;animation:pageEnter .6s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-card-bg)}::-webkit-scrollbar-thumb{background:var(--color-gray-medium);border-radius:4px;transition:var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-blue)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding)}.text-hero{font-size:var(--text-hero);font-weight:var(--weight-regular);line-height:1.2;letter-spacing:-.02em}.text-section{font-size:var(--text-section);font-weight:var(--weight-semibold)}.text-muted{color:var(--color-text-muted)}.text-small{font-size:var(--text-small)}.btn{font-family:var(--font-primary);font-size:var(--text-small);font-weight:var(--weight-medium);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-normal);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-xs);background:var(--color-accent-green);color:var(--color-primary-bg)}.btn:hover{background:var(--color-accent-green-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--color-accent-green);border:1px solid var(--color-accent-green)}.btn-outline:hover{background:var(--color-accent-green);color:var(--color-primary-bg)}.card{background:var(--color-card-bg);border-radius:var(--border-radius);padding:var(--space-md);transition:var(--transition-normal);border:1px solid var(--color-border)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.grid{display:grid;gap:var(--space-xl)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 768px){:root{--text-hero: 2.5rem;--text-section: 1.5rem;--content-padding: var(--content-padding-mobile)}.container{padding:0 var(--content-padding-mobile)}.grid-2{grid-template-columns:1fr}.text-hero{line-height:1.3}}@media (max-width: 480px){:root{--text-hero: 2rem;--content-padding: var(--space-sm)}}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}a,button,.card{transition:var(--transition-normal)}@media print{*{background:#fff!important;color:#000!important}}
