

/* ---------- hero -----------------------------------------------------------
   Live: title row has no padding; the paragraph widget inside carries
   margin 8px 0 and padding 60px 0 50px, so the h1 lands at y187 and the row
   ends at y330. Folded into one padding here. */
.page-business-testimonials .bt-hero { padding: 68px 40px 58px; }

.page-business-testimonials .bt-h1 {
  font-family: var(--font-display);
  font-size: 70px;
  font-weight: 700;
  line-height: normal;
  color: #000;
  text-align: center;
}

/* ---------- testimonial rows ----------------------------------------------
   Live row: white, padding 20px 20px 120px, content capped at 960px. */
.page-business-testimonials .bt-card { padding: 20px 40px 120px; }

.page-business-testimonials .bt-box {
  background: var(--gold);
  color: #000;
  margin: 0;
  padding: 0 50px 30px;
}

/* The quote mark hangs 51px above the gold panel. */
.page-business-testimonials .bt-quote {
  display: block;
  width: 111px;
  height: 93.9844px;
  margin: -51px 0 10px;
  fill: #000;
  overflow: hidden;
}

.page-business-testimonials .bt-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  color: #000;
}

/* ---------- quote body ----------------------------------------------------- */
.page-business-testimonials .bt-body {
  margin: 30px 0 8px;
  padding: 2px 0;
}

.page-business-testimonials .bt-body p {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #000;
}

/* Rows whose paragraphs carry an inline line-height:normal on the live page. */
.page-business-testimonials .bt-body .bt-p--n { line-height: normal; }

.page-business-testimonials .bt-body a { color: #000; }
.page-business-testimonials .bt-body a:hover,
.page-business-testimonials .bt-body a:focus-visible { text-decoration: underline; }

/* Blank paragraphs the live page uses as vertical rhythm. */
.page-business-testimonials .bt-body p.bt-sp3 { font-size: 30px; line-height: 45px; }

/* ---------- attribution row ------------------------------------------------ */
.page-business-testimonials .bt-by {
  display: flex;
  align-items: flex-start;
  margin-top: 30px;
}

.page-business-testimonials .bt-by__pic { flex: 0 0 8.3333%; max-width: 8.3333%; }
.page-business-testimonials .bt-by__pic img {
  display: block;
  border-radius: 50%;
}
/* Duda gives an empty column a 100px floor; rows 1 and 2 depend on it. */
.page-business-testimonials .bt-by__pic--empty { min-height: 100px; }

.page-business-testimonials .bt-by__who {
  flex: 0 0 58.3333%;
  max-width: 58.3333%;
  padding: 2px 0 10px 20px;
}
/* Row 13's name widget carries no bottom margin on the live page. */
.page-business-testimonials .bt-by__who--flush { padding-bottom: 2px; }

.page-business-testimonials .bt-name,
.page-business-testimonials .bt-org {
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 30px;
  color: #000;
}
.page-business-testimonials .bt-name { font-weight: 700; }
.page-business-testimonials .bt-name--tall { line-height: 40px; }
.page-business-testimonials .bt-org { font-weight: 400; }

.page-business-testimonials .bt-by__logo {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
  display: flex;
  justify-content: flex-end;
}
.page-business-testimonials .bt-by__logo img { display: block; max-width: 100%; }

/* Row 15 has no portrait: two half columns, the name inset 40px. */
.page-business-testimonials .bt-by--wide .bt-by__who {
  flex: 0 0 50%;
  max-width: 50%;
  padding-left: 40px;
}
.page-business-testimonials .bt-by--wide .bt-by__logo {
  flex: 0 0 50%;
  max-width: 50%;
}

/* ============================================================================
   MOBILE — same content and imagery as desktop, stacked. Geometry read off
   reference/spec/business-testimonials.mobile.json (390px, 75px header).
   ========================================================================== */
@media (max-width: 767px) {
  .page-business-testimonials .bt-hero { padding: 35px 15px 45px; }
  .page-business-testimonials .bt-h1 { font-size: 30px; }

  .page-business-testimonials .bt-card { padding: 70px 15px 40px; }
  .page-business-testimonials .bt-box { padding: 0 15px 45px; }

  .page-business-testimonials .bt-quote {
    width: 102px;
    height: 102px;
    margin: -55px 0 12px;
  }

  .page-business-testimonials .bt-title { font-size: 14px; line-height: normal; }

  /* Live uses 11px here; lifted to the 12px legibility floor. */
  .page-business-testimonials .bt-body p { font-size: 13px; line-height: 19.5px; }
  .page-business-testimonials .bt-body p.bt-p--m11,
  .page-business-testimonials .bt-body p.bt-p--m10 { font-size: 12px; line-height: 18px; }
  .page-business-testimonials .bt-body p.bt-sp3 { font-size: 20px; line-height: 30px; }

  .page-business-testimonials .bt-by {
    display: block;
    margin-top: 25px;
    text-align: center;
  }
  .page-business-testimonials .bt-by__pic,
  .page-business-testimonials .bt-by__who,
  .page-business-testimonials .bt-by__logo,
  .page-business-testimonials .bt-by--wide .bt-by__who,
  .page-business-testimonials .bt-by--wide .bt-by__logo {
    flex: none;
    max-width: none;
    width: 100%;
  }
  .page-business-testimonials .bt-by__pic img {
    width: 260px !important;
    height: auto !important;
    max-width: 100%;
    margin: 0 auto;
  }
  .page-business-testimonials .bt-by__who { padding: 10px 0 0; }
  .page-business-testimonials .bt-name,
  .page-business-testimonials .bt-org { font-size: 14px; line-height: 21px; }
  .page-business-testimonials .bt-name--tall { line-height: 21px; }
  .page-business-testimonials .bt-by__logo { display: block; margin-top: 10px; }
  .page-business-testimonials .bt-by__logo img {
    width: 100% !important;
    height: auto !important;
    margin: 0 auto;
  }
}
