/* ===================== QARMAQ · pitch deck · финал (Hartman) ===================== */
:root{
  --bg:#06070B;
  --bg-soft:#0B0D14;
  --bg-2:#0E1119;
  --ink:#EAECF2;
  --ink-dim:#8B92A6;
  --ink-faint:#565E72;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.14);
  --signal:#00E6A0;
  --signal-soft:rgba(0,230,160,.12);
  --danger:#FF4D5E;
  --danger-soft:rgba(255,77,94,.12);
  --gold:#E8C37A;
  --gold-soft:rgba(232,195,122,.14);
  --maxw:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
  --head:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'Geist Mono','SF Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--body);font-size:18px;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
::selection{background:var(--signal);color:#04110C}
.mono{font-family:var(--mono)}
a{color:inherit;text-decoration:none}

/* ---------- ambient ---------- */
.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 120% 80% at 50% -10%, transparent 42%, rgba(0,0,0,.55) 100%);}

/* ---------- chrome: progress / brand / dots ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--signal);z-index:10000;
  box-shadow:0 0 12px var(--signal);transition:width .25s var(--ease)}
.brandmark{position:fixed;top:24px;left:34px;z-index:9000;display:flex;align-items:center;gap:11px;
  font-family:var(--head);font-weight:700;letter-spacing:.18em;font-size:15px;color:#EAECF2}
.brandmark .dot{width:9px;height:9px;border-radius:50%;background:var(--signal);box-shadow:0 0 14px var(--signal);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.deckbadge{position:fixed;top:22px;right:34px;z-index:9000;font-family:var(--mono);font-size:11px;
  letter-spacing:.12em;color:var(--ink-dim);border:1px solid var(--line-strong);border-radius:100px;padding:7px 14px}
.deckbadge b{color:var(--signal)}
.dots{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:9000;display:flex;flex-direction:column;gap:11px}
.dots button{width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(255,255,255,.32);background:transparent;cursor:pointer;padding:0;transition:all .3s var(--ease)}
.dots button:hover{border-color:var(--signal);transform:scale(1.3)}
.dots button.active{border-color:var(--signal);background:var(--signal);height:22px;border-radius:6px;box-shadow:0 0 12px var(--signal)}
@media(max-width:820px){.dots{display:none}.deckbadge{display:none}}

/* ---------- deck / slides ---------- */
.deck{height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth}
.deck::-webkit-scrollbar{width:0}
.slide{position:relative;min-height:100vh;width:100%;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(26px,4.5vh,84px) 0;background:var(--bg)}
.wrap{position:relative;z-index:3;width:var(--maxw);max-width:90vw;margin:0 auto}
.wrap--wide{width:1320px;max-width:94vw}
.wrap.center{text-align:center;display:flex;flex-direction:column;align-items:center}

/* ---------- backgrounds ---------- */
.bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.bg__grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:62px 62px;
  -webkit-mask-image:radial-gradient(circle at 50% 42%,black 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 42%,black 0%,transparent 72%)}
.bg__glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none}
.bg__glow--signal{width:760px;height:760px;background:radial-gradient(circle,var(--signal-soft),transparent 64%)}
.bg__glow--danger{width:820px;height:820px;background:radial-gradient(circle,var(--danger-soft),transparent 64%)}
.bg__glow--gold{width:800px;height:800px;background:radial-gradient(circle,var(--gold-soft),transparent 64%)}
.bg__glow--a{top:-180px;left:-140px}
.bg__glow--b{bottom:-260px;right:-160px}
#titleGraph{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9}

/* ---------- reveal ---------- */
.r{opacity:0;transform:translateY(30px);transition:.95s var(--ease)}
.r.in{opacity:1;transform:none}

/* ---------- shared type ---------- */
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--signal);margin-bottom:26px}
.kicker.danger{color:var(--danger)}
.kicker.gold{color:var(--gold)}
.kicker .sq{width:7px;height:7px;border-radius:2px;background:currentColor;box-shadow:0 0 12px currentColor}
.hl{color:var(--signal)}
.hl-d{color:var(--danger)}
.hl-g{color:var(--gold)}

