/* Премиум слоят (premium.js): 3D платно в hero, маски за изплуващия текст, курсор. */
.pm-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.pm-wi, .pm-c { display: inline-block; will-change: transform; }

.pm-gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity .8s var(--ease); }
.pm-gl.on { opacity: 1; }

.pm-dot, .pm-ring { position: fixed; left: 0; top: 0; z-index: 50; pointer-events: none; border-radius: 50%; opacity: 0; transition: opacity .3s; }
.pm-cur .pm-dot, .pm-cur .pm-ring { opacity: 1; }
.pm-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; background: var(--accent); }
.pm-ring { width: 38px; height: 38px; margin: -19px 0 0 -19px; border: 1.5px solid color-mix(in srgb, var(--ink) 45%, transparent);
  transition: opacity .3s, width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), background .35s; }
.pm-ring.on { width: 70px; height: 70px; margin: -35px 0 0 -35px; background: color-mix(in srgb, var(--accent) 14%, transparent); border-color: var(--accent); }
@media (pointer: fine) { .pm-cur, .pm-cur a, .pm-cur .b { cursor: none; } }


