:root {
  --blue: #4857a6;
  --dark-blue: #181c48;
  --light-green: #0cb9a2;
  --white: #fff;
  --purple: #70489d;
  --light-blue: #75d1f2;
}

.ioes-inner-hero-block,
.innerpage_section,
.innerpage_callout,
.inner_callouts_wrapper2 {
  box-sizing: border-box;
  font-family: Ubuntu, Helvetica, sans-serif;
}

.ioes-inner-hero-block *,
.innerpage_section *,
.innerpage_callout *,
.inner_callouts_wrapper2 * {
  box-sizing: border-box;
}

.ioes-inner-hero-block {
  position: relative;
  width: 100%;
}

.inner_hero_section {
  height: 85svh;
  margin-bottom:50px;
}
h1.inner_page_main_taglines{
  display:block !important;
}
.inner_hero_img_div {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.inner_hero_img {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100% !important;
  display: block;
  position: static;
}

.inner_hero_taglines_wrapper {
  z-index: 30;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50%;
  display: flex;
  position: absolute;
  inset: 7% auto auto 10%;
}

.breadcrumbs_wrapper {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 10%;
  display: flex;
}

.breadcrumbs_link {
  color: var(--blue);
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
}

.breadcrumbs_link:hover {
  color: var(--light-green);
}

.breadcrumbs_link.w--current {
  color: var(--dark-blue);
}

.divider_text {
  margin-left: 5px;
  margin-right: 5px;
}

.inner_page_header_div {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
  display: flex;
}

.header_line {
  background-color: var(--purple);
  width: 10%;
  height: 1px;
  margin-right: 10px;
}

.header_text {
  color: var(--blue);
  letter-spacing: 5px;
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 400;
}

.inner_page_main_taglines {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 3rem;
  font-weight: 400;
  line-height: 3rem;
}

.ioes-hero-content p,
.innerpage_section p,
.innerpage_callout p {
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8rem;
}

.p_last,
.p_last p:last-child,
.ioes-step-content p:last-child,
.ioes-hero-content p:last-child {
  margin-bottom: 0;
  font-size: 1rem;
}

.ioes-button-row {
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  display: flex;
}

a.button {
  border: 2px solid var(--dark-blue);
  background-color: var(--dark-blue);
  color: var(--white) !important;
  text-transform: uppercase;
  border-radius: 50px;
  justify-content: flex-start;
  align-items: center;
  padding: 17px 21px 17px 31px;
  text-decoration: none !important;
  display: flex;
}

.button:hover {
  border-color: var(--blue);
  background-color: var(--blue);
  color: var(--white);
}

.button._2 {
  border: 2px solid var(--dark-blue);
  color: var(--dark-blue);
  background-color: #181c4800;
}

.button._2:hover {
  color: var(--dark-blue);
  background-color: #b4c0ff;
  border-color: #b4c0ff;
}

.button.space {
  margin-right: 20px;
}

.arrow_icon {
  width: 20px;
  height: auto;
  margin-left: 10px;
  display: block;
}

.innerpage_section {
  padding: 5% 10%;
}

.ioes-step-section {
  padding-top: 0;
}

.first_row_wrapper {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5%;
  display: flex;
}

.first_row_wrapper.no-icon {
  justify-content: flex-start;
}

.icon_div {
  width: 15%;
}

.icon_div img,
.inner_callout_icon img {
  width: 100%;
  height: auto;
  display: block;
}

.inner_content_wrapper {
  width: 80%;
}

.first_row_wrapper.no-icon .inner_content_wrapper {
  width: 100%;
}

.innerpage_headline {
  color: var(--dark-blue);
  margin-top: 0;
  margin-bottom: 30px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.2rem;
}

.innerpage_headline.callout {
  margin-bottom: 15px;
  font-size: 1.8rem;
  line-height: 2rem;
}

.row_wrapper {
  margin-bottom: 40px;
  display: flex;
  position: relative;
}

.ioes-step-section:last-child .row_wrapper {
  margin-bottom: 0;
}

.inner_img_div {
  width: 30%;
  height: auto;
  overflow: hidden;
}

.inner_img,
.ioes-object-position {
  width: 100%;
  height: 100% !important;
}
.ioes-step-section{
  padding-bottom:0 !important;
}
.inner_callouts_wrapper2 p{
  font-size:.9rem;
  line-height:1.2rem;
}
.inner_callouts_wrapper2 .inner_callout_text_div div{
  display:flex;
  justify-content: space-between;
  align-items: center;
}
.inner_callouts_wrapper2 .inner_callout_text_div div p{
  margin-bottom:0 !important;
}
.ioes-icon-content-row-block{
  padding-bottom:0 !important;
}
.inner_img {
  object-fit: cover;
  display: block;
}

.ioes-object-position .inner_img {
  object-position: var(--ioes-object-position);
}

.inner_content_wrapper_flex {
  background-color: #f8f9fc;
  justify-content: space-between;
  align-items: flex-start;
  width: 70%;
  padding: 3% 3% 3% 7%;
  display: flex;
}

.row_wrapper.image-right .inner_img_div {
  order: 2;
}

.row_wrapper.image-right .inner_content_wrapper_flex {
  order: 1;
  padding-left: 3%;
  padding-right: 7%;
}

.text_wrapper {
  width: 90%;
}

.ioes-step-content ul,
.innerpage_section ul {
  margin-top: 0;
  margin-bottom: 20px;
  padding-left: 20px;
  line-height: 1.5rem;
}

.ioes-step-content li,
.innerpage_section li {
  margin-bottom: 5px;
}

.number_div {
  color: #d0dff1;
  width: auto;
}

.number_text {
  font-size: 3rem;
  line-height: 3rem;
}

.row_icon_wrapper {
  z-index: 10;
  background-color: var(--white);
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  display: flex;
  position: absolute;
  top: 40%;
  left: 25%;
  box-shadow: 3px 5px 9px 3px #00000017;
}

.row_wrapper.image-right .row_icon_wrapper {
  left: auto;
  right: 25%;
}

.inner_icon {
  width: 80px;
  height: auto;
  display: block;
}

.innerpage_callout {
  background-color: #eaf2fb;
  justify-content: space-between;
  align-items: center;
  padding: 2% 10%;
  display: flex;
}

.inner_appointment_callout_wrapper {
  justify-content: space-between;
  align-items: center;
  width: 55%;
  display: flex;
}

.appointment_icon_div {
  background-color: #d7e5f3;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  display: flex;
  box-shadow: 0 4px 6px #ffffff80;
}

.appointment_icon {
  width: 60px;
  height: auto;
  display: block;
}

.inner_ap_callout_text_div {
  width: 80%;
}

.inner_callout_btns_wrapper {
  justify-content: flex-end;
  align-items: center;
  width: 42%;
  display: flex;
}

.inner_callouts_wrapper2 {
  background-color: var(--dark-blue);
  color: var(--white);
  justify-content: space-between;
  align-items: center;
  padding: 2% 10%;
  font-size: .9rem;
  display: flex;
}

.inner_callout_wrapper2 {
  color: inherit;
  justify-content: space-between;
  align-items: center;
  width: 16%;
  text-decoration: none;
  display: flex;
}

.inner_callout_wrapper2:hover {
  color: inherit;
}

.white_callout_line {
  background-color: #ffffff80;
  width: 1px;
  height: 40px;
}

.inner_callout_text_div {
  width: 75%;
}

.inner_callout_icon {
  width: 20%;
}
<div id="main" class="standard-inner-wrapper entry"><p id="breadcrumbs"><span><span><a href="https://ioes.glacialsites.com/">Home</a></span> » <span class="breadcrumb_last" aria-current="page">Research</span></span></p>
	<h1>Research</h1>



<div id="ioes-inner-hero-146c3bb334d3fdacd2ccb8fa69e7pastedThat did not seem to work. Here is more html for that:Now I can see exactly what's happening. The cards sit directly inside div#main.standard-inner-wrapper.entry — there's no intermediate group wrapper. The :has() approach on .entry is the right call, but I also need to see the existing research card style.css to know where to add it and what might be conflicting. Do you have the path to the research card block's style.css on the server, or can you share it?
In the meantime, here's the updated, more precise CSS — the selector now targets .standard-inner-wrapper directly, which is what actually wraps the cards:
css/* Research Cards — 3-column grid
   Cards sit directly in div#main.standard-inner-wrapper.entry */

.standard-inner-wrapper:has(.wp-block-acf-research-card) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: start;
    gap: 30px;
}

