/* ═══════════════════════════════════════════════════════════
   EYE OF HORUS HOUSE EDGE — page-specific styles (he- namespace)
   Visual language: MONEY IN MOTION — coins, notes, belts, streams,
   loops and receipts. Deliberately NOT the Hit Frequency page's
   grid of spin tiles, and not the RTP page's dashboard.
   Reused from chrome/layer.css: .viz/.viz-t/.note/.cap/.tt-sec/
   .tt-wrap/.tt-body/.tip-grid/.stage-btns/.sbtn/.vpanel/.vrow/
   .chip/.tlink/.strike/.quick/.qgrid/.nbox/.rp
   ═══════════════════════════════════════════════════════════ */

.he-h2{font-family:var(--dsp);font-weight:900;color:var(--ink);
  font-size:clamp(1.4rem,3vw,2.1rem);margin:.3rem 0 1.1rem;line-height:1.18}
.he-intro{max-width:70ch;margin:0 0 1.15rem;font-size:1.02rem;line-height:1.7;color:var(--body)}
.he-wide{max-width:78ch}
.note.he-wide{margin-bottom:1.1rem}
.he-centerlink{text-align:center;margin-top:.4rem}

/* shared small parts */
.he-k{font-family:var(--orn);font-weight:700;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:#8A6B34;line-height:1.35}
.he-sub{font-size:.78rem;color:var(--muted);line-height:1.45;margin-top:.3rem}
.he-big{font-family:var(--dsp);font-weight:900;font-size:clamp(1.9rem,4.4vw,2.7rem);
  color:var(--ink);line-height:1.05;margin:.1rem 0}

/* ── HERO: two attributed conversions ── */
.he-convpair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.he-conv{padding:clamp(11px,1.5vw,16px);border-radius:12px;border:2px solid var(--line);
  background:linear-gradient(178deg,#FFFDF5,#FBF1D6);text-align:center}
.he-conv-src{font-weight:800;font-size:.76rem;letter-spacing:.03em;color:var(--turq-dk);
  line-height:1.35;margin-bottom:.5rem;min-height:2.3em}
.he-conv-rtp{font-family:var(--dsp);font-weight:900;font-size:clamp(1.35rem,3.2vw,1.9rem);
  color:var(--ink);line-height:1.05;margin:.05rem 0 .45rem}
.he-conv-op{display:flex;align-items:center;gap:.45rem;justify-content:center;
  font-family:var(--orn);font-weight:700;font-size:.58rem;letter-spacing:.1em;
  color:var(--muted);margin:.1rem 0 .45rem}
.he-conv-op::before,.he-conv-op::after{content:'';flex:1;height:1px;background:var(--line)}
.he-conv-edge{font-family:var(--dsp);font-weight:900;font-size:clamp(1.5rem,3.6vw,2.15rem);
  color:var(--turq-dk);line-height:1.05;margin:.05rem 0}

/* ══════════ 2. THE £100 LOOP ══════════ */
.he-loopgrid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(14px,2.4vw,26px);align-items:center}
.he-deposit{text-align:center;padding:clamp(12px,1.8vw,18px);border-radius:13px;
  border:2px solid var(--gold-dk);background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.he-deposit .he-big{color:#6B4E06}
.he-notestack{display:grid;gap:5px;margin:.7rem auto .55rem;max-width:150px}
.he-notestack i{display:block;height:13px;border-radius:3px;
  background:linear-gradient(180deg,#FFF0BE,#E9C765 60%,#C9A23F);
  border:1px solid #9A761F;box-shadow:0 1px 0 rgba(255,255,255,.5) inset}
.he-ringwrap{text-align:center;min-width:0}
.he-ring{width:100%;max-width:290px;height:auto;margin:0 auto;display:block}
.he-ring-track{fill:#FBF1D6;stroke:var(--stone-dk);stroke-width:10;stroke-dasharray:9 11}
.he-ring-arrows polygon{fill:var(--turq-dk)}
.he-ring-coin circle{fill:#F0D27E;stroke:#9A761F;stroke-width:2}
.he-ring-coin text{font-family:var(--dsp);font-weight:900;font-size:15px;fill:#5C4207}
.he-ring-k{font-family:var(--orn);font-weight:700;font-size:10px;letter-spacing:.12em;fill:#8A6B34}
.he-ring-v{font-family:var(--dsp);font-weight:900;font-size:30px;fill:var(--ink)}
.he-ring-s{font-size:10px;font-weight:700;fill:var(--muted)}
.he-ringlabel{display:flex;justify-content:space-between;max-width:290px;margin:.25rem auto 0;
  font-family:var(--orn);font-weight:700;font-size:.58rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--turq-dk)}
.he-loopviz.he-running .he-ring-coin{animation:he-orbit 2.2s linear infinite;
  transform-origin:120px 120px}
@keyframes he-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

.he-loopout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:1rem}
.he-loopout>div,.he-simgrid>div{padding:.6rem .5rem;border-radius:10px;text-align:center;
  background:#FBF1D6;border:1.5px solid var(--line);min-width:0}
.he-loopout span,.he-simgrid span{display:block;font-family:var(--orn);font-weight:700;
  font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:#8A6B34;line-height:1.3}
.he-loopout b,.he-simgrid b{display:block;font-family:var(--dsp);font-weight:900;
  font-size:clamp(.95rem,2.1vw,1.3rem);color:var(--ink);line-height:1.15;margin-top:.2rem}
.he-loopout>div:nth-child(2){border-color:var(--turq-dk);background:#E8F8F8}
.he-loopout>div:nth-child(2) b{color:var(--turq-dk)}

.he-loopsteps{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:7px}
.he-loopstep{display:grid;grid-template-columns:66px minmax(0,1fr);gap:.7rem;align-items:center;
  padding:.5rem .75rem;border-radius:10px;background:#F7F0DE;border:1.5px solid var(--line);
  opacity:.5;transition:opacity .25s,background .25s,border-color .25s}
.he-loopstep b{font-family:var(--dsp);font-weight:900;font-size:1.05rem;color:var(--ink);
  text-align:center}
.he-loopstep span{font-size:.88rem;line-height:1.45;color:var(--body)}
.he-loopstep.done{opacity:1;background:#FBF1D6}
.he-loopstep.on{opacity:1;background:#E8F8F8;border-color:var(--turq-dk)}
.he-loopstep.on b{color:var(--turq-dk)}

/* ══════════ 3. DEPOSIT ≠ ACTION ══════════ */
.he-neq{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(10px,2vw,22px);align-items:center}
.he-neqbox{padding:clamp(14px,2.2vw,22px);border-radius:14px;text-align:center;
  border:2px solid var(--line);background:var(--card);box-shadow:0 6px 18px rgba(90,60,10,.1)}
.he-neqbox.gold{border-color:var(--gold-dk);background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.he-neqv{font-family:var(--dsp);font-weight:900;font-size:clamp(2.1rem,6vw,3.4rem);
  color:var(--ink);line-height:1;margin:.15rem 0}
.he-neqbox.gold .he-neqv{color:#8A5C05}
.he-neqs{font-size:.8rem;font-weight:700;color:var(--muted)}
.he-neqsign{font-family:var(--dsp);font-weight:900;font-size:clamp(2.4rem,7vw,4.2rem);
  color:var(--red);line-height:1;text-align:center}
.he-neqcap{margin:1rem 0 .6rem;text-align:center;font-size:.98rem;color:var(--ink-2);
  line-height:1.55}
.he-neqcap strong{color:var(--ink)}

/* ══════════ 4. CONVERTER ══════════ */
.he-convstrip{max-width:760px;margin:0 auto}
.he-convline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(8px,1.6vw,16px);align-items:center}
.he-convcell{padding:.85rem .7rem;border-radius:12px;text-align:center;
  border:2px solid var(--line);background:#FBF1D6}
.he-convcell.edge{border-color:var(--turq-dk);background:#E8F8F8}
.he-convbig{font-family:var(--dsp);font-weight:900;font-size:clamp(1.7rem,4.6vw,2.6rem);
  color:var(--ink);line-height:1.05;margin-top:.15rem}
.he-convcell.edge .he-convbig{color:var(--turq-dk)}
.he-convarrow{font-family:var(--orn);font-weight:700;font-size:.6rem;letter-spacing:.08em;
  color:var(--muted);text-align:center;line-height:1.4;max-width:5.5em}
.he-convsrc{margin-top:.8rem;text-align:center;font-size:.84rem;font-weight:700;
  color:var(--turq-dk);line-height:1.5}
.he-sliderrow{margin-top:1rem}
.he-sliderrow label{display:block;font-family:var(--orn);font-weight:700;font-size:.62rem;
  letter-spacing:.12em;text-transform:uppercase;color:#8A6B34;margin-bottom:.4rem}
.he-sliderrow input[type=range]{width:100%;height:34px;accent-color:var(--turq-dk);cursor:pointer}
.he-sliderends{display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;
  color:var(--muted)}

/* ══════════ 5. WAGERING CONVEYOR ══════════ */
.he-belt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.he-block{padding:.7rem .5rem;border-radius:11px;text-align:center;min-width:0;
  border:2px solid var(--line);background:linear-gradient(178deg,#FFFDF5,#FBF1D6)}
.he-blockv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.05rem,2.4vw,1.5rem);
  color:var(--ink);line-height:1.1;margin:.1rem 0 .4rem}
.he-coins{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-bottom:.45rem;
  min-height:16px}
.he-coins i{display:block;width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#FFF3C8,#EFCF73 58%,#C9A23F);
  border:1px solid #9A761F}
.he-blockd{font-family:var(--dsp);font-weight:900;font-size:clamp(1rem,2.2vw,1.3rem);
  color:var(--turq-dk);line-height:1.1}
.he-blockk{font-family:var(--orn);font-weight:700;font-size:.52rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);line-height:1.3;margin-top:.1rem}
.he-beltbase{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;
  margin-top:9px;padding:7px 9px;border-radius:9px;
  background:linear-gradient(180deg,#24519A,#15336A 60%,#0F2550);
  border:2px solid var(--gold-dk)}
.he-beltbase i{display:block;height:11px;border-radius:999px;
  background:linear-gradient(180deg,#FFEEB6,#DCB552);box-shadow:0 1px 2px rgba(0,0,0,.35)}

/* ══════════ 6. THREE SESSION PATHS ══════════ */
.he-wallet{max-width:280px;margin:0 auto;text-align:center;padding:clamp(11px,1.6vw,16px);
  border-radius:13px;border:2px solid var(--gold-dk);
  background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.he-wallet .he-big{color:#6B4E06}
.he-branch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,16px);
  height:26px;margin:.25rem 0}
.he-branch i{display:block;justify-self:center;width:2px;height:100%;background:var(--stone-dk)}
.he-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,16px)}
.he-path{border-radius:13px;border:2px solid var(--line);background:var(--card);overflow:hidden;
  min-width:0}
.he-pathh{padding:.55rem .8rem;font-family:var(--orn);font-weight:900;font-size:.74rem;
  letter-spacing:.12em;text-transform:uppercase;color:#FFF6D8;background:var(--ink-2)}
.he-pathrow{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;
  padding:.45rem .8rem;border-bottom:1px dashed #E3D3AB;font-size:.84rem;color:var(--body)}
.he-pathrow b{font-family:var(--dsp);font-weight:900;font-size:1rem;color:var(--ink);
  white-space:nowrap}
.he-pathres{margin:.6rem .7rem .7rem;padding:.55rem;border-radius:10px;text-align:center;
  background:#E8F8F8;border:2px solid var(--turq-dk)}
.he-pathres span{display:block;font-family:var(--orn);font-weight:700;font-size:.54rem;
  letter-spacing:.1em;text-transform:uppercase;color:#0A5A5F}
.he-pathres b{display:block;font-family:var(--dsp);font-weight:900;font-size:1.5rem;
  color:var(--turq-dk);line-height:1.15}

/* ══════════ 7. SPIN SPEED RIVER ══════════ */
.he-river{display:grid;grid-template-columns:92px minmax(0,1fr) 104px 132px;
  gap:clamp(8px,1.4vw,14px);align-items:center;padding:.6rem 0;
  border-bottom:1px dashed #E3D3AB}
.he-river:last-of-type{border-bottom:none}
.he-riverk,.he-riverv,.he-riverd{min-width:0;text-align:center}
.he-riverk b,.he-riverv b,.he-riverd b{display:block;font-family:var(--dsp);font-weight:900;
  font-size:clamp(1rem,2.2vw,1.3rem);color:var(--ink);line-height:1.1}
.he-riverd b{color:var(--turq-dk)}
.he-riverk span,.he-riverv span,.he-riverd span{display:block;font-family:var(--orn);
  font-weight:700;font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);line-height:1.3;margin-top:.15rem}
.he-riverlane{position:relative;min-width:0;height:34px;border-radius:999px;overflow:hidden;
  background:linear-gradient(180deg,#1B3E78,#122C5C);border:1.5px solid var(--gold-dk);
  background-image:linear-gradient(90deg,rgba(255,238,182,0) 0%,rgba(255,238,182,.42) 50%,rgba(255,238,182,0) 100%),
    linear-gradient(180deg,#1B3E78,#122C5C);
  background-size:180% 100%,100% 100%;background-repeat:no-repeat;
  animation:he-sheen 2.8s linear infinite}
.he-river:nth-of-type(2) .he-riverlane{animation-duration:1.7s}
.he-river:nth-of-type(3) .he-riverlane{animation-duration:1s}
@keyframes he-sheen{from{background-position:180% 0,0 0}to{background-position:-180% 0,0 0}}
.he-flow{display:flex;align-items:center;justify-content:space-around;width:100%;height:100%;
  padding:0 5px}
.he-flow i{display:block;width:12px;height:12px;flex:0 0 auto;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#FFF3C8,#EFCF73 58%,#C9A23F);
  border:1px solid #8A6B1F}

/* ══════════ 8. FEATURE LOOP RING ══════════ */
.he-fring{text-align:center}
.he-fring svg{width:100%;max-width:330px;height:auto;margin:0 auto;display:block}
.he-fring-track{fill:none;stroke:var(--stone-dk);stroke-width:11;stroke-dasharray:8 10}
.he-fring-ring{font-family:var(--orn);font-weight:900;font-size:13px;letter-spacing:.1em;
  fill:#8A6B34}
.he-fring-core circle{fill:#E8F8F8;stroke:var(--turq-dk);stroke-width:2.5}
.he-fring-ck{font-family:var(--orn);font-weight:900;font-size:13px;letter-spacing:.04em;
  fill:var(--turq-dk)}
.he-fring-cv{font-size:11px;font-weight:700;fill:var(--ink-2)}
.he-fring-cs{font-size:10px;font-weight:700;fill:var(--muted)}
.he-fring-n circle,.he-fring-n ellipse{fill:#FBF1D6;stroke:var(--gold-dk);stroke-width:2}
.he-fring-n text{font-family:var(--orn);font-weight:900;font-size:8.5px;letter-spacing:.02em;
  fill:var(--ink)}
.he-fring-arrows polygon{fill:var(--turq-dk)}

/* ══════════ 9. SPIN RECEIPTS ══════════ */
.he-receipts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.he-receipt{position:relative;padding:.65rem .55rem 1rem;border-radius:8px 8px 0 0;min-width:0;
  background:#FFFDF5;border:1.5px solid var(--line);border-bottom:none;
  box-shadow:0 4px 12px rgba(90,60,10,.1)}
.he-receipt::after{content:'';position:absolute;left:0;right:0;bottom:0;height:7px;
  background:repeating-linear-gradient(135deg,#FFFDF5 0 6px,transparent 6px 12px);
  border-top:1.5px dashed var(--line)}
.he-receipt.up{border-color:#1E7D3B}
.he-receipt.part{border-color:var(--gold-dk)}
.he-receipt.none{border-color:var(--stone-dk);background:#F7F0DE}
.he-rk{font-family:var(--orn);font-weight:900;font-size:.64rem;letter-spacing:.1em;
  text-transform:uppercase;color:#8A6B34;text-align:center;margin-bottom:.35rem}
.he-rrow{display:flex;justify-content:space-between;gap:.3rem;font-size:.74rem;color:var(--body);
  padding:.1rem 0}
.he-rrow b{font-weight:800;color:var(--ink)}
.he-rnet{margin-top:.4rem;padding-top:.35rem;border-top:1px dashed var(--line);
  font-family:var(--dsp);font-weight:900;font-size:1.05rem;color:var(--red);text-align:center;
  line-height:1.1}
.he-rnet.pos{color:#1E7D3B}
.he-rtag{font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);text-align:center;margin-top:.15rem}
.he-rtotal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:1.1rem}
.he-rtotal>div{padding:.6rem .5rem;border-radius:10px;text-align:center;min-width:0;
  background:#FBF1D6;border:1.5px solid var(--line)}
.he-rtotal span{display:block;font-family:var(--orn);font-weight:700;font-size:.54rem;
  letter-spacing:.1em;text-transform:uppercase;color:#8A6B34}
.he-rtotal b{display:block;font-family:var(--dsp);font-weight:900;
  font-size:clamp(.95rem,2.1vw,1.25rem);color:var(--ink);margin-top:.2rem}
.he-rtotal b.pos{color:#1E7D3B}

/* ══════════ 10. CASH TRAILS ══════════ */
.he-trails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,18px)}
.he-trail{padding:clamp(11px,1.6vw,16px);border-radius:13px;border:2px solid var(--line);
  background:#FBF1D6;min-width:0}
.he-trail.up{border-color:#1E7D3B;background:#F1FAF3}
.he-trail.dn{border-color:var(--red);background:#FDF2F0}
.he-trailh{font-family:var(--orn);font-weight:900;font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);margin-bottom:.75rem}
.he-trailrow{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.he-cp{display:flex;align-items:center;justify-content:center;min-width:54px;padding:.4rem .3rem;
  border-radius:999px;background:#FFFDF5;border:2px solid var(--stone-dk)}
.he-cp b{font-family:var(--dsp);font-weight:900;font-size:.92rem;color:var(--ink)}
.he-trail.up .he-cp.last{border-color:#1E7D3B;background:#DFF3E5}
.he-trail.up .he-cp.last b{color:#1E7D3B}
.he-trail.dn .he-cp.last{border-color:var(--red);background:#FBE2DE}
.he-trail.dn .he-cp.last b{color:var(--red)}
.he-trailr{margin-top:.7rem;font-family:var(--orn);font-weight:900;font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}

/* ══════════ 11. VERSION COMPARISON ══════════ */
.he-vsgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.8fr);
  gap:clamp(10px,1.8vw,16px);align-items:stretch}
.he-vs{border-radius:13px;border:2px solid var(--line);background:var(--card);overflow:hidden;
  min-width:0}
.he-vs.a{border-color:var(--turq-dk)}
.he-vs.b{border-color:var(--gold-dk)}
.he-vsh{padding:.55rem .8rem;font-family:var(--orn);font-weight:900;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;color:#FFF6D8;background:var(--ink-2)}
.he-vsrow{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;
  padding:.45rem .8rem;border-bottom:1px dashed #E3D3AB;font-size:.86rem;color:var(--body)}
.he-vsrow b{font-family:var(--dsp);font-weight:900;font-size:1.05rem;color:var(--ink)}
.he-vsout{margin:.6rem .7rem .7rem;padding:.55rem;border-radius:10px;text-align:center;
  background:#FBF1D6;border:2px solid var(--stone-dk)}
.he-vsout span{display:block;font-family:var(--orn);font-weight:700;font-size:.54rem;
  letter-spacing:.1em;text-transform:uppercase;color:#8A6B34}
.he-vsout b{display:block;font-family:var(--dsp);font-weight:900;font-size:1.6rem;color:var(--ink)}
.he-vsgap{display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:clamp(11px,1.6vw,16px);border-radius:13px;min-width:0;
  border:2px solid var(--gold-dk);background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.he-gapv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.9rem,5vw,2.8rem);
  color:#8A5C05;line-height:1.05;margin:.1rem 0}

/* ══════════ 12. ONE PERCENT, GROWING MONEY ══════════ */
.he-oprow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(12px,2.4vw,26px);
  align-items:center}
.he-opconst{flex:0 0 auto;font-family:var(--dsp);font-weight:900;font-size:2.6rem;color:var(--ink);
  line-height:1;padding:.85rem 1rem;border-radius:12px;border:2px dashed var(--stone-dk);
  background:#FBF1D6;text-align:center}
.he-opscale{display:grid;gap:8px;min-width:0}
.he-opstep{display:flex;justify-content:space-between;align-items:center;gap:.8rem;
  border-radius:10px;border:2px solid var(--line);background:linear-gradient(90deg,#FFFDF5,#FBF1D6);
  min-width:0}
.he-opstep.s1{padding:.4rem .7rem;width:46%}
.he-opstep.s2{padding:.5rem .7rem;width:62%}
.he-opstep.s3{padding:.6rem .7rem;width:80%}
.he-opstep.s4{padding:.72rem .7rem;width:100%;border-color:var(--gold-dk);
  background:linear-gradient(90deg,#FFF6DC,#F7E2AE)}
.he-opv{font-family:var(--dsp);font-weight:900;color:var(--turq-dk);line-height:1;white-space:nowrap}
.he-opstep.s1 .he-opv{font-size:1.05rem}
.he-opstep.s2 .he-opv{font-size:1.25rem}
.he-opstep.s3 .he-opv{font-size:1.5rem}
.he-opstep.s4 .he-opv{font-size:1.8rem;color:#8A5C05}

/* ══════════ 13. PARTIAL WIN SPLIT ══════════ */
.he-split{display:grid;gap:0}
.he-splitin{text-align:center;padding:.7rem;border-radius:11px;border:2px solid var(--gold-dk);
  background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.he-splitv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.4rem,3.2vw,1.9rem);
  color:var(--ink);line-height:1.1;margin-top:.1rem}
.he-splitfork{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:24px}
.he-splitfork i{display:block;justify-self:center;width:2px;height:100%;background:var(--stone-dk)}
.he-splitout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.he-splitpart{padding:.7rem .6rem;border-radius:11px;text-align:center;min-width:0;
  border:2px solid var(--line);background:#FBF1D6}
.he-splitpart.back{border-color:#1E7D3B;background:#F1FAF3}
.he-splitpart.gone{border-color:var(--red);background:#FDF2F0}
.he-splitpart.back .he-splitv{color:#1E7D3B}
.he-splitpart.gone .he-splitv{color:var(--red)}
.he-splitbar{height:9px;border-radius:999px;background:#EADCB4;overflow:hidden;margin-top:.5rem}
.he-splitbar i{display:block;height:100%;border-radius:999px}
.he-splitpart.back .he-splitbar i{background:#1E7D3B}
.he-splitpart.gone .he-splitbar i{background:var(--red)}
.he-splitcap{margin-top:.9rem;text-align:center;font-family:var(--orn);font-weight:900;
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}

/* ══════════ 14. BONUS FLOW ══════════ */
.he-bonusflow,.he-bigwin{display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(7px,1.4vw,14px);align-items:center}
.he-bstep,.he-bwstep{padding:.8rem .6rem;border-radius:12px;text-align:center;min-width:0;
  border:2px solid var(--line);background:linear-gradient(178deg,#FFFDF5,#FBF1D6)}
.he-bstep.mid{border-color:var(--purple);background:linear-gradient(178deg,#F4ECFC,#E3D2F7)}
.he-bstep.out,.he-bwstep.win{border-color:#1E7D3B;background:#F1FAF3}
.he-bwstep.same{border-color:var(--turq-dk);background:#E8F8F8}
.he-bv,.he-bwv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.3rem,3vw,1.85rem);
  color:var(--ink);line-height:1.1;margin:.1rem 0}
.he-bwstep.same .he-bwv{color:var(--turq-dk)}
.he-barrow{font-family:var(--dsp);font-weight:900;font-size:1.5rem;color:var(--turq-dk);
  text-align:center;line-height:1}
.he-bclaims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:1rem}
.he-bok,.he-bno{display:flex;align-items:center;gap:.55rem;padding:.6rem .8rem;border-radius:10px;
  font-weight:800;font-size:.88rem;line-height:1.35;min-width:0}
.he-bok{background:#F1FAF3;border:2px solid #1E7D3B;color:#14612E}
.he-bno{background:#FDF2F0;border:2px solid var(--red);color:#9E2318}
.he-bok span,.he-bno span:first-child{flex:0 0 auto;font-size:1.1rem;line-height:1}
.he-bwcap{margin-top:1rem;text-align:center;font-family:var(--orn);font-weight:900;
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}

/* ══════════ 15. TWO KINDS OF FREE SPINS ══════════ */
.he-tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.4vw,22px)}
.he-ticket{position:relative;padding:clamp(13px,2vw,20px);border-radius:13px;min-width:0;
  border:2px dashed var(--stone-dk);background:#FFFDF5;
  box-shadow:0 6px 18px rgba(90,60,10,.1)}
.he-ticket.ingame{border-color:var(--turq-dk);background:#F2FBFB}
.he-ticket.promo{border-color:var(--purple);background:#F8F4FD}
.he-tk{font-family:var(--orn);font-weight:900;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink)}
.he-tv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.2rem,2.8vw,1.65rem);
  line-height:1.15;margin:.2rem 0 .7rem}
.he-ticket.ingame .he-tv{color:var(--turq-dk)}
.he-ticket.promo .he-tv{color:#5B2A99}
.he-tlist{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.he-tlist li{display:flex;gap:.5rem;font-size:.88rem;line-height:1.45;color:var(--body)}
.he-tlist li::before{content:'';flex:0 0 auto;width:7px;height:7px;border-radius:50%;
  margin-top:.45rem;background:var(--stone-dk)}
.he-ticket.ingame .he-tlist li::before{background:var(--turq-dk)}
.he-ticket.promo .he-tlist li::before{background:var(--purple)}
.he-tstub{margin-top:.9rem;padding-top:.7rem;border-top:2px dashed var(--stone-dk);
  text-align:center;font-family:var(--orn);font-weight:900;font-size:.68rem;letter-spacing:.14em;
  color:var(--muted)}

/* ══════════ 16. HOURLY TOOL ══════════ */
.he-toolviz{max-width:820px;margin:0 auto}
.he-tool{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9px,1.6vw,14px)}
.he-field{min-width:0}
.he-field label{display:block;font-family:var(--orn);font-weight:700;font-size:.6rem;
  letter-spacing:.1em;text-transform:uppercase;color:#8A6B34;margin-bottom:.35rem}
.he-field input{width:100%;min-height:52px;padding:.4rem .7rem;border-radius:10px;
  border:2px solid var(--stone-dk);background:#FFFDF5;font-family:var(--dsp);font-weight:900;
  font-size:1.5rem;color:var(--ink);text-align:center}
.he-field input:focus{border-color:var(--turq-dk);outline:none;box-shadow:0 0 0 3px var(--turq-lt)}
.he-toolout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(9px,1.6vw,14px);
  margin-top:1rem}
.he-toolcell{padding:.85rem .8rem;border-radius:12px;text-align:center;min-width:0;
  border:2px solid var(--line);background:#FBF1D6}
.he-toolcell.edge{border-color:var(--turq-dk);background:#E8F8F8}
.he-toolv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.7rem,4.4vw,2.5rem);
  color:var(--ink);line-height:1.05;margin:.15rem 0}
.he-toolcell.edge .he-toolv{color:var(--turq-dk)}

/* ══════════ 17. ROAD + CROSSED SIGN ══════════ */
.he-road{text-align:center}
.he-sign{position:relative;display:inline-block;max-width:100%;padding:.8rem 1.1rem;
  border-radius:10px;border:3px solid var(--red);background:#FDF2F0}
.he-sign p{margin:0;font-family:var(--orn);font-weight:900;font-size:.8rem;letter-spacing:.06em;
  color:#9E2318;line-height:1.4}
.he-signx{position:absolute;top:-12px;right:-12px;width:30px;height:30px;border-radius:50%;
  background:var(--red);color:#FFF;font-weight:900;font-size:1.1rem;line-height:30px}
.he-roadway{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;
  margin:1rem 0;padding:9px 10px;border-radius:9px;
  background:linear-gradient(180deg,#3C4963,#232C44);border:2px solid var(--stone-dk)}
.he-roadway i{display:block;height:8px;border-radius:999px;background:#F3E3B6}
.he-roadlabels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.he-roadl{padding:.6rem .5rem;border-radius:10px;background:#FBF1D6;border:1.5px solid var(--line);
  min-width:0}
.he-roadl b{display:block;font-family:var(--orn);font-weight:900;font-size:.66rem;
  letter-spacing:.1em;color:var(--ink);line-height:1.4}
.he-roadl span{display:block;font-weight:900;color:var(--turq-dk);font-size:1rem;line-height:1}

/* ══════════ 18. CHASING SPIRAL ══════════ */
.he-spiral{text-align:center}
.he-spiral svg{width:100%;max-width:400px;height:auto;margin:0 auto;display:block}
.he-spiral-p{fill:none;stroke:var(--red);stroke-width:2.6;stroke-linecap:round;opacity:.7}
.he-spiral-core circle{fill:#FBF1D6;stroke:var(--ink);stroke-width:2.5}
.he-spiral-n circle,.he-spiral-n ellipse{fill:#FDF2F0;stroke:var(--red);stroke-width:2}
.he-spiral-ck{font-family:var(--orn);font-weight:900;font-size:9.5px;letter-spacing:.02em;
  fill:var(--ink)}
.he-spiral-cv{font-family:var(--orn);font-weight:900;font-size:13px;fill:var(--red)}
.he-spiral-n circle{fill:#FDF2F0;stroke:var(--red);stroke-width:2}
.he-spiral-n text{font-family:var(--orn);font-weight:900;font-size:8px;fill:#9E2318}
.he-spiralseq{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:7px}
.he-spiralseq li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.7rem;
  align-items:center;padding:.5rem .7rem;border-radius:10px;background:#FBF1D6;
  border:1.5px solid var(--line)}
.he-spiralseq b{display:flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:50%;font-family:var(--orn);font-weight:900;font-size:.8rem;
  background:var(--red);color:#FFF6D8}
.he-spiralseq span{font-size:.9rem;font-weight:700;color:var(--ink-2);line-height:1.4}

/* ══════════ 20/21. CONVERGING NOTES → ONE EDGE ══════════ */
.he-converge{display:grid;gap:0}
.he-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.6vw,14px)}
.he-bnote{padding:.75rem .5rem;border-radius:9px;text-align:center;min-width:0;
  background:linear-gradient(178deg,#FFF0BE,#E9C765 70%,#D6B352);
  border:2px solid #9A761F;box-shadow:0 3px 9px rgba(90,60,10,.2)}
.he-bnote .he-k{color:#6B4E06}
.he-bnv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.1rem,2.6vw,1.6rem);
  color:#4F3A05;line-height:1.1;margin-top:.1rem}
.he-convlines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:28px}
.he-convlines i{display:block;justify-self:center;width:2px;height:100%;background:var(--stone-dk)}
.he-target{text-align:center;padding:clamp(12px,1.8vw,18px);border-radius:13px;
  border:2px solid var(--turq-dk);background:#E8F8F8}
.he-targetv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.9rem,5vw,2.7rem);
  color:var(--turq-dk);line-height:1.05;margin:.1rem 0}

/* ══════════ 22. BALANCE SCALE ══════════ */
.he-scaleviz{text-align:center}
.he-scale{width:100%;max-width:460px;height:auto;margin:0 auto .4rem;display:block}
.he-scale-beam,.he-scale-post,.he-scale-wire{stroke:var(--ink);stroke-width:4;
  stroke-linecap:round}
.he-scale-wire{stroke-width:2}
.he-scale-base{fill:var(--ink)}
.he-scale-pivot{fill:var(--gold);stroke:#9A761F;stroke-width:2}
.he-scale-pan{fill:#FBF1D6;stroke:var(--gold-dk);stroke-width:2.5}
.he-scale-t{font-family:var(--orn);font-weight:900;font-size:13px;letter-spacing:.06em;
  fill:var(--ink)}
.he-scale-s{font-size:10px;font-weight:700;fill:var(--muted)}
.he-scale-l{font-family:var(--orn);font-weight:900;font-size:11px;letter-spacing:.1em;
  fill:var(--turq-dk)}

/* ══════════ 23. DIALS + MAX WIN ══════════ */
.he-dials{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(10px,2vw,20px);align-items:center}
.he-dial{padding:clamp(12px,1.8vw,18px);border-radius:14px;text-align:center;min-width:0;
  border:2px solid var(--line);background:var(--card);box-shadow:0 6px 18px rgba(90,60,10,.1)}
.he-dial svg{width:100%;max-width:230px;height:auto;margin:.3rem auto 0;display:block}
.he-dialk{font-family:var(--orn);font-weight:900;font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink)}
.he-dialsub{margin-top:.5rem;font-size:.76rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.he-dial-track{fill:none;stroke:#EADCB4;stroke-width:16;stroke-linecap:round}
.he-dial-fill{fill:none;stroke:var(--gold);stroke-width:16;stroke-linecap:round}
.he-dial-needle{stroke:var(--ink);stroke-width:4;stroke-linecap:round}
.he-dial-hub{fill:var(--ink)}
.he-dial-t{font-family:var(--orn);font-weight:900;font-size:11px;letter-spacing:.06em;
  fill:var(--ink-2)}
.he-dialne{font-family:var(--dsp);font-weight:900;font-size:clamp(2rem,5.5vw,3rem);
  color:var(--red);text-align:center;line-height:1}
.he-drain{margin-top:1rem}
.he-drainbar{height:26px;border-radius:999px;background:linear-gradient(90deg,#1B3E78,#122C5C);
  border:2px solid var(--gold-dk);overflow:hidden;position:relative}
.he-drainbar i{display:block;position:absolute;right:0;top:0;bottom:0;width:18%;
  background:linear-gradient(180deg,#FFEEB6,#DCB552)}
.he-drainl{margin-top:.45rem;font-family:var(--orn);font-weight:700;font-size:.56rem;
  letter-spacing:.1em;color:var(--muted)}
.he-drainv{margin-top:.45rem;font-family:var(--dsp);font-weight:900;font-size:1.2rem;
  color:var(--turq-dk)}
.he-maxwin{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:clamp(10px,2vw,18px);align-items:center;margin-top:1.4rem}
.he-mwcell{padding:clamp(11px,1.6vw,16px);border-radius:12px;text-align:center;min-width:0;
  border:2px solid var(--line);background:#FBF1D6}
.he-mwv{font-family:var(--dsp);font-weight:900;font-size:clamp(1.05rem,2.4vw,1.4rem);
  color:var(--ink);line-height:1.2;margin-top:.15rem}
.he-mwne{font-family:var(--dsp);font-weight:900;font-size:clamp(1.6rem,4.4vw,2.4rem);
  color:var(--red);text-align:center;line-height:1}

/* ══════════ 24. DEMO SESSION SIM ══════════ */
.he-simgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.he-simgrid>div:nth-child(2){border-color:var(--turq-dk);background:#E8F8F8}
.he-simgrid>div:nth-child(2) b{color:var(--turq-dk)}
.he-simofficial{margin:.9rem 0;text-align:center;font-weight:700;font-size:.86rem;
  color:var(--ink-2)}
.he-simofficial strong{color:var(--red)}
.he-simsummary{margin-top:1.1rem;padding:clamp(12px,1.8vw,18px);border-radius:13px;
  border:2px solid var(--gold-dk);background:linear-gradient(178deg,#FFF6DC,#F7E2AE)}
.he-simsummary[hidden]{display:none}
.he-simsumh{font-family:var(--orn);font-weight:900;font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:#6B4E06;margin-bottom:.6rem}
.he-simsumrows{display:grid;gap:5px}
.he-simrow{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;
  padding:.45rem .7rem;border-radius:9px;background:rgba(255,253,245,.78);
  border:1.5px solid #E0CB94;font-size:.9rem;color:var(--body)}
.he-simrow b{font-family:var(--dsp);font-weight:900;font-size:1.1rem;color:var(--ink);
  white-space:nowrap}
.he-simrow.net{border-color:var(--ink);background:#FFFDF5}
.he-simrow.net b{font-size:1.35rem}
.he-simrow b.pos{color:#1E7D3B}
.he-simrow b.neg{color:var(--red)}

/* ══════════ 25. THE FORMULA ══════════ */
.he-formula{max-width:760px;margin:0 auto;padding:clamp(16px,2.6vw,28px);border-radius:16px;
  text-align:center;border:2px solid var(--gold-dk);
  background:linear-gradient(168deg,#FFF8E6,#F7E2AE);box-shadow:0 10px 28px rgba(90,60,10,.16)}
.he-fline{font-family:var(--orn);font-weight:900;letter-spacing:.04em;color:var(--ink);
  line-height:1.35}
.he-fline.one{font-size:clamp(1.1rem,3.2vw,1.8rem)}
.he-fline.two{font-size:clamp(.82rem,2.1vw,1.15rem);color:var(--ink-2)}
.he-fop{font-family:var(--orn);font-weight:700;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:#8A6B34;margin:.6rem 0}
.he-fnot{margin-top:.9rem;font-family:var(--orn);font-weight:900;font-size:.86rem;
  letter-spacing:.08em;text-transform:uppercase;color:#9E2318}
.he-fexample{margin-top:1.1rem;padding:.85rem;border-radius:12px;background:rgba(255,253,245,.8);
  border:1.5px solid #E0CB94}
.he-fex{font-family:var(--dsp);font-weight:900;font-size:clamp(1rem,2.6vw,1.4rem);
  color:var(--turq-dk);line-height:1.3;margin-top:.2rem}

/* ══════════ 26. VERSION STRIP FLAGS ══════════ */
.vrow.he-flag{background:#FDF2F0;border-color:#E8B2AC}
.vrow.he-flag em{color:var(--red)}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media(max-width:980px){
  .he-loopgrid{grid-template-columns:1fr}
  .he-deposit{max-width:330px;margin:0 auto}
  .he-belt{grid-template-columns:repeat(3,minmax(0,1fr))}
  .he-vsgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .he-vsgap{grid-column:1/-1;flex-direction:row;gap:1rem}
  .he-receipts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .he-simgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .he-convpair{grid-template-columns:1fr}
  .he-conv-src{min-height:0}
  .he-neq{grid-template-columns:1fr}
  .he-neqsign{padding:.2rem 0}
  .he-convline{grid-template-columns:1fr}
  .he-convarrow{max-width:none;padding:.3rem 0}
  /* conveyor becomes a vertical sequence */
  .he-belt{grid-template-columns:1fr;gap:7px}
  .he-block{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;
    align-items:center;text-align:left;padding:.6rem .75rem}
  .he-block .he-k{grid-column:1;grid-row:1}
  .he-block .he-blockv{grid-column:1;grid-row:2;margin:0;font-size:1.3rem}
  .he-block .he-coins{grid-column:2;grid-row:1/3;margin:0;justify-content:flex-start}
  .he-block .he-blockd{grid-column:3;grid-row:1;text-align:right;font-size:1.25rem}
  .he-block .he-blockk{grid-column:3;grid-row:2;text-align:right;margin:0}
  .he-beltbase{grid-template-columns:repeat(4,minmax(0,1fr))}
  .he-paths{grid-template-columns:1fr;gap:10px}
  .he-branch{display:none}
  .he-river{grid-template-columns:auto minmax(0,1fr);row-gap:.4rem;
    grid-template-areas:"k lane" "v d"}
  .he-riverk{grid-area:k}
  .he-riverlane{grid-area:lane}
  .he-riverv{grid-area:v}
  .he-riverd{grid-area:d}
  .he-receipts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .he-rtotal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .he-trails{grid-template-columns:1fr}
  .he-vsgrid{grid-template-columns:1fr}
  .he-vsgap{flex-direction:column}
  .he-oprow{grid-template-columns:1fr}
  .he-opconst{justify-self:center;font-size:2.1rem}
  .he-opstep{width:100%!important}
  .he-bonusflow,.he-bigwin{grid-template-columns:1fr}
  .he-barrow{transform:rotate(90deg);font-size:1.3rem}
  .he-bclaims{grid-template-columns:1fr}
  .he-tickets{grid-template-columns:1fr}
  .he-tool{grid-template-columns:1fr}
  .he-toolout{grid-template-columns:1fr}
  .he-roadlabels{grid-template-columns:1fr}
  .he-roadway{grid-template-columns:repeat(4,minmax(0,1fr))}
  /* spiral simplifies to a four-step sequence on phones */
  .he-spiral{display:none}
  .he-dials{grid-template-columns:1fr}
  .he-dialne{padding:.2rem 0}
  .he-maxwin{grid-template-columns:1fr}
  .he-mwne{padding:.2rem 0}
  .he-simgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .he-loopout{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px){
  .he-spiralseq{display:none}
}
@media(max-width:560px){
  .he-loopstep{grid-template-columns:52px minmax(0,1fr);gap:.55rem}
  .he-loopstep b{font-size:.95rem}
  .he-loopstep span{font-size:.84rem}
  .he-receipts{grid-template-columns:1fr}
  .he-receipt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;
    align-items:center;border-radius:8px;border-bottom:1.5px solid var(--line);
    padding:.55rem .7rem}
  .he-receipt::after{display:none}
  .he-receipt .he-rk{grid-column:1;grid-row:1/3;margin:0}
  .he-receipt .he-rrow{grid-column:2}
  .he-receipt .he-rnet{grid-column:3;grid-row:1/3;border:none;margin:0;padding:0}
  .he-receipt .he-rtag{grid-column:2;grid-row:3}
  .he-field input{font-size:1.3rem;min-height:48px}
}
@media(prefers-reduced-motion:reduce){
  .he-loopviz.he-running .he-ring-coin{animation:none}
  .he-riverlane{animation:none;background-image:linear-gradient(180deg,#1B3E78,#122C5C);
    background-size:100% 100%}
  .he-loopstep{transition:none}
}
