@keyframes reveal-thumbnail{to{opacity:0}}.project-thumb__images{aspect-ratio:1/1;height:auto;position:relative;width:100%}.project-thumb--overlapping-text .project-thumb__images{opacity:0}.project-thumb--overlapping-text .project-thumb__text .project-thumb__images{opacity:1}.project-thumb__image-color{animation:reveal-thumbnail ease forwards;border:none;cursor:pointer;height:100%;opacity:1;transition:none;width:100%}.project-thumb__image-color.project-thumb__image-color--eager,.project-thumb__images--revealed .project-thumb__image-color,.project-thumbs--viewed .project-thumb__image-color{animation:none;opacity:0;transition:opacity var(--transition-duration-fast) ease-out}.project-thumb__slide{display:none;height:100%;position:absolute;width:100%}.project-thumb__slide--active{display:block}.project-thumb__slide--first{display:none}@media(hover:hover)and (min-width:1025px){:is(.page-leave-active,.project-thumbs:has(.project-thumb__link:hover) .project-thumb:not(:has(.project-thumb__link:hover))) .project-thumb__images:not(.project-thumb__images--revealed) .project-thumb__slide--first.project-thumb__slide--active{display:block}.page-leave-active .project-thumb__image-color,.project-thumbs:has(.project-thumb__link:hover) .project-thumb:not(:has(.project-thumb__link:hover)) .project-thumb__image-color{display:block;filter:grayscale(100%);opacity:1}.project-thumbs:has(.project-thumb__link:hover) .project-thumb:not(:has(.project-thumb__link:hover)) .project-thumb__slide--main .project-thumb__image-color{animation-play-state:paused}.project-thumbs:has(.project-thumb__link:hover) .project-thumb:not(:has(.project-thumb__link:hover)) .project-thumb__slide:not(.project-thumb__slide--main) .project-thumb__image-color{animation:none}}@media screen and (min-width:1025px){body.is-keyboard .project-thumbs:has(.project-thumb__link:focus) .project-thumb:not(:has(.project-thumb__link:focus)) .project-thumb__images:not(.project-thumb__images--revealed) .project-thumb__slide--main.project-thumb__slide--active{visibility:hidden}body.is-keyboard .project-thumbs:has(.project-thumb__link:focus) .project-thumb:not(:has(.project-thumb__link:focus)) .project-thumb__images:not(.project-thumb__images--revealed) .project-thumb__slide--first.project-thumb__slide--active{display:block}body.is-keyboard .project-thumbs:has(.project-thumb__link:focus) .project-thumb:not(:has(.project-thumb__link:focus)) .project-thumb__image-color{display:block;filter:grayscale(100%);opacity:1}body.is-keyboard .project-thumbs:has(.project-thumb__link:focus) .project-thumb:not(:has(.project-thumb__link:focus)) .project-thumb__slide--main .project-thumb__image-color{animation-play-state:paused}body.is-keyboard .project-thumbs:has(.project-thumb__link:focus) .project-thumb:not(:has(.project-thumb__link:focus)) .project-thumb__slide:not(.project-thumb__slide--main) .project-thumb__image-color{animation:none}}@keyframes opacity-loading{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.project-thumb{max-width:calc(var(--project-width-thumb, 340px) + var(--width-gutter));padding:calc(var(--width-gutter-half)*.5);position:relative;transition:opacity var(--transition-duration-fast) ease-out}.page-leave-active .project-thumb{opacity:.25}.project-thumb.project-thumb--no-text{padding:0}.project-thumb :not(.project-thumb__link){pointer-events:none}.project-thumb--loading:has(.router-link-active) .project-thumb__images{animation:opacity-loading var(--transition-duration-page) infinite}.project-thumb__background{background-color:var( --project-active-background-color,var(--color-background-light-vibrant) );display:none;height:100%;left:0;opacity:.4;position:absolute;top:0;transition:background-color var(--transition-duration) ease;width:100%;will-change:opacity;z-index:-1}.project-thumb__text{display:flex;flex-direction:column;max-width:calc(var(--font-size-title-page)*10);opacity:0;position:fixed;right:0;top:50%;transform:translate(25%,-50%);transition:transform var(--transition-duration-fast) ease-in-out,opacity var(--transition-duration-fast) ease-in-out,visibility var(--transition-duration-fast) linear var(--transition-duration-fast);visibility:hidden;width:100%;z-index:9}.page-leave-to .project-thumb__text{opacity:1;transform:translate(100%,-50%);transition:transform var(--transition-duration-page) ease-in-out,visibility var(--transition-duration-page) linear var(--transition-duration-page);visibility:hidden}.project-thumb__text--touch{display:none}.project-thumb__text-inner{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#ffffff60;color:var(--project-active-color,currentColor);display:flex;flex-direction:column;gap:var(--width-gutter);padding:var(--width-gutter) var(--font-size-title-page) var(--width-gutter) var(--width-gutter);position:relative;transition:color var(--transition-duration) ease}.project-thumb__text-footer{align-items:flex-end;display:flex;flex-direction:row;gap:var(--width-gutter);justify-content:space-between;width:100%}.project-thumb__text-slides{flex:1 1 var(--project-width-thumb-min,226px);max-width:var(--project-width-thumb-min,226px)}.project-thumb__arrow{background-color:currentColor;clip-path:polygon(0 33.3334%,50% 33.3334%,50% 0,100% 50%,50% 100%,50% 66.6667%,0 66.6667%);height:1.25em;margin:1em 0 0 auto;opacity:.2;position:relative;width:1.25em}.project-thumb__link{height:100%;left:0;position:absolute;top:0;width:100%}.project-thumb__link:focus{outline:none}.project-thumb__link--touch{display:none}@media screen and (min-width:1025px){body.is-keyboard .project-thumbs:has(.project-thumb__link:focus) .project-thumb:not:has(.project-thumb__link:focus){opacity:.25}body.is-keyboard .project-thumb:has(.project-thumb__link:focus) .project-thumb__background{display:block}body.is-keyboard .project-thumb--no-text:has(.project-thumb__link:focus) .project-thumb__background{display:none}body.is-keyboard .project-thumb:has(.project-thumb__link:focus) .project-thumb__text{opacity:1;transform:translateY(-50%);transition:transform var(--transition-duration-fast) ease-in-out,opacity var(--transition-duration-fast) ease-in-out,visibility var(--transition-duration-fast) linear 0s;visibility:visible}}@media(hover:hover)and (min-width:1025px){.project-thumbs:has(.project-thumb__link:hover) .project-thumb:not:has(.project-thumb__link:hover){opacity:.25}.project-thumb:has(.project-thumb__link:hover) .project-thumb__background{display:block}.project-thumb--no-text:has(.project-thumb__link:hover) .project-thumb__background{display:none}.project-thumb:has(.project-thumb__link:hover) .project-thumb__text{opacity:1;transform:translateY(-50%);transition:transform var(--transition-duration-fast) ease-in-out,opacity var(--transition-duration-fast) ease-in-out,visibility var(--transition-duration-fast) linear 0s;visibility:visible}}@media screen and (hover:none),screen and (max-width:1024px),screen and (pointer:coarse){.page-leave-active .project-thumb{opacity:1}.project-thumb__indicator{background-color:var( --project-active-background-color,var(--color-background-light-vibrant) );border-radius:50%;flex:0 0 .5em;height:.5em;margin-top:calc(var(--font-size-caption)*.5 - .05em);min-width:.5em;opacity:1;position:relative;transition:background-color var(--transition-duration) ease;width:.5em}.project-thumb__text{display:none}.project-thumb__text--touch{display:flex;flex-direction:row;gap:.5em;margin-top:.25em;max-width:none;opacity:1;padding-right:1em;position:relative;right:auto;text-wrap:balance;top:auto;transform:none;transition:none;visibility:visible}.page-leave-to .project-thumb__text--touch,.page-leave-to .project-thumb:has(.project-thumb__link:hover) .project-thumb__text--touch{opacity:1;transform:none;transition:none;visibility:visible}.project-thumb__link,.project-thumb__text-footer{display:none}.project-thumb__link--touch{display:block}}@media screen and (max-width:767px){.project-thumb{max-width:none;width:100%}}