/* Pull non-card content out of the grid so it spans full width */
.standard-inner-wrapper:has(.wp-block-acf-research-card) > *:not(.wp-block-acf-research-card) {
    grid-column: 1 / -1;
}

.wp-block-acf-research-card {
    width: 100% !important;
    margin: 0 !important;
}

@media screen and (max-width: 991px) {
    .standard-inner-wrapper:has(.wp-block-acf-research-card) {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .standard-inner-wrapper:has(.wp-block-acf-research-card) {
        grid-template-columns: 1fr;
    }
}
The key addition is the > *:not(.wp-block-acf-research-card) rule — that's what handles the hero block, the Kadence row, the image, and the paragraph at the bottom all spanning full width instead of getting slotted into the grid. Without that, those other elements would each occupy one grid column cell.Anything we can do about the content being so squished? Can we adjust to look more like square cards?The problem is the card's internal layout — each .rc-card is a flex row splitting into a left panel and a right panel side-by-side. At one-third page width that's way too narrow to work. The cards need to stack their left/right panels vertically instead.
You need two changes in the research card's style.css:

Make .rc-card column-direction instead of row
Adjust the left/right panel widths to 100%

Share the research card style.css and I'll give you the exact targeted diff. If you don't have it handy, here's the CSS to append — it overrides whatever the current row-flex layout is:
css/* Research card grid — vertical card layout */
.wp-block-acf-research-card .rc-card {
    flex-direction: column;
}

.wp-block-acf-research-card .rc-card__left,
.wp-block-acf-research-card .rc-card__right {
    width: 100%;
}
That will make each card tall and square-ish rather than a wide split layout. Once you share the full style.css I can also check if there's padding, border, min-height, or other properties on .rc-card__left / .rc-card__right that will need adjusting alongside the flex direction change.Can we adjust it so it's 2x2 with the cards being the exact same height?The fix needs two things: switch to a 2-column grid and make cards stretch to equal height. Here's the updated CSS — just replace the grid rules you added earlier:
css/* Research Cards — 2-column grid, equal height */
.standard-inner-wrapper:has(.wp-block-acf-research-card) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
    gap: 30px;
}

