@charset "UTF-8";.title[data-astro-cid-zfufvvig]{z-index:1;position:relative}.title[data-astro-cid-zfufvvig]:before,.title[data-astro-cid-zfufvvig]:after{content:"";position:absolute;height:4px;bottom:-.5rem;left:0;border-radius:2px}.title[data-astro-cid-zfufvvig]:before{width:100%;background-color:#faf9f61a}.title[data-astro-cid-zfufvvig]:after{width:40%;background-color:#faf9f6cc}span[data-astro-cid-zfufvvig]{position:absolute;top:28px;left:14px;width:100%;height:100%;font-weight:700;color:var(--color-charcoal)}.modal{z-index:-5;pointer-events:none;width:100vw;height:100dvh;position:fixed;top:0;left:0;transition:.3s all ease-out;opacity:0;display:flex;justify-content:center}.modal:after{content:"";background-color:var(--color-blacki);opacity:.7;width:100%;height:100%}.modal .modal-container{position:absolute;z-index:10;background-color:var(--color-blacki);border-top-left-radius:10px;border-top-right-radius:10px;width:100%;max-width:70rem;height:auto;max-height:80dvh;border:1px solid rgba(250,249,246,.2);border-bottom:0;bottom:0;transform:translateY(100%);transform-origin:top;transition:.4s all ease-in-out;padding:0;overflow-y:auto;opacity:0;overflow-x:hidden}@media (width < 1024px){.modal .modal-container{max-height:85dvh}}.modal .modal-container .modal-title{position:sticky;top:0;background:var(--color-blacki);z-index:10;margin-bottom:.5rem;padding:1rem 2rem 3rem}.modal .modal-container .modal-content{padding:0 2rem}.modal-open{z-index:99;opacity:1;pointer-events:auto}.modal-open .modal-container{transform:translateY(0);opacity:1}.tooltip[data-astro-cid-ifo5z5xt]{position:absolute;pointer-events:none;opacity:0}.tooltip[data-astro-cid-ifo5z5xt].top{bottom:1.5rem;transition:opacity .4s,bottom .4s cubic-bezier(.6,-.5,.3,1.5);padding-bottom:1rem}.tooltip[data-astro-cid-ifo5z5xt].top .content[data-astro-cid-ifo5z5xt]:after{bottom:-6px}.tooltip[data-astro-cid-ifo5z5xt].bottom{top:1.5rem;transition:opacity .4s,top .4s cubic-bezier(.6,-.5,.3,1.5);padding-top:1rem}.tooltip[data-astro-cid-ifo5z5xt].bottom .content[data-astro-cid-ifo5z5xt]:after{top:-6px}.tooltip[data-astro-cid-ifo5z5xt] .content[data-astro-cid-ifo5z5xt]{position:relative;width:100%;background:var(--color-star);color:var(--color-blacki);padding:6px;border-radius:10px}.tooltip[data-astro-cid-ifo5z5xt] .content[data-astro-cid-ifo5z5xt] span[data-astro-cid-ifo5z5xt]{z-index:1;text-wrap:nowrap;position:relative}.tooltip[data-astro-cid-ifo5z5xt] .content[data-astro-cid-ifo5z5xt]:after{content:"";width:16px;height:16px;background-color:var(--color-star);position:absolute;left:0;right:0;margin-inline:auto;border-radius:.25rem;rotate:45deg}@media screen and (min-width: 540px){.tooltip[data-astro-cid-ifo5z5xt] .content[data-astro-cid-ifo5z5xt]{max-width:200px}}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm] span[data-astro-cid-22l52bgm]{z-index:1}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:nth-child(odd) span[data-astro-cid-22l52bgm]{border-right:4px solid rgba(250,249,246,.1);padding-right:.5rem}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:nth-child(2n){text-align:end}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:nth-child(2n) span[data-astro-cid-22l52bgm]{border-left:4px solid rgba(250,249,246,.1);padding-left:.5rem}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm] .line[data-astro-cid-22l52bgm]:after{content:"";top:11.5px;height:calc(100% + 1rem);position:absolute;border-width:4px;border-style:dashed;border-color:#faf9f61a;transition:all .3s ease-out}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:nth-child(1) .line[data-astro-cid-22l52bgm]:after{left:64px;border-left:0;border-bottom:0;border-top-right-radius:4px;width:calc(100% - 104px)}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:nth-child(2) .line[data-astro-cid-22l52bgm]:after{right:97px;border-right:0;border-bottom:0;border-top-left-radius:4px;width:calc(100% - 133px)}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:nth-child(3) .line[data-astro-cid-22l52bgm]:after{left:84px;border-right:0;border-bottom:0;border-left:0;width:calc(100% - 120px)}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:hover span[data-astro-cid-22l52bgm]{border-color:var(--color-star)}.about-container[data-astro-cid-22l52bgm] .about-item[data-astro-cid-22l52bgm]:hover>.line[data-astro-cid-22l52bgm]:after{border-color:#faf9f6cc}.stack-item-modal{width:auto;min-width:80px}@media (width < 1024px){.stack-item-modal{width:calc((100% - 2rem)/4);min-width:70px}}@media (width < 640px){.stack-item-modal{width:calc((100% - 1.5rem) / 3);min-width:60px}}.skill-category:not(:last-child){margin-bottom:2rem}.skill-category h3{position:sticky;top:0;background:var(--color-bg-primary);z-index:5;margin:0 -1.5rem 1rem;padding:.75rem 1.5rem .5rem}@media (min-width: 1024px){.skill-category h3{margin:0 -2rem 1rem;padding:.75rem 2rem .5rem}}.stack-item:before,.stack-item:after{content:"";position:absolute;width:100%;height:100%;left:50%;top:50%;translate:-50% -50%;background-image:conic-gradient(from var(--angle),transparent 80%,var(--color-star));z-index:-1;padding:3px;box-sizing:initial;border-radius:10px;animation:3s rotate-angle linear infinite;animation-play-state:paused;opacity:0}.stack-item:hover:before,.stack-item:hover:after,.stack-item-modal:hover .stack-item:before,.stack-item-modal:hover .stack-item:after{animation-play-state:running;opacity:1}.stack-item:hover:before,.stack-item-modal:hover .stack-item:before{opacity:.5}.stack-item:before{filter:blur(1.5em)}#modal-stack .modal-container{max-width:50rem!important}.card__shadow[data-astro-cid-4p4odgn5]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0000 70%,#000000b3)}.card__user[data-astro-cid-4p4odgn5]{position:absolute;left:0;bottom:0;background-color:var(--color-star);color:var(--color-charcoal);padding:.5rem .75rem;outline:10px solid var(--color-charcoal);border-radius:0 var(--radius-lg) 0}.card__clip[data-astro-cid-4p4odgn5]{position:absolute;top:1rem;right:1rem;background-color:var(--color-star);box-shadow:0 0 16px 4px var(--color-star);width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;z-index:5;cursor:pointer;animation-duration:.6s;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-out}.card__article[data-astro-cid-4p4odgn5]:hover .card__clip[data-astro-cid-4p4odgn5]{animation-name:throb}.info[data-astro-cid-4p4odgn5]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0006;backdrop-filter:blur(12px);padding:3rem 1.5rem 1.5rem;color:var(--color-off-white);clip-path:circle(16px at calc(100% - 2rem) 2rem);transition:clip-path .5s ease-in-out;animation:pulse-shadow 1s infinite alternate ease-in-out}@keyframes pulse-shadow{0%{box-shadow:0 0 8px var(--color-star) inset}to{box-shadow:0 0 0 var(--color-star) inset}}.info[data-astro-cid-4p4odgn5]:hover,.card__clip[data-astro-cid-4p4odgn5]:hover~.info[data-astro-cid-4p4odgn5]{clip-path:circle(100%)}@keyframes throb{to{transform:scale(1.125)}}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]{position:relative}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(odd){border-left:3px solid;border-bottom:3px dashed;border-color:#faf9f680}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(odd) .experience-place-time[data-astro-cid-62wavrxp]:before{left:0}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(odd) .experience-place-time[data-astro-cid-62wavrxp]:after{left:-9px}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(odd) .experience-details-item[data-astro-cid-62wavrxp]{padding-left:1.5rem}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(odd) .experience-details-item[data-astro-cid-62wavrxp]:before{left:0}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n){border-right:3px solid;border-bottom:3px dashed;border-color:#faf9f680;text-align:end}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n) .experience-place-time[data-astro-cid-62wavrxp]:before{right:0}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n) .experience-place-time[data-astro-cid-62wavrxp]:after{right:-9px}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n) .experience-details-item[data-astro-cid-62wavrxp]{padding-right:1.5rem}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n) .experience-details-item[data-astro-cid-62wavrxp]:before{right:0;rotate:180deg}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n) .experience-stacks[data-astro-cid-62wavrxp]{display:flex;justify-content:end;align-items:center;flex-direction:row-reverse}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:nth-of-type(2n) .experience-stacks[data-astro-cid-62wavrxp] span[data-astro-cid-62wavrxp]{scroll-snap-align:end}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:last-child{border:none;padding-left:3px}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:last-child:before{content:"";position:absolute;top:0;height:24px;width:3px;background-color:#faf9f680}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:last-child:nth-of-type(odd):before{left:0}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp]:last-child:nth-of-type(2n):before{right:0}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp] .experience-place-time[data-astro-cid-62wavrxp]:before{content:"";position:absolute;top:14px;height:2px;width:24px;background:#faf9f680}@media (width < 1024px){.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp] .experience-place-time[data-astro-cid-62wavrxp]:before{display:none}}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp] .experience-place-time[data-astro-cid-62wavrxp]:after{content:"";position:absolute;top:6px;height:16px;width:16px;border-radius:100%;background:var(--color-star);outline:7px solid var(--color-charcoal)}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp] .experience-details-item[data-astro-cid-62wavrxp]{position:relative}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp] .experience-details-item[data-astro-cid-62wavrxp]:before{content:"▹";position:absolute;top:0;color:var(--color-star)}.experience-container[data-astro-cid-62wavrxp] .experience-item[data-astro-cid-62wavrxp] .experience-details-arrow[data-astro-cid-62wavrxp]{mask-image:linear-gradient(to top,#0000,#000 70% 100%)}.exp-item[data-astro-cid-4rgumjcw]:before{content:"";position:absolute;height:10px;width:10px;border-radius:50%;top:50%;transform:translateY(-50%);left:-4px;background:var(--color-charcoal);border:1.5px solid rgba(250,249,246,.5);transition:all .3s ease-out;z-index:2}.exp-item[data-astro-cid-4rgumjcw]:hover:before{border-color:var(--color-star)}.exp-item[data-astro-cid-4rgumjcw]:hover:after{background-color:var(--color-star)}.exp-item[data-astro-cid-4rgumjcw]:after{content:"";position:absolute;height:50%;width:50%;top:50%;left:0;background-color:#faf9f680;transition:all .3s ease-out;border-bottom-left-radius:5px}#modal-blog .modal-container{max-width:40rem!important}li.project-item{position:relative;display:grid;gap:10px;grid-template-columns:repeat(12,1fr);align-items:center}li.project-item:not(:last-of-type){margin-bottom:80px}@media (max-width: 768px){li.project-item:not(:last-of-type){margin-bottom:45px}}@media (max-width: 480px){li.project-item:not(:last-of-type){margin-bottom:30px}}li.project-item:nth-of-type(odd) .project-content{grid-column:7/-1;text-align:right}@media (max-width: 1080px){li.project-item:nth-of-type(odd) .project-content{grid-column:5/-1}}@media (max-width: 768px){li.project-item:nth-of-type(odd) .project-content{grid-column:1/-1;padding:40px 40px 30px;text-align:left}}@media (max-width: 480px){li.project-item:nth-of-type(odd) .project-content{padding:25px 25px 20px}}li.project-item:nth-of-type(odd) .project-tech-list{justify-content:flex-end;padding-left:84px;padding-right:0}@media (max-width: 768px){li.project-item:nth-of-type(odd) .project-tech-list{padding:0!important;justify-content:flex-start}}li.project-item:nth-of-type(odd) .project-tech-list li{margin:0 0 5px 16px}@media (max-width: 768px){li.project-item:nth-of-type(odd) .project-tech-list li{margin:0 10px 5px 0}}li.project-item:nth-of-type(odd) .project-links{justify-content:flex-end}@media (max-width: 768px){li.project-item:nth-of-type(odd) .project-links{justify-content:flex-start}}li.project-item:nth-of-type(odd) .project-image{grid-column:1/8}@media (max-width: 768px){li.project-item:nth-of-type(odd) .project-image{grid-column:1/-1}}li.project-item .project-content{position:relative;grid-column:1/7;grid-row:1/-1}@media (max-width: 1080px){li.project-item .project-content{grid-column:1/9}}@media (max-width: 768px){li.project-item .project-content{display:flex;flex-direction:column;justify-content:center;height:100%;grid-column:1/-1;padding:40px 40px 30px;z-index:5}}@media (max-width: 480px){li.project-item .project-content{padding:30px 25px 20px}}li.project-item .project-title{color:var(--color-off-white);font-size:clamp(24px,5vw,28px)}@media (min-width: 768px){li.project-item .project-title{margin:0 0 20px}}@media (max-width: 768px){li.project-item .project-title a{position:static}li.project-item .project-title a:before{content:"";display:block;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0}}li.project-item .project-title a{transition:color .2s ease-out}li.project-item .project-title a:hover{color:var(--color-star)}li.project-item .project-description{position:relative;z-index:2;padding:24px;border-radius:4px;background-color:var(--color-charcoal);color:#faf9f6cc;font-size:18px}@media (max-width: 768px){li.project-item .project-description{padding:20px 0;background-color:transparent;box-shadow:none}li.project-item .project-description:hover{box-shadow:none}}li.project-item .project-tech-list{display:flex;flex-wrap:wrap;position:relative;z-index:2;margin:20px 0 10px;padding:0 84px 0 0;list-style:none}li.project-item .project-tech-list li{margin:0 20px 5px 0;color:#faf9f699;font-size:13px;white-space:nowrap}@media (max-width: 768px){li.project-item .project-tech-list{margin:10px 0;padding:0!important}li.project-item .project-tech-list li{margin:0 10px 5px 0;color:#faf9f699}}li.project-item .project-links{display:flex;align-items:center;gap:10px;position:relative;margin-top:10px;color:#faf9f699}li.project-item .project-links a{transition:all .3s ease-out}li.project-item .project-links a.external svg{width:22px;height:22px;margin-top:-4px}li.project-item .project-links a svg{width:20px;height:20px}li.project-item .project-links a:hover{color:var(--color-star);transform:translateY(-4px)}li.project-item .project-links .cta{margin:10px}li.project-item .project-image{box-shadow:0 0 12px var(--color-charcoal);border-radius:5px;grid-column:6/-1;grid-row:1/-1;position:relative;z-index:1}@media (max-width: 768px){li.project-item .project-image{grid-column:1/-1;height:100%;opacity:.25}}li.project-item .project-image a{width:100%;height:100%;background-color:var(--color-star);border-radius:5px;vertical-align:middle}li.project-item .project-image a:hover,li.project-item .project-image a:focus{background:transparent;outline:0}li.project-item .project-image a:hover:before,li.project-item .project-image a:hover .img,li.project-item .project-image a:focus:before,li.project-item .project-image a:focus .img{background:transparent;filter:none}li.project-item .project-image a:before{content:"";position:absolute;width:100%;height:100%;inset:0;z-index:3;transition:all .3s ease-out;background-color:var(--color-charcoal);mix-blend-mode:screen;border-radius:5px}li.project-item .project-image .img{border-radius:5px;mix-blend-mode:multiply;filter:grayscale(100%) contrast(1) brightness(90%)}@media (max-width: 768px){li.project-item .project-image .img{object-fit:cover;width:auto;height:100%;filter:grayscale(100%) contrast(1) brightness(50%)}}.carousel-wrapper{position:relative;height:100%;overflow:hidden}.carousel-wrapper:before{content:"";background:linear-gradient(0deg,transparent 0%,var(--color-bg-primary, rgba(0, 0, 0, .75)) 100%);height:20%;position:absolute;top:-2px;left:-180px;right:-180px;pointer-events:none;z-index:10}.carousel-wrapper:after{content:"";background:linear-gradient(180deg,transparent 0%,var(--color-bg-primary, rgba(0, 0, 0, .75)) 100%);height:20%;position:absolute;bottom:-2px;left:-180px;right:-180px;pointer-events:none;z-index:10}.carousel-img{height:300px;position:relative}.carousel-column{animation-duration:15s;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}.carousel-column.carousel-mobile{animation-duration:20s}.carousel-up{animation-name:scrollUp}.carousel-down{animation-name:scrollDown}.carousel-img:hover .carousel-column{animation-play-state:paused}.img-container{transform:rotateX(47deg) rotateY(31deg) rotate(324deg)}@keyframes scrollUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes scrollDown{0%{transform:translateY(-50%)}to{transform:translateY(0)}}@media (width < 1024px){.other-item{padding:1.5rem 0}}.other-item .shortcut-key{transform:translateY(-100%)}.other-item .more-other{transform:translate(10px,40px)}@media (width < 1024px){.other-item .more-other{transform:translate(10px,12px)}}.other-item:hover .shortcut-key{transform:translateY(0)}.other-item:hover .more-other{transform:translate(10px,12px)}@media (width >= 1024px){footer[data-astro-cid-sz7xmlte]:after{content:"";position:absolute;bottom:-28px;width:600px;height:20px;border-radius:6px;background-color:var(--color-charcoal);transform:translate(-50%);box-shadow:0 0 8px var(--color-blacki),0 0 8px var(--color-blacki) inset}}#power-lamp[data-astro-cid-a2dol2w4].on{background-color:var(--color-off-white);box-shadow:0 0 8px var(--color-off-white),0 0 8px var(--color-off-white) inset}#power-btn[data-astro-cid-a2dol2w4].disabled{pointer-events:none;opacity:.5}#indicator-lamp[data-astro-cid-gufbkjqg].on{border-color:var(--color-star);pointer-events:auto;box-shadow:0 0 2px var(--color-star),0 0 2px var(--color-star) inset}#indicator-lamp[data-astro-cid-gufbkjqg].on #indicator-inner-lamp[data-astro-cid-gufbkjqg]{background-color:var(--color-star)}
