/* One closing CTA for home, institutional and feature pages. */
.guided-cta {
  padding-block: 60px;
  color: #fff;
  background: #071a35;
  font-family: Manrope, Arial, sans-serif;
}
.guided-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  width: min(1280px, calc(100% - 64px));
  min-height: 130px;
  margin-inline: auto;
}
.guided-cta h2 {
  max-width: 850px;
  min-width: 0;
  margin: 0;
  color: #fff;
  font-size: clamp(38px, 3.6vw, 58px);
  font-weight: 560;
  letter-spacing: -.06em;
  line-height: 1.08;
  text-wrap: balance;
}
.guided-cta__button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 52px;
  max-width: 100%;
  padding: 16px 23px;
  border-radius: 8px;
  background: #f45118;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  transition: background 200ms ease, transform 200ms ease;
}
.guided-cta__button svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.guided-cta__button:hover { background: #df410b; transform: translateY(-2px); }
.guided-cta__button:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }

/* Reuse the existing entry observers, but animate only the inner content.
   The blue band stays still and content remains visible without JavaScript. */
.guided-cta.reveal { opacity: 1; filter: none; transform: none; transition: none; }
.guided-cta.feature-entered { animation: none; }
.guided-cta:is(.is-visible, .feature-entered) .guided-cta__inner {
  animation: guided-cta-enter 640ms cubic-bezier(.2, .65, .25, 1) both;
}
@keyframes guided-cta-enter {
  from { opacity: .65; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .guided-cta { padding-block: 52px; }
  .guided-cta__inner { width: calc(100% - 44px); min-height: 0; flex-direction: column; align-items: flex-start; gap: 28px; }
  .guided-cta h2 { max-width: 580px; font-size: clamp(34px, 7.4vw, 48px); line-height: 1.15; letter-spacing: -.045em; }
}
@media (max-width: 360px) {
  .guided-cta__button { width: 100%; gap: 14px; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .guided-cta .guided-cta__inner, .guided-cta__button { animation: none !important; transition: none; transform: none; }
}
@media print { .guided-cta { display: none; } }
