.container {
  position: relative;
  margin: 0 auto;
  width: 100vw;
  height: auto;
  min-height: 600px;
  z-index: 1;
  margin-bottom: 2%;
}

.innerContainer {
  z-index: 1;
  width: 90%;
  height: 100%;
  margin: 20px auto;
  box-shadow: 0 8px 16px rgba(46, 32, 51, 0.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding-bottom: 40px;
}

.content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 10%;
  margin-top: 1%;
  padding: 0px 40px;
  padding-top: 0px;
}

.content h1 {
  text-align: center;
  font-size: 5.0rem;
  font-weight: 700;
  margin: 0 15%;
  margin-bottom: 2px;
  margin-top: 3%;
}

.content p {
  text-align: justify;
  font-size: medium;
  margin: 0 15%;
}

/* --- IMAGE STYLES --- */
.imageWrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.sectionImage {
  /* Removed fixed width and height to allow dynamic inline sizing from the admin */
  max-width: 100%; /* Prevents breaking container on smaller screens if set too large */
  object-fit: contain; 
  transition: width 0.3s ease, height 0.3s ease, transform 0.3s ease;
}

/* Media Queries */
@media screen and (max-width: 768px) {
  .container {
    width: 100vw;
    margin-top: 2%;
    margin-bottom: 2%;
  }
  
  .innerContainer {
    width: 90%;
    padding: 15% 0;
  }
  
  .content h1 {
    font-size: 3.0rem;
    margin: 0 10%;
  }

  /* Responsive Image - Overriding dynamic inline sizing for tablet/mobile */
  .sectionImage {
    width: auto !important;
    height: auto !important;
    max-width: 180px !important;
  }
}

@media screen and (max-width: 480px) {
  .content h1 {
    font-size: 3rem;
  }
  
  /* Mobile Image */
  .sectionImage {
    max-width: 120px !important;
  }
}