/* General Styles */
body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Header */
.header {
  background-color: #fff;
  padding: 20px 0;
  text-align: center;
}

.logo {
  max-width: 150px;
  height: auto;
}

/* Hero Section */
.content {
  flex: 1; /* Ensures the content pushes the footer to the bottom */
}

.hero {
  position: relative; /* Allows anchoring content within */
  width: 100%; /* Full page width */
  height: calc(
    100vw * (1.7778)
  ); /* Dynamically calculate height based on image aspect ratio */
  max-height: 80vh; /* Clamp to 80% of viewport height */
  background: url("hero.jpg") top center/cover no-repeat; /* Anchor and cover full width */
  display: flex; /* Enables flexbox for centering content */
  align-items: center; /* Vertically center the content */
  justify-content: center; /* Horizontally center the content */
  overflow: hidden; /* Prevent overflow */
}

.hero-content {
  width: 600px;
  max-width: 75%;
  margin: 0 auto;
  position: relative;
}

.hero-textbox {
  display: flex; /* Make the textbox a flex container */
  flex-direction: column; /* Stack the content vertically */
  justify-content: center; /* Horizontally center the content */
  align-items: center; /* Vertically center the content */
  background-color: #733c97; /* Semi-transparent black box */
  padding: 40px 60px;
  border: 4px solid #e12b29; /* White border */
  border-radius: 20px; /* Rounded corners */
  color: #fff;
  text-align: center; /* Center text inside */
  min-height: 100px; /* Optional: set a minimum height to avoid the box becoming too small */
}

.hero h1 {
  font-size: 4rem;
  margin: 0;
  margin-bottom: 20px;
  font-weight: 900; /* Use bold for headings */
  line-height: 1.2; /* Adjust line height for headings */
}

.hero p {
  font-size: 1.5rem;
  margin: 0;
  font-weight: 400; /* Use normal weight for paragraphs */
}

/* Footer */
.footer {
  background-color: #fff;
  color: #000;
  text-align: center;
  padding: 10px 0;
  font-size: 0.9rem;
  flex-shrink: 0; /* Prevent shrinking */
}

/* Responsive Adjustments for Mobile */
@media (max-width: 768px) {
  .hero h1 {
    font-size: 2.5rem; /* Smaller heading size for mobile */
    margin-bottom: 15px; /* Reduce spacing */
  }

  .hero p {
    font-size: 1.2rem; /* Smaller paragraph size for mobile */
  }

  .hero-textbox {
    padding: 20px 30px; /* Smaller padding inside textbox */
    border-radius: 15px; /* Slightly smaller rounded corners */
    border: 4px solid #c93c1b; /* Thinner border */
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: 2rem; /* Further reduction for very small screens */
  }

  .hero p {
    font-size: 1rem; /* Further reduction for very small screens */
  }

  .hero-textbox {
    padding: 15px 20px; /* Minimal padding for tight spaces */
    border-radius: 10px;
    border: 4px solid #c93c1b; /* Thinner border */
  }
}
