/* handly landing page. Shares tokens with styles.css. */
body.landing{background:var(--bg);color:var(--ink);font-size:15px}
.landing main{display:block}
.landing .eyebrow{font-size:11px;color:var(--muted);margin:0 0 22px}
.lp-dot{color:var(--blue)}

.lp-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:18px 64px;background:rgba(var(--bg-rgb),.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.lp-brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:600;letter-spacing:-.4px}
.lp-brand-mark{width:26px;height:26px;flex:none;background:currentColor;color:var(--ink);-webkit-mask:url(assets/mark.svg) center/contain no-repeat;mask:url(assets/mark.svg) center/contain no-repeat}
.brand-period{color:var(--blue)}
.lp-top-nav{margin-left:auto;display:flex;gap:26px;font-size:13px;color:var(--muted)}
.lp-top-nav a:hover{color:var(--ink)}
.lp-open{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--ink);border-radius:0;padding:15px 30px;min-height:48px;font-size:12px;font-weight:550;letter-spacing:.2px;transition:transform .35s var(--ease),background .25s,border-color .25s}
.lp-open:hover{background:var(--blue)}
.lp-open-top{padding:11px 22px;min-height:40px;font-size:11px}
.lp-ghost{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 30px;min-height:48px;border:1px solid var(--line);border-radius:0;font-size:12px;font-weight:550;letter-spacing:.2px;background:var(--panel);transition:transform .35s var(--ease),border-color .25s}
.lp-ghost:hover{border-color:var(--ink)}

.lp-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:72px;max-width:1560px;margin:0 auto;padding:92px 64px 104px}
.lp-hero h1{font-size:clamp(32px,3.6vw,52px);line-height:1.08;letter-spacing:-1.6px;font-weight:550;margin:0 0 20px;max-width:15.5ch}
.lp-lede{max-width:46ch;font-size:16px;line-height:1.65;color:var(--text2);margin:0 0 34px}
.lp-cta{display:flex;flex-wrap:wrap;gap:16px;margin:34px 0 26px}
.lp-note{font-size:13.5px;color:var(--muted);margin:0}

.lp-hero-art{position:relative;display:grid;place-items:center;min-height:410px}
.lp-hero-bento{display:block;min-height:0;max-width:720px;width:100%;justify-self:end}

/* WebGL token stage */
.lp-hero-art{--size:390px;--shadow-scale:1;--shadow-alpha:.16}
.lp-stage{position:relative;width:var(--size);height:var(--size);display:grid;place-items:center;cursor:grab;touch-action:pan-y;outline:none;border-radius:50%}
.lp-stage.is-dragging{cursor:grabbing}
.lp-stage:focus-visible{box-shadow:0 0 0 3px rgba(var(--glow-rgb),.35);border-radius:50%}
.lp-coin-webgl{position:absolute;inset:0}
.lp-coin-webgl.is-hidden{display:none}
.lp-canvas{display:block;width:100%;height:100%}
.lp-coin-fallback{position:absolute;inset:0}
.lp-coin-fallback.is-hidden{display:none}
.lp-coin-shadow{position:absolute;bottom:-3px;width:190px;height:20px;border-radius:50%;
  background:rgba(var(--shadow-rgb),var(--shadow-alpha));filter:blur(12px);transform:scaleX(var(--shadow-scale))}
.lp-coin-controls{display:flex;gap:10px;margin-top:26px}
.lp-coin-btn{min-width:44px;min-height:44px;padding:10px 22px;border:1px solid var(--line);border-radius:0;
  background:var(--panel);color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit}
.lp-coin-btn:hover{border-color:var(--ink)}
.lp-coin-btn:focus-visible{box-shadow:0 0 0 3px rgba(var(--glow-rgb),.35);outline:none}
.lp-coin-controls.is-hidden{display:none}
.lp-hint{margin:18px 0 0;font-size:13px;line-height:1.5;color:var(--muted);text-align:center;max-width:34ch}
.lp-stage.is-static{cursor:default}
@media (prefers-reduced-motion:reduce){.lp-stage{cursor:default}}
@media (max-width:980px){.lp-hero-art{--size:280px}}

