.rt-next,
.rtc-poly-aggregate{
  box-sizing:border-box!important;
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin:34px auto!important;
  padding:28px!important;
  border:1px solid #d5e5f5!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%)!important;
  box-shadow:0 18px 48px rgba(18,74,124,.10)!important;
  color:#102235!important;
  font-family:inherit!important;
  text-align:left!important;
}

.rt-next__intro,
.rtc-poly-aggregate>div:first-child{
  max-width:780px!important;
}

.rt-next__eyebrow,
.rtc-poly-aggregate small{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#0965bb!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

.rt-next h2,
.rtc-poly-aggregate h2{
  margin:0 0 8px!important;
  padding:0!important;
  color:#102235!important;
  font-size:clamp(22px,2.4vw,31px)!important;
  line-height:1.15!important;
  font-weight:820!important;
}

.rt-next__intro>p,
.rtc-poly-aggregate>div:first-child>p{
  margin:0!important;
  padding:0!important;
  color:#61758a!important;
  font-size:15px!important;
  line-height:1.6!important;
}

.rt-next__grid,
.rtc-poly-aggregate nav{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:20px 0 0!important;
  padding:0!important;
  background:none!important;
}

.rt-next__card,
.rtc-poly-aggregate nav a{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:150px!important;
  margin:0!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  border:1px solid #d7e6f5!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(22,71,116,.06)!important;
  color:#102235!important;
  text-decoration:none!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}

.rt-next__card:hover,
.rt-next__card:focus-visible,
.rtc-poly-aggregate nav a:hover,
.rtc-poly-aggregate nav a:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#9fc8ec!important;
  box-shadow:0 12px 30px rgba(22,71,116,.12)!important;
  color:#102235!important;
  outline:none!important;
}

.rt-next__card strong{
  color:#102235!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:800!important;
}

.rt-next__card span{
  color:#64788c!important;
  font-size:13px!important;
  line-height:1.5!important;
}

.rt-next__arrow{
  margin-top:auto!important;
  color:#096bc6!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:800!important;
}

/* Aggregate recommendations can arrive from older learned-state markup.
   Make even that legacy markup look like a proper card until the state refreshes. */
.rtc-poly-aggregate nav a{
  min-height:74px!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:760!important;
}

@media(max-width:900px){
  .rt-next__grid,
  .rtc-poly-aggregate nav{
    grid-template-columns:1fr!important;
  }

  .rt-next__card,
  .rtc-poly-aggregate nav a{
    min-height:0!important;
  }
}

@media(max-width:520px){
  .rt-next,
  .rtc-poly-aggregate{
    width:calc(100% - 20px)!important;
    margin:20px 10px!important;
    padding:20px 17px!important;
    border-radius:19px!important;
  }

  .rt-next__grid,
  .rtc-poly-aggregate nav{
    margin-top:16px!important;
  }
}
