/* Customer training videos (training.html), 2026-10-14. EDIT THIS COPY in site-src/training/; build_training.py copies it
   out. Loaded after kb.css: the same tokens, lock box, menu bar and footer. */
.tv-sec{margin:44px 0 0}
.tv-sec h2{font-family:"Archivo";font-weight:700;font-size:26px;letter-spacing:-.01em;margin:0 0 6px;color:var(--ink)}
.tv-lede{color:var(--ink-2);font-size:17px;margin:0 0 20px;max-width:70ch}
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.tv-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow);overflow:hidden;
  text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}
.tv-card:hover,.tv-card:focus-visible{transform:translateY(-2px);border-color:var(--hot)}
.tv-thumb{position:relative;aspect-ratio:16/9;background:#10151c}
.tv-thumb img,.tv-noimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tv-play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(16,21,28,.72);
  border:2px solid rgba(255,255,255,.85)}
.tv-play::after{content:"";position:absolute;left:24px;top:18px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #fff}
.tv-card:hover .tv-play{background:var(--hot);border-color:var(--hot)}
.tv-dur{position:absolute;right:8px;bottom:8px;background:rgba(16,21,28,.85);color:#fff;font-family:"IBM Plex Mono";font-size:12px;padding:2px 7px;border-radius:3px}
.tv-card h3{font-family:"Archivo";font-weight:650;font-size:18px;margin:14px 16px 6px;color:var(--ink)}
.tv-card p{font-size:15px;line-height:1.45;color:var(--ink-2);margin:0 16px 16px}
#tv-player{position:fixed;inset:0;z-index:5000;background:rgba(8,11,14,.86);display:flex;align-items:center;justify-content:center;padding:20px}
#tv-player[hidden]{display:none}
body.tv-open{overflow:hidden}
.tv-box{width:min(1200px,100%);max-height:100%;overflow:auto;background:var(--surface);border-radius:6px;padding:16px 20px 18px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.tv-top{display:flex;align-items:center;justify-content:space-between}
.tv-top .kicker{margin:0}
.tv-x{font-size:30px;line-height:1;background:none;border:0;color:var(--ink-2);cursor:pointer;padding:0 4px}
.tv-x:hover{color:var(--hot)}
.tv-frame{position:relative;aspect-ratio:16/9;background:#000;margin:10px 0 14px;border-radius:3px;overflow:hidden}
.tv-frame video,.tv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.tv-frame.tall{aspect-ratio:9/16;height:min(70vh,1280px);width:auto;max-width:100%;margin-left:auto;margin-right:auto}
.tv-box h2{font-family:"Archivo";font-weight:700;font-size:22px;margin:0 0 6px;color:var(--ink)}
.tv-sum{color:var(--ink-2);font-size:16px;line-height:1.5;margin:0 0 14px;max-width:80ch}
.tv-nav{display:flex;gap:10px;justify-content:space-between}
.tv-nav button{font-family:"Archivo";font-weight:600;font-size:15px;padding:8px 14px;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);color:var(--ink);cursor:pointer}
.tv-nav button:hover:not(:disabled){border-color:var(--hot);color:var(--hot)}
.tv-nav button:disabled{opacity:.4;cursor:default}
@media (max-width:640px){.tv-grid{grid-template-columns:1fr}.tv-box{padding:12px}.tv-sec h2{font-size:22px}}
