.contact{background-color:var(--color-surface-2);border:1px solid var(--color-border-on-surface);border-radius:.75rem;margin-block:6.25rem;padding:4rem}@media not (min-width:56.25rem){.contact{padding-inline:var(--page-padding);max-width:unset;border-inline:none;border-radius:0}}.contact form{margin-block-start:3rem}.contact .contact_confirmation{text-align:center;margin-block-start:3rem}.contact .contact_confirmation>p{text-wrap:balance}
.card-container{counter-reset:card-container 0}.card-container:has(.card-container_cards :nth-child(3)){--width:var(--container-lg-width)}.card-container .card-container_cards{grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:1.5rem;margin-block-start:3rem;display:grid}.card{flex-direction:column;gap:1.25rem;display:flex}.card.count:before{content:counter(card-container);counter-increment:card-container;border:1px solid var(--color-border-on-surface);aspect-ratio:1;height:3.125rem;font-size:var(--fs-lg);border-radius:50%;place-items:center;margin-inline:auto;display:grid}.card>*{text-align:center;margin:0}.card .card_ctas{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.card .card_ctas a:not(.btn){color:var(--color-text-normal)}.card .card_ctas a:not(.btn):hover{color:var(--color-text-emphasis)}
.work-experience{grid-template-columns:max-content 1fr;gap:3rem 2rem;margin-block-start:3rem;display:grid}.work-experience .work-experience_experience{grid-column:1/-1;grid-template-columns:subgrid;row-gap:1.5rem;display:grid}.work-experience .work-experience_experience>h3{grid-column:2}.work-experience .work-experience_experience>*{grid-column:1/-1}.work-experience .work-experience_experience .position{grid-template-columns:subgrid;row-gap:1.25rem;display:grid;position:relative}@supports (inset-inline:anchor(center)){.work-experience .work-experience_experience .position:before{content:"";background-color:var(--color-border-on-surface);position-anchor:--start-date;width:1px;inset-inline:anchor(center);inset-block:calc(anchor(bottom) + 1.5rem)calc(anchor(top --end-date) + 1.5rem);position:absolute}.work-experience .work-experience_experience .position:not(:has(.position_end-date)):before{inset-block-end:0}}.work-experience .work-experience_experience .position>*{grid-column:2;margin:0}@media not (min-width:62.5rem),not (min-height:500px){.work-experience .work-experience_experience .position>.text-wrapper.will-cut-off{--cut-off-height:200px;--mask-opacity:0;grid-template-rows:var(--cut-off-height)max-content;justify-items:start;transition:--mask-opacity .1s linear,--cut-off-height .1s;display:grid}.work-experience .work-experience_experience .position>.text-wrapper.will-cut-off>button{display:block}.work-experience .work-experience_experience .position>.text-wrapper.will-cut-off>p{--cut-off-height:100%;-webkit-mask-image:linear-gradient(.5turn,black,hsl(0 0% 0%/var(--mask-opacity))var(--cut-off-height));mask-image:linear-gradient(.5turn,black,hsl(0 0% 0%/var(--mask-opacity))var(--cut-off-height))}.work-experience .work-experience_experience .position>.text-wrapper.will-cut-off.open{--mask-opacity:1;grid-template-rows:max-content max-content;gap:.5rem}}.work-experience .work-experience_experience .position>.text-wrapper button{color:var(--color-text-link);font-size:var(--fs-p);z-index:2;background:0 0;border:none;padding:0;transition:margin-block-start .2s;display:none}@media (pointer:fine){.work-experience .work-experience_experience .position>.text-wrapper button:hover{text-underline-offset:.125lh;text-decoration:underline}}.work-experience .work-experience_experience .position>time,.work-experience .work-experience_experience .position>.time{font-size:var(--fs-p);color:var(--color-text-normal);grid-column:1;justify-self:center}.work-experience .work-experience_experience .position .position_start-date{anchor-name:--start-date;grid-row:1;align-self:center;animation-range:15vh 25vh}.work-experience .work-experience_experience .position .position_end-date{anchor-name:--end-date;grid-row:2;align-self:end;animation-range:25vh 50vh}@media not (min-width:62.5rem){.work-experience .work-experience_experience .position>time,.work-experience .work-experience_experience .position>.time{text-orientation:sideways;writing-mode:vertical-lr}.work-experience .work-experience_experience .position .position_start-date{grid-row:1/3;align-self:start}.work-experience .work-experience_experience .position .position_end-date{grid-row:2;align-self:end}}@property --mask-opacity{syntax:"<number>";inherits:true;initial-value:0}@property --cut-off-height{syntax:"<length-percentage>";inherits:true;initial-value:200px}@keyframes --open-p{0%{height:var(--cut-off-height)}to{height:auto}}
.home-hero{--overlap-size:7rem;isolation:isolate;flex-direction:column;align-items:center;display:flex}.home-hero>*{text-align:center}.home-hero .image-container{z-index:-1;border-radius:50%;padding:15px;-webkit-mask-image:linear-gradient(#000 45%,#0000 90%);mask-image:linear-gradient(#000 45%,#0000 90%)}.home-hero img{outline:5px solid var(--color-accent);outline-offset:10px;border-radius:50%;width:250px;height:250px}.home-hero h1{margin-block:calc(var(--overlap-size)*-1)0}.home-hero p{text-wrap:balance;margin-block:1.33em}.home-hero p.text-xl{margin-block:.75em 0}.home-hero .home-hero_ctas{flex-wrap:wrap;justify-content:center;gap:.875rem;display:flex}.home-hero .home-hero_stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 2rem;margin-block-start:3rem;display:flex}.home-hero .home-hero_stats li{color:var(--color-text-emphasis);align-items:center;gap:.375lh;display:flex}@media (prefers-reduced-motion:no-preference) and (pointer:fine){.home-hero .home-hero_stats li.school:hover svg{animation:1s forwards --throw-cap}}@media (prefers-reduced-motion:no-preference){.home-hero{--base-animation-delay:0s;--animation-gap:50ms}.home-hero>*{opacity:0;animation:--show .7s var(--easing-overshoot)forwards}.home-hero .image-container{animation-delay:var(--base-animation-delay)}.home-hero h1{animation-delay:calc(var(--base-animation-delay) + var(--animation-gap)*1)}.home-hero p.text-lg{animation-delay:calc(var(--base-animation-delay) + var(--animation-gap)*2)}.home-hero p{animation-delay:calc(var(--base-animation-delay) + var(--animation-gap)*3)}.home-hero .home-hero_ctas{animation-delay:calc(var(--base-animation-delay) + var(--animation-gap)*4)}.home-hero .home-hero_stats{animation-delay:calc(var(--base-animation-delay) + var(--animation-gap)*5)}}@keyframes --throw-cap{0%{translate:0;rotate:0;animation-timing-function:ease-out}50%{animation-timing-function:cubic-bezier(.68,.1,.265,1.55);translate:0 -175%}to{translate:0;rotate:360deg}}@keyframes --show{0%{opacity:0;translate:0 5rem}to{opacity:1;translate:0}}
