.partner{
  max-width:480px;
  margin-inline:auto;
}
.partner img{
  width:170px; height:170px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid #d8dce3;
  box-shadow:0 0 6px rgba(0,0,0,.12);
}
.partner figcaption{
  font-style:italic;
  margin-top:.65rem;
  color:#002147;
}

.partner p{
  font-size:.95rem;
  line-height:1.55;
  color:#37465b;
  text-align:justify;
}
.partner hr{
  opacity:.25;
  margin:.8rem 0 1.4rem;
}

.accordion-item{
  border:0;
  border-bottom:1px solid #d8dce3;
  background:transparent;
}
.accordion-button{
  padding:.5rem 0 .5rem 0.5rem;
  font-weight:600;
  font-size:.95rem;
  color:#002147;
  background:transparent;
  box-shadow:none !important;      /* remove Bootstrap focus ring */
}

/* ---- remove the default chevron ---- */
.accordion-button::after{
  display:none;                    /* Hides the built-in icon */
}

/* keep body alignment */
.accordion-body{
  padding:0 0 1rem 1.75rem;
  font-size:.93rem;
  color:#37465b;
}

/* ——  FOOTER  —— */
footer{
  background:#002753;
  color:#fff;
  font-size:.9rem;
  font-weight:600;
  padding:.8rem 0;
}

/* -------------------- MOBILE & SMALL TABLETS -------------------- */
@media (max-width: 576px) {
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .partner {
    max-width: 100%;
  }

  .partner figure {
    margin-bottom: .75rem;
  }

  .partner img{
    width: 120px;
    height: 120px;
    border-width: 3px;
    box-shadow: 0 0 4px rgba(0,0,0,.10);
  }

  .partner figcaption{
    font-size: .95rem;
    line-height: 1.35;
    margin-top: .5rem;
  }

  .partner p{
    /* justified blocks can look gappy on tiny screens */
    text-align: left;
    font-size: .95rem;        /* keep readable */
    line-height: 1.6;
  }

  .partner hr{
    margin: .6rem 0 1rem;
  }

  /* Accordion: bigger tap target, no cramped left padding */
  .accordion-button{
    padding: .75rem .5rem .75rem .5rem;
    font-size: 1rem;
  }
  .accordion-body{
    padding: .5rem 0 1rem 0;   /* remove left indent on mobile */
    font-size: .95rem;
  }

  /* Tidy rows when stacked */
  .row.gy-5 > [class*="col-"] {
    margin-bottom: .75rem;
  }

  footer{
    font-size: .85rem;
    text-align: center;
    padding: .7rem 0;
  }
}

/* -------------------- LANDSCAPE PHONES / 7–8" TABLETS -------------------- */
@media (min-width: 577px) and (max-width: 768px) {
  .partner img{
    width: 140px;
    height: 140px;
  }
  .accordion-body{
    padding-left: 1rem;
  }
}

/* -------------------- ACCESSIBILITY / MOTION -------------------- */
@media (prefers-reduced-motion: reduce) {
  .accordion-button,
  .accordion-collapse {
    transition: none !important;
  }
}
