/* ===== Тур по сайту (3D-пролёт) ===== */

@keyframes qc-rise{from{opacity:0;transform:translateY(60px) skewY(4deg)}to{opacity:1;transform:translateY(0) skewY(0)}}
@keyframes qc-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes qc-pulse{0%{box-shadow:0 0 0 0 rgba(255,122,69,.7)}70%{box-shadow:0 0 0 12px rgba(255,122,69,0)}100%{box-shadow:0 0 0 0 rgba(255,122,69,0)}}
@keyframes qc-cue{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(10px);opacity:1}}
@keyframes qc-hum{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes qc-shine{0%{transform:translateX(-120%) skewX(-20deg)}60%,100%{transform:translateX(320%) skewX(-20deg)}}
.qc-rise{opacity:0;animation:qc-rise 1s cubic-bezier(.2,.7,.2,1) forwards}
.qc-d1{animation-delay:.1s}.qc-d2{animation-delay:.28s}.qc-d3{animation-delay:.46s}.qc-d4{animation-delay:.64s}
.qc-bob{animation:qc-bob 4.6s ease-in-out infinite}
.qc-bob2{animation:qc-bob 5.8s ease-in-out infinite;animation-delay:-1.6s}
.qc-bob3{animation:qc-bob 6.4s ease-in-out infinite;animation-delay:-3.1s}
.qc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#FF7A45;animation:qc-pulse 1.8s infinite}
.qc-cue{animation:qc-cue 1.8s ease-in-out infinite}
.qc-hum{animation:qc-hum 3.2s ease-in-out infinite}
.qc-btn{position:relative;overflow:hidden;cursor:pointer;transition:transform .18s ease,filter .18s ease}
.qc-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.qc-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.qc-shine::after{content:"";position:absolute;top:0;left:0;width:36%;height:100%;background:rgba(255,255,255,.55);animation:qc-shine 3.6s ease-in-out infinite}
.qc-grid-plane{background-image:linear-gradient(color-mix(in srgb,var(--accent) 38%,transparent) 2px,transparent 2px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 38%,transparent) 2px,transparent 2px);background-size:130px 130px}
.qc-title{text-shadow:calc(var(--ab) * -1) 0 rgba(255,60,90,.85),var(--ab) 0 rgba(53,224,255,.85)}

.tour-stage{position:sticky;top:0;height:760px;overflow:hidden;background:#07080C;perspective:900px;perspective-origin:50% 50%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);--ab:0px}
.qc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warn);animation:pulse 1.8s infinite}
.qc-btn{position:relative;overflow:hidden;cursor:pointer;transition:transform .18s ease,filter .18s ease}.qc-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
