.cta__line { display: none; }
.cta__media-shift,.cta__shift { display: contents; }
.cta__text > :first-child { margin-top: 0; }
.cta__text > :last-child { margin-bottom: 0; }

@media (min-width: 1200px) {
  .cta { --cta-img-y: 0px; --cta-text-y: 0px; align-items: stretch; min-height: clamp(620px,78vh,820px); overflow: hidden; }
  .cta__media { z-index: 1; inset: 0; width: auto; overflow: hidden; }
  .cta__media-shift { display: block; position: absolute; top: -110px; left: 0; z-index: 1; width: 100%; height: calc(100% + 220px); transform: translate3d(0,var(--cta-img-y),0); }
  .cta__media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 42%; transform: none; }
  .cta__media::after { z-index: 2; background: linear-gradient(0deg,rgba(7,19,29,.95),rgba(7,19,29,.8) 24%,rgba(7,19,29,.48) 50%,rgba(7,19,29,.18) 72%,rgba(7,19,29,.04) 88%,transparent); }
  .cta__inner { position: relative; z-index: 3; display: grid; grid-template-rows: minmax(48px,1fr) auto minmax(48px,1fr); justify-items: center; align-items: stretch; align-self: stretch; flex: 1 1 auto; width: 100%; max-width: none; min-height: clamp(620px,78vh,820px); margin-inline: 0; padding-block: 0; }
  .cta__line { grid-row: 1; align-self: stretch; display: block; width: 2px; margin-bottom: 36px; background: #f6f8fa; transform-origin: top center; }
  .cta__shift { display: block; grid-row: 2; grid-column: 1; width: min(820px,calc(100% - 2 * min(var(--gutter),40px))); max-width: 820px; text-align: center; transform: translate3d(0,var(--cta-text-y),0); }
  .cta__content { width: 100%; max-width: none; margin-inline: 0; padding: 0; }
  .cta__content .h2 { margin-inline: auto; }
  .cta__text { max-width: 660px; margin-inline: auto; }
  .cta__actions { justify-content: center; }
}

@media (max-width: 1199.98px) {
  .cta { min-height: clamp(500px,70vh,720px); text-align: center; }
  .cta__media { inset: 0; }
  .cta__media::after { background: linear-gradient(180deg,rgba(7,19,29,.45),rgba(7,19,29,.85)); }
  .cta__inner { display: flex; align-items: center; justify-content: center; min-height: inherit; padding-block: var(--site-section-space,72px); }
  .cta__content { max-width: 700px; margin-inline: auto; }
  .cta__actions { justify-content: center; }
}
@media (max-width: 767.98px) {
  .cta { min-height: 78vh; }
  .cta__actions { flex-direction: column; align-items: stretch; }
  .cta__actions .btn { width: 100%; justify-content: space-between; }
}
