:root{--bg:#fff;--fg:#0a0a0a;--muted:#5f6672;--accent:#1363c6;--line:#e4e7ec;--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Helvetica Neue", Helvetica, Arial, "Liberation Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;line-height:1.25;overflow-x:hidden}a{color:inherit;text-decoration:none}.nav{z-index:10;backdrop-filter:saturate(180%)blur(14px);background:#fffc;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.25rem,4vw,3rem);font-size:.95rem;display:flex;position:fixed;inset:0 0 auto}.nav-logo{letter-spacing:-.03em;align-items:center;gap:.55rem;font-size:1.1rem;font-weight:700;display:flex}.nav-word b{color:var(--accent);font-weight:inherit}.js .nav-logo{opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;transform:translateY(-6px)}.js .scrolled .nav-logo{opacity:1;pointer-events:auto;transform:none}.nav-lang{color:var(--muted);transition:color .2s}.nav-lang:hover{color:var(--fg)}.hero{isolation:isolate;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:1;text-align:center;padding:0 1rem;position:relative;transform:translateY(-12svh)}.wordmark{margin:0;font-size:0;line-height:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{--W:min(88vw, 1200px);--u:calc(var(--W) / 4.7);--th:calc(var(--u) * .07);width:var(--W);height:var(--u);margin:0 auto;display:block;position:relative}.stick{height:var(--th);--e:calc(var(--th) * 1.1);background:linear-gradient(90deg, var(--band) 0 var(--e), var(--body) var(--e) calc(100% - var(--e)), var(--band) calc(100% - var(--e)) 100%);width:calc(var(--tw) * var(--u));transform:translate(calc(var(--tx) * var(--u)), calc(var(--ty) * var(--u))) translate(-50%, -50%) rotate(var(--tr));animation:settle var(--dur) cubic-bezier(.5,0,.15,1) var(--d) backwards;border-radius:99px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #ffffffd9,0 2px 5px #14285047}@keyframes settle{0%{width:calc(var(--pw) * 1vmin);transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(var(--pr))}}.pile{animation:.9s 4.9s forwards dissolve;display:block;position:absolute;inset:0}@keyframes dissolve{to{opacity:0;filter:blur(8px);transform:scale(1.03)}}.type{white-space:nowrap;font-size:calc(var(--W) * .265);letter-spacing:-.055em;color:var(--fg);opacity:0;justify-content:center;align-items:center;font-weight:800;line-height:.9;animation:1s cubic-bezier(.2,.7,.2,1) 5s forwards typein;display:flex;position:absolute;inset:0}.type b{color:var(--accent);font-weight:inherit}@keyframes typein{0%{opacity:0;filter:blur(8px);transform:scale(.97)}to{opacity:1;filter:blur();transform:none}}.stick.free{animation-name:freed;animation-timing-function:ease}@keyframes freed{0%{width:calc(var(--pw) * 1vmin);transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(var(--pr));animation-timing-function:ease-in-out}8%{transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(calc(var(--pr) + 2.5deg))}16%{transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(calc(var(--pr) - 2.5deg))}24%{transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(calc(var(--pr) + 1.5deg))}32%{width:calc(var(--pw) * 1vmin);transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(var(--pr));animation-timing-function:cubic-bezier(.5,0,.15,1)}}.stick.decoy{width:calc(var(--pw) * 1vmin);transform:translate(calc(var(--px) * 1vmin), calc(var(--py) * 1vmin)) translate(-50%, -50%) rotate(var(--pr));animation:exit var(--dur) cubic-bezier(.55,.05,.85,.4) var(--d) forwards, vanish var(--dur) linear var(--d) forwards}@keyframes vanish{0%,8%{opacity:1}60%,to{opacity:0}}@keyframes exit{to{transform:translate(calc(var(--px) * 1vmin + var(--ex) * 1vmax), calc(var(--py) * 1vmin + var(--ey) * 1vmax)) translate(-50%, -50%) rotate(var(--pr))}}.claim{letter-spacing:-.025em;color:var(--muted);opacity:0;margin:1.6rem 0 0;font-size:clamp(1.4rem,3.6vw,3rem);font-weight:500;animation:1.4s cubic-bezier(.2,.7,.2,1) 5.9s forwards rise}.scroll-hint{z-index:2;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:0;font-size:.8rem;animation:1s 6.6s forwards rise;position:absolute;bottom:1.6rem}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.loop{border-top:1px solid var(--line);padding-top:clamp(5rem,12vw,11rem);overflow-x:clip}.loop-title{letter-spacing:-.045em;max-width:80rem;margin:0 auto;padding:0 clamp(1.25rem,6vw,6rem) clamp(2rem,6vw,5rem);font-size:clamp(2.2rem,7vw,6.5rem);font-weight:800;line-height:1.02}.loop-visual,.loop-rail{display:none}.loop-copy{max-width:80rem;margin:0 auto;padding:0 clamp(1.25rem,6vw,6rem) 4rem}.step{margin-bottom:3rem}.step-k{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .8rem;font-size:.9rem;font-weight:600}.step-k span{color:var(--muted);margin-right:.5em}.step h3{text-wrap:balance;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,4.2rem);font-weight:800;line-height:1.04}.step-p{max-width:30rem;color:var(--muted);margin:1rem 0 0;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.45}.js .loop{padding-bottom:0}.js .loop-track{height:820svh}.js .loop-sticky{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(1rem,4vw,4rem);max-width:90rem;height:100svh;margin:0 auto;padding:4.5rem clamp(3rem,13vw,12rem) 2rem clamp(1.25rem,5vw,5rem);display:grid;position:sticky;top:0}.js .loop-visual{place-items:center;display:grid}.js .loop-copy{max-width:none;padding:0;display:grid;position:relative}.js .step{opacity:0;will-change:opacity, transform;grid-area:1/1;align-self:center;margin:0}.js .step:first-child{opacity:1}.step .h2{color:var(--accent);display:block}.js .step .h2,.js .step .step-p.late{opacity:0}.js .loop-rail{width:2px;height:min(46svh,420px);display:block;position:absolute;top:50%;right:clamp(1rem,3vw,3rem);transform:translateY(-50%)}.rail-line{background:var(--line);border-radius:2px;position:absolute;inset:0;overflow:hidden}.rail-fill{background:var(--accent);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.rail-tick{right:0;top:var(--t,0);font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:.55rem;margin:0;padding:.6rem 16px .6rem .8rem;font-size:.8rem;font-weight:600;transition:color .3s;display:flex;position:absolute;transform:translateY(-50%)}.rail-tick:after{content:"";background:var(--bg);border:2px solid var(--line);border-radius:50%;width:12px;height:12px;transition:background .3s,border-color .3s,transform .3s;position:absolute;top:50%;right:-5px;transform:translateY(-50%)}.rail-tick.done:after{border-color:var(--accent)}.rail-tick.on{color:var(--fg)}.rail-tick.on:after{background:var(--accent);border-color:var(--accent);transform:translateY(-50%)scale(1.25)}.rail-tick:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.rail-num{opacity:.6}.rail-lab{display:none}@media (width>=1280px){.rail-lab{display:inline}}.loop-stage{--V:min(46vw, 64svh, 760px);--u:calc(var(--V) / 1.9);--th:calc(var(--u) * .045);width:var(--V);height:calc(var(--u) * 1.5);position:relative}.loop-sticks{will-change:transform;position:absolute;inset:0}.loop-ground{left:50%;top:calc(50% + var(--u) * .7225);width:calc(var(--u) * 2.1);opacity:0;background:linear-gradient(90deg,#0000,#c3c9d3 18% 82%,#0000);height:1px;position:absolute;transform:translate(-50%)}.loop-shadow{left:50%;top:calc(50% + var(--u) * .7225);width:calc(var(--u) * 1.5);height:calc(var(--u) * .09);opacity:0;background:radial-gradient(closest-side,#14285066,#0000);border-radius:50%;position:absolute;transform:translate(-50%,-35%)}.ls{--e:calc(var(--th) * 1.1);height:var(--th);opacity:0;background:linear-gradient(90deg, var(--band) 0 var(--e), var(--body) var(--e) calc(100% - var(--e)), var(--band) calc(100% - var(--e)) 100%);will-change:transform;border-radius:99px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #ffffffd9,0 2px 5px #14285040}.pillars{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:clamp(2rem,5vw,5rem);max-width:90rem;margin:0 auto;padding:clamp(3rem,8vw,8rem) clamp(1.25rem,6vw,6rem);display:grid}.pillar h2{letter-spacing:-.04em;margin:0 0 .5em;font-size:clamp(2.4rem,5vw,4.5rem);font-weight:700}.pillar p{color:var(--muted);max-width:24rem;margin:0;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.4}.soon{text-align:center;padding:clamp(8rem,22vw,20rem) 1.25rem}.soon h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.6rem,9vw,8rem);font-weight:700;line-height:1}.soon p{color:var(--muted);margin:1.2rem 0 0;font-size:clamp(1.1rem,2vw,1.6rem)}.foot{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;padding:1.6rem clamp(1.25rem,4vw,3rem);font-size:.85rem;display:flex}@media (width<=800px){.js .loop-sticky{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:1rem;padding:4rem 2.6rem 1.5rem 1.25rem}.loop-stage{--V:min(76vw, 42svh)}.js .loop-copy{min-height:15rem}.js .loop-rail{height:max(120px,min(360px,100svh - 22rem));top:5rem;right:.55rem;transform:none}.rail-tick{padding-left:.5rem;font-size:.7rem}.step h3{font-size:clamp(1.9rem,8vw,2.6rem)}}@media (width<=640px){.nav{padding:.7rem 1.25rem;padding-top:calc(.7rem + env(safe-area-inset-top))}.nav-lang{padding:.6rem 0 .6rem 1rem}.stage{--W:86vw;--th:calc(var(--u) * .095)}.hero-copy{transform:translateY(-14svh)}.claim{margin-top:1.1rem}.pillars{gap:2.5rem;padding-top:3.5rem;padding-bottom:4rem}.pillar p{max-width:none}.soon{padding-top:6rem;padding-bottom:6rem}.foot{padding-bottom:calc(1.6rem + env(safe-area-inset-bottom))}}@media (height<=480px) and (orientation:landscape){.hero-copy{transform:none}.stage{--W:min(70vw, 150vh)}.scroll-hint{display:none}}.js .reveal{opacity:0;transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * .14s);transform:translateY(40px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pile{display:none}.type,.claim,.scroll-hint{opacity:1;animation:none!important}.js .reveal{opacity:1;transition:none;transform:none}.js .nav-logo{transition:none}}
