@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:var(--color-white);border-bottom:1px solid rgba(0,0,0,.08);padding:var(--space-md) 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;transition:var(--transition-fast)}.logo:hover{opacity:.7}.logo-icon{width:32px;height:32px;background:var(--color-black);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:1.125rem;border-radius:4px}.logo-text{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-black)}.nav-links{display:flex;gap:var(--space-lg);align-items:center}.nav-link{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-gray-dark);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-sm);transition:var(--transition-fast);position:relative}.nav-link:hover{color:var(--color-black);background:#0000000d}.nav-link.active{color:var(--color-black);font-weight:var(--weight-semibold)}.external-link{display:flex;align-items:center;gap:var(--space-xs)}.nav-icon{font-size:.875rem;transition:var(--transition-fast)}.external-link:hover .nav-icon{transform:translate(2px)}@media (max-width: 768px){.nav-links{gap:var(--space-md)}}@media (max-width: 480px){.nav{flex-direction:column;gap:var(--space-sm);text-align:center}.nav-links{gap:var(--space-sm)}}.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)}.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-gray-muted);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.footer-link{font-size:var(--text-small);color:var(--color-white);text-decoration:none;transition:var(--transition-fast);padding:2px 0}.footer-link:hover{opacity:.7;text-decoration:underline}@media (max-width: 768px){.footer-content{flex-direction:column;gap:var(--space-xl);text-align:center}.footer-links{justify-content:center;gap:var(--space-xl)}}.landing{background:var(--color-white);min-height:100vh}.hero-section{padding-top:var(--space-4xl);padding-bottom:var(--space-2xl);background:var(--color-white)}.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}.text-emphasis{color:var(--color-black)}.hero-text .text-muted{color:var(--color-gray-light)}.pixel-figure{font-size:.8em;margin:0 .1em;color:var(--color-accent-blue);display:inline-block;vertical-align:baseline}.work-section{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.project-card{background:var(--color-white);border-radius:var(--border-radius);overflow:hidden;transition:var(--transition-normal);cursor:pointer}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.project-image{width:100%;height:250px;overflow:hidden;background:var(--color-card-bg);border-radius:var(--border-radius);margin-bottom:var(--space-sm)}.project-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius)}.project-company{font-size:var(--text-small);color:var(--color-gray-dark);font-weight:var(--weight-regular)}.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}@media (max-width: 1024px){.projects-grid{gap:var(--space-lg)}}@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}.work-section{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}.section-heading{text-align:center}.project-image{height:200px}}@media (max-width: 480px){.hero-section{padding-top:var(--space-xl)}.project-info{padding:var(--space-sm)}.project-image{height:180px}}.hero-text{animation:fadeInUp .8s ease-out}.project-card:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}@media print{.hero-section,.work-section{padding:var(--space-lg) 0}.project-card{break-inside:avoid;margin-bottom:var(--space-lg)}}.projects{background:var(--color-white);padding-top:var(--space-2xl)}.projects-header{padding:var(--space-3xl) 0;border-bottom:1px solid rgba(0,0,0,.08)}.header-content{text-align:center;max-width:700px;margin:0 auto}.page-title{font-size:3rem;font-weight:var(--weight-bold);color:var(--color-black);margin-bottom:var(--space-md);line-height:1.2}.page-description{font-size:var(--text-body);color:var(--color-gray-dark);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-black);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-white);border-radius:var(--border-radius);overflow:hidden;transition:var(--transition-normal);cursor:pointer;border:1px solid rgba(0,0,0,.05)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#0000001a}.project-image{width:100%;height:250px;overflow:hidden;background:var(--color-card-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-black);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-gray-dark);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 .6s ease-out}.project-card:nth-child(1){animation-delay:.1s}.project-card:nth-child(2){animation-delay:.2s}.project-card:nth-child(3){animation-delay:.3s}.project-card:nth-child(4){animation-delay:.4s}.project-card:nth-child(5){animation-delay:.5s}.project-card:nth-child(6){animation-delay:.6s}@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-white);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}.profile-image img{width:100%;height:450px;object-fit:cover;border-radius:var(--space-sm);filter:grayscale(100%)}.profile-text{flex:1;padding-left:var(--space-lg)}.about-heading{font-size:2.25rem;font-weight:var(--weight-semibold);color:var(--color-black);margin-bottom:var(--space-lg);line-height:1.2}.pixel-figure{color:var(--color-accent-blue);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:#2c2c2c;max-width:600px}.success-link{color:var(--color-accent-blue);text-decoration:none;transition:var(--transition-fast)}.success-link:hover{text-decoration:underline}.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-black);display:flex;align-items:center;gap:var(--space-sm)}.section-icon{color:var(--color-accent-blue);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-white);border-radius:var(--border-radius-sm)}.black-logo{background:var(--color-black)}.blue-logo{background:var(--color-accent-blue)}.gray-logo{background:var(--color-gray-dark)}.job-details{flex:1}.company-name{font-size:1.125rem;font-weight:var(--weight-semibold);color:var(--color-black);margin-bottom:var(--space-xs)}.job-duration{font-size:var(--text-small);color:var(--color-gray-dark);margin-bottom:var(--space-sm);font-weight:var(--weight-medium)}.job-description{font-size:var(--text-small);line-height:1.6;color:#555;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-gray-dark);padding:var(--space-xs) var(--space-sm);background:#0000000d;border-radius:var(--border-radius-sm);font-weight:var(--weight-medium)}.education{padding:var(--space-3xl) 0;border-top:1px solid rgba(0,0,0,.08)}.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-black);margin-bottom:var(--space-xs)}.institution-name{font-size:var(--text-small);color:var(--color-gray-dark);margin-bottom:var(--space-xs)}.education-dates{font-size:var(--text-small);color:var(--color-gray-medium);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)}}.job-entry,.education-entry{animation:fadeInUp .6s ease-out}@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)}}:root{--color-white: #FFFFFF;--color-black: #000000;--color-gray-light: #D1D1D1;--color-gray-medium: #B2B2B2;--color-gray-dark: #888888;--color-gray-muted: #8D8D8D;--color-card-bg: #F8F8F8;--color-accent-blue: #0047FF;--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, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 32px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:1.6;color:var(--color-black);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.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-gray-light)}.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)}.btn-outline{background:transparent;color:var(--color-white);border:1px solid var(--color-white)}.btn-outline:hover{background:var(--color-white);color:var(--color-black)}.card{background:var(--color-card-bg);border-radius:var(--border-radius);padding:var(--space-md);transition:var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.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}}
