/* Reset and General Styling */
body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  color: #fff;
  background: linear-gradient(135deg, #121212, #333); /* Dark gradient background */
}

/* General Section Styling */
section {
  min-height: 100vh; /* Full viewport height for each section */
  display: flex; /* Flex layout for alignment */
  align-items: center; /* Vertically center content */
  gap: 20px; /* Space between image and text */
  padding: 40px 5%; /* Consistent padding */
  max-width: 1200px; /* Limit the width */
  margin: 0 auto 20px; /* Center sections and add spacing */
  background: rgba(255, 255, 255, 0.1); /* Semi-transparent background */
  border-radius: 8px; /* Smooth corner rounding */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); /* Subtle shadow for depth */
}

/* Text Content */
.section-content {
  flex: 1;
  color: #fff; /* White text for readability */
}

/* Images */
.section-image {
  flex: 1; /* Take up equal space with text */
  display: flex; /* Center image inside container */
  justify-content: center;
  align-items: center;
}

.section-image img {
  max-width: 100%; /* Scale image proportionally */
  height: auto; /* Preserve aspect ratio */
  border-radius: 8px; /* Smooth corners for image */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); /* Subtle shadow for images */
}

.intro-section {
  display: grid; /* Use grid for alignment */
  place-items: center; /* Center both vertically and horizontally */
  text-align: center; /* Center-align text */
  background: rgba(0, 0, 0, 0.6); /* Slightly darker background */
  padding: 60px 5%; /* Extra padding for intro */
  min-height: 100vh; /* Ensure it takes up the full viewport height */
}
.intro-section .section-content {
  max-width: 800px; /* Restrict content width */
  margin: 0 auto; /* Center content */
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  section {
    flex-direction: column; /* Stack text and image vertically */
    gap: 10px; /* Reduce space for tighter screens */
  }

  .section-image {
    display: none; /* Hide images on smaller screens */
  }
}

section {
  opacity: 0; /* Hidden initially */
  transform: translateY(50px); /* Start slightly lower */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Smooth fade and slide */
}

/* Fade-in when visible */
section.visible {
  opacity: 1; /* Fully visible */
  transform: translateY(0); /* Reset position */
}

/* General Section Styling */
.section {
  display: flex;
  align-items: center; /* Vertically align content */
  gap: 20px; /* Space between image and text */
  padding: 40px 5%;
  max-width: 1200px;
  margin: 0 auto 20px; /* Center sections with spacing */
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  min-height: 100vh; /* Full viewport height */
}

/* Text Content */
.section-content {
  flex: 1;
  color: #fff; /* White text for readability */
}

/* Images */
.section-image {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-image img {
  max-width: 100%; /* Scale image proportionally */
  height: auto; /* Preserve aspect ratio */
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* Alternating Layouts */
.section-image-left {
  flex-direction: row; /* Image on the left */
}

.section-image-right {
  flex-direction: row-reverse; /* Image on the right */
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .section {
    flex-direction: column; /* Stack text and image vertically */
    gap: 10px; /* Reduce space for tighter screens */
  }

  .section-image {
    margin-bottom: 20px; /* Add space below images */
  }
}

.download-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 5%;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  margin: 40px auto;
  min-height: 0;
}

.download-section h2 {
  margin-bottom: 20px;
  color: #fff;
}

.download-section p {
  margin-bottom: 20px;
  color: #ddd;
}

.download-button {
  display: inline-block;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  background-color: #4CAF50; /* Green background */
  color: white;
  border-radius: 4px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.download-button:hover {
  background-color: #45a049; /* Darker green */
  transform: scale(1.05); /* Slight zoom on hover */
}

/* Initial hidden state */
section {
  opacity: 0; /* Completely transparent */
  transform: translateY(50px); /* Start slightly lower */
  transition: opacity 3s ease, transform 3s ease; /* Adjust transition duration (1.5s) */
}

/* Visible state */
section.visible {
  opacity: 1; /* Fully visible */
  transform: translateY(0); /* Reset position */
}

#main-content {
  opacity: 0; /* Initially hidden */
  transition: opacity 0.5s ease-in-out;
}

#main-content.visible {
  opacity: 1; /* Fully visible */
}