/* Walkthrough preview block on service and red teaming pages */
.lv { position: relative; width: var(--sy-container); margin: 0 auto clamp(48px, 6vw, 88px); border: 1px solid var(--sy-line-strong); background: #07080b; overflow: hidden; }
.lv-stage { position: relative; height: clamp(420px, 58vw, 640px); background: radial-gradient(ellipse at 60% 40%, #1a2240, #07080b 70%); }
.lv-stage canvas { display: block; width: 100%; height: 100%; }
.lv-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,7,.92) 0%, rgba(5,6,7,.65) 36%, rgba(5,6,7,0) 62%), linear-gradient(0deg, rgba(5,6,7,.55), rgba(5,6,7,0) 30%); pointer-events: none; }
.lv-over { position: absolute; left: 0; top: 0; bottom: 0; width: min(520px, 100%); padding: clamp(24px, 4vw, 48px); display: flex; flex-direction: column; justify-content: center; z-index: 2; }
.lv-k { margin: 0 0 12px; display: flex; align-items: center; gap: 10px; font: 500 11px var(--sy-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--lvl, #5b7dff); }
.lv-k::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lvl, #5b7dff); box-shadow: 0 0 0 4px rgba(91,125,255,.18); }
.lv-over h2 { margin: 0 0 14px; font-family: var(--sy-display); font-size: clamp(28px, 3.4vw, 44px); font-weight: 600; letter-spacing: -.035em; line-height: 1.04; color: #fff; }
.lv-over p { margin: 0 0 22px; font-size: 16px; line-height: 1.6; color: #c9ccd3; max-width: 44ch; }
.lv-stations { margin: 0 0 24px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.lv-stations li { padding: 5px 10px; border: 1px solid rgba(255,255,255,.18); background: rgba(5,6,7,.5); font: 500 11px var(--sy-mono); color: #d6d8dd; }
.lv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.lv-meta { font: 500 11px var(--sy-mono); letter-spacing: .08em; text-transform: uppercase; color: #9aa0ab; }
.lv-badge { position: absolute; right: 16px; bottom: 14px; z-index: 2; margin: 0; padding: 6px 10px; background: rgba(5,6,7,.7); border: 1px solid var(--sy-line); font: 500 10.5px var(--sy-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--sy-gray); }
@media (max-width: 760px) {
  .lv-stage { height: 300px; } .lv-stage::after { background: linear-gradient(0deg, rgba(5,6,7,.85), rgba(5,6,7,0) 70%); }
  .lv-over { position: relative; width: auto; padding: 22px; background: #07080b; } .lv-badge { bottom: auto; top: 12px; }
}
.rt-jump + .lv, .cb-marquee + .lv { margin-top: clamp(32px, 5vw, 64px); }
