*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.typography{--font-family: initial;--font-weight: initial;--font-style: initial;font-family:var(--font-family);font-weight:var(--font-weight);font-style:var(--font-style)}.app-text-regular{font-family:var(--th-text-font);font-weight:400;font-style:normal}.app-text-light{font-family:var(--th-text-font);font-weight:300;font-style:normal}.app-text-thin{font-family:var(--th-text-font);font-weight:100;font-style:normal}.app-heading-text-bold{font-family:var(--th-heading-font);font-weight:700;font-style:normal}.app-heading-text-black{font-family:var(--th-heading-font);font-weight:900;font-style:normal}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}:root{--th-color-bg: 110, 21%, 95%;--th-color-on-bg: 0, 0%, 100%;--th-color-title: 80, 21%, 8%;--th-color-text: 90, 10%, 25%;--th-color-accent-text: 93, 44%, 36%;--th-spacing-xs: .5rem;--th-spacing-sm: .75rem;--th-spacing-normal: 1rem;--th-spacing-large: 1.25rem;--th-heading-font: "Raleway", sans-serif;--th-text-font: "Lato", sans-serif}body{background-color:hsla(var(--th-color-bg),1)!important;font-family:var(--th-text-font);font-weight:400;font-style:normal}html{scroll-behavior:smooth}.icon{--icon-size: 1rem;width:var(--icon-size);height:var(--icon-size);fill:currentColor}.theme-button.svelte-ui0tvx{--size: 3.1rem;inline-size:var(--size);block-size:var(--size);cursor:pointer}.theme-button.svelte-ui0tvx{padding:.4rem;aspect-ratio:1;border-radius:1000px;background-color:hsla(var(--th-color-on-bg),1)}.theme-button__icon-light.svelte-ui0tvx,.theme-button__icon-dark.svelte-ui0tvx{width:1.5rem;aspect-ratio:1}.arrow-icon.svelte-f6n6u9:is(.arrow-direction-left:where(.svelte-f6n6u9)){transform:translate(180deg)}.navigation-menu.svelte-1phwewr{position:relative}.navigation-menu__trigger.svelte-1phwewr{--size: 3.1rem;inline-size:var(--size);block-size:var(--size);display:none;cursor:pointer;padding:.4rem;aspect-ratio:1;border-radius:1000px;align-items:center;justify-content:center;background-color:hsla(var(--th-color-on-bg),1)}.navigation-menu__trigger.svelte-1phwewr .icon{width:2rem;aspect-ratio:1}.navigation-menu__links.svelte-1phwewr{border-radius:1rem;padding:1rem;gap:.5rem;position:absolute;bottom:-.2rem;right:0;transform:translateY(100%);background-color:hsla(var(--th-color-on-bg),1)}.navigation-menu__links.svelte-1phwewr .navigation-menu__link:where(.svelte-1phwewr){border-radius:1000px;padding-inline:1.25rem;padding-block:.4rem}.navigation-menu__links.svelte-1phwewr .navigation-menu__link:where(.svelte-1phwewr):is(.selected:where(.svelte-1phwewr)){background-color:hsla(var(--th-color-bg),1)}@media (width <= 40rem){.navigation-menu__trigger.svelte-1phwewr{display:flex}}.navbar.svelte-1uhd6l1{height:70px;width:100%;position:sticky;top:0;z-index:100;align-items:center;justify-content:space-between}.navbar__logo.svelte-1uhd6l1{font-weight:600;font-size:1.5rem;color:hsla(var(--th-color-accent-text),1)}.navbar__links.svelte-1uhd6l1{font-size:1rem;padding-inline:.5rem;padding-block:.4rem;background-color:hsla(var(--th-color-on-bg),1);border:1px solid hsla(var(--th-color-accent-text),.3);border-radius:1000px;display:flex;flex-direction:row;gap:1rem}.navbar__links.svelte-1uhd6l1 .navbar__link-wrapper:where(.svelte-1uhd6l1){border-radius:1000px}.navbar__links.svelte-1uhd6l1 .navbar__link-wrapper.selected:where(.svelte-1uhd6l1){background-color:hsla(var(--th-color-bg),1)}.navbar__links.svelte-1uhd6l1 .navbar__link-wrapper:where(.svelte-1uhd6l1):hover:not(.selected){background-color:hsla(var(--th-color-bg),.7)}.navbar__links.svelte-1uhd6l1 .navbar__link:where(.svelte-1uhd6l1){border-radius:100px;padding:.5rem 1rem;display:block;text-decoration:none}.navbar__btn-actions.svelte-1uhd6l1{gap:1rem}.navbar__btn-actions.svelte-1uhd6l1 .theme-button{display:none}@media (prefers-reduced-motion: no-preference){.navbar__link-wrapper.svelte-1uhd6l1{transition:background-color .2s ease}}@media (width <= 48rem){.navbar.svelte-1uhd6l1{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.navbar__links.svelte-1uhd6l1{gap:.5rem}.navbar__links.svelte-1uhd6l1 .navbar__link:where(.svelte-1uhd6l1){padding:.25rem .5rem}}@media (width <= 40rem){.navbar__links.svelte-1uhd6l1{display:none}.navbar__btn-actions.svelte-1uhd6l1{flex-direction:row-reverse}}.hero-footer.svelte-6pujf6{border-top:1px solid hsla(var(--th-color-text),.4);justify-content:space-between;padding-inline:2rem;padding-block:4rem;gap:1rem}.hero-footer__left.svelte-6pujf6{gap:1rem;align-items:center}.hero-footer__brand.svelte-6pujf6{border-right:1px solid hsla(var(--th-color-text),.5)}.hero-footer__text.svelte-6pujf6{padding-left:.75rem}.hero-footer__brand.svelte-6pujf6 .hero-footer__title:where(.svelte-6pujf6){color:hsla(var(--th-color-text),.8);font-size:1.5rem}.hero-footer__brand.svelte-6pujf6 .hero-footer__summary:where(.svelte-6pujf6){font-size:.75rem;color:hsla(var(--th-color-text),.75);max-width:20rem;margin-top:.25rem}.hero-footer__links.svelte-6pujf6{gap:1.25rem;text-transform:uppercase}.hero-footer__links.svelte-6pujf6 .hero-footer__link:where(.svelte-6pujf6){font-size:.85rem;color:hsla(var(--th-color-text),.75);font-weight:600}.hero-footer__copy.svelte-6pujf6{color:hsla(var(--th-color-text),.75);display:block;margin-top:.25rem;font-size:.85rem}.hero-footer__right.svelte-6pujf6{gap:.5rem}.hero-footer__right.svelte-6pujf6 .hero-footer__socials:where(.svelte-6pujf6){gap:1rem}.hero-footer__right.svelte-6pujf6 .hero-footer__mail:where(.svelte-6pujf6){color:hsla(var(--th-color-text),.75);font-size:.85rem}.hero-footer_social-link.svelte-6pujf6 .icon{--icon-size: 1.5rem;color:hsla(var(--th-color-text),.75)}@media (width <= 48rem){.hero-footer.svelte-6pujf6{flex-direction:column;gap:2rem}.hero-footer__left.svelte-6pujf6{flex-direction:column;gap:2rem;align-items:start}.hero-footer__left.svelte-6pujf6 .hero-footer__brand:where(.svelte-6pujf6){border:0}.hero-footer__left.svelte-6pujf6 .hero-footer__text:where(.svelte-6pujf6){padding-left:0}.hero-footer__left.svelte-6pujf6 .hero-footer__copy:where(.svelte-6pujf6){display:none}.hero-footer__right.svelte-6pujf6 .hero-footer__copy:where(.svelte-6pujf6){display:block;margin-top:2rem}}@media (width > 48rem){.hero-footer.svelte-6pujf6{justify-content:space-between;padding-inline:8rem;padding-block:6rem}.hero-footer__left.svelte-6pujf6 .hero-footer__copy:where(.svelte-6pujf6){display:block}.hero-footer__right.svelte-6pujf6 .hero-footer__copy:where(.svelte-6pujf6){display:none}}.timeline-item.svelte-f4q8nb{--raw-color: var(--th-color-accent-text);--color: hsla(var(--raw-color), 1);position:relative}.timeline-item.svelte-f4q8nb:before{--between-space: 1rem;content:"";width:2px;background-color:hsla(var(--raw-color),.5);position:absolute}.timeline-item__indicator.svelte-f4q8nb{--direction: row;display:flex;flex-direction:var(--direction);gap:1rem;align-items:center;justify-content:space-between;position:absolute;top:50%;width:max-content}.timeline-item__indicator.svelte-f4q8nb .timeline-item__label:where(.svelte-f4q8nb){border-radius:.5rem;padding-inline:1rem;padding-block:.35rem;background-color:hsla(var(--raw-color),.25)}.timeline-item__indicator.svelte-f4q8nb .timeline-item__point:where(.svelte-f4q8nb){width:1.25rem;aspect-ratio:1;border-radius:1000px;border:.3125rem solid var(--color);background-color:hsla(var(--th-color-bg),1)}.timeline-card.svelte-f4q8nb{border-radius:.5rem;overflow:hidden;border:1px solid var(--color);max-width:35rem}.timeline-card.svelte-f4q8nb .timeline-card__header:where(.svelte-f4q8nb),.timeline-card.svelte-f4q8nb .timeline-card__content:where(.svelte-f4q8nb){padding-inline:1.5rem;padding-block:.75rem}.timeline-card.svelte-f4q8nb .timeline-card__header:where(.svelte-f4q8nb){background-color:var(--color);color:hsla(var(--th-color-bg),1);font-size:1.1rem;font-weight:500}.timeline-item.svelte-f4q8nb{--line-x-translate: 0;--line-right: initial;--line-left: initial;--margin-right: initial;--margin-left: initial;--card-margin-right: auto;--card-margin-left: auto;--indicator-direction: row;--indicator-x-translate: 0}.timeline-item--left.svelte-f4q8nb{--line-x-translate: 50%;--line-right: 0;--margin-right: 50%;--card-margin-right: 1.5rem;--card-margin-left: auto;--indicator-direction: row-reverse;--indicator-x-translate: calc(100% - .625rem) }.timeline-item--right.svelte-f4q8nb{--line-x-translate: -50%;--line-left: 0;--margin-left: 50%;--card-margin-right: auto;--card-margin-left: 1.5rem;--indicator-direction: row;--indicator-x-translate: calc(-100% + .625rem) }.timeline-item.svelte-f4q8nb:before{transform:translate(var(--line-x-translate));left:var(--line-left);right:var(--line-right)}.timeline-item.svelte-f4q8nb .timeline-item__indicator:where(.svelte-f4q8nb){--direction: var(--indicator-direction);right:var(--line-right);left:var(--line-left);transform:translate(var(--indicator-x-translate)) translateY(-50%)}.timeline-item.svelte-f4q8nb .timeline-card:where(.svelte-f4q8nb){margin-right:var(--card-margin-right);margin-left:var(--card-margin-left)}.timeline-item.svelte-f4q8nb{margin-left:var(--margin-left);margin-right:var(--margin-right)}.timeline-item--start.svelte-f4q8nb:before{top:50%;height:calc(50% + var(--between-space))}.timeline-item--end.svelte-f4q8nb:before{top:0;height:50%}.timeline-item--center.svelte-f4q8nb:before{top:0;height:calc(100% + var(--between-space))}@media (width <= 48rem){.timeline-item--left.svelte-f4q8nb,.timeline-item--right.svelte-f4q8nb{--line-x-translate: -50%;--line-left: 0;--margin-left: 10px;--margin-right: none;--card-margin-right: 0;--card-margin-left: 1.5rem;--indicator-direction: row;--indicator-x-translate: calc(-100% + .625rem) }.timeline-item__label.svelte-f4q8nb{width:max-content;transform:rotate(-90deg) translateY(210%)}}.section-experience.svelte-yujcn{width:inherit;padding-top:70px;justify-content:center;gap:2rem;align-items:center}.section-experience__header.svelte-yujcn{text-align:center;margin-bottom:1rem}.section-experience__title.svelte-yujcn{font-size:3rem;color:hsla(var(--th-color-title),1)}.section-experience__summary.svelte-yujcn{font-size:1rem;color:hsla(var(--th-color-text),.85)}.section-experience__timeline.svelte-yujcn{display:flex;flex-direction:column;gap:1rem;width:80%}@media (width <=48rem){.section-experience__timeline.svelte-yujcn{transform:translate(20px)}}.project-card.svelte-13qhm0i{--max-description-width: initial;--image-width: initial;--image-height: initial;--image-aspect-ratio: initial;background-color:hsla(var(--th-color-on-bg),1);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}.project-card__image.svelte-13qhm0i{width:var(--image-width);height:var(--image-height);aspect-ratio:var(--image-aspect-ratio);border-radius:.5rem}.project-card__content.svelte-13qhm0i .project-card__title:where(.svelte-13qhm0i){color:hsla(var(--th-color-title),1);margin-block-start:1rem;margin-block-end:1rem;font-size:1.25rem}.project-card__content.svelte-13qhm0i .project-card__desc:where(.svelte-13qhm0i){color:hsla(var(--th-color-text),.9);max-width:var(--max-description-width)}.project-card__links.svelte-13qhm0i{margin-top:auto;display:flex;flex-direction:row;gap:2rem}.project-card__links.svelte-13qhm0i :is(.project-card__github-link:where(.svelte-13qhm0i),.project-card__web-link:where(.svelte-13qhm0i)){display:flex;align-items:center;flex-direction:row;gap:.3rem;font-size:1rem}.projects-grid.svelte-1ujsn9o{display:grid;gap:1.5rem}@media (width <= 40rem){.projects-grid.svelte-1ujsn9o{grid-template-columns:1fr;grid-auto-rows:1fr}.projects-grid.svelte-1ujsn9o .project-card{--image-width: 100%;--image-aspect-ratio: 16 / 9}}@media (width <= 64rem) and (width > 40rem){.projects-grid.svelte-1ujsn9o{grid-template-columns:repeat(2,minmax(12rem,28rem))}}@media (width > 64rem){.projects-grid.svelte-1ujsn9o{grid-template-columns:repeat(5,minmax(12rem,14rem));grid-auto-rows:repeat(4,12rem)}.projects-grid.svelte-1ujsn9o .project-card:nth-of-type(1){grid-row:1 / 2;grid-column:1 / 4}.projects-grid.svelte-1ujsn9o .project-card:nth-of-type(2){grid-row:1 / 2;grid-column:4 / 6}.projects-grid.svelte-1ujsn9o .project-card:nth-of-type(3){grid-row:2 / 3;grid-column:1 / 3}.projects-grid.svelte-1ujsn9o .project-card:nth-of-type(4){grid-row:2 / 3;grid-column:3 / 6}.projects-grid.svelte-1ujsn9o .project-card:is(:nth-of-type(1),:nth-of-type(4)){--max-description-width: 23rem;--image-width: 100%;--image-aspect-ratio: 16 / 9}.projects-grid.svelte-1ujsn9o .project-card:is(:nth-of-type(2),:nth-of-type(3)){--image-width: 100%;--image-height: 20rem}}.section-projects.svelte-1bh9ljk{margin-top:5rem;padding-top:70px;width:inherit;justify-content:center;gap:2rem;align-items:center}.section-projects__header.svelte-1bh9ljk{text-align:center;margin-bottom:1rem}.section-projects__title.svelte-1bh9ljk{color:hsla(var(--th-color-title),1);font-size:3rem}.section-projects__summary.svelte-1bh9ljk{color:hsla(var(--th-color-text),.85);font-size:1rem}.section-skills.svelte-1dxi39l{margin-top:5rem;padding-top:70px;width:inherit;justify-content:center;gap:2rem;align-items:center}.section-skills__header.svelte-1dxi39l{text-align:center;margin-bottom:1.5rem}.section-skills__title.svelte-1dxi39l{font-size:3rem;color:hsla(var(--th-color-title),1)}.section-skills__summary.svelte-1dxi39l{font-size:1rem;color:hsla(var(--th-color-text),.85)}.section-skills__groups.svelte-1dxi39l{display:grid;grid-template-columns:repeat(3,minmax(18rem,26rem));gap:2rem}.skill-group.svelte-1dxi39l{border-radius:1.5rem;padding-inline:2.5rem;padding-block:2rem;background-color:hsla(var(--th-color-on-bg),1)}.skill-group__header.svelte-1dxi39l{color:hsla(var(--th-color-title),1);margin-block-end:1.5rem}.skill-group__title.svelte-1dxi39l{font-size:1.35rem;text-align:center;color:hsla(var(--th-color-accent-text),1)}.skill-group__tools.svelte-1dxi39l{display:flex;gap:.5rem;flex-wrap:wrap}.skill-group__tool.svelte-1dxi39l{font-size:.8rem;font-weight:semibold;border-radius:1000px;color:hsla(var(--th-color-on-bg),1);background-color:hsla(var(--th-color-accent-text),1);padding-inline:.6rem;padding-block:.4rem}@media (width <= 40rem){.section-skills__groups.svelte-1dxi39l{grid-template-columns:minmax(18rem,90%);justify-content:center}}@media (width <= 64rem) and (width > 40rem){.section-skills__groups.svelte-1dxi39l{grid-template-columns:repeat(2,minmax(12rem,22rem))}}.contact-section.svelte-1ef1vsp{margin-block:1rem;padding-inline:1.5rem;padding-block:2.1rem}.contact-section__wrapper.svelte-1ef1vsp{background:linear-gradient(hsla(var(--th-color-text),.9),hsla(var(--th-color-text),1));color:#fff;padding-inline:2rem;padding-block:2.1rem;margin:auto;border-radius:2rem;align-items:center;width:100%}.contact-section__title.svelte-1ef1vsp{font-size:1.75rem;margin-bottom:2rem;max-width:100%;text-align:center}.contact-section__send.svelte-1ef1vsp{border-radius:1000px;padding-inline:1.4rem;padding-block:.5rem;margin-inline:auto;color:hsla(var(--th-color-text),1);background-color:hsla(var(--th-color-bg),1);font-size:1.2rem;font-weight:600;margin-bottom:1rem}.contact-section__copy.svelte-1ef1vsp>span:where(.svelte-1ef1vsp){text-decoration:underline}@media (width > 48rem){.contact-section.svelte-1ef1vsp{margin-block:3rem;margin-inline:auto;max-width:max-content}.contact-section__wrapper.svelte-1ef1vsp{padding-inline:4rem;padding-block:3rem}.contact-section__title.svelte-1ef1vsp{font-size:2.5rem}}.section-about.svelte-tfrfxf{width:inherit;min-height:calc(100vh - 70px - (var(--th-spacing-xs) * 2));gap:2rem;display:flex;flex-direction:row;align-items:center;justify-content:center}.section-about__header.svelte-tfrfxf{max-width:35rem}.section-about__header.svelte-tfrfxf .section-about__title:where(.svelte-tfrfxf){font-size:3rem;color:hsla(var(--th-color-title),1)}.section-about__header.svelte-tfrfxf .section-about__title-highlight:where(.svelte-tfrfxf){display:inline-block;padding:.2rem 1.5rem;border-radius:1000px;color:hsla(var(--th-color-bg),1);background-color:hsla(var(--th-color-accent-text),1)}.section-about__avatar.svelte-tfrfxf{max-width:25rem;border-radius:50px}.section-about__header.svelte-tfrfxf .section-about__description:where(.svelte-tfrfxf){margin-block-start:2rem;font-size:1.2rem;color:hsla(var(--th-color-title),.9)}@media (width <= 40rem){.section-about__header.svelte-tfrfxf .section-about__title:where(.svelte-tfrfxf){font-size:2.5rem}.section-about__header.svelte-tfrfxf .section-about__description:where(.svelte-tfrfxf){font-size:1rem}}@media (width <= 48rem){.section-about.svelte-tfrfxf{flex-direction:column}.section-about__header.svelte-tfrfxf .section-about__title:where(.svelte-tfrfxf){text-align:center}.section-about__avatar.svelte-tfrfxf{width:90%}}.navbar,body>.section{padding-inline:var(--th-spacing-large)}@media (width <= 40rem){body{padding-inline:var(--th-spacing-sm)}}
