:root{--color-white: #ffffff;--color-black: #000000;--color-neutral-50: #F9FCFF;--color-neutral-100: #EEF6FF;--color-neutral-200: #DEE9F5;--color-neutral-300: #CBD6E1;--color-neutral-400: #ADB5BF;--color-neutral-500: #85919D;--color-neutral-600: #626D79;--color-neutral-700: #444E5A;--color-neutral-800: #28313C;--color-neutral-900: #141B23;--color-neutral-950: #060C13;--color-primary-50: #F7FDFF;--color-primary-100: #E5F9FF;--color-primary-200: #CFEEF7;--color-primary-300: #BCDAE3;--color-primary-400: #80C0D1;--color-primary-500: #479CB2;--color-primary-600: #1E7A8F;--color-primary-700: #005768;--color-primary-800: #003743;--color-primary-900: #001F26;--color-primary-950: #000E12;--primary-alpha: rgba(30, 122, 143, .24);--fg-primary: var(--color-neutral-50);--fg-secondary: var(--color-neutral-300);--fg-tertiary: var(--color-neutral-400);--fg-on-primary: var(--color-white);--fg-on-secondary: var(--color-neutral-950);--bg-canvas: var(--color-neutral-950);--bg-primary: var(--color-neutral-900);--bg-secondary: var(--color-neutral-800);--bg-tertiary: var(--color-neutral-700);--interactive-primary: var(--color-primary-600);--interactive-primary-hover: var(--color-primary-500);--interactive-primary-active: var(--color-primary-600);--interactive-secondary: var(--color-neutral-50);--interactive-secondary-hover: var(--color-neutral-100);--interactive-secondary-active: var(--color-neutral-50);--interactive-focus: var(--primary-alpha);--border-primary: var(--color-neutral-700);--border-secondary: var(--color-neutral-800);--border-tertiary: var(--color-neutral-900);--font-family-header: "Lora", serif;--font-family-base: "Libre Franklin", sans-serif;--font-size-display-lg: 4.5rem;--font-size-display-md: 3.75rem;--font-size-display-sm: 3rem;--font-size-display-xs: 2.5rem;--font-size-header-lg: 2.25rem;--font-size-header-md: 1.875rem;--font-size-header-sm: 1.5rem;--font-size-header-xs: 1.25rem;--font-size-body-lg: 1.125rem;--font-size-body-md: 1rem;--font-size-body-sm: .875rem;--font-size-body-xs: .75rem;--font-size-label: .75rem;--font-size-small: .75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-display-lg: 5rem;--line-height-display-md: 4.25rem;--line-height-display-sm: 3.5rem;--line-height-display-xs: 3rem;--line-height-header-lg: 2.5rem;--line-height-header-md: 2.25rem;--line-height-header-sm: 2rem;--line-height-header-xs: 1.75rem;--line-height-body-lg: 1.75rem;--line-height-body-md: 1.5rem;--line-height-body-sm: 1.25rem;--line-height-body-xs: 1rem;--line-height-supporting: 1rem;--letter-spacing-lg: -.04em;--letter-spacing-md: -.03em;--letter-spacing-sm: -.02em;--letter-spacing-xs: -.01em;--letter-spacing-supporting: .02em;--spacing-0: 0;--spacing-1: .125rem;--spacing-2: .25rem;--spacing-3: .375rem;--spacing-4: .5rem;--spacing-6: .75rem;--spacing-8: 1rem;--spacing-10: 1.25rem;--spacing-12: 1.5rem;--spacing-16: 2rem;--spacing-20: 2.5rem;--spacing-24: 3rem;--spacing-24: 3.5rem;--spacing-32: 4rem;--spacing-40: 5rem;--spacing-48: 6rem;--spacing-64: 8rem;--spacing-128: 16rem;--width-xxs: 8rem;--width-xs: 14rem;--width-sm: 16rem;--width-md: 23.5rem;--width-lg: 30rem;--width-xl: 48rem;--width-2xl: 62rem;--width-3xl: 80rem;--width-4xl: 96rem;--b-radius-none: 0;--b-radius-xs: .125rem;--b-radius-sm: .25rem;--b-radius-md: .375rem;--b-radius-lg: .5rem;--b-radius-xl: .75rem;--b-radius-2xl: 1rem;--b-radius-3xl: 1.5rem;--b-radius-full: 9999px;--b-width-sm: 1px;--b-width-md: 2px;--b-width-lg: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}input,button,textarea,select{font:inherit}html{font-size:16px}@media(max-width:768px){html{font-size:14px}}body{font-family:var(--font-family-base);font-size:var(--font-size-body-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-md);color:var(--fg-primary);background-color:var(--bg-canvas)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-header);font-weight:var(--font-weight-medium)}h1{font-size:var(--font-size-display-lg);line-height:var(--line-height-display-lg);letter-spacing:var(--letter-spacing-lg)}h2{font-size:var(--font-size-display-md);line-height:var(--line-height-display-md);letter-spacing:var(--letter-spacing-md)}h3{font-size:var(--font-size-display-sm);line-height:var(--line-height-display-sm);letter-spacing:var(--letter-spacing-sm)}h4{font-size:var(--font-size-display-xs);line-height:var(--line-height-display-xs);letter-spacing:var(--letter-spacing-xs)}h5{font-size:var(--font-size-header-lg);line-height:var(--line-height-header-lg);letter-spacing:var(--letter-spacing-xs)}p{max-width:75ch}.text-body-header{font-size:var(--font-size-header-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-header-md)}.text-body-lg{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-lg)}.text-body-sm{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-sm)}.text-supporting-small{font-size:var(--font-size-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-supporting);letter-spacing:var(--letter-spacing-supporting)}.interactive{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.btn{display:flex;justify-content:center;align-items:center;gap:var(--spacing-4);padding:var(--spacing-6) var(--spacing-10);border:none;border-radius:var(--b-radius-lg)}@media(max-width:768px){.btn{min-height:44px}}.btn-primary{color:var(--fg-on-primary);background-color:var(--interactive-primary)}.btn-primary:hover{background-color:var(--interactive-primary-hover)}.btn-primary:active{background-color:var(--interactive-primary-active)}.btn-secondary{color:var(--fg-on-secondary);background-color:var(--interactive-secondary)}.btn-secondary:hover{background-color:var(--interactive-secondary-hover)}.btn-secondary:active{background-color:var(--interactive-secondary-active)}.background__container[data-astro-cid-y3soregm]{position:absolute;inset:0;overflow:hidden;z-index:-1}.noise[data-astro-cid-y3soregm]{position:fixed;inset:0;filter:url(#noise);pointer-events:none;z-index:-1}@media(max-width:376px){.noise[data-astro-cid-y3soregm]{filter:none;background:#ffffff0a}}@media(prefers-reduced-motion:reduce){.noise[data-astro-cid-y3soregm]{filter:none;background:#ffffff0a}}.glow[data-astro-cid-y3soregm]{position:absolute;width:75vw;max-width:1024px;min-width:376px;aspect-ratio:1/1;border-radius:var(--b-radius-full);filter:blur(256px);pointer-events:none;z-index:-2}.glow-1[data-astro-cid-y3soregm]{top:-256px;right:-256px;background:#27425633}.glow-2[data-astro-cid-y3soregm]{top:864px;left:-256px;background:#8ba4b51a}.glow-3[data-astro-cid-y3soregm]{top:2464px;right:-128px;width:85vw;max-width:1256px;background:#27425633}.glow-4[data-astro-cid-y3soregm]{top:4128px;left:-256px;background:#8ba4b51a}@media(max-width:768px){.glow[data-astro-cid-y3soregm]{filter:blur(128px)}}.icon[data-astro-cid-65x7ouem]{display:inline-block;vertical-align:middle}footer[data-astro-cid-mcmxhn6i]{width:100%;background-color:var(--bg-primary)}a[data-astro-cid-mcmxhn6i]{display:flex;align-items:center;text-decoration:none;color:var(--fg-primary)}@media(max-width:1024px){a[data-astro-cid-mcmxhn6i]{min-height:44px}}.footer__body[data-astro-cid-mcmxhn6i]{display:flex;flex-direction:column;gap:var(--spacing-12)}.footer__body[data-astro-cid-mcmxhn6i] .top[data-astro-cid-mcmxhn6i]{display:flex;justify-content:space-between}@media(max-width:768px){.footer__body[data-astro-cid-mcmxhn6i] .top[data-astro-cid-mcmxhn6i]{flex-direction:column;gap:var(--spacing-8)}}.email__container[data-astro-cid-mcmxhn6i],.socials__container[data-astro-cid-mcmxhn6i]{display:flex;flex-direction:column;gap:var(--spacing-4)}.email__header[data-astro-cid-mcmxhn6i],.socials__header[data-astro-cid-mcmxhn6i]{color:var(--fg-secondary)}.socials__items[data-astro-cid-mcmxhn6i]{display:flex;gap:var(--spacing-8)}.divider[data-astro-cid-mcmxhn6i]{align-self:stretch;height:1px;background-color:var(--border-secondary)}.footer__body[data-astro-cid-mcmxhn6i] .bottom[data-astro-cid-mcmxhn6i]{display:flex;flex-direction:column;gap:var(--spacing-32)}.bottom__nav[data-astro-cid-mcmxhn6i]{display:flex;gap:var(--spacing-8)}@media(max-width:768px){.bottom__nav[data-astro-cid-mcmxhn6i]{flex-direction:column}}.bottom__info[data-astro-cid-mcmxhn6i]{display:flex;justify-content:space-between}@media(max-width:768px){.bottom__info[data-astro-cid-mcmxhn6i]{flex-direction:column;align-items:center;gap:var(--spacing-8)}}.location__text[data-astro-cid-mcmxhn6i]{display:inline;white-space:none}.icon__wrapper[data-astro-cid-mcmxhn6i]{padding-inline:var(--spacing-1)}body{position:relative;min-height:100vh}section,footer{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-64) var(--spacing-128)}section .container{display:flex;flex-direction:column;gap:var(--spacing-24);width:100%;max-width:var(--width-3xl)}footer .container{display:flex;flex-direction:column;gap:var(--spacing-64);width:100%;max-width:var(--width-3xl)}@media(max-width:1280px){section,footer{padding:var(--spacing-32) var(--spacing-64)}}@media(max-width:1024px){section,footer{padding:var(--spacing-16) var(--spacing-32)}section .container{gap:var(--spacing-20)}footer .container{gap:var(--spacing-32)}footer{margin-top:var(--spacing-16)}}@media(max-width:480px){section,footer{padding:var(--spacing-16)}}.about__body[data-astro-cid-7myazz2t]{display:flex;gap:var(--spacing-12)}@media(max-width:1024px){.about__body[data-astro-cid-7myazz2t]{flex-direction:column}}.about__image[data-astro-cid-7myazz2t]{width:var(--width-lg);align-self:stretch;border-radius:var(--b-radius-xl);background:#ffffff1a}@media(max-width:1024px){.about__image[data-astro-cid-7myazz2t]{width:100%;height:75vw}}.about__text[data-astro-cid-7myazz2t]{display:flex;flex-direction:column;gap:var(--spacing-12)}:root{--timeline-dot-size: 16px}.timeline__item[data-astro-cid-p7b4wqop]{display:grid;grid-template-columns:200px 1fr;align-items:flex-start;gap:var(--spaccing-128)}@media(max-width:1280px){.timeline__item[data-astro-cid-p7b4wqop]{gap:var(--spaccing-32)}}@media(max-width:1024px){.timeline__item[data-astro-cid-p7b4wqop]{gap:var(--spacing-16)}}@media(max-width:768px){.timeline__item[data-astro-cid-p7b4wqop]{grid-template-columns:1fr;gap:24px}}.timeline__indicator[data-astro-cid-p7b4wqop]{position:sticky;top:var(--spacing-16);display:flex;align-items:center;gap:var(--spacing-4)}@media(max-width:768px){.timeline__indicator[data-astro-cid-p7b4wqop]{position:static}}.timeline__dot[data-astro-cid-p7b4wqop]{width:var(--timeline-dot-size);aspect-ratio:1/1;border-radius:var(--b-radius-full);border:var(--b-width-lg) solid var(--color-primary-800);background-color:var(--interactive-primary);z-index:1}.experience__period[data-astro-cid-p7b4wqop]{display:inline;white-space:nowrap}.experience__info[data-astro-cid-p7b4wqop]{display:flex;flex-direction:column;gap:var(--spacing-8)}@media(max-width:768px){.experience__info[data-astro-cid-p7b4wqop]{padding-left:calc(var(--timeline-dot-size) + var(--spacing-4))}}.experience__company[data-astro-cid-p7b4wqop]{color:var(--fg-secondary)}.experience__body[data-astro-cid-qfbcaeyd]{position:relative}.timeline__line__container[data-astro-cid-qfbcaeyd]{position:absolute;display:flex;justify-content:center;width:16px;height:100%;mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%)}.timeline__line[data-astro-cid-qfbcaeyd]{position:absolute;width:2px;height:100%}.timeline__line[data-astro-cid-qfbcaeyd]:not(.timeline__line--progress){background-color:var(--border-secondary);z-index:0}.timeline__line--progress[data-astro-cid-qfbcaeyd]{background-color:var(--interactive-primary);z-index:0;transform-origin:top;transform:scaleY(0)}.timeline__items[data-astro-cid-qfbcaeyd]{display:flex;flex-direction:column;gap:var(--spacing-24);margin:var(--spacing-8) 0}.hero__content[data-astro-cid-nu6mjmvg]{display:flex;flex-direction:column;gap:var(--spacing-24);max-width:var(--width-xl)}.hero__header[data-astro-cid-nu6mjmvg]{display:flex;flex-direction:column;gap:var(--spacing-8)}.hero__greeting[data-astro-cid-nu6mjmvg]{color:var(--fg-secondary)}.hero__body[data-astro-cid-nu6mjmvg]{display:flex;flex-direction:column;gap:var(--spacing-8)}.hero__actions[data-astro-cid-nu6mjmvg]{display:flex;gap:var(--spacing-4)}.tag[data-astro-cid-blwjyjpt]{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);border-radius:var(--b-radius-lg);border:1px solid var(--border-secondary);background-color:var(--bg-primary)}.project__container[data-astro-cid-mspuyifq]{display:flex;gap:var(--spacing-12)}@media(max-width:1024px){.project__container[data-astro-cid-mspuyifq]{flex-direction:column}}.project__thumbnail[data-astro-cid-mspuyifq]{width:var(--width-md);min-width:40%;align-self:stretch;border-radius:var(--b-radius-xl);background:#ffffff1a}@media(max-width:1024px){.project__thumbnail[data-astro-cid-mspuyifq]{width:100%;height:50vw}}.project__info[data-astro-cid-mspuyifq]{display:flex;flex-direction:column;gap:var(--spacing-16)}.project__body[data-astro-cid-mspuyifq]{display:flex;flex-direction:column;gap:var(--spacing-8)}.project__text[data-astro-cid-mspuyifq]{display:flex;flex-direction:column;gap:var(--spacing-4)}.project__tags[data-astro-cid-mspuyifq]{display:flex;flex-wrap:wrap;gap:var(--spacing-4)}.projects__section[data-astro-cid-sztydw62]{display:flex;flex-direction:column;gap:var(--spacing-16)}.project__cards[data-astro-cid-sztydw62]{display:flex;flex-direction:column;gap:var(--spacing-12)}.divider[data-astro-cid-sztydw62]{height:1px;background-color:var(--border-secondary)}