.standard-inner-wrapper:has(.wp-block-acf-research-card) > *:not(.wp-block-acf-research-card) {
    grid-column: 1 / -1;
}

.wp-block-acf-research-card {
    width: 100% !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}

.wp-block-acf-research-card .rc-card {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.wp-block-acf-research-card .rc-card__right {
    flex: 1;
}

@media screen and (max-width: 767px) {
    .standard-inner-wrapper:has(.wp-block-acf-research-card) {
        grid-template-columns: 1fr;
    }
}

.standard-inner-wrapper:has(.wp-block-acf-research-card) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
    gap: 30px;
}

.standard-inner-wrapper:has(.wp-block-acf-research-card) > *:not(.wp-block-acf-research-card) {
    grid-column: 1 / -1;
}

.wp-block-acf-research-card {
    width: 100% !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}

.wp-block-acf-research-card .rc-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  height: 100%;
}

.wp-block-acf-research-card .rc-card__left {
  width: 50%;
  display: flex;
  flex-direction: column;
}

.wp-block-acf-research-card .rc-card__right {
  width: 50%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 991px) {
  .standard-inner-wrapper:has(.wp-block-acf-research-card) {
    grid-template-columns: repeat(2, 1fr);
}
  .inner_hero_img {
    object-position: 100% 50%;
  }

  .inner_hero_taglines_wrapper {
    background-color: #ffffffe3;
    width: 90%;
    padding: 3%;
    top: 436px;
    left: 5%;
  }

  .breadcrumbs_wrapper {
    margin-bottom: 5%;
  }

  .button.space {
    margin-left: 0;
    margin-right: 10px;
  }

  .innerpage_section {
    padding-top: 17%;
    padding-left: 7%;
    padding-right: 7%;
  }

  .ioes-step-section {
    padding-top: 0;
  }

  .first_row_wrapper {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10%;
  }

  .inner_page_main_taglines {
    margin-bottom: 20px;
    font-size: 2.4rem;
    line-height: 2.6rem;
  }

  .innerpage_headline {
    width: 70%;
    font-size: 1.6rem;
    line-height: 1.7rem;
  }

  .text_wrapper {
    width: 100%;
  }

  .number_div {
    position: absolute;
    inset: 3% 3% auto auto;
  }

  .row_icon_wrapper {
    width: 100px;
    height: 100px;
    left: 20%;
  }

  .row_wrapper.image-right .row_icon_wrapper {
    left: auto;
    right: 20%;
  }

  .inner_icon {
    width: 60px;
  }

  .innerpage_callout {
    flex-flow: column;
    padding-top: 5%;
    padding-bottom: 5%;
  }

  .inner_appointment_callout_wrapper {
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 5%;
  }

  .inner_ap_callout_text_div {
    width: 75%;
  }

  .inner_callout_btns_wrapper {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }

  .inner_callouts_wrapper2 {
    padding-left: 5%;
    padding-right: 5%;
  }

  .inner_callout_wrapper2 {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 20%;
    padding: 0 14px 0 0;
  }

  .white_callout_line {
    height: 60px;
    margin-left: 10px;
    margin-right: 10px;
    display: none;
  }

  .inner_callout_text_div {
    width: 100%;
  }

  .inner_callout_icon {
    width: 30px;
    margin-bottom: 5px;
  }
  .ioes-inner-hero-block .inner_hero_section {
    height: 300px;
}

.ioes-inner-hero-block .inner_hero_taglines_wrapper,
.ioes-inner-hero-block .inner_hero_taglines_wrapper.alignfull {
    position: relative;
    inset: auto;
    top: auto;
    left: auto;
    width: 100%;
    margin: 0;
    padding: 32px 6%;
    z-index: 1;
}

.innerpage_section {
    padding-top: 5%;
}
}

