/* Lightweight product illustrations. No stock images, no blocking JS. */
.fc__viz,.st__viz,.tutor__visual{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-2),var(--surface-1));border-radius:14px;margin:14px 0 16px;min-height:92px}
.fc__viz:before,.tutor__visual:before{content:"";position:absolute;inset:auto -20% -55% 20%;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(15,157,99,.22),transparent 66%);animation:wuFloat 5s ease-in-out infinite}
.v-video .screen{position:absolute;inset:14px 18px;border-radius:9px;background:#101b17;padding:12px}.v-video .screen:before{content:"▶";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#23c982;color:#fff;margin:auto}.v-video .screen:after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:3px;background:linear-gradient(90deg,#23c982 58%,#31413b 58%);animation:wuProgress 4s linear infinite}
.v-live{display:flex;align-items:center;justify-content:center;gap:5px}.v-live i{display:block;width:5px;border-radius:8px;background:#17b977;animation:wuWave 1.1s ease-in-out infinite}.v-live i:nth-child(1){height:18px}.v-live i:nth-child(2){height:42px;animation-delay:.12s}.v-live i:nth-child(3){height:27px;animation-delay:.24s}.v-live i:nth-child(4){height:52px;animation-delay:.36s}.v-live i:nth-child(5){height:30px;animation-delay:.48s}.v-live i:nth-child(6){height:20px;animation-delay:.6s}
.v-code{padding:14px 18px;font:600 11px/1.75 'JetBrains Mono',monospace}.v-code span{display:block;width:80%;height:7px;margin:7px 0;border-radius:5px;background:var(--line)}.v-code span:nth-child(2){width:58%;background:rgba(15,157,99,.45)}.v-code span:nth-child(3){width:68%}.v-code:after{content:"_";color:#0f9d63;animation:wuBlink .8s steps(1) infinite}
.v-cert{display:grid;place-items:center}.v-cert .seal{width:52px;height:52px;border:3px double #0f9d63;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#0f9d63;transform:rotate(-7deg);animation:wuSeal 4s ease-in-out infinite}.v-cert:after{content:"WEBUSTOZ · VERIFIED";position:absolute;bottom:10px;font:700 9px 'JetBrains Mono';letter-spacing:.08em;color:var(--ink-400)}
.steps{position:relative}.st__viz{height:62px;min-height:62px}.st__viz:before{content:"";position:absolute;left:12px;right:12px;top:29px;height:3px;background:var(--line);border-radius:3px}.st__viz:after{content:"";position:absolute;left:12px;top:23px;width:15px;height:15px;border-radius:50%;background:#14b879;box-shadow:0 0 0 6px rgba(20,184,121,.12);animation:wuStep 3.8s ease-in-out infinite}
.livecard__stage{height:128px;border-radius:14px;margin:18px 0 8px;background:linear-gradient(135deg,#0e1a16,#17372b);position:relative;overflow:hidden}.livecard__stage .person{position:absolute;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#61dda9,#0f9d63);top:28px}.livecard__stage .person:nth-child(1){left:18%}.livecard__stage .person:nth-child(2){left:43%;animation:wuFloat 3.2s ease-in-out infinite}.livecard__stage .person:nth-child(3){left:68%}.livecard__stage:after{content:"LIVE";position:absolute;right:12px;top:12px;background:#ef4444;color:white;border-radius:999px;padding:4px 8px;font:800 9px Manrope;letter-spacing:.08em;animation:wuBlink 1.5s ease-in-out infinite}
.wccard:after{content:"WC";position:absolute;right:18px;top:18px;width:58px;height:58px;border-radius:50%;border:2px solid rgba(15,157,99,.35);display:grid;place-items:center;font:800 17px Manrope;color:#0f9d63;animation:wuCoin 5s linear infinite}
.tutor{align-items:center}.tutor__visual{width:180px;min-width:180px;height:180px;display:grid;place-items:center}.tutor__visual .terminal{width:132px;border-radius:10px;background:#0d1713;color:#c5f4df;padding:12px;font:600 10px/1.6 'JetBrains Mono';box-shadow:0 16px 30px rgba(0,0,0,.2)}.tutor__visual .terminal b{color:#35d493}.tutor__av{display:none!important}
.shot__v:after{content:"def learn():\A  practice()\A  build()\A  return progress";white-space:pre;position:absolute;left:8%;bottom:14%;padding:12px 14px;border-radius:10px;background:rgba(9,19,15,.88);color:#c9f9e4;font:600 10px/1.65 'JetBrains Mono';text-align:left;box-shadow:0 10px 35px rgba(0,0,0,.18);animation:wuFloat 4s ease-in-out infinite}
.wu-video-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(140deg,#102019,#17382b);color:#e8fff5}.wu-video-empty i{width:52px;height:52px;border-radius:50%;border:3px solid #3ed49a;border-top-color:transparent;animation:spin 2.3s linear infinite}.player iframe,.player video{width:100%;height:100%;min-height:280px;border:0;border-radius:inherit;background:#000}.is-locked{opacity:.62;cursor:not-allowed}.wu-access-card{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}
@keyframes wuFloat{50%{transform:translateY(-8px)}}@keyframes wuProgress{from{transform:scaleX(.25);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes wuWave{50%{transform:scaleY(.45);opacity:.6}}@keyframes wuBlink{50%{opacity:.35}}@keyframes wuSeal{50%{transform:rotate(4deg) scale(1.04)}}@keyframes wuStep{0%{left:12px}65%,100%{left:calc(100% - 27px)}}@keyframes wuCoin{to{transform:rotateY(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.tutor__visual{width:100%;height:145px}.wu-access-card{align-items:stretch;flex-direction:column}.shot__v:after{font-size:8px;left:5%}}
@media(prefers-reduced-motion:reduce){.fc__viz:before,.v-video .screen:after,.v-live i,.v-code:after,.v-cert .seal,.st__viz:after,.livecard__stage .person,.livecard__stage:after,.wccard:after,.shot__v:after,.wu-video-empty i{animation:none!important}}
