:root{--consistent-col-width: 17.6rem ;--gallery-sphere-tilt-x: -5deg;--gallery-sphere-tilt-y: 0deg;--gallery-sphere-tilt-z: -4deg;--gallery-sphere-burst-duration: 5.5s;--gallery-sphere-burst-timing: cubic-bezier(.17, .72, .12, 1);--gallery-sphere-burst-rotation: 270deg;--gallery-sphere-burst-scale-start: 0;--gallery-sphere-burst-scale-end: 1.2;--gallery-sphere-burst-dolly-z-factor: -.34;--gallery-sphere-rotate-duration: 96s}#introduction>h1,#introduction>h3{margin-bottom:var(--spacing-none)}.generic-card,.work-experience-card{display:flex;flex-direction:row;margin-bottom:var(--spacing-none);padding-top:var(--spacing-m);padding-bottom:var(--spacing-m);justify-content:space-between;transition:opacity .1s cubic-bezier(.39,.575,.565,1);border-top:1px solid var(--color-quaternary)}.generic-card{box-sizing:border-box!important}.generic-card:last-child{border-bottom:1px solid var(--color-quaternary)}.generic-card>*{margin-bottom:var(--spacing-none)}.generic-card>h3{color:var(--color-primary)}.generic-card>p{color:var(--color-tertiary)}.container>section:not(#gallery){position:relative;z-index:2}.container>section#gallery{position:relative;z-index:1}.container>section#gallery:has(.gallery-lightbox:not([hidden])){z-index:10}#gallery>h1{position:relative;z-index:1}.gallery-container{container-type:size;container-name:gallery;width:100%;max-width:100%;aspect-ratio:1;max-height:min(100vw,88dvh);box-sizing:border-box;--gallery-card-size: clamp(4.5rem, 29.25cqmin, 16.875rem);--gallery-radius-clearance: calc(var(--gallery-card-size) * .56);--gallery-radius: max( 1.5rem, calc(min(50cqw, 50cqh) - var(--gallery-radius-clearance)) );--gallery-sphere-scale: 1;--gallery-image-scale: 1;touch-action:pan-y;perspective:min(calc(var(--gallery-radius) * var(--gallery-sphere-scale, 1) * 3),200vw);perspective-origin:50% 50%;position:relative;overflow-y:clip}.gallery-pivot{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;transform-style:preserve-3d;animation:gallery-pivot-dolly var(--gallery-sphere-burst-duration) var(--gallery-sphere-burst-timing) forwards}@keyframes gallery-pivot-dolly{0%{transform:rotateX(var(--gallery-sphere-tilt-x)) rotateY(var(--gallery-sphere-tilt-y)) rotate(var(--gallery-sphere-tilt-z)) translateZ(calc(var(--gallery-radius, 9rem) * var(--gallery-sphere-burst-dolly-z-factor)))}to{transform:rotateX(var(--gallery-sphere-tilt-x)) rotateY(var(--gallery-sphere-tilt-y)) rotate(var(--gallery-sphere-tilt-z)) translateZ(0)}}.gallery-sphere-stage{position:relative;width:0;height:0;margin:auto;transform-style:preserve-3d;animation:gallery-sphere-burst var(--gallery-sphere-burst-duration) var(--gallery-sphere-burst-timing) forwards;will-change:transform}@keyframes gallery-sphere-burst{0%{transform:scale(var(--gallery-sphere-burst-scale-start)) rotateY(0)}to{transform:scale(var(--gallery-sphere-burst-scale-end)) rotateY(var(--gallery-sphere-burst-rotation))}}.gallery-sphere{position:relative;width:0;height:0;margin:auto;transform-style:preserve-3d;animation:gallery-sphere-rotate var(--gallery-sphere-rotate-duration) linear infinite;will-change:transform}@keyframes gallery-sphere-rotate{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@media(prefers-reduced-motion:reduce){.gallery-pivot{animation:none;transform:rotateX(var(--gallery-sphere-tilt-x)) rotateY(var(--gallery-sphere-tilt-y)) rotate(var(--gallery-sphere-tilt-z))}.gallery-sphere-stage{animation:none;transform:none}.gallery-sphere{animation:none;transform:rotateY(18deg)}}.gallery-container .gallery-item{position:absolute;left:0;top:0;width:var(--gallery-card-size);margin-left:calc(var(--gallery-card-size) * -.5);margin-top:calc(var(--gallery-card-size) * -.5);transform-origin:center center;border-radius:var(--spacing-s);display:block;overflow:visible;background:transparent;aspect-ratio:1;cursor:pointer;transform-style:preserve-3d}.gallery-item-shell{position:relative;width:100%;height:100%;transform-style:preserve-3d}.gallery-item-face{position:absolute;inset:0;border-radius:var(--spacing-s);overflow:hidden;background:var(--color-quaternary);display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}.gallery-item-face--front{transform:translateZ(1px)}.gallery-item-face--back{transform:rotateY(180deg) translateZ(1px)}.gallery-container .gallery-item-face>img,.gallery-container .gallery-item-face>video{width:100%;height:100%;object-fit:cover;user-select:none}.gallery-container .gallery-item:focus-visible{outline:2px solid transparent;outline-offset:2px}@media(max-width:560px){.gallery-container{max-height:min(100vw,78dvh);--gallery-card-size: clamp(3.9375rem, 31.5cqmin, 13.5rem);perspective:min(calc(var(--gallery-radius) * var(--gallery-sphere-scale, 1) * 2.7),180vw)}}.gallery-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);box-sizing:border-box;cursor:zoom-out;background:var(--background-color)}.gallery-lightbox[hidden]{display:none}.gallery-lightbox.is-open{animation:gallery-lightbox-fade-in .15s ease-out}.gallery-lightbox.is-closing{animation:gallery-lightbox-fade-out .15s ease-out forwards;pointer-events:none}@keyframes gallery-lightbox-fade-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-lightbox-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.gallery-lightbox-close{position:fixed;top:var(--spacing-l);right:var(--spacing-l);z-index:10001;width:4.4rem;height:4.4rem;padding:0;border:none;border-radius:50%;font-size:2.8rem;line-height:1;font-family:var(--font-family-sans);color:var(--background-color);background:transparent;cursor:pointer;transition:background .12s ease}.gallery-lightbox-close:hover{background:#515561bf}.gallery-lightbox-close:focus-visible{outline:2px solid var(--background-color);outline-offset:2px}.gallery-lightbox-img,.gallery-lightbox-video{max-width:100%;max-height:min(92vh,100%);width:auto;height:auto;object-fit:contain;pointer-events:auto;border-radius:.8rem}.gallery-lightbox-img{cursor:pointer}.gallery-lightbox-video{cursor:default}.generic-card>.date-year{width:var(--consistent-col-width);color:var(--color-primary)}.generic-card>.title{flex-grow:1;color:var(--color-secondary)}.generic-card>.date-monthday{width:var(--consistent-col-width);text-align:right;color:var(--color-tertiary)}.generic-card:hover{box-shadow:0 1px 0 0 var(--color-quaternary)}.generic-card:last-child:hover{box-shadow:0 1px 0 0 var(--background-color)}.cards-container:hover .generic-card:not(:hover){opacity:.5}.work-experience-card>*{margin-bottom:var(--spacing-none)}.work-experience-card:last-child{border-bottom:1px solid var(--color-quaternary)}.work-experience-card>.work-experience-company{width:var(--consistent-col-width)}.work-experience-card>.work-experience-company>a{text-decoration:none;color:var(--color-primary);border:none}.work-experience-card>.work-experience-company>a:hover{border-bottom:1px solid var(--color-primary)}.work-experience-card>.work-experience-role{flex:1;color:var(--color-secondary)}.work-experience-card>.work-experience-period{color:var(--color-tertiary);font-variant-numeric:tabular-nums}@media(max-width:560px){.date-monthday{display:none}.generic-card>.title{text-align:right}.generic-card>.date-year{text-align:left}.generic-card>p{text-align:right}.work-experience-role{display:none}}
