/* Homepage composition contract: authored Desktop (545:130163), Tablet (1165:95669), and Mobile (1165:96303). */

body[data-page="home"] .bg-site-page,
body[data-page="home"] .bg-homepage[data-device="Responsive"] {
  width: 100%;
  max-width: none;
  min-width: 0;
}

body[data-page="home"] .bg-homepage[data-device="Responsive"] {
  overflow: visible;
}

body[data-page="home"] .bg-homepage-content {
  max-width: none;
  overflow: visible;
}

body[data-page="home"] .bg-homepage-hero-text,
body[data-page="home"] .bg-homepage-headline,
body[data-page="home"] .bg-homepage-title-row,
body[data-page="home"] .bg-homepage-cta {
  min-width: 0;
  max-width: 100%;
}

body[data-page="home"] .bg-homepage-title-row,
body[data-page="home"] .bg-homepage-hero-text h1,
body[data-page="home"] .bg-homepage-hero-text > p,
body[data-page="home"] .bg-homepage-cta > p {
  text-align: center;
}

body[data-page="home"] .bg-homepage-hero-text h1 {
  width: 100%;
}

body[data-page="home"] .bg-homepage-actions {
  min-width: 0;
}

body[data-page="home"] .bg-homepage-actions .bg-button {
  min-width: 0;
  color: var(--themes-text-inverse, #fff);
}

body[data-page="home"] .bg-homepage-actions .bg-button__label {
  color: inherit;
}

body[data-page="home"] .bg-homepage-contact-status {
  min-height: 20px;
  margin: 0;
  color: var(--themes-text-secondary, #4b5563);
  font: 400 13px/20px var(--text-family-secondary, Inter, sans-serif);
}

body[data-page="home"] .bg-mobile-menu[data-version="Homepage Menu Mobile"] {
  min-height: 100%;
  grid-template-rows: auto auto auto;
  align-content: start;
  padding-bottom: 0;
}

body[data-page="home"] .bg-mobile-menu[data-version="Homepage Menu Mobile"] .bg-mobile-menu-header {
  min-height: 60px;
  height: 60px;
  padding: 12px 16px;
}

body[data-page="home"] .bg-mobile-menu[data-version="Homepage Menu Mobile"] .bg-mobile-menu-header > img {
  width: 120px;
  height: 33px;
}

body[data-page="home"] .bg-mobile-menu[data-version="Homepage Menu Mobile"] .bg-mobile-menu-list {
  min-height: 0;
  height: auto;
}

body[data-page="home"] .bg-mobile-menu[data-version="Homepage Menu Mobile"] .bg-mobile-consult {
  margin: 6px 0 0 44px;
}

/* Only the section-owned artwork stage clips oversized rails. */
body[data-page="home"] .bg-homepage-illustration {
  isolation: isolate;
  overflow: clip;
}

body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-illustration {
  overflow: clip;
}

/* Dual marquee contract: independent lanes, one duration, and one visual duplicate per track. */
body[data-page="home"] .bg-homepage-illustration {
  --home-marquee-duration: 5s;
  --home-product-logo-size: 32px;
  --home-product-lane-y: auto;
  --home-service-lane-y: 126px;
  --home-connector-length: 72px;
  width: min(100%, 1324px);
  max-width: 1324px;
  height: 452px;
  min-height: 452px;
}

body[data-page="home"] .bg-homepage-illustration .bg-hero-list {
  --hero-list-logo: var(--home-product-logo-size);
  --hero-list-animation-duration: var(--home-marquee-duration);
  --hero-list-animation-delay: 0s;
  --hero-list-animation-easing: linear;
}

body[data-page="home"] .bg-homepage-illustration .bg-hero-list.is-animated .bg-hero-list-track {
  width: max-content;
  min-width: max-content;
  max-width: none;
  animation-duration: var(--home-marquee-duration);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  will-change: transform;
}

body[data-page="home"] .bg-homepage-illustration .bg-hero-products.is-animated .bg-hero-list-track {
  animation-name: bg-product-list-loop;
}

body[data-page="home"] .bg-homepage-illustration .bg-hero-services.is-animated .bg-hero-list-track {
  animation-name: bg-service-list-loop;
}

body[data-page="home"] .bg-homepage-illustration .bg-hero-list-sequence,
body[data-page="home"] .bg-homepage-illustration .bg-hero-list-sequence[aria-hidden="true"] {
  display: flex;
  width: max-content;
  min-width: max-content;
  max-width: none;
  flex-wrap: nowrap;
  white-space: nowrap;
}

@media (max-width: 743.98px) {
  body[data-page="home"] .bg-homepage[data-device="Responsive"] {
    min-height: clamp(852px, calc(813.9px + 9.69vw), 886px);
    background-position: center top;
    background-size: auto, auto, auto 100%;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-content {
    width: 100%;
    gap: 24px;
    margin-top: 64px;
    padding: 0 16px 24px;
    overflow: visible;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-hero-text,
  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-headline,
  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-title-row,
  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-cta {
    width: 100%;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-hero-text {
    gap: 16px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-user-group {
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-meta {
    white-space: nowrap;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-title-row {
    min-height: 0;
    align-items: flex-end;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-title-row::after {
    width: 16px;
    height: 16px;
    margin-bottom: 8px;
    transform: none;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-hero-text h1 {
    display: block;
    font-size: clamp(22px, 6.1vw, 24px);
    line-height: 28px;
    white-space: normal;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-hero-text h1 span {
    display: inline;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-title-primary {
    margin-left: 0.22em;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-hero-text > p,
  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-cta > p {
    width: 100%;
    max-width: 100%;
    white-space: normal;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-hero-text > p {
    font-size: 16px;
    line-height: 24px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-cta {
    min-height: 0;
    gap: 12px;
    padding: 8px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-cta > p {
    font-size: 13px;
    line-height: 20px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-actions {
    display: flex;
    width: min(100%, 396px);
    max-width: 396px;
    min-width: 0;
    flex-direction: row;
    gap: 16px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-actions .bg-button {
    width: auto;
    max-width: none;
    min-height: 48px;
    flex: 1 1 0;
    padding-inline: 12px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-illustration {
    --homepage-visual-height: 452px;
    --homepage-blur-size: 272px;
    --homepage-ring-size: 314px;
    --homepage-cube-width: clamp(211px, calc(198.7px + 3.13vw), 222px);
    --homepage-cube-height: clamp(200px, calc(188.8px + 2.85vw), 210px);
    --homepage-connector-width: 48px;
    --homepage-connector-line: 32px;
    --homepage-connector-dot: 10px;
    --homepage-connector-glow: 18px;
    --home-product-logo-size: 32px;
    width: calc(100% + 32px);
    max-width: none;
    height: var(--homepage-visual-height);
    min-height: var(--homepage-visual-height);
    margin: clamp(0px, calc(9.8vw - 38.5px), 34.4px) -16px 0;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-artwork {
    top: clamp(226px, calc(205.7px + 5.19vw), 244.08px);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster {
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
    filter: drop-shadow(0 3px 4px color-mix(in srgb, var(--colors-primary-900, #001d66) 24%, transparent));
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster--products {
    left: clamp(-205px, calc(62.4vw - 450.2px), 14px);
    right: auto;
    top: auto;
    bottom: clamp(65px, calc(46px + 4.84vw), 82px);
    transform: none;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster--services {
    left: clamp(130px, calc(64vw - 74px), 402px);
    right: auto;
    top: clamp(69px, calc(61.2px + 2vw), 76px);
    transform: none;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-connector {
    display: flex;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-list {
    --hero-list-logo: var(--home-product-logo-size);
    --hero-list-gap: 12px;
    --hero-list-item-gap: 4px;
    --hero-list-padding-block: 8px;
    --hero-list-padding-inline: 16px;
    font-size: 16px;
    line-height: 24px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-products {
    --hero-list-viewport: clamp(302px, calc(378.3px - 10.26vw), 338px);
    --hero-list-padding-inline: 24px;
    width: calc(var(--hero-list-viewport) + 24px);
    flex: 0 0 calc(var(--hero-list-viewport) + 24px);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-services {
    --hero-list-viewport: clamp(348px, calc(479.4px - 17.66vw), 410px);
    width: calc(var(--hero-list-viewport) + 32px);
    flex: 0 0 calc(var(--hero-list-viewport) + 32px);
    opacity: 0.8;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-list.is-animated .bg-hero-list-track,
  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-list .bg-hero-list-sequence {
    width: max-content;
    min-width: max-content;
    max-width: none;
  }
}

@media (min-width: 744px) and (max-width: 1024px) {
  body[data-page="home"] .bg-homepage[data-device="Responsive"] {
    min-height: 886px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-content {
    width: 100%;
    padding-inline: 32px;
    overflow: visible;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-illustration {
    --homepage-blur-size: 330px;
    --homepage-ring-size: 310px;
    --homepage-cube-width: 222px;
    --homepage-cube-height: 210px;
    --homepage-connector-width: 48px;
    --homepage-connector-line: 32px;
    --home-product-logo-size: 32px;
    width: min(100%, 760px);
    max-width: 760px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-artwork {
    top: 54%;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster--products {
    left: calc(50% - 350px);
    top: auto;
    bottom: 82px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster--services {
    left: calc(50% + 38px);
    top: 76px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-products {
    --hero-list-viewport: 302px;
    width: 326px;
    flex-basis: 326px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-services {
    --hero-list-viewport: 348px;
    width: 380px;
    flex-basis: 380px;
  }
}

@media (min-width: 1025px) {
  body[data-page="home"] .bg-homepage[data-device="Responsive"] {
    width: 100%;
    max-width: none;
    min-height: 988px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-content {
    width: 100%;
    margin-top: 96px;
    padding-bottom: 42px;
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-illustration {
    --homepage-blur-size: clamp(330px, calc(-807px + 111vw), 613px);
    --homepage-ring-size: clamp(310px, calc(-35.7px + 33.73vw), 396px);
    --homepage-cube-width: clamp(222px, calc(-19.2px + 23.53vw), 282px);
    --homepage-cube-height: clamp(210px, calc(-19px + 22.35vw), 267px);
    --homepage-connector-width: clamp(48px, calc(-48.5px + 9.41vw), 72px);
    --homepage-connector-line: clamp(32px, calc(-64.5px + 9.41vw), 56px);
    --homepage-connector-dot: clamp(12px, calc(-4.1px + 1.57vw), 16px);
    --homepage-connector-glow: clamp(20px, calc(-20.2px + 3.92vw), 30px);
    --home-product-logo-size: clamp(32px, calc(-40.4px + 7.06vw), 50px);
    margin-top: clamp(-76px, calc(-433.7px + 34.9vw), 13px);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-artwork {
    top: clamp(226px, calc(316.75px - 7.09vw), 244.08px);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster--products {
    left: calc(50% - clamp(162.5px, calc(80.8vw - 665.7px), 368px));
    right: auto;
    top: auto;
    bottom: clamp(82px, calc(-83.4px + 16.13vw), 123.22px);
    transform: translateX(-50%);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-homepage-list-cluster--services {
    left: calc(50% + clamp(252.5px, calc(48.8vw - 247.7px), 377px));
    right: auto;
    top: clamp(76px, calc(-124.8px + 19.61vw), 126px);
    transform: translateX(-50%);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-list {
    --hero-list-gap: clamp(12px, calc(-36.2px + 4.71vw), 24px);
    --hero-list-item-gap: clamp(4px, calc(-12.1px + 1.57vw), 8px);
    --hero-list-padding-block: clamp(8px, calc(-24.1px + 3.14vw), 16px);
    font-size: clamp(16px, calc(-0.1px + 1.57vw), 20px);
    line-height: clamp(24px, calc(7.9px + 1.57vw), 28px);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-products {
    --hero-list-viewport: clamp(302px, calc(-172.2px + 46.27vw), 420px);
    --hero-list-padding-inline: 24px;
    width: calc(var(--hero-list-viewport) + 24px);
    flex: 0 0 calc(var(--hero-list-viewport) + 24px);
  }

  body[data-page="home"] .bg-homepage[data-device="Responsive"] .bg-hero-services {
    --hero-list-viewport: clamp(348px, calc(98.8px + 24.31vw), 410px);
    width: calc(var(--hero-list-viewport) + 32px);
    flex: 0 0 calc(var(--hero-list-viewport) + 32px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .bg-homepage-illustration .bg-hero-list.is-animated .bg-hero-list-track {
    animation: none;
    will-change: auto;
  }

  body[data-page="home"] .bg-homepage-illustration .bg-hero-products .bg-hero-list-track {
    transform: translate3d(calc(-50% - (var(--hero-list-gap) * 0.5)), 0, 0);
  }

  body[data-page="home"] .bg-homepage-illustration .bg-hero-services .bg-hero-list-track {
    transform: translate3d(0, 0, 0);
  }

  body[data-page="home"] .bg-homepage-illustration *,
  body[data-page="home"] .bg-homepage-overlay-panel,
  body[data-page="home"] .bg-homepage-mobile-panel {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}
