:root{
  --ink:#0A0A0B;--ink-2:#111113;--ink-3:#17171a;--line:#222226;--line-2:#303036;
  --bone:#EDEAE3;--ash:#8A8780;--dim:#5a5853;--accent:#8FC8FF;
  --r:6px;--hdr:64px;
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,Consolas,monospace;
  --glide:cubic-bezier(.2,.8,.2,1);
  --gut:max(16px,calc((100vw - 1280px)/2));
}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
html,body{margin:0;overflow-x:clip}
body{background:var(--ink);color:var(--bone);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
p{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r)}
main:focus{outline:0}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--accent);color:var(--ink);padding:10px 14px;border-radius:var(--r);text-decoration:none}
.skip:focus{left:16px}
.wrap{padding:0 var(--gut);max-width:none}

/* header: the only glass */
.hdr{position:fixed;top:0;left:0;right:0;z-index:30;height:var(--hdr);padding:10px var(--gut) 0}
.hdr__in{height:100%;display:flex;align-items:center;gap:20px;padding:0 8px 0 14px;border:1px solid rgba(237,234,227,.08);border-radius:var(--r);background:rgba(12,14,18,.5);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.brand svg{width:22px;height:22px;display:block;color:var(--bone)}
.brand b{font-weight:700;letter-spacing:.1em;font-size:14px}
.hdr__nav{display:flex;gap:4px;margin-left:auto}
.hdr__nav a{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--r);text-decoration:none;font-size:14px;color:var(--ash)}
.hdr__nav a:hover{color:var(--bone)}
.hdr__nav a[aria-current]{color:var(--bone)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:var(--r);background:var(--accent);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none;border:1px solid var(--accent);transition:background .2s var(--glide),transform .2s var(--glide)}
.btn:hover{background:#a8d4ff}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:transparent;color:var(--bone);border-color:var(--line-2)}
.btn--ghost:hover{background:var(--ink-2);border-color:#45454c}
.btn--lg{min-height:48px;padding:0 22px;font-size:15px}

.kick{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);display:flex;gap:14px;align-items:center}
.kick span{color:var(--accent)}

/* hero */
.hero{position:relative;min-height:min(100svh,1080px);display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--hdr) + 48px) 0 0;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 50% at 30% 62%,rgba(143,200,255,.07),transparent 70%)}
.hero__dots{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}
.hero__in{position:relative;padding-bottom:56px}
.hero__mark{margin:22px 0 0 -.04em;font-weight:700;font-size:clamp(80px,25vw,380px);line-height:.82;letter-spacing:-.045em;color:var(--bone);white-space:nowrap}
.dots-on .hero__mark{color:transparent}
.hero__copy{margin-top:44px;display:grid;gap:10px}
.hero__a{font-size:clamp(26px,3.4vw,46px);line-height:1.08;font-weight:600;letter-spacing:-.025em;max-width:18em}
.hero__b{font-size:clamp(18px,1.7vw,24px);line-height:1.35;color:var(--ash);letter-spacing:-.01em}
.hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.facts{margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.facts>div{padding:20px 0 26px;border-right:1px solid var(--line);padding-right:20px}
.facts>div+div{padding-left:24px}
.facts>div:last-child{border-right:0}
.facts dt{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);margin-bottom:10px}
.facts dd{margin:0;font:500 18px/1.2 var(--mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums}

/* sections */
.sec{padding:140px 0 0}
.head{max-width:760px}
.head h2{margin:22px 0 0;font-size:clamp(34px,4.6vw,68px);line-height:1;font-weight:650;letter-spacing:-.04em}
.sub{margin-top:22px;font-size:18px;line-height:1.55;color:var(--ash);max-width:36em}
.aside{margin-top:28px;font-size:14px;color:var(--ash)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.split--r .head{position:sticky;top:calc(var(--hdr) + 40px)}

/* flywheel */
.wheel{margin:56px 0 0;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,var(--ink-2),var(--ink));overflow:hidden}
.wheel__stage{width:100%}
.wheel svg{display:block;width:100%;height:auto}
.wheel text{font-family:var(--sans);fill:var(--bone)}
.wheel .t-k{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;fill:var(--ash)}
.wheel .t-s{font-size:13px;fill:var(--ash)}
.wheel .t-b{font-size:17px;font-weight:600}
.wheel .t-big{font-size:34px;font-weight:650;letter-spacing:-.03em}
.wheel .t-pct{font:600 30px var(--mono);letter-spacing:-.04em}
.wheel .lane{fill:none;stroke:var(--line-2);stroke-width:1.2}
.wheel .lane--hot{stroke:rgba(143,200,255,.45);stroke-dasharray:3 5}
.wheel .seg{fill:none;stroke-width:20;transition:stroke-dashoffset 1.4s var(--glide)}
.wheel .draw{transition:stroke-dashoffset 1.2s var(--glide)}
.wheel .fade{opacity:0;transition:opacity .8s var(--glide)}
.wheel.in .fade{opacity:1}
.wheel .src rect{fill:var(--ink-3);stroke:var(--line-2)}
.beats{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:b}
.beats li{counter-increment:b;padding:20px 24px 0 0;border-top:1px solid var(--line);position:relative}
.beats li+li{padding-left:24px;border-left:1px solid var(--line)}
.beats li::before{content:counter(b,decimal-leading-zero);display:block;font:500 12px/1 var(--mono);color:var(--accent);margin-bottom:14px}
.beats b{display:block;font-weight:600;font-size:17px;margin-bottom:6px}
.beats span{display:block;color:var(--ash);font-size:15px}

/* fees table */
.fees{border:1px solid var(--line);border-radius:var(--r);background:var(--ink-2);overflow:hidden}
.fees table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.fees th,.fees td{text-align:left;padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top}
.fees thead th{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);padding-top:20px;padding-bottom:16px}
.fees tbody th{font-weight:500;font-size:16px}
.fees td{font:500 17px/1.3 var(--mono);color:var(--ash);white-space:nowrap}
.fees td small{display:block;font:400 12px/1.4 var(--mono);color:var(--dim);margin-top:4px}
.fees .hl{color:var(--accent);background:rgba(143,200,255,.045);width:30%}
.fees thead .hl{color:var(--accent)}
.fees td.hl small{color:rgba(143,200,255,.6)}
.fees tbody tr{transition:background .2s}
.fees tbody tr:hover{background:rgba(237,234,227,.02)}
.fees__foot{display:flex;justify-content:space-between;gap:16px;padding:18px 22px;font:500 14px/1.3 var(--mono);color:var(--bone)}
.fees__foot span{color:var(--ash)}

