html{background:var(--bg);transition:background-color .45s ease}
body{margin:0}
.resuming .hb-root{visibility:hidden;animation:hb-reveal 0s 1s forwards}
@keyframes hb-reveal{to{visibility:visible}}
a{color:inherit}a:hover{color:inherit}
.hb-root{--sy:0;--p:0;--lead-in:200px;--a:calc(var(--p) * 1turn);background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .45s ease,color .45s ease}
.hb-root *,.hb-root *::before,.hb-root *::after{box-sizing:border-box}
.hb-root h1,.hb-root h2,.hb-root h3,.hb-root p,.hb-root ol{margin:0}
.theme-light{color-scheme:light;--bg:#F0EAD6;--gap:#DED4B8;--tone-0:#F0EAD6;--tone-1:#E9E1C9;--tone-2:#F5F0E1;--tone-3:#E3D9BD;--surface:#F8F4E8;--surface-2:#E7DEC4;--text:#16181F;--muted:#5A5648;--border:#DCD2B6;--border-strong:#857D69;--accent:#FFC940;--on-accent:#16181F;--focus:#16181F;--mark:#16181F;--mark-eye:#FFC940;--sun:#FFC940;--term-bg:#16181F;--L0:.9;--Ld:-.045;--C0:.045;--Cd:.026;--H0:86;--Hd:-7;--Hw:14;--tL:.87;--tC:.1;--tH:80;--tW:18;--rL:.8;--rC:.08;--rH:80;--rW:22}
.theme-dark{color-scheme:dark;--bg:#0E0F13;--gap:#090A0D;--tone-0:#0E0F13;--tone-1:#15171D;--tone-2:#1B1E26;--tone-3:#111319;--surface:#17191F;--surface-2:#20232B;--text:#F0EAD6;--muted:#A8A291;--border:#2C303A;--border-strong:#6B6F7A;--accent:#FFC940;--on-accent:#16181F;--focus:#FFC940;--mark:#F0EAD6;--mark-eye:#E8A317;--sun:#E8A317;--term-bg:#20232B;--L0:.34;--Ld:-.045;--C0:.035;--Cd:.004;--H0:262;--Hd:5;--Hw:12;--tL:.33;--tC:.05;--tH:262;--tW:26;--rL:.42;--rC:.05;--rH:265;--rW:24}
.k0{--k:0}.k1{--k:1}.k2{--k:2}.k3{--k:3}.k4{--k:4}.k5{--k:5}.k6{--k:6}.k7{--k:7}

.h1,.h2,.h3,.over,.wm,.btn,.navlink,.chip,.field label,.thanks,.h4{font-family:'Space Grotesk',system-ui,sans-serif}
.over{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.h1{font-size:clamp(46px,6.6vw,92px);font-weight:700;line-height:.96;letter-spacing:-.04em}
.h2{font-size:clamp(36px,4.6vw,60px);font-weight:700;line-height:1.02;letter-spacing:-.035em}
.h3{font-size:21px;font-weight:600;line-height:1.25;letter-spacing:-.015em}
.h4{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.01em}

.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--muted);max-width:36ch}
.lead-wide{max-width:56ch}
.txt{font-size:16px;line-height:1.6;color:var(--muted)}
.small{font-size:14px;line-height:1.5;color:var(--muted)}

.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 32px}
.anchor{display:block;height:0}
.sec{position:relative;background:var(--gap);transition:background-color .45s ease}
.t0{--bg:var(--tone-0)}.t1{--bg:var(--tone-1)}.t2{--bg:var(--tone-2)}.t3{--bg:var(--tone-3)}
.face{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:inherit;padding:128px 0;background:var(--bg);transition:background-color .45s ease}
.deck-on .sec{position:sticky;top:var(--pin,0px);min-height:125vh;min-height:125svh}
.deck-on .face{padding:calc(148px + var(--lead-in)) 0 calc(25vh + 40px);padding-bottom:calc(25svh + 40px)}
.deck-on .sec + .anchor{scroll-margin-top:calc(-1 * var(--lead-in))}
.face > .wrap{position:relative;z-index:1}
.sec-head{display:flex;flex-direction:column;gap:18px;max-width:720px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font-size:16px;font-weight:600;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:transform .225s ease,background-color .45s ease,color .45s ease,border-color .45s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{color:var(--on-accent)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}
.hb-root a:focus-visible,.hb-root button:focus-visible,.hb-root input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:16px;top:-80px;z-index:60;padding:12px 16px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none}
.skip:focus{top:16px}

