.printu-idea {
  margin: clamp(2rem, 5vw, 4rem) 0;
  padding: clamp(1.25rem, 4vw, 3rem);
  background: #eaf2ec;
  color: #173238;
  border-radius: 1rem;
}
.printu-idea-intro { max-width: 45rem; }
.printu-idea-intro h2 {
  margin: .35rem 0 .7rem;
  font-size: clamp(1.85rem, 4.5vw, 3.4rem);
  line-height: 1.06;
}
.printu-idea-intro > p:last-child { margin: 0; line-height: 1.55; }
.printu-idea-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .9rem;
  padding: 0;
  margin: 1.35rem 0 0;
  list-style: none;
}
.printu-idea-steps > li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(.9rem,2vw,1.3rem);
  background: #fff;
  border-radius: .7rem;
}
.printu-idea-number {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: .55rem;
  border-radius: 50%;
  background: #dbed89;
  font-weight: 700;
  font-size: .8rem;
}
.printu-idea-steps h3 { margin: 0; font-size: 1.15rem; }
.printu-idea-steps p { margin: .5rem 0 .85rem; line-height: 1.45; }
.printu-idea-link {
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  min-height: 44px;
  margin-top: auto;
  padding: .4rem .7rem;
  border: 1px solid #00747a;
  border-radius: .45rem;
  color: #00666b;
  font-weight: 650;
  text-decoration: none;
}
.printu-idea-link.printu-idea-primary { background: #006d73; color: #fff; }
.printu-idea-link:focus-visible { outline: 2px solid #006d73; outline-offset: 3px; }
@media (max-width: 730px) {
  .printu-idea-steps { grid-template-columns: 1fr; }
}