/* locks */
.ticks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;max-width:34em}
.ticks li{position:relative;padding-left:22px;color:var(--bone)}
.ticks li::before{content:"";position:absolute;left:0;top:.72em;width:10px;border-top:1px solid var(--accent)}
.lock{border:1px solid var(--line);border-radius:var(--r);background:var(--ink-2);padding:28px}
.lock__row+.lock__row{margin-top:28px}
.lock__k{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);margin-bottom:12px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg button,.dur button{border:1px solid var(--line-2);background:var(--ink);border-radius:var(--r);transition:border-color .2s,background .2s,color .2s}
.seg button{min-height:64px;font:600 26px/1 var(--mono);letter-spacing:-.03em;color:var(--ash)}
.seg button:hover,.dur button:hover{border-color:#45454c;color:var(--bone)}
.seg button[aria-pressed=true]{color:var(--ink);background:var(--bone);border-color:var(--bone)}
.dur{display:grid;gap:8px}
.dur button{display:grid;grid-template-columns:96px 1fr 92px;align-items:center;gap:16px;min-height:52px;padding:0 16px;text-align:left;color:var(--ash)}
.dur b{font-weight:600;font-size:15px}
.dur i{display:block;height:6px;border-radius:2px;background:var(--line-2);position:relative;overflow:hidden}
.dur i::after{content:"";position:absolute;inset:0;width:calc(var(--w)*100%);background:currentColor;opacity:.6;transition:width .5s var(--glide)}
.dur span{font:500 13px/1 var(--mono);text-align:right}
.dur button[aria-pressed=true]{border-color:var(--accent);color:var(--bone);background:rgba(143,200,255,.05)}
.dur button[aria-pressed=true] i::after{background:var(--accent);opacity:1}
.lock__out{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px}
.lock__v{font:600 clamp(32px,3.4vw,46px)/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.lock__n{margin-top:10px;font:400 13px/1 var(--mono);color:var(--ash)}
.perk{border:1px solid var(--line-2);border-radius:var(--r);padding:16px;transition:border-color .3s,background .3s}
.perk__t{font-weight:600;font-size:15px;line-height:1.35}
.perk__s{margin-top:8px;font:500 12px/1.3 var(--mono);color:var(--ash)}
.perk[data-on]{border-color:var(--accent);background:rgba(143,200,255,.06)}
.perk[data-on] .perk__s{color:var(--accent)}
.lock__note{margin-top:20px;font-size:13px;color:var(--ash)}

/* farm */
.farm{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--line)}
.farm li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}
.farm span{font:500 13px/1.9 var(--mono);color:var(--accent)}
.farm p{font-size:clamp(22px,2.4vw,34px);line-height:1.2;letter-spacing:-.025em;font-weight:500;max-width:28em}

