.acolhe-journey {
  width:min(1180px,calc(100% - 48px));
  margin:0 auto 104px;
  padding:64px;
  border:1px solid #b9d8d0;
  border-radius:30px;
  background:linear-gradient(135deg,#e8f3ef 0%,#fff8f3 62%,#f7dfd4 100%);
}

.acolhe-journey {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:48px 64px;
  align-items:center;
}

.journey-copy h2 {
  margin:15px 0 20px;
  color:var(--ink);
  font:clamp(35px,4.2vw,54px)/1.04 var(--font-display);
  letter-spacing:-2.7px;
}

.journey-copy>p:not(.section-kicker) {
  max-width:450px;
  margin:0 0 13px;
  color:#466366;
  font-size:16px;
  line-height:1.62;
}

.journey-flow {
  position:relative;
  overflow:hidden;
  padding:26px;
  border:1px solid #ffffffbc;
  border-radius:24px;
  background:#fffdfbbf;
  box-shadow:0 18px 35px #2d5a5220;
}

.journey-glow {
  position:absolute;
  top:0;
  left:0;
  width:110px;
  height:110px;
  border-radius:50%;
  background:#f4856980;
  filter:blur(20px);
  animation:journey-drift 8s ease-in-out infinite;
}

.journey-steps {
  position:relative;
  display:grid;
  gap:11px;
  margin:0;
  padding:0;
  list-style:none;
}

.journey-step {
  display:grid;
  grid-template-columns:39px 1fr 24px;
  align-items:center;
  gap:13px;
  min-height:105px;
  padding:18px 17px;
  border:1px solid #bdd9d2;
  border-radius:17px;
  background:#ffffffd9;
  opacity:.68;
  animation:journey-step 9s ease-in-out infinite;
}

.step-number {
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  border-radius:50%;
  color:#fff;
  background:var(--teal);
  font-size:11px;
  font-weight:900;
}

.journey-step p {
  margin:0 0 4px;
  color:#597976;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.15px;
}

.journey-step h3 {
  margin:0 0 4px;
  color:var(--ink);
  font:600 23px/1 var(--font-display);
  letter-spacing:-.8px;
}

.journey-step div>span { color:#56716e; font-size:12px; line-height:1.35; }
.journey-step i { color:var(--coral); font-size:22px; font-style:normal; }
.step-organize { animation-delay:3s; }
.step-talk { animation-delay:6s; }

.journey-boundary {
  grid-column:1/-1;
  margin:-10px 0 0;
  padding:16px 18px;
  border-left:4px solid var(--coral);
  border-radius:0 16px 16px 0;
  color:#4f6a68;
  background:#fff7f2;
  font-size:13px;
  line-height:1.5;
}

.journey-boundary b { color:#894a3b; }

.journey-cta {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:5px;
}

.journey-cta h3 { margin:8px 0 5px; font:600 31px/1 var(--font-display); letter-spacing:-1.3px; }
.journey-cta div>p:last-child { max-width:600px; margin:0; color:#4e6b69; font-size:14px; line-height:1.5; }
.journey-cta .button { flex:none; white-space:nowrap; }

@keyframes journey-drift {
  0%,100% { transform:translate(-15px,-16px); }
  50% { transform:translate(310px,200px); }
}

@keyframes journey-step {
  0%,25%,100% { opacity:.68; transform:translateX(0); border-color:#bdd9d2; box-shadow:none; }
  8%,18% { opacity:1; transform:translateX(5px); border-color:#66a99d; box-shadow:0 9px 20px #2d5a521c; }
}

@media (max-width:800px) {
  .acolhe-journey { width:min(100% - 32px,1180px); grid-template-columns:1fr; gap:30px; margin-bottom:72px; padding:37px 27px; }
  .journey-boundary,.journey-cta { grid-column:auto; }
  .journey-cta { align-items:flex-start; flex-direction:column; }
}

@media (max-width:460px) {
  .acolhe-journey { padding:30px 21px; }
  .journey-copy h2 { letter-spacing:-2px; }
  .journey-flow { padding:15px; }
  .journey-step { grid-template-columns:34px 1fr 17px; gap:10px; padding:15px 12px; }
  .step-number { width:34px; height:34px; font-size:10px; }
  .journey-step h3 { font-size:20px; }
  .journey-cta h3 { font-size:28px; }
  .journey-cta .button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .journey-glow,.journey-step { animation:none; }
  .journey-step { opacity:1; }
}
