/* Nibs. Short, clean, colour where it means something */
@font-face{font-family:'Inter';src:url('../fonts/inter-var.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('../fonts/geist-mono-var.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --ink:#0b0b0c;--ink2:#2b2b2f;--dim:#6e6e74;--mute:#a3a3a9;--faint:#cfcfd4;--line:#ececee;--soft:#f6f6f7;
  --sage:#dedee2;--sage2:#f0f0f2;--green:#45454b;--fit:#ffb547;--fitink:#b56a00;--fm:#7fb2ff;--fmink:#2c62c9;
  --night:#0d0d10;--night2:#17171b;--nline:#26262c;--ngrey:#8b8b93;
  --ease:cubic-bezier(.2,.8,.2,1);--max:1240px;--gut:32px;--inset:14px
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:#fff;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:'cv11'}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:inherit}
img,video,svg{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);font-weight:450}
:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:6px}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:transform .6s var(--ease),background .35s,border-color .35s}
.nav.solid{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-bottom-color:var(--line)}
.nav.away{transform:translateY(-101%)}
.nav .wrap{height:66px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:640;font-size:19px;letter-spacing:-.025em}
.brand .ico{width:28px;height:28px}
.tag{font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:var(--sage2);border-radius:999px;padding:4px 9px 3px;line-height:1.3}
.nav .end{margin-left:auto;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .4s,transform .5s var(--ease)}
.nav.solid .end{opacity:1;transform:none;pointer-events:auto}

