/* Content stays visible even if JavaScript or animation support is unavailable. */
.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none!important}
@media(prefers-reduced-motion:no-preference){
 .work-tile,.social-card,.sale-option,.work-group{transition:box-shadow .28s ease,border-color .28s ease,translate .28s ease}
 .btn,.work-jumps a{transition:background .25s ease,box-shadow .25s ease,translate .25s ease}
 .work-icon svg,.btn-icon,.work-link>span,.sale-option b{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
 .sluzby-card-img{transition:transform .65s cubic-bezier(.2,.8,.2,1)}
 .work-group[open] .work-group-body{animation:work-open .32s ease both}
 .sale-dialog[open]{animation:dialog-enter .3s cubic-bezier(.2,.8,.2,1) both}
 .sale-dialog[open]::backdrop{animation:backdrop-enter .25s ease both}
 .btn:active,.work-jumps a:active{translate:0 1px}
 @media(hover:hover) and (pointer:fine){
  .work-tile:hover,.social-card:hover,.sale-option:hover{translate:0 -5px;box-shadow:0 14px 30px #35270914}
  .work-tile:hover .work-icon svg{transform:rotate(-7deg) scale(1.12)}
  .work-tile:hover .work-link>span,.sale-option:hover b{transform:translateX(5px)}
  .btn:hover,.work-jumps a:hover{translate:0 -3px;box-shadow:0 8px 22px #35270920}
  .btn:hover .btn-icon{transform:rotate(-6deg)}
  .sluzby-card:hover .sluzby-card-img{transform:scale(1.055)}
  .work-group:hover{border-color:var(--gold)}
 }
}
@keyframes work-open{from{opacity:.45;translate:0 -7px}to{opacity:1;translate:0 0}}
@keyframes dialog-enter{from{opacity:0;translate:0 16px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}

/* Reveal effects never change layout or the browser scroll anchor. */
body{overflow-anchor:none}
.motion-pending{opacity:0}
.reveal.motion-pending,.reveal-left.motion-pending,.reveal-right.motion-pending,.reveal-scale.motion-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1!important}}
