.ang-hero { background: #050505; cursor: crosshair; }
.ang-cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
/* запасной вариант без JS — как в макете */
.ang-fallback { position: absolute; inset: 0; }
.ang-hero.cv-on .ang-fallback { display: none; }
.ang-band { position: absolute; right: 0; top: 0; bottom: 0; width: 38%; background: linear-gradient(90deg, #050505 0%, #F2F2F2 46%, #6A6A6A 70%, #050505 100%); }
.ang-words { position: absolute; left: 0; right: 0; top: 96px; display: flex; flex-direction: column; font-weight: 900; font-size: clamp(64px, 12vw, 172px); line-height: .82; letter-spacing: -.06em; color: #F2F2F2; }
.ang-dots { position: absolute; inset: 0; background-image: radial-gradient(circle, #050505 34%, transparent 37%); background-size: 6px 6px; }
.r-angels .ctl { color: #F2F2F2; }
.r-angels .ctl label { color: #B0B0B0; }
.r-angels .ctl-box { background: #050505; }
.ang-h1 { font-weight: 700; font-size: 32px; letter-spacing: -.03em; line-height: 1.1; }
.r-angels .trk .t { font-size: 20px; }