/* supply */
.nums{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.num{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:var(--ink-2);min-width:0;display:flex;flex-direction:column}
.num__k{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}
.num__v{margin-top:28px;font:600 clamp(34px,4.2vw,68px)/1 var(--mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;white-space:nowrap}
.num__v--wait{color:var(--ash);font-family:var(--sans);letter-spacing:-.035em}
.num__s{margin-top:auto;padding-top:28px;font-size:14px;color:var(--ash)}
.meter{margin-top:24px;height:6px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 10%),var(--ink);border:1px solid var(--line)}
.meter i{display:block;height:100%;width:0}

/* end */
.end{padding:180px 0 120px}
.end__in{display:grid;justify-items:start}
.end__t{font-size:clamp(36px,6vw,96px);line-height:.98;font-weight:650;letter-spacing:-.045em;max-width:12em}
.foot{border-top:1px solid var(--line)}
.foot__in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;font-size:13px;color:var(--ash)}
.foot nav{display:flex;gap:4px}
.foot a{text-decoration:none;padding:12px 10px;min-height:44px;display:inline-flex;align-items:center}
.foot a:hover{color:var(--bone)}

/* reveal */
.js [data-rv]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--glide),transform .9s var(--glide)}
.js [data-rv].on{opacity:1;transform:none}

@media (max-width:1000px){
  .split{grid-template-columns:1fr;gap:40px}
  .split--r .head{position:static}
}
@media (max-width:720px){
  :root{--hdr:60px}
  .hdr{padding:8px 12px 0}
  .hdr__in{gap:8px;padding:0 6px 0 12px}
  .hdr__nav a{padding:0 8px;min-height:44px}
  .hdr__nav a[href="/"]{display:none}
  .btn{min-height:44px}
  .hero{min-height:auto;padding-top:calc(var(--hdr) + 72px)}
  .hero__mark{margin-top:18px}
  .hero__copy{margin-top:32px}
  .hero__in{padding-bottom:40px}
  .hero__cta .btn{flex:1 1 auto}
  .facts{grid-template-columns:1fr}
  .facts>div,.facts>div+div{padding:16px 0;border-right:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .facts>div:last-child{border-bottom:0}
  .facts dt{margin:0}
  .facts dd{font-size:15px;text-align:right}
  .sec{padding-top:96px}
  .sub{font-size:16px}
  .wheel{margin-top:36px}
  .beats{grid-template-columns:1fr}
  .beats li,.beats li+li{padding:18px 0;border-left:0}
  .fees th,.fees td{padding:14px 12px}
  .fees tbody th{font-size:14px}
  .fees td{font-size:14px;white-space:normal}
  .fees td small{font-size:11px}
  .fees__foot{padding:14px 12px}
  .lock{padding:18px}
  .seg button{min-height:56px;font-size:22px}
  .dur button{grid-template-columns:72px 1fr 74px;gap:10px;padding:0 12px}
  .dur b{font-size:14px}
  .dur span{font-size:12px}
  .lock__out{grid-template-columns:1fr}
  .farm li{grid-template-columns:1fr;gap:8px;padding:24px 0}
  .nums{grid-template-columns:1fr}
  .num{padding:20px}
  .num__v{font-size:clamp(28px,10vw,44px)}
  .end{padding:120px 0 80px}
  .foot__in{flex-direction:column;align-items:flex-start;padding:16px 0;gap:4px}
  .foot nav{margin-left:-10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .js [data-rv]{opacity:1;transform:none}
}