.nav{position:sticky;top:0;z-index:40;height:0}
.nav .wrap{position:relative;padding-top:14px}
.nav-in{display:flex;align-items:center;gap:16px;height:calc(64px - min(var(--sy), 80) * .1px);padding:0 10px 0 20px;border-radius:999px;background:var(--surface);border:1px solid var(--border);transition:background-color .45s ease,border-color .45s ease}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--text);text-decoration:none}
.brand svg{width:22px;height:30px}
.wm{font-size:24px;font-weight:700;letter-spacing:-.045em;line-height:1}
.links{display:flex;align-items:center;gap:2px;margin-left:auto}
.navlink{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:500;color:var(--muted);text-decoration:none;transition:color .25s ease,background-color .25s ease}
.navlink:hover{color:var(--text)}
.navlink.on{color:var(--text);background:var(--surface-2)}
.tools{display:flex;align-items:center;gap:8px}
.iconbtn{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}
.iconbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-light .ic-sun,.theme-dark .ic-moon{display:none}
.menu-btn,.ic-close,.sheet{display:none}
.menu-open .ic-close{display:block}
.menu-open .ic-burger{display:none}
.nav .btn{min-height:44px;padding:0 18px;font-size:15px}
.rail{display:flex;gap:5px;height:14px;margin:8px 28px 0;padding:4px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);transition:background-color .45s ease,border-color .45s ease}
.seg{flex:1 1 0;border-radius:999px;background:oklch(calc(var(--rL) + .05 * sin(var(--a) + var(--k) * 52deg)) var(--rC) calc(var(--rH) + var(--rW) * cos(var(--a) + var(--k) * 52deg)));transition:flex-grow .625s cubic-bezier(.2,.8,.2,1)}
.seg.on{flex-grow:5;background:var(--accent)}

.hero,.deck-on .hero{min-height:100vh;min-height:100svh;overflow:hidden;--ra:calc(var(--out, 0) * 150deg)}
.hb-root .hero .face{justify-content:flex-start;padding:162px 0 0}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:-120px}
.hero .h1{max-width:13ch}
.hero .lead{max-width:52ch}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.land{position:relative;height:380px;margin-top:auto;--sun-s:136px;--R:440px;--Ry:300px}
.sun{position:absolute;left:50%;top:70%;width:var(--sun-s);height:var(--sun-s);border-radius:50%;background:var(--sun);--th:calc(300deg + var(--out, 0) * 90deg);transform:translate(calc(cos(var(--th)) * var(--R) - 50%), calc(sin(var(--th)) * var(--Ry) - 50% + var(--sy) * .5px));transition:background-color .45s ease}
.ridge{position:absolute;left:0;bottom:0;display:block;width:100%;height:100%;transform:translate3d(0, calc(var(--sy) * var(--f) * 1px), 0)}
.ridge path{fill:oklch(calc(var(--L0) + var(--i) * var(--Ld) + .02 * sin(var(--ra) + var(--i) * 60deg)) calc(var(--C0) + var(--i) * var(--Cd)) calc(var(--H0) + var(--i) * var(--Hd) + var(--Hw) * cos(var(--ra) + var(--i) * 38deg)))}
.r0{--i:0;--f:.14}.r1{--i:1;--f:.1}.r2{--i:2;--f:.07}.r3{--i:3;--f:.04}.r4{--f:0}
.r4 path{fill:var(--bg);transition:fill .45s ease}
.hob-hero-wrap{position:absolute;left:72%;bottom:34px;width:168px;transform:translate3d(-50%, calc(var(--sy) * .06px), 0)}
.hob-hero{display:block;width:100%;height:auto;overflow:visible}
.follow{transform:translate(calc(var(--ex, 0) * 7px), calc(var(--ey, 0) * 5px));transition:transform .18s ease-out}

