  .subpage_hero{
    width: 100%;
    /* “50% height” usually means 50% of the viewport height */
    min-height: 50vh;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    display: flex;
    align-items: center;     /* vertical center */
    justify-content: center; /* horizontal center */

    position: relative;      /* for overlay */
  }

  /* dark overlay */
  .subpage_hero::before{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    pointer-events: none;
  }

  /* keep content above overlay */
  .subpage_hero .small_container{
    position: relative;
    z-index: 1;
    text-align: center; /* optional: centers the H1 text */
  }

  /* ensure H1 is white in the hero */
  .subpage_hero h1{
    color: #fff;
    margin: 0;
    margin-bottom: 50px;
  }
  
  .call_buttons_wrap {
    display: flex;
    justify-content: flex-start;
    gap: 20px;              /* space between buttons */
    margin-top: 50px;
    margin-bottom: 0px;
    flex-wrap: wrap;        /* safety for very small widths */
  }

  .call_block {
    background: #12acab;
    border-radius: 6px;
    font-weight: 700;
    line-height: 18px;
    text-transform: uppercase;
    padding: 16px 20px;
    display: block;
    color: #fff;
    text-align: center;
    font-size: 1.25rem;
    text-decoration: none;
    transition: background-color 0.2s ease;

    max-width: 320px;
    width: 100%;
  }

  .call_block span {
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    margin-top: 10px;
    opacity: 0.9;
  }

  .call_block:hover,
  .call_block:focus {
    background-color: #1c7c7b;
    color: #fff;
    text-decoration: none;
  }

    .image_text_row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  .image_col,
  .text_col {
    width: 50%;
  }

  .image_col {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 380px;
  }

  .text_col {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  /* Alternate layout: image on the right */
  .image_right .image_col {
    order: 2;
  }

  .image_right .text_col {
    order: 1;
  }

  /* UL becomes horizontal row */
  .new_checkmark_box ul{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 30px;
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  /* Each LI is a horizontal “media object”: image left, text right */
  .new_checkmark_box li{
    display: flex;
    align-items: flex-start;
    gap: 18px;
    flex: 1 1 0;
  }

  .new_checkmark_box li img{
    width: 95px;
    height: auto;
    flex: 0 0 auto;
  }

  .new_checkmark_box li h4{
    margin: 0 0 8px 0;
  }

  .new_checkmark_box li p{
    margin: 0;
  }
  
    .faq_accordion{ margin-top: 25px; }
  .faq_item{ border-bottom: 1px solid rgba(0,0,0,0.15); }

  .faq_question{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 16px 0;
    background: none;
    border: 0;
    text-align: left;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
  }

  .faq_icon{
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #12acab;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    transition: transform 0.2s ease, background-color 0.2s ease;
  }

  .faq_item.is-open .faq_icon{
    transform: rotate(45deg); /* turns + into x */
    background-color: #1c7c7b;
  }

  .faq_answer{
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
  }

  .faq_answer_inner{
    padding: 0 0 18px 0;
  }

  .faq_answer p{ margin: 0; }
  

  /* < 1100px: stack image on top, shrink image ~half */
  @media (max-width: 1099px){
    .new_checkmark_box li{
      flex-direction: column;
      align-items: flex-start;
    }
    .new_checkmark_box li img{
      width: 48px;
    }
  }


  /* Mobile stacking */
  @media (max-width: 767px) {
    .image_col,
    .text_col {
      width: 100%;
    }

    .text_col {
      padding: 30px 20px 35px;
    }

    .bpa {
        padding-bottom: 0px !important;
    }

    .tpa {
        padding-top: 0px !important;
    }

    .image_col {
      min-height: 260px;
    }
    
    .call_buttons_wrap {
      flex-direction: column;
      align-items: center;
    }

    .new_checkmark_box ul{
      flex-direction: column;
      gap: 22px;
    }
    .new_checkmark_box li{
      width: 100%;
    }

    .new_checkmark_box li img{
      width: 100px;
    }

    .checkmark_text {
        padding-right: 50px;
    }

  }