@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Ubuntu+Sans:wght@300&display=swap";@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}@keyframes expand{0%{transform:scaleX(0);opacity:1}to{transform:scaleX(1);opacity:1}}.accent-bar{position:absolute;width:100vw;height:0px;border:.2vh var(--color-accent-prp) solid;background-color:var(--color-accent-prp);transform-origin:center;transform:scaleX(0);animation:expand 3s cubic-bezier(.12,.28,.89,.39) forwards;animation-delay:.5s;margin-top:clamp(0rem,3vw,1.5rem)}.slide-up-enter-active,.slide-up-leave-active{transition:all .35s ease-out}.slide-up-enter-from{opacity:0;transform:translateY(30px)}.slide-up-leave-to{opacity:0;transform:translateY(-30px)}.hero-title{height:4.5rem;display:flex;justify-content:center;align-items:center;text-align:center;margin:0}.hero-title h2{position:absolute;width:100%;margin:0;font-size:var(--fs-3)}@media (max-width: 768px){.hero-title{height:3.5rem}}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}.pill{text-align:center;padding:.5em 1em;width:fit-content;height:fit-content;margin:.5rem 1rem;border-radius:5rem;cursor:default}.pill--clickable{cursor:pointer;background-color:var(--color-accent-prp)}.pill--clickable .pill__text{color:var(--color-fg)}.pill--skill{background:var(--color-accent-prp-transparent);margin:0}.pill--skill .pill__text{color:var(--color-accent-prp);font-weight:500}.pill__text{font-size:.9rem;line-height:1;margin:0}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}.text-opacity-high,.accordion .accordion-header .header-right .details{opacity:.85}.text-opacity-medium,.accordion .accordion-content .additional-info .location h4,.accordion .accordion-content .additional-info .skills h4{opacity:.55}.text-opacity-low,.accordion .accordion-header .header-right .date{opacity:.5}.accordion{width:100%}.accordion .accordion-item{margin-bottom:1rem}.accordion .accordion-item.secret{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.7}.accordion .accordion-header{cursor:pointer;border:1px solid transparent;border-top:1px solid var(--color-fg);transition:all .3s ease;display:flex;justify-content:space-between;align-items:flex-end;height:fit-content;padding:.5rem 1rem}.accordion .accordion-header .header-left h3{margin:0;font-size:var(--fs-2);font-weight:var(--fw-normal);font-feature-settings:var(--ff-title);background-image:linear-gradient(to right,var(--color-details-grey) 50%,var(--color-fg) 50%);background-size:200% 100%;background-position:right bottom;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .5s ease}.accordion .accordion-header .header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;height:fit-content}.accordion .accordion-header .header-right .date,.accordion .accordion-header .header-right .details{color:var(--color-fg);font-size:var(--fs-base)}.accordion .accordion-header:hover .header-left h3{background-position:left bottom}@media (max-width: 1000px){.accordion{max-height:calc(90vh - 14rem);overflow-y:scroll}.accordion__content{padding-right:1rem;margin-right:-1rem;scroll-behavior:smooth}.accordion .accordion-header{flex-direction:column;align-items:flex-start}.accordion .accordion-header .header-left{text-align:left}.accordion .accordion-header .header-right{flex-direction:row;align-items:center;justify-content:space-between;width:100%}}@media (max-width: 768px){.accordion .accordion-header .header-right{flex-direction:column-reverse}.accordion .accordion-header .header-right .date{text-align:left;align-self:flex-start}.accordion .accordion-header .header-right .details{text-align:right;align-self:flex-end}}.accordion .accordion-content{max-height:0;overflow:hidden;opacity:0;text-align:left;transition:max-height .4s cubic-bezier(.42,0,.58,1),opacity .3s cubic-bezier(.42,0,.58,1);border-top:0px solid var(--color-details-grey)}.accordion .accordion-content.active{max-height:1000px;opacity:1;border-top:1px solid var(--color-details-grey);transition:max-height .6s cubic-bezier(.42,0,.58,1),opacity .4s cubic-bezier(.42,0,.58,1) .15s,border-top-width .1s ease-in}.accordion .accordion-content ul{list-style:none;padding:1.5rem 2rem;margin:0 1rem;font-size:var(--fs-base);line-height:var(--lh-relaxed)}.accordion .accordion-content ul li{margin-bottom:1rem;position:relative}.accordion .accordion-content ul li:before{content:"❯";color:var(--color-accent-prp);position:absolute;left:-1rem;top:-1px}.accordion .accordion-content .additional-info{padding:1.5rem 3rem;display:flex;gap:2rem;border-top:1px solid var(--color-details-grey-transparent);margin:0 1rem}.accordion .accordion-content .additional-info .location,.accordion .accordion-content .additional-info .skills{display:flex;align-items:center;gap:.75rem}.accordion .accordion-content .additional-info .location h4,.accordion .accordion-content .additional-info .skills h4{font-size:var(--fs-xs);margin:0;text-transform:uppercase;letter-spacing:var(--ls-wide)}.accordion .accordion-content .additional-info .location span{font-size:var(--fs-base)}.accordion .accordion-content .additional-info .skills{flex:1}.accordion .accordion-content .additional-info .skills .skills-list{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 768px){.accordion .accordion-content ul{padding:1rem .5rem}.accordion .accordion-content .additional-info{flex-direction:column;padding:1rem}.accordion .accordion-content .additional-info .skills{align-items:start;flex-direction:column}.accordion .accordion-content .additional-info .skills .skills-list{justify-content:start}}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}.conditional-slot-enter-active,.conditional-slot-leave-active{transition:all .5s ease}.conditional-slot-enter-from,.conditional-slot-leave-to{opacity:0;transform:translate(30px)}.tile{color:var(--color-fg);padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.5rem;aspect-ratio:1;text-align:start;height:fit-content;width:100%;position:relative;background-color:transparent;border:1px solid var(--color-fg);transition:transform .3s cubic-bezier(.4,0,.2,1)}.tile:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(97.75,0,255,calc(.3 * var(--gradient-opacity))),transparent 40%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:all .5s cubic-bezier(.4,0,.2,1);opacity:var(--gradient-opacity)}.tile:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:2px;background:radial-gradient(400px circle at var(--mouse-x) var(--mouse-y),rgba(97.75,0,255,calc(.8 * var(--gradient-opacity))),transparent 40%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1)}.tile:hover:after{opacity:1}.tile__title{text-transform:capitalize;display:inline-flex;font-size:var(--fs-2);margin:0;position:relative}.tile--clickable:hover .tile__title:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.tile--clickable.tile--link:hover .tile__title:after{transform:scaleX(1);transform-origin:left}.tile__content{align-items:flex-start;text-align:start;align-self:stretch;font-size:1rem;line-height:1.5;flex:1;display:flex}.tile__content span,.tile__content p{overflow:none;white-space:break-spaces}.tile--small{width:250px}.tile--normal{width:300px}.tile--large{width:350px}.tile--extra-large{width:400px}.tile--clickable{cursor:pointer}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}.text-opacity-low,.projects-container .navigation__arrow,.projects-container .navigation__arrow:disabled{opacity:.5}.projects-container{width:100%;position:relative;padding:1rem 0}.projects-container .projects-scroll{display:flex;gap:2rem;overflow-x:auto;padding:1rem 1rem .25rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-bottom:.25rem;scrollbar-width:none}.projects-container .projects-scroll::-webkit-scrollbar{display:none}.projects-container .projects-scroll .tile{scroll-snap-align:start;min-width:250px;width:auto;max-width:calc(350px - 2rem)}.projects-container .projects-scroll .tile--small{min-width:250px}.projects-container .projects-scroll .tile--large{min-width:400px}.projects-container .projects-scroll .tile--extra-large{min-width:500px}.projects-container .navigation{display:flex;justify-content:center;gap:2rem;padding:.25rem 0}.projects-container .navigation__arrow{background:none;border:none;color:var(--color-fg);font-size:var(--fs-2);cursor:pointer;padding:.5rem;transition:all .3s ease}.projects-container .navigation__arrow:hover:not(:disabled){opacity:1;color:var(--color-accent-prp);transform:scale(1.1)}.projects-container .navigation__arrow:disabled{cursor:default;opacity:.2}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}.contact{width:100%;height:calc(100% - 6rem);justify-content:center;align-items:center;margin-top:2rem;transition:background-color .3s ease-in-out}.contact__content{display:flex;justify-content:center;align-items:center;position:relative;width:100%}@media (max-width: 1000px){.contact__content{flex-direction:column;gap:2rem}}.contact__left{margin-right:2rem;display:flex;flex:1;flex-direction:row;align-items:center;gap:1.5rem;justify-content:flex-end;opacity:0;transform:translate(50px)}.active .contact__left{animation:slideFromRight 1.8s ease forwards}.above .contact__left,.below .contact__left{animation:slideToRight 1s ease forwards}@media (max-width: 1000px){.contact__left{flex-direction:column-reverse;margin-right:0;justify-content:center;transform:translateY(-50px)}.active .contact__left{animation:slideFromBottom 1.8s ease forwards}.above .contact__left,.below .contact__left{animation:slideToBottom 1s ease forwards}}.contact__profile-pic{order:2;width:120px;height:120px;border-radius:50%;object-fit:cover}@media (max-width: 1000px){.contact__profile-pic{width:100px;height:100px}}.contact__email{color:var(--color-fg);font-size:var(--fs-2);font-feature-settings:"ss03" off;transition:color .3s ease}.contact__email:hover{color:var(--color-accent-prp)}@media (max-width: 1000px){.contact__email{font-size:var(--fs-1)}}.contact__divider{width:1px;height:40vh;background-color:var(--color-fg);margin:0 2rem;transform:scaleY(0)}.active .contact__divider{animation:growDivider 1.2s ease forwards}.above .contact__divider,.below .contact__divider{animation:shrinkDivider .8s ease forwards}@media (max-width: 1000px){.contact__divider{width:60vw;height:1px;margin:1rem 0;transform:scaleX(0)}.active .contact__divider{animation:growDividerHorizontal 1.2s ease forwards}.above .contact__divider,.below .contact__divider{animation:shrinkDividerHorizontal .8s ease forwards}}.contact__right{display:flex;flex:1;align-items:center;justify-content:flex-start;overflow:visible;opacity:0;transform:translate(-50px)}.active .contact__right{animation:slideFromLeft 1.8s ease forwards}.above .contact__right,.below .contact__right{animation:slideToLeft 1s ease forwards}@media (max-width: 1000px){.contact__right{justify-content:center;transform:translateY(50px)}.active .contact__right{animation:slideFromTop 1.8s ease forwards}.above .contact__right,.below .contact__right{animation:slideToTop 1s ease forwards}}.contact__social-links{display:flex;align-items:center;overflow:visible}@media (max-width: 1000px){.contact__social-links{gap:1rem}}.contact__social-link{display:flex;transition:all .3s ease;padding:2rem;overflow:visible}.contact__social-link:hover{filter:drop-shadow(0 0 20px rgba(97.75,0,255,.6));transform:translateY(-2px)}.contact__social-link svg{transition:all .3s ease;overflow:visible}@media (max-width: 1000px){.contact__social-link svg{width:48px;height:48px}}@media (max-width: 1000px){.contact__social-link{padding:1rem}}@keyframes slideFromRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideFromTop{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes growDivider{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes growDividerHorizontal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes slideToRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(50px)}}@keyframes slideToLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-50px)}}@keyframes slideToTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}@keyframes slideToBottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50px)}}@keyframes shrinkDivider{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes shrinkDividerHorizontal{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}[data-v-7c7f7725]:root{--color-bg: hsl(0, 0%, 8%);--color-fg: hsl(0, 0%, 91%);--color-fg-t1: hsla(0, 0%, 91%, .1);--color-fg-t3: hsla(0, 0%, 91%, .3);--color-fg-t5: hsla(0, 0%, 91%, .5);--color-fg-t05: hsla(0, 0%, 91%, .05);--color-fg-t08: hsla(0, 0%, 91%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .12);--color-details-grey: hsl(0, 0%, 27%);--color-details-grey-transparent: hsla(0, 0%, 27%, .3);--color-text-grey: hsl(210, 9%, 87%);--bp-tablet: 1000px;--bp-mobile: 768px;--fs-4: clamp(2rem, 5vw, 4rem);--fs-3: clamp(1rem, 5vw + .25rem, 3rem);--fs-2: clamp(.75rem, 4vw + .25rem, 2rem);--fs-1: 1.1rem;--fs-base: clamp(.85rem, 2vw + .25rem, 1rem);--fs-small: .9rem;--fs-xs: .875rem;--hero-padding: clamp(2rem, 5vw, 4rem);--lh-tight: 1.4;--lh-normal: 1.5;--lh-relaxed: 1.6;--fw-normal: 300;--fw-medium: 500;--fw-bold: bold;--ls-tight: -.01em;--ls-normal: 0;--ls-wide: .05em;--ls-wider: .1em;--ff-title: "kern" on, "liga" on;--ff-heading: "kern" on, "ss03" on;--ff-body: "kern" on, "liga" on;font-family:"Alliance No.2","Alliance No.1",Ubuntu Sans,Montserrat,system-ui,system-ui,Helvetica,Arial,sans-serif;line-height:var(--lh-normal);font-weight:var(--fw-normal);overflow-x:hidden;box-sizing:inherit;color:var(--color-fg);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark light}[theme=light][data-v-7c7f7725]{color-scheme:light;--color-bg: hsl(0, 0%, 92%);--color-fg: hsl(0, 0%, 9%);--color-fg-t1: hsla(0, 0%, 9%, .1);--color-fg-t3: hsla(0, 0%, 9%, .3);--color-fg-t5: hsla(0, 0%, 9%, .5);--color-fg-t05: hsla(0, 0%, 9%, .05);--color-fg-t08: hsla(0, 0%, 9%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .22);--color-details-grey: hsl(0, 0%, 73%);--color-details-grey-transparent: hsla(0, 0%, 73%, .3);--color-text-grey: hsl(210, 9%, 13%)}[theme=dark][data-v-7c7f7725]{color-scheme:dark;--color-bg: hsl(0, 0%, 8%);--color-fg: hsl(0, 0%, 91%);--color-fg-t1: hsla(0, 0%, 91%, .1);--color-fg-t3: hsla(0, 0%, 91%, .3);--color-fg-t5: hsla(0, 0%, 91%, .5);--color-fg-t05: hsla(0, 0%, 91%, .05);--color-fg-t08: hsla(0, 0%, 91%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .12);--color-details-grey: hsl(0, 0%, 27%);--color-details-grey-transparent: hsla(0, 0%, 27%, .3);--color-text-grey: hsl(210, 9%, 87%)}a[data-v-7c7f7725]{font-weight:var(--fw-medium);color:#646cff;text-decoration:inherit;font-feature-settings:var(--ff-title)}a[data-v-7c7f7725]:hover{color:#535bf2}h1[data-v-7c7f7725]{font-size:var(--fs-4);font-weight:var(--fw-bold);line-height:1.1;font-feature-settings:var(--ff-title)}h2[data-v-7c7f7725]{font-size:var(--fs-3);font-weight:var(--fw-normal);letter-spacing:var(--ls-wider);font-feature-settings:var(--ff-heading)}h3[data-v-7c7f7725]{font-size:var(--fs-2);font-weight:var(--fw-normal);font-feature-settings:var(--ff-title)}h4[data-v-7c7f7725]{font-size:var(--fs-1);font-weight:var(--fw-normal);letter-spacing:var(--ls-wide)}button[data-v-7c7f7725]{border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button[data-v-7c7f7725]:hover{border-color:#646cff}button[data-v-7c7f7725]:focus,button[data-v-7c7f7725]:focus-visible{outline:4px auto -webkit-focus-ring-color}.card[data-v-7c7f7725]{padding:2em}#app[data-v-7c7f7725]{max-width:1480px;margin:0 auto;padding:2rem;text-align:center;box-sizing:border-box;position:relative;overflow-x:hidden}@media (prefers-color-scheme: light){[data-v-7c7f7725]:root{color:#213547;background-color:#fff}a[data-v-7c7f7725]:hover{color:#747bff}button[data-v-7c7f7725]{background-color:#f9f9f9}}.text-small[data-v-7c7f7725]{font-size:var(--fs-small);line-height:var(--lh-tight)}.text-xs[data-v-7c7f7725]{font-size:var(--fs-xs);letter-spacing:var(--ls-wide)}.text-opacity-high[data-v-7c7f7725],.card__school[data-v-7c7f7725],.card__detail-value[data-v-7c7f7725]{opacity:.85}.text-opacity-medium[data-v-7c7f7725],.card__detail-label[data-v-7c7f7725]{opacity:.55}.text-opacity-low[data-v-7c7f7725],.card__location[data-v-7c7f7725]{opacity:.5}.card[data-v-7c7f7725]{display:flex;flex-direction:column;gap:1rem;padding:2rem;background-color:var(--color-fg-t05);position:relative;overflow:hidden;text-align:left;width:calc((80% - 2rem) / 3);flex:0 0 calc((80% - 2rem) / 3);max-width:500px}.card[data-v-7c7f7725]:hover{background-color:var(--color-fg-t08)}.card__header[data-v-7c7f7725]{display:flex;align-items:center;gap:.5rem;color:var(--color-fg);font-size:var(--fs-xs);letter-spacing:var(--ls-wide)}.card__title[data-v-7c7f7725]{font-size:var(--fs-2);margin:0;color:var(--color-text-grey);font-weight:var(--fw-normal);font-feature-settings:var(--ff-title)}.card__description[data-v-7c7f7725]{color:var(--color-fg);margin:0;line-height:var(--lh-relaxed);font-size:var(--fs-base);display:flex;flex-direction:column;justify-content:space-between;align-items:baseline}.card__location[data-v-7c7f7725]{align-self:flex-end;text-align:right}.card__content[data-v-7c7f7725]{display:flex;flex-direction:column;gap:2rem}.card__coursework[data-v-7c7f7725]{display:flex;flex-direction:column;gap:1rem;border-top:1px solid var(--color-fg-t1);padding-top:1rem}.card__coursework h4[data-v-7c7f7725]{color:var(--color-text-grey);margin:0;font-size:var(--fs-1);font-weight:var(--fw-normal);letter-spacing:var(--ls-wide)}.card__coursework ul[data-v-7c7f7725]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:.5rem}.card__coursework ul li[data-v-7c7f7725]{color:var(--color-fg);font-size:var(--fs-small);line-height:var(--lh-tight);position:relative;padding-left:1rem}.card__coursework ul li[data-v-7c7f7725]:before{position:absolute;left:0;color:var(--color-fg)}.card__details[data-v-7c7f7725]{border-top:1px solid var(--color-details-grey-transparent);padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}.card__detail[data-v-7c7f7725]{display:flex;align-items:baseline;gap:.5rem;font-size:var(--fs-small);line-height:var(--lh-tight)}.card__detail-label[data-v-7c7f7725]{font-weight:var(--fw-medium);min-width:5rem}.card__detail-value[data-v-7c7f7725]{color:var(--color-fg)}@media (max-width: 1000px){.card[data-v-7c7f7725]{width:min(60vw,300px);flex:0 0 min(60vw,300px);max-width:none;height:50vh}.card__description[data-v-7c7f7725]{gap:.25rem;align-items:flex-start}.card__location[data-v-7c7f7725]{align-self:flex-start;text-align:left;font-size:var(--fs-small)}.card__content[data-v-7c7f7725]{overflow-y:auto;max-height:40vh;padding-right:1rem;margin-right:-1rem;scroll-behavior:smooth}}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}[data-v-8e682dba]:root{--color-bg: hsl(0, 0%, 8%);--color-fg: hsl(0, 0%, 91%);--color-fg-t1: hsla(0, 0%, 91%, .1);--color-fg-t3: hsla(0, 0%, 91%, .3);--color-fg-t5: hsla(0, 0%, 91%, .5);--color-fg-t05: hsla(0, 0%, 91%, .05);--color-fg-t08: hsla(0, 0%, 91%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .12);--color-details-grey: hsl(0, 0%, 27%);--color-details-grey-transparent: hsla(0, 0%, 27%, .3);--color-text-grey: hsl(210, 9%, 87%);--bp-tablet: 1000px;--bp-mobile: 768px;--fs-4: clamp(2rem, 5vw, 4rem);--fs-3: clamp(1rem, 5vw + .25rem, 3rem);--fs-2: clamp(.75rem, 4vw + .25rem, 2rem);--fs-1: 1.1rem;--fs-base: clamp(.85rem, 2vw + .25rem, 1rem);--fs-small: .9rem;--fs-xs: .875rem;--hero-padding: clamp(2rem, 5vw, 4rem);--lh-tight: 1.4;--lh-normal: 1.5;--lh-relaxed: 1.6;--fw-normal: 300;--fw-medium: 500;--fw-bold: bold;--ls-tight: -.01em;--ls-normal: 0;--ls-wide: .05em;--ls-wider: .1em;--ff-title: "kern" on, "liga" on;--ff-heading: "kern" on, "ss03" on;--ff-body: "kern" on, "liga" on;font-family:"Alliance No.2","Alliance No.1",Ubuntu Sans,Montserrat,system-ui,system-ui,Helvetica,Arial,sans-serif;line-height:var(--lh-normal);font-weight:var(--fw-normal);overflow-x:hidden;box-sizing:inherit;color:var(--color-fg);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark light}[theme=light][data-v-8e682dba]{color-scheme:light;--color-bg: hsl(0, 0%, 92%);--color-fg: hsl(0, 0%, 9%);--color-fg-t1: hsla(0, 0%, 9%, .1);--color-fg-t3: hsla(0, 0%, 9%, .3);--color-fg-t5: hsla(0, 0%, 9%, .5);--color-fg-t05: hsla(0, 0%, 9%, .05);--color-fg-t08: hsla(0, 0%, 9%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .22);--color-details-grey: hsl(0, 0%, 73%);--color-details-grey-transparent: hsla(0, 0%, 73%, .3);--color-text-grey: hsl(210, 9%, 13%)}[theme=dark][data-v-8e682dba]{color-scheme:dark;--color-bg: hsl(0, 0%, 8%);--color-fg: hsl(0, 0%, 91%);--color-fg-t1: hsla(0, 0%, 91%, .1);--color-fg-t3: hsla(0, 0%, 91%, .3);--color-fg-t5: hsla(0, 0%, 91%, .5);--color-fg-t05: hsla(0, 0%, 91%, .05);--color-fg-t08: hsla(0, 0%, 91%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .12);--color-details-grey: hsl(0, 0%, 27%);--color-details-grey-transparent: hsla(0, 0%, 27%, .3);--color-text-grey: hsl(210, 9%, 87%)}a[data-v-8e682dba]{font-weight:var(--fw-medium);color:#646cff;text-decoration:inherit;font-feature-settings:var(--ff-title)}a[data-v-8e682dba]:hover{color:#535bf2}h1[data-v-8e682dba]{font-size:var(--fs-4);font-weight:var(--fw-bold);line-height:1.1;font-feature-settings:var(--ff-title)}h2[data-v-8e682dba]{font-size:var(--fs-3);font-weight:var(--fw-normal);letter-spacing:var(--ls-wider);font-feature-settings:var(--ff-heading)}h3[data-v-8e682dba]{font-size:var(--fs-2);font-weight:var(--fw-normal);font-feature-settings:var(--ff-title)}h4[data-v-8e682dba]{font-size:var(--fs-1);font-weight:var(--fw-normal);letter-spacing:var(--ls-wide)}button[data-v-8e682dba]{border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button[data-v-8e682dba]:hover{border-color:#646cff}button[data-v-8e682dba]:focus,button[data-v-8e682dba]:focus-visible{outline:4px auto -webkit-focus-ring-color}.card[data-v-8e682dba]{padding:2em}#app[data-v-8e682dba]{max-width:1480px;margin:0 auto;padding:2rem;text-align:center;box-sizing:border-box;position:relative;overflow-x:hidden}@media (prefers-color-scheme: light){[data-v-8e682dba]:root{color:#213547;background-color:#fff}a[data-v-8e682dba]:hover{color:#747bff}button[data-v-8e682dba]{background-color:#f9f9f9}}.text-small[data-v-8e682dba]{font-size:var(--fs-small);line-height:var(--lh-tight)}.text-xs[data-v-8e682dba]{font-size:var(--fs-xs);letter-spacing:var(--ls-wide)}.text-opacity-high[data-v-8e682dba]{opacity:.85}.text-opacity-medium[data-v-8e682dba]{opacity:.55}.text-opacity-low[data-v-8e682dba]{opacity:.5}.section-nav[data-v-8e682dba]{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:100;opacity:0;transition:opacity .3s ease}.section-nav.visible[data-v-8e682dba]{opacity:1}.section-nav__item[data-v-8e682dba]{display:flex;align-items:center;gap:.5rem;cursor:pointer;position:relative}.section-nav__item:hover .section-nav__indicator[data-v-8e682dba]{transition:all .3s ease;height:2rem;background-color:var(--color-fg)}.section-nav__item:hover .section-nav__label[data-v-8e682dba]{opacity:1;transform:translate(0)}.section-nav__indicator[data-v-8e682dba]{width:.5rem;height:.5rem;border-radius:.25rem;background-color:var(--color-fg-t3);transition:all .8s ease-in-out}.section-nav__indicator.active[data-v-8e682dba]{height:2rem;background-color:var(--color-fg)}.section-nav__indicator.past[data-v-8e682dba]{background-color:var(--color-fg-t5)}.section-nav__label[data-v-8e682dba]{font-size:var(--fs-xs);color:var(--color-fg);opacity:0;transform:translate(-1rem);transition:all .3s ease;position:absolute;right:100%;padding-right:.5rem;white-space:nowrap;letter-spacing:var(--ls-wide)}@media (max-width: 1000px){.section-nav[data-v-8e682dba]{right:1rem}}@media (max-width: 768px){.section-nav[data-v-8e682dba]{right:.5rem}.section-nav__label[data-v-8e682dba]{display:none}}@font-face{font-family:"Alliance No.1";src:url(/fonts/AllianceNo.1-Light.otf);font-weight:400;font-style:normal}@font-face{font-family:"Alliance No.2";src:url(/fonts/AllianceNo.2-Light.otf);font-weight:400;font-style:normal;font-feature-settings:"liga" on,"dlig" on}:root{--color-bg: hsl(0, 0%, 8%);--color-fg: hsl(0, 0%, 91%);--color-fg-t1: hsla(0, 0%, 91%, .1);--color-fg-t3: hsla(0, 0%, 91%, .3);--color-fg-t5: hsla(0, 0%, 91%, .5);--color-fg-t05: hsla(0, 0%, 91%, .05);--color-fg-t08: hsla(0, 0%, 91%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .12);--color-details-grey: hsl(0, 0%, 27%);--color-details-grey-transparent: hsla(0, 0%, 27%, .3);--color-text-grey: hsl(210, 9%, 87%);--bp-tablet: 1000px;--bp-mobile: 768px;--fs-4: clamp(2rem, 5vw, 4rem);--fs-3: clamp(1rem, 5vw + .25rem, 3rem);--fs-2: clamp(.75rem, 4vw + .25rem, 2rem);--fs-1: 1.1rem;--fs-base: clamp(.85rem, 2vw + .25rem, 1rem);--fs-small: .9rem;--fs-xs: .875rem;--hero-padding: clamp(2rem, 5vw, 4rem);--lh-tight: 1.4;--lh-normal: 1.5;--lh-relaxed: 1.6;--fw-normal: 300;--fw-medium: 500;--fw-bold: bold;--ls-tight: -.01em;--ls-normal: 0;--ls-wide: .05em;--ls-wider: .1em;--ff-title: "kern" on, "liga" on;--ff-heading: "kern" on, "ss03" on;--ff-body: "kern" on, "liga" on;font-family:"Alliance No.2","Alliance No.1",Ubuntu Sans,Montserrat,system-ui,system-ui,Helvetica,Arial,sans-serif;line-height:var(--lh-normal);font-weight:var(--fw-normal);overflow-x:hidden;box-sizing:inherit;color:var(--color-fg);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark light}[theme=light]{color-scheme:light;--color-bg: hsl(0, 0%, 92%);--color-fg: hsl(0, 0%, 9%);--color-fg-t1: hsla(0, 0%, 9%, .1);--color-fg-t3: hsla(0, 0%, 9%, .3);--color-fg-t5: hsla(0, 0%, 9%, .5);--color-fg-t05: hsla(0, 0%, 9%, .05);--color-fg-t08: hsla(0, 0%, 9%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .22);--color-details-grey: hsl(0, 0%, 73%);--color-details-grey-transparent: hsla(0, 0%, 73%, .3);--color-text-grey: hsl(210, 9%, 13%)}[theme=dark]{color-scheme:dark;--color-bg: hsl(0, 0%, 8%);--color-fg: hsl(0, 0%, 91%);--color-fg-t1: hsla(0, 0%, 91%, .1);--color-fg-t3: hsla(0, 0%, 91%, .3);--color-fg-t5: hsla(0, 0%, 91%, .5);--color-fg-t05: hsla(0, 0%, 91%, .05);--color-fg-t08: hsla(0, 0%, 91%, .08);--color-accent-prp: hsl(263, 100%, 50%);--color-accent-prp-transparent: hsla(263, 100%, 50%, .12);--color-details-grey: hsl(0, 0%, 27%);--color-details-grey-transparent: hsla(0, 0%, 27%, .3);--color-text-grey: hsl(210, 9%, 87%)}a{font-weight:var(--fw-medium);color:#646cff;text-decoration:inherit;font-feature-settings:var(--ff-title)}a:hover{color:#535bf2}h1{font-size:var(--fs-4);font-weight:var(--fw-bold);line-height:1.1;font-feature-settings:var(--ff-title)}h2{font-size:var(--fs-3);font-weight:var(--fw-normal);letter-spacing:var(--ls-wider);font-feature-settings:var(--ff-heading)}h3{font-size:var(--fs-2);font-weight:var(--fw-normal);font-feature-settings:var(--ff-title)}h4{font-size:var(--fs-1);font-weight:var(--fw-normal);letter-spacing:var(--ls-wide)}button{border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1480px;margin:0 auto;padding:2rem;text-align:center;box-sizing:border-box;position:relative;overflow-x:hidden}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.text-small{font-size:var(--fs-small);line-height:var(--lh-tight)}.text-xs{font-size:var(--fs-xs);letter-spacing:var(--ls-wide)}.text-opacity-high{opacity:.85}.text-opacity-medium{opacity:.55}.text-opacity-low{opacity:.5}html,body{margin:0;padding:0;height:100%;width:100%;background-color:var(--color-bg);color:var(--color-text-grey);overflow:hidden}*::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}.container{height:100vh;width:100vw;max-width:100%;overflow:hidden;position:relative;z-index:1;margin:0;padding:0}.home-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:min(100%,1200px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;overflow:visible;padding:0;z-index:10;transition:all .8s ease-in-out,background-color .3s ease-in-out}.home-content.collapsed{top:0;transform:translate(-50%);width:100vw;padding-bottom:var(--hero-padding);background:linear-gradient(to bottom,var(--color-bg) 0%,var(--color-bg) 70%,transparent 100%);transition:all .8s ease-in-out,background-color .3s ease-in-out}.home-content h1{margin:0 0 1rem;color:var(--color-text-grey);font-weight:700;position:relative;padding:0 2rem;transition:font-size .8s ease-in-out,background-color .3s ease-in-out}.section{height:100vh;width:100vw;position:absolute;top:0;left:0;background-color:var(--color-bg);transition:all .8s ease-in-out,background-color .3s ease-in-out;will-change:transform,opacity;margin:0;padding:0}.section.active{transform:translateY(0);opacity:1;visibility:visible;z-index:2}.section:not(.active).above{transform:translateY(-30%);opacity:0}.section:not(.active).below{transform:translateY(100%);opacity:1}.section:not(.active){visibility:hidden;z-index:1}.section-content{height:100%;display:flex;justify-content:flex-start;align-items:flex-start;padding:2rem;position:relative;padding-top:calc(8rem + var(--hero-padding));overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.section-wrapper{width:calc(100% - 8rem);max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start}.section-title{font-size:var(--fs-3);color:var(--color-text-grey);margin:0 0 1rem;font-weight:400;letter-spacing:.1em}.home,.experience,.education,.projects,.contact{background-color:var(--color-bg)}h1,h2{color:var(--color-text-grey);margin:0;padding:0}#app{max-width:100%;padding:0;margin:0;width:100vw;height:100vh;overflow:hidden}.home-section{width:100%;height:100%}@media (max-width: 1000px){.home-content{padding:0 1rem}.section-wrapper{width:calc(100% - 4rem)}}@media (max-width: 768px){.home-content.collapsed{padding:0 1rem}.section-wrapper{margin:0rem;width:100%}}.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}.scroll-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);color:var(--color-fg);z-index:11;animation:bounce 2s infinite;cursor:pointer;border:1px solid var(--color-fg);padding:.5rem;display:flex;justify-content:center;align-items:center;transition:all .3s ease;opacity:.8}.scroll-hint svg{width:40px;height:40px;transition:all .3s ease}.scroll-hint:hover{background-color:var(--color-fg);color:var(--color-bg);opacity:1;animation:none}@media (max-width: 1000px){.scroll-hint svg{width:32px;height:32px}}@media (max-width: 768px){.scroll-hint svg{width:24px;height:24px}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.education-cards{display:flex;gap:2rem;width:100%;overflow-x:auto;padding-bottom:1rem;scroll-behavior:smooth;justify-content:center}@media (max-width: 1000px){.education-cards{scroll-snap-type:x mandatory;padding:0 0vw;gap:5vw;justify-content:flex-start}.education-cards>*{scroll-snap-align:center}}.icon-button{position:fixed;z-index:20;width:40px;height:40px;border:1px solid var(--color-fg);background:transparent;color:var(--color-fg);cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease;padding:.5rem;opacity:.8}.icon-button:hover{background-color:var(--color-fg);color:var(--color-bg);opacity:1}.icon-button span{font-size:var(--fs-small);font-weight:var(--fw-medium)}.theme-toggle{top:2rem;left:2rem}.lang-toggle{position:fixed;top:2rem;right:4rem;z-index:20}.lang-menu{position:absolute;top:100%;right:0;background:var(--color-bg);border:1px solid var(--color-fg);display:flex;flex-direction:column;min-width:80px}.lang-option{padding:.5rem 1rem;background:transparent;border:none;color:var(--color-fg);cursor:pointer;font-size:var(--fs-small);transition:all .3s ease;text-align:center;opacity:.8}.lang-option:hover{background-color:var(--color-fg);color:var(--color-bg);opacity:1}.lang-option.active{opacity:.4;cursor:default}.lang-option.active:hover{background:transparent;color:var(--color-fg)}@media (max-width: 1000px){.theme-toggle{top:1rem;left:1rem}.lang-toggle{top:1rem;right:3.5rem}}
