document.addEventListener('DOMContentLoaded', function() {
  var goose = document.querySelector('.goose3d');
  if (!goose) return;

  var section = goose.closest('.t-section') || goose.closest('[data-record-type]') || document.querySelector('.t396');

  goose.style.transition = 'transform 0.1s ease-out';
  goose.style.willChange = 'transform';

  section.addEventListener('mousemove', function(e) {
    var r = section.getBoundingClientRect();
    var dx = (e.clientX - r.left - r.width  / 2) / (r.width  / 2);
    var dy = (e.clientY - r.top  - r.height / 2) / (r.height / 2);

    var moveX  = dx * 25;
    var moveY  = dy * 15;
    var rotateY = dx * 12;
    var rotateX = dy * -8;

    goose.style.transform =
      'translate(' + moveX + 'px, ' + moveY + 'px) ' +
      'perspective(800px) ' +
      'rotateY(' + rotateY + 'deg) ' +
      'rotateX(' + rotateX + 'deg) ' +
      'scale(1.04)';
  });

  section.addEventListener('mouseleave', function() {
    goose.style.transform = 'translate(0,0) perspective(800px) rotateY(0deg) rotateX(0deg) scale(1)';
  });
});