/* ===== Image–Text Repeater: Base ===== */
.image-text-repeater {
  display: flex;
  flex-direction: column;
}

.sand-container {
  background: #F6F5F0;
  box-shadow: 0 6px 14px -6px rgba(24,39,75,.12), 0 10px 32px -4px rgba(24,39,75,.10);
  border-radius: 30px;
  padding: 40px;
}

.image-text-row {
  padding: 60px;
  display: flex;
  justify-content: center;
}

.image-text-repeater.sand-container .image-text-row { padding: 30px; }

.row-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  flex-wrap: nowrap;
  width: 1110px;
  max-width: 100%;
}

.row-content .row-image,
.row-content .row-text {
  flex: 1 1 50%;
  max-width: 50%;
  box-sizing: border-box;
}

.row-image img { display: block; margin-left: auto; margin-right: auto; }

/* Bullets → custom checkmarks */
.row-text ul { list-style: none; padding-left: 0; }
.row-text ul li {
  position: relative;
  padding-left: 24px;
  line-height: 1.5;
  margin-bottom: 10px;
}
.row-text ul li::before {
  content: '';
  position: absolute; left: 0; top: 0;
  width: 16px; height: 16px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="%23524FEF"><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>') no-repeat center;
  background-size: contain;
  transform: translateY(4px);
}

/* ===== Mobile / Tablet (tight) ===== */
@media (max-width: 768px) {

  /* Eat HubSpot row top/bottom padding without :has() */
  .image-text-repeater {
    margin-top: -24px;
    margin-bottom: -24px;
  }

  /* Outer container */
  .image-text-repeater.sand-container {
    padding: 16px;
    border-radius: 16px;
  }

  /* Each row */
  .image-text-row {
    padding: 0 16px 12px;   /* small side gutter + compact verticals */
    width: 100%;
  }
  .image-text-repeater .image-text-row:first-child { padding-top: 0; }
  .image-text-repeater .image-text-row:last-child  { padding-bottom: 8px; }

  /* Inner layout */
  .row-content {
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    gap: 12px;
  }
  .row-image,
  .row-text {
    flex: 1 1 100%;
    max-width: 100%;
    margin: 0;
  }

  /* Image */
  .row-image img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 12px; /* optional polish */
  }

  /* Text spacing */
  .row-text p { margin: 0 0 12px; }
  .row-text p:last-child { margin-bottom: 0; }

  /* List tightening */
  .row-text ul { padding-left: 0; margin: 8px 0 0; }
  .row-text ul li { padding-left: 20px; margin-bottom: 8px; }
  .row-text ul li::before { width: 14px; height: 14px; transform: translateY(3px); }
}

/* ===== Extra-narrow phones (≤390px) ===== */
@media (max-width: 390px) {
  .image-text-repeater { margin-top: -18px; margin-bottom: -18px; }
  .imag
