.acj-marketing-page .elementor-widget-html,
.acj-marketing-page .elementor-widget-html > .elementor-widget-container {
  margin: 0;
  width: 100%;
}

/* Elementor inserts a sticky spacer for the shared header. The source header
   is fixed and overlays each marketing hero, so remove only that spacer here. */
.acj-marketing-page .elementor-location-header .elementor-sticky__spacer {
  display: none !important;
}

body.acj-marketing-page:not(.acj-marketing-page--home) {
  padding-top: 96px !important;
}

.acj-marketing-page .elementor-location-header .elementor-element-ghouter1:not(.elementor-sticky__spacer) {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none;
  inset-inline: 0;
  min-height: 80px !important;
  position: fixed !important;
  top: 0;
  transition: background-color 300ms, box-shadow 300ms, min-height 300ms;
  width: 100% !important;
}

.acj-marketing-page.acj-marketing-header-scrolled .elementor-location-header .elementor-element-ghouter1:not(.elementor-sticky__spacer) {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background-color: rgb(255 255 255 / 90%) !important;
  box-shadow: 0 1px 2px rgb(15 23 42 / 6%);
  min-height: 64px !important;
}

.acj-marketing-page.acj-marketing-header-scrolled .elementor-location-header .elementor-element-ghouter1:not(.elementor-sticky__spacer) > .e-con-inner {
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

@media (min-width: 48rem) {
  .acj-marketing-page .elementor-location-header .elementor-element-ghouter1:not(.elementor-sticky__spacer) > .e-con-inner {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: auto 1fr auto;
    padding-inline: 32px !important;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghbrand1,
  .acj-marketing-page .elementor-location-header .elementor-element-ghnav001,
  .acj-marketing-page .elementor-location-header .elementor-element-ghcta001 {
    width: auto !important;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghnav001 {
    justify-self: end;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghmenu01 {
    width: auto !important;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghmenu01 .elementor-nav-menu {
    gap: 32px;
    transform: translateX(32px);
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghmenu01 .elementor-nav-menu--main .elementor-item {
    padding-inline: 0;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghcta001 {
    gap: 12px !important;
    margin-left: 48px;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghaction1 .elementor-button {
    font-size: 14px !important;
    line-height: 20px;
    padding: 8px 16px !important;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghtrial1 .elementor-button {
    border-width: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px;
    padding: 10px 20px !important;
  }

  .acj-marketing-page .elementor-location-header .elementor-element-ghname01 .elementor-heading-title {
    font-size: 20px !important;
  }
}

@media (max-width: 47.999rem) {
  .acj-marketing-page .elementor-location-header .elementor-element-ghouter1:not(.elementor-sticky__spacer) > .e-con-inner {
    padding-inline: 16px !important;
  }
}

.acj-marketing-page .acj-marketing-main {
  display: block;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px;
  line-height: 24px;
  overflow: clip;
  width: 100%;
}

/* Elementor's list normalization has higher specificity than Tailwind's
   :where()-based space-y utilities. Restore the source vertical rhythm. */
.acj-marketing-page .acj-marketing-main .space-y-1 > :not(:last-child) { margin-block-end: 4px !important; }
.acj-marketing-page .acj-marketing-main .space-y-2 > :not(:last-child) { margin-block-end: 8px !important; }
.acj-marketing-page .acj-marketing-main .space-y-3 > :not(:last-child) { margin-block-end: 12px !important; }
.acj-marketing-page .acj-marketing-main .space-y-4 > :not(:last-child) { margin-block-end: 16px !important; }
.acj-marketing-page .acj-marketing-main .space-y-5 > :not(:last-child) { margin-block-end: 20px !important; }
.acj-marketing-page .acj-marketing-main .space-y-6 > :not(:last-child) { margin-block-end: 24px !important; }
.acj-marketing-page .acj-marketing-main .space-y-12 > :not(:last-child) { margin-block-end: 48px !important; }
.acj-marketing-page .acj-marketing-main .space-y-16 > :not(:last-child) { margin-block-end: 64px !important; }
.acj-marketing-page .acj-marketing-main .space-y-24 > :not(:last-child) { margin-block-end: 96px !important; }

@media (min-width: 48rem) {
  .acj-marketing-page .acj-marketing-main .md\:space-y-4 > :not(:last-child) { margin-block-end: 16px !important; }
  .acj-marketing-page .acj-marketing-main .md\:space-y-24 > :not(:last-child) { margin-block-end: 96px !important; }
}

.acj-marketing-page .acj-marketing-main a:focus-visible,
.acj-marketing-page .acj-marketing-main button:focus-visible,
.acj-marketing-page #contact-modal button:focus-visible {
  outline: 3px solid #10b981;
  outline-offset: 3px;
}

.acj-marketing-page .acj-marketing-main button {
  white-space: normal;
}

/* Elementor's global button skin otherwise overrides the homepage FAQ's
   source `bg-white` utility after the cards enter the viewport. */
.acj-marketing-page .acj-marketing-main button.bg-white {
  background-color: var(--color-white) !important;
  border-color: var(--color-slate-100) !important;
  color: var(--color-slate-900) !important;
}

/* Elementor's kit targets a/button elements more specifically than the
   source utility classes. Restore the source button/link color variants. */
.acj-marketing-page .acj-marketing-main a.text-white {
  color: var(--color-white) !important;
}

.acj-marketing-page .acj-marketing-main a.text-emerald-700 {
  color: var(--color-emerald-700) !important;
}

.acj-marketing-page .acj-marketing-main a.text-indigo-700 {
  color: var(--color-indigo-700) !important;
}

/* Source CTAs are buttons. The migration turns window.open handlers into
   accessible links, so restore the button's centered inline layout. */
.acj-marketing-page .acj-marketing-main a[data-acj-external-cta] {
  align-items: center;
  display: flex;
  justify-content: center;
  text-align: center;
}

.acj-marketing-page .acj-marketing-main a[data-acj-external-cta].bg-indigo-50 {
  font-size: 1rem;
  line-height: 1.5rem;
}

.acj-marketing-page .acj-marketing-main button[data-contact-modal].bg-emerald-500 {
  background-color: var(--color-emerald-500) !important;
  border-color: transparent !important;
  color: var(--color-white) !important;
}

.acj-marketing-page .acj-marketing-main button[data-contact-modal].bg-slate-900 {
  background-color: var(--color-slate-900) !important;
  border-color: transparent !important;
  color: var(--color-white) !important;
  font-weight: var(--font-weight-medium) !important;
}

.acj-marketing-page .acj-marketing-main button[data-contact-modal].border-slate-200 {
  background-color: transparent !important;
  border-color: var(--color-slate-200) !important;
  color: var(--color-slate-700) !important;
}

.acj-marketing-page #contact-modal [data-modal-close] {
  background: transparent !important;
  border: 0 !important;
  color: var(--color-slate-400) !important;
  padding: 0 !important;
}

.acj-marketing-page #contact-modal [data-modal-copy] {
  background-color: var(--color-slate-900) !important;
  border: 0 !important;
  color: var(--color-white) !important;
}

.acj-marketing-page #contact-modal [data-modal-panel]:focus {
  outline: none;
}

/* Neutralize Elementor's global heading/paragraph rhythm inside the dialog so
   the source modal dimensions and vertical alignment remain unchanged. */
.acj-marketing-page #contact-modal h2 {
  line-height: 2rem;
  margin: 0 0 0.5rem;
}

.acj-marketing-page #contact-modal p {
  line-height: 1.5;
  margin: 0;
}

.acj-marketing-page #contact-modal .text-left {
  line-height: 1.5;
}

.acj-marketing-page.acj-marketing-modal-open {
  overflow: hidden;
}

.acj-marketing-page #contact-modal[hidden] {
  display: none !important;
}

.acj-marketing-page #contact-modal {
  inset-inline-end: var(--acj-scrollbar-width, 0);
}

@supports not (overflow: clip) {
  .acj-marketing-page .acj-marketing-main {
    overflow: hidden;
  }
}