.reveal{--q:clamp(0, calc((var(--in, 1) - .5 - var(--d, 0) * .5) * 3), 1);opacity:var(--q);transform:translate3d(0, calc((1 - var(--q)) * 36px), 0)}
.dl1{--d:.1}.dl2{--d:.2}

.work-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:56px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}
.chip{padding:9px 16px;border-radius:999px;background:var(--surface-2);font-size:15px;font-weight:500;transition:background-color .45s ease}
.stage{--stage:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:end;width:100%;max-width:340px;aspect-ratio:1 / 1;padding:32px;border-radius:40px;background:var(--surface-2);text-align:center;transition:background-color .45s ease}
.stage svg{width:min(260px,88%);height:auto;overflow:visible}

.fm{fill:var(--mark)}
.fe{fill:var(--mark-eye)}
.se{fill:none;stroke:var(--mark-eye);stroke-linecap:round;stroke-linejoin:round}
.sm{fill:none;stroke:var(--mark);stroke-linecap:round;stroke-linejoin:round}
.hd{fill:var(--mark);stroke:var(--stage, var(--bg));stroke-width:3}
.kb{fill:var(--mark);stroke:var(--stage, var(--bg));stroke-width:4}
.kk{fill:var(--stage, var(--bg))}
.part{transition:opacity .25s ease}
.body,.look,.blink,.dot,.z,.hand,.key,.twinkle,.wavehand,.qfloat{transform-box:fill-box}
.body{transform-origin:50% 100%}
.look,.blink,.twinkle{transform-origin:50% 50%}
.wavehand{transform-origin:20% 100%}
.confetti{transform-box:view-box;transform-origin:100px 46px}
.m-idle{animation:hb-breathe 3.2s ease-in-out infinite}
.m-hello{animation:hb-hello 1s ease-in-out infinite}
.m-thinking{animation:hb-sway 3s ease-in-out infinite}
.m-working{animation:hb-bob .35s ease-in-out infinite}
.m-happy,.m-celebrating{animation:hb-hop .9s cubic-bezier(.3,.7,.4,1) infinite}
.m-confused{animation:hb-puzzle 2.4s ease-in-out infinite}
.m-sleepy{animation:hb-sleep 4.5s ease-in-out infinite}
.l-up{animation:hb-lookup 3s ease-in-out infinite}
.l-type{animation:hb-typelook 1s ease-in-out infinite}
.b-on{animation:hb-blink 4s infinite}
.twinkle{animation:hb-twinkle 1.2s ease-in-out infinite}
.dot{animation:hb-pulse 1.2s ease-in-out infinite}
.dt2{animation-delay:.2s}.dt3{animation-delay:.4s}
.z{opacity:0;animation:hb-z 3s ease-out infinite}
.z2{animation-delay:1s}.z3{animation-delay:2s}
.hand{animation:hb-tap .5s ease-in-out infinite}
.hb2{animation-delay:-.25s}
.key{opacity:0;animation:hb-key 1s steps(1) infinite}
.ka2{animation-delay:.25s}.ka3{animation-delay:.5s}.ka4{animation-delay:.75s}
.wavehand{animation:hb-wave .6s ease-in-out infinite}
.wl{animation:hb-pulse .6s ease-in-out infinite}
.qfloat{animation:hb-qfloat 2.4s ease-in-out infinite}
.confetti{animation:hb-burst 1.2s ease-out infinite}
@keyframes hb-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.02,1.04)}}
@keyframes hb-hello{0%,100%{transform:rotate(3deg)}50%{transform:rotate(5deg) translateY(-3px)}}
@keyframes hb-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes hb-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes hb-hop{0%{transform:translateY(0) scale(1.06,.94)}30%{transform:translateY(-18px) scale(.96,1.05)}55%{transform:translateY(0) scale(1.08,.92)}75%,100%{transform:translateY(0) scale(1,1)}}
@keyframes hb-puzzle{0%,100%{transform:rotate(6deg)}50%{transform:rotate(9deg)}}
@keyframes hb-sleep{0%,100%{transform:scale(1,1)}50%{transform:scale(1.04,1.06)}}
@keyframes hb-lookup{0%,100%{transform:translate(5px,-6px)}50%{transform:translate(8px,-8px)}}
@keyframes hb-typelook{0%,100%{transform:translate(-3px,6px)}50%{transform:translate(3px,6px)}}
@keyframes hb-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes hb-twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.25) rotate(45deg)}}
@keyframes hb-pulse{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes hb-z{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}100%{opacity:0;transform:translate(16px,-28px)}}
@keyframes hb-tap{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes hb-key{0%{opacity:1}20%{opacity:0}}
@keyframes hb-wave{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(24deg)}}
@keyframes hb-qfloat{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}}
@keyframes hb-burst{0%{transform:scale(.2);opacity:0}15%{opacity:1}70%{transform:scale(1.05);opacity:1}100%{transform:scale(1.2);opacity:0}}
@keyframes hb-caret{50%{opacity:0}}

