{"id":15015,"date":"2025-10-13T09:47:04","date_gmt":"2025-10-13T09:47:04","guid":{"rendered":"https:\/\/oceanai.ai\/%e3%83%9b%e3%83%bc%e3%83%a0%e3%83%9a%e3%83%bc%e3%82%b8\/"},"modified":"2026-04-20T12:46:57","modified_gmt":"2026-04-20T12:46:57","slug":"%e3%83%9b%e3%83%bc%e3%83%a0%e3%83%9a%e3%83%bc%e3%82%b8","status":"publish","type":"page","link":"https:\/\/oceanai.ai\/ja\/","title":{"rendered":"\u30db\u30fc\u30e0\u30da\u30fc\u30b8"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;Banner&#8221; module_class=&#8221;homepage-banner animation-node&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/oceanai.ai\/wp-content\/uploads\/banner-background.webp&#8221; height=&#8221;100vh&#8221; animation_style=&#8221;fade&#8221; custom_css_main_element=&#8221;display:flex;&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/oceanai.ai\/wp-content\/uploads\/main-banner-logo.webp&#8221; title_text=&#8221;\u30e1\u30a4\u30f3\u30d0\u30ca\u30fc\u30ed\u30b4&#8221; align=&#8221;center&#8221; disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;Image&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text module_class=&#8221;ba&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1 style=\"text-align: center;\">Predict. Prevent. Perform.<\/h1>\n<h5 style=\"text-align: center;\">AI\u642d\u8f09\u306e\u8239\u8236\u7ba1\u7406\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u3001\u52b9\u7387\u6027\u30fb\u5b89\u5168\u6027\u30fb\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u3092\u5411\u4e0a\u3002<\/h5>\n<p style=\"text-align: center;\"><a href=\"#products\">\u8a73\u7d30\u3092\u898b\u308b<\/a><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;Ship Scroll Section&#8221; module_class=&#8221;digitalise-ship&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#000000&#8243; background_image=&#8221;https:\/\/oceanai.ai\/wp-content\/uploads\/about-banner-background.webp&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;1_2,1_2&#8243; module_class=&#8221;ship-scroll-row&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;|300|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;20px&#8221; header_font=&#8221;||||||||&#8221; header_text_color=&#8221;#FFFFFF&#8221; header_2_font=&#8221;|700|||||||&#8221; header_2_text_color=&#8221;#FFFFFF&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>\u6d77\u4e8b\u30a4\u30ce\u30d9\u30fc\u30b7\u30e7\u30f3\u306e\u305f\u3081\u306eAI\u306e\u529b\u3092\u6d3b\u7528<\/h2>\n<p>MariApps\u30b0\u30eb\u30fc\u30d7\u306e\u30e1\u30f3\u30d0\u30fc\u3067\u3042\u308bOceanAI\u306f\u3001\u5148\u9032\u7684\u306a\u4eba\u5de5\u77e5\u80fd\u3092\u901a\u3058\u3066\u6d77\u4e8b\u696d\u754c\u306b\u9769\u547d\u3092\u3082\u305f\u3089\u3059\u3053\u3068\u306b\u5c02\u5ff5\u3057\u3066\u3044\u307e\u3059\u3002\u79c1\u305f\u3061\u306e\u4f7f\u547d\u306f\u3001AI\u6280\u8853\u3092MariApps\u306e\u4e3b\u529b\u30c7\u30b8\u30bf\u30eb\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b9\u30a4\u30fc\u30c8\u3067\u3042\u308b<em>smart<\/em>PAL\u306b\u30b7\u30fc\u30e0\u30ec\u30b9\u306b\u7d71\u5408\u3057\u3001\u304a\u5ba2\u69d8\u306b\u6bd4\u985e\u306e\u306a\u3044\u4fa1\u5024\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u3067\u3059\u3002 <\/p>\n<div class=\"stats-wrap\">\n<div class=\"stat\">\n<div class=\"value\" data-target=\"99\">99%+<\/div>\n<div class=\"label\">\u5fdc\u7b54\u7cbe\u5ea6<\/div>\n<\/div>\n<div class=\"stat\">\n<div class=\"value\" data-target=\"50\">50+<\/div>\n<div class=\"label\">\u7a3c\u50cd\u4e2d\u306eAI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8<\/div>\n<\/div>\n<div class=\"stat\">\n<div class=\"value\" data-target=\"10\">10+<\/div>\n<div class=\"label\">\u5229\u7528\u53ef\u80fd\u306aAPI\u7d71\u5408<\/div>\n<\/div>\n<div class=\"stat\">\n<div class=\"value\" data-target=\"30\">30%+<\/div>\n<div class=\"label\">\u904b\u7528\u6642\u9593\u306e\u524a\u6e1b<\/div>\n<\/div>\n<\/div>\n<p>[\/et_pb_text][et_pb_code disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;\u6570\u5024\u5897\u5206\u30b9\u30af\u30ea\u30d7\u30c8&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; disabled=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;]<script><!-- [et_pb_line_break_holder] -->document.addEventListener(\"DOMContentLoaded\", () => {<!-- [et_pb_line_break_holder] -->  const counters = document.querySelectorAll(\".value\");<!-- [et_pb_line_break_holder] -->  const animateCounter = (el) => {<!-- [et_pb_line_break_holder] -->    const target = parseFloat(el.dataset.target);<!-- [et_pb_line_break_holder] -->    const isDecimal = target % 1 !== 0;<!-- [et_pb_line_break_holder] -->    const duration = 2000;<!-- [et_pb_line_break_holder] -->    const startTime = performance.now();<!-- [et_pb_line_break_holder] -->    const originalText = el.textContent;<!-- [et_pb_line_break_holder] -->    const midSuffix = originalText.includes('%') ? '%' : '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const update = (currentTime) => {<!-- [et_pb_line_break_holder] -->      const progress = Math.min((currentTime - startTime) \/ duration, 1);<!-- [et_pb_line_break_holder] -->      let value = target * progress;<!-- [et_pb_line_break_holder] -->      value = isDecimal ? value.toFixed(1) : Math.floor(value);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (progress < 1) {        el.textContent = value + midSuffix;        requestAnimationFrame(update);      } else {        el.textContent = value + midSuffix + '+';      }    };    requestAnimationFrame(update);  };  const observer = new IntersectionObserver((entries, obs) => {<!-- [et_pb_line_break_holder] -->    entries.forEach(entry => {<!-- [et_pb_line_break_holder] -->      if (entry.isIntersecting) {<!-- [et_pb_line_break_holder] -->        animateCounter(entry.target);<!-- [et_pb_line_break_holder] -->        obs.unobserve(entry.target);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }, { threshold: 0.4 });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  counters.forEach(counter => observer.observe(counter));<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][et_pb_code admin_label=&#8221;\u6570\u5024\u5897\u5206\u30b9\u30af\u30ea\u30d7\u30c8&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->@keyframes bounceIn {<!-- [et_pb_line_break_holder] -->  0%   { transform: scale(0); opacity: 0; }<!-- [et_pb_line_break_holder] -->  60%  { transform: scale(1.4); opacity: 1; }<!-- [et_pb_line_break_holder] -->  80%  { transform: scale(0.9); }<!-- [et_pb_line_break_holder] -->  100% { transform: scale(1); opacity: 1; }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.plus-sign {<!-- [et_pb_line_break_holder] -->  display: inline-block;<!-- [et_pb_line_break_holder] -->  animation: bounceIn 0.5s ease forwards;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.addEventListener(\"DOMContentLoaded\", () => {<!-- [et_pb_line_break_holder] -->  const counters = document.querySelectorAll(\".value\");<!-- [et_pb_line_break_holder] -->  const animateCounter = (el) => {<!-- [et_pb_line_break_holder] -->    const target = parseFloat(el.dataset.target);<!-- [et_pb_line_break_holder] -->    const isDecimal = target % 1 !== 0;<!-- [et_pb_line_break_holder] -->    const duration = 2000;<!-- [et_pb_line_break_holder] -->    const startTime = performance.now();<!-- [et_pb_line_break_holder] -->    const originalText = el.textContent;<!-- [et_pb_line_break_holder] -->    const midSuffix = originalText.includes('%') ? '%' : '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const update = (currentTime) => {<!-- [et_pb_line_break_holder] -->      const progress = Math.min((currentTime - startTime) \/ duration, 1);<!-- [et_pb_line_break_holder] -->      let value = target * progress;<!-- [et_pb_line_break_holder] -->      value = isDecimal ? value.toFixed(1) : Math.floor(value);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (progress < 1) {        el.textContent = value + midSuffix;        requestAnimationFrame(update);      } else {        el.innerHTML = value + midSuffix + '<span class=\"plus-sign\">+<\/span>';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    requestAnimationFrame(update);<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const observer = new IntersectionObserver((entries, obs) => {<!-- [et_pb_line_break_holder] -->    entries.forEach(entry => {<!-- [et_pb_line_break_holder] -->      if (entry.isIntersecting) {<!-- [et_pb_line_break_holder] -->        animateCounter(entry.target);<!-- [et_pb_line_break_holder] -->        obs.unobserve(entry.target);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }, { threshold: 0.4 });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  counters.forEach(counter => observer.observe(counter));<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n  <style>  \n\t.digitalise-ship, .ship-scroll-row {\t\t\n\t\tpadding: 0 !important;\n\t}\n  .image-container {\n    position: sticky;\n    top: 0;\n    height: 100vh;\n    width: 100%;\n    overflow: hidden;\n    margin: auto;\n    background: transparent;\n  }\n\n  .image-container img {\n    position: absolute;\n    width: auto;\n    left: 50%;\n    transform: translateX(-50%);\n    object-fit: contain;\n  }\n\n  .ship2 {\n    clip-path: inset(0 0 100% 0);\n    position: relative;\n    z-index: 5;\n  }\n\n  .line-logo {\n    position: absolute;\n    left: 50%;\n    width: 70% !important;\n    max-width: 900px;\n    transform: translateX(-50%);\n    top: 0;\n    z-index: 15;\n    height: auto !important;\n    cursor: grab;\n    touch-action: none;\n  }\n\n  .line-logo:active {\n    cursor: grabbing;\n  }\n  <\/style>\n\n\n<div class=\"image-container\">\n   <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ship-normal.png\" class=\"ship1\" alt=\"\">\n   <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ship-digital.png\" class=\"ship2\" alt=\"\">\n   <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ship-change-design.png\" class=\"line-logo\" alt=\"\">\n<\/div>\n\n  <script>\n  (function() {\n    const ship2 = document.querySelector('.ship2');\n    const ship1 = document.querySelector('.ship1');\n    const logo  = document.querySelector('.line-logo');\n    const container = document.querySelector('.image-container');\n\n    if (!ship2 || !logo || !container || !ship1) return;\n\n    let progress = 0;\n    let isDragging = false;\n    let dragStartY = 0;\n    let startProgress = 0;\n\n    const DRAG_SENSITIVITY = 400;\n    const START_POINT = 0.3;\n\n    function clamp(v) {\n      return Math.max(0, Math.min(1, v));\n    }\n\n    function getImageHeight() {\n      return ship1.getBoundingClientRect().height;\n    }\n\n    function computeProgress() {\n      const rect = container.getBoundingClientRect();\n      const viewport = window.innerHeight;\n      const triggerPoint = viewport * START_POINT;\n\n      if (rect.top > triggerPoint) return 0;\n\n      const distance = triggerPoint - rect.top;\n      const maxDistance = viewport - triggerPoint;\n\n      return clamp(distance \/ maxDistance);\n    }\n\n    function applyProgress() {\n\t  const imgRect = ship1.getBoundingClientRect();\n\t  const containerRect = container.getBoundingClientRect();\n\n\t  const height = imgRect.height;\n\t  const revealPx = progress * height;\n\t  const revealPercent = 100 - (revealPx \/ height) * 100;\n\n\t  ship2.style.clipPath = `inset(0 0 ${revealPercent}% 0)`;\n\n\t  \/\/ Offset = image top relative to container + reveal distance\n\t  const imgTopInContainer = imgRect.top - containerRect.top;\n\t  const halfLogo = logo.offsetHeight \/ 2;\n\t  logo.style.top = `${imgTopInContainer + revealPx - halfLogo}px`;\n\n\t  let logoOpacity = 1;\n\t  if (progress < 0.05) logoOpacity = progress \/ 0.05;\n\t  if (progress > 0.95) logoOpacity = (1 - progress) \/ 0.05;\n\t  logo.style.opacity = logoOpacity;\n\t}\n\n    window.addEventListener('scroll', () => {\n      if (isDragging) return;\n      progress = computeProgress();\n      applyProgress();\n    });\n\n    function startDrag(e) {\n      e.preventDefault();\n      isDragging = true;\n      dragStartY = e.touches ? e.touches[0].clientY : e.clientY;\n      startProgress = progress;\n\n      document.addEventListener('mousemove', onDrag);\n      document.addEventListener('mouseup', stopDrag);\n      document.addEventListener('touchmove', onDrag, { passive: false });\n      document.addEventListener('touchend', stopDrag);\n    }\n\n    function onDrag(e) {\n      if (!isDragging) return;\n\n      const currentY = e.touches ? e.touches[0].clientY : e.clientY;\n      const delta = currentY - dragStartY;\n\n      progress = clamp(startProgress + delta \/ DRAG_SENSITIVITY);\n      applyProgress();\n    }\n\n    function stopDrag() {\n      isDragging = false;\n\n      document.removeEventListener('mousemove', onDrag);\n      document.removeEventListener('mouseup', stopDrag);\n      document.removeEventListener('touchmove', onDrag);\n      document.removeEventListener('touchend', stopDrag);\n    }\n\n    logo.addEventListener('mousedown', startDrag);\n    logo.addEventListener('touchstart', startDrag, { passive: false });\n\n    window.addEventListener('load', applyProgress);\n    window.addEventListener('resize', applyProgress);\n  })();\n  <\/script>\n  \n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;What We Do&#8221; module_class=&#8221;what-we-do&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/oceanai.ai\/wp-content\/uploads\/whatwedo-section-background.webp&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"section-title-homepage\" style=\"text-align: center;\">\u79c1\u305f\u3061\u306e\u4e8b\u696d<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;AI Integration Image&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><a href=\"https:\/\/oceanai.ai\/wp-content\/uploads\/AI-Integration.svg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-13539 alignnone size-full aligncenter\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/AI-Integration.svg\" alt=\"\" width=\"191\" height=\"221\"><\/a><\/p>\n<p>[\/et_pb_text][et_pb_text disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;AI Integration Gif&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; disabled=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14480 size-full aligncenter\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/AI-Integration.gif\" alt=\"\" width=\"191\" height=\"221\"><\/p>\n<p>[\/et_pb_text][et_pb_text admin_label=&#8221;AI Integration Content&#8221; module_class=&#8221;what-we-do-content&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; header_3_font_size=&#8221;30px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">AI\u7d71\u5408<\/h3>\n<p style=\"text-align: center;\">\u5f53\u793e\u306f\u3001MariApps Marine Solutions\u304a\u3088\u3073cruisePAL\u3068\u7dca\u5bc6\u306b\u9023\u643a\u3057\u3001\u6d77\u4e0a\u304a\u3088\u3073\u30af\u30eb\u30fc\u30ba\u904b\u822a\u3092\u6700\u9069\u5316\u3057\u3001\u610f\u601d\u6c7a\u5b9a\u3092\u6539\u5584\u3059\u308b\u6700\u5148\u7aef\u306eAI\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;Customized Solutions Image&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><a href=\"https:\/\/oceanai.ai\/wp-content\/uploads\/Customized-Solutions.svg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-13542 size-full aligncenter\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/Customized-Solutions.svg\" alt=\"\" width=\"183\" height=\"177\"><\/a><\/p>\n<p>[\/et_pb_text][et_pb_text disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;Customized Solutions Gif&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; disabled=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14483 size-full aligncenter\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/Customized-Solutions.gif\" alt=\"\" width=\"191\" height=\"222\"><\/p>\n<p>[\/et_pb_text][et_pb_text admin_label=&#8221;Customized Solutions Content&#8221; module_class=&#8221;what-we-do-content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; header_3_font_size=&#8221;30px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3055\u308c\u305f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3<\/h3>\n<p style=\"text-align: center;\">\u304a\u5ba2\u69d8\u306e\u7279\u5b9a\u306e\u8981\u4ef6\u306b\u5408\u308f\u305b\u3066AI\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u3001\u6700\u5927\u9650\u306e\u4fa1\u5024\u3068\u52b9\u7387\u6027\u3092\u78ba\u4fdd\u3057\u307e\u3059\u3002<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text disabled_on=&#8221;off|off|off&#8221; admin_label=&#8221;Beyond Maritime Image&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><a href=\"https:\/\/oceanai.ai\/wp-content\/uploads\/Beyond-Maritime.svg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-13544 size-full aligncenter\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/Beyond-Maritime.svg\" alt=\"\" width=\"228\" height=\"179\"><\/a><\/p>\n<p>[\/et_pb_text][et_pb_text disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;Beyond Maritime Gif&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; disabled=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14484 size-full aligncenter\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/Beyond-Maritime-.gif\" alt=\"\" width=\"228\" height=\"212\"><\/p>\n<p>[\/et_pb_text][et_pb_text admin_label=&#8221;Beyond Maritime Content&#8221; module_class=&#8221;what-we-do-content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; header_3_font_size=&#8221;30px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">\u6d77\u4e8b\u696d\u754c\u3092\u8d85\u3048\u3066<\/h3>\n<p style=\"text-align: center;\">\u79c1\u305f\u3061\u306e\u5c02\u9580\u77e5\u8b58\u306f\u6d77\u4e8b\u696d\u754c\u306b\u3068\u3069\u307e\u308a\u307e\u305b\u3093\u3002\u3055\u307e\u3056\u307e\u306a\u5206\u91ce\u306e\u304a\u5ba2\u69d8\u306b\u9769\u65b0\u7684\u306aAI\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u3001\u6210\u9577\u3068\u30a4\u30ce\u30d9\u30fc\u30b7\u30e7\u30f3\u3092\u63a8\u9032\u3057\u3066\u3044\u307e\u3059\u3002 <\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;Logo and products&#8221; module_class=&#8221;logo-product&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_enable_color=&#8221;off&#8221; background_image=&#8221;https:\/\/oceanai.ai\/wp-content\/uploads\/banner-background.webp&#8221; height=&#8221;100vh&#8221; disabled=&#8221;on&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;\u30ce\u30fc\u30c9\u306a\u3057&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; disabled=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;]<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->  .animation-container {<!-- [et_pb_line_break_holder] -->    position: relative;<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    max-width: 1200px;<!-- [et_pb_line_break_holder] -->    height: 500px;<!-- [et_pb_line_break_holder] -->    margin: 100px auto;<!-- [et_pb_line_break_holder] -->    display: flex;<!-- [et_pb_line_break_holder] -->    justify-content: center;<!-- [et_pb_line_break_holder] -->    align-items: center;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .logo-container {<!-- [et_pb_line_break_holder] -->    position: absolute;<!-- [et_pb_line_break_holder] -->    top: 50%;<!-- [et_pb_line_break_holder] -->    left: 50%;<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .logo {<!-- [et_pb_line_break_holder] -->    width: 30vw;<!-- [et_pb_line_break_holder] -->    height: auto;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon {<!-- [et_pb_line_break_holder] -->    position: absolute;<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%) scale(0.05);<!-- [et_pb_line_break_holder] -->    opacity: 0;<!-- [et_pb_line_break_holder] -->    transition:<!-- [et_pb_line_break_holder] -->      transform 1.2s cubic-bezier(0.23, 1, 0.32, 1),<!-- [et_pb_line_break_holder] -->      opacity 0.8s ease-out;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon.animate {<!-- [et_pb_line_break_holder] -->    opacity: 1;<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%) translateX(var(--x, 0)) translateY(var(--y, 0)) scale(1);<!-- [et_pb_line_break_holder] -->    transition: transform 0.3s ease, opacity 0.8s ease-out;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon.animate:hover {<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%) translateX(var(--x, 0)) translateY(var(--y, 0)) scale(1.1);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .product-icon {<!-- [et_pb_line_break_holder] -->    width: 70px;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon.left-1.animate { --x: -450px; --y: -160px; }<!-- [et_pb_line_break_holder] -->  .icon.left-2.animate { --x: -700px; --y: -80px; }<!-- [et_pb_line_break_holder] -->  .icon.left-3.animate { --x: -520px; --y: 0px; }<!-- [et_pb_line_break_holder] -->  .icon.left-4.animate { --x: -350px; --y: 80px; }<!-- [et_pb_line_break_holder] -->  .icon.left-5.animate { --x: -600px; --y: 160px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Right Icons *\/<!-- [et_pb_line_break_holder] -->  .icon.right-1.animate { --x: 475px; --y: -160px; }<!-- [et_pb_line_break_holder] -->  .icon.right-2.animate { --x: 600px; --y: -80px; }<!-- [et_pb_line_break_holder] -->  .icon.right-3.animate { --x: 400px; --y: 0px; }<!-- [et_pb_line_break_holder] -->  .icon.right-4.animate { --x: 650px; --y: 80px; }<!-- [et_pb_line_break_holder] -->  .icon.right-5.animate { --x: 325px; --y: 160px; }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<section id=\"animation-section\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"animation-container\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"logo-container\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"logo\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/oceanai-product-logo.png\" alt=\"\u4f01\u696d\u30ed\u30b4\" class=\"logo-img\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-1\"><!-- [et_pb_line_break_holder] -->             <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" title=\"AI\u652f\u63f4\u8239\u8236\u691c\u67fb\" alt=\"AI\u652f\u63f4\u8239\u8236\u691c\u67fb\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-1\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew.png\" title=\"Intellicrew\" alt=\"Intellicrew\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-2\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/issue-tracker-system.png\" title=\"\u554f\u984c\u8ffd\u8de1\u30b7\u30b9\u30c6\u30e0\" alt=\"\u554f\u984c\u8ffd\u8de1\u30b7\u30b9\u30c6\u30e0\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-2\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai.png\" title=\"Scav AI\" alt=\"Scav AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-3\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai.png\" title=\"Fault Sense AI\" alt=\"Fault Sense AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-3\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/detention-ai.png\" title=\"Detention AI\" alt=\"Detention AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-4\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware.png\" title=\"Smart Aware\" alt=\"Smart Aware\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-4\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot.png\" title=\"\u30b5\u30dd\u30fc\u30c8\u30dc\u30c3\u30c8\" alt=\"\u30b5\u30dd\u30fc\u30c8\u30dc\u30c3\u30c8\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-5\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-ai-search.png\" title=\"QDMS AI\u691c\u7d22\" alt=\"QDMS AI\u691c\u7d22\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-5\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot.png\" title=\"Fin Bot\" alt=\"Fin Bot\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/section>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div style=\"height: 500px;\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->    document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->        const animationSection = document.getElementById('animation-section');<!-- [et_pb_line_break_holder] -->        const icons = document.querySelectorAll('.icon');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function isInViewport(element) {<!-- [et_pb_line_break_holder] -->            const rect = element.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            return (<!-- [et_pb_line_break_holder] -->                rect.top <= (window.innerHeight || document.documentElement.clientHeight) * 0.8 &#038;&#038;                rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) * 0.2<!-- [et_pb_line_break_holder] -->            );<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function handleScroll() {<!-- [et_pb_line_break_holder] -->            if (isInViewport(animationSection)) {<!-- [et_pb_line_break_holder] -->                icons.forEach((icon, index) => {<!-- [et_pb_line_break_holder] -->                    setTimeout(() => {<!-- [et_pb_line_break_holder] -->                        icon.classList.add('animate');<!-- [et_pb_line_break_holder] -->                    }, index * 100); \/\/manage speed of flow<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                icons.forEach(icon => {<!-- [et_pb_line_break_holder] -->                    icon.classList.remove('animate');<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        window.addEventListener('scroll', handleScroll);<!-- [et_pb_line_break_holder] -->        handleScroll();<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->[\/et_pb_code][et_pb_code disabled_on=&#8221;on|on|on&#8221; admin_label=&#8221;\u30ce\u30fc\u30c9\u3042\u308a&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; disabled=&#8221;on&#8221; global_colors_info=&#8221;{}&#8221;]<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->  .logo-product{<!-- [et_pb_line_break_holder] -->    overflow: hidden;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .animation-container {<!-- [et_pb_line_break_holder] -->    position: relative;<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    height: 50vh;<!-- [et_pb_line_break_holder] -->    margin: 100px auto;<!-- [et_pb_line_break_holder] -->    display: flex;<!-- [et_pb_line_break_holder] -->    justify-content: center;<!-- [et_pb_line_break_holder] -->    align-items: center;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .logo-container {<!-- [et_pb_line_break_holder] -->    position: absolute;<!-- [et_pb_line_break_holder] -->    top: 50%;<!-- [et_pb_line_break_holder] -->    left: 50%;<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%);<!-- [et_pb_line_break_holder] -->    z-index: 10;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .logo {<!-- [et_pb_line_break_holder] -->    width: 30vw;<!-- [et_pb_line_break_holder] -->    height: auto;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon {<!-- [et_pb_line_break_holder] -->    position: absolute;<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%) scale(0.05);<!-- [et_pb_line_break_holder] -->    opacity: 0;<!-- [et_pb_line_break_holder] -->    transition:<!-- [et_pb_line_break_holder] -->      transform 1.2s cubic-bezier(0.23, 1, 0.32, 1),<!-- [et_pb_line_break_holder] -->      opacity 0.8s ease-out;<!-- [et_pb_line_break_holder] -->    z-index: 10;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon.animate {<!-- [et_pb_line_break_holder] -->    opacity: 1;<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%) translateX(var(--x, 0)) translateY(var(--y, 0)) scale(1);<!-- [et_pb_line_break_holder] -->    transition: transform 0.3s ease, opacity 0.8s ease-out;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon.animate:hover {<!-- [et_pb_line_break_holder] -->    transform: translate(-50%, -50%) translateX(var(--x, 0)) translateY(var(--y, 0)) scale(1.1);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .product-icon {<!-- [et_pb_line_break_holder] -->    width: 70px;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .icon.left-1.animate { --x: -450px; --y: -160px; }<!-- [et_pb_line_break_holder] -->  .icon.left-2.animate { --x: -700px; --y: -80px; }<!-- [et_pb_line_break_holder] -->  .icon.left-3.animate { --x: -520px; --y: 0px; }<!-- [et_pb_line_break_holder] -->  .icon.left-4.animate { --x: -350px; --y: 80px; }<!-- [et_pb_line_break_holder] -->  .icon.left-5.animate { --x: -600px; --y: 160px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Right Icons *\/<!-- [et_pb_line_break_holder] -->  .icon.right-1.animate { --x: 475px; --y: -160px; }<!-- [et_pb_line_break_holder] -->  .icon.right-2.animate { --x: 600px; --y: -80px; }<!-- [et_pb_line_break_holder] -->  .icon.right-3.animate { --x: 400px; --y: 0px; }<!-- [et_pb_line_break_holder] -->  .icon.right-4.animate { --x: 650px; --y: 80px; }<!-- [et_pb_line_break_holder] -->  .icon.right-5.animate { --x: 325px; --y: 160px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Network Canvas *\/<!-- [et_pb_line_break_holder] -->  #networkCanvas {<!-- [et_pb_line_break_holder] -->    position: absolute;<!-- [et_pb_line_break_holder] -->    top: 0;<!-- [et_pb_line_break_holder] -->    left: 0;<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    height: 100%;<!-- [et_pb_line_break_holder] -->    z-index: 1;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<section id=\"animation-section\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"animation-container\"><!-- [et_pb_line_break_holder] -->        <canvas id=\"networkCanvas\"><\/canvas><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"logo-container\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"logo\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/oceanai-product-logo.png\" alt=\"\u4f01\u696d\u30ed\u30b4\" class=\"logo-img\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-1\"><!-- [et_pb_line_break_holder] -->             <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" title=\"AI\u652f\u63f4\u8239\u8236\u691c\u67fb\" alt=\"AI\u652f\u63f4\u8239\u8236\u691c\u67fb\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-1\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew.png\" title=\"Intellicrew\" alt=\"Intellicrew\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-2\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/issue-tracker-system.png\" title=\"\u554f\u984c\u8ffd\u8de1\u30b7\u30b9\u30c6\u30e0\" alt=\"\u554f\u984c\u8ffd\u8de1\u30b7\u30b9\u30c6\u30e0\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-2\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai.png\" title=\"Scav AI\" alt=\"Scav AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-3\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai.png\" title=\"Fault Sense AI\" alt=\"Fault Sense AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-3\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/detention-ai.png\" title=\"Detention AI\" alt=\"Detention AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-4\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware.png\" title=\"Smart Aware\" alt=\"Smart Aware\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-4\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot.png\" title=\"\u30b5\u30dd\u30fc\u30c8\u30dc\u30c3\u30c8\" alt=\"\u30b5\u30dd\u30fc\u30c8\u30dc\u30c3\u30c8\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon left-5\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-ai-search.png\" title=\"QDMS AI\u691c\u7d22\" alt=\"QDMS AI\u691c\u7d22\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->        <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"icon right-5\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot.png\" title=\"Fin Bot\" alt=\"Fin Bot\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/a><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/section>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div style=\"height: 500px;\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->    document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->        const animationSection = document.getElementById('animation-section');<!-- [et_pb_line_break_holder] -->        const icons = document.querySelectorAll('.icon');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function isInViewport(element) {<!-- [et_pb_line_break_holder] -->            const rect = element.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            return (<!-- [et_pb_line_break_holder] -->                rect.top <= (window.innerHeight || document.documentElement.clientHeight) * 0.8 &#038;&#038;                rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) * 0.2<!-- [et_pb_line_break_holder] -->            );<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function handleScroll() {<!-- [et_pb_line_break_holder] -->            if (isInViewport(animationSection)) {<!-- [et_pb_line_break_holder] -->                icons.forEach((icon, index) => {<!-- [et_pb_line_break_holder] -->                    setTimeout(() => {<!-- [et_pb_line_break_holder] -->                        icon.classList.add('animate');<!-- [et_pb_line_break_holder] -->                    }, index * 100); \/\/manage speed of flow<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                icons.forEach(icon => {<!-- [et_pb_line_break_holder] -->                    icon.classList.remove('animate');<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        window.addEventListener('scroll', handleScroll);<!-- [et_pb_line_break_holder] -->        handleScroll();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Network Background Functionality<!-- [et_pb_line_break_holder] -->        const canvas = document.getElementById('networkCanvas');<!-- [et_pb_line_break_holder] -->        const ctx = canvas.getContext('2d');<!-- [et_pb_line_break_holder] -->        const animationContainer = document.querySelector('.animation-container');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        let particles = [];<!-- [et_pb_line_break_holder] -->        const particleCount = 100;<!-- [et_pb_line_break_holder] -->        const particleSize = 2;<!-- [et_pb_line_break_holder] -->        const lineDistance = 120;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Resize canvas to fit animation container<!-- [et_pb_line_break_holder] -->        function resizeCanvas() {<!-- [et_pb_line_break_holder] -->            const rect = animationContainer.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            canvas.width = rect.width;<!-- [et_pb_line_break_holder] -->            canvas.height = rect.height;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        resizeCanvas();<!-- [et_pb_line_break_holder] -->        window.addEventListener('resize', resizeCanvas);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Particle Class<!-- [et_pb_line_break_holder] -->        class Particle {<!-- [et_pb_line_break_holder] -->            constructor() {<!-- [et_pb_line_break_holder] -->                this.x = Math.random() * canvas.width;<!-- [et_pb_line_break_holder] -->                this.y = Math.random() * canvas.height;<!-- [et_pb_line_break_holder] -->                this.vx = (Math.random() - 0.5) * 0.8;<!-- [et_pb_line_break_holder] -->                this.vy = (Math.random() - 0.5) * 0.8;<!-- [et_pb_line_break_holder] -->                this.size = particleSize;<!-- [et_pb_line_break_holder] -->                this.opacity = Math.random() * 0.5 + 0.2;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            draw() {<!-- [et_pb_line_break_holder] -->                ctx.fillStyle = `rgba(100, 150, 255, ${this.opacity})`;<!-- [et_pb_line_break_holder] -->                ctx.beginPath();<!-- [et_pb_line_break_holder] -->                ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);<!-- [et_pb_line_break_holder] -->                ctx.fill();<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            update() {<!-- [et_pb_line_break_holder] -->                if (this.x > canvas.width || this.x < 0) {                    this.vx *= -1;                }                if (this.y > canvas.height || this.y < 0) {                    this.vy *= -1;                }                this.x += this.vx;                this.y += this.vy;            }        }        \/\/ Animation Loop        function animate() {            ctx.clearRect(0, 0, canvas.width, canvas.height);                        particles.forEach(p => {<!-- [et_pb_line_break_holder] -->                p.update();<!-- [et_pb_line_break_holder] -->                p.draw();<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            drawLines();<!-- [et_pb_line_break_holder] -->            requestAnimationFrame(animate);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function createParticles() {<!-- [et_pb_line_break_holder] -->            for (let i = 0; i < particleCount; i++) {                particles.push(new Particle());            }        }        function drawLines() {            for (let i = 0; i < particles.length; i++) {                for (let j = i; j < particles.length; j++) {                    const p1 = particles[i];                    const p2 = particles[j];                                        const dx = p1.x - p2.x;                    const dy = p1.y - p2.y;                    const distance = Math.sqrt(dx * dx + dy * dy);                    if (distance < lineDistance) {                        ctx.beginPath();                        ctx.strokeStyle = `rgba(100, 150, 255, ${0.3 - distance \/ lineDistance * 0.3})`;                        ctx.lineWidth = 1.5;                        ctx.moveTo(p1.x, p1.y);                        ctx.lineTo(p2.x, p2.y);                        ctx.stroke();                    }                }            }        }        \/\/ Start network animation        createParticles();        animate();    });<\/script>[\/et_pb_code][et_pb_code disabled_on=\"off|off|off\" admin_label=\"\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30ce\u30fc\u30c9\" _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"]<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n\n<style>\n.logo-product{ overflow:hidden; }\n\n.animation-container {\n  position: relative;\n  width: 100%;\n  height: 50vh;\n  margin: 100px auto;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.logo-container {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  z-index: 10;\n}\n\n.logo { width: 30vw; height: auto; }\n\n.icon {\n  position: absolute;\n  transform: translate(-50%, -50%) scale(0.05);\n  opacity: 0;\n  transition: transform 1.2s cubic-bezier(0.23,1,0.32,1), opacity 0.8s ease-out;\n  z-index: 10;\n}\n\n.icon.animate {\n  opacity: 1;\n  transform: translate(-50%, -50%) translateX(var(--x,0)) translateY(var(--y,0)) scale(1);\n  transition: transform 0.3s ease, opacity 0.8s ease-out;\n}\n\n.icon.animate:hover {\n  transform: translate(-50%, -50%) translateX(var(--x,0)) translateY(var(--y,0)) scale(1.1);\n}\n\n.product-icon { width:70px!important; height:auto!important; }\n\n.icon.left-1.animate { --x:-450px; --y:-160px; }\n.icon.left-2.animate { --x:-700px; --y:-80px; }\n.icon.left-3.animate { --x:-520px; --y:0px; }\n.icon.left-4.animate { --x:-350px; --y:80px; }\n.icon.left-5.animate { --x:-600px; --y:160px; }\n\n.icon.right-1.animate { --x:475px; --y:-160px; }\n.icon.right-2.animate { --x:600px; --y:-80px; }\n.icon.right-3.animate { --x:400px; --y:0px; }\n.icon.right-4.animate { --x:650px; --y:80px; }\n.icon.right-5.animate { --x:325px; --y:160px; }\n\n#networkCanvas {\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:100%;\n  z-index:1;\n  cursor:pointer;\n}\n<\/style>\n\n<section id=\"animation-section\">\n  <div class=\"animation-container\">\n    <canvas id=\"networkCanvas\"><\/canvas>\n\n    <div class=\"logo-container\">\n      <div class=\"logo\">\n        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/ja\/wp-content\/uploads\/oceanai-product-logo.webp\" alt=\"Company Logo\" class=\"logo-img\">\n      <\/div>\n    <\/div>\n\n            <a href=\"https:\/\/oceanai.ai\/products\/intellicrew\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-1\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew.png\" alt=\"IntelliCrew\" title=\"IntelliCrew\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/qdms-ai-search-chatbot\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon right-1\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-ai-search.png\" alt=\"QDMS AI Search &amp; Chatbot\" title=\"QDMS AI Search &amp; Chatbot\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/faultsenseai\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-2\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai.png\" alt=\"FaultSenseAI\" title=\"FaultSenseAI\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/finbot\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon right-2\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot.png\" alt=\"FinBot\" title=\"FinBot\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/supportbot\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-3\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot.png\" alt=\"SupportBot\" title=\"SupportBot\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/scavai\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon right-3\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai.png\" alt=\"ScavAI\" title=\"ScavAI\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/smartaware\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-4\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware.png\" alt=\"smartAware\" title=\"smartAware\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/ai-assisted-vessel-inspection\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon right-4\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"InspectAI\" title=\"InspectAI\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/qa-agent\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-5\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/QA-Agent-Icon.svg\" alt=\"QA Agent\" title=\"QA Agent\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"https:\/\/oceanai.ai\/products\/issue-tracker-system\/\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon right-5\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/issue-tracker-system.png\" alt=\"IssuTrax AI Dashboard Assistant \" title=\"IssuTrax AI Dashboard Assistant \" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-6\">\n            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/detention-ai.png\" alt=\"Detention AI\" title=\"Detention AI\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon right-6\">\n            <img decoding=\"async\" src=\"\" alt=\"MS-AI\" title=\"MS-AI\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n                <a href=\"\" target=\"_self\" class=\"icon-link\">\n          <div class=\"icon left-7\">\n            <img decoding=\"async\" src=\"\" alt=\"Mailing Agent\" title=\"Mailing Agent\" class=\"product-icon\">\n          <\/div>\n        <\/a>\n          <\/div>\n<\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  const animationSection = document.getElementById('animation-section');\n  const icons = document.querySelectorAll('.icon');\n  const canvas = document.getElementById('networkCanvas');\n  const ctx = canvas.getContext('2d');\n  const animationContainer = document.querySelector('.animation-container');\n\n  function isInViewport(el) {\n    const r = el.getBoundingClientRect();\n    return r.top <= window.innerHeight * 0.8 && r.bottom >= window.innerHeight * 0.2;\n  }\n\n  function handleScroll() {\n    if (isInViewport(animationSection)) {\n      icons.forEach((icon, i) => setTimeout(() => icon.classList.add('animate'), i * 100));\n    } else {\n      icons.forEach(icon => icon.classList.remove('animate'));\n    }\n  }\n\n  window.addEventListener('scroll', handleScroll);\n  handleScroll();\n\n  let particles = [];\n  const particleCount = 100;\n  const particleSize = 2;\n  const lineDistance = 120;\n\n  let draggedParticle = null;\n  let mouseX = 0;\n  let mouseY = 0;\n\n  function resizeCanvas() {\n    const rect = animationContainer.getBoundingClientRect();\n    if (rect.width === 0 || rect.height === 0) return false;\n    canvas.width = rect.width;\n    canvas.height = rect.height;\n    return true;\n  }\n\n  function initNetwork() {\n    if (!resizeCanvas()) {\n      requestAnimationFrame(initNetwork);\n      return;\n    }\n\n    window.addEventListener('resize', resizeCanvas);\n\n    class Particle {\n      constructor() {\n        this.x = Math.random() * canvas.width;\n        this.y = Math.random() * canvas.height;\n        this.vx = (Math.random() - 0.5) * 0.8;\n        this.vy = (Math.random() - 0.5) * 0.8;\n        this.size = particleSize;\n        this.opacity = Math.random() * 0.5 + 0.2;\n      }\n      draw() {\n        ctx.fillStyle = `rgba(100,150,255,${this.opacity})`;\n        ctx.beginPath();\n        ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);\n        ctx.fill();\n      }\n      update() {\n        if (this === draggedParticle) return;\n        if (this.x > canvas.width || this.x < 0) this.vx *= -1;\n        if (this.y > canvas.height || this.y < 0) this.vy *= -1;\n        this.x += this.vx;\n        this.y += this.vy;\n      }\n    }\n\n    function createParticles() {\n      for (let i = 0; i < particleCount; i++) particles.push(new Particle());\n    }\n\n    function drawLines() {\n      for (let i = 0; i < particles.length; i++) {\n        for (let j = i; j < particles.length; j++) {\n          const dx = particles[i].x - particles[j].x;\n          const dy = particles[i].y - particles[j].y;\n          const d = Math.sqrt(dx*dx + dy*dy);\n          if (d < lineDistance) {\n            ctx.beginPath();\n            ctx.strokeStyle = `rgba(100,150,255,${0.3 - d\/lineDistance*0.3})`;\n            ctx.lineWidth = 1.5;\n            ctx.moveTo(particles[i].x, particles[i].y);\n            ctx.lineTo(particles[j].x, particles[j].y);\n            ctx.stroke();\n          }\n        }\n      }\n    }\n\n    function animate() {\n      ctx.clearRect(0,0,canvas.width,canvas.height);\n      particles.forEach(p => { p.update(); p.draw(); });\n      drawLines();\n      requestAnimationFrame(animate);\n    }\n\n    function getParticleAt(x, y) {\n      for (let i = particles.length - 1; i >= 0; i--) {\n        const p = particles[i];\n        const dx = p.x - x;\n        const dy = p.y - y;\n        if (Math.sqrt(dx*dx + dy*dy) < 20) return p;\n      }\n      return null;\n    }\n\n    function handleMouseDown(e) {\n      const rect = canvas.getBoundingClientRect();\n      mouseX = e.clientX - rect.left;\n      mouseY = e.clientY - rect.top;\n      draggedParticle = getParticleAt(mouseX, mouseY);\n    }\n\n    function handleMouseMove(e) {\n      if (!draggedParticle) return;\n      const rect = canvas.getBoundingClientRect();\n      mouseX = e.clientX - rect.left;\n      mouseY = e.clientY - rect.top;\n      draggedParticle.x = mouseX;\n      draggedParticle.y = mouseY;\n    }\n\n    function handleMouseUp() {\n      draggedParticle = null;\n    }\n\n    function handleTouchStart(e) {\n      e.preventDefault();\n      const rect = canvas.getBoundingClientRect();\n      mouseX = e.touches[0].clientX - rect.left;\n      mouseY = e.touches[0].clientY - rect.top;\n      draggedParticle = getParticleAt(mouseX, mouseY);\n    }\n\n    function handleTouchMove(e) {\n      e.preventDefault();\n      if (!draggedParticle) return;\n      const rect = canvas.getBoundingClientRect();\n      mouseX = e.touches[0].clientX - rect.left;\n      mouseY = e.touches[0].clientY - rect.top;\n      draggedParticle.x = mouseX;\n      draggedParticle.y = mouseY;\n    }\n\n    function handleTouchEnd() {\n      draggedParticle = null;\n    }\n\n    canvas.addEventListener('mousedown', handleMouseDown);\n    canvas.addEventListener('mousemove', handleMouseMove);\n    canvas.addEventListener('mouseup', handleMouseUp);\n    canvas.addEventListener('mouseleave', handleMouseUp);\n\n    canvas.addEventListener('touchstart', handleTouchStart);\n    canvas.addEventListener('touchmove', handleTouchMove);\n    canvas.addEventListener('touchend', handleTouchEnd);\n\n    createParticles();\n    animate();\n  }\n\n  initNetwork();\n});\n<\/script>\n[\/et_pb_code][et_pb_code disabled_on=\"on|on|on\" _builder_version=\"4.27.4\" _module_preset=\"default\" disabled=\"on\" global_colors_info=\"{}\"]<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->.logo-product{ overflow: hidden; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.animation-container {<!-- [et_pb_line_break_holder] -->  position: relative;<!-- [et_pb_line_break_holder] -->  width: 100%;<!-- [et_pb_line_break_holder] -->  height: 50vh;<!-- [et_pb_line_break_holder] -->  margin: 100px auto;<!-- [et_pb_line_break_holder] -->  display: flex;<!-- [et_pb_line_break_holder] -->  justify-content: center;<!-- [et_pb_line_break_holder] -->  align-items: center;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.logo-container {<!-- [et_pb_line_break_holder] -->  position: absolute;<!-- [et_pb_line_break_holder] -->  top: 50%;<!-- [et_pb_line_break_holder] -->  left: 50%;<!-- [et_pb_line_break_holder] -->  transform: translate(-50%, -50%);<!-- [et_pb_line_break_holder] -->  z-index: 10;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.logo {<!-- [et_pb_line_break_holder] -->  width: 30vw;<!-- [et_pb_line_break_holder] -->  height: auto;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.icon {<!-- [et_pb_line_break_holder] -->  position: absolute;<!-- [et_pb_line_break_holder] -->  transform: translate(-50%, -50%) scale(0.05);<!-- [et_pb_line_break_holder] -->  opacity: 0;<!-- [et_pb_line_break_holder] -->  transition: transform 1.2s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.8s ease-out;<!-- [et_pb_line_break_holder] -->  z-index: 10;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.icon.animate {<!-- [et_pb_line_break_holder] -->  opacity: 1;<!-- [et_pb_line_break_holder] -->  transform: translate(-50%, -50%) translateX(var(--x, 0)) translateY(var(--y, 0)) scale(1);<!-- [et_pb_line_break_holder] -->  transition: transform 0.3s ease, opacity 0.8s ease-out;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.icon.animate:hover {<!-- [et_pb_line_break_holder] -->  transform: translate(-50%, -50%) translateX(var(--x, 0)) translateY(var(--y, 0)) scale(1.1);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.product-icon {<!-- [et_pb_line_break_holder] -->  width: 70px !important;<!-- [et_pb_line_break_holder] -->  height: auto !important;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.icon.left-1.animate { --x: -450px; --y: -160px; }<!-- [et_pb_line_break_holder] -->.icon.left-2.animate { --x: -700px; --y: -80px; }<!-- [et_pb_line_break_holder] -->.icon.left-3.animate { --x: -520px; --y: 0px; }<!-- [et_pb_line_break_holder] -->.icon.left-4.animate { --x: -350px; --y: 80px; }<!-- [et_pb_line_break_holder] -->.icon.left-5.animate { --x: -600px; --y: 160px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.icon.right-1.animate { --x: 475px; --y: -160px; }<!-- [et_pb_line_break_holder] -->.icon.right-2.animate { --x: 600px; --y: -80px; }<!-- [et_pb_line_break_holder] -->.icon.right-3.animate { --x: 400px; --y: 0px; }<!-- [et_pb_line_break_holder] -->.icon.right-4.animate { --x: 650px; --y: 80px; }<!-- [et_pb_line_break_holder] -->.icon.right-5.animate { --x: 325px; --y: 160px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#networkCanvas {<!-- [et_pb_line_break_holder] -->  position: absolute;<!-- [et_pb_line_break_holder] -->  top: 0;<!-- [et_pb_line_break_holder] -->  left: 0;<!-- [et_pb_line_break_holder] -->  width: 100%;<!-- [et_pb_line_break_holder] -->  height: 100%;<!-- [et_pb_line_break_holder] -->  z-index: 1;<!-- [et_pb_line_break_holder] -->  cursor: pointer;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<section id=\"animation-section\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"animation-container\"><!-- [et_pb_line_break_holder] -->    <canvas id=\"networkCanvas\"><\/canvas><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"logo-container\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"logo\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/oceanai-product-logo.png\" alt=\"\u4f01\u696d\u30ed\u30b4\" class=\"logo-img\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon left-1\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" title=\"AI\u652f\u63f4\u8239\u8236\u691c\u67fb\" alt=\"AI\u652f\u63f4\u8239\u8236\u691c\u67fb\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon right-1\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew.png\" title=\"Intellicrew\" alt=\"Intellicrew\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon left-2\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/issue-tracker-system.png\" title=\"\u554f\u984c\u8ffd\u8de1\u30b7\u30b9\u30c6\u30e0\" alt=\"\u554f\u984c\u8ffd\u8de1\u30b7\u30b9\u30c6\u30e0\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon right-2\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai.png\" title=\"Scav AI\" alt=\"Scav AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon left-3\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai.png\" title=\"Fault Sense AI\" alt=\"Fault Sense AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon right-3\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/detention-ai.png\" title=\"Detention AI\" alt=\"Detention AI\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon left-4\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware.png\" title=\"Smart Aware\" alt=\"Smart Aware\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon right-4\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot.png\" title=\"\u30b5\u30dd\u30fc\u30c8\u30dc\u30c3\u30c8\" alt=\"\u30b5\u30dd\u30fc\u30c8\u30dc\u30c3\u30c8\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon left-5\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-ai-search.png\" title=\"QDMS AI\u691c\u7d22\" alt=\"QDMS AI\u691c\u7d22\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <a href=\"https:\/\/www.google.com\" target=\"_blank\" class=\"icon-link\" rel=\"noopener\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"icon right-5\"><!-- [et_pb_line_break_holder] -->        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot.png\" title=\"Fin Bot\" alt=\"Fin Bot\u30a2\u30a4\u30b3\u30f3\" class=\"product-icon\"><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/a><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/section>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div style=\"height: 500px;\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->  const animationSection = document.getElementById('animation-section');<!-- [et_pb_line_break_holder] -->  const icons = document.querySelectorAll('.icon');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function isInViewport(element) {<!-- [et_pb_line_break_holder] -->    const rect = element.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->    return (<!-- [et_pb_line_break_holder] -->      rect.top <= (window.innerHeight || document.documentElement.clientHeight) * 0.8 &#038;&#038;      rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) * 0.2<!-- [et_pb_line_break_holder] -->    );<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function handleScroll() {<!-- [et_pb_line_break_holder] -->    if (isInViewport(animationSection)) {<!-- [et_pb_line_break_holder] -->      icons.forEach((icon, index) => {<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          icon.classList.add('animate');<!-- [et_pb_line_break_holder] -->        }, index * 100);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      icons.forEach(icon => {<!-- [et_pb_line_break_holder] -->        icon.classList.remove('animate');<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  window.addEventListener('scroll', handleScroll);<!-- [et_pb_line_break_holder] -->  handleScroll();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const canvas = document.getElementById('networkCanvas');<!-- [et_pb_line_break_holder] -->  const ctx = canvas.getContext('2d');<!-- [et_pb_line_break_holder] -->  const animationContainer = document.querySelector('.animation-container');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  let particles = [];<!-- [et_pb_line_break_holder] -->  const particleCount = 100;<!-- [et_pb_line_break_holder] -->  const particleSize = 2;<!-- [et_pb_line_break_holder] -->  const lineDistance = 120;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  let draggedParticle = null;<!-- [et_pb_line_break_holder] -->  let mouseX = 0;<!-- [et_pb_line_break_holder] -->  let mouseY = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function resizeCanvas() {<!-- [et_pb_line_break_holder] -->    const rect = animationContainer.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->    canvas.width = rect.width;<!-- [et_pb_line_break_holder] -->    canvas.height = rect.height;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  resizeCanvas();<!-- [et_pb_line_break_holder] -->  window.addEventListener('resize', resizeCanvas);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  class Particle {<!-- [et_pb_line_break_holder] -->    constructor() {<!-- [et_pb_line_break_holder] -->      this.x = Math.random() * canvas.width;<!-- [et_pb_line_break_holder] -->      this.y = Math.random() * canvas.height;<!-- [et_pb_line_break_holder] -->      this.vx = (Math.random() - 0.5) * 0.8;<!-- [et_pb_line_break_holder] -->      this.vy = (Math.random() - 0.5) * 0.8;<!-- [et_pb_line_break_holder] -->      this.size = particleSize;<!-- [et_pb_line_break_holder] -->      this.opacity = Math.random() * 0.5 + 0.2;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    draw() {<!-- [et_pb_line_break_holder] -->      ctx.fillStyle = `rgba(100, 150, 255, ${this.opacity})`;<!-- [et_pb_line_break_holder] -->      ctx.beginPath();<!-- [et_pb_line_break_holder] -->      ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);<!-- [et_pb_line_break_holder] -->      ctx.fill();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    update() {<!-- [et_pb_line_break_holder] -->      if (this === draggedParticle) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (this.x > canvas.width || this.x < 0) this.vx *= -1;      if (this.y > canvas.height || this.y < 0) this.vy *= -1;      this.x += this.vx;      this.y += this.vy;    }  }  function animate() {    ctx.clearRect(0, 0, canvas.width, canvas.height);    particles.forEach(p => {<!-- [et_pb_line_break_holder] -->      p.update();<!-- [et_pb_line_break_holder] -->      p.draw();<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    drawLines();<!-- [et_pb_line_break_holder] -->    requestAnimationFrame(animate);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function createParticles() {<!-- [et_pb_line_break_holder] -->    for (let i = 0; i < particleCount; i++) {      particles.push(new Particle());    }  }  function drawLines() {    for (let i = 0; i < particles.length; i++) {      for (let j = i; j < particles.length; j++) {        const p1 = particles[i];        const p2 = particles[j];        const dx = p1.x - p2.x;        const dy = p1.y - p2.y;        const distance = Math.sqrt(dx * dx + dy * dy);        if (distance < lineDistance) {          ctx.beginPath();          ctx.strokeStyle = `rgba(100, 150, 255, ${0.3 - (distance \/ lineDistance) * 0.3})`;          ctx.lineWidth = 1.5;          ctx.moveTo(p1.x, p1.y);          ctx.lineTo(p2.x, p2.y);          ctx.stroke();        }      }    }  }  canvas.addEventListener('mousedown', handleMouseDown);  canvas.addEventListener('mousemove', handleMouseMove);  canvas.addEventListener('mouseup', handleMouseUp);  canvas.addEventListener('mouseleave', handleMouseUp);  canvas.addEventListener('touchstart', handleTouchStart);  canvas.addEventListener('touchmove', handleTouchMove);  canvas.addEventListener('touchend', handleTouchEnd);  function handleMouseDown(e) {    const rect = canvas.getBoundingClientRect();    mouseX = e.clientX - rect.left;    mouseY = e.clientY - rect.top;    draggedParticle = getParticleAt(mouseX, mouseY);  }  function handleMouseMove(e) {    const rect = canvas.getBoundingClientRect();    mouseX = e.clientX - rect.left;    mouseY = e.clientY - rect.top;    if (draggedParticle) {      draggedParticle.x = mouseX;      draggedParticle.y = mouseY;    }  }  function handleMouseUp() {    draggedParticle = null;  }  function handleTouchStart(e) {    e.preventDefault();    const rect = canvas.getBoundingClientRect();    mouseX = e.touches[0].clientX - rect.left;    mouseY = e.touches[0].clientY - rect.top;    draggedParticle = getParticleAt(mouseX, mouseY);  }  function handleTouchMove(e) {    e.preventDefault();    const rect = canvas.getBoundingClientRect();    mouseX = e.touches[0].clientX - rect.left;    mouseY = e.touches[0].clientY - rect.top;    if (draggedParticle) {      draggedParticle.x = mouseX;      draggedParticle.y = mouseY;    }  }  function handleTouchEnd() {    draggedParticle = null;  }  function getParticleAt(x, y) {    for (let i = particles.length - 1; i >= 0; i--) {<!-- [et_pb_line_break_holder] -->      const p = particles[i];<!-- [et_pb_line_break_holder] -->      const dx = p.x - x;<!-- [et_pb_line_break_holder] -->      const dy = p.y - y;<!-- [et_pb_line_break_holder] -->      const distance = Math.sqrt(dx * dx + dy * dy);<!-- [et_pb_line_break_holder] -->      if (distance < 20) return p;    }    return null;  }  createParticles();  animate();});<\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" disabled_on=\"off|off|off\" admin_label=\"Product Tab\" module_id=\"\u88fd\u54c1\" module_class=\"product-tab-section\" _builder_version=\"4.27.4\" _module_preset=\"default\" background_enable_image=\"off\" collapsed=\"off\" global_colors_info=\"{}\"][et_pb_row module_class=\"product-tab-row\" _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_text _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"]<\/p>\n    <style>\n      .tab-wrapper {\n        position: relative;\n        width: 100%;\n        height: 100vh;\n        overflow: hidden;\n        padding: 60px 0;\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        color: white;\n      }\n      .bg-color {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100vh;\n        opacity: 0;\n        transition: opacity 0.5s ease;\n        z-index: -1;\n      }\n      .bg-color.active {\n        opacity: 1 !important;\n      }\n      .tabs {\n        display: flex;\n        justify-content: center;\n        gap: 28px;\n        width: 100%;\n        padding: 0 0 100px;\n        z-index: 5;\n      }\n      .tabs .tab {\n        background: transparent;\n        border: none;\n        padding: 0;\n        cursor: pointer;\n        opacity: 0.5;\n\/*         transition: 0.3s ease; *\/\n      }\n      .tabs .tab img {\n        width: auto;\n        height: 40px;\n        padding-bottom: 6px;\n      }\n      .tabs .tab.active {\n        opacity: 1;\n        border-bottom: 3px solid white;\n      }\n      .tab-content-container {\n        width: 80%;\n        text-align: left;\n        margin-top: 10px;\n        position: relative;\n        z-index: 10;\n      }\n      .tab-content {\n        display: none;\n        opacity: 0;\n        transition: opacity 0.3s ease;\n      }\n      .tab-content.active {\n        display: block;\n        opacity: 1;\n      }\n      .tab-content h2 {\n        font-size: 80px;\n        font-weight: 700;\n        color: #fff;\n      }\n      .tab-content h3 {\n        font-size: 18px;\n        font-weight: 400;\n        color: #fff;\n        padding-bottom: 20px;\n      }\n      .tab-content p {\n        font-size: 18px;\n        font-weight: 100;\n        color: #fff;\n        margin-bottom: 25px;\n      }\n      .product-icon{\n        height: 100px;\n        padding-bottom: 25px;\n      }\n      .tab-left {\n        flex: 1 1 50%;\n        position: relative;\n        box-sizing: border-box;\n        padding: 20px;\n      }\n      .tab-left .icon-bottom-right {\n        position: absolute;\n        bottom: 0;\n        right: 0;\n        width: 50%;\n        object-fit: contain;\n        opacity: 0.1;\n      }\n      .product-explore-button{\n        display: inline-block;\n        padding: 10px 30px; \n        background-color: #3b2fa6; \n        color: #ffffff;        \n        font-weight: 600;\n        text-transform: uppercase;\n        text-decoration: none;\n        border-radius: 50px;    \n        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);\n        transition: all 0.3s ease;\n      }\n      .product-explore-button:hover {\n        background-color: #2e2380; \n        transform: translateY(-2px);\n        box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3);\n      }\n\n      .product-images img{\n        border-radius: 20px;\n        height: 50vh;\n        width: auto !important;\n        margin: auto;\n      }\n      \n    <\/style>\n    <div class=\"tab-wrapper\">\n                <div class=\"tabs\">\n            \t\t\t\t                <div id=\"bg1\"\n                    class=\"bg-color active\"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #6E68E2;\">\n                <\/div>\n                <button class=\"tab active\" \n                        data-tab=\"tab1\" \n                        data-bg=\"bg1\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew-icon.svg\" title=\"IntelliCrew\" alt=\"IntelliCrew Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg2\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #9c1b37;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab2\" \n                        data-bg=\"bg2\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-icon.svg\" title=\"QDMS AI Search & Chatbot\" alt=\"QDMS AI Search & Chatbot Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg3\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #c73059;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab3\" \n                        data-bg=\"bg3\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai-icon.svg\" title=\"FaultSenseAI\" alt=\"FaultSenseAI Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg4\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #c80330;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab4\" \n                        data-bg=\"bg4\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot-icon.svg\" title=\"FinBot\" alt=\"FinBot Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg5\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #a31492;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab5\" \n                        data-bg=\"bg5\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot-icon.svg\" title=\"SupportBot\" alt=\"SupportBot Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg6\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #0c59f5;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab6\" \n                        data-bg=\"bg6\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai-icon.svg\" title=\"ScavAI\" alt=\"ScavAI Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg7\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #050581;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab7\" \n                        data-bg=\"bg7\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware-icon.svg\" title=\"smartAware\" alt=\"smartAware Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg8\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #7f3dc3;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab8\" \n                        data-bg=\"bg8\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inpection-icon.svg\" title=\"InspectAI\" alt=\"InspectAI Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t                <div id=\"bg9\"\n                    class=\"bg-color \"\n                    style=\"background: url('https:\/\/oceanai.ai\/wp-content\/uploads\/swril-background.webp') center\/cover no-repeat, #191826;\">\n                <\/div>\n                <button class=\"tab \" \n                        data-tab=\"tab9\" \n                        data-bg=\"bg9\">\n                    <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/QA-Agent-Icon-white-1.svg\" title=\"QA Agent\" alt=\"QA Agent Icon\">\n                <\/button>\t\t\t\t\n            \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t        <\/div>\n                        <div class=\"tab-content-container\">\n                            <div id=\"tab1\" \n                     class=\"tab-content active\">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew-icon.svg\" class=\"product-icon\" title=\"IntelliCrew\" alt=\"IntelliCrew Icon\">\n                            <h2>IntelliCrew<\/h2>\n                            <h3>Experience the Future of Crew Management<\/h3>\n                            <p>IntelliCrew harnesses the power of AI to enhance crew management, ensuring optimal crew selection, reduced operational costs, and improved performance. <\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/intellicrew\/\" target=\"_self\">\n                                   IntelliCrew                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew-1.webp\" \n                                                 alt=\"IntelliCrew crew intelligence solution for fleet planning\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab2\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-icon.svg\" class=\"product-icon\" title=\"QDMS AI Search & Chatbot\" alt=\"QDMS AI Search & Chatbot Icon\">\n                            <h2>QDMS AI Search &amp; Chatbot<\/h2>\n                            <h3>Effortless AI-driven Document Search<\/h3>\n                            <p>QDMS AI Search &amp; Chatbot is an intelligent, AI-enhanced extension of smartPAL\u2019s Quality\r\nDocument Management System, designed to streamline access to critical maritime\r\ndocuments, procedures, forms, and circulars.<\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/qdms-ai-search-chatbot\/\" target=\"_self\">\n                                   QDMS AI Search &amp;  Chatbot                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms_ai_search_chatbot.webp\" \n                                                 alt=\"QDMS AI search and chatbot for document retrieval\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab3\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai-icon.svg\" class=\"product-icon\" title=\"FaultSenseAI\" alt=\"FaultSenseAI Icon\">\n                            <h2>FaultSenseAI<\/h2>\n                            <h3>AI-driven Proactive Engine Health Monitoring<\/h3>\n                            <p>FaultSenseAI revolutionizes maritime maintenance by leveraging advanced AI\r\nto detect, diagnose, and predict equipment faults with unparalleled accuracy.<\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/faultsenseai\/\" target=\"_self\">\n                                   FaultSenseAI                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/faultsenseAI.webp\" \n                                                 alt=\"FaultSenseAI predictive maintenance monitoring solution\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab4\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot-icon.svg\" class=\"product-icon\" title=\"FinBot\" alt=\"FinBot Icon\">\n                            <h2>FinBot<\/h2>\n                            <h3>Your AI Financial Assistant<\/h3>\n                            <p>FinBot is an AI-powered virtual financial assistant designed to simplify interaction\r\nwith financial data for maritime businesses.<\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/finbot\/\" target=\"_self\">\n                                   FinBot                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/finbot.webp\" \n                                                 alt=\"FinBot AI-powered financial assistant product image\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab5\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot-icon.svg\" class=\"product-icon\" title=\"SupportBot\" alt=\"SupportBot Icon\">\n                            <h2>SupportBot<\/h2>\n                            <h3>Meet Your Efficient AI Assistant<\/h3>\n                            <p>SupportBot redefines maritime support by delivering an intelligent, AI-powered\r\nsolution that eliminates the inefficiencies of traditional ticket-based systems.<\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/supportbot\/\" target=\"_self\">\n                                   SupportBot                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/supportBot.webp\" \n                                                 alt=\"SupportBot AI assistant for maritime support queries\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab6\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai-icon.svg\" class=\"product-icon\" title=\"ScavAI\" alt=\"ScavAI Icon\">\n                            <h2>ScavAI<\/h2>\n                            <h3>AI-Powered Scavenge Inspections <\/h3>\n                            <p>ScavAI is an advanced AI-powered solution designed to optimize the\r\nperformance of scavenging systems in maritime engines.<\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/scavai\/\" target=\"_self\">\n                                   ScavAI                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scavAI.webp\" \n                                                 alt=\"ScaVAI AI analytics solution for maritime operations\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab7\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware-icon.svg\" class=\"product-icon\" title=\"smartAware\" alt=\"smartAware Icon\">\n                            <h2>smartAware<\/h2>\n                            <h3>Real-Time Surveillance for Safer Navigation<\/h3>\n                            <p>smartAware transforms maritime situational awareness by harnessing AI to\r\ndeliver real-time insights and predictive analytics.<\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/smartaware\/\" target=\"_self\">\n                                   SmartAware                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smartAware.webp\" \n                                                 alt=\"SmartAware AI-powered computer vision system\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab8\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inpection-icon.svg\" class=\"product-icon\" title=\"InspectAI\" alt=\"InspectAI Icon\">\n                            <h2>InspectAI<\/h2>\n                            <h3>AI-Enabled Vessel Inspections<\/h3>\n                            <p>InspectAI is a fleet-level AI solution that continuously evaluates crewing, maintenance, safety, and procurement data to highlight operational gaps before they escalate. It creates tailored inspection questions and assigns structured vessel risk ratings based on real-time inputs. <\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/ai-assisted-vessel-inspection\/\" target=\"_self\">\n                                   Explore                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inpection-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/inspectAI.webp\" \n                                                 alt=\"InspectAI maritime risk intelligence platform\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab9\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/QA-Agent-Icon-white-1.svg\" class=\"product-icon\" title=\"QA Agent\" alt=\"QA Agent Icon\">\n                            <h2>QA Agent<\/h2>\n                            <h3>QA Agent- Smart AI for testing<\/h3>\n                            <p>QA Agent is an AI-powered testing assistant that generate end-to-end test artifacts using natural language, functional specifications, and user manuals. Users can simply provide inputs in text or document formats and receive structured outputs such as test cases, viewpoints, release notes, and automation scripts. <\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/qa-agent\/\" target=\"_self\">\n                                   QA Agent                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/QA-Agent-Icon-white-1.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai_assisted_vessel_inspection-1.webp\" \n                                                 alt=\"AI-assisted vessel inspection feature image. AI-powered testing assistant generating automated test cases and QA artifacts\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab10\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/issue-tracker-system-icon.svg\" class=\"product-icon\" title=\"IssuTrax AI Dashboard Assistant \" alt=\"IssuTrax AI Dashboard Assistant  Icon\">\n                            <h2>IssuTrax AI Dashboard Assistant <\/h2>\n                            <h3>Improve Reliability by Utilizing AI-driven Vessel Issue Management<\/h3>\n                            <p>The IssuTrax AI Dashboard Assistant enhances cruisePAL\u2019s IssuTrax module. By enabling natural language interaction directly within the dashboard, users can quickly search issue records, uncover trends, and filter operational data without navigating complex reports.  <\/p>\n                                                            <a class=\"product-explore-button\" href=\"https:\/\/oceanai.ai\/products\/issue-tracker-system\/\" target=\"_self\">\n                                   Explore                                <\/a>\n                                                        <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/issue-tracker-system-icon.svg\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                            <div class=\"product-images\" style=\"display:flex; flex-wrap:wrap; gap:10px;\">\n                                                                                <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/IssuTraxAI.webp\" \n                                                 alt=\"IssuTraxAI dashboard assistant for issue tracking\">\n                                                                                                            <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab11\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"\" class=\"product-icon\" title=\"Detention AI\" alt=\"Detention AI Icon\">\n                            <h2>Detention AI<\/h2>\n                            <h3><\/h3>\n                            <p><\/p>\n                                                            <a class=\"product-explore-button\" \n                                   href=\"\" \n                                   target=\"_self\">\n                                                                   <\/a>\n                                                        <img decoding=\"async\" src=\"\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab12\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"\" class=\"product-icon\" title=\"MS-AI\" alt=\"MS-AI Icon\">\n                            <h2>MS-AI<\/h2>\n                            <h3><\/h3>\n                            <p><\/p>\n                                                            <a class=\"product-explore-button\" \n                                   href=\"\" \n                                   target=\"_self\">\n                                                                   <\/a>\n                                                        <img decoding=\"async\" src=\"\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                            <div id=\"tab13\" \n                     class=\"tab-content \">\n                    <div class=\"tab-content-inner\" style=\"display: flex; flex-wrap: wrap;\">\n                        <div class=\"tab-left\">\n                            <img decoding=\"async\" src=\"\" class=\"product-icon\" title=\"Mailing Agent\" alt=\"Mailing Agent Icon\">\n                            <h2>Mailing Agent<\/h2>\n                            <h3><\/h3>\n                            <p><\/p>\n                                                            <a class=\"product-explore-button\" \n                                   href=\"\" \n                                   target=\"_self\">\n                                                                   <\/a>\n                                                        <img decoding=\"async\" src=\"\" class=\"icon-bottom-right\" alt=\"\">\n                        <\/div>\n                        <div class=\"tab-right\" style=\"flex: 1 1 50%;\">\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n                    <\/div>\n            <\/div>\n\n    <script>\n      const tabs = document.querySelectorAll(\".tab\");\n      const contents = document.querySelectorAll(\".tab-content\");\n      const backgrounds = document.querySelectorAll(\".bg-color\");\n      let currentIndex = 0;\n\n      function activateTab(index) {\n        tabs.forEach(t => t.classList.remove(\"active\"));\n        contents.forEach(c => c.classList.remove(\"active\"));\n        backgrounds.forEach(bg => bg.classList.remove(\"active\"));\n\n        tabs[index].classList.add(\"active\");\n        contents[index].classList.add(\"active\");\n        backgrounds[index].classList.add(\"active\");\n\n        currentIndex = index;\n      }\n\n      tabs.forEach((tab, index) => {\n        tab.addEventListener(\"click\", () => {\n          activateTab(index);\n        });\n      });\n\n      \/\/ Auto-scroll every 8 seconds\n      setInterval(() => {\n        let nextIndex = (currentIndex + 1) % tabs.length;\n        activateTab(nextIndex);\n      }, 800000);\n    <\/script>\n\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\"1\" admin_label=\"Year Slider\" module_class=\"year-slider-section\" _builder_version=\"4.27.4\" _module_preset=\"default\" background_enable_color=\"off\" collapsed=\"off\" global_colors_info=\"{}\"][et_pb_row _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_column type=\"4_4\" _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"][et_pb_code disabled_on=\"on|on|on\" admin_label=\"\u65e7\u30b3\u30fc\u30c9\" _builder_version=\"4.27.4\" _module_preset=\"default\" disabled=\"on\" global_colors_info=\"{}\"]<\/p>\n<style><!-- [et_pb_line_break_holder] -->.timeline-wrapper {<!-- [et_pb_line_break_holder] -->  height: calc(100vh * 4);<!-- [et_pb_line_break_holder] -->  position: relative;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-sticky {<!-- [et_pb_line_break_holder] -->  position: sticky;<!-- [et_pb_line_break_holder] -->  top: 0;<!-- [et_pb_line_break_holder] -->  height: 100vh;<!-- [et_pb_line_break_holder] -->  display: flex;<!-- [et_pb_line_break_holder] -->  background: #fff;<!-- [et_pb_line_break_holder] -->  overflow: hidden;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-years {<!-- [et_pb_line_break_holder] -->  width: 30%;<!-- [et_pb_line_break_holder] -->  padding: 80px;<!-- [et_pb_line_break_holder] -->  display: flex;<!-- [et_pb_line_break_holder] -->  flex-direction: column;<!-- [et_pb_line_break_holder] -->  justify-content: center;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-year {<!-- [et_pb_line_break_holder] -->  font-size: 42px;<!-- [et_pb_line_break_holder] -->  color: #cfcfcf;<!-- [et_pb_line_break_holder] -->  transition: 0.3s;<!-- [et_pb_line_break_holder] -->  margin: 15px 0;<!-- [et_pb_line_break_holder] -->  font-weight: 400;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-year.active {<!-- [et_pb_line_break_holder] -->  font-size: 150px;<!-- [et_pb_line_break_holder] -->  color: #4b4b4b;<!-- [et_pb_line_break_holder] -->  font-weight: 700;<!-- [et_pb_line_break_holder] -->  margin: 50px 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-content {<!-- [et_pb_line_break_holder] -->  width: 70%;<!-- [et_pb_line_break_holder] -->  position: relative;<!-- [et_pb_line_break_holder] -->  overflow: hidden;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-slides {<!-- [et_pb_line_break_holder] -->  position: absolute;<!-- [et_pb_line_break_holder] -->  inset: 0;<!-- [et_pb_line_break_holder] -->  transition: transform 0.35s ease-out;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.timeline-slide {<!-- [et_pb_line_break_holder] -->  height: 100vh;<!-- [et_pb_line_break_holder] -->  padding: 80px;<!-- [et_pb_line_break_holder] -->  display: grid;<!-- [et_pb_line_break_holder] -->  grid-template-columns: repeat(2, 1fr);<!-- [et_pb_line_break_holder] -->  gap: 30px 10px;<!-- [et_pb_line_break_holder] -->  align-content: center;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.feature {<!-- [et_pb_line_break_holder] -->  display: flex;<!-- [et_pb_line_break_holder] -->  flex-direction: column;<!-- [et_pb_line_break_holder] -->  align-items: flex-start;<!-- [et_pb_line_break_holder] -->  width: 80%;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.feature img {<!-- [et_pb_line_break_holder] -->  width: 56px;<!-- [et_pb_line_break_holder] -->  height: 56px;<!-- [et_pb_line_break_holder] -->  margin-bottom: 16px;<!-- [et_pb_line_break_holder] -->  object-fit: contain;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.feature h4 {<!-- [et_pb_line_break_holder] -->  margin: 0 0 8px;<!-- [et_pb_line_break_holder] -->  font-size: 18px;<!-- [et_pb_line_break_holder] -->  font-weight: 600;<!-- [et_pb_line_break_holder] -->  color: #222;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.feature p {<!-- [et_pb_line_break_holder] -->  margin: 0;<!-- [et_pb_line_break_holder] -->  font-size: 14px;<!-- [et_pb_line_break_holder] -->  color: #666;<!-- [et_pb_line_break_holder] -->  line-height: 1.5;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"timeline-wrapper\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"timeline-sticky\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- YEARS --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"timeline-years\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"timeline-year active\">2025<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"timeline-year\">2024<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"timeline-year\">2023<\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"timeline-year\">2022<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"timeline-content\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"timeline-slides\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"timeline-slide\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>IntelliCrew<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>Smart Aware<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>QDMS\u30dc\u30c3\u30c8<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>AI\u99c6\u52d5\u306e\u54c1\u8cea\u30a4\u30f3\u30b5\u30a4\u30c8<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>Fault Sense<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u8a3a\u65ad<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"timeline-slide\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30aa\u30fc\u30c8\u30e1\u30fc\u30b7\u30e7\u30f3\u30b3\u30a2<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u30d7\u30ed\u30bb\u30b9\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30a2\u30ca\u30ea\u30c6\u30a3\u30af\u30b9\u30cf\u30d6<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30ef\u30fc\u30af\u30d5\u30ed\u30fcAI<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u9069\u5fdc\u578b\u5b9f\u884c\u30a8\u30f3\u30b8\u30f3<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u4e88\u6e2c\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u4e88\u6e2c\u99c6\u52d5\u578b\u904b\u7528<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"timeline-slide\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30af\u30e9\u30a6\u30c9\u540c\u671f<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u30de\u30eb\u30c1\u30ea\u30fc\u30b8\u30e7\u30f3\u53ef\u7528\u6027<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30e1\u30c3\u30b7\u30e5<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u30bc\u30ed\u30c8\u30e9\u30b9\u30c8\u5b9f\u65bd<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u7d71\u5408\u30cf\u30d6<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>API\u30d5\u30a1\u30fc\u30b9\u30c8\u63a5\u7d9a<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u76e3\u67fb\u8a3c\u8de1<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u898f\u5236\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"timeline-slide\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30ec\u30ac\u30b7\u30fc\u30b9\u30a4\u30fc\u30c8<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u9577\u671f\u7684\u306a\u5b89\u5b9a\u6027<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30ec\u30dd\u30fc\u30c8\u30a8\u30f3\u30b8\u30f3<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u69cb\u9020\u5316\u3055\u308c\u305f\u30a4\u30f3\u30b5\u30a4\u30c8<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30a2\u30af\u30bb\u30b9\u5236\u5fa1<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u30ed\u30fc\u30eb\u30d9\u30fc\u30b9\u306e\u6a29\u9650<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"feature\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4>\u30c7\u30fc\u30bf\u30a2\u30fc\u30ab\u30a4\u30d6<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <pee>\u5b89\u5168\u306a\u9577\u671f\u4fdd\u5b58<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->  (() => {<!-- [et_pb_line_break_holder] -->    const wrapper = document.querySelector(\".timeline-wrapper\");<!-- [et_pb_line_break_holder] -->    const slides = document.querySelector(\".timeline-slides\");<!-- [et_pb_line_break_holder] -->    const years = [...document.querySelectorAll(\".timeline-year\")];<!-- [et_pb_line_break_holder] -->    const total = years.length;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    window.addEventListener(<!-- [et_pb_line_break_holder] -->      \"scroll\",<!-- [et_pb_line_break_holder] -->      () => {<!-- [et_pb_line_break_holder] -->        const progress = Math.min(<!-- [et_pb_line_break_holder] -->          Math.max(<!-- [et_pb_line_break_holder] -->            -wrapper.getBoundingClientRect().top \/<!-- [et_pb_line_break_holder] -->              (wrapper.offsetHeight - innerHeight),<!-- [et_pb_line_break_holder] -->            0<!-- [et_pb_line_break_holder] -->          ),<!-- [et_pb_line_break_holder] -->          1<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const index = Math.min(<!-- [et_pb_line_break_holder] -->          total - 1,<!-- [et_pb_line_break_holder] -->          Math.floor(progress * total)<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        slides.style.transform = `translateY(-${index * 100}vh)`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        years.forEach((y, i) =><!-- [et_pb_line_break_holder] -->          y.classList.toggle(\"active\", i === index)<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] -->      },<!-- [et_pb_line_break_holder] -->      { passive: true }<!-- [et_pb_line_break_holder] -->    );<!-- [et_pb_line_break_holder] -->  })();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][et_pb_text disabled_on=\"off|off|off\" _builder_version=\"4.27.4\" _module_preset=\"default\" global_colors_info=\"{}\"]<\/p>\n  <style>\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n       DESKTOP  (base styles, > 767px)\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    .tl-wrapper {\n      height: calc(45vh * 4);\n      position: relative;\n    }\n    .tl-sticky {\n      position: sticky;\n      top: 0;\n      height: 100vh;\n      display: flex;\n      background: #fff;\n      overflow: hidden;\n    }\n    .tl-years {\n      width: 30%;\n      padding: 80px 40px 80px 80px;\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      flex-shrink: 0;\n    }\n    .tl-year {\n      font-size: 38px;\n      color: #cfcfcf;\n      transition: font-size .3s, color .3s, margin .3s, text-shadow .3s;\n      margin: 12px 0;\n      font-weight: 400;\n      cursor: pointer;\n      user-select: none;\n      line-height: 1;\n      white-space: nowrap;\n    }\n    .tl-year.active {\n      font-size: 130px;\n      color: #4b4b4b;\n      font-weight: 700;\n      margin: 0 0;\n      text-shadow: 5px 7px 0 #ededed;\n    }\n    .tl-content {\n      flex: 1;\n      position: relative;\n      overflow: hidden;\n      margin-left: 40px;\n    }\n    .tl-slides {\n      position: absolute;\n      inset: 0;\n      transition: transform .35s ease-out;\n      width: 100%;\n    }\n    .tl-slide {\n      height: 100vh;\n      padding: 80px 20px 40px;\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 30px 20px;\n      align-content: center;\n      box-sizing: border-box;\n    }\n    .tl-feature {\n      display: flex;\n      flex-direction: column;\n      align-items: flex-start;\n      width: 90%;\n    }\n    .tl-feature img {\n      width: 60px;\n      height: 60px;\n      margin-bottom: 14px;\n      object-fit: contain;\n    }\n    .tl-feature h4 {\n      font-size: 20px;\n      font-weight: 600;\n      color: #222;\n      margin: 0 0 6px;\n    }\n    .tl-feature p {\n      margin: 0;\n      font-size: 15px;\n      color: #666;\n      line-height: 1.5;\n    }\n    .tl-feature-text { flex: 1; }\n    .tl-title {\n\t  width: 100%;\n      font-size: 22px;\n      text-align: center;\n      position: absolute;\n      top: 16px;\n      left: 50%;\n      transform: translateX(-50%);\n      z-index: 20;\n      background: #fff;\n      padding: 0 16px;\n      white-space: nowrap;\n      margin: 0;\n      font-weight: 600;\n      color: #333;\n    }\n    #page-container, body, .et-boc, .et-l,\n    .et_builder_inner_content, .et_pb_section,\n    .et_pb_row, .et_pb_column, .entry-content {\n      overflow: visible !important;\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n       TABLET  (768px \u2013 1024px)\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    @media (max-width: 1024px) and (min-width: 768px) {\n      .tl-years {\n        width: 30%;\n        padding: 80px 20px 80px 40px;\n      }\n      .tl-year {\n        font-size: 26px;\n        margin: 10px 0;\n      }\n      .tl-year.active {\n        font-size: 72px;\n        margin: 36px 0;\n        text-shadow: 3px 5px 0 #ededed;\n      }\n      .tl-content {\n        margin-left: 20px;\n      }\n      .tl-slide {\n        padding: 80px 10px 40px;\n        gap: 24px 12px;\n      }\n      .tl-feature h4 {\n        font-size: 17px;\n      }\n      .tl-feature p {\n        font-size: 13px;\n      }\n      .tl-feature img {\n        width: 50px;\n        height: 50px;\n      }\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n       MOBILE  (\u2264 767px)\n    \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    @media (max-width: 767px) {\n      .tl-wrapper {\n        height: auto !important;\n        min-height: 0 !important;\n      }\n      .tl-sticky {\n        position: static !important;\n        height: auto !important;\n        flex-direction: column !important;\n        overflow: visible !important;\n        padding-top: 50px;\n      }\n      .tl-years {\n        width: 100% !important;\n        flex-direction: row !important;\n        flex-wrap: wrap !important;\n        justify-content: center !important;\n        padding: 12px 16px !important;\n        gap: 8px !important;\n        border-bottom: 2px solid #f0f0f0;\n        box-sizing: border-box !important;\n      }\n      .tl-year {\n        font-size: 13px !important;\n        margin: 0 !important;\n        padding: 6px 14px !important;\n        border: 1.5px solid #d0d0d0 !important;\n        border-radius: 999px !important;\n        background: #fff !important;\n        color: #888 !important;\n        text-shadow: none !important;\n        white-space: nowrap;\n        transition: background .2s, color .2s, border-color .2s !important;\n      }\n      .tl-year.active {\n        font-size: 13px !important;\n        font-weight: 700 !important;\n        color: #fff !important;\n        background: #4b4b4b !important;\n        border-color: #4b4b4b !important;\n        text-shadow: none !important;\n        margin: 0 !important;\n      }\n      .tl-content {\n        width: 100% !important;\n        margin-left: 0 !important;\n        position: static !important;\n        overflow: visible !important;\n        flex: none !important;\n      }\n      .tl-slides {\n        position: static !important;\n        transform: none !important;\n        transition: none !important;\n        inset: auto !important;\n        width: 100% !important;\n      }\n      .tl-slide {\n        display: none !important;\n        height: auto !important;\n        padding: 24px 16px !important;\n        grid-template-columns: 1fr !important;\n        gap: 20px !important;\n        align-content: start !important;\n        box-sizing: border-box !important;\n      }\n      .tl-slide.mob-active {\n        display: grid !important;\n      }\n      .tl-feature {\n        width: 100% !important;\n        flex-direction: row !important;\n        align-items: flex-start !important;\n        gap: 14px !important;\n      }\n      .tl-feature img {\n        width: 42px !important;\n        height: 42px !important;\n        margin-bottom: 0 !important;\n        flex-shrink: 0 !important;\n      }\n      .tl-feature h4 {\n        font-size: 15px !important;\n        margin: 0 0 4px !important;\n      }\n      .tl-feature p {\n        font-size: 13px !important;\n      }\n      .tl-title {\n        font-size: 16px;\n        top: 10px;\n      }   \n\t\t.footer-section::before {\n\t\t  top: -4vh;\n\t\t}\n\t }\n  <\/style>\n  <div class=\"tl-wrapper\">\n    <div class=\"tl-sticky\">\n      <h3 class=\"tl-title\">Road Map<\/h3>\n      <div class=\"tl-years\">\n                  <div class=\"tl-year active\" data-index=\"0\">\n            2024          <\/div>\n                  <div class=\"tl-year\" data-index=\"1\">\n            2025          <\/div>\n                  <div class=\"tl-year\" data-index=\"2\">\n            2026          <\/div>\n                  <div class=\"tl-year\" data-index=\"3\">\n            2027          <\/div>\n              <\/div>\n      <div class=\"tl-content\">\n        <div class=\"tl-slides\">\n                      <div class=\"tl-slide mob-active\" data-slide=\"0\">\n              \t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/smartaware\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/smart-aware.png\" alt=\"Smart Aware\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>Smart Aware<\/h4>\n                    <p>smartAware transforms maritime situational awareness by harnessing AI to deliver real-time insights and predictive analytics.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/scavai\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/scav-ai.png\" alt=\"Scav AI\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>Scav AI<\/h4>\n                    <p>ScavAI redefines scavenge inspection reporting by combining computer vision with automated defect intelligence.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/faultsenseai\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fault-sense-ai.png\" alt=\"Fault Sense AI\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>Fault Sense AI<\/h4>\n                    <p>An AI-powered reliability intelligence platform designed to help fleet operators identify, analyze, and prevent machinery failures.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t                          <\/div>\n                      <div class=\"tl-slide\" data-slide=\"1\">\n              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/inspectai\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/ai-assisted-vessel-inspection.png\" alt=\"Inspect AI\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>Inspect AI<\/h4>\n                    <p>An AI-powered system that provides proactive risk insights and inspection support to improve safety and compliance.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/finbot\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/fin-bot.png\" alt=\"FinBot\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>FinBot<\/h4>\n                    <p>An AI-driven finance assistant that turns questions into insights, reports, and actionable intelligence.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/qa-agent\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/QA-Agent-Icon.svg\" alt=\"QA Agent\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>QA Agent<\/h4>\n                    <p>An AI-driven assistant that converts requirements into structured test artifacts for faster, accurate testing.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/supportbot\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/support-bot.png\" alt=\"Support Bot\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>Support Bot<\/h4>\n                    <p>An AI-driven assistant that delivers real-time support, resolves queries, and streamlines ticket management.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/qdms-ai-search-chatbot\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/qdms-ai-search.png\" alt=\"QDMS AI\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>QDMS AI<\/h4>\n                    <p>An intelligent assistant for fast, context-based search and retrieval of compliance documents.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t                          <\/div>\n                      <div class=\"tl-slide\" data-slide=\"2\">\n              \t\t\t\t                <div class=\"tl-feature\">\n                  <a href=\"https:\/\/oceanai.ai\/products\/intellicrew\/\" target=\"_self\"><img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/intellicrew.png\" alt=\"Intellicrew\"><\/a>                  <div class=\"tl-feature-text\">\n                    <h4>Intellicrew<\/h4>\n                    <p>An AI-powered system to enhance crew management, ensuring optimal crew selection, reduced operational costs, and improved performance.<\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t              \t\t\t\t              \t\t\t\t                          <\/div>\n                      <div class=\"tl-slide\" data-slide=\"3\">\n              \t\t\t\t                <div class=\"tl-feature\">\n                  <img decoding=\"async\" src=\"https:\/\/oceanai.ai\/wp-content\/uploads\/product-dummy.png\" alt=\"Timeline Icon\">                  <div class=\"tl-feature-text\">\n                    <h4><\/h4>\n                    <p>By 2027, mini AI systems will enable real-time operations and insights on crew wearables. Prototypes launch by Q2 2027 for cost-effective, scalable performance. <\/p>\n                  <\/div>\n                <\/div>\n\t\t\t\t                          <\/div>\n                  <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n  <script>\n    (() => {\n      const BP = 767;\n      const isMobile = () => window.innerWidth <= BP;\n      const wrapper    = document.querySelector('.tl-wrapper');\n      const sticky     = document.querySelector('.tl-sticky');\n      const slidesWrap = document.querySelector('.tl-slides');\n      const years      = [...document.querySelectorAll('.tl-year')];\n      const slides     = [...document.querySelectorAll('.tl-slide')];\n      if (!wrapper || !sticky || !slidesWrap || !years.length) return;\n      const total = years.length;\n      let activeIdx = 0;\n      function mobileActivate(idx) {\n        activeIdx = idx;\n        years.forEach((y, i)  => y.classList.toggle('active',     i === idx));\n        slides.forEach((s, i) => s.classList.toggle('mob-active', i === idx));\n      }\n      function getHeaderOffset() {\n        const h = document.querySelector('.main-header');\n        return (h ? h.offsetHeight : 0) + 20;\n      }\n      function applyDesktopOffset() {\n        const off = getHeaderOffset();\n        sticky.style.top    = off + 'px';\n        sticky.style.height = 'calc(100vh - ' + off + 'px)';\n        slides.forEach(s => { s.style.height = 'calc(100vh - ' + off + 'px)'; });\n      }\n      function clearDesktopStyles() {\n        sticky.style.top    = '';\n        sticky.style.height = '';\n        slides.forEach(s => { s.style.height = ''; s.style.display = ''; });\n        slidesWrap.style.transform = '';\n      }\n      function desktopScroll() {\n        if (isMobile()) return;\n        const rect      = wrapper.getBoundingClientRect();\n        const wrapperH  = wrapper.offsetHeight;\n        const viewportH = window.innerHeight;\n        const scrolled  = -rect.top;\n        const progress  = Math.min(Math.max(scrolled \/ (wrapperH - viewportH), 0), 1);\n        const idx       = Math.min(total - 1, Math.floor(progress * total));\n        if (idx !== activeIdx) {\n          activeIdx = idx;\n          slidesWrap.style.transform = 'translateY(-' + (idx * sticky.offsetHeight) + 'px)';\n          years.forEach((y, i)  => y.classList.toggle('active',     i === idx));\n          slides.forEach((s, i) => s.classList.toggle('mob-active', i === idx));\n        }\n      }\n      function desktopScrollTo(idx) {\n        const progress   = total <= 1 ? 0 : idx \/ (total - 1);\n        const wrapperTop = wrapper.getBoundingClientRect().top + window.pageYOffset;\n        window.scrollTo({\n          top: wrapperTop + progress * (wrapper.offsetHeight - window.innerHeight),\n          behavior: 'smooth'\n        });\n      }\n      function initMobile() {\n        clearDesktopStyles();\n        mobileActivate(activeIdx);\n      }\n      function initDesktop() {\n        slides.forEach(s => s.classList.remove('mob-active'));\n        applyDesktopOffset();\n        desktopScroll();\n      }\n      years.forEach(y => {\n        y.addEventListener('click', () => {\n          const idx = parseInt(y.dataset.index, 10);\n          if (isMobile()) {\n            mobileActivate(idx);\n          } else {\n            desktopScrollTo(idx);\n          }\n        });\n      });\n      window.addEventListener('scroll', desktopScroll, { passive: true });\n      window.addEventListener('resize', () => {\n        isMobile() ? initMobile() : initDesktop();\n      });\n      isMobile() ? initMobile() : initDesktop();\n    })();\n  <\/script>\n\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Predict. Prevent. Perform. AI\u642d\u8f09\u306e\u8239\u8236\u7ba1\u7406\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u3001\u52b9\u7387\u6027\u30fb\u5b89\u5168\u6027\u30fb\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u3092\u5411\u4e0a\u3002 \u8a73\u7d30\u3092\u898b\u308b\u6d77\u4e8b\u30a4\u30ce\u30d9\u30fc\u30b7\u30e7\u30f3\u306e\u305f\u3081\u306eAI\u306e\u529b\u3092\u6d3b\u7528 MariApps\u30b0\u30eb\u30fc\u30d7\u306e\u30e1\u30f3\u30d0\u30fc\u3067\u3042\u308bOceanAI\u306f\u3001\u5148\u9032\u7684\u306a\u4eba\u5de5\u77e5\u80fd\u3092\u901a\u3058\u3066\u6d77\u4e8b\u696d\u754c\u306b\u9769\u547d\u3092\u3082\u305f\u3089\u3059\u3053\u3068\u306b\u5c02\u5ff5\u3057\u3066\u3044\u307e\u3059\u3002\u79c1\u305f\u3061\u306e\u4f7f\u547d\u306f\u3001AI\u6280\u8853\u3092MariApps\u306e\u4e3b\u529b\u30c7\u30b8\u30bf\u30eb\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b9\u30a4\u30fc [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":15109,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-15015","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/pages\/15015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/comments?post=15015"}],"version-history":[{"count":19,"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/pages\/15015\/revisions"}],"predecessor-version":[{"id":15433,"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/pages\/15015\/revisions\/15433"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/media\/15109"}],"wp:attachment":[{"href":"https:\/\/oceanai.ai\/ja\/wp-json\/wp\/v2\/media?parent=15015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}