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

@keyframes glow {
    0% { filter: brightness(1) drop-shadow(0 0 5px rgba(255, 255, 255, 0.3)); }
    50% { filter: brightness(1.3) drop-shadow(0 0 15px rgba(255, 255, 255, 0.7)); }
    100% { filter: brightness(1) drop-shadow(0 0 5px rgba(255, 255, 255, 0.3)); }
}
.container{
    background-color: #000;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.container img.background{
    width: 450px;
    object-fit: contain;
}
.container--image{
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.container--image img.logo{
    width: 60%;
    height: 100%;
    object-fit: contain;
}
.container--image img.title{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.container--image img.price{
    width: 45%;
    height: 100%;
    object-fit: contain;
}
/* button */
.container--button{
    position: absolute;
    top: 34%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.container--button img.button{
    width: 70%;
    height: 100%;
    object-fit: contain;
    animation: glow 1.5s infinite ease-in-out;
}
.container--button img.usd{
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
    height: 100%;
    object-fit: contain;
    animation: glow 2s infinite ease-in-out;
}
.container--button img.new-member{
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 55%;
    height: 100%;
    object-fit: contain;
}
.container--button img.time-event{
    position: absolute;
    top: 140%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
    height: 100%;
    object-fit: contain;
}
/* box image  */
.box-image{
    position: absolute;
    bottom: 0;
    width: 450px;
    height: 370px;
    overflow: hidden;
}

.box-image img.sela{
    position: absolute;
    top: 0;
    left: -25%;
    width: 85%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
}
.box-image img.yaty{
    position: absolute;
    top: 0;
    left: 10%;
    width: 80%;
    height: 100%;
    object-fit: contain;
    z-index: 2;
}
.box-image img.theara{
    position: absolute;
    top: 0;
    left: 40%;
    width: 80%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
}
.text--name{
    position: absolute;
    bottom: 30px;
    left: 0%;
    width: 100%;
    height: 10%;
    object-fit: contain;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.text--name img{
    width: 30%;
    height: 100%;
    object-fit: contain;
}
/* =========================
   Responsive (<= 768px)
   ========================= */
@media (max-width: 768px) {
  .container {
    height:100vh; /* better on mobile/tablets */
    padding: 16px 0;
  }

  .container img.background {
    width: 100%;            /* was 400px */
  }

  /* top logo/title/price cluster */
  .container--image {
    top: 15%;               /* was 15% */
    width: 68%;             /* was 20% */
  }
  .container--image img.logo { width: 70%; }
  .container--image img.title { width: 100%; }
  .container--image img.price { width: 55%; }

  /* CTA block */
  .container--button {
    top: 35%;               /* was 34% */
    width: 82%;             /* was 25% */
  }
  .container--button img.button {
    width: 100%;            /* was 80% */
  }
  .container--button img.usd {
    top: 45%;
    width: 92%;             /* was 75% */
  }
  .container--button img.new-member {
    top: 106%;
    width: 72%;             /* was 55% */
  }
  .container--button img.time-event {
    top: 150%;
    width: 96%;             /* was 80% */
  }

  /* bottom character box */
  .box-image {
    width: 100%;             /* was 26% */
    height: 370px;          /* was 300px */
    left: 50%;
    transform: translateX(-50%);
  }
  .box-image img.sela {
    left: -20%;              /* was -25% */
    width: 80%;             /* was 80% */
  }
  .box-image img.yaty {
    left: 5%;              /* was 10% */
    width: 90%;
  }
  .box-image img.theara {
    left: 40%;              /* was 40% */
    width: 70%;
  }

  /* names row */
  .text--name {
    bottom: 50px;           /* was 20px */
    gap: 6px;               /* was 10px */
  }
  .text--name img {
    width: 30%;
  }
}
@media (max-width: 428px) {
  .container {
    height:100vh; /* better on mobile/tablets */
    padding: 16px 0;
  }

  .container img.background {
    width: 100%;            /* was 400px */
  }

  /* top logo/title/price cluster */
  .container--image {
    top: 15%;               /* was 15% */
    width: 55%;             /* was 20% */
  }
  .container--image img.logo { width: 70%; }
  .container--image img.title { width: 150%; }
  .container--image img.price { width: 50%; }

  /* CTA block */
  .container--button {
    top: 32%;               /* was 34% */
    width: 82%;             /* was 25% */
  }
  .container--button img.button {
    width: 80%;            /* was 80% */
  }
  .container--button img.usd {
    top: 42%;
    width: 70%;             /* was 75% */
  }
  .container--button img.new-member {
    top: 100%;
    width: 50%;             /* was 55% */
  }
  .container--button img.time-event {
    top: 140%;
    width: 90%;             /* was 80% */
  }

  /* bottom character box */
  .box-image {
    width: 100%;             /* was 26% */
    height: 320px;          /* was 300px */
    left: 50%;
    transform: translateX(-50%);
  }
  .box-image img.sela {
    left: -20%;              /* was -25% */
    width: 85%;             /* was 80% */
  }
  .box-image img.yaty {
    left: 5%;              /* was 10% */
    width: 90%;
  }
  .box-image img.theara {
    left: 40%;              /* was 40% */
    width: 70%;
  }

  /* names row */
  .text--name {
    bottom: 40px;           /* was 20px */
    gap: 6px;               /* was 10px */
  }
  .text--name img {
    width: 30%;
  }
}
