.top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 22px}
.top .logo{height:30px}
.spacer{height:1000vh}
.steps{position:fixed;inset:0;z-index:40;pointer-events:none}
.step{position:absolute;left:clamp(20px,6vw,100px);bottom:12vh;width:min(480px,calc(100% - 40px));opacity:0;transform:translateY(30px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.step.r{left:auto;right:clamp(20px,6vw,100px);text-align:right}
.step.c{left:50%;bottom:auto;top:50%;transform:translate(-50%,-40%);text-align:center;width:min(720px,100%)}
.step.on{opacity:1;transform:none;pointer-events:auto}
.step.c.on{transform:translate(-50%,-50%)}
.step h2{font-family:var(--head);font-size:clamp(28px,4.4vw,60px);letter-spacing:.05em;line-height:1.05;margin:8px 0 14px}
.step p{color:#b9c5e3;font-size:15px;line-height:1.5;margin-bottom:16px}
.step .tag{color:var(--mint);font-size:11px;letter-spacing:.2em}
.lbl{position:fixed;z-index:41;font-size:12px;letter-spacing:.2em;color:var(--mint);padding:6px 10px;border:1px solid var(--mint);background:rgba(2,12,48,.6);opacity:0;pointer-events:none;transform:translate(-50%,-50%);transition:opacity .4s}
.lbl.on{opacity:1}
@media(max-width:820px){.step{bottom:8vh}.step.r{text-align:left;right:auto;left:20px}}
