/* Açılış: imza satırı büyüyüp dev logoya dönüşür; harfler imleci izler */

/* ---------- Açılış ---------- */
.kahraman {
  position: relative;
  min-height: calc(100svh - 64px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 48px;
  padding: clamp(28px, 5vw, 64px) var(--kenar-bosluk) clamp(28px, 4vw, 48px);
}
.kelime {
  font-weight: 800;
  line-height: 0.84;
  letter-spacing: -0.045em;
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  transform-origin: 0 0;
  cursor: pointer;
  user-select: none;
}
.kelime span {
  width: max-content;
}
.kelime span:first-child {
  font-size: clamp(90px, 24vw, 380px);
  white-space: nowrap;
}
.kelime span:last-child {
  font-size: clamp(40px, 10.5vw, 170px);
  white-space: nowrap;
}

/* İmza satırı: bir uygulamanın alt bilgisindeki gibi küçük ve soluk */
.imza-satiri {
  position: absolute;
  left: var(--kenar-bosluk);
  bottom: clamp(28px, 4vw, 48px);
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 28px;
  font-size: 15px;
  color: var(--soluk);
  opacity: 0;
  pointer-events: none;
}
.imza-hedef {
  color: var(--yazi);
  background: linear-gradient(var(--vurgu), var(--vurgu)) 0 100% / 0 2px no-repeat;
  padding-bottom: 2px;
  transition: background-size 0.5s cubic-bezier(0.6, 0, 0.2, 1);
  display: inline-block;
}
.imza-hedef.cizili {
  background-size: 100% 2px;
}

.kahraman-alt {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px 64px;
  flex-wrap: wrap;
}
.giris {
  margin: 0;
  max-width: 30ch;
  font-size: clamp(21px, 2.1vw, 28px);
  line-height: 1.35;
}
.kahraman-yan {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}
.durum {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--soluk);
  font-size: 15px;
}
.nokta {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 4px rgba(74, 222, 128, 0.18);
}

/* Açılış sahnesi: JS 'oynuyor' ekler, sahne bitince 'bitti' */
.kahraman.oynuyor .imza-satiri {
  opacity: 1;
  transition: opacity 0.5s;
}
.kahraman.oynuyor .kelime,
.kahraman.oynuyor .kahraman-alt {
  opacity: 0;
}
.kahraman.bitti .kahraman-alt {
  opacity: 1;
  transition: opacity 0.7s 0.1s;
}

/* Dev logo harfleri: imleci izler */
.harf {
  display: inline-block;
  font-style: normal;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.3s;
}

@media (max-width: 680px) {
  .kahraman {
    min-height: auto;
    gap: 36px;
  }
  .imza-satiri {
    font-size: 13px;
  }
}