@media screen and (max-width: 767px) {
  .standard-inner-wrapper:has(.wp-block-acf-research-card) {
    grid-template-columns: 1fr;
}
  .inner_hero_section {
    height: 300px;
  }

  .inner_hero_taglines_wrapper {
    background-color: #0000000d;
    width: 100%;
    margin-top: 0;
    padding: 6%;
    position: static;
  }

  .button {
    padding: 15px 15px 15px 23px;
    font-size: .9rem;
  }

  .innerpage_section {
    padding-top: 5%;
  }

  .ioes-step-section {
    padding-top: 0;
  }

  .first_row_wrapper {
    flex-flow: column;
  }

  .icon_div {
    width: 20%;
    margin-bottom: 20px;
  }

  .inner_content_wrapper {
    width: 100%;
  }

  .row_wrapper,
  .row_wrapper.image-right {
    flex-flow: column;
  }

  .row_wrapper.image-right .inner_img_div,
  .row_wrapper.image-right .inner_content_wrapper_flex {
    order: initial;
  }

  .inner_img_div {
    width: 100%;
    height: 300px;
  }

  .inner_content_wrapper_flex,
  .row_wrapper.image-right .inner_content_wrapper_flex {
    width: 100%;
    padding: 5%;
  }

  .number_div {
    background-color: var(--blue);
    border-radius: 10px;
    padding: 7px;
    top: 0%;
    right: -5%;
  }

  .number_text {
    color: #fff;
  }

  .row_icon_wrapper,
  .row_wrapper.image-right .row_icon_wrapper {
    top: 31%;
    left: 75%;
    right: auto;
  }

  .innerpage_callout {
    padding-top: 8%;
    padding-bottom: 8%;
  }

  .inner_appointment_callout_wrapper {
    margin-bottom: 10%;
  }

  .appointment_icon_div {
    width: 100px;
    height: 100px;
  }

  .inner_callouts_wrapper2 {
    flex-flow: wrap;
  }

  .inner_callout_wrapper2 {
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    width: 50%;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .inner_callout_icon {
    width: 40px;
    margin-bottom: 0;
    margin-right: 10px;
  }
}

@media screen and (max-width: 479px) {
  .inner_page_main_taglines {
    font-size: 2rem;
    line-height: 2.2rem;
  }

  .innerpage_headline {
    width: 100%;
  }

  .inner_appointment_callout_wrapper {
    flex-flow: column;
  }

  .appointment_icon_div {
    margin-bottom: 20px;
  }

  .inner_ap_callout_text_div {
    width: 100%;
  }

  .inner_callout_btns_wrapper {
    flex-flow: column;
    align-items: flex-start;
    gap: 12px;
  }

  .button.space {
    margin-right: 0;
  }

  .inner_callout_wrapper2 {
    width: 100%;
  }
}
