.wrap { max-width: 460px; margin: 0 auto; padding: calc(28px + var(--safe-top)) 20px calc(32px + var(--safe-bottom)); display: flex; flex-direction: column; gap: 22px; }
.brand { text-align: center; }
h1 { font-size: 26px; margin: 8px 0 4px; letter-spacing: -.01em; }
.step { display: flex; flex-direction: column; gap: 16px; animation: rise .35s ease; }
.center { text-align: center; }
.small-orb { width: 130px; height: 130px; margin: 18px auto 6px; }
.small-orb .ring2 { inset: 18px; }
.small-orb .core { inset: 48px; }
.steps { padding: 18px 18px 8px; }
.steps ol { margin: 10px 0 0; padding: 0; list-style: none; counter-reset: s; }
.steps li { counter-increment: s; position: relative; padding: 0 0 18px 42px; display: flex; flex-direction: column; gap: 12px; }
.steps li::before { content: counter(s); position: absolute; left: 0; top: -2px; width: 28px; height: 28px; border-radius: 50%;
  display: grid; place-items: center; font-size: 14px; font-weight: 700; color: var(--cyan); background: var(--cyan-soft); border: 1px solid var(--line-strong); }
.steps li .btn { margin-top: 2px; }
.chip { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cyan); background: var(--cyan-soft); border-radius: 999px; padding: 4px 10px; }
.link { color: var(--cyan); text-decoration: underline; padding: 0; font-size: inherit; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } }
