@font-face{font-family:Timeless;src:url(/fonts/TimelessSansVF.woff2)format("woff2-variations");font-weight:300 800;font-style:normal;font-display:block}:root{color-scheme:dark;--color-background:#141414;--color-black:#000;--color-primary:#fff;--color-secondary:#737373;--color-tertiary:#4d4d4d;--color-accent-available:#50c935;--font-sans:"Timeless", system-ui, sans-serif;--font-weight-regular:420;--font-weight-bold:600;--font-size-root:10px;--font-size-body:1.5rem;--width-max:84.8rem;--width-text:56rem;--gap-grid:2.4rem;--gap-section:4.3rem;--radius-button:1rem;--img-border-stroke:#ffffff1a;--img-border-stroke-hover:#fff3}html{font-size:var(--font-size-root);overflow-x:clip}body{background-color:var(--color-background);color:var(--color-primary);font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-variation-settings:"STYL" 0;max-width:var(--width-max);margin-inline:auto;padding:12rem 1.6rem 24rem;line-height:1.6}main{gap:var(--gap-section);flex-direction:column;display:flex}h1,h2,p,ul,li{font-size:var(--font-size-body);margin:0}strong{font-weight:var(--font-weight-bold)}ul{padding-left:0}li{margin-left:2.4rem}section{gap:var(--gap-grid);width:100%;max-width:var(--width-text);flex-direction:column;margin-inline:auto;display:flex}.cta{flex-direction:row;align-items:center;gap:1.6rem;position:relative;&>.button-secondary{margin-left:-.8rem;margin-right:auto}}.hover-card{box-sizing:border-box;width:28rem;color:var(--color-secondary);opacity:0;pointer-events:none;background:linear-gradient(#1f1f1f,#1a1a1a);border:1px solid #ffffff1a;border-radius:1.6rem;flex-direction:column;gap:.8rem;padding:1.5rem;display:flex;position:absolute;bottom:calc(100% + .8rem);right:0;transform:translateY(.8rem);box-shadow:0 .6rem 1.1rem -.5rem #00000038,0 .8rem 1.6rem #0000001f;& strong{color:var(--color-primary)}&[data-for=linkedin]{background:linear-gradient(#1f1f1f,#1b1f23)}&[data-for=github]{background:linear-gradient(#1f1f1f,#0d1117)}&[data-for=figma]{background:linear-gradient(#1f1f1f,#2c2c2c)}&:before{content:"";height:1.6rem;position:absolute;top:100%;left:0;right:0}}.hover-card-header{justify-content:space-between;display:flex}.avatar{border-radius:50%;width:4.8rem;height:4.8rem}.follow-button{border-radius:5rem;margin-top:.6rem}.socials{align-items:center;gap:1.6rem;display:flex}.social-link{fill:var(--color-secondary);transition:fill .1s ease-in-out;display:flex;&:hover{fill:var(--color-primary)}}.profile-picture{border-radius:1.4rem;width:8rem;height:8rem}.available{color:var(--color-accent-available)}.button{font-size:var(--font-size-body);border-radius:999px;align-self:start;padding:.4rem 2rem .6rem;text-decoration:none}.button-primary{background-color:var(--color-primary);color:var(--color-background);&:hover{background-color:#fffc;transition:background-color .1s ease-in}}.button-secondary{background-color:var(--color-tertiary);color:var(--color-primary);box-shadow:inset 0 -2px 2px -2px #ffffffa6,inset 0 2px 2px -2px #ffffffa6;&:hover{background-color:var(--color-primary);color:var(--color-background);transition:background-color .1s ease-in,color .1s ease-in}}h2{font-weight:var(--font-weight-bold)}.experience-list{gap:var(--gap-grid);flex-direction:column;list-style:none;display:flex}.experience-item{gap:1.6rem;margin-left:0;display:flex}.experience-dates{text-overflow:ellipsis;white-space:nowrap;width:12.8rem;color:var(--color-secondary);font-variant-numeric:lining-nums tabular-nums;flex-shrink:0;overflow:hidden}.experience-details{flex-direction:column;flex:1;min-width:0;display:flex}.experience-heading{flex-wrap:wrap;align-items:baseline;column-gap:.8rem;display:flex}.experience-title a{color:inherit;text-decoration:none;&:hover{text-decoration:underline}}.experience-tag{color:var(--color-accent-available);font-size:1.1rem}.experience-toggle{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.experience-panel{height:0;overflow:hidden}.experience-description{color:var(--color-secondary);padding-top:.4rem}@media (width<=600px){.experience-item{flex-direction:column;gap:.4rem}.experience-dates{width:auto}}.projects{gap:var(--gap-grid);max-width:none;& h2{max-width:var(--width-text);width:100%;margin-inline:auto}}.project{flex-direction:column;gap:1.9rem;padding-bottom:3.2rem;display:flex}.project-details{width:100%;max-width:var(--width-text);align-items:flex-start;gap:1.6rem;margin-inline:auto;display:flex}.project-year{width:12.8rem;color:var(--color-secondary);font-variant-numeric:lining-nums tabular-nums;flex-shrink:0}.project-text{flex-direction:column;flex:1;justify-content:center;gap:.4rem;min-width:0;display:flex}.project-description{color:var(--color-secondary)}.gallery-buttons{gap:.8rem;margin-block:-.8rem;display:flex;position:relative;&:after{content:"/";color:var(--color-secondary);font-size:var(--font-size-body);pointer-events:none;justify-content:center;align-items:center;transition:opacity .25s ease-out,transform .25s ease-out;display:flex;position:absolute;inset:0}}.gallery-button{font:inherit;cursor:pointer;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;padding:0;transition:opacity .1s ease-in-out;display:flex;position:relative;& svg path{transition:opacity .1s ease-in-out,fill .1s ease-in-out}}.gallery-count{color:var(--color-primary);font-size:var(--font-size-body);font-variant-numeric:lining-nums tabular-nums;pointer-events:none;justify-content:center;align-items:center;transition:opacity .25s ease-out,transform .25s ease-out;display:flex;position:absolute;inset:0}.gallery-button:last-child .gallery-count{color:var(--color-secondary)}.gallery-buttons:not(:hover,:has(:focus-visible)){& .gallery-button svg path:first-child{fill:#0000}& .gallery-button svg path:last-child{opacity:0}}.gallery-buttons:is(:hover,:has(:focus-visible)){&:after,& .gallery-count{opacity:0;transform:translateY(.8rem)}& .gallery-button:disabled{opacity:.4;cursor:default}}.project-gallery{--gallery-height:48rem;--gallery-inset:calc(50vw - min(var(--width-max), 100vw - 3.2rem) / 2);box-sizing:border-box;width:100vw;margin-inline:calc(-1 * var(--gallery-inset));padding-inline:var(--pad-start,var(--gallery-inset)) var(--pad-end,var(--gallery-inset));scrollbar-width:none;align-items:flex-start;gap:.8rem;display:flex;overflow-x:auto;&::-webkit-scrollbar{display:none}@media (pointer:fine){cursor:grab;&.is-dragging{cursor:grabbing;user-select:none}}}.project-item{flex-direction:column;flex:none;gap:.8rem;margin:0;display:flex}.project-image{height:var(--gallery-height);border-radius:var(--radius-button);background-color:var(--color-secondary);display:flex;overflow:hidden;&.is-loaded{background-color:var(--color-black)}position:relative;&:after{content:"";border:1px solid var(--img-border-stroke);border-radius:inherit;pointer-events:none;transition:border-color .1s ease-in-out;position:absolute;inset:0}&:hover:after{border-color:var(--img-border-stroke-hover)}& img,& video{width:auto;height:100%;display:block}}.project-caption{text-align:left;inline-size:0;min-inline-size:100%;display:none}.project-caption-title{color:var(--color-primary)}.project-caption-text{color:var(--color-secondary)}@media (width<=600px){.project-details{flex-wrap:wrap;gap:.4rem}.project-year,.project-text{flex-basis:100%;width:auto}.gallery-buttons{margin-block:1.2rem 0}.project-gallery{--gallery-height:40rem}}.side-project-grid{grid-template-columns:repeat(2,1fr);gap:1.6rem;list-style:none;display:grid}.side-project{flex-direction:column;gap:.8rem;min-width:0;margin-left:0;display:flex;& img{box-sizing:border-box;object-fit:cover;border:1px solid var(--img-border-stroke);border-radius:var(--radius-button);width:100%;height:24rem;transition:border-color .1s ease-in-out;display:block;&:hover{border-color:var(--img-border-stroke-hover)}}}.side-project-tagline{color:var(--color-secondary)}.bottom-nav{bottom:1.6rem;box-sizing:border-box;width:var(--pill-width,30rem);z-index:10;--lift:0;background-color:var(--color-black);backdrop-filter:blur(8px);border-radius:2.8rem;height:5.6rem;margin-inline:auto;animation:.7s cubic-bezier(.22,1,.36,1) .2s backwards bottom-nav-in;position:fixed;inset-inline:0;box-shadow:inset 0 -.2rem .51rem -.2rem #000,inset 0 0 .18rem #ffffff69}.bottom-nav-items{bottom:.4rem;width:calc(var(--pill-width,30rem) - .8rem);gap:.3rem;margin-inline:auto;display:flex;position:absolute;inset-inline:0}.bottom-nav-item{border-radius:4.5rem;justify-content:center;align-items:center;width:5.6rem;height:4.8rem;display:flex;position:relative;& svg path{transition:fill .1s ease-in-out,fill-opacity .1s ease-in-out}&:focus-visible{outline:none}&:is(:hover,:focus-visible) svg path{fill:var(--color-primary);fill-opacity:1}}.bottom-nav-highlight{opacity:0;pointer-events:none;background-color:#ffffff14;border-radius:4.5rem;width:5.6rem;height:4.8rem;position:absolute;top:0;left:0}@keyframes bottom-nav-in{0%{transform:translateY(calc(100% + 1.6rem))}}@media (prefers-reduced-motion:reduce){.bottom-nav{animation:none}}.bottom-nav-clip{border-radius:inherit;position:absolute;inset:0;overflow:clip}.bottom-nav:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;box-shadow:0 calc(.1rem * var(--lift)) calc(.2rem * var(--lift)) hsla(0, 0%, 0%, calc(.4 * var(--lift))), 0 calc(.3rem * var(--lift)) calc(.6rem * var(--lift)) hsla(0, 0%, 0%, calc(.36 * var(--lift))), 0 calc(.8rem * var(--lift)) calc(1.4rem * var(--lift)) hsla(0, 0%, 0%, calc(.34 * var(--lift))), 0 calc(1.6rem * var(--lift)) calc(2.8rem * var(--lift)) hsla(0, 0%, 0%, calc(.32 * var(--lift))), 0 calc(3.2rem * var(--lift)) calc(5.6rem * var(--lift)) hsla(0, 0%, 0%, calc(.3 * var(--lift))), 0 calc(6.4rem * var(--lift)) calc(11.2rem * var(--lift)) calc(-1.2rem * var(--lift)) hsla(0, 0%, 0%, calc(.28 * var(--lift)));position:absolute;inset:0}.bottom-nav.is-open{--lift:1;width:var(--panel-width,min(56rem, calc(100vw - 3.2rem)));height:var(--panel-height,min(44rem, calc(100dvh - 3.2rem)));& .bottom-nav-items{opacity:0;visibility:hidden;pointer-events:none}& .palette{opacity:1;visibility:visible;pointer-events:auto}}.palette{bottom:0;width:var(--panel-width,min(56rem, calc(100vw - 3.2rem)));height:var(--panel-height,min(44rem, calc(100dvh - 3.2rem)));opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;margin-inline:auto;display:flex;position:absolute;inset-inline:0}.palette-input{box-sizing:border-box;border:0;border-bottom:1px solid var(--img-border-stroke);width:100%;color:var(--color-primary);font:inherit;font-size:var(--font-size-body);background:0 0;outline:0;padding:1.8rem 2.4rem;&::placeholder{color:var(--color-secondary)}}.palette-results{scrollbar-width:none;flex:1;padding:.8rem;overflow-y:auto}.palette-group[hidden]{display:none}.palette-group-title{color:var(--color-secondary);padding:.8rem 1.2rem .4rem;font-size:1.2rem}.palette-group ul{list-style:none}.palette-item{cursor:pointer;border-radius:1rem;align-items:baseline;gap:1.2rem;margin-left:0;padding:.6rem 1.2rem;display:flex;&[hidden]{display:none}&[aria-selected=true]{background-color:#ffffff14}}.palette-item-title{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:60%;overflow:hidden}.palette-item-caption{min-width:0;color:var(--color-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-empty{color:var(--color-secondary);padding:1.2rem}.search-highlight{border-radius:.8rem;animation:1.8s ease-out .35s backwards search-highlight}@keyframes search-highlight{0%{background-color:#ffffff24;box-shadow:0 0 0 .8rem #ffffff24}to{background-color:#fff0;box-shadow:0 0 0 .8rem #fff0}}
