/* ── slide viewer ───────────────────────────────────── */
.vw{
  position:fixed;inset:0;z-index:120;display:none;flex-direction:column;
  background:rgba(6,8,11,.975);backdrop-filter:blur(18px);
}
.vw.open{display:flex;animation:fadein .38s var(--e)}
@keyframes fadein{from{opacity:0}to{opacity:1}}

.vt{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px clamp(18px,4vw,42px);border-bottom:1px solid var(--line)}
.vt .who{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--w3);
  text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xb{border:1px solid var(--line-2);color:var(--w2);padding:8px 16px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;transition:.35s var(--e)}
.xb:hover{border-color:var(--lum);color:var(--lum)}

.vs{flex:1;display:grid;place-items:center;padding:clamp(18px,4vw,44px);overflow:auto}
.sl{width:min(920px,100%);animation:slin .5s var(--e-out)}
@keyframes slin{from{opacity:0;transform:translateY(16px) scale(.995)}to{opacity:1;transform:none}}
.sl .sc{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--lum);margin-bottom:20px;min-height:11px}
.sl h3{font-weight:600;font-size:clamp(23px,3.8vw,42px);line-height:1.14;letter-spacing:-.045em;
  margin-bottom:28px;text-wrap:balance}
.sl ul{list-style:none;display:flex;flex-direction:column;gap:13px;max-width:64ch}
.sl li{font-size:15px;color:var(--w2);padding-left:20px;position:relative;line-height:1.68;font-weight:350}
.sl li::before{content:"";position:absolute;left:0;top:.68em;width:9px;height:1px;background:var(--lum)}
.nt{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--w3);
  max-width:68ch;line-height:1.75;font-weight:350}
.nt b{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.22em;color:var(--w2);
  margin-bottom:9px;font-weight:500}

.vb{display:flex;align-items:center;justify-content:center;gap:22px;padding:18px;
  border-top:1px solid var(--line);position:relative}
.nb{border:1px solid var(--line-2);color:var(--w2);width:40px;height:40px;font-size:15px;
  transition:.35s var(--e)}
.nb:hover:not(:disabled){border-color:var(--lum);color:var(--lum)}
.nb:disabled{opacity:.22;cursor:default}
.pg{font-family:var(--mono);font-size:10.5px;color:var(--w3);min-width:66px;text-align:center;
  font-variant-numeric:tabular-nums;letter-spacing:.1em}
.tk{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.br{height:100%;background:var(--lum);box-shadow:0 0 10px var(--lum);transition:width .45s var(--e)}