/* ---------- title ---------- */
.eyebrow-top{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:13px;letter-spacing:.18em;color:var(--ink-dim);margin-bottom:34px}
.eyebrow-top .live{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal);animation:pulse 2s infinite}
.wordmark{font-family:var(--head);font-weight:700;letter-spacing:-.04em;line-height:.9;font-size:clamp(80px,16vw,210px)}
.wordmark .hook{color:var(--danger);position:relative}
.tagline{font-family:var(--head);font-weight:500;font-size:clamp(24px,3.6vw,44px);line-height:1.18;margin-top:30px;letter-spacing:-.02em}
.title-foot{margin-top:26px;color:var(--ink-dim);font-size:15px;font-family:var(--mono);letter-spacing:.04em}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--ink-faint);font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.scroll-cue .bar{width:1px;height:34px;background:linear-gradient(var(--ink-faint),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- BIG NUMBER slides (Hartman) ---------- */
.bignum{font-family:var(--head);font-weight:700;letter-spacing:-.05em;line-height:.86;
  font-size:clamp(96px,21vw,280px);display:flex;align-items:baseline;justify-content:center;gap:.12em;flex-wrap:wrap}
.bignum.danger{color:var(--danger);text-shadow:0 0 80px rgba(255,77,94,.35)}
.bignum.signal{color:var(--signal);text-shadow:0 0 80px rgba(0,230,160,.3)}
.bignum.gold{color:var(--gold);text-shadow:0 0 80px rgba(232,195,122,.3)}
.bignum .unit{font-size:clamp(28px,5vw,72px);font-weight:600;letter-spacing:-.02em;opacity:.92}
.bignum .ph{opacity:.85;border-bottom:4px dashed currentColor;padding-bottom:.04em}
.bigcap{font-family:var(--head);font-weight:500;font-size:clamp(20px,2.8vw,36px);line-height:1.18;margin-top:34px;max-width:18ch;letter-spacing:-.01em}
.bigsrc{margin-top:22px;color:var(--ink-dim);font-size:clamp(14px,1.5vw,18px);max-width:46ch;line-height:1.5}
.bigsrc b{color:var(--ink)}

/* ---------- thesis ---------- */
.thesis{font-family:var(--head);font-weight:600;letter-spacing:-.035em;line-height:1.02;font-size:clamp(46px,8vw,108px)}
.thesis.hl{color:var(--signal);text-shadow:0 0 70px rgba(0,230,160,.3)}
.thesis-sub{margin-top:40px;color:var(--ink-dim);font-size:clamp(17px,2vw,23px);max-width:34ch;line-height:1.5}

/* ---------- graph slide ---------- */
.graph-h{font-family:var(--head);font-weight:600;letter-spacing:-.025em;line-height:1.06;font-size:clamp(30px,4.4vw,56px);margin-bottom:8px}
.graph-h.left{text-align:left}
.gcanvas{width:100%;max-width:960px;margin:18px auto 0}
.gcanvas svg{width:100%;height:auto;display:block;overflow:visible}
.gedge{stroke:var(--line-strong);stroke-width:1.4}
.gedge.in{transition:stroke-dashoffset 1.1s var(--ease)}
.gedge.in{stroke-dashoffset:0!important}
.gedge.hot{stroke:var(--danger);stroke-width:2.2;filter:drop-shadow(0 0 6px var(--danger))}
.gnode{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:.6s var(--ease)}
.gnode.in{opacity:1;transform:none}
.gnode text{fill:var(--ink-dim);font-family:var(--mono);font-size:14px;letter-spacing:.02em}
.gnode text.sub{fill:var(--ink-faint);font-size:12px}
.gring{fill:none;stroke-width:1.4;opacity:.7}
.gpulse{animation:gpulse 2.2s infinite}
@keyframes gpulse{0%{transform:scale(.8);opacity:.9}70%{transform:scale(2.1);opacity:0}100%{opacity:0}}
.graph-real{margin-top:24px;display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-dim);font-family:var(--mono);
  border:1px solid var(--line);border-radius:100px;padding:10px 20px}
.graph-real i{color:var(--signal)}
.graph-real b{color:var(--ink)}

/* ---------- wallet slide ---------- */
.wallet-chip{margin-top:34px;display:inline-flex;align-items:center;gap:14px;background:var(--bg-soft);border:1px solid var(--line-strong);
  border-radius:14px;padding:14px 22px;flex-wrap:wrap;justify-content:center}
.wallet-chip i{color:var(--gold);font-size:22px}
.wallet-chip .addr{font-size:clamp(12px,1.6vw,17px);color:var(--ink);word-break:break-all}
.wallet-chip .net{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--gold);border:1px solid var(--gold-soft);border-radius:100px;padding:4px 10px;white-space:nowrap}
.wallet-line{margin-top:22px;color:var(--ink-dim);font-size:clamp(14px,1.6vw,18px)}
.wallet-line span[data-count]{color:var(--ink);font-family:var(--mono)}
.anchor{margin-top:30px;font-family:var(--head);font-weight:600;letter-spacing:-.02em;line-height:1.16;font-size:clamp(26px,4vw,52px)}
/* compact spacing so the «бьём по кошельку» anchor never clips on short screens */
#slide-wallet .bigcap{margin-top:22px}
#slide-wallet .wallet-chip{margin-top:24px}
#slide-wallet .wallet-line{margin-top:16px}
@media(max-height:760px){
  #slide-wallet .bignum{font-size:clamp(72px,14vw,150px)}
  #slide-wallet .bigcap{font-size:clamp(18px,2.2vw,26px);margin-top:16px}
  #slide-wallet .anchor{margin-top:20px;font-size:clamp(22px,3.2vw,38px)}
  #slide-wallet .wallet-chip{margin-top:18px}
}

