/*=============================
FACILITY SECTION STYLES
===============================*/

/* Base Styles */
.facility-section {
  font-family: "Amsi Pro" sans-serif;
  color: #333;
  margin: 0;
  padding: 0;
}

/* Container with two columns */
.facility-container {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  clip-path: ellipse(90% 100% at 50% 100%);
}

/* Left Image */
.facility-image {
  flex: 1;
  min-width: 50%;
}

.facility-image img {
  width: 100%;
  height: 100%;
  /* border-top-left-radius: 200px; */
  object-fit: cover;
}

/* Right Content with Red BG */
.facility-content {
  flex: 1;
  background: #de251e;
  color: #fff;
  padding: 20px 40px;
  position: relative;
  align-content: end;
  /* border-top-right-radius: 200px;
*/
}

.facility-content h2 {
  font-size: 32px;
  font-family: "Amsi Pro";
  font-weight: 900;
  margin-bottom: 20px;
}

.facility-content p {
  margin-bottom: 15px;
  line-height: 15px;
  font-family: "Amsi Pro";
  font-weight: 600;
}

/* CTA Section */
.facility-cta {
  text-align: center;
  padding: 100px 60px;
  position: relative;
  z-index: 3;
  margin-bottom: 120px;
}

.facility-cta h2 {
  font-size: 80px;
  font-family: "Amsi Pro condensed";
  font-weight: 900;
  color: #de251e;
  margin-bottom: 20px;
}

.facility-cta p {
  font-size: 22px;
  color: #de251e;
  margin-bottom: 30px;
  font-weight: 600;
  font-family: "Amsi Pro";
}

/* Buttons */
.cta-btn {
  background: transparent;
  border: 2px solid #de251e;
  border-radius: 50px;
  padding: 10px 40px;
  font-size: 1rem;
  font-weight: 600;
  color: #de251e;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 5px 5px 0px #de251e;
  text-decoration: none;
  font-family: "Amsi Pro";
}

.cta-btn:hover {
  background: #de251e;
  color: #fff;
  box-shadow: 5px 5px 0px #de251e;
}

/*=============================
FACILITY SECTION RESPONSIVE STYLES
===============================*/

/* Small Mobile: 320px to 425px */
@media (min-width: 320px) and (max-width: 426px) {
  .facility-container {
    flex-direction: column;
  }
  .facility-image img {
    border-top-right-radius: 80px;
    border-top-left-radius: 80px;
  }
  .facility-content {
    padding: 20px 30px;
    border-radius: 0;
    text-align: center;
  }
  .facility-content h2 {
    font-size: 35px;
  }
  .facility-content p {
    font-size: 11px;
  }
  .facility-cta {
    padding: 60px 20px;
    margin-bottom: 60px;
  }
  .facility-cta h2 {
    font-size: 35px;
  }
  .facility-cta p {
    font-size: 14px;
    font-weight: 600;
  }
  .cta-btn {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 600;
  }
  .facility-container {
    clip-path: ellipse(140% 100% at 50% 100%);
  }
}

/* Mobile Portrait: 426px to 767px */
@media (min-width: 427px) and (max-width: 767px) {
  .facility-container {
    flex-direction: column;
  }
  .facility-image img {
    border-top-right-radius: 100px;
    border-top-left-radius: 100px;
  }
  .facility-content {
    padding: 30px 20px;
    border-radius: 0;
    text-align: center;
  }
  .facility-content h2 {
    font-size: 35px;
  }
  .facility-content p {
    font-size: 12px;
  }
  .facility-cta {
    padding: 60px 20px;
    margin-bottom: 70px;
  }
  .facility-cta h2 {
    font-size: 2.5rem;
  }
  .facility-cta p {
    font-size: 15px;

    font-weight: 600;
  }
  .cta-btn {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 600;
  }
  .facility-container {
    clip-path: ellipse(140% 100% at 50% 100%);
  }
}

/* Mobile Landscape / Small Tablet: 768px to 1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .facility-image img {
    border-top-left-radius: 120px;
  }
  .facility-content {
    padding-top: 90px;
    padding-left: 20px;
    border-radius: 0;
    text-align: start;
    border-top-right-radius: 120px;
  }
  .facility-content h2 {
    font-size: 40px;
  }
  .facility-content p {
    font-size: 10px;
  }
  .facility-cta {
    padding: 80px 20px;
    margin-bottom: 80px;
  }
  .facility-cta h2 {
    font-size: 3.5rem;
  }
  .facility-cta p {
    font-size: 15px;
    font-weight: 600;
  }
  .cta-btn {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 600;
  }
  .facility-container {
    clip-path: ellipse(80% 100% at 50% 100%);
  }
}

/* Tablet: 1024px to 1439px */
@media (min-width: 1024px) and (max-width: 1439px) {
  .facility-content {
    padding-top: 100px;
    padding-left: 20px;
  }

  .facility-content h2 {
    font-size: 3rem; /* 28px */
    font-weight: 900;
  }

  .facility-content p {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
  }

  .facility-cta h2 {
    font-size: 4.5rem; /* 55px */
  }

  .facility-cta p {
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
  }
  .cta-btn {
    padding: 6px 12px;
    font-size: 1rem;
    font-weight: 600;
  }
}

/* Desktop: 1440px to 1919px */
@media (min-width: 1440px) and (max-width: 1919px) {
  .facility-content {
    padding-top: 150px;
  }
  .facility-content h2 {
    font-size: 4rem;
  }
  .facility-content p {
    font-size: 15px;
    line-height: 20px;
  }
  .facility-cta h2 {
    font-size: 6rem;
  }
  .facility-cta p {
    font-size: 20px;
    font-weight: 600;
  }
  .cta-btn {
    padding: 10px 20px;
    font-size: 1.3rem;
    font-weight: 600;
  }
}

/* Extra-large: 1920px to 2559px */
@media (min-width: 1920px) and (max-width: 2559px) {
  .facility-content {
    padding-top: 60px;
  }
  .facility-content h2 {
    font-size: 7rem;
  }
  .facility-content p {
    font-size: 22px;
    line-height: 30px;
  }
  .facility-cta h2 {
    font-size: 110px;
  }
  .facility-cta p {
    font-size: 33px;
    font-weight: 600;
  }
  .cta-btn {
    padding: 20px 50px;
    font-size: 2rem;
    font-weight: 600;
  }
}

/* Ultra-wide: 2560px and above */
@media (min-width: 2560px) {
  .facility-content {
    padding-top: 130px;
  }
  .facility-content h2 {
    font-size: 7rem;
  }
  .facility-content p {
    font-size: 35px;
    line-height: 60px;
  }

  .facility-cta h2 {
    font-size: 165px !important;
  }
  .facility-cta p {
    font-size: 38px !important;
    font-weight: 600;
  }
  .cta-btn {
    padding: 20px 50px;
    font-size: 2rem;
    font-weight: 600;
  }
}
