@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #C41E3A;--color-primary-hover: #E11D48;--color-bg: #0A0A0A;--color-surface: #121212;--color-surface-2: #1A1A1A;--color-text-primary: #FFFFFF;--color-text-secondary: #A3A3A3;--color-text-muted: #737373;--color-border: rgba(255, 255, 255, .08);--color-divider: rgba(255, 255, 255, .05);--neutral-900: #0A0A0A;--neutral-800: #121212;--neutral-700: #1F1F1F;--neutral-600: #2A2A2A;--neutral-500: #404040;--neutral-400: #737373;--neutral-300: #A3A3A3;--neutral-200: #D4D4D4;--neutral-100: #F5F5F5;--color-success: #22C55E;--color-warning: #F59E0B;--color-info: #06B6D4;--color-danger: #EF4444;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "JetBrains Mono", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-normal: 1.6;--leading-relaxed: 1.75;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-card-hover: 0 20px 40px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--navbar-height: 64px;--container-max: 1200px;--container-padding: var(--space-2xl)}[data-theme=light]{--color-bg: #FFFFFF;--color-surface: #F5F5F5;--color-surface-2: #E5E5E5;--color-text-primary: #0A0A0A;--color-text-secondary: #404040;--color-text-muted: #737373;--color-border: rgba(0, 0, 0, .1);--color-divider: rgba(0, 0, 0, .06);--shadow-card-hover: 0 20px 40px rgba(0, 0, 0, .08)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--navbar-height)}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-regular);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl);letter-spacing:-.02em}h2{font-size:var(--text-3xl);letter-spacing:-.01em}h3{font-size:var(--text-2xl)}p{color:var(--color-text-secondary);line-height:var(--leading-normal);max-width:65ch}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit;outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-md)}.section-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);text-align:center;max-width:600px;margin:0 auto var(--space-2xl)}.text-accent{color:var(--color-primary)}.section{padding:var(--space-4xl) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background-color:var(--color-primary);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--neutral-600);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 28px;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-bounce),box-shadow var(--transition-slow),background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base);white-space:nowrap;text-decoration:none}.btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.btn:active{transform:translateY(-2px) scale(.97)}.btn-primary{background-color:var(--color-primary);color:#fff;border:2px solid var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-secondary{background-color:transparent;color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-cta{display:inline-flex;align-items:center;gap:var(--space-sm);padding:16px 32px;font-size:var(--text-base);font-weight:var(--font-semibold);border-radius:var(--radius-lg);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);transition:transform var(--transition-bounce),box-shadow var(--transition-slow),background-color var(--transition-base),border-color var(--transition-base);text-decoration:none}.btn-cta:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);background-color:var(--color-surface-2);border-color:var(--color-primary);color:var(--color-primary)}.btn-cta:active{transform:translateY(-2px) scale(.97)}.btn-cta .cta-icon{font-size:1.25rem}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--navbar-height);z-index:1000;background-color:#0a0a0acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-divider);transition:background-color var(--transition-base),box-shadow var(--transition-base)}.navbar.scrolled{background-color:#0a0a0af2;box-shadow:var(--shadow-md)}[data-theme=light] .navbar{background-color:#fffc}[data-theme=light] .navbar.scrolled{background-color:#fffffff2}.navbar-content{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.navbar-logo{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-decoration:none;letter-spacing:-.02em;transition:color var(--transition-base)}.navbar-logo .logo-accent,.navbar-logo:hover{color:var(--color-primary)}.navbar-links{display:flex;align-items:center;gap:var(--space-xl)}.navbar-links a{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-base);position:relative}.navbar-links a:hover,.navbar-links a.active{color:var(--color-text-primary)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;cursor:pointer;background:none;border:none;padding:0;z-index:1001}.hamburger span{display:block;width:100%;height:2px;background-color:var(--color-text-primary);border-radius:2px;transition:transform var(--transition-slow),opacity var(--transition-fast)}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#0a0a0afa;z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}[data-theme=light] .mobile-menu{background-color:#fffffffa}.mobile-menu.active{display:flex;opacity:1;pointer-events:all}.mobile-menu a{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-base)}.mobile-menu a:hover{color:var(--color-primary)}.navbar-spacer{height:var(--navbar-height)}.hero{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:var(--space-3xl) 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(196,30,58,.04) 0%,transparent 60%);pointer-events:none}.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg);position:relative;z-index:1}.hero-photo{width:200px;height:200px;border-radius:50%;overflow:hidden;border:3px solid var(--color-primary);box-shadow:0 0 40px #c41e3a26;flex-shrink:0}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-name{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:-.01em}.hero-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-secondary)}.hero-headline{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:var(--leading-tight);letter-spacing:-.02em;max-width:700px}.hero-headline .accent{color:var(--color-primary)}.hero-description{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:550px;line-height:var(--leading-relaxed)}.hero-ctas{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center;margin-top:var(--space-sm)}.about{padding:var(--space-4xl) 0}.about-content{max-width:800px;margin:0 auto}.about-text{display:flex;flex-direction:column;gap:var(--space-lg)}.about-text p{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed);max-width:none}.about-highlights{margin-top:var(--space-xl)}.about-highlights h3{font-size:var(--text-xl);margin-bottom:var(--space-md);color:var(--color-text-primary)}.about-highlights-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm) var(--space-xl)}.about-highlights-list li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-base);color:var(--color-text-secondary);padding:var(--space-xs) 0}.about-highlights-list .check-icon{color:var(--color-primary);font-weight:var(--font-bold);flex-shrink:0}.projects{padding:var(--space-4xl) 0}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);margin-top:var(--space-xl)}.project-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:transform var(--transition-bounce),box-shadow var(--transition-slow),border-color var(--transition-base)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card-hover);border-color:#c41e3a33}.project-image{width:100%;aspect-ratio:3 / 2;overflow:hidden;background-color:var(--color-bg);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform var(--transition-slow);filter:drop-shadow(0 10px 30px rgba(0,0,0,.4))}.project-card:hover .project-image img{transform:scale(1.03)}.project-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.project-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.project-tagline{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.project-detail{display:flex;flex-direction:column;gap:var(--space-xs)}.project-detail-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em}.project-detail-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.project-tech{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xs)}.tech-tag{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);background-color:var(--neutral-700);padding:4px 10px;border-radius:var(--radius-pill);transition:background-color var(--transition-base),color var(--transition-base)}[data-theme=light] .tech-tag{background-color:var(--neutral-200);color:var(--neutral-600)}.project-card:hover .tech-tag{background-color:#c41e3a1a;color:var(--color-primary)}.project-links{display:flex;gap:var(--space-md);margin-top:var(--space-sm)}.project-link{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}.project-link:hover{color:var(--color-primary-hover)}.project-link.disabled{color:var(--color-text-muted);pointer-events:none;cursor:default}.skills{padding:var(--space-4xl) 0}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}.skill-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;transition:transform var(--transition-bounce),box-shadow var(--transition-slow),border-color var(--transition-base)}.skill-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#c41e3a26}.skill-icon{font-size:2rem;margin-bottom:var(--space-sm);display:block}.skill-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.skill-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.contact{padding:var(--space-4xl) 0}.contact-content{text-align:center}.contact-ctas{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-xl)}.footer{padding:var(--space-xl) 0;border-top:1px solid var(--color-divider);background-color:var(--color-surface)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.footer-copyright{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.footer-links{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;justify-content:center}.footer-links a{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-base)}.footer-links a:hover{color:var(--color-primary)}.theme-toggle{display:flex;align-items:center;gap:var(--space-sm);padding:8px 16px;border-radius:var(--radius-pill);background-color:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary);transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.theme-toggle-icon{font-size:1.1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-20px);transition:opacity .5s ease-out,transform .5s ease-out}.reveal-left.revealed{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(20px);transition:opacity .5s ease-out,transform .5s ease-out}.reveal-right.revealed{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .5s ease-out,transform .5s ease-out}.reveal-scale.revealed{opacity:1;transform:scale(1)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}.hero-animate{animation:slideUp .6s ease-out forwards;opacity:0}.hero-animate:nth-child(1){animation-delay:0ms}.hero-animate:nth-child(2){animation-delay:.1s}.hero-animate:nth-child(3){animation-delay:.2s}.hero-animate:nth-child(4){animation-delay:.3s}.hero-animate:nth-child(5){animation-delay:.4s}.hero-animate:nth-child(6){animation-delay:.5s}.hero-animate:nth-child(7){animation-delay:.6s}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--color-primary);transition:width var(--transition-slow)}.nav-link:hover:after,.nav-link.active:after{width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none}html{scroll-behavior:auto}}@media(max-width:1024px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.375rem}:root{--container-padding: var(--space-lg)}.hero{min-height:70vh}.hero-headline{font-size:2.5rem}.projects-grid{gap:var(--space-md)}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}:root{--container-padding: var(--space-md)}.navbar-links{display:none}.hamburger{display:flex}.hero{min-height:auto;padding:var(--space-2xl) 0}.hero-content{gap:var(--space-md)}.hero-photo{width:150px;height:150px}.hero-headline{font-size:1.75rem}.hero-description{font-size:var(--text-base)}.hero-ctas{flex-direction:column;width:100%;gap:var(--space-sm)}.hero-ctas .btn{width:100%;justify-content:center}.about-text p{font-size:var(--text-base)}.about-highlights-list,.projects-grid{grid-template-columns:1fr}.project-body{padding:var(--space-md)}.skills-grid{grid-template-columns:1fr;gap:var(--space-md)}.contact-ctas{flex-direction:column;align-items:center}.btn-cta{width:100%;max-width:320px;justify-content:center}.footer-links{gap:var(--space-md)}.section,.about,.projects,.skills,.contact{padding:var(--space-2xl) 0}}@media(max-width:380px){.hero-photo{width:120px;height:120px}.hero-headline{font-size:1.5rem}.project-tech{gap:var(--space-xs)}.tech-tag{font-size:.65rem;padding:3px 8px}}
