@font-face{font-family:favorit;src:url(/fonts/favorit.ttf) format("truetype");font-display:swap}html{overflow-y:auto;-webkit-text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-color:#ffffff}img{max-width:100%;display:block}.gallery-card{content-visibility:auto;contain-intrinsic-size:1px 600px}.programming-tile{content-visibility:auto;contain-intrinsic-size:1px 60px}:focus-visible{outline:2px solid #6c5cb7;outline-offset:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmer-wave{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes shimmer-pulse{0%,to{background-color:#ebebeb}50%{background-color:#e0e0e0}}.shimmer{position:relative;overflow:hidden;background-color:#ebebeb;animation:shimmer-pulse 2s ease-in-out infinite;isolation:isolate}.shimmer:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.3) 25%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.3) 75%,rgba(255,255,255,0));animation:shimmer-wave 1.8s ease-in-out infinite;will-change:transform;z-index:1;pointer-events:none}.shimmer.is-loaded{animation:none;background-color:transparent}.shimmer.is-loaded:after{animation:none;display:none}@media (hover:hover) and (pointer:fine){.gallery-card-image-container:hover .gallery-card-image{transform:scale(1.05)}.hover-highlight{transition:background-color .2s ease}.hover-highlight:focus-visible,.hover-highlight:hover{background-color:#E6E6FA;outline:none}}.nav-link{background:transparent;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}.custom-cursor.cursor--hover{width:18px!important;height:18px!important;margin:-3px 0 0 -3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::view-transition-old(root){animation:fade-out .3s ease-out both}::view-transition-new(root){animation:fade-in .3s ease-in both}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.shimmer:after{display:none}::view-transition-new(root),::view-transition-old(root){animation:none!important}}