/* Rigged: старый терминал оператора, ЭЛТ, табло, радио, автомат. Тусклый свет из одного источника. */
.t-rigged { --glow: rgba(180, 205, 160, .09); }
.rg-hero { padding-block: clamp(20px, 4vw, 44px) clamp(20px, 3vw, 36px); }

/* монитор */
.monitor { position: relative; max-width: 1120px; margin-inline: auto; padding: clamp(10px, 1.8vw, 22px); background: var(--metal-dark); border: 2px solid var(--metal); border-radius: 14px 14px 10px 10px; }
.monitor::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 3; background: url("../img/tex/stains.png") 60% 40% / 520px; opacity: .6; }
.monitor::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 4; background: url("../img/tex/scratches.png") center / cover; opacity: .2; }
.screen { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #000; border-radius: 6px; border: 3px solid #050806; }
.screen img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 50%; }
.screen::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, .28) 0 1px, transparent 1px 3px); }
.screen::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(0, 0, 0, .7) 100%); }
.beam { position: absolute; left: 0; right: 0; top: 50%; height: 3px; z-index: 4; margin-top: -1.5px; background: #f2ead2; opacity: 0; transform-origin: 50% 50%; pointer-events: none; }
.monitor-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 6px 0; position: relative; z-index: 5; }
.led { display: inline-block; width: 8px; height: 8px; background: var(--accent); margin-right: 8px; vertical-align: 1px; }

/* включение ЭЛТ: один раз при загрузке. Только transform и opacity. */
.crt-on .screen img { animation: crt-img .75s cubic-bezier(.3, .6, .3, 1) .15s both; }
.crt-on .beam { animation: crt-beam .75s ease-out .05s both; }
@keyframes crt-img { 0% { transform: scale(1, .004); opacity: 0; } 35% { transform: scale(1, .004); opacity: 1; } 100% { transform: none; opacity: 1; } }
@keyframes crt-beam { 0% { transform: scaleX(0); opacity: 1; } 35% { transform: scaleX(1); opacity: 1; } 55% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: 0; } }

.rg-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 5vw, 64px); align-items: center; margin-top: clamp(24px, 4vw, 44px); }
.rg-logo { width: min(100%, 520px); aspect-ratio: 1000 / 230; }
.rg-intro .tag-line { margin-top: 14px; }
.rg-intro .lead { margin-top: 12px; font-size: 19px; }
.rg-intro .btn-row { margin-top: 22px; }

.rg-about { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); align-items: start; }
.rg-about p + p { margin-top: 14px; }
.rg-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(14px, 2.4vw, 28px); }
.rg-gallery .a { grid-column: 1 / span 12; }
.rg-gallery .b { grid-column: 1 / span 8; }
.rg-gallery .c { grid-column: 9 / span 4; align-self: end; }
.rg-gallery .shot::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, .18) 0 1px, transparent 1px 3px); }

.rg-dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px clamp(20px, 4vw, 56px); align-items: center; }
.terminal { font: 500 14px/1.8 var(--f-mono); color: var(--accent); letter-spacing: .04em; }
.terminal b { color: var(--ink); font-weight: 500; }
.dl-list { display: grid; gap: 12px; margin-top: 16px; }
.signal { position: relative; aspect-ratio: 16 / 9; background: #020403; border: 3px solid #050806; display: grid; place-items: center; text-align: center; overflow: hidden; }
.signal::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, .05) 0 1px, transparent 1px 3px); }
.signal .no { font: 700 clamp(22px, 4vw, 40px)/1 var(--f-head); letter-spacing: .16em; color: var(--accent); animation: blink 1.6s steps(1, end) infinite; }
.signal .sub { margin-top: 10px; font: 500 12px/1.4 var(--f-mono); letter-spacing: .14em; color: var(--muted); text-transform: uppercase; }
@keyframes blink { 0%, 60% { opacity: 1; } 61%, 100% { opacity: .25; } }

@media (max-width: 860px) {
  .rg-intro, .rg-about, .rg-dl { grid-template-columns: 1fr; }
  .rg-gallery .b, .rg-gallery .c { grid-column: 1 / span 12; }
}


.rg-gallery .shot { align-self: start; }
