@charset "UTF-8";:root{--color-primary: #9B9FEA;--color-secondary: #d6336c;--color-accent: #059669;--color-dark: #0a0e1a;--color-light: #ffffff;--color-gray: #868E96;--color-gray-sub: #adb5bd;--color-gray-light: #cbd5e1;--color-focus: #fbbf24;--font-primary: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--spacing-2xl: 8rem;--container-width: 1200px;--container-padding: 1.5rem;--transition-base: all .3s cubic-bezier(.4, 0, .2, 1);--transition-smooth: all .5s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}img,svg,video,canvas,iframe{max-width:100%;height:auto}#root,main,section,.container{max-width:100%;overflow-x:clip}html{scroll-behavior:smooth;overflow-x:clip;width:100%}body{font-family:var(--font-primary);background:var(--color-dark);color:var(--color-light);overflow-x:clip;width:100%}*:focus-visible{outline:3px solid var(--color-focus)!important;outline-offset:2px!important;border-radius:2px}.js-focus-visible :focus:not(.focus-visible){outline:none!important}@media (prefers-contrast: high){:root{--color-primary: #4338ca;--color-secondary: #be185d;--color-gray: #374151;--color-gray-light: #d1d5db}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,8vw,5rem)}h2{font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{line-height:1.7;color:var(--color-gray-light)}.lead{font-size:1.25rem;font-weight:300;line-height:1.8}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}section{padding:var(--spacing-xl) 0;position:relative}@media (min-width: 768px){section{padding:var(--spacing-2xl) 0}}.section-header{text-align:center;margin-bottom:var(--spacing-lg)}.section-label{display:inline-block;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.section-title{margin-bottom:var(--spacing-md)}.section-description{max-width:600px;margin:0 auto;color:var(--color-gray-light)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:100px;transition:var(--transition-base);text-decoration:none;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.btn svg{transition:transform .3s ease}.btn:hover svg{transform:translate(4px)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));transition:left .5s ease}.btn-primary:hover:before{left:0}.btn-primary span{position:relative;z-index:1}.btn-secondary{background:transparent;color:var(--color-light);border:2px solid var(--color-gray)}.btn-secondary:hover{background:var(--color-light);color:var(--color-dark);border-color:var(--color-light)}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:1rem 2rem;border-radius:0 0 8px 8px;text-decoration:none;font-weight:600;z-index:10001;transition:top .3s ease}.skip-link:focus{top:0;outline:3px solid var(--color-accent);outline-offset:2px}.navigation{position:fixed;top:0;left:0;right:0;padding:1.5rem 0;z-index:1000;transition:var(--transition-base)}.navigation.scrolled{background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 0;box-shadow:0 10px 30px #0000004d}.navigation .nav-container{max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding);display:flex;justify-content:space-between;align-items:center}.navigation .nav-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:900;color:var(--color-light);text-decoration:none;cursor:pointer;background:none;border:none;padding:0}.navigation .nav-logo-text{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navigation .nav-logo-dot{width:8px;height:8px;background:var(--color-secondary);border-radius:50%;animation:pulse 2s ease-in-out infinite}.navigation .nav-menu{display:flex;gap:2rem;align-items:center}@media (max-width: 768px){.navigation .nav-menu.desktop{display:none}}.navigation .nav-link{color:var(--color-gray-light);text-decoration:none;font-weight:500;transition:var(--transition-base);border:none;background:none;font-size:1rem;cursor:pointer}.navigation .nav-link:hover{color:var(--color-primary)}.navigation .nav-link.nav-cta{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;padding:.5rem 1.5rem;border-radius:100px}.navigation .nav-link.nav-cta:hover{transform:translateY(-2px);box-shadow:0 5px 15px #6366f166}.navigation .nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:0;width:24px;height:24px;position:relative}@media (max-width: 768px){.navigation .nav-toggle{display:flex}}.navigation .nav-toggle span{width:100%;height:2px;background:var(--color-light);transition:var(--transition-base);position:absolute;left:0}.navigation .nav-toggle span:first-child{top:6px}.navigation .nav-toggle span:last-child{bottom:6px}.navigation .nav-toggle.active span:first-child{transform:rotate(45deg);top:11px}.navigation .nav-toggle.active span:last-child{transform:rotate(-45deg);bottom:11px}.mobile-menu{position:fixed;top:0;left:0;right:0;height:100vh;background:var(--color-dark);z-index:999;display:flex;align-items:center;justify-content:center}@media (min-width: 769px){.mobile-menu{display:none}}.mobile-menu .mobile-menu-content{display:flex;flex-direction:column;gap:2rem;text-align:center}.mobile-menu .mobile-menu-link{font-size:2rem;font-weight:700;color:var(--color-light);text-decoration:none;background:none;border:none;cursor:pointer;transition:var(--transition-base)}.mobile-menu .mobile-menu-link:hover{color:var(--color-primary)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}.hero .hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:.5}.hero .hero-content{width:100%;position:relative;z-index:1}.hero .hero-text{max-width:800px;margin:0 auto;text-align:center;padding:0 var(--container-padding)}.hero .hero-label{font-size:1.25rem;color:var(--color-gray);margin-bottom:1rem;display:block}.hero .hero-title{margin-bottom:2rem}.hero .hero-name{font-size:clamp(3rem,10vw,6rem);font-weight:900;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.hero .hero-subtitle{font-size:clamp(1.5rem,4vw,2.5rem);color:var(--color-gray-light);margin-bottom:2rem}.hero .hero-subtitle .typed-text{color:var(--color-primary);font-weight:700}.hero .hero-description{font-size:1.25rem;line-height:1.8;color:var(--color-gray-light);margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.hero .hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem}.hero .hero-stats{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap}.hero .hero-stats .stat{text-align:center}.hero .hero-stats .stat-number{display:block;font-size:2.5rem;font-weight:900;color:var(--color-primary);margin-bottom:.5rem}.hero .hero-stats .stat-label{font-size:.875rem;color:var(--color-gray);text-transform:uppercase;letter-spacing:.1em}.hero .hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);text-align:center;color:var(--color-gray)}@media (max-width: 768px){.hero .hero-scroll{display:none}}.hero .hero-scroll span{display:block;font-size:.875rem;margin-bottom:1rem}.hero .hero-scroll .scroll-indicator{width:24px;height:40px;border:2px solid var(--color-gray);border-radius:20px;margin:0 auto;position:relative}.hero .hero-scroll .scroll-indicator .scroll-dot{width:4px;height:8px;background:var(--color-gray);border-radius:2px;position:absolute;top:6px;left:50%;transform:translate(-50%);animation:scroll 2s ease-in-out infinite}@keyframes scroll{0%,to{transform:translate(-50%) translateY(0);opacity:1}50%{transform:translate(-50%) translateY(10px);opacity:.5}}.about .about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about .about-content .about-text,.about .about-content .about-image{min-width:0}@media (max-width: 968px){.about .about-content{grid-template-columns:1fr;gap:3rem}}.about .about-text{overflow-wrap:anywhere;word-break:break-word}.about .about-text p{margin-bottom:1.5rem}.about .about-highlights{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.about .about-highlights .highlight{display:flex;gap:1rem;align-items:flex-start}.about .about-highlights .highlight-icon{font-size:2rem;line-height:1}.about .about-highlights .highlight h3{font-size:1.125rem;margin-bottom:.25rem;color:var(--color-light)}.about .about-highlights .highlight p{font-size:.875rem;color:var(--color-gray)}.about .about-image .image-container{position:relative}.about .about-image .code-window{background:#1e293b;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #00000080;width:100%}.about .about-image .code-window .code-header{background:#0f172a;padding:1rem;display:flex;gap:.5rem}.about .about-image .code-window .code-header .dot{width:12px;height:12px;border-radius:50%}.about .about-image .code-window .code-header .dot.red{background:#ef4444}.about .about-image .code-window .code-header .dot.yellow{background:#f59e0b}.about .about-image .code-window .code-header .dot.green{background:#10b981}.about .about-image .code-window .code-content{padding:2rem;font-family:var(--font-mono);font-size:.875rem;color:#e2e8f0;line-height:1.6;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;word-break:break-word;background:#20293a;margin:0}.about .about-image .code-window .code-content code{display:block;white-space:inherit;background:transparent}@media (max-width: 600px){.about .about-image .code-window .code-content{padding:1rem;font-size:.8rem}}.work .work-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.work .work-filters .filter-btn{padding:.5rem 1.5rem;background:transparent;border:2px solid var(--color-gray);color:var(--color-gray-light);border-radius:100px;font-weight:600;transition:var(--transition-base);cursor:pointer}.work .work-filters .filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.work .work-filters .filter-btn.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-color:transparent;color:#fff}.work .work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}@media (max-width: 768px){.work .work-grid{grid-template-columns:1fr}}.work .work-item{height:100%}.work .work-item-inner{background:#1e293b;border-radius:16px;overflow:hidden;height:100%;display:flex;flex-direction:column;transition:var(--transition-base)}.work .work-item-inner:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000004d}.work .work-item-image{height:250px;position:relative;display:flex;align-items:center;justify-content:center}.work .work-item-image .work-item-number{font-size:4rem;font-weight:900;color:#ffffff1a}.work .work-item-image .work-item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition-base)}.work .work-item-image .work-item-overlay span{color:#fff;font-weight:600;transform:translateY(10px);transition:var(--transition-base)}.work .work-item-image:hover .work-item-overlay{opacity:1}.work .work-item-image:hover .work-item-overlay span{transform:translateY(0)}.work .work-item-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.work .work-item-category{color:var(--color-primary);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.work .work-item-title{font-size:1.5rem;margin-bottom:1rem;color:var(--color-light)}.work .work-item-description{color:var(--color-gray-light);line-height:1.7;margin-bottom:1.5rem;flex:1}.work .work-item-tech{display:flex;flex-wrap:wrap;gap:.5rem}.work .work-item-tech .tech-tag{padding:.25rem .75rem;background:#252f4d;color:var(--color-primary);border-radius:100px;font-size:.75rem;font-weight:600}.skills .section-header{animation:fadeInUp .6s ease-out;opacity:1}.skills .skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:1000px;margin:0 auto}@media (max-width: 768px){.skills .skills-grid{grid-template-columns:1fr}}.skills .skill-category{background:#1e293b;border-radius:16px;padding:2rem;transition:var(--transition-base);min-height:280px;display:flex;flex-direction:column;animation:fadeInUp .6s ease-out;animation-fill-mode:both}.skills .skill-category:nth-child(1){animation-delay:.1s}.skills .skill-category:nth-child(2){animation-delay:.2s}.skills .skill-category:nth-child(3){animation-delay:.3s}.skills .skill-category:nth-child(4){animation-delay:.4s}.skills .skill-category:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000004d}.skills .skill-category .skill-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.skills .skill-category .skill-icon{font-size:2rem}.skills .skill-category .skill-title{font-size:1.25rem;color:var(--color-light)}.skills .skill-category .skill-tags{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.skills .skill-category .skill-tags .skill-tag{padding:.375rem .875rem;background:#6366f11a;color:var(--color-gray-light);border-radius:100px;font-size:.875rem;transition:var(--transition-base);line-height:2rem}.skills .skill-category .skill-tags .skill-tag:hover{background:#6366f133;color:var(--color-primary)}@keyframes fadeInUp{0%{transform:translateY(20px)}to{transform:translateY(0)}}.experience .timeline{position:relative;max-width:900px;margin:0 auto}.experience .timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:2px;height:100%;background:linear-gradient(180deg,var(--color-primary),var(--color-secondary))}@media (max-width: 768px){.experience .timeline:before{left:20px}}.experience .timeline .timeline-item{position:relative;margin-bottom:2.5rem}.experience .timeline .timeline-item:nth-child(odd){padding-right:calc(50% + 2rem);text-align:right}@media (max-width: 768px){.experience .timeline .timeline-item:nth-child(odd){padding-right:0;padding-left:3rem;text-align:left}.experience .timeline .timeline-item:nth-child(odd) .timeline-company-location{justify-content:flex-start}.experience .timeline .timeline-item:nth-child(odd) .timeline-highlights li{text-align:left;padding-right:0;padding-left:1rem}.experience .timeline .timeline-item:nth-child(odd) .timeline-highlights li:before{right:auto;left:0}}.experience .timeline .timeline-item:nth-child(odd) .timeline-dot{right:calc(50% - 10px)}@media (max-width: 768px){.experience .timeline .timeline-item:nth-child(odd) .timeline-dot{right:auto;left:11px}}.experience .timeline .timeline-item:nth-child(odd) .timeline-company-location{justify-content:flex-end}.experience .timeline .timeline-item:nth-child(odd) .timeline-highlights li{text-align:right;padding-left:0;padding-right:1rem}.experience .timeline .timeline-item:nth-child(odd) .timeline-highlights li:before{left:auto;right:0}.experience .timeline .timeline-item:nth-child(2n){padding-left:calc(50% + 2rem)}@media (max-width: 768px){.experience .timeline .timeline-item:nth-child(2n){padding-left:3rem}}.experience .timeline .timeline-item:nth-child(2n) .timeline-dot{left:calc(50% - 10px)}@media (max-width: 768px){.experience .timeline .timeline-item:nth-child(2n) .timeline-dot{left:11px}}.experience .timeline .timeline-dot{position:absolute;width:20px;height:20px;background:var(--color-primary);border:4px solid var(--color-dark);border-radius:50%;top:0}.experience .timeline .timeline-content{background:#1e293b;padding:1.5rem;border-radius:12px}.experience .timeline .timeline-period{color:var(--color-primary);font-size:.875rem;font-weight:600;margin-bottom:.5rem;display:block}.experience .timeline .timeline-title{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-light)}.experience .timeline .timeline-company-location{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.experience .timeline .timeline-company{color:var(--color-gray-sub);font-weight:600}.experience .timeline .timeline-location{color:var(--color-gray-sub);font-size:.875rem;opacity:.8}.experience .timeline .timeline-description{margin-bottom:1rem;line-height:1.7}.experience .timeline .timeline-highlights{list-style:none}.experience .timeline .timeline-highlights li{color:var(--color-gray-light);font-size:.875rem;line-height:1.6;margin-bottom:.7rem;padding-left:1rem;position:relative}.experience .timeline .timeline-highlights li:before{content:"• ";color:var(--color-primary);position:absolute;left:0}@media (max-width: 768px){.experience .timeline .timeline-item{padding-left:3rem!important;padding-right:0!important;text-align:left!important}.experience .timeline .timeline-item .timeline-dot{left:11px!important;right:auto!important}.experience .timeline .timeline-item .timeline-company-location{justify-content:flex-start!important}.experience .timeline .timeline-item .timeline-highlights li{text-align:left!important;padding-left:1rem!important;padding-right:0!important}.experience .timeline .timeline-item .timeline-highlights li:before{left:0!important;right:auto!important}}.contact .contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto}@media (max-width: 768px){.contact .contact-content{grid-template-columns:1fr;gap:3rem}}.contact .contact-info .contact-description{font-size:1.125rem;line-height:1.8;margin-bottom:2rem}.contact .contact-info .contact-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.contact .contact-info .contact-item{display:flex;align-items:center;gap:1rem;color:var(--color-gray-light);text-decoration:none;transition:var(--transition-base)}.contact .contact-info .contact-item:hover{color:var(--color-primary)}.contact .contact-info .contact-item .contact-icon{font-size:1.5rem}.contact .contact-info .contact-social{display:flex;gap:1rem}.contact .contact-info .contact-social .social-link{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#1e293b;border-radius:50%;transition:var(--transition-base)}.contact .contact-info .contact-social .social-link svg{width:24px;height:24px;transition:var(--transition-base)}.contact .contact-info .contact-social .social-link svg path{fill:var(--color-gray-light)}.contact .contact-info .contact-social .social-link:hover{background:var(--color-primary);transform:translateY(-3px)}.contact .contact-info .contact-social .social-link:hover path{fill:#fff}.contact .contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact .contact-form .hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact .contact-form .form-alert{background:#dc262626;color:#fecaca;border:1px solid rgba(220,38,38,.4);border-radius:8px;padding:.75rem 1rem}.contact .contact-form .captcha-group{position:relative}.contact .contact-form .captcha-group input{padding-right:3rem}.contact .contact-form .captcha-group .btn-refresh{position:absolute;right:.5rem;top:.5rem;height:calc(100% - 1rem);padding:0 .75rem}.contact .contact-form .form-group{position:relative}.contact .contact-form .form-group input,.contact .contact-form .form-group textarea{width:100%;padding:1rem;background:#1e293b;border:2px solid transparent;border-radius:8px;color:var(--color-light);font-size:1rem;transition:var(--transition-base)}.contact .contact-form .form-group input:focus,.contact .contact-form .form-group textarea:focus{outline:none;border-color:var(--color-primary)}.contact .contact-form .form-group input:focus+label,.contact .contact-form .form-group input:not(:placeholder-shown)+label,.contact .contact-form .form-group textarea:focus+label,.contact .contact-form .form-group textarea:not(:placeholder-shown)+label{transform:translateY(-28px) scale(.875);background:var(--color-dark);padding:0 .5rem;color:var(--color-primary)}.contact .contact-form .form-group label{position:absolute;left:1rem;top:1rem;color:var(--color-gray);transition:var(--transition-base);pointer-events:none}.contact .contact-form .form-group textarea{resize:vertical;min-height:120px}.contact .contact-form .btn{align-self:flex-start}.contact .contact-thanks{background:#1e293b;border-radius:12px;padding:1.5rem}.contact .contact-thanks h3{margin-bottom:.75rem}.contact .contact-thanks p{margin-bottom:1rem;line-height:1.7;color:var(--color-gray-light)}.contact .contact-thanks .btn{margin-bottom:.25rem}.contact .contact-thanks>*:last-child{margin-bottom:0}.footer{padding:2rem 0;border-top:1px solid rgba(255,255,255,.1)}.footer .footer-content{text-align:center}.footer .footer-content p{color:var(--color-gray);font-size:.875rem}.footer .footer-content p:first-child{margin-bottom:.5rem}