.lp-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--panel);max-width:1560px;margin:0 auto;width:calc(100% - 128px)}
.lp-strip div{padding:30px 40px;border-right:1px solid var(--line)}
.lp-strip div:last-child{border-right:0}
.lp-strip strong{display:block;font-size:26px;font-weight:550;letter-spacing:-1px;margin-bottom:8px}
.lp-strip span{font-size:13px;line-height:1.55;color:var(--muted)}

.lp-read{max-width:1560px;margin:0 auto;padding:92px 64px}
.lp-read h2{font-size:clamp(28px,3.2vw,40px);line-height:1.1;letter-spacing:-1.4px;font-weight:550;margin:0 0 44px;max-width:20ch}
.lp-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;background:var(--line);border:1px solid var(--line)}
.lp-steps li{background:var(--panel);padding:34px 30px 38px}
.lp-steps .step-number{font-size:11px;letter-spacing:.14em;color:var(--blue);margin:0 0 26px}
.lp-steps h3{font-size:20px;font-weight:550;letter-spacing:-.6px;margin:0 0 12px}
.lp-steps p:last-child{margin:0;font-size:14px;line-height:1.65;color:var(--text2)}

.lp-truths{border-top:1px solid var(--line)}
.lp-truth-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 46px}
.lp-truth-list li{font-size:14px;line-height:1.7;color:var(--text2);padding-left:18px;border-left:2px solid var(--blue)}
.lp-truth-list strong{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
.lp-tail{display:flex;flex-wrap:wrap;gap:12px;margin-top:52px}

.lp-footer{border-top:1px solid var(--line);padding:46px 64px 60px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:28px;max-width:1240px;margin:0 auto}
.lp-footer .footer-word{font-size:34px;font-weight:600;letter-spacing:-1.4px}
.lp-footer p{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.lp-footer div{font-size:11px;letter-spacing:.12em;color:var(--muted)}

@media (max-width:980px){
  .lp-hero{grid-template-columns:1fr;gap:34px;padding:56px 24px 64px}
  .lp-hero-art{order:-1;min-height:0}
  .lp-hero-bento{order:1;justify-self:stretch;max-width:none}
      .lp-strip{width:calc(100% - 48px)}
  .lp-strip,.lp-steps,.lp-truth-list{grid-template-columns:1fr}
  .lp-strip div{border-right:0;border-bottom:1px solid var(--line);padding:24px}
  .lp-strip div:last-child{border-bottom:0}
  .lp-read{padding:58px 24px}
  .lp-top{padding:14px 20px;gap:16px}
  .lp-top-nav{display:none}
  .lp-footer{grid-template-columns:1fr;align-items:start;padding:36px 24px 48px}
}
@media (max-width:420px){
  .lp-hero h1{letter-spacing:-1px}
  .lp-open,.lp-ghost{flex:1 1 auto}
}

.lp-hero-bento{display:block;min-height:0;align-self:center}
@media (max-width:980px){.lp-hero-bento{order:1}}

.lp-open:hover,.lp-ghost:hover{transform:translateY(-1px)}
@media (max-width:1180px){.lp-hero,.lp-read{padding-left:40px;padding-right:40px}.lp-top,.lp-footer{padding-left:40px;padding-right:40px}}
@media (prefers-reduced-motion:reduce){.lp-open,.lp-ghost{transition:none}.lp-open:hover,.lp-ghost:hover{transform:none}}

.lp-footer{grid-template-columns:auto 1fr;row-gap:22px}
.lp-footer .foot-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:22px;font-size:12px}
.lp-footer .foot-legal a{color:var(--muted);text-decoration:none;transition:color .2s ease}
.lp-footer .foot-legal a:hover{color:var(--ink)}
.lp-footer .foot-copy{grid-column:1/-1;font-size:11px;letter-spacing:.06em;color:var(--muted);
 border-top:1px solid var(--line);padding-top:18px}

html[data-theme=night] .lp-footer .foot-legal a:hover{color:#e7e9ea}

.lp-soon{cursor:default;opacity:.55;pointer-events:none}
