  /* Landing page — standalone, same Brutalist Mono look as the console (does not load studio-theme.css). */
  :root { --bg:#f4f3ec; --bg-2:#ebeae1; --hi:#ffe14d; --ink:#111; --muted:#5d5d57; --ok:#12794a;
          --sans:'Space Grotesk',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace; }
  * { box-sizing:border-box; margin:0; padding:0; }
  html { scroll-behavior:smooth; }
  body { background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.5; }
  a { color:inherit; }
  .wrap { max-width:1120px; margin:0 auto; padding:0 28px; }

  /* buttons */
  .btn { display:inline-block; text-decoration:none; font:700 14px var(--sans); text-transform:uppercase; letter-spacing:.5px;
         padding:14px 24px; border:3px solid var(--ink); background:var(--ink); color:#fff; box-shadow:5px 5px 0 0 var(--ink);
         transition:transform .08s, box-shadow .08s; }
  .btn:hover { transform:translate(-2px,-2px); box-shadow:7px 7px 0 0 var(--ink); }
  .btn:active { transform:translate(5px,5px); box-shadow:0 0 0 0 var(--ink); }
  .btn.hi { background:var(--hi); color:var(--ink); }
  .btn.ghost { background:#fff; color:var(--ink); }
  .btn.sm { padding:8px 14px; font-size:12px; box-shadow:3px 3px 0 0 var(--ink); }

  /* top bar */
  header { position:sticky; top:0; z-index:10; background:#fff; border-bottom:3px solid var(--ink); }
  header .wrap { display:flex; align-items:center; gap:26px; height:84px; }
  header img { height:56px; }
  header nav { display:flex; gap:22px; margin-left:18px; }
  header nav a { font:700 12px var(--sans); text-transform:uppercase; letter-spacing:.8px; text-decoration:none; padding:4px 0; border-bottom:3px solid transparent; }
  header nav a:hover { border-bottom-color:var(--hi); }
  header .sp { flex:1; }

  /* hero */
  .hero { padding:64px 0 80px; min-height:0; display:flex; align-items:center; border-bottom:3px solid var(--ink);
          background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(17,17,17,.045) 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(17,17,17,.045) 31px 32px),var(--bg); }
  .hero .wrap { width:100%; display:flex; flex-direction:column; gap:56px; align-items:center; text-align:center; }
  .hero .lead { margin-left:auto; margin-right:auto; } .hero .cta, .hero .nets { justify-content:center; }
  .eyebrow { display:inline-block; font:700 11px var(--mono); letter-spacing:2px; text-transform:uppercase; background:#fff; border:2px solid var(--ink); padding:4px 10px; margin-bottom:22px; }
  h1 { font-size:58px; line-height:1.0; letter-spacing:-2px; font-weight:700; }
  h1 mark { background:var(--hi); padding:0 8px; border:3px solid var(--ink); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
  .lead { font-size:19px; color:var(--muted); margin:24px 0 32px; max-width:540px; }
  .lead b { color:var(--ink); }
  .cta { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
  .nets { margin-top:30px; font:500 12px var(--mono); color:var(--muted); display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
  .pill { font:700 10px var(--mono); letter-spacing:1px; text-transform:uppercase; padding:3px 8px; border:2px solid var(--ink); background:#fff; }
  .pill.live { background:var(--ok); color:#fff; border-color:var(--ok); }
  .pill.soon { color:var(--muted); border-color:var(--muted); }

  /* hero visual: a lookup "terminal" card */
  .term { background:#fff; border:3px solid var(--ink); box-shadow:8px 8px 0 0 var(--ink); }
  .term .bar { display:flex; align-items:center; gap:8px; padding:9px 14px; border-bottom:3px solid var(--ink); background:var(--hi); font:700 11px var(--mono); letter-spacing:1px; text-transform:uppercase; }
  .term .bar i { width:10px; height:10px; border:2px solid var(--ink); background:#fff; display:inline-block; }
  .term pre { font:500 12.5px/1.7 var(--mono); padding:16px 18px; overflow:auto; }
  .term .k { color:#8a5a00; } .term .s { color:var(--ok); } .term .c { color:var(--muted); }
  .term .res { border-top:2px dashed var(--ink); background:var(--bg); }

  /* sections */
  section { padding:84px 0; border-bottom:3px solid var(--ink); }
  .sec-h { max-width:700px; margin-bottom:46px; }
  .sec-h .eyebrow { margin-bottom:14px; }
  h2 { font-size:40px; line-height:1.05; letter-spacing:-1.2px; font-weight:700; }
  .sec-h p { margin-top:14px; font-size:17px; color:var(--muted); }

  /* three pillars */
  .pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .pillar { background:#fff; border:3px solid var(--ink); box-shadow:6px 6px 0 0 var(--ink); padding:26px 24px 28px; display:flex; flex-direction:column; }
  .pillar .num { font:700 11px var(--mono); letter-spacing:2px; background:var(--ink); color:#fff; padding:3px 9px; align-self:flex-start; }
  .pillar .ic { font-size:40px; margin:18px 0 8px; }
  .pillar h3 { font-size:23px; letter-spacing:-.5px; text-transform:uppercase; line-height:1.1; }
  .pillar p { margin-top:10px; color:var(--muted); font-size:15px; }
  .pillar ul { list-style:none; margin-top:16px; border-top:2px solid var(--ink); padding-top:14px; display:grid; gap:7px; font-size:14px; }
  .pillar li::before { content:'✓ '; font-weight:700; color:var(--ok); }
  .pillar.star { background:var(--hi); }

  /* how it works */
  .how { background:var(--bg-2); }
  .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:3px solid var(--ink); background:#fff; box-shadow:6px 6px 0 0 var(--ink); }
  .step { padding:24px 22px 26px; border-right:3px solid var(--ink); position:relative; }
  .step:last-child { border-right:none; }
  .step .n { width:34px; height:34px; background:var(--ink); color:#fff; font:700 15px var(--sans); display:flex; align-items:center; justify-content:center; }
  .step h4 { margin:14px 0 6px; font-size:17px; text-transform:uppercase; letter-spacing:-.2px; }
  .step p { font-size:14px; color:var(--muted); }
  .step code { font:700 11.5px var(--mono); background:var(--hi); border:2px solid var(--ink); padding:1px 6px; }

  /* no lock-in band */
  .band { background:var(--ink); color:#fff; }
  .band .wrap { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; }
  .band h2 mark { background:var(--hi); color:var(--ink); padding:0 8px; }
  .band p { margin-top:16px; color:#c9c9c2; font-size:17px; }
  .band .eyebrow { background:var(--hi); color:var(--ink); }
  .proofs { display:grid; gap:14px; }
  .proof { border:3px solid #fff; padding:16px 18px; display:flex; gap:14px; align-items:flex-start; box-shadow:5px 5px 0 0 var(--hi); }
  .proof b { display:block; font-size:16px; text-transform:uppercase; letter-spacing:.2px; }
  .proof span { font-size:14px; color:#c9c9c2; }
  .proof i { font-style:normal; font-size:22px; }

  /* final CTA */
  .final { text-align:center; background:var(--hi); }
  .final h2 { font-size:46px; }
  .final p { margin:14px auto 30px; max-width:560px; font-size:18px; }
  .final .cta { justify-content:center; }

  footer { background:#fff; padding:28px 0; }
  footer .wrap { display:flex; align-items:center; gap:28px; flex-wrap:wrap; font:500 12px var(--mono); }
  footer img { height:28px; }
  footer .sp { flex:1; }
  footer a { text-decoration:none; font-weight:700; border-bottom:2px solid var(--hi); }


  @media (max-width:900px) {
    .hero .wrap, .band .wrap { grid-template-columns:1fr; }
    .pillars { grid-template-columns:1fr; }
    .steps { grid-template-columns:1fr 1fr; } .step { border-bottom:3px solid var(--ink); }
    h1 { font-size:42px; } header nav { display:none; }
  }

  /* hero diagram: game storefront  ⇄  HopLedger */
  .flow { width:100%; display:grid; grid-template-columns:1fr 250px 1fr; align-items:center; gap:0; text-align:left; }
  .box { position:relative; background:#fff; border:3px solid var(--ink); box-shadow:8px 8px 0 0 var(--ink); padding:34px 20px 16px; }
  .box.hl { background:var(--hi); }
  .tag { position:absolute; top:-15px; left:16px; font:700 12px var(--mono); letter-spacing:1px; text-transform:uppercase; background:#fff; border:3px solid var(--ink); padding:3px 10px; }
  .tag.dark { background:var(--ink); color:#fff; }
  .note { margin-top:14px; font:500 12px var(--mono); color:var(--muted); text-align:center; }
  .box.hl .note { color:var(--ink); }
  .store { border:2px solid var(--ink); background:var(--bg); }
  .sbar { display:flex; justify-content:space-between; padding:8px 12px; background:#2b2f4a; color:#fff; font:700 12px var(--sans); }
  .sbar span { font:500 11px var(--mono); opacity:.8; }
  .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:12px; }
  .it { background:#fff; border:2px solid var(--ink); padding:10px 6px; text-align:center; display:flex; flex-direction:column; gap:6px; align-items:center; }
  .it .pic { font-size:30px; }
  .it b { font-size:12px; }
  .it em { font:700 10px var(--mono); font-style:normal; padding:3px 7px; border:2px solid var(--ink); }
  .it .own { background:var(--ok); color:#fff; border-color:var(--ok); }
  .it .buy { background:var(--hi); }
  .wires { display:flex; flex-direction:column; gap:14px; padding:0 10px; }
  .wire { display:flex; flex-direction:column; align-items:center; gap:2px; text-align:center; }
  .wire code { font:700 10.5px var(--mono); background:#fff; border:2px solid var(--ink); padding:3px 6px; }
  .wire .ar { font-size:30px; line-height:1; font-weight:700; }
  .wire small { font:500 10.5px var(--mono); color:var(--muted); }
  .wire.back .ar { color:var(--ok); }
  .engine { display:grid; gap:10px; }
  .eng { display:grid; grid-template-columns:34px 1fr; column-gap:10px; align-items:center; background:#fff; border:2px solid var(--ink); padding:10px 12px; }
  .eng span { grid-row:span 2; font-size:26px; }
  .eng b { font-size:15px; text-transform:uppercase; }
  .eng small { font:500 11px var(--mono); color:var(--muted); }
  .eng.star { background:var(--ink); color:#fff; } .eng.star small { color:#c9c9c2; }
  @media (max-width:900px) { .flow { grid-template-columns:1fr; gap:28px; } .wires { flex-direction:row; flex-wrap:wrap; justify-content:center; } }
  .hlogo { display:block; width:78%; max-width:260px; margin:6px auto 0; }
  .pl + .pl { border-top:2px dashed var(--ink); }
  .who { padding:8px 12px 0; font:700 12px var(--mono); } .who i { font-style:normal; } .who small { font-weight:400; color:var(--muted); margin-left:6px; }
  .grid { grid-template-columns:repeat(2,1fr); padding:8px 12px 12px; }
  .it.sel { background:var(--hi); box-shadow:3px 3px 0 0 var(--ink); }
  .flow { align-items:stretch; }
  .wires { justify-content:center; }
  .box.hl { display:flex; flex-direction:column; justify-content:center; }
  .box.hl .hlogo { margin:auto; }
  .it .pic { font-size:22px; } .it { padding:6px; gap:3px; } .grid { gap:8px; }
  .play { margin:0 12px 12px; border:2px solid var(--ink); background:linear-gradient(#bfe3ff 0 62%,#7bbf6a 62%); }
  .ptag { padding:6px 12px; background:var(--ink); color:#fff; font:700 11px var(--mono); }
  .scene { display:flex; align-items:flex-end; justify-content:center; gap:22px; padding:14px 12px 10px; }
  .scene .big { font-size:84px; line-height:1; display:block; filter:drop-shadow(3px 3px 0 rgba(17,17,17,.35)); }
  .hero-ch { text-align:center; } .hero-ch span { font-size:58px; line-height:1; display:block; }
  .gi { text-align:center; } .scene small { display:block; font:700 10px var(--mono); background:#fff; border:2px solid var(--ink); padding:1px 5px; margin-top:4px; }
  .hero .cta .btn.hi { font-size:20px; padding:20px 38px; border-width:4px; box-shadow:8px 8px 0 0 var(--ink); }
  .hero .cta .btn.hi:hover { box-shadow:11px 11px 0 0 var(--ink); }
  .hero .cta .btn.ghost { font-size:12px; padding:10px 16px; box-shadow:3px 3px 0 0 var(--ink); }
  .cap { margin:34px auto 0; max-width:640px; text-align:center; font-size:16px; color:var(--muted); }
  .cap b { color:var(--ink); }
