
.projects-module__XivBYq__section2{z-index:0;width:100svw;max-width:100svw;padding-bottom:4rem;position:relative;overflow:hidden}.projects-module__XivBYq__section2:before{content:"";background:linear-gradient(var(--background) 0%, transparent 15%, transparent 85%, var(--background) 100%);z-index:3;pointer-events:none;width:100svw;height:100%;position:absolute;top:0;left:0}.projects-module__XivBYq__glowOrb1{filter:blur(80px);z-index:1;pointer-events:none;background:radial-gradient(circle,#8b5cf652 0%,#8b5cf614 50%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:10%;left:5%}.projects-module__XivBYq__glowOrb2{filter:blur(90px);z-index:1;pointer-events:none;background:radial-gradient(circle,#ec48993d 0%,#ec48990d 55%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;bottom:10%;right:8%}.projects-module__XivBYq__headerContainer{text-align:center;z-index:4;flex-direction:column;align-items:center;margin-bottom:1rem;display:flex}.projects-module__XivBYq__bgToggleContainer{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120e26a6;border:1px solid #ffffff14;border-radius:20px;width:fit-content;margin-top:1.25rem;padding:.2rem;display:flex;box-shadow:0 4px 12px #0000004d,inset 0 0 8px #ffffff03}.projects-module__XivBYq__toggleBtn{color:#94a3b8;letter-spacing:.02em;cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:15px;padding:.35rem .9rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1)}.projects-module__XivBYq__toggleBtn:hover{color:#fff}.projects-module__XivBYq__toggleActive{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);box-shadow:0 2px 8px #7c3aed66}.projects-module__XivBYq__overtitle{letter-spacing:.2em;color:#a78bfa;text-transform:uppercase;text-shadow:0 0 20px #a78bfa66;margin-bottom:.3rem;font-size:.72rem;font-weight:700}.projects-module__XivBYq__gradientTitle{background:linear-gradient(135deg,#fff 30%,#a5e8ff 70%,#b2a7fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.25rem;font-weight:800;line-height:1.2}.projects-module__XivBYq__subtitle{color:#fff;max-width:38rem;margin:0 auto;padding:0 1rem;font-size:.92rem;font-weight:400;line-height:1.5}.projects-module__XivBYq__gridWrapper{z-index:4;width:100%;position:relative}.projects-module__XivBYq__card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:5;background:#120e266b;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1),background-color .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -15px #000000b3}.projects-module__XivBYq__card:hover{background:#1d1638bf;border-color:#a78bfa73;transform:translateY(-8px)scale(1.015);box-shadow:0 25px 50px -20px #7c3aed59,0 0 0 1px #a78bfa4d,inset 0 0 15px #ffffff0d}.projects-module__XivBYq__imageFrame{background:#0000004d;border-bottom:1px solid #ffffff0d;padding:8px;overflow:hidden}.projects-module__XivBYq__imageContainer{aspect-ratio:1.6;background:#090613;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #000c}.projects-module__XivBYq__projectImage{object-fit:cover;opacity:.9;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s}.projects-module__XivBYq__card:hover .projects-module__XivBYq__projectImage{opacity:1;transform:scale(1.05)}.projects-module__XivBYq__cardContent{flex-direction:column;flex-grow:1;padding:1rem;display:flex}.projects-module__XivBYq__projectTitle{color:#fff;margin-bottom:.3rem;font-size:1.15rem;font-weight:700;transition:color .3s}.projects-module__XivBYq__card:hover .projects-module__XivBYq__projectTitle{color:#c084fc}.projects-module__XivBYq__projectSummary{color:#cbd5e1;flex-grow:1;margin-bottom:.8rem;font-size:.85rem;line-height:1.5}.projects-module__XivBYq__badgeContainer{flex-wrap:wrap;gap:5px;margin-bottom:1rem;display:flex}.projects-module__XivBYq__badge{color:#cbd5e1;background:#8b5cf614;border:1px solid #a78bfa26;border-radius:4px;padding:3px 8px;font-size:.65rem;font-weight:600;transition:all .3s}.projects-module__XivBYq__card:hover .projects-module__XivBYq__badge{color:#fff;background:#8b5cf61f;border-color:#a78bfa4d}.projects-module__XivBYq__cardFooter{color:#a78bfa;justify-content:flex-start;align-items:center;margin-top:auto;font-size:.8rem;font-weight:600;transition:all .3s;display:flex}.projects-module__XivBYq__arrowIcon{margin-left:6px;font-size:1.1rem;transition:transform .3s cubic-bezier(.16,1,.3,1)}.projects-module__XivBYq__card:hover .projects-module__XivBYq__cardFooter{color:#c084fc}.projects-module__XivBYq__card:hover .projects-module__XivBYq__arrowIcon{transform:translate(5px)}@media (max-width:768px){.projects-module__XivBYq__gradientTitle{font-size:2rem}.projects-module__XivBYq__subtitle{font-size:.95rem}.projects-module__XivBYq__cardContent{padding:1.25rem}.projects-module__XivBYq__projectTitle{font-size:1.2rem}.projects-module__XivBYq__projectSummary{font-size:.88rem}}
.dialogBackdrop{opacity:1;transition:opacity .4s;-webkit-backdrop-filter:blur(18px)!important;background:#080610bf!important}.dialogBody{z-index:10;flex-direction:column;width:92%;max-width:72rem;height:88svh;margin:1.5rem;transition:all .4s cubic-bezier(.16,1,.3,1);animation:.5s cubic-bezier(.16,1,.3,1) forwards modalReveal;display:flex;overflow:hidden;-webkit-backdrop-filter:blur(25px)!important;backdrop-filter:blur(25px)!important;background:#120e22d9!important;border:1px solid #a78bfa26!important;border-radius:12px!important;box-shadow:0 30px 70px #000c,0 0 100px #7c3aed26,inset 0 0 20px #ffffff05!important}@keyframes modalReveal{0%{opacity:0;transform:scale(.96)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialogHeader{z-index:12;justify-content:flex-end;align-items:center;width:100%;padding:1.25rem 1.5rem .5rem;display:flex}.closeIcon{cursor:pointer;color:#fff9;font-size:2.25rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.closeIcon:hover{color:#ef4444;filter:drop-shadow(0 0 8px #ef444480);transform:rotate(90deg)scale(1.1)}.dialogScrollArea{flex-grow:1;padding:0 2rem 2.5rem;overflow-y:auto}.dialogScrollArea::-webkit-scrollbar{width:8px}.dialogScrollArea::-webkit-scrollbar-track{background:#0003;border-radius:4px}.dialogScrollArea::-webkit-scrollbar-thumb{background:#a78bfa40;border:2px solid #120e22d9;border-radius:4px}.dialogScrollArea::-webkit-scrollbar-thumb:hover{background:#a78bfa73}.dialogGrid{grid-template-columns:1.1fr 1.3fr;align-items:start;gap:2.5rem;display:grid}.dialogLeftCol{flex-direction:column;gap:1.75rem;display:flex;position:sticky;top:0}.dialogImageFrame{background:#0006;border:1px solid #ffffff0d;border-radius:6px;padding:10px;box-shadow:inset 0 0 20px #0009}.dialogImageContainer{aspect-ratio:1.6;background:#000;border-radius:4px;position:relative;overflow:hidden}.dialogImage{object-fit:cover;width:100%;height:100%}.dialogRightCol{color:#e2e8f0;flex-direction:column;gap:2rem;display:flex}.dialogTitle{background:linear-gradient(135deg,#fff 40%,#c084fc 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.25rem;font-weight:800}.sectionTitle{text-transform:uppercase;letter-spacing:.08em;color:#a78bfa;border-bottom:1px solid #a78bfa26;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1.15rem;font-weight:700;display:flex}.descriptionSection p,.contributionsSection p{color:#cbd5e1;margin-bottom:1rem;font-size:.95rem;line-height:1.7}.descriptionSection strong,.contributionsSection strong{color:#fff;font-weight:600}.dialogTechSection{background:#8b5cf60a;border:1px solid #a78bfa1f;border-radius:6px;padding:1.25rem}.techLabel{text-transform:uppercase;letter-spacing:.05em;color:#c084fc;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.techPills{flex-wrap:wrap;gap:8px;display:flex}.techPill{color:#e2e8f0;background:#8b5cf614;border:1px solid #a78bfa33;border-radius:4px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .3s}.techPill:hover{color:#fff;background:#8b5cf626;border-color:#a78bfa66;transform:translateY(-2px)}.actionsContainer{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;display:flex}.launchButton{letter-spacing:.02em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:.8rem 2rem;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 15px #7c3aed4d,inset 0 1px #fff3}.launchButton:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed73,0 0 15px #a78bfa4d}.launchButton:active:not(:disabled){transform:translateY(0)}.launchButton:disabled{color:#ffffff4d;box-shadow:none;cursor:not-allowed;background:#2d264680;border:1px solid #ffffff0d}.disclaimerText{text-align:center;color:#94a3b8;padding:.5rem 1rem 0;font-size:.8rem;line-height:1.4}@media (max-width:1024px){.dialogGrid{grid-template-columns:1fr;gap:2rem}.dialogLeftCol{position:relative;top:auto}.dialogBody{height:90svh}}@media (max-width:768px){.dialogScrollArea{padding:0 1.25rem 2rem}.dialogTitle{font-size:1.75rem}.dialogBody{margin:1rem;border-radius:16px!important}}
.about-glow-orb{filter:blur(80px);z-index:1;pointer-events:none;background:radial-gradient(circle,#8b5cf60d 0%,#a5e8ff05 55%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.about-wrapper{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:68rem;margin:0 auto;padding:0 1rem;display:flex;position:relative}.about-bio-centered{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:44rem;margin-bottom:2rem;display:flex}.bio-overtitle{letter-spacing:.25em;color:#a78bfa;text-transform:uppercase;text-shadow:0 0 20px #a78bfa66;margin-bottom:.4rem;font-size:.72rem;font-weight:700}.bio-title{background:linear-gradient(135deg,#fff 40%,#a5e8ff 70%,#b2a7fd 100%);-webkit-text-fill-color:transparent;letter-spacing:-.01em;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:2.15rem;font-weight:800;line-height:1.25}.bio-text{color:#cbd5e1;margin-bottom:.75rem;font-size:.98rem;line-height:1.7}.bio-text:last-of-type{margin-bottom:0}.bio-text strong{color:#fff;font-weight:700}.about-details-row{flex-flow:wrap;justify-content:center;gap:.6rem;width:100%;margin-top:1.25rem;display:flex}.about-detail-badge{color:#cbd5e1;-webkit-backdrop-filter:blur(15px);-webkit-user-select:none;user-select:none;background:#16112b73;border:1px solid #ffffff0f;border-radius:30px;align-items:center;gap:.5rem;padding:.4rem 1.1rem;font-size:.78rem;font-weight:600;transition:all .3s;display:flex}.about-detail-badge:hover{color:#fff;border-color:#a78bfa40}.about-detail-badge .badge-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.about-detail-badge.status-glowing{color:#34d399;background:#10b9810d;border-color:#10b98140}.about-detail-badge.status-glowing:hover{border-color:#10b98173}.pulse-dot{background-color:#10b981;border-radius:50%;width:.45rem;height:.45rem;display:inline-block;position:relative}.pulse-ring{opacity:0;border:3px solid #10b981;border-radius:30px;width:1.5rem;height:1.5rem;animation:2s ease-out infinite pulseAnimation;position:absolute;top:-.525rem;left:-.525rem}@keyframes pulseAnimation{0%{opacity:0;transform:scale(.2)}50%{opacity:.6}to{opacity:0;transform:scale(1.2)}}.skills-section{border-top:1px solid #ffffff0a;flex-direction:column;align-items:center;width:100%;padding-top:2.25rem;display:flex}.skills-section-title{color:#fff;letter-spacing:-.01em;text-align:center;margin-bottom:1.5rem;font-size:1.4rem;font-weight:800}.skills-categories-grid{grid-template-columns:repeat(4,1fr);gap:.85rem;width:100%;display:grid}.skills-category-card{-webkit-backdrop-filter:blur(10px);background:#120e2659;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;gap:.75rem;padding:1.1rem 1rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.skills-category-card:hover{background:#120e2680;border-color:#a78bfa26;transform:translateY(-2px);box-shadow:0 15px 30px -10px #00000080}.skills-category-title{letter-spacing:.12em;color:#8b5cf6;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff0a;padding-bottom:.4rem;font-size:.68rem;font-weight:700}.skills-icons-row{flex-flow:wrap;gap:.5rem;display:flex}.skill-icon-wrapper{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.skill-icon-wrapper:hover{background:#ffffff12;border-color:#a78bfa66;transform:translateY(-4px)scale(1.08);box-shadow:0 8px 20px -5px #8b5cf64d}.skill-tooltip{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;z-index:10;background:#0f0b21;border:1px solid #a78bfa33;border-radius:4px;padding:.25rem .5rem;font-size:.68rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2rem;transform:translateY(-4px)scale(.95);box-shadow:0 4px 10px #0006}.skill-icon-wrapper:hover .skill-tooltip{opacity:1;transform:translateY(0)scale(1)}@media (max-width:900px){.skills-categories-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:550px){.skills-categories-grid{grid-template-columns:1fr}.bio-title{font-size:1.7rem}.about-wrapper{padding:0 .5rem}}
.contact-glow-orb{filter:blur(90px);z-index:1;pointer-events:none;background:radial-gradient(circle,#8b5cf614 0%,#a5e8ff08 50%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-header{text-align:center;z-index:2;flex-direction:column;align-items:center;margin-bottom:1.8rem;padding:0 1rem;display:flex}.contact-overtitle{letter-spacing:.25em;color:#a78bfa;text-transform:uppercase;text-shadow:0 0 20px #a78bfa66;margin-bottom:.3rem;font-size:.72rem;font-weight:700}.contact-title{background:linear-gradient(135deg,#fff 30%,#a5e8ff 70%,#b2a7fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.25rem;font-weight:800;line-height:1.2}.contact-subtitle{color:#fff;max-width:36rem;margin:0 auto;font-size:.92rem;font-weight:400;line-height:1.5}.contact-pills-row{z-index:3;flex-flow:wrap;justify-content:center;gap:.75rem;width:100%;max-width:58rem;margin-bottom:2rem;padding:0 1rem;display:flex}.contact-pill{color:#cbd5e1;-webkit-backdrop-filter:blur(15px);cursor:pointer;-webkit-user-select:none;user-select:none;background:#16112b73;border:1px solid #ffffff0f;border-radius:30px;align-items:center;gap:.6rem;padding:.45rem 1.15rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.contact-pill:hover{color:#fff;border-color:#a78bfa59;transform:translateY(-2px);box-shadow:0 8px 20px -5px #8b5cf640,inset 0 0 10px #ffffff05}.pill-status{color:#34d399;cursor:default;background:#10b9810d;border-color:#10b98133}.pill-status:hover{color:#34d399;box-shadow:none;border-color:#10b9814d;transform:none}.pulse-dot{background-color:#10b981;border-radius:50%;width:.45rem;height:.45rem;display:inline-block;position:relative}.pulse-ring{opacity:0;border:3px solid #10b981;border-radius:30px;width:1.5rem;height:1.5rem;animation:2s ease-out infinite pulseAnimation;position:absolute;top:-.525rem;left:-.525rem}@keyframes pulseAnimation{0%{opacity:0;transform:scale(.2)}50%{opacity:.6}to{opacity:0;transform:scale(1.2)}}.copy-tooltip{color:#fff;pointer-events:none;white-space:nowrap;z-index:10;background:#7c3aed;border-radius:4px;padding:.25rem .6rem;font-size:.68rem;font-weight:700;animation:.25s cubic-bezier(.16,1,.3,1) forwards tooltipPop;position:absolute;top:-2.2rem;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #0006}@keyframes tooltipPop{0%{opacity:0;transform:translate(-50%,6px)scale(.95)}to{opacity:1;transform:translate(-50%)scale(1)}}.contact-card{z-index:3;width:100%;max-width:32rem;padding:.5rem 0 2rem;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative}.contact-form,.input-group{flex-direction:column;width:100%;display:flex}.contact-form label{letter-spacing:.1em;color:#cbd5e1;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:700;transition:color .3s}.input-group:focus-within label{color:#c084fc}.contact-form input,.contact-form textarea{color:#fff;background:#0a0814a6;border:1px solid #ffffff14;border-radius:6px;outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.92rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.contact-form textarea{resize:vertical;min-height:110px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#475569}.contact-form input:focus,.contact-form textarea:focus{background:#0a0814d9;border-color:#a78bfa80;box-shadow:0 0 14px #a78bfa33}.contact-form input.input-error,.contact-form textarea.input-error{border-color:#ef444466}.contact-form input.input-error:focus,.contact-form textarea.input-error:focus{border-color:#ef4444b3;box-shadow:0 0 14px #ef444433}.error-message-box{align-items:center;min-height:1.4rem;padding:.2rem 0 0;display:flex}.error-text{color:#f87171;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;animation:.3s forwards slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.submit-btn{letter-spacing:.02em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:.75rem 2rem;font-size:.92rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 15px #7c3aed40,inset 0 1px #ffffff26}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed66,0 0 15px #a78bfa40}.submit-btn:disabled{color:#ffffff4d;box-shadow:none;cursor:not-allowed;background:#2d264680;border:1px solid #ffffff0d}.loading-spinner-container{align-items:center;gap:.6rem;display:flex}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.message-status-container{justify-content:center;align-items:center;width:100%;min-height:2.2rem;display:flex}.status-toast{text-align:center;border-radius:6px;width:100%;padding:.5rem 1.25rem;font-size:.8rem;font-weight:600;animation:.35s cubic-bezier(.16,1,.3,1) forwards popIn}.toast-success{color:#34d399;background:#10b98114;border:1px solid #10b98140;box-shadow:0 0 15px #10b9811a}.toast-error{color:#f87171;background:#ef444414;border:1px solid #ef444440;box-shadow:0 0 15px #ef44441a}@keyframes popIn{0%{opacity:0;transform:scale(.95)translateY(5px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:600px){.contact-card{padding:1.75rem 1.25rem}.contact-pills-row{gap:.5rem}.contact-pill{padding:.4rem .9rem;font-size:.76rem}}
.parallax-module__noNreW__section{z-index:0;width:100svw;max-width:100svw;height:100svh;max-height:100svh;overflow:hidden}.parallax-module__noNreW__section:before{content:"";background:linear-gradient(to top, var(--background), transparent);z-index:1;width:100svw;height:15rem;position:absolute;bottom:0;overflow:hidden}.parallax-module__noNreW__layer{object-fit:cover;z-index:0;height:100%;position:absolute;top:0;left:0;overflow:hidden;width:100%!important}
.loader{border:4px solid #3b82f6;border-top-color:#0000;border-radius:50%;width:2rem;height:2rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
