/* Survol du hero (js/hero-fx.js) : viseur aux crochets du logo, lueur, lunette qui ouvre les lettres sur les mondes des jeux. */
.hero.hx-on, .hero.hx-on * { cursor:none; }
.hero.hx-on a, .hero.hx-on button, .hero.hx-on a *, .hero.hx-on button * { cursor:pointer; }
.hero.hx-on .hero-logo { will-change:transform; }

.hx-glow { position:absolute; left:0; top:0; width:1100px; height:1100px; margin:-550px 0 0 -550px; border-radius:50%; background:radial-gradient(closest-side, rgba(255,75,31,.17), rgba(255,75,31,.06) 45%, rgba(255,75,31,0)); opacity:0; transition:opacity .7s ease; pointer-events:none; will-change:transform; }
.hero.hx-on .hx-glow { opacity:1; }

.hx-lens, .hx-marks { pointer-events:none; }
.hx-lens image { transition:opacity .9s ease; }
.hx-ring { fill:none; stroke:var(--verm); stroke-width:2px; vector-effect:non-scaling-stroke; }
.hx-cross { stroke:rgba(255,75,31,.55); stroke-width:1px; vector-effect:non-scaling-stroke; }

.hx-cursor { --s:44px; --c:max(12px, calc(var(--s) * .12)); position:absolute; left:0; top:0; z-index:6; width:0; height:0; opacity:0; pointer-events:none; transition:opacity .3s ease; will-change:transform; }
.hero.hx-on .hx-cursor.is-visible { opacity:1; }
.hx-cursor i { position:absolute; left:0; top:0; width:var(--c); height:var(--c); border:0 solid var(--verm); }
.hx-cursor i:nth-child(1) { border-width:2px 0 0 2px; transform:translate(calc(var(--s) / -2), calc(var(--s) / -2)); }
.hx-cursor i:nth-child(2) { border-width:2px 2px 0 0; transform:translate(calc(var(--s) / 2 - var(--c)), calc(var(--s) / -2)); }
.hx-cursor i:nth-child(3) { border-width:0 2px 2px 0; transform:translate(calc(var(--s) / 2 - var(--c)), calc(var(--s) / 2 - var(--c))); }
.hx-cursor i:nth-child(4) { border-width:0 0 2px 2px; transform:translate(calc(var(--s) / -2), calc(var(--s) / 2 - var(--c))); }
.hx-cursor b { position:absolute; left:-2px; top:-2px; width:4px; height:4px; background:var(--verm); }
.hx-read { position:absolute; left:0; top:0; transform:translate(calc(var(--s) / 2 + 12px), calc(var(--s) / 2 - 8px)); font-family:"JetBrains Mono",monospace; font-size:10px; line-height:1.7; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; color:var(--paper); text-shadow:0 1px 10px rgba(0,0,0,.7); }
.hx-read small { display:block; font-size:9.5px; color:var(--mute); }
.hx-read em { font-style:normal; color:var(--verm); }
