* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  background: #fff;
  color: #000;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 2rem;
}

.logo img {
  width: 260px;
  height: auto;
  display: block;
}

/* ── Word roller ── */
.roller {
  margin-top: 2rem;
  height: 1.4em;
  overflow: hidden;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.4em;
  text-align: center;
}

.roller-track {
  display: flex;
  flex-direction: column;
  animation: roll 8s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

.roller-track span {
  display: block;
  height: 1.4em;
  line-height: 1.4em;
}

/*
  4 words → 5 stops (duplicate first word at end for seamless loop).
  Each word holds for ~20% of the cycle, transition takes ~5%.
*/
@keyframes roll {
  0%     { transform: translateY(0); }
  20%    { transform: translateY(0); }
  25%    { transform: translateY(-1.4em); }
  45%    { transform: translateY(-1.4em); }
  50%    { transform: translateY(-2.8em); }
  70%    { transform: translateY(-2.8em); }
  75%    { transform: translateY(-4.2em); }
  95%    { transform: translateY(-4.2em); }
  100%   { transform: translateY(-5.6em); }
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .logo img {
    width: 180px;
  }

  .roller {
    font-size: 2.1rem;
  }
}
