.desc-box>p{position:sticky;top:9rem;left:0}.experience-wrap ul li{padding-bottom:1rem;padding-left:2rem;position:relative}.experience-wrap ul li:not(:last-child):before{content:"";background-color:#ff026659;background-image:linear-gradient(#ff026600,#ff0266 50%,#ff026600);background-position:0 -2.5rem;background-repeat:no-repeat;background-size:100% 2.5rem;width:1px;height:100%;animation:3s ease-in infinite deco-flow;display:block;position:absolute;top:4px;left:1rem}.experience-wrap ul li .deco{z-index:1;width:12px;height:12px;display:block;position:absolute;top:2px;left:calc(1rem - 5px)}.experience-wrap ul li .deco:before,.experience-wrap ul li .deco:after{content:"";display:block;position:absolute;top:50%;left:50%;translate:-50% -50%}.experience-wrap ul li .deco:before{border:1px solid #ff0266;border-radius:100%;width:100%;height:100%;animation:3s ease-out infinite deco-ripple}.experience-wrap ul li .deco:after{background-color:#ff0266;border-radius:100%;width:calc(100% - 4px);height:calc(100% - 4px);animation:3s ease-in-out infinite deco-glow}.experience-wrap ul li:nth-child(2):before,.experience-wrap ul li:nth-child(2) .deco:before,.experience-wrap ul li:nth-child(2) .deco:after{animation-delay:1s}.experience-wrap ul li:nth-child(3):before,.experience-wrap ul li:nth-child(3) .deco:before,.experience-wrap ul li:nth-child(3) .deco:after{animation-delay:2s}.experience-wrap ul li:nth-child(4):before,.experience-wrap ul li:nth-child(4) .deco:before,.experience-wrap ul li:nth-child(4) .deco:after{animation-delay:3s}.experience-wrap ul li:nth-child(5):before,.experience-wrap ul li:nth-child(5) .deco:before,.experience-wrap ul li:nth-child(5) .deco:after{animation-delay:4s}.experience-wrap ul li:nth-child(6):before,.experience-wrap ul li:nth-child(6) .deco:before,.experience-wrap ul li:nth-child(6) .deco:after{animation-delay:5s}.experience-wrap ul li:nth-child(7):before,.experience-wrap ul li:nth-child(7) .deco:before,.experience-wrap ul li:nth-child(7) .deco:after{animation-delay:6s}.experience-wrap ul li:nth-child(8):before,.experience-wrap ul li:nth-child(8) .deco:before,.experience-wrap ul li:nth-child(8) .deco:after{animation-delay:7s}.experience-wrap ul li:nth-child(9):before,.experience-wrap ul li:nth-child(9) .deco:before,.experience-wrap ul li:nth-child(9) .deco:after{animation-delay:8s}.experience-wrap ul li:nth-child(10):before,.experience-wrap ul li:nth-child(10) .deco:before,.experience-wrap ul li:nth-child(10) .deco:after{animation-delay:9s}@keyframes deco-flow{0%{background-position:0 -2.5rem}33%,to{background-position:0 calc(100% + 2.5rem)}}@keyframes deco-ripple{0%{opacity:.5;scale:1}80%,to{opacity:0;scale:1.5}}@keyframes deco-glow{0%,to{box-shadow:0 0 #ff026600}50%{box-shadow:0 0 4px 1px #ff026659}}@media (prefers-reduced-motion:reduce){.experience-wrap ul li:before,.experience-wrap ul li .deco:before,.experience-wrap ul li .deco:after{animation:none}}.project-wrap{position:relative}.project-wrap .box{padding:1.5rem 3rem 2.5rem}.project-wrap>.swipe-wrap{width:100vw;margin-left:calc(50% - 50vw)}.project-wrap .img-wrap{width:100%}.project-wrap .info-wrap .info-top{position:relative}.project-wrap .info-wrap .info-top .num{opacity:.2;font-size:3.75rem;font-weight:700;position:absolute;top:0;left:0}.project-wrap .info-wrap .info-top .title-wrap{z-index:1;padding-top:2.75rem;position:relative}.project-wrap .paging-wrap{justify-content:space-between;align-items:center;gap:1.5rem;max-width:54.25rem;margin:0 auto;display:flex}.project-wrap .paging-wrap .paging-progress{flex:1;align-items:center;min-height:2rem;display:flex;position:relative}.project-wrap .paging-wrap .paging-count{z-index:1;white-space:nowrap;letter-spacing:.05em;color:#a1a8b3;background-color:#1e1f25;align-items:center;gap:.5rem;padding:0 1rem;font-size:1rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-wrap .paging-wrap .paging-count .current{color:#ff0266;font-weight:700}.project-wrap .paging-wrap .paging-count .divider{opacity:.5}.project-wrap .paging-wrap .swiper-pagination{z-index:0;width:100%;position:relative}.project-wrap .paging-wrap .swiper-pagination .swiper-pagination-progressbar-fill{background-color:#ff0266}.contact-wrap{text-align:center;padding:5.5rem 1.5rem}.contact-wrap .contact-title{color:#fff;font-size:1.25rem;line-height:1.6}.contact-wrap .contact-info{color:#a1a8b3;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:1.25rem;font-size:.875rem;display:flex}.contact-wrap .contact-info>a{color:inherit;transition:color .3s}.contact-wrap .contact-info>a:hover{color:#fff}.contact-wrap .contact-info>a+a:before{content:"";vertical-align:middle;opacity:.6;background-color:currentColor;width:1px;height:.75em;margin:0 .75rem;display:inline-block}.contact-wrap .contact-links{justify-content:center;gap:2rem;margin-top:2.5rem;display:flex}.contact-wrap .contact-links>a{color:#e5e7eb;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:2.25rem;transition:color .3s,transform .3s,filter .3s;display:inline-flex}.contact-wrap .contact-links>a:hover,.contact-wrap .contact-links>a:focus-visible{color:#ff0266;filter:drop-shadow(0 0 8px #ff026680);transform:translateY(-3px)}@media screen and (max-width:1024px){.flex-con.profile-intro{flex-direction:column}.flex-con.profile-intro>*{flex:none;width:100%}.desc-box>p{position:static}.about-wrap .flex-con>.about-info{flex:none;width:100%}.about-wrap .flex-con.info-box{flex-wrap:wrap}.about-wrap .flex-con.info-box>li{flex:0 0 calc(50% - 1rem);width:auto}}@media screen and (max-width:768px){.flex-con.experience-item{flex-direction:column;gap:.75rem}.flex-con.experience-item>div{flex:none;width:100%}.flex-con.skill-groups,.flex-con.post-boards{flex-direction:column}.flex-con.skill-groups>li,.flex-con.skill-groups>div,.flex-con.post-boards>li,.flex-con.post-boards>div{flex:none;width:100%}.project-wrap .box{padding:1.25rem}.project-wrap .paging-wrap{gap:1rem;padding:0 1.25rem}.flex-con.project-card{flex-direction:column;gap:1.25rem!important}.flex-con.project-card>div{flex:none;width:100%}.contact-wrap{padding:3.5rem 1.25rem}}@media screen and (max-width:500px){.about-wrap .flex-con.info-box>li{flex-basis:100%}.contact-wrap .contact-links{gap:1.5rem}}
.swiper-pagination{text-align:center;z-index:10;transition:opacity .3s;position:absolute;transform:translate(0,0)}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);width:100%;left:0}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);display:inline-block}button.swiper-pagination-bullet{box-shadow:none;appearance:none;border:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity,1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{width:8px;top:50%;transform:translateY(-50%)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,top .2s;display:inline-block}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{white-space:nowrap;left:50%;transform:translate(-50%)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0)}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:100% 0}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);top:0;left:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size,4px);height:100%;top:0;left:0}.swiper-pagination-lock{display:none}
.dim{background-color:#000;width:100%;height:100%;position:fixed;top:0;left:0}.visual-wrap{color:#fff;--scroll-progress:0;width:100vw;height:250vh;margin-bottom:-100vh;position:relative;top:0;left:0%}.visual-wrap[data-scroll-end] .visual-sticky{visibility:hidden;pointer-events:none}.visual-wrap .visual-sticky{z-index:2;--hole:calc(var(--scroll-progress) * 75vmax);width:100%;height:100svh;-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent var(--hole), #000 calc(var(--hole) + 1px));-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent var(--hole), #000 calc(var(--hole) + 1px));mask-image:radial-gradient(circle at 50% 50%, transparent var(--hole), #000 calc(var(--hole) + 1px));place-content:center;align-items:center;display:flex;position:sticky;top:0;overflow:hidden}.visual-wrap .visual-sticky>.dim{z-index:1;animation:.5s 2s forwards dim}.visual-wrap.loading{z-index:10}.visual-wrap a{color:#fff}.visual-wrap #tsparticles{z-index:1;will-change:transform;background-color:#1e1f26;width:100%;height:100%;position:absolute;top:0;left:0}.visual-wrap .visual-top{text-align:right;z-index:1;width:100%;padding:0 3rem;font-size:1.125rem;position:absolute;top:1.5rem;left:0}.visual-wrap .visual-top>div{display:inline-block}.visual-wrap .visual-top>div+div{margin-left:1rem}.visual-wrap .visual-middle{text-align:center;z-index:1;padding:0 2.5rem;position:relative}.visual-wrap .visual-middle .name-wrap .name svg{stroke-dasharray:500;stroke-dashoffset:500px;will-change:transform;-webkit-filter:drop-shadow(0 0 2px #fff);width:100%;animation:4s forwards stroke;transform:translateZ(0)}.visual-wrap .visual-middle .name-wrap .job{color:#ff0266;font-size:3.5rem}.visual-wrap .visual-middle .name-wrap .job>span{text-shadow:0 0 #ff0266;animation:2s ease-in-out infinite alternate loading}.visual-wrap .visual-middle .name-wrap .job>span:first-child{animation-delay:.2s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(2){animation-delay:.4s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(3){animation-delay:.6s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(4){animation-delay:.8s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(5){animation-delay:1s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(6){animation-delay:1.2s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(7){animation-delay:1.4s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(8){animation-delay:1.6s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(9){animation-delay:1.8s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(10){animation-delay:2s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(11){animation-delay:2.2s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(12){animation-delay:2.4s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(13){animation-delay:2.6s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(14){animation-delay:2.8s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(15){animation-delay:3s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(16){animation-delay:3.2s}.visual-wrap .visual-middle .name-wrap .job>span:nth-child(17){animation-delay:3.4s}.visual-wrap .visual-middle .nav>a{margin:0 .5rem .5rem;font-size:1.5rem;display:inline-block}.visual-wrap .visual-middle .link-wrap>a{margin:0 1rem;font-size:3rem;display:inline-block}.visual-wrap .visual-middle .link-wrap>a>svg{vertical-align:middle}@media screen and (max-width:768px){.visual-wrap .visual-middle{padding:0 1.5rem}.visual-wrap .visual-middle .name-wrap .job{font-size:2.25rem}.visual-wrap .visual-middle .link-wrap>a{margin:0 .75rem;font-size:2.25rem}}@media screen and (max-width:500px){.visual-wrap .visual-middle{padding:0 1rem}.visual-wrap .visual-middle .name-wrap .job{font-size:1.625rem}}.visual-wrap .visual-middle{--ring-scale:1;--ring-opacity:1;position:relative}.visual-wrap .visual-middle:before,.visual-wrap .visual-middle:after{content:"";aspect-ratio:1;pointer-events:none;width:calc(100% + 4rem);translate:-50% -50%;transform:scale(var(--ring-scale));opacity:var(--ring-opacity);will-change:transform,opacity;border-radius:50%;display:block;position:absolute;top:50%;left:50%}@media screen and (max-width:768px){.visual-wrap .visual-middle:before,.visual-wrap .visual-middle:after{width:calc(100% + 1rem)}}@media screen and (max-width:500px){.visual-wrap .visual-middle:before,.visual-wrap .visual-middle:after{width:100%}}.visual-wrap .visual-middle:before{border:2px solid #ffffffe6;animation:.5s 2s backwards intro-fade-in,4s linear infinite ring-spin;box-shadow:0 -8px 18px -2px #fffc,inset 0 8px 16px -6px #ffffff73}.visual-wrap .visual-middle:after{animation:.5s 2s backwards intro-fade-in,9s linear infinite reverse ring-spin;box-shadow:0 12px 32px 4px #ffffff2e}.visual-wrap .visual-middle .job,.visual-wrap .visual-middle>.link-wrap{animation:.5s 2s backwards intro-fade-in}.visual-wrap .visual-middle>.name-wrap,.visual-wrap .visual-middle>.link-wrap{will-change:transform,opacity}.visual-wrap.is-intro-done .visual-sticky>.dim{display:none}.visual-wrap.is-intro-done .visual-middle .name-wrap .name svg{stroke-dashoffset:0;animation:none}.visual-wrap.is-intro-done .visual-middle .job,.visual-wrap.is-intro-done .visual-middle>.link-wrap{animation:none}.visual-wrap.is-intro-done .visual-middle:before{animation:4s linear infinite ring-spin}.visual-wrap.is-intro-done .visual-middle:after{animation:9s linear infinite reverse ring-spin}html.is-scrolling .visual-wrap .visual-middle .job>span{animation-play-state:paused}@keyframes stroke{0%{stroke-dashoffset:500px}to{stroke-dashoffset:0}}@keyframes loading{to{text-shadow:20px 0 70px #ff0266;color:#ff0266}}@keyframes ring-spin{to{rotate:360deg}}@keyframes intro-fade-in{0%{opacity:0}}@keyframes dim{0%{opacity:1}to{opacity:0;visibility:hidden;z-index:-1}}@keyframes copyright{0%{opacity:0;bottom:-1.5rem}to{opacity:1;bottom:1.5rem}}
