/* Keep source-card labels balanced on wide and narrow hero layouts. */
.unifySourceTitle > span {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: right !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}

/* Keep the mobile navigation anchored to the hamburger, flush to the right. */
@media (max-width: 768px) {
  .nav.islandNav #landing-mobile-menu {
    position: fixed !important;
    top: 72px !important;
    right: 18px !important;
    left: auto !important;
    width: min(286px, calc(100vw - 36px)) !important;
    margin: 0 !important;
    transform-origin: top right !important;
  }
}
.unifySourceTitle > i { display: none !important; }
.unifyAdBars i {
  transition: height .46s cubic-bezier(.22,1,.36,1) !important;
  transition-delay: calc(var(--bar-order, 0) * 55ms) !important;
}
.unifyProduct .pconv {
  transition: width .46s cubic-bezier(.22,1,.36,1) !important;
}
.unifyProduct > div > i {
  background:var(--stage-color,#0281c5) !important;
  opacity:.34 !important;
}
.unifyProduct > div > .pconv { opacity:1 !important; }
.unifyMarkets { min-width:0 !important; overflow:hidden !important; }
.unifyMarkets .unifyMarketMarks {
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  gap:4px !important;
  overflow:hidden !important;
}
.unifyMarkets .unifyMarketMarks .mChip {
  flex:1 1 0 !important;
  min-width:0 !important;
  justify-content:center !important;
  gap:2px !important;
  padding-inline:3px !important;
}
.unifyMarkets .mLogoImg { max-width:min(34px,calc(100% - 9px)) !important; }
.unifyMarkets .mChip b { flex:none !important; font-size:7px !important; }
.unifyAdPerformance {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  align-self:end !important;
}
.unifyAdPerformance .unifyAdBars {
  display:flex !important;
  align-items:stretch !important;
  justify-content:space-between !important;
  gap:2px !important;
  width:100% !important;
  height:60px !important;
  padding:0 !important;
}
.unifyAdChannel {
  display:flex !important;
  flex:1 1 0 !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:2px !important;
  height:100% !important;
  min-width:0 !important;
}
.unifyAdChannel > i {
  display:block !important;
  flex:none !important;
  width:7px !important;
  max-width:none !important;
  border-radius:3px 3px 0 0 !important;
}
.unifyAdChannel > svg { display:block; flex:none; width:10px; height:10px; fill:#111827; }
.unifyAdChannel:first-child > svg { fill:none; stroke:#d9468f; stroke-width:1.7; }
.unifyAdChannel:first-child > svg .platformDot { fill:#d9468f; stroke:none; }
.unifyAdChannel:nth-child(2) > svg { fill:#1877f2; }
.unifyAdChannel:nth-child(3) > svg,
.unifyAdChannel:nth-child(4) > svg { fill:#111827; }
.unifyAdChannel:nth-child(5) > svg { fill:#bd081c; }
.unifyAds { min-height:144px !important; }
.unifyPeopleTrend.drawing .trendLine {
  animation-duration: 1s !important;
}
.unifyPeopleTrend .trendPeak {
  transition: cx 1s cubic-bezier(.22,1,.36,1), cy 1s cubic-bezier(.22,1,.36,1), fill .5s ease !important;
}
.unifyPeopleTrend.drawing .trendPeak {
  animation-duration: .45s !important;
}
.unifyGear {
  position: absolute;
  left: 50%;
  top: 66%;
  display: grid;
  place-items: center;
  width: 32px;
  height: 28px;
  margin: 0;
  color: #929dab;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%,-50%) scale(.78);
  transition: opacity .42s ease, transform .58s cubic-bezier(.22,1,.36,1), visibility .42s;
}
.unifyGear svg { display:block; width:26px; height:26px; overflow:visible; }
.unifyGear img { display:block; width:28px; height:28px; object-fit:contain; filter:brightness(0) saturate(100%) invert(62%); }
.unifyGearRotor { transform-box:fill-box; transform-origin:center; }
.unifyTuning { position:relative; transition:opacity .38s ease, transform .48s cubic-bezier(.22,1,.36,1); }
.unifyTuning > span > i { animation:none !important; translate:calc(var(--from) * 100cqw - 3px) 0; }
.unifyHeroStage[data-merging="true"] .unifyGear { opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); }
.unifyHeroStage[data-merging="true"] .unifyTuning { opacity:0; transform:scale(.86); }
.unifyHeroStage[data-merging="true"] .unifyGearRotor { animation:octo-gear-turn .56s linear infinite; }
.unifyHeroStage[data-merging="results"] .unifyTuning { opacity:1; transform:scale(1); }
.unifyHeroStage[data-merging="results"] .unifyTuning > span > i {
  animation:octo-analysis-slide .4s cubic-bezier(.22,1,.36,1) calc(var(--bar-order,0) * 48ms) 1 both !important;
}
@keyframes octo-analysis-slide {
  from { translate:calc(var(--from) * 100cqw - 3px) 0; }
  to { translate:calc(var(--to) * 100cqw - 3px) 0; }
}
@keyframes octo-gear-turn { to { transform:rotate(360deg); } }

/* A compact crowd of distinct people, not a stretched avatar strip. */
.unifyCustomerCrowd { height:68px !important; overflow:hidden !important; }
.unifyHeroStage[role="button"] { cursor:pointer; }
.unifyHeroStage[role="button"]:focus-visible { outline:2px solid #0281c5; outline-offset:6px; border-radius:18px; }
.capabilityCard .cardLink {
  align-self:flex-start !important;
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:max-content !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.capabilityCard .cardLink .roll-content { max-width:100% !important; white-space:normal !important; }
.capabilityCard .cardLink .roll-word { white-space:nowrap !important; flex:none !important; }
.capabilityCard .cardLink b { flex:none !important; }
.unifyCustomerCrowd .crowdAvatars {
  display:grid !important;
  width:min(100%,var(--crowd-width,100%)) !important;
  max-width:100% !important;
  height:100% !important;
  grid-template-columns:repeat(var(--crowd-columns,4),minmax(0,1fr)) !important;
  grid-template-rows:repeat(var(--crowd-rows,1),minmax(0,1fr)) !important;
  align-items:center !important;
  justify-items:center !important;
  align-content:center !important;
  justify-content:center !important;
  gap:1px !important;
  margin:0 auto !important;
}
.unifyCustomerCrowd .custAvatar {
  position:relative !important;
  display:none !important;
  align-items:end !important;
  justify-content:center !important;
  width:min(100%,var(--crowd-icon,20px)) !important;
  height:min(100%,var(--crowd-row,24px)) !important;
  min-width:0 !important;
  flex:none !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--stage-color,#0281c5) !important;
  transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1),color .35s ease !important;
  transition-delay:calc(var(--crowd-index,0) * 1.2ms) !important;
}
.unifyCustomerCrowd .custAvatar svg { display:block !important; width:100% !important; height:100% !important; overflow:visible !important; fill:currentColor !important; }

/* Keep the language control visually quiet like the desktop navigation. */
.nav.islandNav .languageToggle { border:0 !important; background:transparent !important; box-shadow:none !important; }

/* Home hero: keep the mobile header legible above the animation. */
@media (max-width: 768px) {
  .nav.islandNav {
    position: sticky !important;
    top: 0 !important;
    height: 64px !important;
    padding: 0 18px !important;
    mix-blend-mode: normal !important;
    background: transparent !important;
    color: #0f172a !important;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events:auto !important;
  }
  .nav.islandNav .islandBrand,
  .nav.islandNav .islandBrand strong { color:#0f172a !important; mix-blend-mode:normal !important; }
  .nav.islandNav .islandBrand strong span { color:#0281c5 !important; }
  .nav.islandNav .islandMenuButton,
  .nav.islandNav .languageToggle { color:#fff !important; mix-blend-mode:difference !important; }
  .nav.islandNav .islandMenuButton {
    position:relative !important;
    z-index:1004 !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0f172a !important;
    mix-blend-mode: normal !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }
  .nav.islandNav .islandMenuButton svg { display:block !important; width:23px !important; height:23px !important; }
  .nav.islandNav .islandMenuButton svg path { stroke:#0f172a !important; }
  .nav.islandNav .islandBrand strong { visibility: visible !important; }
  .nav.islandNav .languageToggle {
    border-color: rgba(255,255,255,.55) !important;
    background: transparent !important;
    color:#0f172a !important;
    mix-blend-mode:normal !important;
  }
  .nav.islandNav.menu-is-open {
    mix-blend-mode: normal !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  .nav.islandNav.menu-is-open .islandBrand,
  .nav.islandNav.menu-is-open .islandBrand strong { color: #0f172a !important; }
  .nav.islandNav.menu-is-open .mobilemenu { background:transparent !important; border:0 !important; box-shadow:none !important; }

  .hero {
    width: 100% !important;
    padding: 14px 18px 36px !important;
    gap: 12px !important;
    overflow: clip;
  }
  .heroArt { max-width: 430px !important; }
  .unifyHeroStage {
    height: 430px !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    perspective: none !important;
  }
  .unifySource {
    width: 42% !important;
    max-width: 166px !important;
    min-height: 116px !important;
    padding: 11px 10px !important;
    rotate: 0deg !important;
    transform: none;
    backface-visibility: hidden;
  }
  .unifyStore, .unifyMarkets { top: 16px !important; }
  .unifyAds, .unifyCustomers { bottom: 16px !important; }
  .unifyStore, .unifyAds { left: 0 !important; }
  .unifyMarkets, .unifyCustomers { right: 0 !important; }
  .unifySourceTitle {
    min-height: 32px !important;
    margin-bottom: 9px !important;
    gap: 6px !important;
  }
  .unifySourceTitle > span {
    margin-left: auto !important;
    max-width: calc(100% - 25px) !important;
    white-space: normal !important;
    text-align: right !important;
    line-height: 1.15 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }
  .unifySourceTitle > i { display: none !important; }
  .unifyAds { min-height:132px !important; }
  .unifyAdPerformance .unifyAdBars { height:56px !important; }
  .unifyAdChannel > svg { width:8px !important; height:8px !important; }
  .unifyAdChannel > i { width:5px !important; }
  .unifyCore {
    top: 50% !important;
    left: 50% !important;
    width: 146px !important;
    min-width: 146px !important;
    min-height: 112px !important;
    padding: 17px 10px !important;
    transform: translate(-50%, -50%) !important;
    animation: none !important;
  }
  .unifyCore::before, .unifyCore::after { animation: none !important; }
  .unifyMascot {
    display:block !important;
    left:50% !important;
    bottom:-3px !important;
    width:56px !important;
    height:56px !important;
    translate:-50% 0 !important;
  }
  .unifyTuning > span > i { animation-duration: 2.4s !important; }
  .unifyCustomerCrowd { height: 68px !important; }
  .crowdAvatars {
    display: grid !important;
    width: min(100%, var(--crowd-width, 100%)) !important;
    max-width: 100% !important;
    height: 100% !important;
    grid-template-columns: repeat(var(--crowd-columns, 4), minmax(0, 1fr)) !important;
    grid-template-rows: repeat(var(--crowd-rows, 1), minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 1px !important;
    margin: auto !important;
  }
  .unifyCustomerCrowd .custAvatar {
    align-items: end !important;
    justify-content: center !important;
    width: min(100%, var(--crowd-icon, 20px)) !important;
    height: min(100%, var(--crowd-row, 24px)) !important;
    min-width: 0 !important;
    flex: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--stage-color, #0281c5) !important;
    transition: opacity .24s ease, transform .3s cubic-bezier(.22,1,.36,1), color .35s ease !important;
    transition-delay: calc(var(--crowd-index,0) * 1.2ms) !important;
  }
  .custAvatar svg { display:block !important; width:100% !important; height:100% !important; overflow:visible !important; fill:currentColor !important; }
  .unifyCustomerCrowd .crowdAvatars { grid-template-columns:repeat(var(--crowd-columns,4),minmax(0,1fr)) !important; grid-template-rows:repeat(var(--crowd-rows,1),minmax(0,1fr)) !important; }
  .unifyCustomerCrowd .custAvatar { display:inline-flex !important; }
  .unifyHeroStage[data-merging="true"] .unifyGear { display:grid !important; }
  .unifyHeroStage[data-merging="true"] .unifyTuning { display:grid !important; }
  .unifyHeroStage[data-merging="true"] .unifyGearRotor { animation:octo-gear-turn .56s linear infinite !important; }
  .unifyCustomers { min-height:154px !important; }
  .unifyAdBars i { transition: height 1s cubic-bezier(.22,1,.36,1) !important; }
  .unifyProduct .pconv { transition: width 1s cubic-bezier(.22,1,.36,1) !important; }
  .salesPulse { animation: none !important; }
  .a4ProductDisclaimer {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }
  .unifySourceTitle > span { font-size: 11px !important; }

  .heroCopy { order: 2 !important; }
  .heroCopy h1 { max-width: 15ch; margin: 0 auto 12px !important; }
  .heroCopy > p { max-width: 40ch !important; }

  .storyHeading, .sectionIntro, .intelligenceHeading,
  .moduleCopy, .agencyCopy, .faqHeading, .ctaCopy,
  .capSectionHeading, .capTitle {
    text-align: center !important;
  }
  .storyHeading h2, .sectionIntro h2, .intelligenceHeading h2,
  .moduleCopy h2, .agencyCopy h2, .faqHeading h2,
  .capSectionHeading h2, .capTitle h1 {
    text-align: center !important;
    text-wrap: balance;
  }
  .intelligenceHeading .eyebrow, .moduleCopy .eyebrow,
  .agencyCopy .eyebrow, .capSectionHeading .eyebrow {
    justify-content: center !important;
  }

}

@media (max-width: 390px) {
  .hero { padding-inline: 14px !important; }
  .unifyHeroStage { height: 410px !important; }
  .unifySource { width: 43% !important; padding-inline: 8px !important; }
  .unifySourceTitle > span { font-size: 10px !important; }
  .unifyCore { width: 136px !important; min-width: 136px !important; }
}

/* Honor reduced motion without leaving intermediate chart states on screen. */
@media (prefers-reduced-motion: reduce) {
  .unifySource, .unifyCore, .unifyAdBars i, .custAvatar,
  .unifyProduct .pconv, .unifyPeopleTrend .trendLine, .unifyGearRotor {
    animation: none !important;
    transition: none !important;
  }
}

/* Mobile should read as a page, not as a compressed desktop scrollytelling scene. */
@media (max-width: 768px) {
  html, body { max-width: 100%; overflow-x: clip !important; }
  body { padding-top: 0 !important; }
  .nav.islandNav { top: 0 !important; }
  .heroArt {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    align-self: center !important;
  }
  .unifyHeroStage { width: 100% !important; margin-inline: auto !important; }
  .unifySource { transform: none; }
  .unifyCore {
    transform: none !important;
    translate: -50% -50% !important;
  }
  .nav.islandNav .mobilemenu {
    position: absolute !important;
    z-index:1003 !important;
    display: flex !important;
    top: calc(100% + 8px) !important;
    left: auto !important;
    right: 12px !important;
    width: min(286px, calc(100vw - 24px)) !important;
    max-height: calc(100svh - 82px) !important;
    overflow-y: auto !important;
    padding: 8px !important;
    flex-direction: column !important;
    gap: 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-6px) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .nav.islandNav .mobilemenu[data-open="true"] {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  .nav.islandNav .mobilemenu a {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    color: #0f172a !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    white-space: normal !important;
    mix-blend-mode:normal !important;
    flex-direction:row !important;
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }
  .nav.islandNav .mobilemenu a :is(.roll-content,.roll-word,.roll-char,.roll-track) {
    display:contents !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    transform:none !important;
    transition:none !important;
    white-space:inherit !important;
  }
  .nav.islandNav .mobilemenu a .roll-line {
    display:inline !important;
    height:auto !important;
    line-height:inherit !important;
    white-space:inherit !important;
  }
  .nav.islandNav .mobilemenu a .roll-line[aria-hidden="true"] { display:none !important; }
  .nav.islandNav .mobilemenu a:hover { background:transparent !important; opacity:.72 !important; }

  html.has-scroll-motion .moduleSection { height: 300svh !important; }
  html.has-scroll-motion .moduleSticky {
    position: sticky !important;
    top: 64px !important;
    height: calc(100svh - 64px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
  }
  html.has-scroll-motion .moduleViewport {
    width: 100% !important;
    height: calc(100svh - 76px) !important;
    overflow: hidden !important;
  }
  html.has-scroll-motion .moduleTrack {
    display: flex !important;
    width: max-content !important;
    height: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  html.has-scroll-motion .moduleTrack > .module {
    display: flex !important;
    flex: 0 0 100vw !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 8px 20px 16px !important;
    box-sizing: border-box !important;
  }
  html.has-scroll-motion .moduleCopy { text-align: center !important; }
  html.has-scroll-motion .moduleCopy .eyebrow { justify-content:center !important; }
  html.has-scroll-motion .moduleCopy h2 {
    margin: 5px 0 7px !important;
    font-size: clamp(25px, 7vw, 38px) !important;
    line-height: 1.08 !important;
    text-wrap: balance;
  }
  html.has-scroll-motion .moduleCopy > p {
    max-width: 42ch !important;
    margin: 0 auto !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  html.has-scroll-motion .moduleCopy .featureList { display:none !important; }
  html.has-scroll-motion .moduleVisual {
    width: min(100%, 360px) !important;
    height: clamp(240px, 42svh, 340px) !important;
    min-height: 240px !important;
    margin: 0 auto !important;
    border-radius: 19px !important;
  }
  html.has-scroll-motion .module-octo { width:112px !important; height:112px !important; }
  html.has-scroll-motion .moduleProgress {
    display:block !important;
    left:20px !important;
    right:20px !important;
    bottom:10px !important;
  }
  html.has-scroll-motion .intelligenceSection { height: 300svh !important; }
  html.has-scroll-motion .intelligenceSticky {
    position:sticky !important;
    top:64px !important;
    height:calc(100svh - 64px) !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
    padding:0 !important;
  }
  html.has-scroll-motion .intelligenceInner {
    display:flex !important;
    flex-direction:column !important;
    width:calc(100% - 36px) !important;
    height:calc(100svh - 82px) !important;
    margin:0 auto !important;
    gap:12px !important;
    text-align:center !important;
  }
  html.has-scroll-motion .intelligenceHeading { order:1 !important; flex:0 0 auto !important; text-align:center !important; }
  html.has-scroll-motion .intelligenceDeck { order:2 !important; }
  html.has-scroll-motion .intelligenceHeading .eyebrow { justify-content:center !important; }
  html.has-scroll-motion .intelligenceHeading h2 { margin:5px 0 !important; font-size:clamp(24px,6vw,31px) !important; line-height:1.08 !important; }
  html.has-scroll-motion .intelligenceHeading p { max-width:42ch !important; margin:0 auto !important; font-size:12px !important; line-height:1.35 !important; }
  html.has-scroll-motion .intelligenceHeading > small { display:none !important; }
  html.has-scroll-motion .intelligenceDeck { position:relative !important; display:block !important; width:100% !important; height:0 !important; flex:1 1 auto !important; min-height:0 !important; }
  html.has-scroll-motion .intelligenceCard,
  html.has-scroll-motion .intelligenceCard[aria-hidden="true"] {
    position:absolute !important;
    inset:0 !important;
    min-height:0 !important;
    padding:18px !important;
    border-radius:17px !important;
  }
  html.has-scroll-motion .intelligenceCard > strong { font-size:clamp(48px,12vw,68px) !important; margin:8px 0 !important; }
  html.has-scroll-motion .intelligenceBars { height:90px !important; margin-top:16px !important; gap:6px !important; }
  html.has-scroll-motion .intelligenceCard > p { font-size:10px !important; line-height:1.4 !important; }
  html.has-scroll-motion .intelligenceProgress { display:block !important; position:absolute !important; left:18px !important; right:18px !important; bottom:11px !important; }
  html.has-scroll-motion .ctaSection { height:190svh !important; padding:0 !important; }
  html.has-scroll-motion .ctaSticky {
    position:sticky !important;
    top:64px !important;
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    height:calc(100svh - 64px) !important;
    padding:12px !important;
  }
  html.has-scroll-motion .ctaSection .ctaPanel {
    width:100% !important;
    min-height:min(76svh,620px) !important;
    transform:scale(var(--cta-scale,.82)) !important;
    transform-origin:center !important;
    border-radius:26px !important;
    padding:28px 16px !important;
  }
  html.has-scroll-motion .ctaCopy { opacity:1 !important; }
  .capabilities, .storyVideo, .agencySection, .faqSection,
  .capSection, .evidenceSection, .capVideoSection {
    width: min(100% - 32px, 680px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .capabilityGrid { grid-template-columns: minmax(0,1fr) !important; }
  .capabilityCard, .module, .moduleVisual, .adWorkspace, .p7Panel,
  .agencyVisual, .faqItems, .evidenceLedger { min-width: 0 !important; max-width: 100% !important; }
}
