@import url("https://fonts.googleapis.com/css2?family=Mandali:wght@400&family=JetBrains+Mono:wght@400;600;700&display=swap");*,:after,:before{box-sizing:border-box}:root{--ff-primary:"Mandali",sans-serif;--ff-secondary:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fw-reg:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--clr-light:#f8edf7;--clr-dark:#592361;--clr-secondary:#6b2c70;--clr-neutral:#b8a5c0;--clr-accent:#e91e63;--clr-dusty-rose:#e8a87c;--clr-sage-green:#9cc5a1;--clr-muted-gold:#c5b98d;--fs-h1:3rem;--fs-h2:2.25rem;--fs-h3:1.1rem;--fs-body:1rem;--radius:24px;--radius-sm:16px;--radius-lg:32px;--bs:0 10px 30px rgba(89,35,97,.15),0 2px 6px rgba(89,35,97,.1)}@media(min-width:800px){:root{--fs-h1:4.5rem;--fs-h2:3rem;--fs-h3:1.25rem;--fs-body:1.125rem}}html{scroll-behavior:smooth}body{margin:0;background:var(--clr-dark);color:var(--clr-light);font-family:var(--ff-primary);font-size:var(--fs-body);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:none}img{display:block;max-width:100%}section{padding:3.5em 1em}.header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:.1em 1em;background:rgba(89,35,97,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header.scrolled{box-shadow:0 6px 20px rgba(2,6,23,.06)}.nav{position:absolute;right:1em;top:calc(100% + .5rem);background:var(--clr-dark);color:#fff;border:1px solid rgba(226,232,240,.1);border-radius:10px;padding:.5rem;display:none;min-width:220px;box-shadow:var(--bs)}.nav.open{display:block}.navList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.navLink{color:inherit;text-decoration:none;font-weight:600;font-size:.95rem;padding:.5rem .75rem;border-radius:6px}.navLink:hover{background:hsla(0,0%,100%,.1)}.navLink.active{color:var(--clr-accent)}.menuBtn{background:transparent;border:0;cursor:pointer;padding:.5rem;position:relative;z-index:100}.logo{max-width:80px;display:flex}.nav-desktop{display:none}.social-icons{display:none;align-items:center;gap:1rem;position:relative;z-index:100}.social-icons a{color:#fff;font-size:1.2rem;transition:color .3s ease}.social-icons a:hover{color:var(--clr-accent)}.social-icons-mobile{display:flex;justify-content:center;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(226,232,240,.1)}.social-icons-mobile a{color:#fff;font-size:1.2rem}@media(min-width:800px){.nav-desktop{display:block;background:transparent;border:0;padding:0;box-shadow:none;min-width:auto}.navList{flex-direction:row;gap:1rem}.menuBtn{display:none}.social-icons{display:flex}.social-icons-mobile{display:none}}.hamburger{display:inline-block;position:relative;width:28px}.hamburger,.hamburger:after,.hamburger:before{height:3px;background:var(--clr-accent);border-radius:2px}.hamburger:after,.hamburger:before{content:"";position:absolute;left:0;right:0}.hamburger:before{top:-7px}.hamburger:after{bottom:-7px}h1,h2,h3{line-height:1;margin:0}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}.sectionTitle{margin-bottom:.25em;font-weight:var(--fw-semibold);position:relative;text-align:center}.sectionTitle:before{content:"/";color:var(--clr-accent);margin-right:.5em;font-weight:300}.sectionSub{margin:0;font-size:var(--fs-h3);font-weight:var(--fw-reg)}.pill{display:inline-block;background:rgba(233,30,99,.1);color:var(--clr-accent);padding:.5em 1em;border-radius:999px;font-family:var(--ff-secondary);margin-bottom:1.25em}.container{padding:0 1rem}section{padding:5em 1em}.pill--rose{background:hsla(24,70%,70%,.1);color:var(--clr-dusty-rose)}.pill--green{background:rgba(156,197,161,.1);color:var(--clr-sage-green)}.pill--gold{background:hsla(47,33%,66%,.1);color:var(--clr-muted-gold)}.btn{display:inline-block;padding:.75em 2.5em;background:var(--clr-accent);color:var(--clr-light);text-decoration:none;border-radius:var(--radius);font-weight:var(--fw-medium);letter-spacing:.5px;box-shadow:var(--bs);transition:all .3s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(233,30,99,.3);background:#f73378}.btnOutline{background:transparent;color:var(--clr-accent);border:2px solid var(--clr-accent);border-radius:var(--radius);transition:all .3s ease}.btnOutline:hover{background:var(--clr-accent);color:#fff}.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.about-content{color:var(--clr-light)}.about-content p{color:var(--clr-muted)}.navLink,.portfolio__item,.service,.social-icons a{transition:all .3s ease}.service:hover{background:rgba(233,30,99,.1);transform:translateY(-5px)}.service h3{color:var(--clr-light)}.service p{color:var(--clr-neutral)}.container{max-width:1100px;margin:0 auto;padding:0 .25rem}.services{display:grid;grid-gap:1.5rem;gap:1.5rem}.service{max-width:420px;margin:0 auto;background:rgba(248,237,247,.06);border:1px solid rgba(248,237,247,.08);border-radius:var(--radius);padding:1.5em}@media(min-width:800px){.services{grid-template-columns:repeat(3,1fr);max-width:1100px;margin-inline:auto}}.myServices{background:var(--clr-secondary)}.myServices,.myWork{color:var(--clr-light);text-align:center}.myWork{background:transparent}.portfolio__item{background:rgba(248,237,247,.08);overflow:hidden;border-radius:var(--radius);transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(248,237,247,.1);padding:1.5rem;text-decoration:none;color:inherit}.portfolio__item:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(89,35,97,.3);background:rgba(248,237,247,.15)}.footer{background:var(--clr-dark);color:var(--clr-neutral);text-align:center;padding:.5em 0;border-top:1px solid rgba(226,232,240,.1)}.footer p{max-width:1100px;margin:0 auto;padding:0 1rem}.footer a{color:var(--clr-accent);text-decoration:none}.reveal{opacity:0;transform:translateY(14px)}.reveal.visible{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}section{padding:5rem 1rem}@media(min-width:800px){section{padding:6rem 1rem}}.project-card{background:rgba(248,237,247,.08);border:1px solid rgba(248,237,247,.1);border-radius:var(--radius);padding:2rem;transition:all .3s ease;height:100%;display:flex;flex-direction:column;text-align:center}.project-card:hover{transform:translateY(-5px);background:rgba(248,237,247,.15);box-shadow:0 20px 40px rgba(89,35,97,.3)}.project-card h3{color:var(--clr-light);margin:0 0 1rem;font-size:1.5rem}.project-card p{color:var(--clr-muted);line-height:1.6;margin:0 0 1.5rem;flex-grow:1}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.project-tech span{background:rgba(233,30,99,.15);color:var(--clr-accent);padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--ff-secondary)}@media (max-width:768px){.project-card{padding:1.5rem}.project-card h3{font-size:1.25rem}.project-tech span{font-size:.75rem;padding:.2rem .5rem}}#contact{text-align:center}#contact .sectionTitle{margin-bottom:1rem}#contact p{color:var(--clr-neutral);max-width:600px;margin:0 auto 2rem}#contact .btn{margin:0 .75rem}#contact .btn:first-child{margin-left:0}#contact .btn:last-child{margin-right:0}.experience-container{display:grid;grid-template-columns:200px 1fr;grid-gap:3rem;gap:3rem;max-width:800px;margin:2rem auto 0}.experience-tabs{display:flex;flex-direction:column;gap:.5rem}.experience-tab{background:transparent;color:var(--clr-neutral);font-size:.9rem;text-align:right;padding:1rem 1.5rem 1rem 0;cursor:pointer;transition:all .3s ease;font-family:var(--ff-primary);border:none;border-right:2px solid transparent}.experience-tab.active,.experience-tab:hover{color:var(--clr-accent);border-right-color:var(--clr-accent)}.experience-content{position:relative;min-height:300px;overflow:hidden}.experience-item{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateX(30px);transition:all .6s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:1}.experience-item.active{opacity:1;transform:translateX(0);pointer-events:auto;z-index:2}.experience-item.exiting{opacity:0;transform:translateX(-30px);z-index:0}.experience-item h3{color:var(--clr-light);margin:0 0 .5rem}.experience-item .date{color:var(--clr-neutral);font-size:.9rem;margin:0 0 1rem}.experience-item .description{color:var(--clr-neutral);line-height:1.6}.experience-item .description p{margin-bottom:.75rem}@media (max-width:768px){.experience-container{grid-template-columns:1fr;gap:2rem}.experience-tabs{flex-direction:row;justify-content:center;flex-wrap:wrap}.experience-tab{text-align:center;border-right:none;border-bottom:2px solid transparent;padding:.75rem 1rem}.experience-tab.active,.experience-tab:hover{border-right-color:transparent;border-bottom-color:var(--clr-accent)}}.about-layout{display:grid;grid-template-columns:1fr 300px;grid-gap:3rem;gap:3rem;align-items:start;margin-top:2rem}.about-image{grid-column:2;grid-row:1}.about-content{grid-column:1;grid-row:1}@media (max-width:768px){.about-layout{grid-template-columns:1fr;gap:2rem;text-align:center}.about-image{grid-column:1;grid-row:1;justify-self:center;max-width:250px}.about-content{grid-column:1;grid-row:2}}.tech-compact{display:flex;flex-direction:column;gap:1rem}.tech-row{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.tech-label{color:var(--clr-accent);font-weight:600;font-size:.95rem;min-width:100px;flex-shrink:0;margin-top:.25rem}.tech-items{flex-wrap:wrap;gap:1rem;flex:1 1}.tech-items,.tech-items span{display:flex;align-items:center}.tech-items span{color:var(--clr-neutral);font-size:.9rem;padding:.25rem .5rem;background:rgba(248,237,247,.05);border-radius:6px;transition:all .3s ease}.tech-items span:hover{background:rgba(233,30,99,.1);color:var(--clr-accent)}.tech-items span i{margin-right:.5rem;font-size:1rem}@media (max-width:768px){:root{--fs-h1:2.5rem;--fs-h2:1.75rem;--fs-h3:1rem;--fs-body:0.95rem}.container{padding:0 1rem}section{padding:3rem 1rem}.tech-row{flex-direction:column;align-items:flex-start;gap:.5rem}.tech-label{min-width:auto;margin-bottom:.25rem}.tech-items{gap:.75rem}.tech-items span{font-size:.85rem;padding:.2rem .4rem}.experience-container{grid-template-columns:1fr;gap:2rem}.experience-tabs{flex-direction:row;justify-content:center;flex-wrap:wrap}.experience-tab{text-align:center;border-right:none;border-bottom:2px solid transparent;padding:.75rem 1rem}.experience-tab.active,.experience-tab:hover{border-right-color:transparent;border-bottom-color:var(--clr-accent)}.about-layout{grid-template-columns:1fr;gap:2rem;text-align:center}.about-image{grid-column:1;grid-row:1;justify-self:center;max-width:250px}.about-content{grid-column:1;grid-row:2}}.fa-react{color:#61dafb}.fa-js-square{color:#f7df1e}.fa-html5{color:#e34f26}.fa-css3-alt{color:#1572b6}.fa-node-js{color:#393}.fa-python{color:#3776ab}.fa-docker{color:#2496ed}.fa-aws{color:#f90}.fa-git-alt{color:#f05032}.fa-figma{color:#f24e1e}.fa-database{color:#47a248}.fa-cogs{color:#6e5494}.fa-terminal{color:#fff}.fa-java{color:#007396}.fa-php{color:#777bb4}.fa-angular{color:#dd0031}.fa-vuejs{color:#4fc08d}.fa-svelte{color:#ff3e00}.fa-bootstrap{color:#7952b3}.fa-laravel{color:#ff2d20}.fa-symfony{color:#000}.fa-magento{color:#f46f25}.fa-wordpress{color:#21759b}.fa-drupal{color:#0678be}.fa-joomla{color:#5091cd}.fa-elementor{color:#92003b}.fa-google{color:#4285f4}.fa-microsoft{color:#00a4ef}.fa-heroku{color:#430098}.fa-jenkins{color:#d24939}.fa-gitlab{color:#fca121}.fa-github{color:#181717}.fa-jira{color:#0052cc}.fa-trello{color:#0079bf}.fa-asana{color:#89278f}.fa-adobe{color:red}.fa-sketch{color:#f7b500}.fa-linux{color:#fcc624}.fa-windows{color:#0078d6}.fa-apple{color:#000}.tech-subcategory{margin-top:1.5rem}.tech-subcategory:first-child{margin-top:0}.tech-subcategory h4{color:var(--clr-light);font-size:1rem;margin-bottom:.75rem;font-weight:var(--fw-semibold)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:3rem}.cert-card{background:rgba(248,237,247,.08);border:1px solid rgba(248,237,247,.1);border-radius:var(--radius);padding:1.5rem;transition:all .3s ease}.cert-card:hover{transform:translateY(-5px);background:rgba(248,237,247,.15);box-shadow:0 20px 40px rgba(89,35,97,.3)}.cert-card h4{color:var(--clr-light);margin:0 0 .5rem;font-size:1.2rem}.cert-card p{color:var(--clr-neutral);font-size:.9rem;margin:0}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:3rem}.achievement-card{background:rgba(248,237,247,.08);border:1px solid rgba(248,237,247,.1);border-radius:var(--radius);padding:2rem;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.achievement-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(233,30,99,.1),transparent);transition:left .5s ease}.achievement-card:hover:before{left:100%}.achievement-card:hover{transform:translateY(-8px) scale(1.02);background:rgba(248,237,247,.2);box-shadow:0 25px 50px rgba(89,35,97,.4);border-color:rgba(233,30,99,.3)}.achievement-icon{font-size:3rem;color:var(--clr-accent);margin-bottom:1.5rem;transition:all .3s ease}.achievement-card:hover .achievement-icon{transform:scale(1.1) rotate(5deg);color:#f73378}.achievement-card h3{color:var(--clr-light);margin:0 0 1rem;font-size:1.5rem}.achievement-card p{color:var(--clr-neutral);line-height:1.6;margin:0}.custom-cursor{width:20px;height:20px;border:2px solid var(--clr-accent);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:all .15s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translate(-50%,-50%) scale(.8)}.custom-cursor.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.custom-cursor.pointer{width:40px;height:40px;background-color:rgba(233,30,99,.2);border:2px solid transparent;transform:translate(-50%,-50%) scale(1.2)}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .8s ease-out forwards}.animate-slide-up{animation:slide-up 1s ease-out forwards}.opacity-0{opacity:0}.cursor-trail{width:8px;height:8px;background:var(--clr-accent);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transition:all .3s ease-out;animation:trailFade .8s ease-out forwards}@keyframes trailFade{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.3)}}.masonry-grid{column-count:3;column-gap:1rem}.masonry-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:1rem;border-radius:var(--radius-sm);overflow:hidden;background:hsla(0,0%,100%,.05);position:relative}.masonry-item img{width:100%;height:auto;display:block}@media (max-width:800px){.masonry-grid{column-count:2}}@media (max-width:500px){.masonry-grid{column-count:1}}.masonry-caption{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);color:#fff;padding:.5rem;font-size:.9rem;text-transform:capitalize;opacity:0;transition:opacity .3s ease;text-align:center}.masonry-item:hover .masonry-caption{opacity:1}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);z-index:10000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.lightbox-content{position:relative;max-width:90vw;max-height:90vh}.lightbox-caption{color:#fff;text-align:center;margin-top:1rem;font-size:1.2rem;text-transform:capitalize;font-family:var(--ff-secondary)}.lightbox-close{position:absolute;top:-40px;right:-40px;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:.5rem;line-height:1}.lightbox-close:hover{color:var(--clr-accent)}.masonry-item{transition:transform .3s ease,box-shadow .3s ease,filter .3s ease}.masonry-item:hover{transform:scale(1.03);box-shadow:0 10px 20px rgba(0,0,0,.3);z-index:10;filter:brightness(1.1)}body{background:radial-gradient(circle at 50% 50%,#592361 0,#2a102e 100%);background-attachment:fixed}.about-image{transition:transform .5s ease,box-shadow .5s ease}.about-image:hover{transform:scale(1.02) rotate(2deg);box-shadow:0 20px 40px rgba(233,30,99,.2)}.contact-card{background:hsla(0,0%,100%,.05);padding:2rem;border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);transition:transform .3s ease;display:inline-block;margin:1rem}.contact-card:hover{transform:translateY(-5px);border-color:var(--clr-accent)}.special-nav-btn{color:var(--clr-accent)!important;text-shadow:0 0 5px rgba(233,30,99,.3);border:1px solid rgba(233,30,99,.3);border-radius:20px;padding:.15rem .6rem;box-shadow:0 0 5px rgba(233,30,99,.1);animation:pulse-glow 2s ease-in-out infinite;font-weight:600;font-size:.9rem}.special-nav-btn:hover{animation:pulse-glow-hover 1s ease-in-out infinite;transform:translateY(-1px);background:rgba(233,30,99,.05)}@keyframes pulse-glow{0%,to{text-shadow:0 0 5px rgba(233,30,99,.3);box-shadow:0 0 5px rgba(233,30,99,.1),inset 0 0 2px rgba(233,30,99,.05);border-color:rgba(233,30,99,.3)}50%{text-shadow:0 0 10px rgba(233,30,99,.6);box-shadow:0 0 10px rgba(233,30,99,.3),inset 0 0 5px rgba(233,30,99,.1);border-color:rgba(233,30,99,.6)}}@keyframes pulse-glow-hover{0%,to{text-shadow:0 0 8px rgba(233,30,99,.5);box-shadow:0 0 8px rgba(233,30,99,.2),inset 0 0 4px rgba(233,30,99,.1);border-color:rgba(233,30,99,.5)}50%{text-shadow:0 0 15px rgba(233,30,99,.8);box-shadow:0 0 15px rgba(233,30,99,.5),inset 0 0 8px rgba(233,30,99,.2);border-color:rgba(233,30,99,.8)}}