/* ================================
   What We Do Section Styles
   ================================ */
/* Hidden state before scroll */

.what-we-do.hidden {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.what-we-do.visible {
  opacity: 1;
  transform: translateY(0);
}


.what-we-do {
  background: #fff;
  padding: 80px 40px 0px;
  font-family: 'Arimo', sans-serif;
  color: #1a1a1a;
  line-height: 1.6;
}

.what-we-do__container {
    max-width: 80%;
  margin: 0 auto;
}

/* --------------------------
   Label & Headline
--------------------------- */
.what-we-do__label {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  margin-bottom: 30px;
  letter-spacing: 0.5px;
}

.what-we-do__headline {
  color: #FA6804;
  font-size: 45px;
  font-weight: 700;
  margin-bottom: 50px;
  line-height: 1.2;
  animation: fadeInUp 0.8s ease-out;
}

/* --------------------------
   Layout
--------------------------- */
.what-we-do__content-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
    align-items: start;
}

.what-we-do__text-content {
  animation: fadeInLeft 0.8s ease-out 0.2s both;
}

/* --------------------------
   Text Content
--------------------------- */
.what-we-do__description {
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  color: #000;
  margin-bottom: 20px;
	margin-top: 0px;
}

.what-we-do__highlight,
.what-we-do__partner {
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  color: #000;
  margin-top: 20px;
}

.what-we-do__tagline {
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  color: #FA6804;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 30px;
  line-height: normal;
}

.what-we-do__signature {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

/* --------------------------
   Visual Content
--------------------------- */
.what-we-do__visual {
  position: relative;
  animation: fadeInRight 0.8s ease-out 0.4s both;
}

.what-we-do_image-card {
  position: relative;
/*  border-radius: 30px;*/
  overflow: hidden;
/*  background-color: #FA6804; /* orange strip */*/
  padding-top: 6px; /* thickness of the top strip */
}

.what-we-do__pixel-art {
  width: 100%;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(250, 104, 4, 0.2);
}

.what-we-do__pixel-art img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0 0 30px 30px; /* only bottom rounded */
  object-fit: cover;
}

/* ================================
   Animations
   ================================ */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}


/* Flaying bee*/

 .flying-container {
            position: relative;
        }

        /* ====================================
           GRAPHIC STYLES (Base - No Movement)
           ==================================== */
        .flying-graphic {
            width: 70px;
            height: auto;
            display: block;
            cursor: pointer;
            /* Initially, set the transform to its default state */
            transform: rotate(0deg) scale(1); 
        }

        /* ====================================
           HOVER EFFECT (Continuous Spin)
           - This rule applies the animation ONLY when the mouse is over the image.
           ==================================== */
        .flying-graphic:hover {
            /* * Animation: [name] [duration] [timing-function] [iteration-count]
             * spin: The name of the @keyframes
             * 0.8s: How fast one full rotation takes
             * linear: Ensures constant speed (like a drill)
             * infinite: Keeps spinning forever until the mouse moves away
             */
            animation: spin 0.8s linear infinite; 
            
            /* Optional: Add a slight scale to pop the image out */
            transform: scale(1.1);
        }

        /* ====================================
           KEYFRAMES DEFINITION
           - Defines a simple, continuous 360-degree spin.
           ==================================== */
        @keyframes spin {
            from {
                transform: rotate(0deg) scale(1.1); /* Start at 0 degrees */
            }
            to {
                transform: rotate(360deg) scale(1.1); /* End at 360 degrees */
            }
        }


/* ================================
   Responsive
   ================================ */
@media (max-width: 1024px) {
  .what-we-do__headline {
    font-size: 38px;
  }
  .what-we-do__content-wrapper {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .what-we-do__tagline {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  .what-we-do {
    padding: 50px 20px;
  }
  .what-we-do__headline {
    font-size: 32px;
  }
  .what-we-do__description,
  .what-we-do__highlight,
  .what-we-do__partner {
    font-size: 18px;
    line-height: 26px;
  }
  .what-we-do__tagline {
    font-size: 24px;
  }
  .what-we-do__signature {
    width: 45px;
    height: 45px;
  }
  .what-we-do__pixel-art {
    height: auto;
  }
}

@media (max-width: 480px) {
  .what-we-do__headline {
    font-size: 28px;
  }
  .what-we-do__description,
  .what-we-do__highlight,
  .what-we-do__partner {
    font-size: 16px;
    line-height: 24px;
  }
  .what-we-do__tagline {
    font-size: 20px;
  }
  .what-we-do_image-card {
    border-radius: 15px;
    padding-top: 3px;
  }
  .what-we-do__pixel-art img {
    border-radius: 0 0 15px 15px;
  }
}