/* ---------- model slide ---------- */
.metrics{display:flex;gap:clamp(20px,4vw,72px);justify-content:center;flex-wrap:wrap;margin:42px 0 8px}
.metric{display:flex;flex-direction:column;align-items:center;gap:8px}
.metric .mv{font-family:var(--head);font-weight:700;letter-spacing:-.04em;font-size:clamp(56px,9vw,120px);line-height:1}
.metric .mv.signal{color:var(--signal)}
.metric .mv.gold{color:var(--gold)}
.metric .ml{color:var(--ink-dim);font-size:14px;max-width:16ch;line-height:1.4}
.model-pipe{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;margin:30px 0 8px;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:14px 20px}
.model-pipe .sp{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:14px;color:var(--ink-dim)}
.model-pipe .sp.on{color:var(--signal)}
.model-pipe .sp i{font-size:18px}
.model-pipe .arr{color:var(--ink-faint)}

/* ---------- ask slide ---------- */
.ask-h{font-family:var(--head);font-weight:600;letter-spacing:-.03em;font-size:clamp(48px,9vw,118px);line-height:1}
.ask-h em{font-style:normal;color:var(--signal)}
.ask-sub{margin-top:30px;color:var(--ink-dim);font-size:clamp(17px,2.2vw,26px);max-width:30ch;line-height:1.4}
.cta-mandate{margin-top:40px;max-width:680px;display:flex;gap:16px;text-align:left;align-items:flex-start;
  background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:12px;padding:20px 24px}
.cta-mandate i{color:var(--signal);font-size:24px;flex-shrink:0;margin-top:2px}
.cta-mandate span{font-size:15px;color:var(--ink-dim);line-height:1.55}

/* ---------- team slide ---------- */
.close-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.lead{color:var(--ink-dim);font-size:18px;margin-bottom:26px}
.team-row{display:flex;flex-direction:column;gap:16px}
.member{display:flex;align-items:center;gap:16px}
.member .av{width:64px;height:64px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:22px;color:var(--signal);overflow:hidden;flex-shrink:0}
.member .av img{width:100%;height:100%;object-fit:cover}
.member h4{font-family:var(--head);font-weight:600;font-size:20px}
.member p{color:var(--ink-dim);font-size:14px}
.qr-card{background:#fff;border-radius:18px;padding:18px;width:fit-content;margin-bottom:22px}
.qr-card #qr{width:150px;height:150px}
.qr-card #qr img{display:block}
.qr-card .ql{margin-top:10px;text-align:center;font-family:var(--mono);font-size:12px;color:#06070B;letter-spacing:.02em}
.contacts{display:flex;flex-direction:column;gap:12px}
.contacts .c{display:flex;align-items:center;gap:12px;color:var(--ink-dim);font-size:15px}
.contacts .c i{color:var(--signal);font-size:18px;flex-shrink:0}
.contacts .c b{color:var(--ink);font-weight:500}
.endline{margin-top:48px;text-align:center;color:var(--ink-faint);font-family:var(--mono);font-size:13px;letter-spacing:.06em}
@media(max-width:860px){.close-grid{grid-template-columns:1fr;text-align:left}.qr-card{margin:0 auto 22px}}
