/* Homepage transform text: keep animated headings on one line. */
body.home #scrollSection .elementor-element-91fc67d .elementor-heading-title,
body.home #scrollSection .elementor-element-15ce23e .elementor-heading-title {
  display: block;
  width: max-content;
  max-width: none;
  white-space: nowrap;
}

@media (max-width: 767px) {
  body.home #scrollSection .elementor-element-91fc67d,
  body.home #scrollSection .elementor-element-15ce23e {
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    align-self: center !important;
    margin-inline: 0 !important;
  }

  body.home #scrollSection .elementor-element-91fc67d > .elementor-widget-container,
  body.home #scrollSection .elementor-element-15ce23e > .elementor-widget-container {
    width: max-content !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
}

/* Homepage Services: native page scroll and a pinned desktop left column. */
@media (min-width: 1025px) {
  body.home .elementor-element-d2a69ce {
    --vann-services-item: clamp(520px, 72vh, 620px);
    --vann-services-line: #a5a6a3;
    position: relative;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    background: #eaebe6;
  }

  body.home .elementor-element-d2a69ce > .elementor-element-404b2f9,
  body.home .elementor-element-d2a69ce > .elementor-element-c8819de,
  body.home .elementor-element-d2a69ce > .elementor-sticky__spacer {
    display: none !important;
  }

  body.home .elementor-element-d2a69ce > .elementor-element-d9ed18a {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #eaebe6;
  }

  body.home .elementor-element-d2a69ce .elementor-element-dcccaea {
    position: sticky !important;
    top: 0 !important;
    inset-inline: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 100svh !important;
    min-height: 640px;
    overflow: visible !important;
    z-index: 2;
  }

  body.home .elementor-element-d2a69ce .elementor-element-cd42580 {
    position: relative !important;
    inset: auto !important;
    align-self: center !important;
  }

  body.home .elementor-element-d2a69ce .elementor-element-1c41b8c {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-block: max(50px, calc((100svh - var(--vann-services-item)) / 2)) !important;
    overflow: visible !important;
    contain: none !important;
  }

  body.home .elementor-element-d2a69ce .elementor-element-1c41b8c::before,
  body.home .elementor-element-d2a69ce .elementor-element-1c41b8c::after,
  body.home .elementor-element-d2a69ce .srv-block::after {
    content: none !important;
  }

  body.home .elementor-element-d2a69ce .srv-block {
    position: relative !important;
    flex: 0 0 var(--vann-services-item) !important;
    width: 100% !important;
    height: var(--vann-services-item) !important;
    min-height: var(--vann-services-item) !important;
    max-height: var(--vann-services-item) !important;
    padding-block: 48px !important;
    border: 0 !important;
    border-top: 1px solid var(--vann-services-line) !important;
    transform: none !important;
    will-change: auto !important;
  }

  body.home .elementor-element-d2a69ce .srv-block:last-child {
    border-bottom: 1px solid var(--vann-services-line) !important;
  }

  body.home .elementor-element-d2a69ce .srv-block-img {
    flex: 0 0 calc(var(--vann-services-item) - 96px) !important;
    width: 60% !important;
    height: calc(var(--vann-services-item) - 96px) !important;
    max-height: calc(var(--vann-services-item) - 96px) !important;
    object-fit: contain !important;
    object-position: center;
  }

  body.home .elementor-element-d2a69ce .elementor-element-dcccaea::before,
  body.home .elementor-element-d2a69ce .elementor-element-dcccaea::after {
    content: "" !important;
    position: absolute !important;
    left: 100% !important;
    z-index: 50 !important;
    display: block !important;
    width: 100% !important;
    height: max(50px, calc((100svh - var(--vann-services-item)) / 2)) !important;
    background-color: #eaebe6 !important;
    pointer-events: none !important;
  }

  body.home .elementor-element-d2a69ce .elementor-element-dcccaea::before {
    top: 0 !important;
    border-bottom: 1px solid var(--vann-services-line) !important;
  }

  body.home .elementor-element-d2a69ce .elementor-element-dcccaea::after {
    bottom: 0 !important;
    border-top: 1px solid var(--vann-services-line) !important;
  }
}

@media (max-width: 1024px) {
  body.home .elementor-element-d2a69ce {
    display: none !important;
  }
}

/* Homepage Selected Works: center the existing Elementor Loop Grid. */
body.home .selected-works > .works-grid {
  display: flex !important;
  justify-content: center !important;
}

body.home .selected-works .elementor-widget-loop-grid {
  width: fit-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.home .selected-works .elementor-loop-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

@media (max-width: 1024px) {
  body.home .selected-works .elementor-widget-loop-grid,
  body.home .selected-works .elementor-loop-container {
    width: 100% !important;
  }
}
