*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #000000;--secondary-color: #333333;--accent-color: #D2691E;--text-primary: #000000;--text-secondary: #333333;--text-light: #666666;--text-muted: #999999;--bg-primary: #ffffff;--bg-secondary: #F5F5F5;--bg-card: #ffffff;--bg-accent: #000000;--border-color: #e0e0e0;--border-dark: #333333;--shadow-light: 0 2px 8px rgba(0, 0, 0, .08);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .12);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .16);--border-radius: 0;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--space-6xl: 12rem}body{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);font-weight:400;letter-spacing:-.01em}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-md)}h1,h2{margin-bottom:var(--space-lg)}h3{margin-bottom:var(--space-md)}h4,h5,h6{margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);line-height:1.6}p+p{margin-top:var(--space-md)}.mono{font-family:JetBrains Mono,monospace;font-weight:400}.grid{display:grid;gap:var(--space-xl)}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.navbar{position:fixed;top:0;width:100%;background:var(--bg-primary);border-bottom:2px solid var(--primary-color);z-index:1000;transition:var(--transition)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl);display:flex;justify-content:space-between;align-items:center;height:80px}.nav-logo{font-size:var(--text-2xl);font-weight:700;color:var(--primary-color);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;transition:var(--transition)}.nav-logo:hover{color:var(--secondary-color)}.nav-menu{display:flex;gap:var(--space-2xl)}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-sm);transition:var(--transition);position:relative}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link:after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:2px;background:var(--primary-color);transition:var(--transition)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-toggle{display:none;flex-direction:column;cursor:pointer;gap:var(--space-xs)}.bar{width:24px;height:2px;background:var(--text-primary);transition:var(--transition)}.hero{min-height:100vh;display:flex;align-items:center;background:var(--bg-primary);position:relative;overflow:hidden}.hero-container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl);display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4xl);align-items:center;position:relative;z-index:1}.hero-content{max-width:600px}.hero-title{font-size:clamp(var(--text-4xl),8vw,var(--text-6xl));font-weight:700;line-height:1.1;margin-bottom:var(--space-lg);color:var(--text-primary)}.highlight{color:var(--primary-color);position:relative}.highlight:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--accent-color)}.hero-subtitle{font-size:var(--text-xl);color:var(--secondary-color);font-weight:500;margin-bottom:var(--space-xl);text-transform:uppercase;letter-spacing:.05em;font-family:JetBrains Mono,monospace}.hero-description{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.6;max-width:500px}.hero-buttons{display:flex;gap:var(--space-lg);flex-wrap:wrap}.btn{display:inline-block;padding:var(--space-md) var(--space-2xl);border-radius:var(--border-radius);text-decoration:none;font-weight:600;text-align:center;transition:var(--transition);border:2px solid transparent;cursor:pointer;font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover{background:var(--secondary-color);border-color:var(--secondary-color);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.hero-image{display:flex;justify-content:flex-start;align-items:center;position:relative}.profile-photo{width:320px;height:320px;overflow:hidden;background:var(--secondary-color);position:relative}.profile-photo img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.profile-photo:hover img{transform:scale(1.02)}section{padding:var(--space-5xl) 0}.section-title{font-size:var(--text-4xl);font-weight:700;text-align:left;margin-bottom:var(--space-3xl);position:relative;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary)}.section-title:before{content:"";position:absolute;left:0;bottom:-10px;width:60px;height:4px;background:var(--primary-color)}.about{background:var(--bg-secondary)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:start}.about-text p{font-size:var(--text-lg);margin-bottom:var(--space-xl);line-height:1.7;color:var(--text-secondary)}.skills h3{font-size:var(--text-2xl);margin-bottom:var(--space-2xl);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.skills-grid{display:flex;flex-direction:column;gap:var(--space-xl)}.skill-item{display:flex;flex-direction:column;gap:var(--space-sm)}.skill-name{font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-sm);font-family:JetBrains Mono,monospace}.skill-bar{height:4px;background:var(--border-color);overflow:hidden;position:relative}.skill-progress{height:100%;background:var(--primary-color);width:0;transition:width 1.5s cubic-bezier(.4,0,.2,1)}.timeline{position:relative;max-width:900px;margin:0 auto;background:var(--bg-primary);padding:var(--space-3xl) 0}.timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--border-color);z-index:1}.timeline:after{display:none}.timeline-item{position:relative;margin-bottom:var(--space-3xl);padding-left:var(--space-4xl);display:block}.timeline-item:nth-child(2n){flex-direction:row;padding-left:var(--space-4xl);padding-right:0}.timeline-item:nth-child(2n) .timeline-marker{left:22px;right:auto}.timeline-marker{position:absolute;left:22px;top:1.5rem;width:16px;height:16px;background:var(--primary-color);border-radius:0;border:none;z-index:3;transition:none}.timeline-marker:hover{background:var(--accent-color)}.timeline-content{background:var(--bg-card);padding:var(--space-2xl);box-shadow:none;transition:var(--transition);position:relative;border-radius:0;max-width:600px;border-left:2px solid var(--primary-color);border-top:1px solid var(--border-color)}.timeline-content:hover{transform:none;box-shadow:var(--shadow-light)}.timeline-content h3{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm);line-height:1.2;text-transform:none}.timeline-content h4{color:var(--text-secondary);font-weight:500;margin-bottom:var(--space-md);font-size:var(--text-lg)}.timeline-date{display:block;background:none;color:var(--text-light);padding:0;font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-family:JetBrains Mono,monospace;margin-bottom:var(--space-lg)}.timeline-content p{margin-bottom:var(--space-xl);color:var(--text-secondary);line-height:1.7;font-size:var(--text-base)}.timeline-content ul{list-style:none;margin-bottom:var(--space-xl)}.timeline-content li{position:relative;padding-left:var(--space-xl);margin-bottom:var(--space-md);color:var(--text-secondary);line-height:1.6;font-size:var(--text-sm)}.timeline-content li:before{content:"•";position:absolute;left:0;top:0;color:var(--accent-color);font-weight:700}.projects{background:var(--bg-secondary);position:relative}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-2xl);position:relative;z-index:1}.project-card:first-child{grid-column:auto;display:block;min-height:auto}.project-card:nth-child(2){grid-column:auto}.project-card:nth-child(3){grid-column:auto}.project-card:nth-child(4){grid-column:auto}.project-card{background:var(--bg-card);overflow:hidden;box-shadow:none;transition:var(--transition);position:relative;border-radius:0;border-left:2px solid var(--primary-color);border-top:1px solid var(--border-color)}.project-card:hover{transform:none;box-shadow:var(--shadow-light)}.project-image{height:200px;overflow:hidden;background:var(--bg-secondary);position:relative}.project-card:first-child .project-image{height:200px}.project-image img{width:100%;height:100%;object-fit:cover;transition:none;filter:none}.project-card:hover .project-image img{transform:none;filter:none}.project-content{padding:var(--space-2xl);position:relative;background:var(--bg-card)}.project-card:first-child .project-content{display:flex;flex-direction:column;justify-content:center;padding:var(--space-2xl)}.project-content h3{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-md);color:var(--text-primary);line-height:1.2}.project-card:first-child .project-content h3{font-size:var(--text-3xl);margin-bottom:var(--space-lg)}.project-content p{color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:1.7;font-size:var(--text-base)}.project-card:first-child .project-content p{font-size:var(--text-lg);margin-bottom:var(--space-2xl)}.project-tech{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-2xl)}.tech-tag{background:none;color:var(--text-light);padding:0;font-size:var(--text-xs);font-weight:500;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em;transition:none}.tech-tag:hover{background:none;color:var(--text-secondary)}.project-links{display:flex;gap:var(--space-xl);align-items:center}.project-link{color:var(--text-secondary);text-decoration:none;font-weight:600;transition:var(--transition);font-size:var(--text-sm);border-bottom:2px solid transparent}.project-link:hover{color:var(--accent-color);border-bottom-color:var(--accent-color)}.project-link--primary{background:var(--accent-color);color:var(--bg-primary);padding:var(--space-sm) var(--space-lg);border:none}.project-link--primary:hover{background:var(--primary-color);color:var(--bg-primary)}.project-status{display:none}.project-link--learn-more{background:var(--primary-color);color:var(--bg-primary);border:none;padding:.75rem 1.5rem;cursor:pointer;transition:var(--transition);font-family:inherit;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.project-link--learn-more:hover{background:var(--secondary-color);color:var(--bg-primary);border-bottom:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl)}.modal-content{background:var(--bg-primary);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;border:2px solid var(--primary-color);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-2xl);border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0;line-height:1.2;flex:1;padding-right:var(--space-xl)}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.modal-close:hover{color:var(--primary-color)}.modal-body{padding:var(--space-2xl)}.modal-section{margin-bottom:var(--space-2xl)}.modal-section h3{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em}.modal-section p{color:var(--text-secondary);line-height:1.6;margin:0}.modal-tech{display:flex;flex-wrap:wrap;gap:var(--space-md)}.modal-actions{margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid var(--border-color)}@media (max-width: 768px){.modal-overlay{padding:var(--space-md)}.modal-header,.modal-body{padding:var(--space-xl)}.modal-header h2{font-size:var(--text-xl)}}.contact{background:var(--bg-secondary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:start}.contact-info h3{font-size:var(--text-2xl);margin-bottom:var(--space-lg);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.contact-info p{color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.7;font-size:var(--text-lg)}.contact-methods{margin-bottom:var(--space-2xl)}.contact-method{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);color:var(--text-secondary);font-family:JetBrains Mono,monospace}.contact-icon{font-size:var(--text-xl);width:24px}.social-links{display:flex;gap:var(--space-xl)}.social-link{color:var(--primary-color);text-decoration:none;font-weight:600;transition:var(--transition);text-transform:uppercase;letter-spacing:.05em;position:relative}.social-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary-color);transition:var(--transition)}.social-link:hover:after{width:100%}.social-link:hover{color:var(--secondary-color)}.contact-form{background:var(--bg-card);padding:var(--space-2xl);box-shadow:var(--shadow-light);border-left:4px solid var(--primary-color)}.form-group{margin-bottom:var(--space-xl)}.form-group input,.form-group textarea{width:100%;padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--border-radius);font-family:inherit;font-size:var(--text-base);transition:var(--transition);background:var(--bg-primary);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d2691e1a}.form-group textarea{resize:vertical;min-height:120px;font-family:inherit}.footer{background:var(--secondary-color);color:var(--bg-primary);text-align:center;padding:var(--space-2xl) 0}.footer p{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.nav-menu{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--bg-primary);flex-direction:column;padding:var(--space-xl);box-shadow:var(--shadow-medium);border-top:2px solid var(--primary-color)}.nav-menu.active,.nav-toggle{display:flex}.nav-toggle.active .bar:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.nav-toggle.active .bar:nth-child(2){opacity:0}.nav-toggle.active .bar:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.hero-container{grid-template-columns:1fr;text-align:left;gap:var(--space-2xl)}.hero-image{order:-1}.profile-photo{width:200px;height:200px}.about-grid,.contact-content{grid-template-columns:1fr;gap:var(--space-2xl)}.timeline:before{left:30px;width:3px}.timeline:after{left:24px;width:16px;height:16px}.timeline-item{padding-left:var(--space-3xl);padding-right:0;flex-direction:column}.timeline-item:nth-child(2n){flex-direction:column;padding-left:var(--space-3xl);padding-right:0}.timeline-marker{left:18px;width:20px;height:20px}.timeline-item:nth-child(2n) .timeline-marker{left:18px;right:auto}.timeline-content{max-width:none;padding:var(--space-xl)}.projects-grid{grid-template-columns:1fr;gap:var(--space-xl)}.project-card:first-child{grid-column:span 1;display:block}.project-card:nth-child(2),.project-card:nth-child(3),.project-card:nth-child(4){grid-column:span 1}.project-card:first-child .project-image{height:200px}.project-card:first-child .project-content{padding:var(--space-xl)}.project-card:first-child .project-content h3{font-size:var(--text-xl)}.project-card:first-child .project-content p{font-size:var(--text-base)}.container{padding:0 var(--space-lg)}.section-title{font-size:var(--text-3xl);text-align:left}section{padding:var(--space-4xl) 0}}@media (max-width: 480px){.hero-title{font-size:var(--text-3xl)}.hero-subtitle{font-size:var(--text-lg)}.btn{padding:var(--space-sm) var(--space-xl);font-size:var(--text-sm)}.hero-buttons{flex-direction:column;align-items:flex-start}}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}.notification{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:var(--border-radius);color:#fff;font-weight:600;z-index:10000;transform:translate(100%);transition:transform .3s ease-out;max-width:300px;word-wrap:break-word;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}.notification-success{background:var(--primary-color)}.notification-error{background:var(--secondary-color)}
