/* =============================================
   lab.css
   ============================================= */

/* Purple overlay on lab hero image */
.lab-purple-overlay {
  background: rgba(153, 102, 255, 0.10);
}

/* 画像オーバーレイ — 一時非表示（元に戻す: 以下2行を削除） */
.page-lab .lab-img-overlay {
  display: none !important;
}

/* Overview — MISSION 01–03 */
.lab-mission-grid {
  gap: 0.5rem;
}

.lab-mission-card {
  min-width: 0;
  padding: 0.625rem 0.5rem;
}

.lab-mission-label {
  letter-spacing: 0.12em;
  line-height: 1.3;
  word-break: break-word;
}

.lab-mission-text {
  line-height: 1.4;
  word-break: break-word;
}

@media (min-width: 768px) {
  .lab-mission-grid {
    gap: 1rem;
  }

  .lab-mission-card {
    padding: 1.5rem;
  }

  .lab-mission-label {
    letter-spacing: 0.25em;
  }
}

/* CTA glow blobs */
.lab-cta-glow-1 {
  top: -10%;
  left: -10%;
  width: 50%;
  height: 100%;
  background: #9966ff;
}
.lab-cta-glow-2 {
  bottom: -20%;
  right: -10%;
  width: 60%;
  height: 120%;
  background: #3399ff;
}

/* Blur-enhanced reveal animations for lab page */
.page-lab .reveal-blur-left,
.page-lab .reveal-blur-scale,
.page-lab .reveal-blur-up {
  opacity: 0;
  filter: blur(15px);
  transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.5s cubic-bezier(0.16, 1, 0.3, 1),
              filter 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.page-lab .reveal-blur-left {
  transform: translateX(-60px);
}
.page-lab .reveal-blur-scale {
  transform: scale(0.9);
  filter: blur(20px);
}
.page-lab .reveal-blur-up {
  transform: translateY(100px);
  filter: blur(15px);
}
.page-lab .reveal-blur-left.revealed,
.page-lab .reveal-blur-scale.revealed,
.page-lab .reveal-blur-up.revealed {
  opacity: 1;
  transform: none;
  filter: blur(0px);
}

/* Output cards stagger delays */
.page-lab .reveal-blur-up:nth-child(1) { transition-delay: 0s; }
.page-lab .reveal-blur-up:nth-child(2) { transition-delay: 0.1s; }
.page-lab .reveal-blur-up:nth-child(3) { transition-delay: 0.2s; }
.page-lab .reveal-blur-up:nth-child(4) { transition-delay: 0.3s; }

.cta-pad {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* チーム紹介 — 画像 */
.lab-team-img {
  opacity: 0.8;
}

/* Team card alternating layout handled via Tailwind md:order-N */
/* Aspect ratio for team image panels */
@media (min-width: 768px) {
  .team-img-panel {
    min-height: 400px;
  }
}
