.macro-cta {
  background: linear-gradient(155deg, var(--brand), var(--primary-macro) 58%, #20407A);
}
.macro-cta__grid { animation: mc-gridPan 26s linear infinite; }
.macro-cta__glow-1 {
  left: -6%; top: -30%; width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(61,110,224,.5), transparent 66%);
  filter: blur(30px);
  animation: mc-float1 15s ease-in-out infinite;
}
.macro-cta__glow-2 {
  right: 8%; bottom: -40%; width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(205,83,52,.32), transparent 66%);
  filter: blur(34px);
  animation: mc-float2 18s ease-in-out infinite;
}
.macro-cta__inner {
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 56px;
  align-items: center;
  min-height: 520px;
}
.macro-cta__text { padding: 84px 0; }
.macro-cta__title {
  margin: 16px 0 24px;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.08;
}
.macro-cta__lead {
  margin: 0 0 40px;
  font-size: 17px; line-height: 1.6;
  color: #B7C4E0;
  max-width: 440px;
}
.macro-cta__btn { min-width: 360px; gap: 56px; }
.macro-cta__media {
  align-self: flex-end;
  margin: 56px -220px 0 0;
  overflow: hidden;
  border-radius: var(--r-frame) var(--r-frame) 0 0;
  box-shadow: 0 0 26px rgba(165,192,238,.13);
}
.macro-cta__img { display: block; width: 100%; }

@media (max-width: 991px) {
  .macro-cta__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    min-height: auto;
  }
  .macro-cta__text { padding: 56px 0 0; }
  .macro-cta__btn { min-width: 100%; }
  .macro-cta__media {
    margin: 40px auto 0;
    max-width: 620px;
    align-self: center;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .macro-cta__img { border-width: 6px; }
  .macro-cta__glow-1, .macro-cta__glow-2 { opacity: .6; }
}