/* button */
.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font-weight:560;font-size:15.5px;letter-spacing:-.01em;position:relative;overflow:hidden;isolation:isolate;white-space:nowrap}
.btn::before{content:'';position:absolute;inset:0;background:#2e2e33;transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn .ar{width:16px;height:16px;transition:transform .5s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn.sm{height:38px;padding:0 16px;font-size:14.5px}
.btn.lg{height:56px;padding:0 28px;font-size:17px}
.note{font-family:'Geist Mono',monospace;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}

/* Nibs */
.nibs{position:relative;display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent;flex:none}
.nibs svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 20px rgba(11,11,12,.18))}
.nibs .eyes,.nibs .happy,.nibs .spark{transform-box:fill-box;transform-origin:50% 50%}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:110px 0 90px}
.aura{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.aura i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}
.aura .a1{width:42vw;height:42vw;left:-8vw;top:6vh;background:radial-gradient(circle,#ffd391 0,rgba(255,211,145,0) 70%)}
.aura .a2{width:40vw;height:40vw;right:-10vw;top:18vh;background:radial-gradient(circle,#b9d4ff 0,rgba(185,212,255,0) 70%)}
.aura .a3{width:46vw;height:30vw;left:28vw;bottom:-12vw;background:radial-gradient(circle,#d9d9df 0,rgba(217,217,223,0) 70%)}
.hero-bg{position:absolute;inset:-4%;pointer-events:none;opacity:.75;--mx:50%;--my:50%;--r:300px;
  -webkit-mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my),#000 0,rgba(0,0,0,.5) 38%,transparent 72%);
  mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my),#000 0,rgba(0,0,0,.5) 38%,transparent 72%)}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-fade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 44% 38% at 50% 50%,rgba(255,255,255,.9),rgba(255,255,255,0) 100%)}
.hero-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.h1{font-size:clamp(62px,12vw,184px);font-weight:620;letter-spacing:-.065em;line-height:.92}
.meet{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,30px);margin:24px 0 28px}
.meet .nibs{width:clamp(70px,11vw,166px);height:clamp(70px,11vw,166px)}
.wm{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .03em .14em;margin:-.06em -.03em -.14em}
.wi{display:inline-block;will-change:transform}
.sub{font-size:clamp(19px,2vw,26px);color:var(--ink2);letter-spacing:-.02em;font-weight:450}
.genius{margin-top:8px;font-size:clamp(17px,1.7vw,21px);line-height:1.45em;color:var(--mute);display:flex;gap:.32em;justify-content:center;align-items:flex-start;letter-spacing:-.01em}
.slot{position:relative;display:block;height:1.45em;overflow:hidden;font-weight:580;text-align:left}
.slot span{position:absolute;left:0;top:0;white-space:nowrap;line-height:1.45em}
.slot .f{color:var(--fitink)}.slot .m{color:var(--fmink)}
.hero .cta{margin-top:42px;display:flex;flex-direction:column;align-items:center;gap:14px}
.cue{position:absolute;left:50%;bottom:26px;width:1px;height:54px;background:var(--line);overflow:hidden;z-index:2}
.cue i{position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--ink);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{to{top:100%}}

/* panels */
.panel{margin:0 var(--inset);border-radius:34px;position:relative;overflow:hidden}
.idx{display:flex;align-items:center;gap:10px;margin-bottom:26px}
.idx b{font-weight:450;color:var(--mute)}
.h2{font-size:clamp(40px,5.6vw,84px);font-weight:620;letter-spacing:-.055em;line-height:1}
.h2 .d{display:block;color:var(--mute)}

/* showcase (night panel) */
.show{background:var(--night);color:#fff;padding:clamp(56px,8vw,104px) 0 clamp(48px,6vw,80px);--acc:var(--fit)}
.show[data-k=fm]{--acc:var(--fm)}
.show .mono{color:var(--ngrey)}
.show .idx i{width:8px;height:8px;border-radius:50%;background:var(--acc);transition:background .5s}
.show-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}
.switch{display:flex;gap:clamp(18px,3vw,46px);flex-wrap:wrap;align-items:flex-end}
.switch button{font-size:clamp(36px,5.2vw,76px);font-weight:620;letter-spacing:-.052em;line-height:1.02;color:#3b3b42;transition:color .5s var(--ease);position:relative;padding-bottom:12px}
.switch button:hover{color:#6c6c74}
.switch button.on{color:#fff}
.switch button::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease),background .5s}
.switch button.on::after{transform:scaleX(1)}
.show .line{color:var(--ngrey);font-size:clamp(16px,1.4vw,19px);max-width:420px;padding-bottom:16px}
.frame{position:relative;margin-top:44px;border-radius:20px;overflow:hidden;background:#1a1a1e;aspect-ratio:16/9;box-shadow:0 0 0 1px var(--nline),0 50px 120px -50px rgba(0,0,0,.9);will-change:transform}
.frame video,.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease)}
.frame .on{opacity:1}
.prog{margin-top:22px}
.now{display:flex;gap:12px;align-items:center;height:22px;overflow:hidden;font-size:15px;color:#fff}
.now .n{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.08em;color:var(--acc);transition:color .5s}
.now .t{font-weight:520;letter-spacing:-.01em}
.bar{position:relative;height:20px;margin-top:10px;cursor:pointer;display:flex;align-items:center}
.bar .rail{position:relative;width:100%;height:2px;background:var(--nline);border-radius:2px;transition:height .3s var(--ease)}
.bar:hover .rail{height:4px}
.bar .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--acc);border-radius:2px;transition:background .5s}
.bar .tick{position:absolute;top:50%;width:2px;height:8px;margin:-4px 0 0 -1px;background:#3a3a42;border-radius:1px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--nline)}
.stat{padding:26px 26px 4px 0;position:relative}
.stat+.stat{padding-left:26px;border-left:1px solid var(--nline)}
.stat .v{font-size:clamp(38px,4.6vw,64px);font-weight:620;letter-spacing:-.055em;line-height:1;font-variant-numeric:tabular-nums}
.stat .k{color:var(--ngrey);font-size:15px;margin-top:10px;display:flex;align-items:center;gap:10px}
.stat.trace{cursor:pointer;outline:none}
.stat.trace .v{background:linear-gradient(var(--acc),var(--acc)) no-repeat 0 100%/0 3px;transition:background-size .6s var(--ease)}
.stat.trace:hover .v,.stat.trace.open .v{background-size:100% 3px}
.plus{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;position:relative;flex:none;transition:transform .5s var(--ease)}
.plus::before,.plus::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.open .plus{transform:rotate(45deg)}
.pop{position:absolute;left:0;bottom:calc(100% + 14px);width:min(470px,92vw);background:#fff;color:var(--ink);border-radius:18px;padding:18px 20px 12px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);opacity:0;transform:translateY(10px) scale(.98);transform-origin:20% 100%;pointer-events:none;transition:opacity .3s,transform .45s var(--ease);z-index:5}
.open .pop{opacity:1;transform:none;pointer-events:auto}
.pop .mono{color:var(--dim);display:block;margin-bottom:8px}
.r{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.r .w{font-family:'Geist Mono',monospace;font-size:11.5px;color:var(--mute);text-align:right}
.r b{font-weight:560;font-variant-numeric:tabular-nums;min-width:70px;text-align:right}
.r.t{border:0;border-top:1.5px solid var(--ink);font-weight:620;margin-top:-1px}
.r.t b{font-weight:680}

/* trades */
.trades{padding:clamp(80px,12vw,150px) 0}
.tgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,90px);align-items:start}
.cloud{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:clamp(24px,2.7vw,38px);font-weight:600;letter-spacing:-.04em;line-height:1.2;padding-top:6px}
.cloud span{display:inline-flex;align-items:center;gap:10px;color:#cdcdd2;transition:color .35s;cursor:default;outline:none}
.cloud span.live{color:var(--ink)}
.cloud span.live::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--c);flex:none;margin-top:4px}
.cloud span:hover,.cloud span:focus-visible,.cloud span.on{color:var(--ink)}
.cap{margin-top:30px;min-height:3.2em;font-size:16.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:18px;display:flex;gap:12px;align-items:baseline}
.cap .s{flex:none;font-family:'Geist Mono',monospace;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px 2px;border-radius:999px;background:var(--soft);color:var(--dim)}
.cap .s.l{background:var(--sage2);color:var(--green)}

/* beta (sage panel) */
.beta{background:var(--sage);padding:clamp(70px,10vw,130px) 0;text-align:center}
.beta .nibs{width:104px;height:104px;margin:0 auto 34px;display:block}
.beta .idx{justify-content:center}
.beta .idx b,.beta .mono{color:#4f6b47}
.beta .h2 .d{color:#6f8a67}
.beta p{max-width:620px;margin:26px auto 0;color:#3a4a36;font-size:clamp(18px,1.6vw,21px);line-height:1.5}
.beta .cta{margin-top:38px;display:flex;flex-direction:column;align-items:center;gap:14px}
.beta .note{color:#5d7756}
.beta .glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.6),rgba(255,255,255,0) 55%)}

/* footer */
footer{padding:34px 0 36px}
footer .wrap{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--dim);flex-wrap:wrap}
footer .brand{font-size:16px;color:var(--ink)}
footer .brand .ico{width:22px;height:22px}
footer nav{margin-left:auto;display:flex;gap:22px}
footer nav a:hover{color:var(--ink)}
footer small{font-size:12.5px;color:var(--mute);flex-basis:100%}

/* reveal */
.js .rv{opacity:0;transform:translateY(26px)}
.reduced .rv{opacity:1!important;transform:none!important}

/* responsive */
@media (max-width:900px){
  .tgrid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .stat,.stat+.stat{padding:22px 0 18px;border-left:0;border-top:1px solid var(--nline)}
  .stat:first-child{border-top:0}
  .pop{left:0;right:0;width:auto}
}
@media (max-width:640px){
  :root{--gut:20px;--inset:8px}
  body{font-size:16px}
  .nav .wrap{height:60px}
  .hero{padding:96px 0 84px}
  .panel{border-radius:24px}
  .frame{border-radius:12px;margin-top:30px}
  .show .line{padding-bottom:0}
  .r{grid-template-columns:minmax(0,1fr) auto}
  .r .w{grid-column:1;grid-row:2;text-align:left}
  .r b{grid-column:2;grid-row:1 / span 2;align-self:center}
  footer nav{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
.trades .h2{font-size:clamp(36px,4.3vw,62px)}
