/* === ph-about-us.css (final mobile & wrap fixes) ======================= */

/* -------- PAGE WRAPPER ----------------------------------------------- */
.ph-about-us { padding-bottom: 20px; }

/* -------- Generic split helper -------------------------------------- */
.au-split { display: flex; flex-wrap: wrap; }
.au-col { flex: 1 1 50%; box-sizing: border-box; }
@media (max-width: 61.24em) {
  .au-col { flex: 1 1 100%; }
}

/* -------- HERO ------------------------------------------------------- */
.au-hero { min-height: 70vh; }
.au-hero-text {
  display: flex; flex-direction: column; justify-content: flex-start;
  padding: 4rem 3rem;
}
.au-hero-text h1 { text-align: center; margin-bottom: 1.5rem; }
.au-hero-text p {
  width: 75%; margin: 0 auto 1.5rem;
  text-align: justify; line-height: 1.75; font-size: 1.35rem;
}
@media (max-width: 61.24em) {
  .au-hero-text p {
    width: 100%; font-size: 1.125rem; margin-bottom: 1.5rem;
  }
}
.au-hero-img img { width: 100%; height: 100%; object-fit: cover; }

/* -------- EDGE‑TO‑EDGE BANNER --------------------------------------- */
.au-banner {
  position: relative; background-size: cover; background-position: center;
  color: #fff; margin: 15rem 0; min-height: 70vh;
  display: flex; align-items: center; justify-content: center;
}
.au-banner-inner { max-width: 960px; padding: 6rem 2rem; }
.au-banner h2 {
  font-size: 2.3rem; font-weight: normal; margin-bottom: 2rem;
  line-height: 1.3; text-align: justify; color: #fff;
}
.au-banner h2 strong { font-weight: bold; }
.au-banner .subline {
  font-size: 2rem; line-height: 1.4; text-align: justify; color: #fff;
}
@media (max-width: 61.24em) {
  .au-banner {
    margin: 8rem 0; min-height: 50vh;
  }
  .au-banner-inner { padding: 4rem 1rem; }
  .au-banner h2 { font-size: 1.8rem; margin-bottom: 1rem; }
  .au-banner .subline { font-size: 1.6rem; }
}

/* -------- MARQUEE (desktop default) --------------------------------- */
.au-marquee           { overflow: hidden;  margin:10rem 0; }
.au-marquee span      { display: inline-block; padding:1.5rem 0; line-height:1.8; }

/* -------- Mobile / Tablet (≤ 61.24 em) ------------------------------ */
@media (max-width:61.24em){
  .au-marquee       { margin:4rem 0; white-space: normal; }
  .au-marquee span  {
    display: inline-block;
    white-space: normal;
    word-break: break-word;
    width: 30ch;        /* ~3 lines on most phones */
    margin: 0 auto;
    text-align: left;
  }
}


/* -------- FINAL (Values / Mission / Join) --------------------------- */
.au-final {
  display: flex; flex-wrap: wrap; align-items: center;
  margin-bottom: 0;
}
.au-final-text { flex: 1 1 50%; padding: 4rem 2rem; }
.au-block {
  margin-bottom: 3rem;
}
.au-block:last-of-type { margin-bottom: 0; }
.au-block h2 {
  text-align: center; margin-bottom: 1.25rem; font-size: 1.5rem;
}
.au-block p {
  width: 85%; margin: 0.75rem auto;
  text-align: justify; line-height: 1.7;
}
@media (max-width: 61.24em) {
  .au-final-text { padding: 2rem 1rem; }
  .au-block { margin-bottom: 1.5rem; }
  .au-block p { width: 100%; }
}

/* Join‑Us link */
#pulseheaven-widget .pulseheaven-link {
  color: #0073e6; font-weight: bold; text-decoration: none;
}
#pulseheaven-widget .pulseheaven-link:hover {
  text-decoration: underline;
}

/* -------- FINAL IMAGE ----------------------------------------------- */
.au-final-img { flex: 1 1 50%; }
.au-final-img img {
  width: 100%; height: 100%; object-fit: contain;
  display: block; padding: 2rem 2rem 0;
}
@media (max-width: 61.24em) {
  .au-final-img img { padding: 1rem 0 0; }
}

/* -------- Mobile-only tweaks ---------------------------------------- */
@media (max-width: 61.24em) {
  /* stack final section vertically */
  .au-final { flex-direction: column; }
  .au-final-img { order: 2; }

  /* allow marquee text to wrap but still scroll */
  .au-marquee span {
    white-space: normal;
    word-break: break-word;
    max-width: 100vw;
  }
}
