*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}body{color:#e0e0e0;font-family:monospace;line-height:1.6}nav{align-items:center;background:#0c0c0c;flex-direction:column;position:fixed;top:0;width:100vw;z-index:2000}.nav-content,nav{display:flex;justify-content:space-between}.nav-content{align-content:center;flex-direction:row;padding:1rem 2rem 1rem 1.6rem;width:100%}.logo{color:#50ff50;font-size:1.1rem;font-weight:700;height:1.1rem;text-align:center}.nav-left{align-content:center}.nav-right{display:flex;gap:30px;justify-content:flex-end;list-style:none}.nav-right a{color:#e0e0e0;font-size:1.1rem;text-decoration:none}.nav-right a:hover{color:#50ff50}.nav-right li a{color:#50ff50;font-weight:500;padding-bottom:4px;position:relative;text-decoration:none}.nav-right li a,.nav-right li a:after{transition:width .3s ease,text-shadow .3s ease}.nav-right li a:after{background-color:#50ff50;bottom:0;content:"";height:2px;left:0;position:absolute;width:0}.nav-right li a.active,.nav-right li a:focus,.nav-right li a:hover{text-shadow:0 0 4px #50ff50,0 0 8px #50ff50}.nav-right li a.active:after,.nav-right li a:focus:after,.nav-right li a:hover:after{width:100%}#navbar-divider{background:#50ff50;height:2px;width:100%}.menu-toggle{background:none;border:none;color:#50ff50;cursor:pointer;display:none;flex-direction:column;font-size:1.5rem;height:40px;justify-content:space-between;width:60px}.menu-toggle .bar{background-color:#50ff50;border-radius:4px;height:4px;transform-origin:center;transition:all .4s cubic-bezier(.68,-.6,.32,1.6);width:60px}@media (max-width:1150px){.menu-toggle,.nav-right{display:flex}.nav-right{background:#0c0c0c;border-bottom:#50ff50;flex-direction:column;gap:20px;max-height:0;opacity:0;overflow:hidden;padding:15px;pointer-events:none;position:absolute;right:0;text-align:center;top:100%;transition:max-height .4s ease-in-out,opacity .3s ease-in-out,visibility .4s;visibility:hidden;width:100%;z-index:1000}.nav-right li{padding:0}.nav-content .nav-right.active{border-bottom:2px solid rgba(80,255,80,.4);box-shadow:0 4px 10px rgba(80,255,80,.1);max-height:500px;opacity:1;pointer-events:auto;transition:max-height .4s ease-in-out,opacity .3s ease-in-out,visibility 0s;visibility:visible}.menu-toggle.active .bar:first-child{transform:translateY(18px) rotate(45deg)}.menu-toggle.active .bar:nth-child(2){opacity:0;transform:translateX(40px)}.menu-toggle.active .bar:nth-child(3){transform:translateY(-18px) rotate(-45deg)}}#hero{align-items:center;background-image:url(../imgs/websitebackground.webp);background-position:70% 60%;background-size:cover;display:flex;justify-content:left;max-width:100vw!important;min-height:100vh;overflow:hidden;padding:60px 20px 40px 5%;position:relative;text-align:center}#hero:before{background:rgba(0,0,0,.65);content:"";inset:0;position:absolute;z-index:0}#hero>*{position:relative;z-index:1}.hero-content{max-width:700px;padding:15px}.hero-title{color:#50ff50;font-size:3rem;margin-bottom:10px;text-align:left}.hero-role{font-size:1.5rem;margin-bottom:12px}.hero-role,.hero-tagline{color:#fff;text-align:left}.hero-tagline{font-size:1.2rem;margin-bottom:24px;opacity:.95}.hero-buttons{display:flex;gap:16px;justify-content:left}.btn.primary{background-color:#000;border:2px solid #50ff50;border-radius:6px;color:#50ff50;font-size:1rem;padding:12px 24px;text-decoration:none;transition:background-color .4s,color .4s}.btn.primary:hover{background-color:#50ff50;color:#000}.btn.secondary{border:2px solid #8aff8a;border-radius:6px;color:#8aff8a;opacity:.8;padding:12px 24px;text-decoration:none}.btn.secondary:hover{background:#8aff8a;color:#101010;opacity:1}.section-divider{background:linear-gradient(90deg,#0b0b2a,#50ff50,#0b0b2a);box-shadow:0 0 8px rgba(80,255,80,.8),0 0 20px rgba(80,255,80,.4);height:2px;width:100%}main{animation:bg 32s ease-in-out infinite;background:linear-gradient(120deg,#3e3eff,#0b0b2a,#00ff50);background-size:400% 400%;min-height:100vh;padding:40px 0 0}main:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2' type='fractalNoise'/%3E%3C/filter%3E%3Cpath d='M0 0h120v120H0z' filter='url(%23a)' opacity='.025'/%3E%3C/svg%3E");content:"";inset:0;pointer-events:none;position:absolute;z-index:0}@keyframes bg{0%{background-position:56% 45%}50%{background-position:61% 50%}to{background-position:56% 45%}}main>*{position:relative;z-index:1}section{margin:0 auto;max-width:900px;padding:0 0 45px;scroll-margin-top:90px}section h2{border-bottom:1px solid rgba(80,255,80,.25);color:#50ff50;font-size:1.2rem;margin-bottom:20px;padding-bottom:8px;text-transform:lowercase}#about{padding-bottom:20px}#about #about-text{max-width:700px}.about-text{font-size:1rem;padding-bottom:1.5rem}#certificates h2{margin-bottom:30px;text-align:left}.cert-list{display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));justify-items:center}.cert-item{background:hsla(0,0%,6%,.85);border-radius:12px;box-shadow:0 4px 8px rgba(0,0,0,.1);justify-items:center;padding:20px;transition:transform .2s ease}.cert-item:hover{transform:translateY(-5px)}.cert-icon{align-self:center;display:flex;height:120px;width:120px}.cert-icon,.modal-image{border-radius:50%;object-fit:cover}.modal-image{display:none}.cert-info h3{color:#50ff50;font-size:1.2em;margin:5px 0;min-height:50px;text-align:center}.cert-info p,.cert-info ul{color:#fff;font-size:.95em;margin:0}.cert-info ul{list-style-type:disc;padding-left:20px}.in-progress h3{color:#3e3eff}.cert-verify-link{color:#00ff50;display:flex;justify-self:center;padding-top:1rem;position:relative}@media (min-width:769px){.cert-verify-link:hover{color:#00ff50}.cert-verify-link:after{background-color:#50ff50;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease,text-shadow .3s ease;width:0}.cert-verify-link.active,.cert-verify-link:focus,.cert-verify-link:hover{text-shadow:0 0 4px #50ff50,0 0 8px #50ff50}.cert-verify-link.active:after,.cert-verify-link:focus:after,.cert-verify-link:hover:after{width:100%}}.card-grid{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}.card{background:hsla(0,0%,6%,.85);border:1px solid rgba(80,255,80,.15);border-radius:10px;padding:1.5rem;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card:hover{border-color:#50ff50;box-shadow:0 10px 30px rgba(80,255,80,.15);transform:translateY(-6px)}.card header h3{font-size:1.1rem;margin:0}.card .meta{display:block;font-size:.85rem;margin-top:.25rem;opacity:.7}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tags span{border:1px solid rgba(80,255,80,.3);border-radius:999px;color:#50ff50;font-size:.75rem;padding:.25rem .5rem}.card-link{color:#50ff50;display:inline-block;font-size:.9rem;margin-top:1rem;text-decoration:none}.card-link:hover{text-decoration:underline}.skills-grid{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:30px}.skills-grid ul{list-style:none}.skills-grid li:before{color:#50ff50;content:"> "}.skills-title{color:#ccc;font-size:1.2rem;margin-bottom:10px}.skills-items{font-size:1rem}.projects-grid{align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));overflow:visible}.project-card{border:1px solid rgba(80,255,80,.15);cursor:pointer;overflow:visible;padding:0;transition:transform .45s ease .15s,box-shadow .45s ease .15s,border-color .3s ease,opacity .5s ease-in-out}.card-inner,.project-card{background:hsla(0,0%,6%,.85);border-radius:10px;position:relative}.card-inner{padding:1.25rem;transform-origin:center;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease;will-change:transform}.project-card .details{background:hsla(0,0%,4%,.95);border:2px solid rgba(80,255,80,.75);border-radius:10px;left:0;margin-top:.5rem;opacity:1;pointer-events:none;position:absolute;right:0;top:0;transform:translateY(-10px);transition:opacity .1s ease,transform .1s ease;z-index:200}.project-card:hover .card-inner{border-color:#50ff50;box-shadow:0 10px 30px rgba(80,255,80,.15);transform:scale(1.08) translateY(-6px);z-index:10}.projects-grid:hover .project-card:not(:hover){opacity:.9}.project-card:hover .details{opacity:1;pointer-events:auto;transform:translateY(0)}.details-title-summary{padding:1rem 1rem 0}.details-list{padding:.9rem .9rem .9rem 1.6rem}.tags{padding:0}.project{margin-bottom:30px}.project h3{color:#fff;margin-bottom:8px}.project p{color:#ccc}.project-card-grid-test{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card-test{aspect-ratio:32/21;background:hsla(0,0%,8%,.95);border:1px solid rgba(80,255,80,.15);border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.project-card-test img{display:block;height:100%;object-fit:cover;transition:transform .4s ease,filter .4s ease;width:100%}.project-card-content-test{align-items:center;background:rgba(0,0,0,.85);display:flex;flex-direction:column;gap:.75rem;inset:0;justify-content:center;opacity:0;padding:1.5rem;position:absolute;text-align:center;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.project-card-test:hover img{filter:brightness(.6) blur(1px);transform:scale(1.05)}.project-card-test:hover .project-card-content-test{opacity:1;transform:translateY(0)}.project-card-test:hover{border-color:#50ff50;box-shadow:0 12px 30px rgba(80,255,80,.2);box-shadow:0 10px 25px rgba(80,255,80,.15);transform:translateY(-8px)}.project-summary-test{font-size:.95rem;opacity:.85}.project-tags-test{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.project-tags-test span{background:rgba(80,255,80,.1);border-radius:999px;color:#50ff50;font-size:.75rem;padding:.3rem .6rem}.project-links-test{display:flex;font-size:.9rem;gap:.75rem;margin-top:auto}.project-links-test a{border-bottom:1px solid transparent;color:#50ff50;text-decoration:none;transition:border-color .2s ease}.project-links-test a:hover{border-color:#50ff50}.project-card-content-test>*{opacity:.9;transition:opacity .3s ease}.project-card-test:hover .project-card-content-test>*{opacity:1}.terminal-window{background:#0b0b0b;border:1px solid #222;font-size:.9rem;min-height:300px;padding:20px}#contact p{color:#ccc}#contact form{margin-top:20px;max-width:100%}#contact label{display:block;margin-bottom:15px}#contact span{color:#50ff50;display:block;margin-bottom:5px}#contact input,#contact textarea{background:#000;border:1px solid #50ff50;color:#50ff50;font-family:monospace;padding:8px;width:100%}#contact button{background:none;border:1px solid #50ff50;color:#50ff50;cursor:pointer;padding:8px 16px}#contact button:hover{background:#50ff50;color:#000}.contact-socials{display:flex;gap:32px;justify-content:center;margin-top:40px}.contact-socials a{color:#50ff50;height:36px;transition:transform .25s ease,filter .25s ease;width:36px}.contact-socials svg{height:100%;width:100%;fill:currentColor}.contact-socials a:hover{filter:drop-shadow(0 0 6px rgba(80,255,80,.6));transform:translateY(-4px) scale(1.1)}footer{border-top:1px solid rgba(80,255,80,.1);color:#666;font-size:.8rem;padding:20px;text-align:center}@media (max-width:1150px){.project-card-grid-test{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(60vw,1fr))}section{max-width:100%;padding:0 50px 40px}.card-grid{grid-template-columns:1fr}}@media (max-width:1000px){#hero:before{background:rgba(0,0,0,.8)}.hero-content{max-width:530px;padding:15px}.hero-title{color:#50ff50;font-size:2.5rem;margin-bottom:8px}.hero-role{color:#fff;font-size:1.35rem;margin-bottom:10px}.hero-tagline{font-size:1.1rem;margin-bottom:18px}.btn.primary{border-radius:6px;font-size:.9rem;padding:10px 20px;width:60%}}@media (max-width:768px){#hero{background-position:89% 60%}.hero-title{font-size:2.2rem}.hero-role{font-size:1.2rem}.hero-buttons{flex-direction:column;width:100%}.btn.primary,.btn.secondary{align-self:center;text-align:center;width:90%}#hero{justify-content:center;padding-left:20px;padding-right:20px}#hero,.hero-role,.hero-tagline,.hero-title{text-align:center}.card-grid,.projects-grid,.skills-grid{grid-template-columns:1fr}.skills-grid{align-items:center;gap:20px;justify-content:center}.skills-grid div{align-self:center;margin-left:auto;margin-right:auto;width:100%}.cert-list{grid-template-columns:1fr}section{max-width:100%;padding:0 30px 40px;scroll-margin-top:70px}main{padding-top:20px}.contact-socials{flex-wrap:wrap;gap:20px}}body,html{margin:0;overflow-x:hidden;padding:0;width:100%}@media (max-width:768px){#certificates:has(.modal-active){position:relative;z-index:100000}.cert-list{display:grid;gap:20px;grid-template-columns:repeat(3,1fr);justify-items:center}.cert-item{background:none;border:none;cursor:pointer;padding:0;transform:none!important;transition:none!important}.cert-info{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,4%,.98);box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:flex-start;left:0;opacity:0;overflow-y:auto;padding:60px 30px;position:fixed;text-align:center;top:0;transform:scale(.9);transition:opacity .3s ease,transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;visibility:hidden;width:100%;z-index:9999}.cert-item.modal-active .cert-info{opacity:1;transform:scale(1);visibility:visible}.cert-info h3,.cert-info p,.cert-info ul,.cert-verify-link,.modal-image{opacity:0;transform:translateY(20px);transition:all .4s ease}.cert-item.modal-active .cert-verify-link,.cert-item.modal-active .modal-image,.cert-item.modal-active h3,.cert-item.modal-active p,.cert-item.modal-active ul{opacity:1;transform:translateY(0)}.cert-item.modal-active .modal-image{display:block;height:auto;margin-bottom:20px;transition-delay:.1s;width:240px}.cert-item.modal-active h3{color:#50ff50;font-size:1.5rem;transition-delay:.2s}.cert-item.modal-active p{transition-delay:.25s}.cert-item.modal-active .cert-verify-link{font-size:1.1rem;margin-top:0;padding:16px 10% 7%;transition-delay:.3s}.cert-item.modal-active p{font-size:1.2rem;margin-top:16px}.cert-icon{filter:drop-shadow(0 0 5px rgba(80,255,80,.2));height:auto;width:27vw}.cert-item.modal-active .cert-info:before{color:#50ff50;content:"Tap anywhere to close";font-size:.8rem;margin-bottom:20px;opacity:.6}.skills-grid{display:flex;flex-direction:column;gap:10px}.skills-grid>div{border:1px solid rgba(80,255,80,.2);border-radius:8px;overflow:hidden;transition:all .3s ease}.skills-title{align-items:center;background:rgba(80,255,80,.05);cursor:pointer;display:flex;font-size:1.1rem;justify-content:space-between;margin:0;padding:15px}.skills-title:after{color:#50ff50;content:"+";font-weight:700;transition:transform .4s ease-in-out}.skills-grid ul{border-top:1px solid rgba(80,255,80,0);display:grid;grid-template-rows:0fr;list-style:none;margin:0;overflow:hidden;padding:0 30px;transition:grid-template-rows .5s ease-in-out;visibility:hidden}.skills-grid div.active ul{animation:slideDown 1s ease-out;border-top:1px solid rgba(80,255,80,.1);grid-template-rows:1fr;padding:10px 30px 20px;visibility:visible}.skills-grid ul>li{line-height:0;min-height:0;opacity:0;transition:all .5s ease-in-out;visibility:hidden}.skills-grid div.active ul li{line-height:1.5;opacity:1;visibility:visible}.skills-grid div.active .skills-title:after{color:#ff5050;transform:rotate(45deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){section{padding:3% 2% 1%}.nav-content{min-height:65px;padding:.8rem 1.6rem .8rem 1.3rem}.menu-toggle{height:36px;width:54px}.menu-toggle .bar{height:3px;width:54px}.menu-toggle.active .bar:first-child{transform:translateY(16.5px) rotate(45deg)}.menu-toggle.active .bar:nth-child(2){opacity:0;transform:translateX(30px)}.menu-toggle.active .bar:nth-child(3){transform:translateY(-16.5px) rotate(-45deg)}#about{padding-bottom:0}.about-text{font-size:.9rem;padding-bottom:1.1rem}.card{padding:.9rem .9rem .9rem 1.5rem}.tags{margin-top:.8rem}.cert-list{gap:10px}#certificates h2{margin-bottom:22px;text-align:left}}@media (max-width:530px){main{padding:4% 2% 2%}#hero{padding:1% 0}.hero-title{font-size:1.7rem}.hero-role{font-size:1rem}.hero-tagline{font-size:.85rem;margin-bottom:14px}.btn.primary{font-size:.8rem;padding:9px 18px;width:95%}.cert-list{gap:8px}.cert-info{padding:7% 3% 4%}.cert-item.modal-active .cert-info:before{font-size:.9rem;margin-bottom:6%;opacity:.7}.cert-item.modal-active .modal-image{margin-bottom:2%;width:70vw}.cert-item.modal-active h3{font-size:1.2rem}.cert-item.modal-active p{font-size:.9rem;margin-top:2%}.cert-item.modal-active .cert-verify-link{font-size:1rem;margin-top:0;padding:12px 10% 7%}}@media (max-width:440px){.about-text{font-size:.8rem;padding-bottom:1rem}#hero{padding:1% 0}.hero-title{font-size:1.5rem}.hero-role{font-size:.85rem}.hero-tagline{font-size:.7rem;margin-bottom:11px}.btn.primary{font-size:.75rem;padding:6px 16px;width:95%}.project-card-content-test{gap:.35rem;padding:.55rem}.project-card-content-test h3{font-size:.95rem;font-weight:700}.project-summary-test{font-size:.85rem}.project-tags-test span{font-size:.65rem;padding:.24rem .48rem}}@media (max-width:380px){.hero-title{font-size:1.38rem}.skills-title{font-size:1rem;padding:12px}.project-card-content-test{gap:.3rem;padding:.48rem}.project-card-content-test h3{font-size:.85rem;font-weight:700}.project-summary-test{font-size:.75rem}.project-tags-test span{font-size:.58rem;padding:.2rem .4rem}}@media (max-width:330px){.hero-title{font-size:1.25rem}}