.ach-img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }

/* Наклон значка за курсором + блик по силуэту (металл/эмаль «играют» на свету). Переменные ставит illustration_tilt.js */
.ach-tilt { position: relative; display: block; transform: perspective(520px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(var(--ts, 1)); transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); will-change: transform; }
.ach-tilt.is-tilting { --ts: 1.05; transition: transform 0.12s ease-out; }
.ach-glare { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.45s ease;
  -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat;
  background: linear-gradient(115deg, rgba(255,255,255,0) calc(var(--gx, 50%) - 34%), rgba(242,182,59,0.6) calc(var(--gx, 50%) - 14%), rgba(255,255,255,0.8) var(--gx, 50%), rgba(111,209,166,0.6) calc(var(--gx, 50%) + 14%), rgba(255,255,255,0) calc(var(--gx, 50%) + 34%));
  mix-blend-mode: overlay; }
/* Блик-«зайчик» от источника света под курсором */
.ach-glare--spot { background: radial-gradient(circle at var(--gx, 50%) var(--gy, 30%), rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.12) 20%, rgba(255,255,255,0) 40%); mix-blend-mode: screen; }
.ach-tilt.is-tilting .ach-img { filter: brightness(1.06) saturate(1.08); }
.ach-tilt.is-tilting .ach-glare { opacity: 1; }

