/* ============================================================
   Shared Setu owl + speech-bubble callout
   Used above section headings on the home page and _CTA.
   (Section-specific variants may override placement.)
   ============================================================ */

.tiva-callout {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 16px;
}

.tiva-callout-icon {
  flex-shrink: 0;
  width: 63px;
  height: 70px;
  object-fit: contain;
}

.tiva-callout-message {
  position: relative;
  max-width: 320px;
  margin: 0 0 6px;
  padding: 10px 16px;
  border-radius: 16px;
  background: #fff;
  color: #000;
  font: 400 16px/24px "Inter", "Plus Jakarta Sans", Arial, sans-serif;
  text-align: left;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

/* little tail bubbles dropping toward the owl */
.tiva-callout-message::before,
.tiva-callout-message::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 50%;
}

.tiva-callout-message::before {
  width: 13px;
  height: 13px;
  bottom: -4px;
  left: 1px;
}

.tiva-callout-message::after {
  width: 7px;
  height: 7px;
  bottom: -10px;
  left: -1px;
}

/* ---- Hero variant: same concept, different class names ---- */
.hero-tiva-callout {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 0 0 16px;
}

.hero-tiva-icon {
  flex-shrink: 0;
  width: 63px;
  height: 70px;
  object-fit: contain;
}

.hero-tiva-callout p {
  position: relative;
  max-width: 320px;
  margin: 0 0 6px;
  padding: 10px 16px;
  border-radius: 16px;
  background: #fff;
  color: #000;
  font: 400 16px/24px "Inter", "Plus Jakarta Sans", Arial, sans-serif;
  text-align: left;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.hero-tiva-callout p::before,
.hero-tiva-callout p::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 50%;
}

.hero-tiva-callout p::before {
  width: 13px;
  height: 13px;
  bottom: -4px;
  left: 1px;
}

.hero-tiva-callout p::after {
  width: 7px;
  height: 7px;
  bottom: -10px;
  left: -1px;
}

/* ---- Fallback for the cheque-style eyebrow when reused outside
        .setu-cheque-section (which has its own scoped rules) ---- */
.cheque-eyebrow-wrap {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 12px;
}

.cheque-owl {
  flex-shrink: 0;
  width: 63px;
  height: 70px;
  object-fit: contain;
}

.cheque-eyebrow {
  position: relative;
  max-width: 286px;
  padding: 10px 15px;
  border-radius: 16px;
  background: #fff;
  color: #000;
  font: 400 16px/24px "Inter", "Plus Jakarta Sans", Arial, sans-serif;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}

.cheque-eyebrow::before,
.cheque-eyebrow::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 50%;
}

.cheque-eyebrow::before {
  width: 13px;
  height: 13px;
  bottom: -4px;
  left: 1px;
}

.cheque-eyebrow::after {
  width: 7px;
  height: 7px;
  bottom: -10px;
  left: -1px;
}

@media (max-width: 560px) {
  .tiva-callout {
    align-items: center;
  }

  .tiva-callout-icon,
  .hero-tiva-icon {
    width: 48px;
    height: 54px;
  }

  .tiva-callout-message,
  .hero-tiva-callout p {
    font-size: 14px;
    line-height: 20px;
  }
}
