body {
    background-color: rgb(0, 0, 0);
    color: white;
    display: flex;
    justify-content: center;

}

.parent {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 600px) {
  video {
    width: 100%;       /* video fills mobile screen width */
    max-width: 100%;   /* no overflow */
    padding: 50px 0px 50px 0px;
  }
}

.container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 0px 30px 0px 30px;        /* breathing room above & below */
    margin-top: 50px;
}

#video-container {
  cursor: pointer;
  display: inline-block;
  padding: 70px 0px 70px 0px;
}

#image-container {
  display: inline-block;
}

  img.under-video {
    width: 100%;
    max-width: 640px; /* lock both video & image to same max width */
    height: auto;     /* preserve aspect ratio */
    display: block;
  }

  /* Ensure video shows full frame, not cropped */
  .parent video {
    object-fit: contain;
  }


    footer {
      color: #fff;
      padding: 20px 40px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .footer-box {
      display: flex;
      gap: 15px;
    }

    .footer-box-left{
        align-items: left;
    }

    .footer-box a {
      text-decoration: none;
      color: #fff;
      padding: 8px 12px;
      border-radius: 6px;
    }

    .footer-box a:hover {
        color: blueviolet;
    }

/* Interview Button */
.interview-button {
  font-family: 'Courier New', Courier, monospace;
  font-size: 18px;
  font-weight: bold;
  color: transparent;
  text-decoration: none;
  background-image: url('../img/100_1016 3.jpeg');
  background-size: cover;
  background-position: center;
  border: none;
  padding: 0;
  display: flex;
  width: 640px;
  max-width: 100%;
  aspect-ratio: 4/3;
  margin: 50px 0;
  position: relative;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.interview-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0);
  transition: background-color 0.3s ease;
  z-index: 1;
}

.interview-button span {
  position: relative;
  z-index: 2;
  transition: color 0.3s ease;
}

.interview-button:hover::before {
  background-color: rgba(255, 255, 255, 0.5);
}

.interview-button:hover span {
  color: black;
}

/* Interview Page Styles */
.interview-page {
  max-width: 640px;
  margin: 0 auto;
}

.interview-section {
  font-family: 'Courier New', Courier, monospace;
  padding: 50px 30px;
  line-height: 1.6;
}

.interview-key {
  text-align: justify;
  margin-bottom: 50px;
  line-height: 1.8;
}

.interview-key p {
  margin: 8px 0;
  text-align: justify;
}

.interview-dialogue {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.speaker-name {
  font-size: 14px;
  margin: 20px 0 5px 0;
  opacity: 0.7;
}

.interviewer-name {
  text-align: left;
}

.interviewee-name {
  text-align: right;
}

.interviewer {
  text-align: justify;
  margin: 0 50px 0 0;
  padding: 0;
  max-width: calc(100% - 50px);
  line-height: 1.6;
}

.interviewee {
  text-align: justify;
  text-align-last: right;
  margin: 0 0 0 50px;
  padding: 0;
  max-width: calc(100% - 50px);
  line-height: 1.6;
}

.stage-direction {
  text-align: center;
  font-style: italic;
  opacity: 0.6;
  margin: 20px 0;
  font-size: 0.9em;
}

/* Photo Grid */
.photo-grid-container {
  padding: 50px 0;
}

.photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 100%;
  margin: 50px 0 0 0;
  padding: 0;
  box-sizing: border-box;
}

.photo-grid img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  box-sizing: border-box;
}

/* Back Button */
.back-button {
  font-family: 'Courier New', Courier, monospace;
  font-size: 16px;
  color: white;
  text-decoration: none;
  display: inline-block;
  margin-top: 50px;
  padding: 10px 0;
  transition: opacity 0.3s ease;
}

.back-button:hover {
  opacity: 0.6;
}

/* Interview Photos */
.interview-photo {
  width: 100%;
  height: auto;
  display: block;
  margin: 40px 0;
  padding: 0px;
  box-sizing: border-box;
}

.interview-photo-pair {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 40px 0;
  padding: 0px;
  box-sizing: border-box;
}

.interview-photo-pair img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 600px) {
  .interview-section {
    padding: 30px 20px;
  }

  .interview-button {
    font-size: 16px;
    padding: 12px 30px;
  }

  .photo-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 0 20px;
  }

  .interview-photo,
  .interview-photo-pair {
    padding: 0 20px;
  }
}
