/* Reset basic margins and ensure standard box sizing */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none !important;
}

/* The Hero Container 1 */
.hero-section1 {
  position: relative;
  width: 100%;
  height: 80vh; /* Scalable height: takes up 80% of the viewport height */
  min-height: 400px; /* Prevents the section from getting too squished on small screens */
  
  /* Semi-transparent dark gradient overlay 2blended seamlessly over a placeholder background image */
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), 
              url('images/Hero1.jpg') no-repeat center;
  background-size: cover; /* Keeps image sharp, filling the container proportionally without stretching */
/*Flexbox settings instantly center the child overlay element */
  display: flex;
  justify-content: left;
  align-items: left;
  text-align: left;
  padding: 20px;
}
/* Inner Text Overlay Content Box */
.hero-content1 {
  color: #ffffff;
  max-width: 80%;
  /* Protects text clarity and blocks pointer interference from accidental text highlighting */
  isolation: isolate;
}
/* Fluid Typography that scales cleanly on mobile and desktop layout views */
.hero-content1 h1 {
  font-size: 35px; 
  margin-bottom: 20px;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none !important;
}
.hero-content1 p {
  font-size: 25px;
  margin-bottom: 30px;
  font-weight: 600;
  text-decoration: none !important;
}
/* Call to Action Button styling */
.hero-btn1 {
  display: inline-block;
  padding: 12px 30px;
  background-color: #ff4757;
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 5px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.hero-btn1:hover {
  background-color: #e84118;
  transform: translateY(-2px);
}
.hero-btn1:active {
  transform: translateY(0);
}

/* The Hero Container 2 */
.hero-section2 {
  position: relative;
  width: 100%;
  height: 80vh; /* Scalable height: takes up 80% of the viewport height */
  min-height: 400px; /* Prevents the section from getting too squished on small screens */
  
  /* Semi-transparent dark gradient overlay 2blended seamlessly over a placeholder background image */
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), 
              url('images/Hero2.jpg') no-repeat center;
  background-size: cover; /* Keeps image sharp, filling the container proportionally without stretching */
/*Flexbox settings instantly center the child overlay element */
  display: flex;
  justify-content: Center;
  align-items: Center;
  text-align: Center;
  padding: 20px;
}
/* Inner Text Overlay Content Box */
.hero-content2 {
  color: #ffffff;
  max-width: 80%;
  /* Protects text clarity and blocks pointer interference from accidental text highlighting */
  isolation: isolate;
}
/* Fluid Typography that scales cleanly on mobile and desktop layout views */
.hero-content2 h1 {
  font-size: 35px; 
  margin-bottom: 20px;
  font-weight: 800;
  letter-spacing: 1px;
  text-decoration: none !important;
}
.hero-content2 p {
  font-size: 25px;
  margin-bottom: 30px;
  font-weight: 600;
  text-decoration: none !important;
}
/* Call to Action Button styling */
.hero-btn2 {
  display: inline-block;
  padding: 12px 30px;
  background-color: #ff4757;
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 20px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.hero-btn2:hover {
  background-color: #e84118;
  transform: translateY(-2px);
}
.hero-btn2:active {
  transform: translateY(0);
}


.hero-carousel {
  position: relative;
  width: 100%;
  height: 80vh;
  overflow: hidden;
}

.carousel-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.carousel-slide.active {
  opacity: 1;
}

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dark tint overlay so text stands out */
.carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4); 
}

/* Position text centered over the image */
.carousel-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #ffffff;
  z-index: 2;
  width: 80%;
  max-width: 700px;
}

.carousel-text h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.carousel-text p {
  font-size: 1.25rem;
}