.pr{color:#FFC940}
.ok{color:#4CC38A}
.dim{color:#A8A291}



.memory-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:48px}
.memory-notes{display:flex;flex-direction:column;gap:28px}
.memory-notes > div{display:flex;flex-direction:column;gap:8px}
.march{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:64px}
.mh{flex:0 0 auto;height:auto;overflow:visible;transform:translate3d(calc((var(--sp, .5) - .5) * var(--f, 0) * 1px), 0, 0)}
.mh path{fill:oklch(calc(var(--tL) + .04 * sin(var(--a) + var(--k) * 40deg)) var(--tC) calc(var(--tH) + var(--tW) * cos(var(--a) + var(--k) * 40deg)))}
.mh.me .fm{fill:var(--mark)}
.w1{width:40px}.w2{width:52px}.w3{width:66px}
.mf1{--f:-170}.mf2{--f:-110}.mf3{--f:-64}.mf4{--f:-26}.mf5{--f:26}.mf6{--f:64}.mf7{--f:110}.mf8{--f:170}

.cta-card{--stage:var(--surface);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center;padding:56px;border-radius:40px;background:var(--surface);border:1px solid var(--border);transition:background-color .45s ease,border-color .45s ease}
.cta-tx{display:flex;flex-direction:column;gap:18px}
.cta-hob{width:200px;height:auto;overflow:visible}
.join{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:8px}
.field{display:flex;flex-direction:column;gap:6px;flex:1 1 260px}
.field label{font-size:14px;font-weight:600}
.field input{min-height:52px;padding:0 20px;border-radius:999px;border:1.5px solid var(--border-strong);background:var(--bg);color:var(--text);font:inherit;font-size:16px}
.field input::placeholder{color:var(--muted)}
.thanks{min-height:52px;display:flex;align-items:center;font-size:20px;font-weight:600}
.join-failure{font-size:15px;color:var(--text)}

.foot{padding:24px 0 56px;background:var(--bg);transition:background-color .45s ease}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding-top:32px;border-top:1px solid var(--border)}
.foot-note{flex-basis:100%;font-size:14px;color:var(--muted)}

.tui{margin:48px 0 0;padding:18px 24px 20px;border-radius:24px;background:var(--term-bg);color:#F0EAD6;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;font-size:14px;line-height:1.7;overflow:hidden;transition:background-color .45s ease}
.tui p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-root .tui-note{margin-top:14px;font-size:12px}
.tui-tabs{display:flex;align-items:baseline;gap:22px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #3A3F4B;color:#A8A291;white-space:nowrap}
.tui-tabs i{font-style:normal;color:#8E93A1}
.tui-brand{font-family:'Space Grotesk',system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.045em;color:#F0EAD6}
.tui-gem{color:#FFC940;font-size:12px;vertical-align:2px}
.tui-on{color:#FFC940;box-shadow:0 11px 0 -9px #FFC940}
.tui-end{margin-left:auto}
.tui-row{display:flex;justify-content:space-between;gap:24px}
.tui-row > span{white-space:nowrap}
.tui-row > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tui-row > span:last-child{flex:none}
.tui-gap{margin:14px 0 6px}
.tui-head{font-weight:600;color:#8E93A1}
.tui-count{color:#8E93A1}
.tui-bold{font-weight:600}
.tui-keys{margin-bottom:6px;color:#8E93A1}
.tui-keys b{font-weight:600;color:#F0EAD6}
.tui-cols{display:grid;grid-template-columns:2ch 15ch 11ch minmax(0,1fr);white-space:nowrap}
.tui-wide{grid-column:3 / -1;overflow:hidden;text-overflow:ellipsis}
.tui-table{display:grid;grid-template-columns:2ch minmax(0,1fr) minmax(0,1.3fr) 7ch auto;gap:2px 16px;margin-top:10px;white-space:nowrap}
.tui-next{text-align:right}

.warn{color:#FF8A3D}
.bad{color:#FF7A6E}
.spin::before{content:'⠋';animation:hb-spin 1s steps(1) infinite}
@keyframes hb-spin{0%{content:'⠋'}10%{content:'⠙'}20%{content:'⠹'}30%{content:'⠸'}40%{content:'⠼'}50%{content:'⠴'}60%{content:'⠦'}70%{content:'⠧'}80%{content:'⠇'}90%{content:'⠏'}}

.file{margin:0;border-radius:24px;background:var(--term-bg);color:#F0EAD6;overflow:hidden;transition:background-color .45s ease}
.file-path{padding:12px 20px;border-bottom:1px solid #3A3F4B;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;font-size:13px;color:#A8A291}
.file pre{margin:0;padding:16px 20px 18px;font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.file code{font-size:inherit}

.facts{display:grid;gap:16px;margin-top:48px}

.facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.fact{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:24px;background:var(--surface);border:1px solid var(--border);transition:background-color .45s ease,border-color .45s ease}
.fact .txt{font-size:15px;line-height:1.55}

@media (max-width:800px){
.links,.nav-cta{display:none}
.menu-btn{display:inline-flex}
.tools{margin-left:auto}
.nav-in{padding:0 8px 0 16px}
.rail{margin:10px 20px 0}
.menu-open .sheet{display:flex;flex-direction:column;gap:4px;position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:12px;border-radius:28px;background:var(--surface);border:1px solid var(--border);box-shadow:0 24px 48px rgba(0,0,0,.18)}
.sheet .navlink{min-height:52px;padding:0 16px;font-size:18px}
.sheet .btn{margin-top:8px}
}
@media (max-width:900px){
.work-grid,.memory-grid,.facts{grid-template-columns:minmax(0,1fr)}
.work-grid,.memory-grid{gap:40px}
.stage{justify-self:start;max-width:280px}
}
@media (max-width:760px){
.wrap{padding:0 16px}
.face{padding-top:116px}
.deck-on .face{padding-top:calc(116px + var(--lead-in))}
.hb-root .hero .face{padding-top:132px}
.hero-copy{margin-bottom:8px}
.land{height:260px;--sun-s:84px;--R:150px;--Ry:150px}
.hob-hero-wrap{left:70%;bottom:14px;width:112px}

.stage{padding:24px;border-radius:32px}

.march .hide-sm{display:none}
.cta-card{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 20px;border-radius:32px}
.cta-hob{order:-1;width:130px}
.tui{padding:14px 14px 16px;border-radius:20px;font-size:12px}
.tui-opt,.tui-end{display:none}
.tui-tabs{gap:14px}
.tui-cols{grid-template-columns:2ch 14ch minmax(0,1fr)}
.tui-table{grid-template-columns:2ch minmax(0,1fr) auto;column-gap:8px}

}
@media (prefers-reduced-motion:reduce){
.hb-root *,.spin::before{animation:none !important}
.ridge,.hob-hero-wrap,.mh{transform:none !important}
.reveal{opacity:1;transform:none}
.z{opacity:1}
.key{opacity:0}
.follow{transition:none}
}

.join[hidden],.thanks[hidden],.join-failure[hidden]{display:none}
.hb-root code{font-family:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;font-size:.88em}
