/* Interaction stays still until hovered; touch devices keep a static layout. */
.hover-polish{position:relative;isolation:isolate}
.hover-shine{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:2}
.hover-shine::before{content:"";position:absolute;inset:-65%;background:linear-gradient(110deg,transparent 40%,rgba(255,242,198,.02) 45%,rgba(255,242,198,.10) 50%,rgba(255,242,198,.02) 55%,transparent 60%);translate:-70% 0;opacity:0;pointer-events:none;transition:translate 1.8s cubic-bezier(.25,.1,.25,1),opacity 1.1s ease}
#main .album-left{animation:none!important}
#main #national-contest .award-convergence{--award-gap:65px}
@media(hover:hover) and (pointer:fine){
 .hover-polish{transition:translate 1.05s cubic-bezier(.25,.1,.25,1),scale 1.2s cubic-bezier(.25,.1,.25,1),box-shadow 1.1s ease,border-color 1.1s ease}
 .hover-polish:hover{translate:0 -2px;scale:1.004;border-color:rgba(240,207,103,.9)!important;box-shadow:0 14px 32px rgba(0,0,0,.2),0 0 0 1px rgba(240,207,103,.22),inset 0 1px 0 rgba(255,240,190,.12)}
 .hover-polish:hover>.hover-shine::before{translate:60% 0;opacity:1}
 .hover-photo img{transition:scale 1.5s cubic-bezier(.25,.1,.25,1);scale:1}
 .hover-photo:hover img{scale:1.012}
}
@keyframes gold-sheen{0%{translate:-70% 0;opacity:0}15%{opacity:1}85%{opacity:1}100%{translate:70% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.hover-polish,.hover-photo img,.award-diploma,.award-trophy{transition:none!important;translate:none!important;scale:1!important}.hover-shine{display:none!important}#main #national-contest .award-convergence:hover{--award-gap:35px}}

#main #national-contest .award-convergence .award-piece{transition:none!important}
