body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#e63946;--primary-hover:#d62f3d;--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2d2d2d;--text-primary:#fff;--text-secondary:#b3b3b3;--text-muted:grey;--border-color:#404040;--shadow-light:0 2px 10px #0000004d;--shadow-medium:0 4px 20px #0006;--shadow-heavy:0 8px 30px #00000080;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:#121212;background-color:var(--bg-primary);color:#fff;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);line-height:1.6;overflow-x:hidden}.container{margin:0 auto;max-width:1200px;padding:0 1rem;padding:0 var(--spacing-sm)}.section-title{font-size:2.25rem;font-size:var(--font-size-4xl);font-weight:700;margin-bottom:4rem;margin-bottom:var(--spacing-2xl);position:relative;text-align:center}.section-title:after{background:#e63946;background:var(--primary-color);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.highlight{color:#e63946;color:var(--primary-color)}.btn{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-size:var(--font-size-base);font-weight:500;gap:.5rem;gap:var(--spacing-xs);overflow:hidden;padding:1rem 2rem;padding:var(--spacing-sm) var(--spacing-lg);position:relative;text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal)}.btn:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;transition:left var(--transition-normal);width:100%}.btn:hover:before{left:100%}.btn-primary{background:#e63946;background:var(--primary-color);color:#fff;color:var(--text-primary)}.btn-primary:hover:not(:disabled){background:#d62f3d;background:var(--primary-hover);box-shadow:0 4px 20px #0006;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #e63946;border:2px solid var(--primary-color);color:#fff;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#e63946;background:var(--primary-color);box-shadow:0 4px 20px #0006;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-small{font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem 1.5rem;padding:var(--spacing-xs) var(--spacing-md)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.fade-in{opacity:0;transform:translateY(30px);transition:all .5s ease;transition:all var(--transition-slow)}.fade-in.visible{opacity:1;transform:translateY(0)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.reveal-visible{opacity:1;transform:none}.btn,.nav-link,.profile-photo,.profile-placeholder,.project-card,.skill-tag,.social-link,button{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}a{transition:color .3s cubic-bezier(.4,0,.2,1)}img{transition:box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.btn,.btn-small{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-small:focus,.btn-small:hover,.btn:focus,.btn:hover{box-shadow:0 6px 20px #e639462e;filter:brightness(1.08);transform:scale(1.06)}.btn-primary:focus,.btn-primary:hover{background:#d62f3d;background:var(--primary-hover)}.btn-secondary:focus,.btn-secondary:hover{background:#e63946;background:var(--primary-color);color:#fff;color:var(--text-primary)}.notification{align-items:center;animation:slideInRight .3s ease;border-radius:.5rem;box-shadow:0 4px 20px #0000004d;display:flex;gap:1rem;max-width:400px;padding:1rem 1.5rem;position:fixed;right:20px;top:20px;z-index:10000}.notification-success{background:#10b981;color:#fff}.notification-error{background:#ef4444;color:#fff}.notification-content{align-items:center;display:flex;flex:1 1;gap:.5rem}.notification-close{background:none;border:none;border-radius:.25rem;color:#fff;cursor:pointer;padding:.25rem;transition:background-color .2s ease}.notification-close:hover{background:#ffffff1a}@media (max-width:768px){.container{padding:0 .5rem;padding:0 var(--spacing-xs)}.section-title{font-size:1.875rem;font-size:var(--font-size-3xl)}.btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}a:focus,button:focus,input:focus,textarea:focus{outline:2px solid #e63946;outline:2px solid var(--primary-color);outline-offset:2px}@media print{.hero-buttons,.navbar,.project-links,.scroll-top,.social-links{display:none}body{background:#fff;color:#000}}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121212f2;border-bottom:1px solid var(--border-color);left:0;position:fixed;right:0;top:0;transition:all var(--transition-normal);z-index:1000}.navbar.scrolled{background:#121212fa;box-shadow:0 4px 12px #0003}.nav-container{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--spacing-sm)}.nav-logo a{color:var(--primary-color);font-size:var(--font-size-2xl);font-weight:700;text-decoration:none;transition:color var(--transition-fast)}.nav-logo a:hover{color:var(--primary-hover)}.nav-menu{display:flex;gap:var(--spacing-lg);list-style:none}.nav-link{color:var(--text-secondary);cursor:pointer;font-weight:500;position:relative;text-decoration:none;transition:all var(--transition-fast)}.nav-link:after{background:var(--primary-color);bottom:-5px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-normal);width:0}.nav-link.active,.nav-link:hover{color:var(--text-primary)}.nav-link.active:after,.nav-link:hover:after{width:100%}.nav-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}.nav-toggle.active{transform:rotate(90deg)}.bar{background:var(--text-primary);border-radius:2px;height:3px;transition:all .3s cubic-bezier(.4,0,.2,1);width:25px}.nav-toggle.active .bar:first-child{transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active .bar:nth-child(2){opacity:0}.nav-toggle.active .bar:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width:768px){.nav-menu{align-items:center;background:var(--bg-primary);border-top:1px solid var(--border-color);box-shadow:0 8px 32px #00000040;flex-direction:column;height:calc(100vh - 70px);justify-content:flex-start;left:-100%;padding-top:var(--spacing-xl);position:fixed;top:70px;transition:left .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:1100}.nav-menu.active{animation:slideInNav .4s cubic-bezier(.4,0,.2,1);left:0}@keyframes slideInNav{0%{left:-100%}to{left:0}}.nav-toggle{display:flex}}.hero{align-items:center;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;min-height:100vh;padding:120px 0 var(--spacing-2xl)}.hero-container{grid-gap:var(--spacing-2xl);align-items:center;display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 var(--spacing-sm)}.hero-title{font-size:var(--font-size-5xl);font-weight:700;line-height:1.1;margin-bottom:var(--spacing-md);opacity:0;transform:translateY(30px);transition:all 1s ease}.hero-title.typed{opacity:1;transform:translateY(0)}.hero-subtitle{color:var(--text-secondary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);opacity:0;transform:translateY(30px);transition:all 1s ease .2s}.hero-subtitle.fade-in{opacity:1;transform:translateY(0)}.hero-description{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);opacity:0;transform:translateY(30px);transition:all 1s ease .4s}.hero-description.fade-in{opacity:1;transform:translateY(0)}.hero-buttons{display:flex;gap:var(--spacing-md);opacity:0;transform:translateY(30px);transition:all 1s ease .6s}.hero-buttons.fade-in{opacity:1;transform:translateY(0)}.hero-image{align-items:center;display:flex;justify-content:center;opacity:0;transform:translateX(30px);transition:all 1s ease .8s}.hero-image.fade-in{opacity:1;transform:translateX(0)}.profile-placeholder{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:50%;box-shadow:var(--shadow-heavy);display:flex;height:300px;justify-content:center;overflow:hidden;position:relative;width:300px}.profile-placeholder img{border-radius:50%;height:100%;object-fit:cover;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.profile-placeholder:hover img{transform:scale(1.05)}.profile-placeholder i{color:var(--text-primary);font-size:6rem;position:relative;z-index:2}.profile-placeholder:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:1}.profile-placeholder img{position:relative;z-index:2}@media (max-width:768px){.hero-container{gap:var(--spacing-xl);grid-template-columns:1fr;text-align:center}.hero-title{font-size:var(--font-size-4xl)}.hero-buttons{flex-wrap:wrap;justify-content:center}.profile-placeholder{height:200px;width:200px}.profile-placeholder i{font-size:4rem}}@media (max-width:480px){.hero-title{font-size:var(--font-size-3xl)}}.about{background:var(--bg-secondary);padding:var(--spacing-2xl) 0}.about-content{grid-gap:var(--spacing-2xl);align-items:start;display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr 2fr}.about-image,.profile-photo{display:flex;justify-content:center}.profile-photo{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:50%;box-shadow:var(--shadow-medium);height:250px;overflow:hidden;position:relative;width:250px}.profile-photo img{border-radius:50%;height:100%;object-fit:cover;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.profile-photo:hover img{transform:scale(1.05)}.profile-photo i{color:var(--text-primary);font-size:5rem;position:relative;z-index:2}.about-text p{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1.8}.about-text p,.skills h3{margin-bottom:var(--spacing-lg)}.skills h3{color:var(--text-primary);font-size:var(--font-size-xl)}.skills-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xl)}.skill-category h4{color:var(--primary-color);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.skill-tag{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.skill-tag:hover{background:var(--primary-color);color:var(--text-primary);transform:translateY(-2px)}.download-cv{margin-top:var(--spacing-lg)}@media (max-width:768px){.about-content{text-align:center}.about-content,.skills-grid{grid-template-columns:1fr}.profile-photo{height:200px;width:200px}.profile-photo i{font-size:4rem}}.projects{background:var(--bg-primary);padding:var(--spacing-2xl) 0}.projects-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 12px #0003;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:var(--primary-color);box-shadow:0 6px 20px #0000004d;transform:scale(1.035) translateY(-8px)}.project-content,.project-image{transition:all .3s cubic-bezier(.4,0,.2,1)}.project-image{align-items:center;background:var(--bg-tertiary);display:flex;height:200px;justify-content:center;overflow:hidden;position:relative}.project-placeholder{color:var(--primary-color);font-size:3rem;opacity:.7}.project-content{padding:var(--spacing-lg)}.project-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm)}.project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-md)}.project-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.tech-tag{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);padding:4px var(--spacing-sm)}.project-links{display:flex;gap:var(--spacing-sm)}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-links{flex-direction:column}}.contact{background:var(--bg-secondary);padding:var(--spacing-2xl) 0}.contact-content{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr 1fr}.contact-info h3{color:var(--text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.contact-info p{color:var(--text-secondary);line-height:1.8;margin-bottom:var(--spacing-lg)}.contact-details{margin-bottom:var(--spacing-xl)}.contact-item{align-items:center;color:var(--text-secondary);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.contact-item i{color:var(--primary-color);width:20px}.social-links{display:flex;gap:var(--spacing-md)}.social-link{align-items:center;background:var(--bg-tertiary);background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:50px;justify-content:center;text-decoration:none;transition:all var(--transition-normal);width:50px}.social-link:hover{background:var(--primary-color);box-shadow:var(--shadow-medium);color:var(--text-primary);transform:translateY(-3px)}.contact-form{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 12px #0000002e;cursor:pointer;padding:var(--spacing-xl);transition:box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.contact-form:hover{box-shadow:0 6px 20px #00000047;transform:scale(1.01)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:var(--spacing-xs)}.form-group input,.form-group textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm);transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #e639461a;outline:none}.form-group textarea{min-height:120px;resize:vertical}@media (max-width:768px){.contact-content{gap:var(--spacing-xl);grid-template-columns:1fr}.social-links{justify-content:center}}.footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--spacing-lg) 0;text-align:center}.footer p{color:var(--text-muted)}.scroll-top{align-items:center;background:var(--primary-color);border:none;border-radius:50%;bottom:30px;box-shadow:var(--shadow-medium);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:50px;justify-content:center;opacity:0;position:fixed;right:30px;transform:translateY(20px);transition:all var(--transition-normal);visibility:hidden;width:50px;z-index:1000}.scroll-top.visible{opacity:1;transform:translateY(0);visibility:visible}.scroll-top:hover{background:var(--primary-hover);box-shadow:var(--shadow-heavy);transform:translateY(-3px)}.work-experience-section{background:var(--bg-primary);padding:var(--spacing-2xl) 0}.work-experience-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr}.work-experience-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 12px #0003;overflow:hidden;padding:var(--spacing-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.work-experience-card:hover{border-color:var(--primary-color);box-shadow:0 6px 20px #0000004d;transform:scale(1.02) translateY(-4px)}.section-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg)}.section-title,.work-experience-role{color:var(--text-primary);font-weight:600}.work-experience-role{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.work-experience-meta{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.work-experience-company{color:var(--primary-color);font-weight:500}.work-experience-dates{color:#888;font-size:.95em}.work-experience-tech{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}@media (max-width:768px){.work-experience-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.47a31195.css.map*/