:root{--color-dark-bg: #1A1A1A;--color-dark-card: #282828;--color-text-primary: #FAFAFA;--color-text-secondary: #CCCCCC;--color-lime: #39FF14;--color-lime-dark: #26a410;--font-mono: "Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-mono);background-color:var(--color-dark-bg);color:var(--color-text-primary);line-height:1.6;scroll-behavior:smooth}h1,h2,h3{color:var(--color-text-primary);margin-bottom:1rem;font-weight:700}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.lime-text{color:var(--color-lime)}.lime-text-dark{color:var(--color-lime-dark)}.row{display:flex;flex-wrap:wrap;margin-left:-.75rem;margin-right:-.75rem}.cols{display:flex;flex-direction:column}.justify-center{justify-content:center}.row>*{padding-left:.75rem;padding-right:.75rem}.text-right{text-align:right}.text-left{text-align:left}.text-center{text-align:center}[class*=col-]{flex:0 0 100%;max-width:100%}@media(min-width:576px){.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}}@media(min-width:768px){.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}}@media(min-width:992px){.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .6s ease-in-out}.animate-fade-out{animation:fadeOut .6s ease-in-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-down{animation:fadeInDown .6s ease-out}.animate-fade-in-left{animation:fadeInLeft .6s ease-out}.animate-fade-in-right{animation:fadeInRight .6s ease-out}.animate-duration-fast{animation-duration:.3s!important}.animate-duration-normal{animation-duration:.6s!important}.animate-duration-slow{animation-duration:1s!important}.animate-duration-slower{animation-duration:1.5s!important}.animate-ease-in{animation-timing-function:ease-in!important}.animate-ease-out{animation-timing-function:ease-out!important}.animate-ease-in-out{animation-timing-function:ease-in-out!important}.animate-linear{animation-timing-function:linear!important}.animate-delay-100{animation-delay:.1s!important}.animate-delay-200{animation-delay:.2s!important}.animate-delay-300{animation-delay:.3s!important}.animate-delay-500{animation-delay:.5s!important}.animate-delay-700{animation-delay:.7s!important}.animate-delay-1000{animation-delay:1s!important}.animate-once{animation-iteration-count:1!important}.animate-infinite{animation-iteration-count:infinite!important}.animate-fill-both{animation-fill-mode:both!important}.animate-fill-forwards{animation-fill-mode:forwards!important}.animate-fill-backwards{animation-fill-mode:backwards!important}.transition-ease-in{transition-timing-function:ease-in!important}.transition-ease-out{transition-timing-function:ease-out!important}.transition-ease-in-out{transition-timing-function:ease-in-out!important}.transition-linear{transition-timing-function:linear!important}.lazy-load{opacity:0;transition:opacity .3s ease-in}.lazy-load.loaded{opacity:1}img[loading=lazy]{opacity:0;transition:opacity .3s ease-in}img[loading=lazy].loaded{opacity:1}.lazy-fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.lazy-fade-in.loaded{opacity:1;transform:translateY(0)}.card{background-color:var(--color-dark-card);padding:1.5rem;border-radius:8px;border-left:3px solid transparent;transition:border-left .3s,transform .3s}.card:hover{border-left:3px solid var(--color-lime);transform:translateY(-5px)}.card-header{justify-content:left}.card-header .card-icon{display:block;max-width:30px;height:auto}.card-header .card-title{color:var(--color-lime);font-size:14px}.card-body p{font-size:12px}.cta-button{display:inline-block;background-color:var(--color-lime);color:var(--color-dark-bg)!important;padding:.75rem 1.5rem;text-decoration:none;font-weight:700;border:2px solid var(--color-lime);transition:background-color .3s,color .3s;border-radius:4px}.cta-button:hover{background-color:transparent;color:var(--color-lime)!important}.large-button{font-size:1.1rem;padding:1rem 2rem}header{background-color:var(--color-dark-card);padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--color-lime)}.logo{font-size:1.5rem;font-weight:700}.desktop-nav a{color:var(--color-text-primary);text-decoration:none;margin-left:20px;transition:color .3s}.desktop-nav a:hover:not(.cta-button){color:var(--color-lime)}.hamburger{display:none;font-size:1.5rem;cursor:pointer;color:var(--color-lime);z-index:1001}.mobile-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-dark-card);flex-direction:column;justify-content:center;align-items:center;gap:2rem;z-index:1000;transform:translate(-100%);transition:transform .3s ease-in-out}.mobile-nav.active{transform:translate(0)}.mobile-nav a{color:var(--color-text-primary);text-decoration:none;font-size:1.5rem;transition:color .3s}.mobile-nav a:hover:not(.cta-button){color:var(--color-lime)}.content-section{padding:4rem 5%;max-width:1200px;margin:0 auto;opacity:0;transform:translateY(30px);transition:opacity 1.2s ease-out,transform 1.2s ease-out}.content-section.fade-in{opacity:1;transform:translateY(0)}.hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:6rem 5%}.hero-content{display:flex;align-items:center;gap:3rem;width:100%;max-width:1200px}.hero-text{flex:1}.hero-image{flex:1;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.hero-image img{max-width:100%;width:100%;height:auto;border-radius:8px;transition:transform .3s,box-shadow .3s;display:block}.hero-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,var(--color-dark-bg) 0%,rgba(26,26,26,.95) 15%,rgba(26,26,26,.7) 30%,rgba(26,26,26,.3) 50%,rgba(26,26,26,.1) 70%,transparent 100%);pointer-events:none}.hero-image img:hover{transform:translateY(-5px)}.hero-section h1{font-size:3rem;margin-bottom:1.5rem}.hero-section p{color:var(--color-text-secondary);margin-bottom:2rem}.skills-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:2rem}.skill-tag{background-color:var(--color-lime);color:var(--color-dark-bg);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700;white-space:nowrap}.projects-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{background-color:var(--color-dark-card);padding:1.5rem;border-radius:8px;border-left:3px solid transparent;transition:border-left .3s,transform .3s}.project-card:hover{border-left:3px solid var(--color-lime);transform:translateY(-5px)}.lime-link{color:var(--color-lime);text-decoration:none;font-weight:700;transition:color .3s}.lime-link:hover{color:var(--color-text-primary)}.timeline-container{position:relative;padding-left:3rem;margin-top:2rem;border-left:solid 3px var(--color-lime)}.timeline-line{position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-lime)}.timeline-item{position:relative;margin-bottom:3rem;padding-left:2rem}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:0;top:0;width:2rem;height:2rem;background-color:var(--color-lime);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-dark-bg);font-weight:700;font-size:.875rem;z-index:1;transform:translate(-200%)}.timeline-card{background-color:var(--color-dark-card);padding:1.5rem;border-radius:8px;position:relative}.timeline-card .job-title{color:var(--color-lime);font-size:1.125rem;font-weight:700;margin-bottom:.25rem}.timeline-card .company-name{color:var(--color-lime);font-size:1rem;font-weight:600;margin-bottom:.5rem}.timeline-card .duration{color:var(--color-text-primary);font-size:.875rem;text-align:right;margin-bottom:1rem}.timeline-card .description{color:var(--color-text-primary);font-size:.875rem;line-height:1.6;text-align:justify}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding:1rem;margin-bottom:1rem;background-color:var(--color-dark-card);border:1px solid var(--color-text-secondary);color:var(--color-text-primary);border-radius:4px;font-family:var(--font-mono)}.contact-form textarea{resize:vertical}.contact-form button.cta-button{width:100%}footer{text-align:center;padding:1.5rem;background-color:var(--color-dark-card);color:var(--color-text-secondary);border-top:1px solid var(--color-lime)}@media(max-width:768px){.content-section{padding:2rem 5%}h1{font-size:2rem}h2{font-size:1.5rem}.desktop-nav{display:none}.hamburger{display:block}.mobile-nav{display:flex}.hero-content{flex-direction:column;gap:2rem}.hero-image{order:-1}.hero-section h1{font-size:2.5rem}.large-button{width:100%;text-align:center}.text-right,.text-center{text-align:left}}
