* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Kanit", sans-serif;
}

body {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: rgb(0, 0, 0);
}

.absolute {
    position: absolute;
}



.block-1 {
    width: 0;
    left: 0;
    bottom: 10%;
}

.block-2 {
    height: 0;
    width: 3px;
    left: 45vw;
    bottom: 10%;
}

.block-3 {
    width: 0;
    left: 45.05vw;
    bottom: 49.7vh;
}

@keyframes block1 {
    from {
        width: 0;
    } to {
        width: 100vw;
    }
}

@keyframes block2 {
    from {
        height: 0;
    } to {
        height: 40vh;
    }
}

@keyframes block3 {
    from {
        width: 0;
    } to {
        width: 54.5%;
    }
}

.cycle {
    left: 10%;
    width: 10%;
    top: 30%;
    rotate: -30deg;
}

.text1 {
    color: white;
    right: 10%;
    top: 20%;
}

.text2 {
    right: 10%;
    color: white;
    top: 30%;
}

.intro {
    width: 100%;
    height: 100vh;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.header {
    padding: 20px 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}

.logo {
    font-size: 1.4em;
    color: white;
}

.ca {
    font-size: 1.2em;
    color: white;
  text-align: center;
}

.socials {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.socials a {
    color: white;
    text-decoration: none;
}

.box-container {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
}

.box-1 {
    transform-style: preserve-3d;
    width: 200px;
    height: 200px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%) rotateX(-20deg) rotateY(35deg);
    animation: spin 5s infinite alternate-reverse;
}

.explain {
    position: absolute;
    color: white;
    left: 50%;
    top: 15vh;
    transform: translateX(-50%);
}

.box-1 > div {
    z-index: 1;
    border: 2px solid rgb(46, 43, 43);
}

.front-1 {
    position: absolute;
    width: 200px;
    height: 200px;
    transform: translateZ(100px);
}

.back-1 {
    width: 200px;
    height: 200px;
    position: absolute;
    transform: translateZ(-100px);
}

.right-1 {
    position: absolute;
    width: 200px;
    height: 200px;
    transform: translateX(100px) rotateY(90deg);
}

.left-1 {
    position: absolute;
    width: 200px;
    height: 200px;
    transform: translateX(-100px) rotateY(-90deg);
}

.top-1 {
    position: absolute;
    width: 200px;
    height: 200px;
    transform: translateY(-100px) rotateX(90deg);
}

.bot-1 {
    position: absolute;
    width: 200px;
    height: 200px;
    transform: translateY(100px) rotateX(-90deg);
}

.box-2 {
    z-index: -5;
    transform-style: preserve-3d;
    width: 300px;
    height: 300px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotateX(-20deg) rotateY(35deg);
    animation: spin 3s infinite alternate-reverse;
}

.box-2 > div {
    z-index: -5;
    border: 3px solid rgb(122, 122, 122);
}

.front-2 {
    position: absolute;
    width: 300px;
    height: 300px;
    transform: translateZ(150px);
}

.back-2 {
    width: 300px;
    height: 300px;
    position: absolute;
    transform: translateZ(-150px);
}

.right-2 {
    position: absolute;
    width: 300px;
    height: 300px;
    transform: translateX(150px) rotateY(90deg);
}

.left-2 {
    position: absolute;
    width: 300px;
    height: 300px;
    transform: translateX(-150px) rotateY(-90deg);
}

.top-2 {
    position: absolute;
    width: 300px;
    height: 300px;
    transform: translateY(-150px) rotateX(90deg);
}

.bot-2 {
    position: absolute;
    width: 300px;
    height: 300px;
    transform: translateY(150px) rotateX(-90deg);
}

@keyframes spin {
    from {
        transform: translate(-50%, -50%) rotateX(-20deg) rotateY(35deg);
    } to {
        transform: translate(-50%, -50%) rotateX(-20deg) rotateY(360deg);
    }
}

@media only screen and (max-device-width: 700px) {
    .header {
        flex-direction: column;
    }
}
.main-photo {
  position: relative;   
  top: 250px;  
  left: 1500px;   
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("https://www.chromethemer.com/download/hd-wallpapers/gothic-forest-3840x2160.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.2; 
  z-index: -2; 
  pointer-events: none;
}

body::after {
  content: "";
  position: fixed;
  bottom: -130px;                    
  right: -50px;                    
  width: 500px;                     
  height: 500px;                  
  background-image: url("https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExYzNscmt6enFqdm96NTA2ZnhmczhnbHNrcHZzbG1kNHNra2RscDVsZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/rnz9jkPYddxjW/giphy.gif");
  background-size: contain;        
  background-repeat: no-repeat;    
  background-position: center;      
  opacity: 0.3;                   
  z-index: -1;                     
  pointer-events: none;            
}

html::before {
  content: "";
  position: fixed;
  bottom: 60px;            
  left: 20px;             
  width: 400px;
  height: 400px;
  background-image: url("https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExNGZ3bmgyb2ZnYTQwdmk1ejgxejVmMnlpampjeno4ZnhzeHNtaTBoNCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/1154CgmtPPa4lq/giphy.gif");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom left; 
  opacity: 0.85;
  z-index: -1;
  pointer-events: none;
}


.story {
  position: absolute;     
  top: 30%;               
  left: 5%;               
  transform: translateY(-50%);  
  width: 30%;              
  text-align: left;        
  color: #f1f1f1;          
  font-family: 'Kanit', sans-serif;
  line-height: 1.6;
}

.story h2 {
  font-size: 2rem;
  margin-bottom: 10px;
  color: #b98eff;          
}

.story p {
  font-size: 1rem;
  opacity: 0.9;
}

.right-text {
  position: absolute;          /* абсолютное позиционирование */
  top: 48%;                    /* по вертикали — середина */
  right: 5%;                   /* отступ от правого края */
  transform: translateY(-50%); /* выравнивание по вертикали */
  width: 30%;                  /* чтобы текст не выходил на середину */
  color: #f0f0f0;              /* светлый текст */
  font-family: 'Kanit', sans-serif;
  line-height: 1.6;
  text-align: left;            /* обычное выравнивание текста */
  font-size: 1.1rem;
}
.right-text h2 {
  font-size: 2rem;
  margin-bottom: 10px;
  color: #b98eff;          
}

.right-text p {
  margin: 0;
  opacity: 0.9;
}