.portfolio_container__RnB0X{max-width:1400px;margin:0 auto;padding:20vh 2rem 0;color:white;position:relative}.portfolio_portfolioBackground__NzpGH{position:fixed;top:-50%;left:0;width:100vw;height:100vh;background-image:url(/backgrounds/glow_1.webp);background-size:contain;transform:scaleX(3) scaleY(1.5) translateZ(0);background-position:50%;background-repeat:no-repeat;z-index:-2;opacity:.75;pointer-events:none;will-change:opacity;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.portfolio_header__tRXq3{text-align:center;margin-bottom:4rem}.portfolio_title__kx3Nm{font-size:3.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#00d4ff);background-clip:text;-webkit-background-clip:text;color:transparent}.portfolio_subtitle__3z31M{font-size:1.2rem;color:rgba(255,255,255,.7);max-width:600px;margin:0 auto}.portfolio_loading__x4IrP{min-height:400px;font-size:1.2rem}.portfolio_loadingImages__D0km0,.portfolio_loading__x4IrP{display:flex;justify-content:center;align-items:center;color:rgba(255,255,255,.7)}.portfolio_loadingImages__D0km0{min-height:200px;font-size:1rem}.portfolio_projectsGrid__Bda9O{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:4rem}.portfolio_projectCard__Exyi5{background:rgba(255,255,255,.1);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .3s ease}.portfolio_projectCard__Exyi5:hover{transform:translateY(-8px);background:rgba(255,255,255,.08)}.portfolio_projectThumbnail__697GV{position:relative;width:100%;height:250px;overflow:hidden}.portfolio_thumbnailImage__jr75V{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.portfolio_projectCard__Exyi5:hover .portfolio_thumbnailImage__jr75V{transform:scale(1.05)}.portfolio_projectOverlay__kacJx{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.portfolio_projectCard__Exyi5:hover .portfolio_projectOverlay__kacJx{opacity:1}.portfolio_viewProject__ee9JM{color:white;font-weight:600;font-size:1.1rem;padding:.8rem 1.5rem;border:2px solid white;border-radius:10px;transition:all .3s ease}.portfolio_projectOverlay__kacJx:hover .portfolio_viewProject__ee9JM{background:white;color:black}.portfolio_projectInfo__1QyTN{padding:1.5rem}.portfolio_projectHeader__kTvey{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.portfolio_projectName__RSgyq{font-size:1.4rem;font-weight:700;margin:0;color:white}.portfolio_projectYear__3omlf{font-size:.9rem;color:#00d4ff;font-weight:600;background:rgba(0,212,255,.1);padding:.3rem .8rem;border-radius:8px}.portfolio_projectDescription__hZnSW{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.8);margin-bottom:1.5rem}.portfolio_projectMeta__Nb4A2{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.portfolio_projectCategory__Tr7pS{font-size:.85rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.portfolio_techStack__wJFkr{display:flex;gap:.5rem;flex-wrap:wrap}.portfolio_techItem__e3UrG{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(255,255,255,.1);border-radius:8px;transition:background .3s ease}.portfolio_techItem__e3UrG:hover{background:rgba(0,212,255,.2)}.portfolio_techItem__e3UrG i{font-size:18px;color:white}.portfolio_techText__qNq5j{font-size:.7rem;color:white;font-weight:500}.portfolio_modalOverlay__ARElR{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;opacity:0;animation:portfolio_modalOverlayFadeIn__wpw3u .3s ease-out forwards;overflow:hidden;overscroll-behavior:contain;touch-action:none}.portfolio_modal__OaS9s{background:rgba(255,255,255,.1);border-radius:10px;max-width:1000px;width:100%;max-height:90vh;overflow:hidden;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;transform:scale(.8) translateY(20px);opacity:0;animation:portfolio_modalHeroAnimation__HQ_Gx .4s ease-out .1s forwards;touch-action:auto}@keyframes portfolio_modalOverlayFadeIn__wpw3u{0%{opacity:0}to{opacity:1}}@keyframes portfolio_modalHeroAnimation__HQ_Gx{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media (max-width:768px){.portfolio_modal__OaS9s{max-height:90dvh;transform:scale(.9) translateY(30px);animation:portfolio_modalHeroAnimationMobile__Ns4I3 .4s ease-out .1s forwards}@keyframes portfolio_modalHeroAnimationMobile__Ns4I3{0%{transform:scale(.9) translateY(30px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}}@media (max-width:480px){.portfolio_modalOverlay__ARElR{padding:1rem}.portfolio_modal__OaS9s{transform:scale(.95) translateY(40px);animation:portfolio_modalHeroAnimationSmall__eX98L .35s ease-out .05s forwards}@keyframes portfolio_modalHeroAnimationSmall__eX98L{0%{transform:scale(.95) translateY(40px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}}.portfolio_closeButton__esKQM{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.1);border:none;color:white;font-size:2rem;width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease;z-index:1001;opacity:0;animation:portfolio_closeButtonFadeIn__homds .3s ease-out .3s forwards}@keyframes portfolio_closeButtonFadeIn__homds{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.portfolio_closeButton__esKQM:hover{background:rgba(255,255,255,.2)}.portfolio_modalContent__Tql3P{padding:2rem;overflow-y:auto;flex:1 1;opacity:0;transform:translateY(10px);animation:portfolio_modalContentSlideIn__WGp2_ .4s ease-out .2s forwards}@keyframes portfolio_modalContentSlideIn__WGp2_{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.portfolio_modalHeader__5Q3Pi{margin-bottom:1.5rem}.portfolio_modalTitle__3_sVH{font-size:2.5rem;font-weight:800;margin-bottom:1rem;color:white}.portfolio_modalMeta__YSqdx{display:flex;gap:1rem;align-items:center}.portfolio_modalYear__lIDYo{font-size:1rem;color:#00d4ff;font-weight:600;background:rgba(0,212,255,.1);padding:.5rem 1rem;border-radius:10px}.portfolio_modalCategory__0oz2x{font-size:.9rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.portfolio_modalDescription__hgdxl{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.8);margin-bottom:2rem}.portfolio_modalTechStack__TTpEK{margin-bottom:2rem}.portfolio_modalTechStack__TTpEK h4{font-size:1.2rem;color:white;margin-bottom:1rem;font-weight:600}.portfolio_techList__4DG7F{display:flex;flex-wrap:wrap;gap:1rem}.portfolio_modalTechItem__fab5L{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:10px;font-size:.9rem;color:white}.portfolio_modalTechItem__fab5L i{font-size:16px}.portfolio_projectLink__dcPaL{display:inline-block;background:linear-gradient(135deg,#00d4ff,#8a2be2);color:white;text-decoration:none;padding:.8rem 2rem;border-radius:10px;font-weight:600;transition:transform .3s ease}.portfolio_projectLink__dcPaL:hover{transform:translateY(-2px)}.portfolio_modalImages__y6SkH{margin-top:2rem}.portfolio_modalImages__y6SkH h4{font-size:1.2rem;color:white;margin-bottom:1.5rem;font-weight:600}.portfolio_imageGallery__vcaWl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:2px solid rgba(255,255,255,.1);padding:2rem;margin:0 -2rem -2rem;grid-gap:1rem;gap:1rem}.portfolio_galleryImage__ljlsm{border-radius:10px;overflow:hidden;background:rgba(255,255,255,.05);cursor:pointer;transition:opacity .3s ease}.portfolio_galleryImage__ljlsm:hover{opacity:.7}.portfolio_modalImage__RYG0_{width:100%;height:100%;object-fit:cover;display:block}.portfolio_noImages__wMGn1{color:rgba(255,255,255,.5);text-align:center;padding:2rem;font-style:italic}.portfolio_modalWithExpandedImage__TalYM{overflow:hidden}.portfolio_expandedImageOverlay__Pc_xV{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);transition:background .3s ease;z-index:1100}.portfolio_expandedImageActive__LElFJ{background:rgba(0,0,0,.95)}.portfolio_expandedImageContainer__DbZaf{position:absolute;border-radius:10px;overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);cursor:pointer;z-index:1101}.portfolio_expandedImage__AqJ_x{display:block;will-change:transform}.portfolio_expandedImageContainerActive__XLMzV{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0;cursor:default}.portfolio_expandedImage__AqJ_x{width:100%;height:100%}.portfolio_imageNavButton__C0NlA{position:absolute;top:50%;transform:translateY(-50%);background:rgba(125,125,125,.5);border:none;color:white;width:44px;height:44px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1102;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden}.portfolio_expandedImageActive__LElFJ .portfolio_imageNavButton__C0NlA{opacity:1;visibility:visible}.portfolio_imageNavButton__C0NlA:hover{opacity:.7}.portfolio_imageNavPrev__GSntR{left:1.5rem}.portfolio_imageNavNext__CHp6y{right:1.5rem}.portfolio_expandedImageClose__Upj1x{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(125,125,125,.5);border:none;color:rgb(255,255,255);padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:1102;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:0;visibility:hidden}.portfolio_expandedImageActive__LElFJ .portfolio_expandedImageClose__Upj1x{opacity:1;visibility:visible}.portfolio_expandedImageClose__Upj1x:hover{opacity:.7}@media (max-width:768px){.portfolio_projectCard__Exyi5:hover{transform:none;background:rgba(255,255,255,.1)}.portfolio_projectCard__Exyi5:hover .portfolio_thumbnailImage__jr75V{transform:none}.portfolio_projectCard__Exyi5:hover .portfolio_projectOverlay__kacJx{opacity:0}.portfolio_projectOverlay__kacJx:hover .portfolio_viewProject__ee9JM{background:transparent;color:white}.portfolio_imageNavButton__C0NlA{width:40px;height:40px}.portfolio_imageNavPrev__GSntR{left:1rem}.portfolio_imageNavNext__CHp6y{right:1rem}.portfolio_expandedImageClose__Upj1x{bottom:1.5rem;padding:.6rem 1.2rem;font-size:.8rem}.portfolio_imageGallery__vcaWl{padding:1rem;grid-template-columns:1fr}}@media (max-width:480px){.portfolio_projectCard__Exyi5:hover{transform:none;background:rgba(255,255,255,.1)}.portfolio_projectCard__Exyi5:hover .portfolio_thumbnailImage__jr75V{transform:none}.portfolio_projectCard__Exyi5:hover .portfolio_projectOverlay__kacJx{opacity:0}.portfolio_projectOverlay__kacJx:hover .portfolio_viewProject__ee9JM{background:transparent;color:white}.portfolio_projectsGrid__Bda9O{grid-template-columns:1fr}.portfolio_modalMeta__YSqdx,.portfolio_projectHeader__kTvey{flex-direction:column;align-items:flex-start;gap:.5rem}.portfolio_imageGallery__vcaWl{grid-template-columns:1fr}.portfolio_heroAnimating__l8itE .portfolio_heroImageContainer__MF6W3{width:98vw;height:70vh}.portfolio_imageNavButton__C0NlA{width:40px;height:40px;font-size:1.5rem}.portfolio_imageNavPrev__GSntR{left:.5rem}.portfolio_imageNavNext__CHp6y{right:.5rem}}