{"id":1064,"date":"2026-08-31T20:20:13","date_gmt":"2026-08-31T20:20:13","guid":{"rendered":"https:\/\/www.micofoy.fi\/?page_id=1064"},"modified":"2026-09-03T15:37:03","modified_gmt":"2026-09-03T15:37:03","slug":"elintarvikelogistiikka-etela-suomessa","status":"publish","type":"page","link":"https:\/\/www.micofoy.fi\/","title":{"rendered":"Elintarvikelogistiikka Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4"},"content":{"rendered":"\r\n<!-- Mico Finland WordPress bundle: home. Generated; edit sources\/config and rebuild. -->\r\n<div id=\"mico-home-draft\" class=\"mico-home mico-wp-page mico-wp-page--home\" aria-label=\"Mico Finlandin etusivu\">\r\n<style data-mico-bundle-styles>\r\n\/* WordPress \/ Divi shell: active only after this bundle finds its own root. *\/\r\nbody.mico-site-active .et-l--header,\r\nbody.mico-site-active #main-header,\r\nbody.mico-site-active footer.et-l--footer,\r\nbody.mico-site-active #main-footer {\r\n  display: none !important;\r\n  height: 0 !important;\r\n  min-height: 0 !important;\r\n  overflow: hidden !important;\r\n  visibility: hidden !important;\r\n  pointer-events: none !important;\r\n}\r\nbody.mico-site-active #page-container,\r\nbody.mico-site-active #main-content {\r\n  width: 100% !important;\r\n  max-width: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  background: #f6f4ee !important;\r\n}\r\nbody.mico-site-active #main-content > .container,\r\nbody.mico-site-active #main-content > .container > #content-area,\r\nbody.mico-site-active #main-content .entry-content,\r\nbody.mico-site-active #main-content article.page {\r\n  width: 100% !important;\r\n  max-width: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n}\r\nbody.mico-site-active #main-content .et-l--post,\r\nbody.mico-site-active #main-content .et_builder_inner_content,\r\nbody.mico-site-active #main-content .et_pb_section,\r\nbody.mico-site-active #main-content .et_pb_row,\r\nbody.mico-site-active #main-content .et_pb_column,\r\nbody.mico-site-active #main-content .et_pb_module,\r\nbody.mico-site-active #main-content .et_pb_text_inner,\r\nbody.mico-site-active #main-content .et_pb_code_inner {\r\n  width: 100% !important;\r\n  max-width: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n}\r\nbody.mico-site-active #main-content > .container::before { display: none !important; }\r\nbody.mico-site-active .entry-content > p:empty { display: none !important; }\r\nbody.mico-site-active article.page > .entry-title,\r\nbody.mico-site-active article.page > .et_post_meta_wrapper,\r\nbody.mico-site-active .entry-content > .entry-title.main_title {\r\n  display: none !important;\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n}\r\n.mico-wp-page { width: 100%; max-width: none; margin: 0; }\r\n<\/style>\r\n<script data-mico-shell>\r\n(function () {\r\n  \"use strict\";\r\n  var script = document.currentScript;\r\n  var root = script && script.closest(\".mico-wp-page\");\r\n  if (!root || !document.body) return;\r\n  document.body.classList.add(\"mico-site-active\");\r\n\r\n  function prepareMicoPage() {\r\n    if (!document.body.contains(root)) return;\r\n    document.body.classList.add(\"mico-site-active\");\r\n    var landmarks = document.querySelectorAll(\".et-l--header, #main-header, footer.et-l--footer, #main-footer\");\r\n    Array.prototype.forEach.call(landmarks, function (landmark) {\r\n      if (root.contains(landmark)) return;\r\n      landmark.setAttribute(\"aria-hidden\", \"true\");\r\n      landmark.style.setProperty(\"display\", \"none\", \"important\");\r\n      if (\"inert\" in landmark) landmark.inert = true;\r\n    });\r\n    var viewport = document.querySelector('meta[name=\"viewport\"]');\r\n    if (viewport) viewport.setAttribute(\"content\", \"width=device-width, initial-scale=1\");\r\n  }\r\n\r\n  prepareMicoPage();\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", prepareMicoPage, { once: true });\r\n  }\r\n  window.addEventListener(\"load\", prepareMicoPage, { once: true });\r\n})();\r\n<\/script>\r\n  <style>\r\n    body.is-menu-open { overflow: hidden; }\r\n\r\n    body.page-id-993 .et-l--header {\r\n      display: none !important;\r\n      height: 0 !important;\r\n      min-height: 0 !important;\r\n      overflow: hidden !important;\r\n      visibility: hidden !important;\r\n      pointer-events: none !important;\r\n    }\r\n\r\n    body.page-id-993 footer.et-l--footer {\r\n      display: none !important;\r\n      height: 0 !important;\r\n      min-height: 0 !important;\r\n      overflow: hidden !important;\r\n      visibility: hidden !important;\r\n      pointer-events: none !important;\r\n    }\r\n\r\n    body.page-id-993 #main-content .et_builder_inner_content > .et_pb_section:not(:has(#mico-home-draft)) {\r\n      display: none !important;\r\n    }\r\n\r\n    body.page-id-993 #page-container,\r\n    body.page-id-993 #main-content {\r\n      padding-top: 0 !important;\r\n      margin-top: 0 !important;\r\n      background: #f6f4ee !important;\r\n    }\r\n\r\n    body.page-id-993 #main-content .et_pb_section,\r\n    body.page-id-993 #main-content .et_pb_row,\r\n    body.page-id-993 #main-content .et_pb_column,\r\n    body.page-id-993 #main-content .et_pb_code,\r\n    body.page-id-993 #main-content .et_pb_code_inner {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      margin: 0 !important;\r\n      padding: 0 !important;\r\n    }\r\n\r\n    body.page-id-993 #main-content .container {\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      padding: 0 !important;\r\n    }\r\n\r\n    body.page-id-993 #main-content .container::before {\r\n      display: none !important;\r\n    }\r\n\r\n    #mico-home-draft {\r\n      --mh-navy-950: #0c0040;\r\n      --mh-navy-900: #17104c;\r\n      --mh-navy-800: #21185a;\r\n      --mh-navy-700: #30256b;\r\n      --mh-orange: #f5540c;\r\n      --mh-orange-dark: #c84005;\r\n      --mh-paper: #f6f4ee;\r\n      --mh-paper-2: #eeeae1;\r\n      --mh-white: #ffffff;\r\n      --mh-ink: #171128;\r\n      --mh-muted: #625d6c;\r\n      --mh-line: #dcd7ce;\r\n      --mh-line-dark: rgba(255, 255, 255, 0.16);\r\n      --mh-now: #f5540c;\r\n      --mh-development: #786ea8;\r\n      --mh-future: #b9b3cd;\r\n      --mh-shadow: 0 30px 80px rgba(18, 10, 52, 0.14);\r\n      --mh-radius-sm: 10px;\r\n      --mh-radius-md: 18px;\r\n      --mh-radius-lg: 30px;\r\n      --mh-ease: cubic-bezier(.2, .8, .2, 1);\r\n      width: 100%;\r\n      max-width: none;\r\n      margin: 0;\r\n      overflow: clip;\r\n      color: var(--mh-ink);\r\n      background: var(--mh-paper);\r\n      font-family: Manrope, \"Segoe UI\", Arial, sans-serif;\r\n      font-size: 16px;\r\n      line-height: 1.55;\r\n      -webkit-font-smoothing: antialiased;\r\n    }\r\n\r\n    #mico-home-draft *,\r\n    #mico-home-draft *::before,\r\n    #mico-home-draft *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #mico-home-draft :where(h1, h2, h3, p, ul, ol, figure, fieldset) {\r\n      margin-top: 0;\r\n    }\r\n\r\n    #mico-home-draft :where(button, input) {\r\n      font: inherit;\r\n    }\r\n\r\n    #mico-home-draft a {\r\n      color: inherit;\r\n      text-decoration: none;\r\n    }\r\n\r\n    #mico-home-draft img,\r\n    #mico-home-draft svg {\r\n      display: block;\r\n      max-width: 100%;\r\n    }\r\n\r\n    #mico-home-draft .mh-shell {\r\n      width: min(calc(100% - 48px), 1320px);\r\n      margin-inline: auto;\r\n    }\r\n\r\n    #mico-home-draft .mh-shell--narrow {\r\n      width: min(calc(100% - 48px), 1080px);\r\n      margin-inline: auto;\r\n    }\r\n\r\n    #mico-home-draft .mh-section {\r\n      position: relative;\r\n      padding-block: clamp(88px, 10vw, 152px);\r\n    }\r\n\r\n    #mico-home-draft .mh-kicker {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      margin-bottom: 22px;\r\n      color: var(--mh-orange-dark);\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      letter-spacing: .13em;\r\n      line-height: 1.25;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mh-kicker::before {\r\n      content: \"\";\r\n      width: 28px;\r\n      height: 3px;\r\n      border-radius: 2px;\r\n      background: currentColor;\r\n    }\r\n\r\n    #mico-home-draft .mh-kicker--light {\r\n      color: #ff8550;\r\n    }\r\n\r\n    #mico-home-draft .mh-display,\r\n    #mico-home-draft .mh-title {\r\n      color: var(--mh-navy-950);\r\n      font-weight: 760;\r\n      letter-spacing: -.045em;\r\n      text-wrap: balance;\r\n    }\r\n\r\n    #mico-home-draft .mh-display {\r\n      max-width: 940px;\r\n      margin-bottom: 30px;\r\n      font-size: clamp(3rem, 6vw, 6.8rem);\r\n      line-height: .94;\r\n    }\r\n\r\n    #mico-home-draft .mh-title {\r\n      max-width: 900px;\r\n      margin-bottom: 24px;\r\n      font-size: clamp(2.25rem, 4.5vw, 4.75rem);\r\n      line-height: 1;\r\n    }\r\n\r\n    #mico-home-draft .mh-title--light {\r\n      color: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-copy-lg {\r\n      max-width: 740px;\r\n      margin-bottom: 0;\r\n      color: var(--mh-muted);\r\n      font-size: clamp(1.08rem, 1.55vw, 1.32rem);\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #mico-home-draft .mh-copy-lg--light {\r\n      color: #d7d2e5;\r\n    }\r\n\r\n    #mico-home-draft .mh-button {\r\n      min-height: 54px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 12px;\r\n      padding: 0 23px;\r\n      border: 1px solid transparent;\r\n      border-radius: var(--mh-radius-sm);\r\n      color: var(--mh-navy-950);\r\n      background: var(--mh-orange);\r\n      font-size: 15px;\r\n      font-weight: 800;\r\n      line-height: 1.2;\r\n      cursor: pointer;\r\n      transition: transform 180ms var(--mh-ease), background-color 180ms ease, border-color 180ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-button:hover {\r\n      transform: translateY(-2px);\r\n      background: #ff6a28;\r\n    }\r\n\r\n    #mico-home-draft .mh-button[disabled] {\r\n      opacity: .48;\r\n      cursor: not-allowed;\r\n      transform: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-button--light {\r\n      color: #fff;\r\n      border-color: rgba(255,255,255,.35);\r\n      background: rgba(255,255,255,.06);\r\n    }\r\n\r\n    #mico-home-draft .mh-button--light:hover {\r\n      border-color: rgba(255,255,255,.62);\r\n      background: rgba(255,255,255,.12);\r\n    }\r\n\r\n    #mico-home-draft .mh-button--ink {\r\n      color: #fff;\r\n      background: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mh-button--ink:hover {\r\n      background: var(--mh-navy-800);\r\n    }\r\n\r\n    #mico-home-draft .mh-button:focus-visible,\r\n    #mico-home-draft a:focus-visible,\r\n    #mico-home-draft button:focus-visible,\r\n    #mico-home-draft input:focus-visible + .mf-choice {\r\n      outline: 3px solid var(--mh-orange);\r\n      outline-offset: 4px;\r\n    }\r\n\r\n    #mico-home-draft .mh-skip {\r\n      position: fixed;\r\n      top: 12px;\r\n      left: 12px;\r\n      z-index: 10000;\r\n      padding: 11px 16px;\r\n      color: var(--mh-navy-950);\r\n      background: #fff;\r\n      border-radius: 8px;\r\n      box-shadow: var(--mh-shadow);\r\n      transform: translateY(-160%);\r\n      transition: transform 160ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-skip:focus {\r\n      transform: translateY(0);\r\n    }\r\n\r\n    \/* Custom navigation *\/\r\n    #mico-home-draft .mh-nav {\r\n      position: sticky;\r\n      top: 0;\r\n      z-index: 50;\r\n      color: #fff;\r\n      border-bottom: 1px solid rgba(255,255,255,.12);\r\n      background: rgba(12,0,64,.96);\r\n      box-shadow: 0 12px 38px rgba(8,0,34,.12);\r\n      backdrop-filter: blur(18px) saturate(150%);\r\n      -webkit-backdrop-filter: blur(18px) saturate(150%);\r\n    }\r\n\r\n    #mico-home-draft .mh-nav.is-docked {\r\n      background: rgba(12, 0, 64, .96);\r\n      box-shadow: 0 12px 38px rgba(8, 0, 34, .12);\r\n    }\r\n\r\n    body.admin-bar #mico-home-draft .mh-nav,\r\n    body.admin-bar #mico-home-draft .mh-nav.is-docked {\r\n      top: 32px;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-inner {\r\n      min-height: 88px;\r\n      display: grid;\r\n      grid-template-columns: auto 1fr auto;\r\n      gap: 30px;\r\n      align-items: center;\r\n      border-bottom: 0;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav.is-docked .mh-nav-inner {\r\n      min-height: 88px;\r\n      border-bottom-color: transparent;\r\n    }\r\n\r\n    #mico-home-draft .mh-logo {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      border-radius: 8px;\r\n    }\r\n\r\n    #mico-home-draft .mh-logo img {\r\n      width: 116px;\r\n      height: auto;\r\n      border-radius: 0;\r\n      object-fit: contain;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-links {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: clamp(18px, 2.2vw, 34px);\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-links a {\r\n      padding-block: 10px;\r\n      color: rgba(255,255,255,.8);\r\n      font-size: 13px;\r\n      font-weight: 750;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-links a:hover,\r\n    #mico-home-draft .mh-nav-links a:focus-visible,\r\n    #mico-home-draft .mh-nav-links a[aria-current=\"page\"] {\r\n      color: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-actions {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 12px;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-cta {\r\n      min-height: 50px;\r\n      padding-inline: 20px;\r\n      font-size: 14px;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-toggle {\r\n      width: 50px;\r\n      height: 50px;\r\n      display: none;\r\n      place-items: center;\r\n      padding: 0;\r\n      border: 1px solid rgba(255,255,255,.3);\r\n      border-radius: 50%;\r\n      color: #fff;\r\n      background: rgba(255,255,255,.06);\r\n      cursor: pointer;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-toggle-lines,\r\n    #mico-home-draft .mh-nav-toggle-lines::before,\r\n    #mico-home-draft .mh-nav-toggle-lines::after {\r\n      width: 19px;\r\n      height: 2px;\r\n      display: block;\r\n      border-radius: 2px;\r\n      background: currentColor;\r\n      transition: transform 180ms ease, opacity 180ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-toggle-lines {\r\n      position: relative;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-toggle-lines::before,\r\n    #mico-home-draft .mh-nav-toggle-lines::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-toggle-lines::before { top: -6px; }\r\n    #mico-home-draft .mh-nav-toggle-lines::after { top: 6px; }\r\n    #mico-home-draft .mh-nav-toggle[aria-expanded=\"true\"] .mh-nav-toggle-lines { background: transparent; }\r\n    #mico-home-draft .mh-nav-toggle[aria-expanded=\"true\"] .mh-nav-toggle-lines::before { transform: translateY(6px) rotate(45deg); }\r\n    #mico-home-draft .mh-nav-toggle[aria-expanded=\"true\"] .mh-nav-toggle-lines::after { transform: translateY(-6px) rotate(-45deg); }\r\n\r\n    \/* Hero *\/\r\n    #mico-home-draft .mh-hero {\r\n      position: relative;\r\n      isolation: isolate;\r\n      min-height: 790px;\r\n      display: grid;\r\n      align-items: center;\r\n      overflow: hidden;\r\n      color: #fff;\r\n      background: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-media,\r\n    #mico-home-draft .mh-hero-shade,\r\n    #mico-home-draft .mh-hero-gridlines {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: -3;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-media {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      object-position: center;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-shade {\r\n      z-index: -2;\r\n      background:\r\n        linear-gradient(90deg, rgba(12,0,64,.99) 0%, rgba(12,0,64,.93) 49%, rgba(12,0,64,.35) 78%, rgba(12,0,64,.44) 100%),\r\n        linear-gradient(0deg, rgba(12,0,64,.44), transparent 42%);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-gridlines {\r\n      z-index: -1;\r\n      opacity: .09;\r\n      background-image:\r\n        linear-gradient(rgba(255,255,255,.28) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(255,255,255,.28) 1px, transparent 1px);\r\n      background-size: 34px 34px;\r\n      mask-image: linear-gradient(90deg, #000, transparent 80%);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-inner {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 7fr) minmax(320px, 4fr);\r\n      gap: clamp(48px, 7vw, 106px);\r\n      align-items: end;\r\n      padding-block: clamp(128px, 13vw, 184px) clamp(82px, 9vw, 118px);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-copy {\r\n      max-width: 840px;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero .mh-kicker {\r\n      margin-bottom: 28px;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero h1 {\r\n      margin: 0;\r\n      color: #fff;\r\n      font-size: clamp(3.25rem, 5.4vw, 5.65rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.058em;\r\n      line-height: .93;\r\n      text-wrap: balance;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-lead {\r\n      max-width: 730px;\r\n      margin: 32px 0 0;\r\n      color: #d7d2e5;\r\n      font-size: clamp(1.08rem, 1.48vw, 1.3rem);\r\n      line-height: 1.62;\r\n    }\r\n\r\n    #mico-home-draft .mh-actions {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 14px;\r\n      margin-top: 38px;\r\n    }\r\n\r\n    #mico-home-draft .mh-system-card {\r\n      padding: 24px;\r\n      border: 1px solid rgba(255,255,255,.2);\r\n      border-radius: 22px;\r\n      background: rgba(12,0,64,.76);\r\n      box-shadow: 0 28px 70px rgba(6,0,30,.3);\r\n      backdrop-filter: blur(16px);\r\n    }\r\n\r\n    #mico-home-draft .mh-system-head {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 16px;\r\n      margin-bottom: 22px;\r\n    }\r\n\r\n    #mico-home-draft .mh-system-title {\r\n      margin: 0;\r\n      color: #fff;\r\n      font-size: 15px;\r\n      font-weight: 800;\r\n    }\r\n\r\n    #mico-home-draft .mh-status {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      min-height: 28px;\r\n      padding: 5px 9px;\r\n      border-radius: 999px;\r\n      font-size: 10px;\r\n      font-weight: 850;\r\n      letter-spacing: .08em;\r\n      line-height: 1.15;\r\n      text-transform: uppercase;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #mico-home-draft .mh-status::before {\r\n      content: \"\";\r\n      width: 8px;\r\n      height: 8px;\r\n      flex: 0 0 8px;\r\n      border: 2px solid currentColor;\r\n      border-radius: 50%;\r\n    }\r\n\r\n    #mico-home-draft .mh-status--now {\r\n      color: #fff;\r\n      background: var(--mh-orange);\r\n    }\r\n\r\n    #mico-home-draft .mh-status--now::before {\r\n      background: currentColor;\r\n    }\r\n\r\n    #mico-home-draft .mh-status--development {\r\n      color: #fff;\r\n      border: 1px dashed rgba(255,255,255,.48);\r\n      background: rgba(120,110,168,.34);\r\n    }\r\n\r\n    #mico-home-draft .mh-status--future {\r\n      color: #3e365a;\r\n      border: 1px dotted #9f98b8;\r\n      background: #ece9f2;\r\n    }\r\n\r\n    #mico-home-draft .mh-status--paper {\r\n      color: var(--mh-navy-950);\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-flow {\r\n      position: relative;\r\n      display: grid;\r\n      gap: 13px;\r\n      padding-left: 22px;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-flow::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: 18px;\r\n      bottom: 18px;\r\n      left: 7px;\r\n      width: 3px;\r\n      border-radius: 3px;\r\n      background: var(--mh-orange);\r\n      transform-origin: top;\r\n      animation: mh-flow-vertical 1.15s var(--mh-ease) both .25s;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-step {\r\n      position: relative;\r\n      min-height: 54px;\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 14px;\r\n      align-items: center;\r\n      padding: 12px 14px;\r\n      border: 1px solid rgba(255,255,255,.14);\r\n      border-radius: 11px;\r\n      background: rgba(255,255,255,.07);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-step::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: 50%;\r\n      left: -21px;\r\n      width: 12px;\r\n      height: 12px;\r\n      border: 3px solid #fff;\r\n      border-radius: 50%;\r\n      background: var(--mh-orange);\r\n      transform: translateY(-50%);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-step strong {\r\n      color: #fff;\r\n      font-size: 14px;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-step span {\r\n      color: #bfb9d3;\r\n      font-size: 11px;\r\n      text-align: right;\r\n    }\r\n\r\n    \/* Client proof *\/\r\n    #mico-home-draft .mh-proof {\r\n      border-bottom: 1px solid var(--mh-line);\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-proof-inner {\r\n      min-height: 176px;\r\n      display: grid;\r\n      grid-template-columns: minmax(150px, .52fr) minmax(0, 2.7fr);\r\n      gap: clamp(28px, 4vw, 58px);\r\n      align-items: center;\r\n      padding-block: 30px;\r\n    }\r\n\r\n    #mico-home-draft .mh-proof-title {\r\n      margin: 0;\r\n      color: var(--mh-navy-950);\r\n      font-size: 13px;\r\n      font-weight: 850;\r\n      letter-spacing: .12em;\r\n      line-height: 1.4;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mh-clients {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr));\r\n      align-items: stretch;\r\n      border: 1px solid #e4e0e8;\r\n      border-radius: 20px;\r\n      background: #fff;\r\n      box-shadow: 0 18px 42px rgba(12,0,64,.055);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #mico-home-draft .mh-client {\r\n      position: relative;\r\n      min-height: 118px;\r\n      display: grid;\r\n      place-items: center;\r\n      padding: 16px 18px;\r\n      border-left: 1px solid #e4e0e8;\r\n      background: linear-gradient(145deg, #fff, #fbfafc);\r\n      transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-client:first-child { border-left: 0; }\r\n\r\n    #mico-home-draft .mh-client:hover {\r\n      z-index: 1;\r\n      background: #fff;\r\n      box-shadow: 0 14px 34px rgba(12,0,64,.1);\r\n      transform: translateY(-2px);\r\n    }\r\n\r\n    #mico-home-draft .mh-client:focus-visible {\r\n      z-index: 2;\r\n      outline: 3px solid var(--mh-orange);\r\n      outline-offset: -4px;\r\n    }\r\n\r\n    #mico-home-draft .mh-client img {\r\n      width: auto;\r\n      max-width: 100%;\r\n      height: auto;\r\n      max-height: 82px;\r\n      display: block;\r\n      object-fit: contain;\r\n    }\r\n\r\n    #mico-home-draft .mh-client--sso img { width: min(150px, 90%); }\r\n    #mico-home-draft .mh-client--estradi img { width: min(158px, 94%); }\r\n    #mico-home-draft .mh-client--cuubi img { width: min(138px, 84%); }\r\n    #mico-home-draft .mh-client--sinun img { width: min(86px, 66%); max-height: 86px; }\r\n\r\n    #mico-home-draft .mh-client-source {\r\n      position: absolute;\r\n      right: 9px;\r\n      bottom: 7px;\r\n      color: #918b9d;\r\n      font-size: 8px;\r\n      font-weight: 760;\r\n      letter-spacing: .06em;\r\n      opacity: 0;\r\n      text-transform: uppercase;\r\n      transition: opacity 180ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-client:hover .mh-client-source,\r\n    #mico-home-draft .mh-client:focus-visible .mh-client-source {\r\n      opacity: 1;\r\n    }\r\n\r\n    \/* Problem *\/\r\n    #mico-home-draft .mh-problem {\r\n      background: var(--mh-paper);\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-grid {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);\r\n      gap: clamp(56px, 9vw, 132px);\r\n      align-items: start;\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-list {\r\n      border-top: 1px solid var(--mh-line);\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-item {\r\n      display: grid;\r\n      grid-template-columns: 54px 1fr;\r\n      gap: 20px;\r\n      padding-block: 28px;\r\n      border-bottom: 1px solid var(--mh-line);\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-number {\r\n      color: var(--mh-orange-dark);\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n      letter-spacing: .1em;\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-item h3 {\r\n      margin-bottom: 8px;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(1.25rem, 2vw, 1.72rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.025em;\r\n      line-height: 1.2;\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-item p {\r\n      margin-bottom: 0;\r\n      color: var(--mh-muted);\r\n      font-size: 15px;\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #mico-home-draft .mh-path-band {\r\n      margin-top: clamp(58px, 8vw, 104px);\r\n      display: grid;\r\n      grid-template-columns: auto 1fr auto 1fr;\r\n      gap: 24px;\r\n      align-items: center;\r\n      padding: clamp(26px, 4vw, 42px);\r\n      color: #fff;\r\n      border-radius: var(--mh-radius-lg);\r\n      background: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mh-path-index {\r\n      width: 46px;\r\n      height: 46px;\r\n      display: grid;\r\n      place-items: center;\r\n      border: 1px solid rgba(255,255,255,.25);\r\n      border-radius: 50%;\r\n      color: #ff8b58;\r\n      font-size: 12px;\r\n      font-weight: 850;\r\n    }\r\n\r\n    #mico-home-draft .mh-path-band h3 {\r\n      margin-bottom: 6px;\r\n      color: #fff;\r\n      font-size: 18px;\r\n      font-weight: 760;\r\n    }\r\n\r\n    #mico-home-draft .mh-path-band p {\r\n      margin-bottom: 0;\r\n      color: #cfcadd;\r\n      font-size: 14px;\r\n    }\r\n\r\n    \/* System Story *\/\r\n    #mico-home-draft .mh-story {\r\n      color: #fff;\r\n      background: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mh-story::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      opacity: .08;\r\n      background-image:\r\n        linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);\r\n      background-size: 48px 48px;\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-intro {\r\n      position: relative;\r\n      z-index: 1;\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);\r\n      gap: 56px;\r\n      align-items: end;\r\n      margin-bottom: clamp(72px, 9vw, 116px);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-intro .mh-copy-lg {\r\n      justify-self: end;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-grid {\r\n      position: relative;\r\n      z-index: 1;\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr);\r\n      gap: clamp(54px, 8vw, 112px);\r\n      align-items: start;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage {\r\n      position: sticky;\r\n      top: 104px;\r\n      min-height: 610px;\r\n      padding: 24px;\r\n      border: 1px solid rgba(255,255,255,.16);\r\n      border-radius: 28px;\r\n      background: #12074a;\r\n      box-shadow: 0 36px 90px rgba(4,0,25,.34);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      width: 280px;\r\n      height: 280px;\r\n      right: -110px;\r\n      top: -130px;\r\n      border-radius: 50%;\r\n      background: rgba(245,84,12,.14);\r\n      filter: blur(1px);\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-head {\r\n      position: relative;\r\n      z-index: 3;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 18px;\r\n      padding-bottom: 20px;\r\n      border-bottom: 1px solid rgba(255,255,255,.12);\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-count {\r\n      color: #aaa3c4;\r\n      font-size: 11px;\r\n      font-weight: 800;\r\n      letter-spacing: .11em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-title {\r\n      margin: 0;\r\n      color: #fff;\r\n      font-size: 17px;\r\n      font-weight: 760;\r\n      text-align: right;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-map {\r\n      position: relative;\r\n      width: 100%;\r\n      min-height: 455px;\r\n      margin-top: 22px;\r\n      overflow: hidden;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-route {\r\n      position: absolute;\r\n      inset: 0;\r\n      width: 100%;\r\n      height: 100%;\r\n      overflow: visible;\r\n    }\r\n\r\n    #mico-home-draft .mh-route-base {\r\n      fill: none;\r\n      stroke: rgba(255,255,255,.15);\r\n      stroke-width: 4;\r\n      stroke-linecap: round;\r\n      stroke-dasharray: 5 10;\r\n    }\r\n\r\n    #mico-home-draft .mh-route-flow {\r\n      fill: none;\r\n      stroke: var(--mh-orange);\r\n      stroke-width: 5;\r\n      stroke-linecap: round;\r\n      stroke-dasharray: 980;\r\n      stroke-dashoffset: 610;\r\n      filter: drop-shadow(0 0 7px rgba(245,84,12,.45));\r\n      transition: stroke-dashoffset 750ms var(--mh-ease);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage[data-stage=\"2\"] .mh-route-flow { stroke-dashoffset: 430; }\r\n    #mico-home-draft .mh-story-stage[data-stage=\"3\"] .mh-route-flow { stroke-dashoffset: 285; }\r\n    #mico-home-draft .mh-story-stage[data-stage=\"4\"] .mh-route-flow { stroke-dashoffset: 120; }\r\n    #mico-home-draft .mh-story-stage[data-stage=\"5\"] .mh-route-flow { stroke-dashoffset: 0; }\r\n\r\n    #mico-home-draft .mh-map-node {\r\n      position: absolute;\r\n      z-index: 2;\r\n      width: 112px;\r\n      min-height: 70px;\r\n      display: grid;\r\n      align-content: center;\r\n      gap: 3px;\r\n      padding: 10px 12px;\r\n      border: 1px solid rgba(255,255,255,.17);\r\n      border-radius: 12px;\r\n      color: #bcb6d0;\r\n      background: rgba(255,255,255,.065);\r\n      opacity: .4;\r\n      transform: scale(.96);\r\n      transition: opacity 380ms ease, transform 380ms var(--mh-ease), border-color 380ms ease, background-color 380ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-map-node strong {\r\n      color: #fff;\r\n      font-size: 12px;\r\n      line-height: 1.2;\r\n    }\r\n\r\n    #mico-home-draft .mh-map-node span {\r\n      font-size: 9px;\r\n      font-weight: 700;\r\n      letter-spacing: .06em;\r\n      line-height: 1.2;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mh-node-pickup { left: 2%; top: 70%; }\r\n    #mico-home-draft .mh-node-warehouse { left: 23%; top: 42%; }\r\n    #mico-home-draft .mh-node-picking { left: 47%; top: 17%; }\r\n    #mico-home-draft .mh-node-cold { left: 62%; top: 53%; }\r\n    #mico-home-draft .mh-node-delivery { right: 1%; top: 18%; }\r\n    #mico-home-draft .mh-node-tech { left: 38%; bottom: 1%; }\r\n    #mico-home-draft .mh-node-terminal { right: 5%; bottom: 0; }\r\n    #mico-home-draft .mh-node-trust { right: 1%; top: 66%; }\r\n\r\n    #mico-home-draft .mh-story-stage[data-stage=\"1\"] :is(.mh-node-pickup,.mh-node-warehouse,.mh-node-picking,.mh-node-cold,.mh-node-delivery),\r\n    #mico-home-draft .mh-story-stage[data-stage=\"2\"] :is(.mh-node-pickup,.mh-node-warehouse,.mh-node-picking,.mh-node-cold,.mh-node-delivery),\r\n    #mico-home-draft .mh-story-stage[data-stage=\"3\"] :is(.mh-node-pickup,.mh-node-warehouse,.mh-node-picking,.mh-node-cold,.mh-node-delivery,.mh-node-tech),\r\n    #mico-home-draft .mh-story-stage[data-stage=\"4\"] :is(.mh-node-pickup,.mh-node-warehouse,.mh-node-picking,.mh-node-cold,.mh-node-delivery,.mh-node-tech,.mh-node-terminal),\r\n    #mico-home-draft .mh-story-stage[data-stage=\"5\"] .mh-map-node {\r\n      opacity: 1;\r\n      transform: scale(1);\r\n      border-color: rgba(245,84,12,.48);\r\n      background: rgba(245,84,12,.11);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage[data-stage=\"3\"] .mh-node-tech,\r\n    #mico-home-draft .mh-story-stage[data-stage=\"4\"] :is(.mh-node-tech,.mh-node-terminal),\r\n    #mico-home-draft .mh-story-stage[data-stage=\"5\"] .mh-node-trust {\r\n      box-shadow: 0 0 0 5px rgba(245,84,12,.08);\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-caption {\r\n      position: absolute;\r\n      right: 24px;\r\n      bottom: 22px;\r\n      left: 24px;\r\n      z-index: 3;\r\n      margin: 0;\r\n      color: #bbb5cf;\r\n      font-size: 12px;\r\n    }\r\n\r\n    #mico-home-draft .mh-scenes {\r\n      display: grid;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene {\r\n      min-height: 54vh;\r\n      display: grid;\r\n      align-content: center;\r\n      padding: 46px 0 46px 30px;\r\n      border-left: 2px solid rgba(255,255,255,.12);\r\n      opacity: .47;\r\n      transition: opacity 300ms ease, border-color 300ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene.is-active {\r\n      border-left-color: var(--mh-orange);\r\n      opacity: 1;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene-number {\r\n      margin-bottom: 16px;\r\n      color: #9f98ba;\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      letter-spacing: .13em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene .mh-status {\r\n      width: max-content;\r\n      margin-bottom: 20px;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene h3 {\r\n      max-width: 460px;\r\n      margin-bottom: 16px;\r\n      color: #fff;\r\n      font-size: clamp(1.75rem, 3vw, 2.65rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.035em;\r\n      line-height: 1.08;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene p {\r\n      max-width: 470px;\r\n      margin-bottom: 0;\r\n      color: #c7c1d7;\r\n      font-size: 16px;\r\n      line-height: 1.68;\r\n    }\r\n\r\n    \/* Services *\/\r\n    #mico-home-draft .mh-services {\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-services-head {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);\r\n      gap: 54px;\r\n      align-items: end;\r\n      margin-bottom: clamp(54px, 7vw, 88px);\r\n    }\r\n\r\n    #mico-home-draft .mh-services-head .mh-copy-lg {\r\n      justify-self: end;\r\n    }\r\n\r\n    #mico-home-draft .mh-service-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      border-top: 1px solid var(--mh-line);\r\n      border-left: 1px solid var(--mh-line);\r\n    }\r\n\r\n    #mico-home-draft .mh-service {\r\n      min-height: 268px;\r\n      display: grid;\r\n      grid-template-rows: auto 1fr auto;\r\n      gap: 28px;\r\n      padding: clamp(25px, 3.3vw, 42px);\r\n      border-right: 1px solid var(--mh-line);\r\n      border-bottom: 1px solid var(--mh-line);\r\n      background: #fff;\r\n      transition: background-color 200ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-service:hover {\r\n      background: #faf8f4;\r\n    }\r\n\r\n    #mico-home-draft .mh-service-mark {\r\n      width: 38px;\r\n      height: 38px;\r\n      display: grid;\r\n      place-items: center;\r\n      color: var(--mh-orange-dark);\r\n      border: 1px solid #dfd9cf;\r\n      border-radius: 50%;\r\n      font-size: 13px;\r\n      font-weight: 850;\r\n    }\r\n\r\n    #mico-home-draft .mh-service h3 {\r\n      margin-bottom: 11px;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(1.35rem, 2vw, 1.82rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.03em;\r\n      line-height: 1.12;\r\n    }\r\n\r\n    #mico-home-draft .mh-service p {\r\n      margin-bottom: 0;\r\n      color: var(--mh-muted);\r\n      font-size: 14px;\r\n      line-height: 1.62;\r\n    }\r\n\r\n    #mico-home-draft .mh-service small {\r\n      color: #726c7c;\r\n      font-size: 11px;\r\n      font-weight: 800;\r\n      letter-spacing: .08em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    \/* Operations \/ collaboration *\/\r\n    #mico-home-draft .mh-operating {\r\n      background: var(--mh-paper);\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      margin-top: 64px;\r\n      border-top: 1px solid var(--mh-line);\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar {\r\n      padding: 34px 32px 0 0;\r\n      border-right: 1px solid var(--mh-line);\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar + .mh-pillar {\r\n      padding-left: 32px;\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar:last-child {\r\n      padding-right: 0;\r\n      border-right: 0;\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar .mh-status {\r\n      margin-bottom: 26px;\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar h3 {\r\n      margin-bottom: 13px;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(1.45rem, 2.3vw, 2.05rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.035em;\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar p {\r\n      margin-bottom: 0;\r\n      color: var(--mh-muted);\r\n      font-size: 15px;\r\n      line-height: 1.68;\r\n    }\r\n\r\n    #mico-home-draft .mh-deliventures {\r\n      padding-block: clamp(58px, 8vw, 96px);\r\n      border-top: 1px solid var(--mh-line);\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-grid {\r\n      display: grid;\r\n      grid-template-columns: minmax(230px, .62fr) minmax(0, 1.38fr);\r\n      gap: clamp(52px, 9vw, 138px);\r\n      align-items: start;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-label {\r\n      position: sticky;\r\n      top: 110px;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-label strong {\r\n      display: block;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(2rem, 4vw, 4.2rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.045em;\r\n      line-height: .98;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-copy {\r\n      max-width: 760px;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-copy > p {\r\n      color: var(--mh-muted);\r\n      font-size: clamp(1.06rem, 1.5vw, 1.25rem);\r\n      line-height: 1.7;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-flow {\r\n      display: grid;\r\n      grid-template-columns: 1fr auto 1fr auto 1fr;\r\n      gap: 14px;\r\n      align-items: center;\r\n      margin-block: 38px 32px;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-node {\r\n      min-height: 116px;\r\n      display: grid;\r\n      align-content: center;\r\n      gap: 7px;\r\n      padding: 20px;\r\n      color: #fff;\r\n      border-radius: 14px;\r\n      background: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-node strong {\r\n      font-size: 15px;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-node span {\r\n      color: #c9c4d9;\r\n      font-size: 12px;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-arrow {\r\n      color: var(--mh-orange);\r\n      font-size: 26px;\r\n      font-weight: 700;\r\n    }\r\n\r\n    #mico-home-draft .mh-text-link {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 9px;\r\n      color: var(--mh-navy-950);\r\n      border-bottom: 1px solid var(--mh-orange);\r\n      font-size: 14px;\r\n      font-weight: 800;\r\n    }\r\n\r\n    \/* Future infrastructure *\/\r\n    #mico-home-draft .mh-future {\r\n      color: #fff;\r\n      background: #160b4c;\r\n    }\r\n\r\n    #mico-home-draft .mh-future-head {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.15fr) minmax(280px, .7fr);\r\n      gap: 58px;\r\n      align-items: end;\r\n      margin-bottom: 68px;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap {\r\n      position: relative;\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 1px;\r\n      border: 1px solid rgba(255,255,255,.14);\r\n      border-radius: 24px;\r\n      overflow: hidden;\r\n      background: rgba(255,255,255,.14);\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item {\r\n      min-height: 330px;\r\n      padding: clamp(26px, 3.2vw, 42px);\r\n      background: #1d1254;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item .mh-status {\r\n      margin-bottom: 42px;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item h3 {\r\n      margin-bottom: 16px;\r\n      color: #fff;\r\n      font-size: clamp(1.5rem, 2.3vw, 2.1rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.035em;\r\n      line-height: 1.12;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item p {\r\n      margin-bottom: 0;\r\n      color: #c8c2d8;\r\n      font-size: 14px;\r\n      line-height: 1.67;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item ul {\r\n      display: grid;\r\n      gap: 9px;\r\n      margin: 20px 0 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item li {\r\n      position: relative;\r\n      padding-left: 18px;\r\n      color: #ddd8e8;\r\n      font-size: 13px;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item li::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: .65em;\r\n      left: 0;\r\n      width: 6px;\r\n      height: 6px;\r\n      border-radius: 50%;\r\n      background: var(--mh-orange);\r\n    }\r\n\r\n    \/* Mico Flow *\/\r\n    #mico-home-draft .mh-flowlab {\r\n      background: var(--mh-paper);\r\n    }\r\n\r\n    #mico-home-draft .mh-flowlab-head {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr);\r\n      gap: 56px;\r\n      align-items: end;\r\n      margin-bottom: clamp(54px, 8vw, 88px);\r\n    }\r\n\r\n    #mico-home-draft .mh-flowlab-note {\r\n      padding-left: 22px;\r\n      border-left: 3px solid var(--mh-orange);\r\n      color: var(--mh-muted);\r\n      font-size: 14px;\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #mico-home-draft .mf-app {\r\n      display: grid;\r\n      grid-template-columns: minmax(350px, .76fr) minmax(0, 1.24fr);\r\n      min-height: 690px;\r\n      border: 1px solid #d8d2ca;\r\n      border-radius: 28px;\r\n      background: #fff;\r\n      box-shadow: var(--mh-shadow);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #mico-home-draft .mf-app.is-contact-step {\r\n      grid-template-columns: minmax(560px, 1.12fr) minmax(0, .88fr);\r\n    }\r\n\r\n    #mico-home-draft .mf-config {\r\n      display: grid;\r\n      grid-template-rows: auto 1fr auto;\r\n      padding: clamp(24px, 3.3vw, 42px);\r\n      border-right: 1px solid #ddd8d0;\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mf-progress-row {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 18px;\r\n      margin-bottom: 34px;\r\n    }\r\n\r\n    #mico-home-draft .mf-progress-label {\r\n      color: #736d7a;\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      letter-spacing: .11em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mf-progress-track {\r\n      width: 118px;\r\n      height: 4px;\r\n      overflow: hidden;\r\n      border-radius: 4px;\r\n      background: #e7e2dc;\r\n    }\r\n\r\n    #mico-home-draft .mf-progress-bar {\r\n      width: 25%;\r\n      height: 100%;\r\n      border-radius: inherit;\r\n      background: var(--mh-orange);\r\n      transition: width 300ms var(--mh-ease);\r\n    }\r\n\r\n    #mico-home-draft .mf-stage {\r\n      min-height: 360px;\r\n    }\r\n\r\n    #mico-home-draft .mf-stage > [hidden],\r\n    #mico-home-draft .mf-contact-step[hidden],\r\n    #mico-home-draft .mf-control[hidden],\r\n    #mico-home-draft .mf-result-bottom .mh-button[hidden] {\r\n      display: none !important;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-step {\r\n      display: grid;\r\n      gap: 22px;\r\n      animation: mh-step-in 260ms var(--mh-ease) both;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-intro h3 {\r\n      margin: 0 0 10px;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(1.65rem, 2.8vw, 2.5rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.04em;\r\n      line-height: 1.08;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-intro p {\r\n      margin: 0;\r\n      color: var(--mh-muted);\r\n      font-size: 14px;\r\n      line-height: 1.6;\r\n    }\r\n\r\n    #mico-home-draft .mf-review {\r\n      padding: 17px 18px;\r\n      border: 1px solid rgba(245,84,12,.34);\r\n      border-radius: 12px;\r\n      background: #fff7f2;\r\n    }\r\n\r\n    #mico-home-draft .mf-review strong {\r\n      display: block;\r\n      margin-bottom: 7px;\r\n      color: var(--mh-navy-950);\r\n      font-size: 13px;\r\n    }\r\n\r\n    #mico-home-draft .mf-review p {\r\n      margin: 0;\r\n      color: #4f4958;\r\n      font-size: 12px;\r\n      line-height: 1.55;\r\n    }\r\n\r\n    #mico-home-draft .mf-review small {\r\n      display: block;\r\n      margin-top: 8px;\r\n      color: #7b3b21;\r\n      font-size: 10px;\r\n      font-weight: 750;\r\n      letter-spacing: .02em;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-form,\r\n    #mico-home-draft .mf-contact-step .wpcf7-form {\r\n      display: grid;\r\n      gap: 18px;\r\n      margin: 0;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 15px;\r\n    }\r\n\r\n    \/* Contact Form 7 adds a paragraph wrapper and line breaks around fields.\r\n       Let the labels participate in the intended grid and remove only those\r\n       generated breaks so they cannot create empty grid rows. *\/\r\n    #mico-home-draft .mf-contact-grid > p {\r\n      display: contents;\r\n      margin: 0;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-grid > p > br,\r\n    #mico-home-draft .mf-field > br {\r\n      display: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-field {\r\n      min-width: 0;\r\n      display: grid;\r\n      align-content: start;\r\n      gap: 7px;\r\n      margin: 0;\r\n      color: var(--mh-navy-950);\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    #mico-home-draft .mf-field--wide {\r\n      grid-column: 1 \/ -1;\r\n    }\r\n\r\n    #mico-home-draft .mf-field .wpcf7-form-control-wrap {\r\n      display: block;\r\n      width: 100%;\r\n    }\r\n\r\n    #mico-home-draft .mf-field :is(input:not([type=\"checkbox\"]), textarea),\r\n    #mico-home-draft .mf-contact-step .wpcf7-form-control:is(input:not([type=\"checkbox\"]), textarea) {\r\n      width: 100%;\r\n      min-width: 0;\r\n      min-height: 48px;\r\n      margin: 0;\r\n      padding: 11px 13px;\r\n      border: 1px solid #cbc5ce;\r\n      border-radius: 9px;\r\n      color: var(--mh-navy-950);\r\n      background: #fff;\r\n      font: inherit;\r\n      font-size: 13px;\r\n      font-weight: 500;\r\n      line-height: 1.45;\r\n      box-shadow: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-field textarea,\r\n    #mico-home-draft .mf-contact-step textarea.wpcf7-form-control {\r\n      min-height: 106px;\r\n      resize: vertical;\r\n    }\r\n\r\n    #mico-home-draft .mf-field :is(input, textarea)::placeholder {\r\n      color: #89838f;\r\n      opacity: 1;\r\n    }\r\n\r\n    #mico-home-draft .mf-field :is(input, textarea):focus-visible,\r\n    #mico-home-draft .mf-contact-step .wpcf7-form-control:focus-visible {\r\n      border-color: var(--mh-orange);\r\n      outline: 3px solid rgba(245,84,12,.2);\r\n      outline-offset: 1px;\r\n    }\r\n\r\n    #mico-home-draft .mf-consent,\r\n    #mico-home-draft .mf-contact-step .wpcf7-acceptance label {\r\n      display: grid;\r\n      grid-template-columns: 20px 1fr;\r\n      gap: 10px;\r\n      align-items: start;\r\n      margin: 0;\r\n      color: #5f5966;\r\n      font-size: 11px;\r\n      font-weight: 650;\r\n      line-height: 1.55;\r\n      cursor: pointer;\r\n    }\r\n\r\n    #mico-home-draft .mf-consent input,\r\n    #mico-home-draft .mf-contact-step .wpcf7-acceptance input {\r\n      width: 18px;\r\n      height: 18px;\r\n      margin: 1px 0 0;\r\n      accent-color: var(--mh-orange);\r\n    }\r\n\r\n    #mico-home-draft .mf-consent a,\r\n    #mico-home-draft .mf-contact-step .wpcf7-acceptance a {\r\n      color: var(--mh-navy-950);\r\n      text-decoration: underline;\r\n      text-decoration-color: var(--mh-orange);\r\n      text-underline-offset: 3px;\r\n    }\r\n\r\n    #mico-home-draft .mf-consent > .wpcf7-form-control-wrap {\r\n      grid-column: 1 \/ -1;\r\n      width: 100%;\r\n    }\r\n\r\n    #mico-home-draft .mf-consent > p {\r\n      grid-column: 1 \/ -1;\r\n      width: 100%;\r\n      margin: 0;\r\n    }\r\n\r\n    #mico-home-draft .mf-consent > p > .wpcf7-form-control-wrap {\r\n      display: block;\r\n      width: 100%;\r\n    }\r\n\r\n    #mico-home-draft .mf-submit-row {\r\n      display: flex;\r\n      gap: 16px;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n    }\r\n\r\n    #mico-home-draft .mf-submit-row p {\r\n      max-width: 250px;\r\n      margin: 0;\r\n      color: #736d7a;\r\n      font-size: 10px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #mico-home-draft .mf-form-status,\r\n    #mico-home-draft .mf-contact-step .wpcf7-response-output {\r\n      margin: 0 !important;\r\n      padding: 12px 14px !important;\r\n      border: 1px solid #d8d2ca !important;\r\n      border-radius: 9px;\r\n      color: var(--mh-navy-950);\r\n      background: #faf8f5;\r\n      font-size: 12px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #mico-home-draft .mf-form-status:empty,\r\n    #mico-home-draft .mf-contact-step .wpcf7-response-output:empty {\r\n      display: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-step .wpcf7-not-valid-tip {\r\n      display: block;\r\n      margin-top: 6px;\r\n      color: #a42d16;\r\n      font-size: 11px;\r\n      font-weight: 700;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-step .wpcf7-spinner {\r\n      margin: 0 0 0 10px;\r\n    }\r\n\r\n    #mico-home-draft .mf-contact-step.is-sent .wpcf7-submit {\r\n      cursor: default;\r\n      opacity: .55;\r\n    }\r\n\r\n    #mico-home-draft .mf-step {\r\n      animation: mh-step-in 260ms var(--mh-ease) both;\r\n    }\r\n\r\n    #mico-home-draft .mf-step fieldset {\r\n      min-width: 0;\r\n      margin: 0;\r\n      padding: 0;\r\n      border: 0;\r\n    }\r\n\r\n    #mico-home-draft .mf-step legend {\r\n      max-width: 520px;\r\n      margin-bottom: 12px;\r\n      padding: 0;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(1.65rem, 2.8vw, 2.5rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.04em;\r\n      line-height: 1.08;\r\n    }\r\n\r\n    #mico-home-draft .mf-step-help {\r\n      margin-bottom: 24px;\r\n      color: var(--mh-muted);\r\n      font-size: 14px;\r\n      line-height: 1.6;\r\n    }\r\n\r\n    #mico-home-draft .mf-choices {\r\n      display: grid;\r\n      gap: 10px;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap {\r\n      position: relative;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap input {\r\n      position: absolute;\r\n      width: 1px;\r\n      height: 1px;\r\n      opacity: .001;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice {\r\n      min-height: 58px;\r\n      display: grid;\r\n      grid-template-columns: 20px 1fr;\r\n      gap: 13px;\r\n      align-items: center;\r\n      padding: 13px 15px;\r\n      border: 1px solid #dcd7d0;\r\n      border-radius: 11px;\r\n      color: var(--mh-navy-950);\r\n      background: #fff;\r\n      cursor: pointer;\r\n      transition: border-color 170ms ease, background-color 170ms ease, transform 170ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice:hover {\r\n      border-color: #b8b1bf;\r\n      transform: translateY(-1px);\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap input:disabled + .mf-choice {\r\n      opacity: .54;\r\n      border-style: dashed;\r\n      background: #f2efe9;\r\n      cursor: not-allowed;\r\n      transform: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-dot {\r\n      width: 18px;\r\n      height: 18px;\r\n      border: 2px solid #a49eaa;\r\n      border-radius: 50%;\r\n      box-shadow: inset 0 0 0 4px #fff;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice strong {\r\n      display: block;\r\n      font-size: 14px;\r\n      line-height: 1.3;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice small {\r\n      display: block;\r\n      margin-top: 3px;\r\n      color: #736d7a;\r\n      font-size: 11px;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap input:checked + .mf-choice {\r\n      border-color: var(--mh-orange);\r\n      background: #fff7f2;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap input:checked + .mf-choice .mf-choice-dot {\r\n      border-color: var(--mh-orange);\r\n      background: var(--mh-orange);\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap input[type=\"checkbox\"] + .mf-choice .mf-choice-dot {\r\n      position: relative;\r\n      border-radius: 5px;\r\n      box-shadow: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-choice-wrap input[type=\"checkbox\"]:checked + .mf-choice .mf-choice-dot::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: 2px;\r\n      left: 5px;\r\n      width: 4px;\r\n      height: 8px;\r\n      border: solid #fff;\r\n      border-width: 0 2px 2px 0;\r\n      transform: rotate(45deg);\r\n    }\r\n\r\n    #mico-home-draft .mf-details {\r\n      margin-top: 14px;\r\n      padding: 16px;\r\n      border: 1px solid #dcd7d0;\r\n      border-radius: 11px;\r\n      background: #faf8f5;\r\n    }\r\n\r\n    #mico-home-draft .mf-details[hidden] {\r\n      display: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-details label {\r\n      display: block;\r\n      margin-bottom: 8px;\r\n      color: var(--mh-navy-950);\r\n      font-size: 13px;\r\n      font-weight: 800;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    #mico-home-draft .mf-details textarea {\r\n      width: 100%;\r\n      min-height: 112px;\r\n      padding: 13px 14px;\r\n      border: 1px solid #cfc8d2;\r\n      border-radius: 9px;\r\n      color: var(--mh-navy-950);\r\n      background: #fff;\r\n      font: inherit;\r\n      font-size: 13px;\r\n      line-height: 1.55;\r\n      resize: vertical;\r\n    }\r\n\r\n    #mico-home-draft .mf-details textarea:focus-visible {\r\n      outline: 3px solid var(--mh-orange);\r\n      outline-offset: 2px;\r\n    }\r\n\r\n    #mico-home-draft .mf-details-help {\r\n      margin: 8px 0 0;\r\n      color: #736d7a;\r\n      font-size: 11px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #mico-home-draft .mf-controls {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 12px;\r\n      padding-top: 28px;\r\n      border-top: 1px solid #e4dfd8;\r\n    }\r\n\r\n    #mico-home-draft .mf-control-group {\r\n      display: flex;\r\n      gap: 10px;\r\n    }\r\n\r\n    #mico-home-draft .mf-control {\r\n      min-height: 45px;\r\n      padding: 0 15px;\r\n      border: 1px solid #d8d2ca;\r\n      border-radius: 9px;\r\n      color: var(--mh-navy-950);\r\n      background: #fff;\r\n      font-size: 13px;\r\n      font-weight: 800;\r\n      cursor: pointer;\r\n    }\r\n\r\n    #mico-home-draft .mf-control--next {\r\n      color: #fff;\r\n      border-color: var(--mh-navy-950);\r\n      background: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mf-control[disabled] {\r\n      color: #9d97a3;\r\n      border-color: #e4dfd8;\r\n      background: #f3f0eb;\r\n      cursor: not-allowed;\r\n    }\r\n\r\n    #mico-home-draft .mf-visual-panel {\r\n      position: relative;\r\n      isolation: isolate;\r\n      display: grid;\r\n      grid-template-rows: auto auto 1fr auto;\r\n      padding: clamp(27px, 4vw, 52px);\r\n      color: #fff;\r\n      background: var(--mh-navy-950);\r\n      overflow: hidden;\r\n    }\r\n\r\n    #mico-home-draft .mf-visual-panel::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: -1;\r\n      opacity: .09;\r\n      background-image:\r\n        linear-gradient(rgba(255,255,255,.23) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(255,255,255,.23) 1px, transparent 1px);\r\n      background-size: 34px 34px;\r\n    }\r\n\r\n    #mico-home-draft .mf-result-kicker {\r\n      margin-bottom: 12px;\r\n      color: #ff8a58;\r\n      font-size: 11px;\r\n      font-weight: 850;\r\n      letter-spacing: .12em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mf-result-title {\r\n      margin-bottom: 9px;\r\n      color: #fff;\r\n      font-size: clamp(1.75rem, 3vw, 2.65rem);\r\n      font-weight: 760;\r\n      letter-spacing: -.04em;\r\n      line-height: 1.05;\r\n    }\r\n\r\n    #mico-home-draft .mf-result-intro {\r\n      max-width: 630px;\r\n      margin-bottom: 0;\r\n      color: #c7c1d8;\r\n      font-size: 13px;\r\n      line-height: 1.6;\r\n    }\r\n\r\n    #mico-home-draft .mf-track {\r\n      position: relative;\r\n      display: flex;\r\n      align-items: stretch;\r\n      gap: 10px;\r\n      min-height: 138px;\r\n      margin-block: 38px 30px;\r\n      padding: 15px 0;\r\n      overflow-x: auto;\r\n      scrollbar-width: thin;\r\n    }\r\n\r\n    #mico-home-draft .mf-track::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      top: 50%;\r\n      left: 24px;\r\n      width: calc(100% - 48px);\r\n      height: 4px;\r\n      border-radius: 4px;\r\n      background: var(--mh-orange);\r\n      transform: translateY(-50%);\r\n      transform-origin: left;\r\n      animation: mh-flow-line 650ms var(--mh-ease) both;\r\n    }\r\n\r\n    #mico-home-draft .mf-track.is-empty::before {\r\n      background: rgba(255,255,255,.18);\r\n      animation: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-node {\r\n      position: relative;\r\n      z-index: 1;\r\n      min-width: 104px;\r\n      flex: 1 0 104px;\r\n      display: grid;\r\n      align-content: center;\r\n      gap: 5px;\r\n      padding: 13px;\r\n      border: 1px solid rgba(255,255,255,.2);\r\n      border-radius: 12px;\r\n      color: #fff;\r\n      background: #21165a;\r\n      box-shadow: 0 10px 24px rgba(4,0,24,.2);\r\n      animation: mh-node-in 330ms var(--mh-ease) both;\r\n    }\r\n\r\n    #mico-home-draft .mf-node--placeholder {\r\n      max-width: 210px;\r\n      border-style: dashed;\r\n      color: #d8d2e4;\r\n      background: rgba(255,255,255,.055);\r\n      box-shadow: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-node strong {\r\n      font-size: 12px;\r\n      line-height: 1.25;\r\n    }\r\n\r\n    #mico-home-draft .mf-node small {\r\n      color: #bdb6cf;\r\n      font-size: 9px;\r\n      font-weight: 800;\r\n      letter-spacing: .07em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mf-reasons {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));\r\n      gap: 10px;\r\n      align-content: start;\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n\r\n    #mico-home-draft .mf-reason {\r\n      min-height: 102px;\r\n      padding: 14px 15px;\r\n      border: 1px solid rgba(255,255,255,.13);\r\n      border-radius: 11px;\r\n      background: rgba(255,255,255,.055);\r\n    }\r\n\r\n    #mico-home-draft .mf-reason strong {\r\n      display: block;\r\n      margin-bottom: 5px;\r\n      color: #fff;\r\n      font-size: 12px;\r\n    }\r\n\r\n    #mico-home-draft .mf-reason span {\r\n      display: block;\r\n      color: #bab4cc;\r\n      font-size: 11px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #mico-home-draft .mf-result-bottom {\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 20px;\r\n      align-items: end;\r\n      margin-top: 30px;\r\n      padding-top: 24px;\r\n      border-top: 1px solid rgba(255,255,255,.14);\r\n    }\r\n\r\n    #mico-home-draft .mf-summary {\r\n      margin-bottom: 0;\r\n      color: #d7d2e3;\r\n      font-size: 12px;\r\n      line-height: 1.6;\r\n    }\r\n\r\n    #mico-home-draft .mf-future-note {\r\n      margin-top: 22px;\r\n      padding: 14px 16px;\r\n      color: #c9c3d8;\r\n      border: 1px dotted rgba(255,255,255,.3);\r\n      border-radius: 10px;\r\n      font-size: 11px;\r\n      line-height: 1.55;\r\n    }\r\n\r\n    #mico-home-draft .mf-static {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr));\r\n      gap: 12px;\r\n      margin-top: 22px;\r\n    }\r\n\r\n    #mico-home-draft .mf-static div {\r\n      padding: 15px;\r\n      border: 1px solid #ddd7d0;\r\n      border-radius: 10px;\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mf-static strong {\r\n      display: block;\r\n      color: var(--mh-navy-950);\r\n      font-size: 13px;\r\n    }\r\n\r\n    #mico-home-draft .mf-static span {\r\n      color: var(--mh-muted);\r\n      font-size: 11px;\r\n    }\r\n\r\n    #mico-home-draft.is-js .mf-static-fallback {\r\n      display: none;\r\n    }\r\n\r\n    #mico-home-draft .screen-reader-text {\r\n      position: absolute !important;\r\n      width: 1px !important;\r\n      height: 1px !important;\r\n      margin: -1px !important;\r\n      padding: 0 !important;\r\n      overflow: hidden !important;\r\n      clip: rect(0 0 0 0) !important;\r\n      clip-path: inset(50%) !important;\r\n      border: 0 !important;\r\n      white-space: nowrap !important;\r\n    }\r\n\r\n    \/* Contact *\/\r\n    #mico-home-draft .mh-contact {\r\n      padding-block: clamp(84px, 10vw, 144px);\r\n      color: #fff;\r\n      background: var(--mh-orange);\r\n    }\r\n\r\n    #mico-home-draft .mh-contact-grid {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);\r\n      gap: clamp(50px, 9vw, 124px);\r\n      align-items: end;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact .mh-kicker {\r\n      color: var(--mh-navy-950);\r\n    }\r\n\r\n    #mico-home-draft .mh-contact h2 {\r\n      max-width: 860px;\r\n      margin-bottom: 0;\r\n      color: var(--mh-navy-950);\r\n      font-size: clamp(2.8rem, 6vw, 6rem);\r\n      font-weight: 780;\r\n      letter-spacing: -.055em;\r\n      line-height: .95;\r\n      text-wrap: balance;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact-copy {\r\n      color: #43160b;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact-copy p {\r\n      margin-bottom: 24px;\r\n      font-size: 16px;\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact-summary {\r\n      display: none;\r\n      margin-bottom: 20px;\r\n      padding: 14px 16px;\r\n      border-left: 3px solid var(--mh-navy-950);\r\n      background: rgba(255,255,255,.34);\r\n      font-size: 12px;\r\n      line-height: 1.55;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact-summary.has-summary {\r\n      display: block;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact-actions {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 12px;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact .mh-button--light {\r\n      color: var(--mh-navy-950);\r\n      border-color: rgba(12,0,64,.38);\r\n      background: transparent;\r\n    }\r\n\r\n    #mico-home-draft .mh-contact .mh-button--light:hover {\r\n      background: rgba(255,255,255,.28);\r\n    }\r\n\r\n    #mico-home-draft .mh-privacy-note {\r\n      margin: 19px 0 0;\r\n      color: #61210f;\r\n      font-size: 11px;\r\n      line-height: 1.55;\r\n    }\r\n\r\n    \/* Draft-owned footer: keeps legacy theme claims out of this page. *\/\r\n    #mico-home-draft .mh-footer {\r\n      color: #d7d2e5;\r\n      border-top: 1px solid rgba(255,255,255,.12);\r\n      background: #08002f;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-grid {\r\n      display: grid;\r\n      grid-template-columns: 1.15fr .85fr .85fr;\r\n      gap: 50px;\r\n      padding-block: 58px 42px;\r\n      border-bottom: 1px solid rgba(255,255,255,.12);\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-brand img {\r\n      width: 150px;\r\n      height: auto;\r\n      margin-bottom: 20px;\r\n      border-radius: 0;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer p {\r\n      max-width: 390px;\r\n      margin: 0;\r\n      color: #bdb7cf;\r\n      font-size: .88rem;\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer strong {\r\n      color: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer h2 {\r\n      margin: 0 0 16px;\r\n      color: #fff;\r\n      font-size: .78rem;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-links {\r\n      display: grid;\r\n      gap: 9px;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-links a {\r\n      width: fit-content;\r\n      color: #fff;\r\n      font-size: .88rem;\r\n      font-weight: 700;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-links a:hover {\r\n      color: var(--mh-orange);\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-meta {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      gap: 25px;\r\n      padding-block: 25px 32px;\r\n      color: #8f87a8;\r\n      font-size: .76rem;\r\n    }\r\n\r\n    #mico-home-draft .mh-footer-meta a:hover { color: #fff; }\r\n\r\n    @keyframes mh-flow-line {\r\n      from { transform: scaleX(0); }\r\n      to { transform: scaleX(1); }\r\n    }\r\n\r\n    @keyframes mh-flow-vertical {\r\n      from { transform: scaleY(0); }\r\n      to { transform: scaleY(1); }\r\n    }\r\n\r\n    @keyframes mh-node-in {\r\n      from { opacity: 0; transform: translateY(8px) scale(.96); }\r\n      to { opacity: 1; transform: translateY(0) scale(1); }\r\n    }\r\n\r\n    @keyframes mh-step-in {\r\n      from { opacity: 0; transform: translateY(7px); }\r\n      to { opacity: 1; transform: translateY(0); }\r\n    }\r\n\r\n    @keyframes mh-nav-in {\r\n      from { opacity: 0; transform: translateY(-18px); }\r\n      to { opacity: 1; transform: translateY(0); }\r\n    }\r\n\r\n    @media (max-width: 1100px) {\r\n      #mico-home-draft .mh-footer-grid {\r\n        grid-template-columns: 1fr 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-footer-brand { grid-column: 1 \/ -1; }\r\n\r\n      #mico-home-draft .mh-hero-inner {\r\n        grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr);\r\n        gap: 46px;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-grid {\r\n        grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);\r\n        gap: 52px;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-stage {\r\n        min-height: 560px;\r\n      }\r\n\r\n      #mico-home-draft .mh-stage-map {\r\n        min-height: 410px;\r\n      }\r\n\r\n      #mico-home-draft .mh-map-node {\r\n        width: 98px;\r\n        padding: 9px;\r\n      }\r\n\r\n      #mico-home-draft .mf-app {\r\n        grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr);\r\n      }\r\n    }\r\n\r\n    @media (max-width: 900px) {\r\n      #mico-home-draft .mh-nav-inner {\r\n        grid-template-columns: auto 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-links {\r\n        justify-content: flex-end;\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-cta {\r\n        display: none;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero {\r\n        min-height: auto;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-shade {\r\n        background:\r\n          linear-gradient(180deg, rgba(12,0,64,.97) 0%, rgba(12,0,64,.9) 62%, rgba(12,0,64,.48) 100%),\r\n          linear-gradient(90deg, rgba(12,0,64,.7), transparent);\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-media {\r\n        object-position: 64% center;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-inner,\r\n      #mico-home-draft .mh-problem-grid,\r\n      #mico-home-draft .mh-story-intro,\r\n      #mico-home-draft .mh-services-head,\r\n      #mico-home-draft .mh-future-head,\r\n      #mico-home-draft .mh-flowlab-head,\r\n      #mico-home-draft .mh-contact-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-inner {\r\n        gap: 50px;\r\n        padding-block: 116px 72px;\r\n      }\r\n\r\n      #mico-home-draft .mh-system-card {\r\n        width: min(100%, 610px);\r\n        justify-self: end;\r\n      }\r\n\r\n      #mico-home-draft .mh-proof-inner {\r\n        grid-template-columns: 1fr;\r\n        gap: 18px;\r\n      }\r\n\r\n      #mico-home-draft .mh-path-band {\r\n        grid-template-columns: auto 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-stage {\r\n        position: relative;\r\n        top: auto;\r\n        min-height: 580px;\r\n      }\r\n\r\n      #mico-home-draft .mh-scene {\r\n        min-height: auto;\r\n        padding-block: 40px;\r\n        opacity: 1;\r\n      }\r\n\r\n      #mico-home-draft .mh-service-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n\r\n      #mico-home-draft .mh-pillar-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-pillar,\r\n      #mico-home-draft .mh-pillar + .mh-pillar {\r\n        padding: 30px 0;\r\n        border-right: 0;\r\n        border-bottom: 1px solid var(--mh-line);\r\n      }\r\n\r\n      #mico-home-draft .mh-partner-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-partner-label {\r\n        position: static;\r\n      }\r\n\r\n      #mico-home-draft .mh-roadmap {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-roadmap-item {\r\n        min-height: auto;\r\n      }\r\n\r\n      #mico-home-draft .mf-app {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mf-app.is-contact-step {\r\n        grid-template-columns: minmax(0, 1fr);\r\n      }\r\n\r\n      #mico-home-draft .mf-config {\r\n        min-height: 630px;\r\n        border-right: 0;\r\n        border-bottom: 1px solid #ddd8d0;\r\n      }\r\n\r\n      #mico-home-draft .mf-visual-panel {\r\n        min-height: 650px;\r\n      }\r\n    }\r\n\r\n    @media (min-width: 681px) and (max-width: 860px) {\r\n      #mico-home-draft .mh-nav-inner,\r\n      #mico-home-draft .mh-nav.is-docked .mh-nav-inner {\r\n        min-height: 76px;\r\n        grid-template-columns: auto 1fr auto;\r\n        gap: 16px;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-toggle { display: grid; }\r\n\r\n      #mico-home-draft.is-js .mh-nav-links {\r\n        position: fixed;\r\n        z-index: 2;\r\n        inset: 76px 0 auto;\r\n        display: grid;\r\n        align-content: start;\r\n        justify-content: stretch;\r\n        gap: 0;\r\n        max-height: calc(100svh - 76px);\r\n        padding: 22px 18px 30px;\r\n        overflow-y: auto;\r\n        border-top: 1px solid rgba(255,255,255,.14);\r\n        background: rgba(12,0,64,.99);\r\n        box-shadow: 0 30px 55px rgba(5,0,28,.25);\r\n        transform: translateY(-120%);\r\n        visibility: hidden;\r\n        transition: transform .3s var(--mh-ease), visibility .3s;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-links.is-open {\r\n        transform: translateY(0);\r\n        visibility: visible;\r\n      }\r\n\r\n      body.admin-bar #mico-home-draft.is-js .mh-nav-links { top: 108px; }\r\n\r\n      #mico-home-draft .mh-nav-links a {\r\n        display: block;\r\n        padding: 17px 6px;\r\n        border-bottom: 1px solid rgba(255,255,255,.14);\r\n        font-size: 1rem;\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-actions { justify-self: end; }\r\n    }\r\n\r\n    @media (max-width: 680px) {\r\n      body.admin-bar #mico-home-draft .mh-nav,\r\n      body.admin-bar #mico-home-draft .mh-nav.is-docked {\r\n        top: 46px;\r\n      }\r\n\r\n      #mico-home-draft .mh-footer-grid {\r\n        min-height: 0;\r\n        grid-template-columns: 1fr;\r\n        gap: 26px;\r\n        padding-block: 38px;\r\n      }\r\n\r\n      #mico-home-draft .mh-footer-brand { grid-column: auto; }\r\n      #mico-home-draft .mh-footer-meta { flex-direction: column; }\r\n\r\n      #mico-home-draft .mh-shell,\r\n      #mico-home-draft .mh-shell--narrow {\r\n        width: min(calc(100% - 36px), 1320px);\r\n      }\r\n\r\n      #mico-home-draft .mh-section {\r\n        padding-block: 78px;\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-inner,\r\n      #mico-home-draft .mh-nav.is-docked .mh-nav-inner {\r\n        min-height: 74px;\r\n        grid-template-columns: auto 1fr auto;\r\n        gap: 14px;\r\n      }\r\n\r\n      #mico-home-draft .mh-logo img {\r\n        width: 100px;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-toggle {\r\n        display: grid;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-links {\r\n        position: fixed;\r\n        z-index: 2;\r\n        inset: 74px 0 auto;\r\n        display: grid;\r\n        align-content: start;\r\n        justify-content: stretch;\r\n        gap: 0;\r\n        max-height: calc(100svh - 74px);\r\n        padding: 22px 18px 30px;\r\n        overflow-y: auto;\r\n        border-top: 1px solid rgba(255,255,255,.14);\r\n        background: rgba(12,0,64,.99);\r\n        box-shadow: 0 30px 55px rgba(5,0,28,.25);\r\n        transform: translateY(-120%);\r\n        visibility: hidden;\r\n        transition: transform .3s var(--mh-ease), visibility .3s;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-links.is-open {\r\n        transform: translateY(0);\r\n        visibility: visible;\r\n      }\r\n\r\n      body.admin-bar #mico-home-draft.is-js .mh-nav-links { top: 120px; }\r\n\r\n      #mico-home-draft .mh-nav-links a,\r\n      #mico-home-draft .mh-nav-links a:nth-child(2) {\r\n        display: block;\r\n        padding: 17px 6px;\r\n        border-bottom: 1px solid rgba(255,255,255,.14);\r\n        font-size: 1rem;\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-actions {\r\n        justify-self: end;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-inner {\r\n        padding-block: 100px 56px;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero h1 {\r\n        font-size: clamp(2.72rem, 13.2vw, 4.35rem);\r\n        line-height: .98;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-lead {\r\n        margin-top: 24px;\r\n        font-size: 1.03rem;\r\n      }\r\n\r\n      #mico-home-draft .mh-actions {\r\n        display: grid;\r\n      }\r\n\r\n      #mico-home-draft .mh-button {\r\n        width: 100%;\r\n      }\r\n\r\n      #mico-home-draft .mh-system-card {\r\n        padding: 18px;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-step {\r\n        grid-template-columns: 1fr;\r\n        gap: 2px;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-step span {\r\n        text-align: left;\r\n      }\r\n\r\n      #mico-home-draft .mh-clients {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n\r\n      #mico-home-draft .mh-client:nth-child(odd) {\r\n        border-left: 0;\r\n      }\r\n\r\n      #mico-home-draft .mh-client:nth-child(n+3) {\r\n        border-top: 1px solid #e4e0e8;\r\n      }\r\n\r\n      #mico-home-draft .mh-problem-item {\r\n        grid-template-columns: 42px 1fr;\r\n        gap: 13px;\r\n      }\r\n\r\n      #mico-home-draft .mh-path-band {\r\n        gap: 17px;\r\n        padding: 24px 20px;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-stage {\r\n        min-height: 520px;\r\n        padding: 18px;\r\n      }\r\n\r\n      #mico-home-draft .mh-stage-map {\r\n        min-height: 390px;\r\n      }\r\n\r\n      #mico-home-draft .mh-map-node {\r\n        width: 86px;\r\n        min-height: 61px;\r\n        padding: 8px;\r\n      }\r\n\r\n      #mico-home-draft .mh-map-node strong {\r\n        font-size: 10px;\r\n      }\r\n\r\n      #mico-home-draft .mh-node-pickup { left: 0; top: 73%; }\r\n      #mico-home-draft .mh-node-warehouse { left: 18%; top: 43%; }\r\n      #mico-home-draft .mh-node-picking { left: 42%; top: 16%; }\r\n      #mico-home-draft .mh-node-cold { left: 53%; top: 56%; }\r\n      #mico-home-draft .mh-node-delivery { right: 0; top: 19%; }\r\n      #mico-home-draft .mh-node-tech { left: 32%; bottom: 0; }\r\n      #mico-home-draft .mh-node-terminal { right: 0; bottom: 0; }\r\n      #mico-home-draft .mh-node-trust { right: 0; top: 69%; }\r\n\r\n      #mico-home-draft .mh-stage-caption {\r\n        display: none;\r\n      }\r\n\r\n      #mico-home-draft .mh-scene {\r\n        padding-left: 20px;\r\n      }\r\n\r\n      #mico-home-draft .mh-service-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-service {\r\n        min-height: 230px;\r\n      }\r\n\r\n      #mico-home-draft .mh-partner-flow {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-partner-arrow {\r\n        justify-self: center;\r\n        transform: rotate(90deg);\r\n      }\r\n\r\n      #mico-home-draft .mh-roadmap-item .mh-status {\r\n        margin-bottom: 26px;\r\n      }\r\n\r\n      #mico-home-draft .mf-app {\r\n        border-radius: 20px;\r\n      }\r\n\r\n      #mico-home-draft .mf-config {\r\n        min-height: 610px;\r\n        padding: 24px 19px;\r\n      }\r\n\r\n      #mico-home-draft .mf-controls {\r\n        align-items: stretch;\r\n      }\r\n\r\n      #mico-home-draft .mf-control-group {\r\n        flex: 1;\r\n      }\r\n\r\n      #mico-home-draft .mf-control {\r\n        min-width: 0;\r\n        flex: 1;\r\n        padding-inline: 10px;\r\n      }\r\n\r\n      #mico-home-draft .mf-visual-panel {\r\n        min-height: 730px;\r\n        padding: 30px 20px;\r\n      }\r\n\r\n      #mico-home-draft .mf-track {\r\n        min-height: 120px;\r\n        margin-block: 28px 24px;\r\n      }\r\n\r\n      #mico-home-draft .mf-reasons {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mf-result-bottom {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mf-result-bottom .mh-button {\r\n        width: 100%;\r\n      }\r\n\r\n      #mico-home-draft .mf-static {\r\n        grid-template-columns: 1fr 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-contact-actions {\r\n        display: grid;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 380px) {\r\n      #mico-home-draft .mh-shell,\r\n      #mico-home-draft .mh-shell--narrow {\r\n        width: min(calc(100% - 28px), 1320px);\r\n      }\r\n\r\n      #mico-home-draft .mh-hero h1 {\r\n        font-size: 2.58rem;\r\n      }\r\n\r\n      #mico-home-draft .mh-clients,\r\n      #mico-home-draft .mf-static {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mh-client {\r\n        min-height: 102px;\r\n        border-left: 0;\r\n      }\r\n\r\n      #mico-home-draft .mh-client:not(:first-child) {\r\n        border-top: 1px solid #e4e0e8;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      #mico-home-draft,\r\n      #mico-home-draft *,\r\n      #mico-home-draft *::before,\r\n      #mico-home-draft *::after {\r\n        scroll-behavior: auto !important;\r\n        animation-duration: .01ms !important;\r\n        animation-iteration-count: 1 !important;\r\n        transition-duration: .01ms !important;\r\n      }\r\n\r\n      #mico-home-draft .mh-route-flow {\r\n        stroke-dashoffset: 0 !important;\r\n      }\r\n\r\n      #mico-home-draft .mh-scene {\r\n        opacity: 1;\r\n      }\r\n    }\r\n\r\n    \/* Mico System Story 3D \u2014 progressive, responsive, accessibility-first *\/\r\n    #mico-home-draft .mh-visually-hidden {\r\n      position: absolute !important;\r\n      width: 1px !important;\r\n      height: 1px !important;\r\n      padding: 0 !important;\r\n      margin: -1px !important;\r\n      overflow: hidden !important;\r\n      clip: rect(0 0 0 0) !important;\r\n      white-space: nowrap !important;\r\n      border: 0 !important;\r\n    }\r\n\r\n    #mico-home-draft .mh-story {\r\n      isolation: isolate;\r\n      background:\r\n        radial-gradient(circle at 18% 36%, rgba(94,61,209,.2), transparent 32%),\r\n        radial-gradient(circle at 88% 62%, rgba(245,84,12,.12), transparent 27%),\r\n        #0c0040;\r\n    }\r\n\r\n    #mico-home-draft .mh-story::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 0;\r\n      background: linear-gradient(180deg, rgba(12,0,64,0), rgba(5,0,32,.32));\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-intro {\r\n      z-index: 2;\r\n      margin-bottom: clamp(54px, 7vw, 92px);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-grid {\r\n      z-index: 2;\r\n      grid-template-columns: minmax(0, 1.18fr) minmax(340px, .72fr);\r\n      gap: clamp(42px, 6.5vw, 96px);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage {\r\n      top: 94px;\r\n      scroll-margin-top: 88px;\r\n      height: clamp(430px, calc(100svh - 116px), 690px);\r\n      min-height: 0;\r\n      padding: 0;\r\n      display: grid;\r\n      grid-template-rows: auto minmax(0, 1fr) auto;\r\n      border-color: rgba(255,255,255,.18);\r\n      border-radius: clamp(22px, 2vw, 32px);\r\n      background:\r\n        radial-gradient(circle at 72% 18%, rgba(111,79,229,.2), transparent 34%),\r\n        linear-gradient(145deg, rgba(25,11,82,.98), rgba(9,2,48,.98));\r\n      box-shadow: 0 38px 110px rgba(2,0,24,.42), inset 0 1px 0 rgba(255,255,255,.08);\r\n      contain: layout paint;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage::before {\r\n      width: 420px;\r\n      height: 420px;\r\n      right: -190px;\r\n      top: -230px;\r\n      background: rgba(245,84,12,.1);\r\n      filter: blur(20px);\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-toolbar {\r\n      position: relative;\r\n      z-index: 8;\r\n      min-height: 64px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 18px;\r\n      padding: 14px 18px 12px 20px;\r\n      border-bottom: 1px solid rgba(255,255,255,.11);\r\n      background: rgba(9,2,48,.42);\r\n      backdrop-filter: blur(12px);\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-ident {\r\n      min-width: 0;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 11px;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-count {\r\n      color: #ded9ed;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-status {\r\n      min-height: 25px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 7px;\r\n      padding: 5px 9px;\r\n      border: 1px solid rgba(255,255,255,.18);\r\n      border-radius: 999px;\r\n      color: #fff;\r\n      background: rgba(255,255,255,.08);\r\n      font-size: 9px;\r\n      font-weight: 850;\r\n      letter-spacing: .08em;\r\n      line-height: 1;\r\n      text-transform: uppercase;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-status::before {\r\n      content: \"\";\r\n      width: 7px;\r\n      height: 7px;\r\n      flex: 0 0 7px;\r\n      border: 1px solid currentColor;\r\n      border-radius: 50%;\r\n      background: currentColor;\r\n      box-shadow: 0 0 0 4px rgba(255,255,255,.07);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage[data-status=\"development\"] .mh-stage-status {\r\n      color: #c7bfff;\r\n      border-color: rgba(176,159,255,.4);\r\n      background: rgba(109,80,222,.2);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage[data-status=\"future\"] .mh-stage-status {\r\n      color: #e2dcff;\r\n      border-style: dashed;\r\n      background: rgba(139,113,244,.11);\r\n    }\r\n\r\n    #mico-home-draft .mh-motion-toggle {\r\n      min-width: 44px;\r\n      min-height: 44px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 8px;\r\n      padding: 8px 11px;\r\n      border: 1px solid rgba(255,255,255,.18);\r\n      border-radius: 999px;\r\n      color: #f5f2fb;\r\n      background: rgba(255,255,255,.075);\r\n      font: inherit;\r\n      font-size: 11px;\r\n      font-weight: 760;\r\n      cursor: pointer;\r\n      transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-motion-toggle:hover {\r\n      border-color: rgba(245,84,12,.65);\r\n      background: rgba(245,84,12,.12);\r\n    }\r\n\r\n    #mico-home-draft .mh-motion-toggle:active { transform: scale(.97); }\r\n    #mico-home-draft .mh-motion-toggle[aria-pressed=\"true\"] .mh-pause-icon { display: none; }\r\n    #mico-home-draft .mh-motion-toggle[aria-pressed=\"false\"] .mh-play-icon { display: none; }\r\n    #mico-home-draft .mh-motion-toggle[aria-disabled=\"true\"] { cursor: default; opacity: .74; }\r\n\r\n    #mico-home-draft .mh-motion-toggle svg {\r\n      width: 15px;\r\n      height: 15px;\r\n      fill: currentColor;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-viewport {\r\n      position: relative;\r\n      min-height: 0;\r\n      overflow: hidden;\r\n      background:\r\n        radial-gradient(ellipse at 52% 62%, rgba(91,64,194,.22), transparent 48%),\r\n        linear-gradient(180deg, rgba(6,0,39,.1), rgba(6,0,39,.38));\r\n      touch-action: pan-y pinch-zoom;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-viewport::before,\r\n    #mico-home-draft .mh-story-viewport::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      z-index: 4;\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-viewport::before {\r\n      inset: 0;\r\n      opacity: .18;\r\n      background-image:\r\n        linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);\r\n      background-size: 42px 42px;\r\n      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 24%, #000 75%, transparent);\r\n      mask-image: linear-gradient(to bottom, transparent, #000 24%, #000 75%, transparent);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-viewport::after {\r\n      right: 8%;\r\n      bottom: 7%;\r\n      left: 8%;\r\n      height: 21%;\r\n      border-radius: 50%;\r\n      background: rgba(3,0,29,.62);\r\n      filter: blur(24px);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-poster,\r\n    #mico-home-draft .mh-story-canvas {\r\n      position: absolute;\r\n      inset: 0;\r\n      width: 100%;\r\n      height: 100%;\r\n      display: block;\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-poster {\r\n      z-index: 1;\r\n      object-fit: contain;\r\n      object-position: center;\r\n      opacity: .98;\r\n      transform: scale(1.04);\r\n      transition: opacity 500ms ease, transform 900ms cubic-bezier(.22,1,.36,1), filter 500ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-canvas {\r\n      z-index: 3;\r\n      opacity: 0;\r\n      transition: opacity 500ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage.is-webgl-ready .mh-story-poster {\r\n      opacity: .08;\r\n      filter: blur(3px) saturate(.8);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage.is-webgl-ready .mh-story-canvas { opacity: 1; }\r\n    #mico-home-draft .mh-story-stage.is-webgl-fallback .mh-story-poster { opacity: 1; }\r\n\r\n    #mico-home-draft .mh-story-stage[data-stage=\"2\"] .mh-story-poster { transform: scale(1.24) translate(-1%, 4%); }\r\n    #mico-home-draft .mh-story-stage[data-stage=\"3\"] .mh-story-poster { transform: scale(1.24) translate(2%, -5%); }\r\n    #mico-home-draft .mh-story-stage[data-stage=\"4\"] .mh-story-poster { transform: scale(1.18) translate(0, -5%); }\r\n    #mico-home-draft .mh-story-stage[data-stage=\"5\"] .mh-story-poster { transform: scale(1.03); }\r\n\r\n    #mico-home-draft .mh-story-loader {\r\n      position: absolute;\r\n      left: 18px;\r\n      bottom: 14px;\r\n      z-index: 7;\r\n      min-height: 29px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 9px;\r\n      padding: 6px 10px;\r\n      border: 1px solid rgba(255,255,255,.12);\r\n      border-radius: 999px;\r\n      color: #c9c3dc;\r\n      background: rgba(7,1,38,.7);\r\n      font-size: 10px;\r\n      font-weight: 750;\r\n      letter-spacing: .04em;\r\n      backdrop-filter: blur(8px);\r\n      transition: opacity 240ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-loader::before {\r\n      content: \"\";\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--mh-orange);\r\n      box-shadow: 0 0 0 4px rgba(245,84,12,.14);\r\n      animation: mh-story-pulse 1.2s ease-in-out infinite;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage.is-webgl-ready .mh-story-loader {\r\n      opacity: 0;\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage.is-webgl-fallback .mh-story-loader::before {\r\n      background: #9e8cff;\r\n      box-shadow: 0 0 0 4px rgba(158,140,255,.12);\r\n      animation: none;\r\n    }\r\n\r\n    @keyframes mh-story-pulse {\r\n      0%, 100% { opacity: .45; transform: scale(.8); }\r\n      50% { opacity: 1; transform: scale(1); }\r\n    }\r\n\r\n    #mico-home-draft .mh-story-legend {\r\n      position: absolute;\r\n      top: 14px;\r\n      right: 14px;\r\n      z-index: 7;\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      justify-content: flex-end;\r\n      gap: 6px;\r\n      max-width: calc(100% - 28px);\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-legend span {\r\n      min-height: 25px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 6px;\r\n      padding: 5px 8px;\r\n      border: 1px solid rgba(255,255,255,.12);\r\n      border-radius: 999px;\r\n      color: #ded9ed;\r\n      background: rgba(7,1,38,.68);\r\n      font-size: 8px;\r\n      font-weight: 800;\r\n      letter-spacing: .06em;\r\n      text-transform: uppercase;\r\n      backdrop-filter: blur(8px);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-legend i {\r\n      width: 7px;\r\n      height: 7px;\r\n      display: block;\r\n      border-radius: 2px;\r\n      background: #fff;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-legend .is-development i {\r\n      border: 1px solid #c0b4ff;\r\n      background: rgba(139,113,244,.5);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-legend .is-future i {\r\n      border: 1px dashed #d9d1ff;\r\n      background: transparent;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-foot {\r\n      position: relative;\r\n      z-index: 8;\r\n      padding: 16px 18px 17px 20px;\r\n      border-top: 1px solid rgba(255,255,255,.11);\r\n      background: rgba(7,1,38,.72);\r\n      backdrop-filter: blur(14px);\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-copy {\r\n      min-height: 55px;\r\n      display: grid;\r\n      align-content: start;\r\n      gap: 5px;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-title {\r\n      color: #fff;\r\n      font-size: clamp(15px, 1.4vw, 19px);\r\n      text-align: left;\r\n    }\r\n\r\n    #mico-home-draft .mh-stage-caption {\r\n      position: static;\r\n      margin: 0;\r\n      max-width: 760px;\r\n      color: #bdb6d2;\r\n      font-size: 11px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-controls {\r\n      display: grid;\r\n      grid-template-columns: 44px minmax(0, 1fr) 44px;\r\n      grid-template-areas: \"previous steps next\";\r\n      gap: 10px;\r\n      align-items: center;\r\n      margin-top: 13px;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-arrow,\r\n    #mico-home-draft .mh-story-step {\r\n      min-width: 44px;\r\n      min-height: 44px;\r\n      border: 1px solid rgba(255,255,255,.16);\r\n      color: #fff;\r\n      background: rgba(255,255,255,.06);\r\n      font: inherit;\r\n      cursor: pointer;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-arrow {\r\n      display: grid;\r\n      place-items: center;\r\n      border-radius: 50%;\r\n      font-size: 20px;\r\n      line-height: 1;\r\n    }\r\n\r\n    #mico-home-draft [data-mh-story-prev] { grid-area: previous; }\r\n    #mico-home-draft [data-mh-story-next] { grid-area: next; }\r\n\r\n    #mico-home-draft .mh-story-arrow:hover:not(:disabled),\r\n    #mico-home-draft .mh-story-step:hover {\r\n      border-color: rgba(245,84,12,.72);\r\n      background: rgba(245,84,12,.13);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-arrow:disabled { opacity: .28; cursor: default; }\r\n\r\n    #mico-home-draft .mh-story-steps {\r\n      grid-area: steps;\r\n      display: grid;\r\n      grid-template-columns: repeat(5, minmax(44px, 1fr));\r\n      gap: 7px;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-step {\r\n      position: relative;\r\n      display: grid;\r\n      place-items: center;\r\n      border-radius: 11px;\r\n      color: #aaa3c4;\r\n      font-size: 10px;\r\n      font-weight: 850;\r\n      letter-spacing: .08em;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-step::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      right: 7px;\r\n      bottom: 6px;\r\n      left: 7px;\r\n      height: 2px;\r\n      border-radius: 999px;\r\n      background: currentColor;\r\n      opacity: .25;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-step[aria-current=\"step\"] {\r\n      color: #fff;\r\n      border-color: var(--mh-orange);\r\n      background: rgba(245,84,12,.14);\r\n      box-shadow: inset 0 0 0 1px rgba(245,84,12,.18);\r\n    }\r\n\r\n    #mico-home-draft .mh-story-step[aria-current=\"step\"]::after {\r\n      background: var(--mh-orange);\r\n      opacity: 1;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage[data-motion=\"paused\"] .mh-story-poster,\r\n    #mico-home-draft .mh-story-stage[data-motion=\"paused\"] .mh-story-canvas,\r\n    #mico-home-draft .mh-story-stage[data-motion=\"paused\"] .mh-scene {\r\n      transition: none;\r\n    }\r\n\r\n    #mico-home-draft :is(.mh-story-arrow,.mh-story-step,.mh-motion-toggle):focus-visible {\r\n      outline: 3px solid #fff;\r\n      outline-offset: 3px;\r\n    }\r\n\r\n    #mico-home-draft .mh-scenes { display: grid; }\r\n\r\n    #mico-home-draft .mh-scene {\r\n      min-height: clamp(500px, 72svh, 760px);\r\n      padding: clamp(44px, 6vw, 70px) 0 clamp(44px, 6vw, 70px) clamp(24px, 3vw, 38px);\r\n      border-left-width: 1px;\r\n      opacity: .36;\r\n      transform: translateY(14px);\r\n      transition: opacity 360ms ease, transform 420ms ease, border-color 360ms ease;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene.is-active {\r\n      opacity: 1;\r\n      transform: translateY(0);\r\n    }\r\n\r\n    #mico-home-draft .mh-scene-number { margin-bottom: 12px; }\r\n    #mico-home-draft .mh-scene .mh-status { margin-bottom: 16px; }\r\n\r\n    #mico-home-draft .mh-scene h3 {\r\n      margin-bottom: 15px;\r\n      font-size: clamp(1.7rem, 2.7vw, 2.45rem);\r\n    }\r\n\r\n    #mico-home-draft .mh-scene p { font-size: 15px; }\r\n\r\n    #mico-home-draft .mh-scene-evidence {\r\n      max-width: 470px;\r\n      display: grid;\r\n      gap: 9px;\r\n      margin: 19px 0 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene-evidence li {\r\n      position: relative;\r\n      padding-left: 18px;\r\n      color: #aaa3c4;\r\n      font-size: 12px;\r\n      line-height: 1.48;\r\n    }\r\n\r\n    #mico-home-draft .mh-scene-evidence li::before {\r\n      content: \"\";\r\n      position: absolute;\r\n      left: 0;\r\n      top: .53em;\r\n      width: 7px;\r\n      height: 7px;\r\n      border: 1px solid #8c7af0;\r\n      border-radius: 2px;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-skip {\r\n      width: max-content;\r\n      display: inline-flex;\r\n      margin-top: 24px;\r\n      color: #d8d2e8;\r\n      font-size: 12px;\r\n      font-weight: 750;\r\n      text-underline-offset: 4px;\r\n    }\r\n\r\n    @media (max-width: 1100px) {\r\n      #mico-home-draft .mh-story-grid {\r\n        grid-template-columns: minmax(0, 1fr) minmax(318px, .72fr);\r\n        gap: 42px;\r\n      }\r\n\r\n      #mico-home-draft .mh-motion-label { display: none; }\r\n      #mico-home-draft .mh-stage-ident { gap: 7px; }\r\n    }\r\n\r\n    @media (max-width: 980px), (max-height: 560px) {\r\n      #mico-home-draft .mh-story-grid { display: block; }\r\n\r\n      #mico-home-draft .mh-story-stage {\r\n        position: relative;\r\n        top: auto;\r\n        width: 100%;\r\n        height: auto;\r\n        min-height: 0;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-viewport {\r\n        min-height: 320px;\r\n        aspect-ratio: 16 \/ 9;\r\n      }\r\n\r\n      #mico-home-draft .mh-scenes { margin-top: 22px; }\r\n\r\n      #mico-home-draft .mh-scene {\r\n        display: none;\r\n        min-height: 0;\r\n        padding: 26px 20px 8px;\r\n        border: 0;\r\n        border-top: 1px solid rgba(255,255,255,.12);\r\n        opacity: 1;\r\n        transform: none;\r\n      }\r\n\r\n      #mico-home-draft .mh-scene.is-active { display: grid; }\r\n      #mico-home-draft .mh-scene h3,\r\n      #mico-home-draft .mh-scene p,\r\n      #mico-home-draft .mh-scene-evidence { max-width: 720px; }\r\n    }\r\n\r\n    @media (max-width: 680px) {\r\n      #mico-home-draft .mh-story-intro {\r\n        gap: 20px;\r\n        margin-bottom: 38px;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-stage { border-radius: 20px; }\r\n\r\n      #mico-home-draft .mh-stage-toolbar {\r\n        min-height: 58px;\r\n        padding: 9px 10px 9px 14px;\r\n      }\r\n\r\n      #mico-home-draft .mh-stage-status {\r\n        max-width: 126px;\r\n        overflow: hidden;\r\n        text-overflow: ellipsis;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-viewport {\r\n        min-height: 248px;\r\n        aspect-ratio: 5 \/ 4;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-poster { transform: scale(1.13); }\r\n      #mico-home-draft .mh-story-stage[data-stage=\"2\"] .mh-story-poster { transform: scale(1.34) translate(-1%, 4%); }\r\n      #mico-home-draft .mh-story-stage[data-stage=\"3\"] .mh-story-poster { transform: scale(1.34) translate(2%, -5%); }\r\n      #mico-home-draft .mh-story-stage[data-stage=\"4\"] .mh-story-poster { transform: scale(1.27) translate(0, -5%); }\r\n      #mico-home-draft .mh-story-stage[data-stage=\"5\"] .mh-story-poster { transform: scale(1.12); }\r\n\r\n      #mico-home-draft .mh-story-legend {\r\n        top: 9px;\r\n        right: 9px;\r\n        left: 9px;\r\n        justify-content: center;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-legend span { font-size: 7px; }\r\n      #mico-home-draft .mh-story-loader { left: 10px; bottom: 9px; }\r\n\r\n      #mico-home-draft .mh-stage-foot { padding: 14px 12px 14px; }\r\n      #mico-home-draft .mh-stage-copy { min-height: 70px; }\r\n      #mico-home-draft .mh-stage-caption { font-size: 10px; }\r\n      #mico-home-draft .mh-story-controls { gap: 7px; }\r\n      #mico-home-draft .mh-story-steps { gap: 5px; }\r\n      #mico-home-draft .mh-story-step { min-width: 0; }\r\n\r\n      #mico-home-draft .mh-scene {\r\n        padding-right: 10px;\r\n        padding-left: 10px;\r\n      }\r\n\r\n      #mico-home-draft .mh-scene h3 { font-size: 1.7rem; }\r\n      #mico-home-draft .mh-scene p { font-size: 14px; }\r\n    }\r\n\r\n    @media (max-width: 480px) {\r\n      #mico-home-draft .mh-story-controls {\r\n        grid-template-columns: 44px minmax(0, 1fr) 44px;\r\n        grid-template-areas:\r\n          \"steps steps steps\"\r\n          \"previous . next\";\r\n        row-gap: 8px;\r\n      }\r\n\r\n      #mico-home-draft .mh-story-steps {\r\n        grid-template-columns: repeat(5, minmax(44px, 1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width: 360px) {\r\n      #mico-home-draft .mh-stage-status { display: none; }\r\n      #mico-home-draft .mh-story-legend span { padding-right: 6px; padding-left: 6px; letter-spacing: .03em; }\r\n      #mico-home-draft .mh-story-steps { gap: 3px; }\r\n      #mico-home-draft .mh-story-controls { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 4px; }\r\n      #mico-home-draft .mh-story-stage {\r\n        min-width: 0;\r\n        max-width: 100%;\r\n        overflow: hidden;\r\n      }\r\n      #mico-home-draft .mh-story-viewport {\r\n        width: 100%;\r\n        min-width: 0;\r\n        max-width: 100%;\r\n      }\r\n      #mico-home-draft .mf-controls { flex-wrap: wrap; }\r\n      #mico-home-draft .mf-controls > .mf-control {\r\n        flex: 0 0 100%;\r\n        width: 100%;\r\n      }\r\n      #mico-home-draft .mf-control-group {\r\n        flex: 0 0 100%;\r\n        width: 100%;\r\n      }\r\n      #mico-home-draft .mf-control-group .mf-control { white-space: nowrap; }\r\n    }\r\n\r\n    @media (orientation: landscape) and (max-height: 560px) and (min-width: 600px) {\r\n      #mico-home-draft .mh-story-stage {\r\n        grid-template-columns: minmax(0, 1.12fr) minmax(290px, .88fr);\r\n        grid-template-rows: auto minmax(270px, 1fr);\r\n      }\r\n\r\n      #mico-home-draft .mh-stage-toolbar { grid-column: 1 \/ -1; }\r\n      #mico-home-draft .mh-story-viewport { min-height: 270px; aspect-ratio: auto; }\r\n      #mico-home-draft .mh-stage-foot { border-top: 0; border-left: 1px solid rgba(255,255,255,.11); }\r\n      #mico-home-draft .mh-story-legend { display: none; }\r\n      #mico-home-draft .mh-stage-copy { min-height: 108px; }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      #mico-home-draft .mh-story-loader::before { animation: none; }\r\n      #mico-home-draft .mh-story-poster,\r\n      #mico-home-draft .mh-story-canvas,\r\n      #mico-home-draft .mh-scene { transition: none; transform: none; }\r\n    }\r\n  <\/style>\r\n\r\n  <style id=\"mico-home-polish\">\r\n    \/* Final scale and contrast refinement shared with the inner pages. *\/\r\n    #mico-home-draft .mh-shell {\r\n      width: min(calc(100% - 64px), 1240px);\r\n    }\r\n\r\n    #mico-home-draft .mh-shell--narrow {\r\n      width: min(calc(100% - 64px), 1020px);\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-inner,\r\n    #mico-home-draft .mh-nav.is-docked .mh-nav-inner {\r\n      min-height: 78px;\r\n      gap: 26px;\r\n    }\r\n\r\n    #mico-home-draft .mh-logo img {\r\n      width: 104px;\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-links {\r\n      gap: clamp(16px, 1.7vw, 28px);\r\n    }\r\n\r\n    #mico-home-draft .mh-nav-cta,\r\n    #mico-home-draft .mh-button {\r\n      min-height: 48px;\r\n    }\r\n\r\n    #mico-home-draft .mh-section {\r\n      padding-block: clamp(72px, 7vw, 112px);\r\n    }\r\n\r\n    #mico-home-draft .mh-display {\r\n      font-size: clamp(2.8rem, 4.7vw, 5.25rem);\r\n      line-height: .97;\r\n    }\r\n\r\n    #mico-home-draft .mh-title {\r\n      max-width: 840px;\r\n      font-size: clamp(2.1rem, 3.6vw, 4.1rem);\r\n      line-height: 1.01;\r\n    }\r\n\r\n    #mico-home-draft .mh-copy-lg {\r\n      font-size: clamp(1.03rem, 1.2vw, 1.18rem);\r\n      line-height: 1.62;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero {\r\n      min-height: min(740px, calc(100svh - 78px));\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-inner {\r\n      gap: clamp(42px, 6vw, 82px);\r\n      padding-block: clamp(94px, 9vw, 128px) clamp(68px, 7vw, 96px);\r\n    }\r\n\r\n    #mico-home-draft .mh-hero h1 {\r\n      font-size: clamp(2.95rem, 4.7vw, 5.3rem);\r\n      line-height: .96;\r\n      letter-spacing: -.052em;\r\n    }\r\n\r\n    #mico-home-draft .mh-hero-lead {\r\n      margin-top: 26px;\r\n      font-size: clamp(1.03rem, 1.2vw, 1.18rem);\r\n    }\r\n\r\n    #mico-home-draft .mh-actions {\r\n      margin-top: 30px;\r\n    }\r\n\r\n    #mico-home-draft .mh-system-card {\r\n      padding: 21px;\r\n    }\r\n\r\n    #mico-home-draft .mh-proof-inner {\r\n      min-height: 150px;\r\n      padding-block: 24px;\r\n    }\r\n\r\n    #mico-home-draft .mh-client {\r\n      min-height: 104px;\r\n    }\r\n\r\n    #mico-home-draft .mh-problem-grid,\r\n    #mico-home-draft .mh-partner-grid {\r\n      gap: clamp(44px, 7vw, 96px);\r\n    }\r\n\r\n    #mico-home-draft .mh-path-band {\r\n      margin-top: clamp(46px, 6vw, 76px);\r\n      padding: clamp(24px, 3vw, 34px);\r\n    }\r\n\r\n    #mico-home-draft .mh-services-head,\r\n    #mico-home-draft .mh-future-head,\r\n    #mico-home-draft .mh-flowlab-head {\r\n      margin-bottom: clamp(40px, 5vw, 64px);\r\n    }\r\n\r\n    #mico-home-draft .mh-service {\r\n      min-height: 238px;\r\n      gap: 22px;\r\n      padding: clamp(24px, 2.5vw, 32px);\r\n    }\r\n\r\n    #mico-home-draft .mh-pillar-grid {\r\n      margin-top: 48px;\r\n    }\r\n\r\n    #mico-home-draft .mh-deliventures {\r\n      padding-block: clamp(64px, 6vw, 88px);\r\n    }\r\n\r\n    #mico-home-draft .mh-partner-label strong {\r\n      font-size: clamp(1.95rem, 3.4vw, 3.7rem);\r\n      line-height: 1.01;\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item {\r\n      min-height: 290px;\r\n      padding: clamp(24px, 2.7vw, 34px);\r\n    }\r\n\r\n    #mico-home-draft .mh-roadmap-item .mh-status {\r\n      margin-bottom: 30px;\r\n    }\r\n\r\n    #mico-home-draft .mf-app {\r\n      min-height: 620px;\r\n      border-radius: 26px;\r\n    }\r\n\r\n    #mico-home-draft .mf-stage {\r\n      min-height: 320px;\r\n    }\r\n\r\n    #mico-home-draft .mf-config,\r\n    #mico-home-draft .mf-visual-panel {\r\n      padding: clamp(24px, 3vw, 40px);\r\n    }\r\n\r\n    #mico-home-draft .mh-contact {\r\n      padding-block: clamp(72px, 7vw, 112px);\r\n    }\r\n\r\n    #mico-home-draft .mh-contact h2 {\r\n      font-size: clamp(2.5rem, 4.3vw, 4.9rem);\r\n      line-height: .98;\r\n    }\r\n\r\n    #mico-home-draft .mh-story-stage {\r\n      height: clamp(500px, calc(100svh - 110px), 660px);\r\n    }\r\n\r\n    #mico-home-draft .mh-scene {\r\n      min-height: clamp(430px, 60svh, 640px);\r\n    }\r\n\r\n    #mico-home-draft :where(.mh-story, .mh-future, .mf-visual-panel, .mh-path-band)\r\n      :where(h1, h2, h3) {\r\n      color: #fff !important;\r\n    }\r\n\r\n    #mico-home-draft .mh-title--light {\r\n      color: #fff !important;\r\n    }\r\n\r\n    \/* Seamless customer-logo marquee. The second set is a visual-only copy. *\/\r\n    #mico-home-draft .mh-clients {\r\n      position: relative;\r\n      isolation: isolate;\r\n      display: block;\r\n    }\r\n\r\n    #mico-home-draft .mh-clients::before,\r\n    #mico-home-draft .mh-clients::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      z-index: 3;\r\n      inset-block: 0;\r\n      width: clamp(14px, 2.7vw, 34px);\r\n      pointer-events: none;\r\n    }\r\n\r\n    #mico-home-draft .mh-clients::before {\r\n      left: 0;\r\n      background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.86) 32%, transparent 100%);\r\n    }\r\n\r\n    #mico-home-draft .mh-clients::after {\r\n      right: 0;\r\n      background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,.86) 32%, transparent 100%);\r\n    }\r\n\r\n    #mico-home-draft .mh-clients-track {\r\n      display: flex;\r\n      width: 200%;\r\n      transform: translate3d(0, 0, 0);\r\n      animation: mh-client-marquee 27s linear infinite;\r\n      will-change: transform;\r\n    }\r\n\r\n    #mico-home-draft .mh-client-set {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, minmax(0, 1fr));\r\n      flex: 0 0 50%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #mico-home-draft .mh-client-set .mh-client {\r\n      min-width: 0;\r\n      border-top: 0;\r\n      border-left: 1px solid #e4e0e8;\r\n    }\r\n\r\n    #mico-home-draft .mh-clients:hover .mh-clients-track {\r\n      animation-play-state: paused;\r\n    }\r\n\r\n    #mico-home-draft .mh-clients:focus-within .mh-clients-track {\r\n      animation-play-state: paused;\r\n    }\r\n\r\n    #mico-home-draft .mh-clients:has(.mh-client-set:not(.mh-client-set--clone) .mh-client:focus-visible) .mh-clients-track {\r\n      animation: none;\r\n      transform: translate3d(0, 0, 0);\r\n    }\r\n\r\n    @keyframes mh-client-marquee {\r\n      to { transform: translate3d(-50%, 0, 0); }\r\n    }\r\n\r\n    @media (max-width: 900px) {\r\n      #mico-home-draft .mh-shell,\r\n      #mico-home-draft .mh-shell--narrow {\r\n        width: min(calc(100% - 36px), 1240px);\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-inner,\r\n      #mico-home-draft .mh-nav.is-docked .mh-nav-inner {\r\n        min-height: 72px;\r\n        gap: 16px;\r\n      }\r\n\r\n      #mico-home-draft .mh-logo img {\r\n        width: 100px;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-links {\r\n        inset: 72px 0 auto;\r\n        max-height: calc(100svh - 72px);\r\n      }\r\n\r\n      body.admin-bar #mico-home-draft.is-js .mh-nav-links {\r\n        top: 104px;\r\n      }\r\n\r\n      #mico-home-draft .mh-section {\r\n        padding-block: clamp(64px, 9vw, 84px);\r\n      }\r\n\r\n      #mico-home-draft .mh-title {\r\n        font-size: clamp(2.05rem, 7.2vw, 3.15rem);\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-inner {\r\n        padding-block: 76px 64px;\r\n      }\r\n\r\n      #mico-home-draft .mf-config,\r\n      #mico-home-draft .mf-visual-panel {\r\n        min-height: 560px;\r\n      }\r\n\r\n      #mico-home-draft .mf-app.is-contact-step .mf-config {\r\n        min-height: 0;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 782px) {\r\n      body.admin-bar #mico-home-draft.is-js .mh-nav-links {\r\n        top: 118px;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 680px) {\r\n      #mico-home-draft .mh-shell,\r\n      #mico-home-draft .mh-shell--narrow {\r\n        width: min(calc(100% - 32px), 1240px);\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-inner,\r\n      #mico-home-draft .mh-nav.is-docked .mh-nav-inner {\r\n        min-height: 68px;\r\n        gap: 10px;\r\n      }\r\n\r\n      #mico-home-draft .mh-logo img {\r\n        width: 96px;\r\n      }\r\n\r\n      #mico-home-draft .mh-nav-toggle {\r\n        width: 46px;\r\n        height: 46px;\r\n      }\r\n\r\n      #mico-home-draft.is-js .mh-nav-links {\r\n        inset: 68px 0 auto;\r\n        max-height: calc(100svh - 68px);\r\n      }\r\n\r\n      body.admin-bar #mico-home-draft.is-js .mh-nav-links {\r\n        top: 114px;\r\n      }\r\n\r\n      #mico-home-draft .mh-section {\r\n        padding-block: 64px;\r\n      }\r\n\r\n      #mico-home-draft .mh-kicker {\r\n        margin-bottom: 16px;\r\n        font-size: 11px;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-inner {\r\n        padding-block: 56px 60px;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero h1 {\r\n        font-size: clamp(2.4rem, 10vw, 3rem);\r\n        line-height: 1;\r\n        letter-spacing: -.045em;\r\n      }\r\n\r\n      #mico-home-draft .mh-hero-lead {\r\n        margin-top: 22px;\r\n        font-size: 1rem;\r\n      }\r\n\r\n      #mico-home-draft .mh-service,\r\n      #mico-home-draft .mh-roadmap-item {\r\n        min-height: 0;\r\n        padding: 22px;\r\n      }\r\n\r\n      #mico-home-draft .mf-app,\r\n      #mico-home-draft .mf-config,\r\n      #mico-home-draft .mf-visual-panel {\r\n        min-height: 0;\r\n      }\r\n\r\n      #mico-home-draft .mf-config,\r\n      #mico-home-draft .mf-visual-panel {\r\n        padding: 24px 20px;\r\n      }\r\n\r\n      #mico-home-draft .mf-contact-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #mico-home-draft .mf-field--wide {\r\n        grid-column: auto;\r\n      }\r\n\r\n      #mico-home-draft .mf-submit-row {\r\n        display: grid;\r\n        grid-template-columns: minmax(0, 1fr);\r\n        align-items: stretch;\r\n        justify-content: stretch;\r\n      }\r\n\r\n      #mico-home-draft .mf-submit-row .mh-button,\r\n      #mico-home-draft .mf-contact-step .wpcf7-submit {\r\n        width: 100%;\r\n      }\r\n\r\n      #mico-home-draft .mf-submit-row p {\r\n        max-width: none;\r\n      }\r\n\r\n      #mico-home-draft .mf-visual-panel {\r\n        min-height: 540px;\r\n      }\r\n\r\n      #mico-home-draft .mh-contact h2 {\r\n        font-size: clamp(2.35rem, 10vw, 3.2rem);\r\n      }\r\n\r\n      #mico-home-draft .mh-story-viewport {\r\n        min-height: 238px;\r\n      }\r\n\r\n      #mico-home-draft .mh-clients-track {\r\n        width: 400%;\r\n        animation-duration: 25s;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 380px) {\r\n      #mico-home-draft .mh-hero h1 {\r\n        font-size: 2.35rem;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      #mico-home-draft .mh-clients-track {\r\n        width: 100%;\r\n        animation: none !important;\r\n        transform: none !important;\r\n        will-change: auto;\r\n      }\r\n\r\n      #mico-home-draft .mh-client-set {\r\n        flex-basis: 100%;\r\n      }\r\n\r\n      #mico-home-draft .mh-client-set--clone {\r\n        display: none;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 680px) and (prefers-reduced-motion: reduce) {\r\n      #mico-home-draft .mh-client-set {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n    }\r\n\r\n    @media (max-width: 380px) and (prefers-reduced-motion: reduce) {\r\n      #mico-home-draft .mh-client-set {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  \r\n<style data-mico-contact-nav-style>\r\n#mico-home-draft .mico-nav-contact-link{display:none}\r\n@media (max-width:1120px){#mico-home-draft .mh-nav-cta{display:none}#mico-home-draft .mh-nav-links .mico-nav-contact-link{min-height:52px;display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:14px 16px;color:#fff;border:1px solid #f5540c;border-radius:14px;background:#f5540c}}\r\n<\/style>\r\n<a class=\"mh-skip\" href=\"#mico-main-content\">Siirry sis\u00e4lt\u00f6\u00f6n<\/a>\r\n\r\n  <header class=\"mico-nav mh-nav\" data-mh-nav aria-label=\"Mico Finlandin p\u00e4\u00e4valikko\">\r\n    <div class=\"mico-shell mh-shell mh-nav-inner\">\r\n      <a class=\"mico-logo mh-logo\" href=\"#mico-main-content\" aria-label=\"Mico Finland \u2013 etusivu\">\r\n        <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2025\/04\/Mico-logo.png\" width=\"500\" height=\"250\" alt=\"Mico Finland\">\r\n      <\/a>\r\n      <nav class=\"mico-nav-links mh-nav-links\" id=\"mh-primary-links\" data-mh-menu aria-label=\"P\u00e4\u00e4valikko\">\r\n        <a href=\"#mico-main-content\" aria-current=\"page\">Etusivu<\/a>\r\n        <a href=\"\/index.php\/palvelut\/\">Palvelut<\/a>\r\n        <a href=\"\/index.php\/mico-system\/\">Mico System<\/a>\r\n        <a href=\"\/index.php\/yritys-ja-tiimi\/\">Yritys &amp; tiimi<\/a>\r\n        <a class=\"mico-nav-contact-link\" href=\"\/index.php\/ota-yhteytta\/\">Ota yhteytt\u00e4 <span aria-hidden=\"true\">\u2192<\/span><\/a>\r\n      <\/nav>\r\n      <div class=\"mico-nav-actions mh-nav-actions\">\r\n        <a class=\"mh-button mh-nav-cta\" href=\"\/index.php\/ota-yhteytta\/\">Ota yhteytt\u00e4 <span aria-hidden=\"true\">\u2192<\/span><\/a>\r\n        <button class=\"mico-menu-toggle mh-nav-toggle\" type=\"button\" data-mh-menu-toggle aria-controls=\"mh-primary-links\" aria-expanded=\"false\" aria-label=\"Avaa valikko\">\r\n          <span class=\"mh-nav-toggle-lines\" aria-hidden=\"true\"><\/span>\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/header>\r\n\r\n  <main id=\"mico-main-content\">\r\n\r\n  <section class=\"mh-hero\" aria-labelledby=\"mh-main-title\" data-mh-hero>\r\n    <img decoding=\"async\" class=\"mh-hero-media\" src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2025\/04\/kalusto2.jpg\" alt=\"Mico Finlandin kuljetuskalustoa asiakastoimituksissa\" fetchpriority=\"high\">\r\n    <div class=\"mh-hero-shade\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"mh-hero-gridlines\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"mh-shell mh-hero-inner\">\r\n      <div class=\"mh-hero-copy\">\r\n        <p class=\"mh-kicker mh-kicker--light\">Logistiikkapalvelut Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4<\/p>\r\n        <h1 id=\"mh-main-title\">Kuljetus, ker\u00e4ily ja varastointi \u2014 yhten\u00e4 hallittuna palveluna.<\/h1>\r\n        <p class=\"mh-hero-lead\">Mico Finland hoitaa ruoan ja muiden tuotteiden kuljetukset, kotiintoimitukset, ker\u00e4ilyn ja varastoinnin asiakkaan tarpeeseen sopivana kokonaisuutena. Palvelemme Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4 l\u00e4mp\u00f6tilahallitulla kalustolla.<\/p>\r\n        <div class=\"mh-actions\" aria-label=\"Etusivun p\u00e4\u00e4toiminnot\">\r\n          <a class=\"mh-button\" href=\"#mico-contact\">Keskustele logistiikkatarpeestasi <span aria-hidden=\"true\">\u2192<\/span><\/a>\r\n          <a class=\"mh-button mh-button--light\" href=\"#mico-system\">Katso, miten Mico toimii <span aria-hidden=\"true\">\u2193<\/span><\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <aside class=\"mh-system-card\" aria-label=\"Nykyisin k\u00e4yt\u00f6ss\u00e4 oleva palveluketju\">\r\n        <div class=\"mh-system-head\">\r\n          <p class=\"mh-system-title\">Yksi hallittu virta<\/p>\r\n          <span class=\"mh-status mh-status--now\">K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n        <\/div>\r\n        <div class=\"mh-hero-flow\">\r\n          <div class=\"mh-hero-step\"><strong>Nouto tai vastaanotto<\/strong><span>Tuotteet liikkeelle<\/span><\/div>\r\n          <div class=\"mh-hero-step\"><strong>Varastointi ja ker\u00e4ily<\/strong><span>Tarpeen mukaan<\/span><\/div>\r\n          <div class=\"mh-hero-step\"><strong>L\u00e4mp\u00f6tilahallittu kuljetus<\/strong><span>Helsinki\u2013Turku<\/span><\/div>\r\n          <div class=\"mh-hero-step\"><strong>Yritys- tai kotiintoimitus<\/strong><span>Sovittuun kohteeseen<\/span><\/div>\r\n        <\/div>\r\n      <\/aside>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-proof\" id=\"asiakkaamme\" aria-labelledby=\"mh-proof-title\">\r\n    <div class=\"mh-shell mh-proof-inner\">\r\n      <h2 class=\"mh-proof-title\" id=\"mh-proof-title\">Asiakkaitamme<\/h2>\r\n      <div class=\"mh-clients\" aria-label=\"Mico Finlandin nykyisi\u00e4 asiakkaita\">\r\n        <div class=\"mh-clients-track\">\r\n          <div class=\"mh-client-set\">\r\n            <a class=\"mh-client mh-client--sso\" href=\"https:\/\/sso.fi\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Suur-Seudun Osuuskauppa SSO \u2013 avautuu uuteen v\u00e4lilehteen\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-sso.webp\" width=\"421\" height=\"240\" loading=\"lazy\" decoding=\"async\" alt=\"Suur-Seudun Osuuskauppa SSO\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n            <a class=\"mh-client mh-client--estradi\" href=\"https:\/\/estradi.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Estradi Kyl\u00e4kauppa \u2013 avautuu uuteen v\u00e4lilehteen\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-estradi-kylakauppa.png\" width=\"500\" height=\"300\" loading=\"lazy\" decoding=\"async\" alt=\"Estradi Kyl\u00e4kauppa\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n            <a class=\"mh-client mh-client--cuubi\" href=\"https:\/\/www.cuubi.fi\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Cuubi \u2013 avautuu uuteen v\u00e4lilehteen\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-cuubi.png\" width=\"400\" height=\"286\" loading=\"lazy\" decoding=\"async\" alt=\"Cuubi\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n            <a class=\"mh-client mh-client--sinun\" href=\"https:\/\/www.raflaamo.fi\/fi\/ravintola\/lohja\/sinun-keittio-puoti\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Sinun Keitti\u00f6 \u2013 avautuu uuteen v\u00e4lilehteen\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-sinun-keittio.png\" width=\"512\" height=\"512\" loading=\"lazy\" decoding=\"async\" alt=\"Sinun Keitti\u00f6\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n          <\/div>\r\n          <div class=\"mh-client-set mh-client-set--clone\" aria-hidden=\"true\">\r\n            <a class=\"mh-client mh-client--sso\" href=\"https:\/\/sso.fi\/\" target=\"_blank\" rel=\"noopener noreferrer\" tabindex=\"-1\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-sso.webp\" width=\"421\" height=\"240\" loading=\"lazy\" decoding=\"async\" alt=\"\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n            <a class=\"mh-client mh-client--estradi\" href=\"https:\/\/estradi.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" tabindex=\"-1\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-estradi-kylakauppa.png\" width=\"500\" height=\"300\" loading=\"lazy\" decoding=\"async\" alt=\"\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n            <a class=\"mh-client mh-client--cuubi\" href=\"https:\/\/www.cuubi.fi\/\" target=\"_blank\" rel=\"noopener noreferrer\" tabindex=\"-1\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-cuubi.png\" width=\"400\" height=\"286\" loading=\"lazy\" decoding=\"async\" alt=\"\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n            <a class=\"mh-client mh-client--sinun\" href=\"https:\/\/www.raflaamo.fi\/fi\/ravintola\/lohja\/sinun-keittio-puoti\" target=\"_blank\" rel=\"noopener noreferrer\" tabindex=\"-1\">\r\n              <img src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/client-sinun-keittio.png\" width=\"512\" height=\"512\" loading=\"lazy\" decoding=\"async\" alt=\"\">\r\n              <span class=\"mh-client-source\" aria-hidden=\"true\">Virallinen sivusto \u2197<\/span>\r\n            <\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-section mh-problem\" aria-labelledby=\"mh-problem-title\">\r\n    <div class=\"mh-shell\">\r\n      <div class=\"mh-problem-grid\">\r\n        <div>\r\n          <p class=\"mh-kicker\">Kun logistiikka hajautuu<\/p>\r\n          <h2 class=\"mh-title\" id=\"mh-problem-title\">Tuote ei tarvitse lis\u00e4\u00e4 v\u00e4lik\u00e4si\u00e4. Se tarvitsee hallitun matkan.<\/h2>\r\n          <p class=\"mh-copy-lg\">Nouto, s\u00e4ilytys, ker\u00e4ily, l\u00e4mp\u00f6tilavaatimus ja viimeinen toimitus ovat yksi asiakaskokemus. Kun vaiheet kuuluvat eri toimijoille, kokonaisuuden ohjaaminen j\u00e4\u00e4 helposti tilaajan vastuulle.<\/p>\r\n        <\/div>\r\n        <div class=\"mh-problem-list\">\r\n          <article class=\"mh-problem-item\">\r\n            <span class=\"mh-problem-number\">01<\/span>\r\n            <div>\r\n              <h3>Useita vaiheita, yksi vastuu<\/h3>\r\n              <p>Toimitusketju toimii vain, kun jokainen luovutus, k\u00e4sittelyvaihe ja toimitus sopii samaan suunnitelmaan.<\/p>\r\n            <\/div>\r\n          <\/article>\r\n          <article class=\"mh-problem-item\">\r\n            <span class=\"mh-problem-number\">02<\/span>\r\n            <div>\r\n              <h3>Oikea k\u00e4sittely koko matkalle<\/h3>\r\n              <p>Ruoan ja l\u00e4mp\u00f6tilahallintaa vaativien tuotteiden k\u00e4sittely ei p\u00e4\u00e4ty kuljetukseen. My\u00f6s varastointi, ker\u00e4ily ja luovutus on sovitettava kokonaisuuteen.<\/p>\r\n            <\/div>\r\n          <\/article>\r\n          <article class=\"mh-problem-item\">\r\n            <span class=\"mh-problem-number\">03<\/span>\r\n            <div>\r\n              <h3>Tarve muuttuu, palvelun pit\u00e4\u00e4 joustaa<\/h3>\r\n              <p>Mico Finland rakentaa palvelun aina asiakkaan liiketoiminnan ja k\u00e4yt\u00e4nn\u00f6n tarpeiden ymp\u00e4rille. Voit valita yksitt\u00e4isen kuljetuksen tai jatkuvan kokonaispalvelun \u2013 ratkaisu mitoitetaan tilanteeseesi sopivaksi.<\/p>\r\n            <\/div>\r\n          <\/article>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mh-path-band\" aria-label=\"Micon kaksi nykyist\u00e4 palvelupolkua\">\r\n        <span class=\"mh-path-index\">A<\/span>\r\n        <div>\r\n          <h3>Varaston kautta<\/h3>\r\n          <p>Tuotteet vastaanotetaan Micon operoimaan varastoon, s\u00e4ilytet\u00e4\u00e4n, ker\u00e4t\u00e4\u00e4n ja toimitetaan eteenp\u00e4in.<\/p>\r\n        <\/div>\r\n        <span class=\"mh-path-index\">B<\/span>\r\n        <div>\r\n          <h3>Suoraan kohteeseen<\/h3>\r\n          <p>Mico noutaa tuotteet sovitusta sijainnista ja kuljettaa ne yritykselle tai kuluttajalle.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  \r\n<style data-mico-home-story-paired>\r\n@media (min-width:981px) and (min-height:561px){\r\n#mico-home-draft .mh-story[data-mh-story-layout=\"paired\"].is-story-ready .mh-story-grid{--mh-story-paired-height:clamp(500px,calc(100svh - 110px),680px);align-items:stretch}\r\n#mico-home-draft .mh-story[data-mh-story-layout=\"paired\"].is-story-ready .mh-story-stage{position:relative;top:auto;height:auto;min-height:var(--mh-story-paired-height);align-self:stretch}\r\n#mico-home-draft .mh-story[data-mh-story-layout=\"paired\"].is-story-ready .mh-scenes{min-height:var(--mh-story-paired-height);align-self:stretch}\r\n#mico-home-draft .mh-story[data-mh-story-layout=\"paired\"].is-story-ready .mh-scene{grid-area:1 \/ 1;min-height:var(--mh-story-paired-height);height:auto;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(14px)}\r\n#mico-home-draft .mh-story[data-mh-story-layout=\"paired\"].is-story-ready .mh-scene.is-active{z-index:1;visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}\r\n}\r\n<\/style>\r\n<section class=\"mh-section mh-story\" id=\"mico-system\" data-mh-story data-mh-story-layout=\"paired\" aria-labelledby=\"mh-story-title\">\r\n    <div class=\"mh-shell\">\r\n      <div class=\"mh-story-intro\">\r\n        <div>\r\n          <p class=\"mh-kicker mh-kicker--light\">Mico System Story<\/p>\r\n          <h2 class=\"mh-title mh-title--light\" id=\"mh-story-title\">N\u00e4e, miten Mico yhdist\u00e4\u00e4 toimivan logistiikan, modulaarisen laitteiston ja vahvistuvan teko\u00e4lykerroksen.<\/h2>\r\n        <\/div>\r\n        <div>\r\n          <p class=\"mh-copy-lg mh-copy-lg--light\">Tutki viisi vaihetta. Kiinte\u00e4t osat kuvaavat k\u00e4yt\u00f6ss\u00e4 olevaa operointia. Violetit osat n\u00e4ytt\u00e4v\u00e4t k\u00e4yt\u00f6ss\u00e4 olevaa ja vaiheittain vahvistuvaa teknologiakerrosta. L\u00e4pikuultavat rakenteet kuvaavat pian k\u00e4ytt\u00f6\u00f6n tulevaa infrastruktuuria. Jokaisen osan toteutusaste n\u00e4kyy selke\u00e4sti.<\/p>\r\n          <a class=\"mh-story-skip\" href=\"#palvelut\">Ohita animaatio ja siirry palveluihin<\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mh-story-grid\">\r\n        <div class=\"mh-story-stage is-webgl-pending\" id=\"mico-system-stage\" data-mh-story-stage data-stage=\"1\" data-status=\"now\" aria-label=\"Micon viisivaiheinen 3D-palvelutarina\">\r\n          <div class=\"mh-stage-toolbar\">\r\n            <div class=\"mh-stage-ident\">\r\n              <span class=\"mh-stage-count\" data-mh-stage-count>Kohtaus 1 \/ 5<\/span>\r\n              <span class=\"mh-stage-status\" data-mh-stage-status>K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n            <\/div>\r\n            <button class=\"mh-motion-toggle\" type=\"button\" data-mh-story-motion aria-pressed=\"false\" aria-label=\"Pys\u00e4yt\u00e4 3D-liike\">\r\n              <svg class=\"mh-pause-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M3.5 2.5h3v11h-3zm6 0h3v11h-3z\"><\/path><\/svg>\r\n              <svg class=\"mh-play-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\"><path d=\"M4 2.4v11.2L13 8z\"><\/path><\/svg>\r\n              <span class=\"mh-motion-label\" data-mh-motion-label>Pys\u00e4yt\u00e4 liike<\/span>\r\n            <\/button>\r\n          <\/div>\r\n\r\n          <div class=\"mh-story-viewport\" data-mh-story-viewport>\r\n            <img class=\"mh-story-poster\" data-mh-story-poster src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2026\/08\/mico-system-story-poster-1280.webp\" width=\"1280\" height=\"720\" loading=\"lazy\" decoding=\"async\" alt=\"\" aria-hidden=\"true\">\r\n            <canvas class=\"mh-story-canvas\" data-mh-story-canvas width=\"1200\" height=\"720\" aria-hidden=\"true\"><\/canvas>\r\n            <div class=\"mh-story-legend\" aria-label=\"Kuvituksen tilaselitteet\">\r\n              <span><i aria-hidden=\"true\"><\/i>K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n              <span class=\"is-development\"><i aria-hidden=\"true\"><\/i>K\u00e4yt\u00f6ss\u00e4 \u00b7 vahvistuu<\/span>\r\n              <span class=\"is-future\"><i aria-hidden=\"true\"><\/i>Tulossa pian<\/span>\r\n            <\/div>\r\n            <span class=\"mh-story-loader\" data-mh-story-loading>3D-n\u00e4kym\u00e4\u00e4 valmistellaan<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"mh-stage-foot\">\r\n            <div class=\"mh-stage-copy\">\r\n              <p class=\"mh-stage-title\" data-mh-stage-title>Operatiivinen perusta<\/p>\r\n              <p class=\"mh-stage-caption\" data-mh-stage-caption>Nouto, Nummen varasto, ker\u00e4ily, l\u00e4mp\u00f6tilahallittu kuljetus ja toimitus muodostavat nykyisen palveluketjun.<\/p>\r\n            <\/div>\r\n            <div class=\"mh-story-controls\" role=\"group\" aria-label=\"Valitse System Storyn kohtaus\">\r\n              <button class=\"mh-story-arrow\" type=\"button\" data-mh-story-prev aria-label=\"Edellinen kohtaus\" disabled>\u2190<\/button>\r\n              <div class=\"mh-story-steps\">\r\n                <button class=\"mh-story-step\" type=\"button\" data-mh-story-step data-story-index=\"0\" aria-label=\"Kohtaus 1: Operatiivinen perusta\" aria-current=\"step\">01<\/button>\r\n                <button class=\"mh-story-step\" type=\"button\" data-mh-story-step data-story-index=\"1\" aria-label=\"Kohtaus 2: Yksi palvelu tai koko ketju\">02<\/button>\r\n                <button class=\"mh-story-step\" type=\"button\" data-mh-story-step data-story-index=\"2\" aria-label=\"Kohtaus 3: Modulaarinen teknologiakerros\">03<\/button>\r\n                <button class=\"mh-story-step\" type=\"button\" data-mh-story-step data-story-index=\"3\" aria-label=\"Kohtaus 4: Seuraava infrastruktuuri\">04<\/button>\r\n                <button class=\"mh-story-step\" type=\"button\" data-mh-story-step data-story-index=\"4\" aria-label=\"Kohtaus 5: Yhdistyv\u00e4 j\u00e4rjestelm\u00e4\">05<\/button>\r\n              <\/div>\r\n              <button class=\"mh-story-arrow\" type=\"button\" data-mh-story-next aria-label=\"Seuraava kohtaus\">\u2192<\/button>\r\n            <\/div>\r\n            <p class=\"mh-visually-hidden\" data-mh-story-live aria-live=\"polite\"><\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"mh-scenes\" data-mh-scenes>\r\n          <article class=\"mh-scene is-active\" data-mh-scene data-stage=\"1\" data-title=\"Operatiivinen perusta\" data-caption=\"Nouto, Nummen varasto, ker\u00e4ily, l\u00e4mp\u00f6tilahallittu kuljetus ja toimitus muodostavat nykyisen palveluketjun.\" tabindex=\"-1\" aria-labelledby=\"mh-scene-title-1\">\r\n            <span class=\"mh-scene-number\">Kohtaus 01<\/span>\r\n            <span class=\"mh-status mh-status--now\">K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n            <h3 id=\"mh-scene-title-1\">Perusta on operatiivinen, ei pelkk\u00e4 konsepti.<\/h3>\r\n            <p>Mico kuljettaa ruokaa ja muita tuotteita, operoi varastoa Oilaantie 6:ssa Nummessa ja palvelee Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4 l\u00e4mp\u00f6tilahallitulla kalustolla.<\/p>\r\n            <ul class=\"mh-scene-evidence\" aria-label=\"Kuvassa n\u00e4kyv\u00e4t nykyiset osat\">\r\n              <li>Nouto asiakkaan m\u00e4\u00e4ritt\u00e4m\u00e4st\u00e4 paikasta<\/li>\r\n              <li>Varastointi, ker\u00e4ily ja edelleen toimitus<\/li>\r\n              <li>Yritys- ja kotiintoimitukset samalla palveluvirralla<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n          <article class=\"mh-scene\" data-mh-scene data-stage=\"2\" data-title=\"Yksi palvelu tai koko ketju\" data-caption=\"Asiakkaan ratkaisu voidaan rakentaa suorasta kuljetuksesta tai Micon operoiman varaston kautta kulkevasta kokonaisuudesta.\" tabindex=\"-1\" aria-labelledby=\"mh-scene-title-2\">\r\n            <span class=\"mh-scene-number\">Kohtaus 02<\/span>\r\n            <span class=\"mh-status mh-status--now\">K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n            <h3 id=\"mh-scene-title-2\">Yksi palvelu tai koko ketju.<\/h3>\r\n            <p>Asiakas voi valita kuljetuksen, kotiintoimituksen, ker\u00e4ilyn, varastoinnin tai niist\u00e4 rakennetun kokonaisuuden. Tuotteet voidaan ohjata varaston kautta tai noutaa suoraan toimitukseen.<\/p>\r\n            <ul class=\"mh-scene-evidence\" aria-label=\"Kaksi nykyist\u00e4 palvelupolkua\">\r\n              <li>Suora polku: nouto ja toimitus sovittuun kohteeseen<\/li>\r\n              <li>Varastopolku: vastaanotto, s\u00e4ilytys, ker\u00e4ily ja toimitus<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n          <article class=\"mh-scene\" data-mh-scene data-stage=\"3\" data-title=\"Modulaarinen teknologiakerros\" data-caption=\"Modulaarinen kuljetuslaitteisto on k\u00e4yt\u00f6ss\u00e4, ja teko\u00e4lyintegraatiota vahvistetaan j\u00e4rjestelmiss\u00e4 vaiheittain. Autonomisempi toiminta on seuraava kehityssuunta.\" tabindex=\"-1\" aria-labelledby=\"mh-scene-title-3\">\r\n            <span class=\"mh-scene-number\">Kohtaus 03<\/span>\r\n            <span class=\"mh-status mh-status--development\">K\u00e4yt\u00f6ss\u00e4 \u00b7 vahvistuu<\/span>\r\n            <h3 id=\"mh-scene-title-3\">Modulaarinen laitteisto on jo osa operointia.<\/h3>\r\n            <p>Micon l\u00e4mp\u00f6tilahallittu modulaarinen kuljetuslaitteisto on jo operatiivisessa k\u00e4yt\u00f6ss\u00e4. Teko\u00e4ly\u00e4 liitet\u00e4\u00e4n j\u00e4rjestelmiin ja prosesseihin vaiheittain yh\u00e4 vahvemmin. Autonomisempia toimintatapoja kehitet\u00e4\u00e4n hallitusti.<\/p>\r\n            <ul class=\"mh-scene-evidence\" aria-label=\"K\u00e4yt\u00f6ss\u00e4 olevat ja vaiheittain vahvistuvat osat\">\r\n              <li>K\u00e4yt\u00f6ss\u00e4 oleva l\u00e4mp\u00f6tilahallittu modulaarinen kuljetuslaitteisto<\/li>\r\n              <li>J\u00e4rjestelmiin vaiheittain vahvistuva data- ja teko\u00e4lykerros<\/li>\r\n              <li>Yhteisty\u00f6 laitteistoja kehitt\u00e4v\u00e4n Deliventuresin kanssa<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n          <article class=\"mh-scene\" data-mh-scene data-stage=\"4\" data-title=\"Seuraava infrastruktuuri\" data-caption=\"Uusi, aiempaa suurempi terminaali, varastomyynti, pieni pakkaamo, dronejakelukentt\u00e4 ja liikkuvat l\u00e4mp\u00f6tilahallitut noutopisteet ovat tulossa pian.\" tabindex=\"-1\" aria-labelledby=\"mh-scene-title-4\">\r\n            <span class=\"mh-scene-number\">Kohtaus 04<\/span>\r\n            <span class=\"mh-status mh-status--future\">Tulossa pian<\/span>\r\n            <h3 id=\"mh-scene-title-4\">Seuraava infrastruktuuri laajentaa mahdollisuuksia.<\/h3>\r\n            <p>Pian Mico Finland saa k\u00e4ytt\u00f6\u00f6ns\u00e4 uuden, aiempaa suuremman terminaalin. Sen yhteyteen avataan varastomyynti ja pieni pakkaamo sek\u00e4 rakennetaan dronejakelukentt\u00e4. Uusi kokonaisuus mahdollistaa my\u00f6s l\u00e4mp\u00f6tilahallittujen, koodilla avattavien liikkuvien noutopisteiden entist\u00e4 laajemman ja tehokkaamman hy\u00f6dynt\u00e4misen.<\/p>\r\n            <ul class=\"mh-scene-evidence\" aria-label=\"Pian tulossa olevan infrastruktuurin osat\">\r\n              <li>Uusi, aiempaa suurempi terminaali<\/li>\r\n              <li>Varastomyynti ja pieni pakkaamo<\/li>\r\n              <li>Dronejakelukentt\u00e4 ja liikkuvien noutopisteiden laajempi k\u00e4ytt\u00f6<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n          <article class=\"mh-scene\" data-mh-scene data-stage=\"5\" data-title=\"Yhdistyv\u00e4 j\u00e4rjestelm\u00e4\" data-caption=\"Nykyinen operointi, k\u00e4yt\u00f6ss\u00e4 oleva ja vaiheittain vahvistuva teknologia sek\u00e4 pian k\u00e4ytt\u00f6\u00f6n tuleva infrastruktuuri muodostavat tavoitellun monistettavan palvelumallin.\" tabindex=\"-1\" aria-labelledby=\"mh-scene-title-5\">\r\n            <span class=\"mh-scene-number\">Kohtaus 05<\/span>\r\n            <span class=\"mh-status mh-status--future\">Suunta<\/span>\r\n            <h3 id=\"mh-scene-title-5\">Kasvun suunta rakentuu k\u00e4yt\u00e4nn\u00f6n ty\u00f6n p\u00e4\u00e4lle.<\/h3>\r\n            <p>Nykyinen kalusto, varasto, asiakkuudet ja modulaarinen kuljetuslaitteisto muodostavat toimivan perustan. Teko\u00e4lyintegraatiota vahvistetaan vaiheittain ja uusia toimintatapoja liitet\u00e4\u00e4n kokonaisuuteen hallitusti.<\/p>\r\n            <ul class=\"mh-scene-evidence\" aria-label=\"Tavoitellun mallin perusta\">\r\n              <li>Nykyinen palvelu pysyy kokonaisuuden kiinte\u00e4n\u00e4 ytimen\u00e4<\/li>\r\n              <li>Vaiheittain vahvistuva teknologia ja tulevaisuuden tavoitteet erotetaan aina n\u00e4kyv\u00e4sti<\/li>\r\n              <li>Kokonaisuus kuvataan selkein\u00e4 nykytila-, vahvistumis- ja tavoitevaiheina<\/li>\r\n            <\/ul>\r\n          <\/article>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-section mh-services\" id=\"palvelut\" aria-labelledby=\"mh-services-title\">\r\n    <div class=\"mh-shell\">\r\n      <div class=\"mh-services-head\">\r\n        <div>\r\n          <p class=\"mh-kicker\">Palvelut nyt<\/p>\r\n          <h2 class=\"mh-title\" id=\"mh-services-title\">Valitse yksi vaihe tai rakenna niist\u00e4 kokonaisuus.<\/h2>\r\n        <\/div>\r\n        <p class=\"mh-copy-lg\">Micon palvelumalli mukautuu asiakkaan tuotteeseen, k\u00e4sittelytarpeeseen ja toimituspolkuun. Ratkaisu t\u00e4smennet\u00e4\u00e4n aina yhdess\u00e4.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mh-service-grid\">\r\n        <article class=\"mh-service\">\r\n          <span class=\"mh-service-mark\" aria-hidden=\"true\">01<\/span>\r\n          <div><h3>Kuljetus<\/h3><p>Tuotteiden nouto sovitusta sijainnista ja toimitus haluttuun m\u00e4\u00e4r\u00e4np\u00e4\u00e4h\u00e4n Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4.<\/p><\/div>\r\n          <small>K\u00e4yt\u00f6ss\u00e4 nyt<\/small>\r\n        <\/article>\r\n        <article class=\"mh-service\">\r\n          <span class=\"mh-service-mark\" aria-hidden=\"true\">02<\/span>\r\n          <div><h3>Kotiintoimitus<\/h3><p>Ruoan ja muiden tuotteiden toimitus asiakkaan puolesta kuluttajalle sovittuna palveluketjun osana.<\/p><\/div>\r\n          <small>K\u00e4yt\u00f6ss\u00e4 nyt<\/small>\r\n        <\/article>\r\n        <article class=\"mh-service\">\r\n          <span class=\"mh-service-mark\" aria-hidden=\"true\">03<\/span>\r\n          <div><h3>Ker\u00e4ily<\/h3><p>Tuotteiden kokoaminen tilauksiksi Micon operoimassa varastossa ennen seuraavaa kuljetusvaihetta.<\/p><\/div>\r\n          <small>K\u00e4yt\u00f6ss\u00e4 nyt<\/small>\r\n        <\/article>\r\n        <article class=\"mh-service\">\r\n          <span class=\"mh-service-mark\" aria-hidden=\"true\">04<\/span>\r\n          <div><h3>Varastointi<\/h3><p>Asiakkaan tuotteiden s\u00e4ilytys Micon nykyisin operoimassa varastossa Oilaantie 6:ssa Nummessa.<\/p><\/div>\r\n          <small>K\u00e4yt\u00f6ss\u00e4 nyt<\/small>\r\n        <\/article>\r\n        <article class=\"mh-service\">\r\n          <span class=\"mh-service-mark\" aria-hidden=\"true\">05<\/span>\r\n          <div><h3>L\u00e4mp\u00f6tilahallinta<\/h3><p>L\u00e4mp\u00f6tilahallittu kuljetuskalusto ruokaa ja muita soveltuvia tuotteita varten. Tarkat vaatimukset varmistetaan tuotekohtaisesti.<\/p><\/div>\r\n          <small>K\u00e4yt\u00f6ss\u00e4 nyt<\/small>\r\n        <\/article>\r\n        <article class=\"mh-service\">\r\n          <span class=\"mh-service-mark\" aria-hidden=\"true\">06<\/span>\r\n          <div><h3>Kokonaisratkaisu<\/h3><p>Tarpeeseen koottu palveluketju voi yhdist\u00e4\u00e4 vastaanoton, varastoinnin, ker\u00e4ilyn, kuljetuksen ja kotiintoimituksen.<\/p><\/div>\r\n          <small>Modulaarinen palvelumalli<\/small>\r\n        <\/article>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-section mh-operating\" aria-labelledby=\"mh-operating-title\">\r\n    <div class=\"mh-shell\">\r\n      <p class=\"mh-kicker\">Kolme kerrosta, yksi suunta<\/p>\r\n      <h2 class=\"mh-title\" id=\"mh-operating-title\">Operointi tuottaa palvelun. Teknologia vahvistaa sit\u00e4, infrastruktuuri avaa seuraavan vaiheen.<\/h2>\r\n      <div class=\"mh-pillar-grid\">\r\n        <article class=\"mh-pillar\">\r\n          <span class=\"mh-status mh-status--now\">K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n          <h3>Operatiivinen palvelu<\/h3>\r\n          <p>Kalusto, varasto, ker\u00e4ily, kuljetus ja toimitus muodostavat nykyisen asiakaspalvelun. Jokainen palvelukokonaisuus rakennetaan sovitun tarpeen ymp\u00e4rille.<\/p>\r\n        <\/article>\r\n        <article class=\"mh-pillar\">\r\n          <span class=\"mh-status mh-status--development\">K\u00e4yt\u00f6ss\u00e4 \u00b7 vahvistuu<\/span>\r\n          <h3>Modulaarinen ja vaiheittain \u00e4lykk\u00e4\u00e4mpi teknologiakerros<\/h3>\r\n          <p>Modulaarinen kuljetuslaitteisto on jo k\u00e4yt\u00f6ss\u00e4, ja teko\u00e4ly\u00e4 integroidaan j\u00e4rjestelmiin ja prosesseihin vaiheittain yh\u00e4 vahvemmin. Autonomisempia toimintatapoja kehitet\u00e4\u00e4n hallitusti.<\/p>\r\n        <\/article>\r\n        <article class=\"mh-pillar\">\r\n          <span class=\"mh-status mh-status--future\">Tulossa pian<\/span>\r\n          <h3>Laajeneva infrastruktuuri<\/h3>\r\n          <p>Pian k\u00e4ytt\u00f6\u00f6n tuleva uusi terminaali kokoaa varastomyynnin, pienen pakkaamon, dronejakelukent\u00e4n ja liikkuvat l\u00e4mp\u00f6tilahallitut noutopisteet samaan kokonaisuuteen.<\/p>\r\n        <\/article>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-deliventures\" aria-labelledby=\"mh-partner-title\">\r\n    <div class=\"mh-shell mh-partner-grid\">\r\n      <div class=\"mh-partner-label\">\r\n        <p class=\"mh-kicker\">Teknologiayhteisty\u00f6<\/p>\r\n        <strong id=\"mh-partner-title\">Deliventures Oy \u00d7 Mico Finland<\/strong>\r\n      <\/div>\r\n      <div class=\"mh-partner-copy\">\r\n        <p>Deliventures Oy kehitt\u00e4\u00e4 ja toimittaa ruoan verkkokaupan tarpeisiin suunniteltuja modulaarisia ker\u00e4ys- ja kuljetusratkaisuja. Mico hy\u00f6dynt\u00e4\u00e4 v\u00e4lineist\u00f6\u00e4 ja ratkaisuja omassa operatiivisessa toiminnassaan.<\/p>\r\n        <div class=\"mh-partner-flow\" aria-label=\"Yhteisty\u00f6n ty\u00f6njako\">\r\n          <div class=\"mh-partner-node\"><strong>Deliventures Oy<\/strong><span>Modulaarisen v\u00e4lineist\u00f6n ja ratkaisujen kehitys<\/span><\/div>\r\n          <span class=\"mh-partner-arrow\" aria-hidden=\"true\">\u2192<\/span>\r\n          <div class=\"mh-partner-node\"><strong>Mico Finland<\/strong><span>Kuljetus-, ker\u00e4ily-, varastointi- ja toimitusoperointi<\/span><\/div>\r\n          <span class=\"mh-partner-arrow\" aria-hidden=\"true\">\u2192<\/span>\r\n          <div class=\"mh-partner-node\"><strong>Asiakkaan tarve<\/strong><span>Palveluista koottu k\u00e4yt\u00e4nn\u00f6n kokonaisuus<\/span><\/div>\r\n        <\/div>\r\n        <a class=\"mh-text-link\" href=\"https:\/\/www.deliventures.fi\/\" target=\"_blank\" rel=\"noopener noreferrer\">Tutustu Deliventuresiin <span aria-hidden=\"true\">\u2197<\/span><\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-section mh-future\" aria-labelledby=\"mh-future-title\">\r\n    <div class=\"mh-shell\">\r\n      <div class=\"mh-future-head\">\r\n        <div>\r\n          <p class=\"mh-kicker mh-kicker--light\">Infrastruktuurin seuraava vaihe<\/p>\r\n          <h2 class=\"mh-title mh-title--light\" id=\"mh-future-title\">Nykytila, vahvistuva teknologia ja tavoite n\u00e4kyv\u00e4t samalla kartalla.<\/h2>\r\n        <\/div>\r\n        <p class=\"mh-copy-lg mh-copy-lg--light\">Tulevaisuuden ratkaisut esitet\u00e4\u00e4n mahdollisuuksina, eiv\u00e4t valmiina palveluina. N\u00e4in teknologinen suunta on kunnianhimoinen ja samalla uskottava.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mh-roadmap\">\r\n        <article class=\"mh-roadmap-item\">\r\n          <span class=\"mh-status mh-status--now\">K\u00e4yt\u00f6ss\u00e4 nyt<\/span>\r\n          <h3>Nummen varasto ja nykyinen palveluketju<\/h3>\r\n          <p>Mico operoi varastoa Oilaantie 6:ssa Nummessa ja palvelee Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4.<\/p>\r\n          <ul>\r\n            <li>Varastointi ja ker\u00e4ily<\/li>\r\n            <li>L\u00e4mp\u00f6tilahallittu kuljetus<\/li>\r\n            <li>Yritys- ja kotiintoimitukset<\/li>\r\n          <\/ul>\r\n        <\/article>\r\n        <article class=\"mh-roadmap-item\">\r\n          <span class=\"mh-status mh-status--development\">K\u00e4yt\u00f6ss\u00e4 \u00b7 vahvistuu<\/span>\r\n          <h3>Modulaarinen laitteisto ja vahvistuva teko\u00e4lykerros<\/h3>\r\n          <p>Modulaarinen kuljetuslaitteisto on jo k\u00e4yt\u00f6ss\u00e4, ja teko\u00e4ly\u00e4 integroidaan j\u00e4rjestelmiin vaiheittain yh\u00e4 vahvemmin. Autonomisempia toimintatapoja kehitet\u00e4\u00e4n hallitusti.<\/p>\r\n          <ul>\r\n            <li>Modulaarinen kuljetuslaitteisto k\u00e4yt\u00f6ss\u00e4<\/li>\r\n            <li>Teko\u00e4lyintegraatio vahvistuu vaiheittain<\/li>\r\n            <li>Autonomisemmat toimintatavat kehityssuuntana<\/li>\r\n          <\/ul>\r\n        <\/article>\r\n        <article class=\"mh-roadmap-item\">\r\n          <span class=\"mh-status mh-status--future\">Tulossa pian<\/span>\r\n          <h3>Terminaali ja uudet jakelumuodot<\/h3>\r\n          <p>Pian Mico Finland saa k\u00e4ytt\u00f6\u00f6ns\u00e4 uuden, aiempaa suuremman terminaalin. Sen yhteyteen tulevat varastomyynti, pieni pakkaamo, dronejakelukentt\u00e4 ja uusia vastaanottotapoja.<\/p>\r\n          <ul>\r\n            <li>Uusi, aiempaa suurempi terminaali<\/li>\r\n            <li>Varastomyynti ja pieni pakkaamo<\/li>\r\n            <li>Dronejakelukentt\u00e4 ja liikkuvien noutopisteiden laajempi k\u00e4ytt\u00f6<\/li>\r\n          <\/ul>\r\n        <\/article>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-section mh-flowlab\" id=\"mico-flow\" aria-labelledby=\"mh-flow-title\">\r\n    <div class=\"mh-shell\">\r\n      <div class=\"mh-flowlab-head\">\r\n        <div>\r\n          <p class=\"mh-kicker\">Mico Flow<\/p>\r\n          <h2 class=\"mh-title\" id=\"mh-flow-title\">Rakenna mahdollinen palveluketjusi nelj\u00e4ss\u00e4 vaiheessa.<\/h2>\r\n          <p class=\"mh-copy-lg\">Kerro tarpeen rakenne \u2014 Mico Flow n\u00e4ytt\u00e4\u00e4 heti, mitk\u00e4 nykyiset palvelumoduulit voisivat muodostaa sille selke\u00e4n kokonaisuuden.<\/p>\r\n        <\/div>\r\n        <p class=\"mh-flowlab-note\">Kolme ensimm\u00e4ist\u00e4 vaihetta toimivat vain t\u00e4ss\u00e4 selaimessa. Mit\u00e4\u00e4n tietoja ei l\u00e4hetet\u00e4 ennen kuin t\u00e4yt\u00e4t nelj\u00e4nnen vaiheen, hyv\u00e4ksyt tietojen k\u00e4sittelyn ja painat L\u00e4het\u00e4. Mico Flow ei laske hintaa eik\u00e4 muodosta sitovaa tarjousta.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mf-static-fallback\" aria-label=\"Esimerkki Micon modulaarisesta palveluketjusta\">\r\n        <p class=\"mh-copy-lg\">Esimerkkiketju ilman vuorovaikutusta:<\/p>\r\n        <div class=\"mf-static\">\r\n          <div><strong>Vastaanotto<\/strong><span>Tuotteet palveluketjuun<\/span><\/div>\r\n          <div><strong>Varastointi ja ker\u00e4ily<\/strong><span>Tilauksen mukaan<\/span><\/div>\r\n          <div><strong>L\u00e4mp\u00f6tilahallittu kuljetus<\/strong><span>Tuotteen vaatimusten mukaan<\/span><\/div>\r\n          <div><strong>Toimitus<\/strong><span>Sovittuun kohteeseen<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mf-app\" data-flow-app hidden>\r\n        <div class=\"mf-config\">\r\n          <div class=\"mf-progress-row\">\r\n            <span class=\"mf-progress-label\" data-flow-progress-label>Vaihe 1 \/ 4<\/span>\r\n            <div class=\"mf-progress-track\" role=\"progressbar\" aria-label=\"Mico Flow -vaihe\" aria-valuemin=\"1\" aria-valuemax=\"4\" aria-valuenow=\"1\" data-flow-progress>\r\n              <div class=\"mf-progress-bar\" data-flow-progress-bar><\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"mf-stage\">\r\n            <form data-flow-form novalidate>\r\n              <div data-flow-step><\/div>\r\n            <\/form>\r\n\r\n            <div class=\"mf-contact-step\" data-flow-contact-step hidden>\r\n              <div class=\"mf-contact-intro\">\r\n                <h3>T\u00e4yt\u00e4 yhteystietosi ja keskustellaan ratkaisusta.<\/h3>\r\n                <p>Mico Flow -valintasi liitet\u00e4\u00e4n viestiin automaattisesti. T\u00e4ydenn\u00e4 yhteystietosi ja halutessasi tarkemmat tiedot. Palaamme sinulle henkil\u00f6kohtaisesti.<\/p>\r\n              <\/div>\r\n\r\n              <div class=\"mf-review\" role=\"note\" aria-labelledby=\"mf-review-title\">\r\n                <strong id=\"mf-review-title\">Mukaan l\u00e4htev\u00e4 Mico Flow -yhteenveto<\/strong>\r\n                <p data-flow-review>Yhteenveto muodostuu kolmessa ensimm\u00e4isess\u00e4 vaiheessa.<\/p>\r\n                <small>Yhteenveto l\u00e4hetet\u00e4\u00e4n lomakkeen mukana.<\/small>\r\n              <\/div>\r\n\r\n              <div class=\"cf7-prototype mico-cf7\" data-mico-form=\"home\">\r\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f1112-o1\" lang=\"fi\" dir=\"ltr\" data-wpcf7-id=\"1112\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/index.php\/wp-json\/wp\/v2\/pages\/1064#wpcf7-f1112-o1\" method=\"post\" class=\"wpcf7-form init wpcf7-acceptance-as-validation\" aria-label=\"Yhteydenottolomake\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"1112\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.7\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"fi\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f1112-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"mf-contact-grid\">\n\t<p><label class=\"mf-field\"><br \/>\n<span>Nimi *<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field\"><br \/>\n<span>Yritys (valinnainen)<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" autocomplete=\"organization\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"company\" \/><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field\"><br \/>\n<span>S\u00e4hk\u00f6posti *<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" autocomplete=\"email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field\"><br \/>\n<span>Puhelin *<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"phone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" autocomplete=\"tel\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"tel\" name=\"phone\" \/><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field mf-field--wide\"><br \/>\n<span>Tuote ja mahdollinen l\u00e4mp\u00f6tilavaatimus (valinnainen)<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"product\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Esimerkiksi valmisruoat, +2\u2026+6 \u00b0C\" value=\"\" type=\"text\" name=\"product\" \/><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field mf-field--wide\"><br \/>\n<span>Toivottu aloitusajankohta (valinnainen)<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"start-date\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Esimerkiksi lokakuu 2026 tai mahdollisimman pian\" value=\"\" type=\"text\" name=\"start-date\" \/><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field mf-field--wide\"><br \/>\n<span>L\u00e4ht\u00f6, m\u00e4\u00e4r\u00e4np\u00e4\u00e4, rytmi ja m\u00e4\u00e4r\u00e4arvio (valinnainen)<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"route\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Esimerkiksi Lohja \u2192 Helsinki, kolme kertaa viikossa, noin 30 laatikkoa kuljetusta kohden\" name=\"route\"><\/textarea><\/span><br \/>\n<\/label><br \/>\n<label class=\"mf-field mf-field--wide\"><br \/>\n<span>Lis\u00e4tiedot (valinnainen)<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Kerro muut ratkaisun suunnittelussa huomioitavat asiat\" name=\"your-message\"><\/textarea><\/span><br \/>\n<\/label>\n\t<\/p>\n<\/div>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"flow-summary\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"flow-services\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"flow-product-choice\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"flow-frequency\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"flow-frequency-details\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"mico-flow\" type=\"hidden\" name=\"form-type\" \/>\n<div class=\"mf-consent\">\n\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"privacy\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"privacy\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Hyv\u00e4ksyn, ett\u00e4 Mico Finland Oy k\u00e4sittelee tietojani yhteydenottooni vastaamiseksi ja palvelutarpeen arvioimiseksi. Olen tutustunut <a href=\"\/index.php\/yritys-ja-tiimi\/#tietosuoja\">tietosuojatietoihin<\/a>. *<\/span><\/label><\/span><\/span><\/span>\n\t<\/p>\n<\/div>\n<div class=\"mf-submit-row\">\n\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner mh-button\" type=\"submit\" value=\"L\u00e4het\u00e4 yhteydenotto \u2192\" \/>\n\t<\/p>\n\t<p>Tietojasi ei l\u00e4hetet\u00e4 ennen kuin painat L\u00e4het\u00e4.\n\t<\/p>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\r\n<\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"mf-controls\">\r\n            <button class=\"mf-control\" type=\"button\" data-flow-reset>Aloita alusta<\/button>\r\n            <div class=\"mf-control-group\">\r\n              <button class=\"mf-control\" type=\"button\" data-flow-back>Takaisin<\/button>\r\n              <button class=\"mf-control mf-control--next\" type=\"button\" data-flow-next disabled>Seuraava<\/button>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"mf-visual-panel\">\r\n          <div>\r\n            <p class=\"mf-result-kicker\">Muodostuva palvelurakenne<\/p>\r\n            <h3 class=\"mf-result-title\" data-flow-title>Sinun mahdollinen Mico Flow<\/h3>\r\n            <p class=\"mf-result-intro\">Valintasi muuttavat ketjua ja sen perusteluja v\u00e4litt\u00f6m\u00e4sti. Kaikki aktiiviset palvelut ovat nykyiseen palvelumalliin kuuluvia.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"mf-track\" data-flow-visual aria-hidden=\"true\"><\/div>\r\n          <ul class=\"mf-reasons\" data-flow-reasons aria-label=\"Palvelumoduulien perustelut\"><\/ul>\r\n\r\n          <div>\r\n            <p class=\"mf-future-note\"><strong>Toteutusasteet:<\/strong> modulaarinen kuljetuslaitteisto on k\u00e4yt\u00f6ss\u00e4, teko\u00e4lyintegraatio vahvistuu vaiheittain ja autonomisempi toiminta on kehityssuunta. Pian k\u00e4ytt\u00f6\u00f6n tuleva terminaali-, varastomyynti-, pakkaamo-, noutopiste- ja dronejakelukokonaisuus pidet\u00e4\u00e4n erill\u00e4\u00e4n nykyisin tilattavista palveluista siihen asti, kunnes se on avattu k\u00e4ytt\u00f6\u00f6n.<\/p>\r\n            <div class=\"mf-result-bottom\">\r\n              <p class=\"mf-summary\" data-flow-summary aria-live=\"polite\">Valitse v\u00e4hint\u00e4\u00e4n yksi palvelu. N\u00e4et ketjun p\u00e4ivittyv\u00e4n t\u00e4ss\u00e4.<\/p>\r\n              <button class=\"mh-button\" type=\"button\" data-flow-contact disabled>Jatka yhteystietoihin <span aria-hidden=\"true\">\u2192<\/span><\/button>\r\n            <\/div>\r\n          <\/div>\r\n          <p class=\"screen-reader-text\" data-flow-live aria-live=\"polite\"><\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <noscript>\r\n        <p>Interaktiivinen Mico Flow tarvitsee JavaScriptin. Yll\u00e4 oleva esimerkkiketju n\u00e4ytt\u00e4\u00e4 saman perusajatuksen staattisena.<\/p>\r\n      <\/noscript>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"mh-contact\" id=\"mico-contact\" aria-labelledby=\"mh-contact-title\">\r\n    <div class=\"mh-shell mh-contact-grid\">\r\n      <div>\r\n        <p class=\"mh-kicker\">Seuraava askel<\/p>\r\n        <h2 id=\"mh-contact-title\">Haluatko keskustella ilman Mico Flow\u2019ta?<\/h2>\r\n      <\/div>\r\n      <div class=\"mh-contact-copy\">\r\n        <p>Voit my\u00f6s avata yleisen yhteydenottolomakkeen ja kertoa tarpeestasi omin sanoin. Micon tiimi auttaa kokoamaan tilanteeseen sopivan palvelukokonaisuuden.<\/p>\r\n        <div class=\"mh-contact-actions\">\r\n          <a class=\"mh-button mh-button--ink\" href=\"\/index.php\/yritys-ja-tiimi\/#yhteys\">Avaa yleinen yhteydenotto <span aria-hidden=\"true\">\u2192<\/span><\/a>\r\n          <a class=\"mh-button mh-button--light\" href=\"#mico-flow\">Rakenna ensin Mico Flow<\/a>\r\n        <\/div>\r\n        <p class=\"mh-privacy-note\">Mico Flow -valinnat l\u00e4hetet\u00e4\u00e4n vain Flow\u2019n nelj\u00e4nnen vaiheen omalla lomakkeella.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <\/main>\r\n\r\n  <footer class=\"mico-footer mh-footer\" aria-label=\"Mico Finlandin alatunniste\">\r\n    <div class=\"mico-shell mh-shell\">\r\n      <div class=\"mico-footer__grid mh-footer-grid\">\r\n        <div class=\"mico-footer__brand mh-footer-brand\">\r\n          <img loading=\"lazy\" decoding=\"async\" class=\"mico-footer__logo\" src=\"https:\/\/www.micofoy.fi\/wp-content\/uploads\/2025\/04\/Mico-logo.png\" width=\"500\" height=\"250\" alt=\"Mico Finland\">\r\n          <p>Kuljetus, kotiintoimitus, ker\u00e4ily ja varastointi asiakkaan tarpeeseen sopivana kokonaisuutena.<\/p>\r\n        <\/div>\r\n        <div>\r\n          <h2>Tutustu<\/h2>\r\n          <nav class=\"mh-footer-links\" aria-label=\"Alatunnisteen sivulinkit\">\r\n            <a href=\"#mico-main-content\">Etusivu<\/a>\r\n            <a href=\"\/index.php\/palvelut\/\">Palvelut<\/a>\r\n            <a href=\"\/index.php\/mico-system\/\">Mico System<\/a>\r\n            <a href=\"\/index.php\/yritys-ja-tiimi\/\">Yritys &amp; tiimi<\/a>\r\n          <\/nav>\r\n        <\/div>\r\n        <div>\r\n          <h2>Yhteys<\/h2>\r\n          <nav class=\"mh-footer-links\" aria-label=\"Yhteystiedot\">\r\n            <a href=\"mailto:katja@micofoy.fi\">katja@micofoy.fi<\/a>\r\n            <a href=\"\/index.php\/ota-yhteytta\/\">Ota yhteytt\u00e4<\/a>\r\n            <span>Y-tunnus 3156978-5<\/span>\r\n          <\/nav>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"mico-footer__bottom mh-footer-meta\">\r\n        <span>\u00a9 2026 Mico Finland Oy<\/span>\r\n        <a href=\"\/index.php\/yritys-ja-tiimi\/#tietosuoja\">Tietosuoja<\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/footer>\r\n\r\n  <script>\r\n    (function () {\r\n      \"use strict\";\r\n\r\n      var root = document.getElementById(\"mico-home-draft\");\r\n      if (!root || root.dataset.mhReady === \"true\") return;\r\n      root.dataset.mhReady = \"true\";\r\n\r\n      \/* WordPress-integraatio piilottaa vanhan Divi-kuoren t\u00e4ll\u00e4 sivulla. *\/\r\n      function prepareDraftPage() {\r\n        if (!document.body || !document.body.contains(root)) return;\r\n        document.body.classList.add(\"mico-site-active\");\r\n\r\n        var themeHeader = document.querySelector(\".et-l--header\");\r\n        var themeFooter = document.querySelector(\"footer.et-l--footer\");\r\n        [themeHeader, themeFooter].forEach(function (landmark) {\r\n          if (!landmark || root.contains(landmark)) return;\r\n          landmark.setAttribute(\"aria-hidden\", \"true\");\r\n          landmark.setAttribute(\"data-mico-draft-hidden\", \"true\");\r\n          landmark.style.setProperty(\"display\", \"none\", \"important\");\r\n          landmark.style.setProperty(\"height\", \"0\", \"important\");\r\n          if (\"inert\" in landmark) landmark.inert = true;\r\n        });\r\n\r\n        var viewport = document.querySelector('meta[name=\"viewport\"]');\r\n        if (viewport) viewport.setAttribute(\"content\", \"width=device-width, initial-scale=1\");\r\n        var ownSection = root.closest(\".et_pb_section\");\r\n        if (ownSection && ownSection.parentElement) {\r\n          Array.prototype.forEach.call(ownSection.parentElement.children, function (section) {\r\n            if (section !== ownSection && section.classList.contains(\"et_pb_section\")) {\r\n              section.setAttribute(\"aria-hidden\", \"true\");\r\n              section.style.setProperty(\"display\", \"none\", \"important\");\r\n              if (\"inert\" in section) section.inert = true;\r\n            }\r\n          });\r\n        }\r\n      }\r\n\r\n      prepareDraftPage();\r\n      if (document.readyState === \"loading\") {\r\n        document.addEventListener(\"DOMContentLoaded\", prepareDraftPage, { once: true });\r\n      } else {\r\n        window.setTimeout(prepareDraftPage, 0);\r\n      }\r\n      window.addEventListener(\"load\", prepareDraftPage, { once: true });\r\n      root.classList.add(\"is-js\");\r\n\r\n      var menuToggle = root.querySelector(\"[data-mh-menu-toggle]\");\r\n      var menu = root.querySelector(\"[data-mh-menu]\");\r\n      if (menuToggle && menu) {\r\n        function closeMenu() {\r\n          menu.classList.remove(\"is-open\");\r\n          menuToggle.setAttribute(\"aria-expanded\", \"false\");\r\n          menuToggle.setAttribute(\"aria-label\", \"Avaa valikko\");\r\n          document.body.classList.remove(\"is-menu-open\");\r\n        }\r\n\r\n        menuToggle.addEventListener(\"click\", function () {\r\n          var willOpen = menuToggle.getAttribute(\"aria-expanded\") !== \"true\";\r\n          menu.classList.toggle(\"is-open\", willOpen);\r\n          menuToggle.setAttribute(\"aria-expanded\", String(willOpen));\r\n          menuToggle.setAttribute(\"aria-label\", willOpen ? \"Sulje valikko\" : \"Avaa valikko\");\r\n          document.body.classList.toggle(\"is-menu-open\", willOpen);\r\n        });\r\n\r\n        menu.addEventListener(\"click\", function (event) {\r\n          var clickedLink = event.target && event.target.closest ? event.target.closest(\"a\") : null;\r\n          if (clickedLink) closeMenu();\r\n        });\r\n\r\n        Array.prototype.forEach.call(menu.querySelectorAll(\"a\"), function (link) {\r\n          link.addEventListener(\"click\", closeMenu);\r\n        });\r\n\r\n        document.addEventListener(\"keydown\", function (event) {\r\n          if (event.key === \"Escape\") {\r\n            closeMenu();\r\n            menuToggle.focus();\r\n          }\r\n        });\r\n\r\n        window.addEventListener(\"resize\", function () {\r\n          if (window.innerWidth > 860) closeMenu();\r\n        });\r\n      }\r\n\r\n      var nav = root.querySelector(\"[data-mh-nav]\");\r\n      var hero = root.querySelector(\"[data-mh-hero]\");\r\n      if (nav && hero && \"IntersectionObserver\" in window) {\r\n        var navObserver = new IntersectionObserver(function (entries) {\r\n          nav.classList.toggle(\"is-docked\", !entries[0].isIntersecting);\r\n        }, { rootMargin: \"-88px 0px 0px 0px\", threshold: 0 });\r\n        navObserver.observe(hero);\r\n      }\r\n\r\n      var FLOW_CONTENT = {\r\n        steps: [\r\n          {\r\n            id: \"need\",\r\n            title: \"Mit\u00e4 kokonaisuuden pit\u00e4\u00e4 hoitaa?\",\r\n            help: \"Valitse yksi tai useampi palvelu. Palvelut voidaan yhdist\u00e4\u00e4 tarpeeseesi sopivaksi kokonaisuudeksi.\",\r\n            multiple: true,\r\n            options: [\r\n              { id: \"clientTransport\", label: \"Nouto ja kuljetus asiakkaan toimitiloista\", note: \"Nouto ja toimitus sovittuun kohteeseen\" },\r\n              { id: \"warehousePickingTransport\", label: \"Ker\u00e4ily ja kuljetus Micon varastolta\", note: \"Ker\u00e4ily ja kuljetus Micon operoiman varaston kautta sovittuun kohteeseen\" },\r\n              { id: \"storage\", label: \"Varastointi\", note: \"Tuotteiden s\u00e4ilytys Micon varastolla\" }\r\n            ]\r\n          },\r\n          {\r\n            id: \"product\",\r\n            title: \"Mit\u00e4 tuotteita liikutetaan?\",\r\n            help: \"Valinta ohjaa k\u00e4sittely- ja l\u00e4mp\u00f6tilamoduuleja. Tarkat vaatimukset vahvistetaan aina tuotekohtaisesti.\",\r\n            options: [\r\n              { id: \"coldFood\", label: \"Ruoka, l\u00e4mp\u00f6tilavaatimus\", note: \"L\u00e4mp\u00f6tilahallinta huomioidaan ketjussa\" },\r\n              { id: \"ambientFood\", label: \"Muu ruoka\", note: \"K\u00e4sittely tarkennetaan tuotteen mukaan\" },\r\n              { id: \"other\", label: \"Muut tuotteet\", note: \"Soveltuvuus ja k\u00e4sittely arvioidaan yhdess\u00e4\" }\r\n            ]\r\n          },\r\n          {\r\n            id: \"frequency\",\r\n            title: \"Kuinka usein tuotteiden on tarkoitus kulkea?\",\r\n            help: \"Valitse l\u00e4hin toimitusrytmi. Tarkka aikataulu ja kapasiteetti vahvistetaan aina yhdess\u00e4.\",\r\n            options: [\r\n              { id: \"occasional\", label: \"Satunnaisesti\", note: \"Yksitt\u00e4inen tai tarpeen mukaan toistuva kuljetus\" },\r\n              { id: \"daily\", label: \"P\u00e4ivitt\u00e4in\", note: \"Kuljetuksia jokaisena sovittuna toimintap\u00e4iv\u00e4n\u00e4\" },\r\n              { id: \"weekly\", label: \"Viikoittain\", note: \"Yksi tai useampi sovittu kuljetus viikossa\" },\r\n              { id: \"monthly\", label: \"Kuukausittain\", note: \"Yksi tai useampi sovittu kuljetus kuukaudessa\" },\r\n              { id: \"otherMeeting\", label: \"Muu, k\u00e4yd\u00e4\u00e4n l\u00e4pi tapaamisessa\", note: \"Tarkennetaan rytmi ja k\u00e4yt\u00e4nn\u00f6t yhdess\u00e4\" },\r\n              { id: \"otherDetails\", label: \"Muu, kerro meille tarkemmin jo nyt\", note: \"Avaa kent\u00e4n, johon voit kuvata tarpeen omin sanoin\" }\r\n            ],\r\n            details: {\r\n              optionId: \"otherDetails\",\r\n              answerId: \"frequencyDetails\",\r\n              label: \"Kerro toimitusrytmist\u00e4 tai erityistarpeesta\",\r\n              help: \"Kuvaa esimerkiksi toistuvuus, sesonkivaihtelu tai muu k\u00e4yt\u00e4nn\u00f6n tarve. Kirjoita lyhyt kuvaus jatkaaksesi. \u00c4l\u00e4 kirjoita henkil\u00f6tietoja.\",\r\n              placeholder: \"Esimerkiksi: kuljetuksia tarvitaan sesonkiaikoina 2\u20133 kertaa viikossa.\",\r\n              maxLength: 600\r\n            }\r\n          },\r\n          {\r\n            id: \"contact\",\r\n            type: \"contact\",\r\n            title: \"T\u00e4yt\u00e4 yhteystietosi ja keskustellaan ratkaisusta.\",\r\n            help: \"Mico Flow -valintasi liitet\u00e4\u00e4n viestiin automaattisesti.\"\r\n          }\r\n        ],\r\n        modules: {\r\n          pickup: { label: \"Nouto\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Tuotteet hallitusti palveluketjuun.\", reason: \"Tuotteet noudetaan asiakkaan sovitusta toimitilasta.\" },\r\n          receiving: { label: \"Vastaanotto\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Tuotteet varastopolulle.\", reason: \"Varastoitavat tuotteet vastaanotetaan hallitusti Micon varastolle.\" },\r\n          storage: { label: \"Varastointi\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Tuotteet s\u00e4ilytet\u00e4\u00e4n sovitusti.\", reason: \"Valittu kokonaisuus sis\u00e4lt\u00e4\u00e4 tuotteiden s\u00e4ilytyksen Micon varastolla.\" },\r\n          picking: { label: \"Ker\u00e4ily\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Tuotteet kootaan tilauksiksi.\", reason: \"Tuotteet ker\u00e4ill\u00e4\u00e4n Micon varastolta sovittua kuljetusta varten.\" },\r\n          temperature: { label: \"L\u00e4mp\u00f6tilahallinta\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Tuotteen vaatimus mukana ketjussa.\", reason: \"Valitsit l\u00e4mp\u00f6tilaa vaativan ruoan.\" },\r\n          transport: { label: \"Kuljetus\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Tuotteet sovitulle reitille.\", reason: \"Valittu kokonaisuus sis\u00e4lt\u00e4\u00e4 kuljetusvaiheen.\" },\r\n          delivery: { label: \"Toimitus\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Luovutus yritykselle tai kuluttajalle.\", reason: \"Ketju p\u00e4\u00e4ttyy sovittuun toimituskohteeseen.\" },\r\n          coordination: { label: \"Ketjun koordinointi\", status: \"K\u00e4yt\u00f6ss\u00e4 nyt\", benefit: \"Toistuva kokonaisuus suunnitellaan yhdess\u00e4.\", reason: \"Valittu toimitusrytmi tarvitsee yhteisen toimintamallin.\" }\r\n        }\r\n      };\r\n\r\n      function unique(list) {\r\n        return list.filter(function (value, index) { return list.indexOf(value) === index; });\r\n      }\r\n\r\n      function FlowRecommendationEngine(content) {\r\n        this.content = content;\r\n      }\r\n\r\n      FlowRecommendationEngine.prototype.build = function (answers) {\r\n        var ids = [];\r\n        var needs = Array.isArray(answers.need) ? answers.need : (answers.need ? [answers.need] : []);\r\n        var includes = function (id) { return needs.indexOf(id) !== -1; };\r\n\r\n        if (!needs.length) return [];\r\n\r\n        if (includes(\"clientTransport\")) {\r\n          ids.push(\"pickup\", \"transport\", \"delivery\");\r\n        }\r\n        if (includes(\"warehousePickingTransport\")) {\r\n          ids.push(\"picking\", \"transport\", \"delivery\");\r\n        }\r\n        if (includes(\"storage\")) {\r\n          ids.push(\"receiving\", \"storage\");\r\n        }\r\n\r\n        if (answers.product === \"coldFood\") {\r\n          var transportIndex = ids.indexOf(\"transport\");\r\n          if (transportIndex === -1) ids.push(\"temperature\");\r\n          else ids.splice(transportIndex, 0, \"temperature\");\r\n        }\r\n\r\n        if ([\"daily\", \"weekly\", \"monthly\", \"otherMeeting\", \"otherDetails\"].indexOf(answers.frequency) !== -1) {\r\n          ids.push(\"coordination\");\r\n        }\r\n\r\n        var moduleOrder = [\"pickup\", \"receiving\", \"storage\", \"picking\", \"temperature\", \"transport\", \"delivery\", \"coordination\"];\r\n        var uniqueIds = unique(ids).sort(function (a, b) {\r\n          return moduleOrder.indexOf(a) - moduleOrder.indexOf(b);\r\n        });\r\n\r\n        var deliveryRhythms = {\r\n          occasional: { label: \"satunnaisesti\", reason: \"Valittu toimitusrytmi on satunnainen.\" },\r\n          daily: { label: \"p\u00e4ivitt\u00e4in\", reason: \"Valittu kokonaisuus sis\u00e4lt\u00e4\u00e4 p\u00e4ivitt\u00e4isi\u00e4 toimituksia.\" },\r\n          weekly: { label: \"viikoittain\", reason: \"Valittu kokonaisuus sis\u00e4lt\u00e4\u00e4 viikoittaisia toimituksia.\" },\r\n          monthly: { label: \"kuukausittain\", reason: \"Valittu kokonaisuus sis\u00e4lt\u00e4\u00e4 kuukausittaisia toimituksia.\" },\r\n          otherMeeting: { label: \"muu\", reason: \"Toimitusrytmi t\u00e4smennet\u00e4\u00e4n yhdess\u00e4.\" },\r\n          otherDetails: { label: \"muu\", reason: \"Toimitusrytmi t\u00e4smennet\u00e4\u00e4n annetun lis\u00e4tiedon perusteella.\" }\r\n        };\r\n        var deliveryRhythm = deliveryRhythms[answers.frequency] || null;\r\n        var moduleDefinitions = this.content.modules;\r\n        return uniqueIds.map(function (id) {\r\n          var module = moduleDefinitions[id];\r\n          return {\r\n            id: id,\r\n            label: id === \"delivery\" && deliveryRhythm ? \"Toimitus \" + deliveryRhythm.label : module.label,\r\n            status: module.status,\r\n            benefit: module.benefit,\r\n            reason: id === \"delivery\" && deliveryRhythm ? deliveryRhythm.reason : module.reason\r\n          };\r\n        });\r\n      };\r\n\r\n      function FlowVisualization(container) {\r\n        this.container = container;\r\n      }\r\n\r\n      FlowVisualization.prototype.render = function (modules) {\r\n        if (!this.container) return;\r\n        this.container.innerHTML = \"\";\r\n        this.container.classList.toggle(\"is-empty\", modules.length === 0);\r\n        var target = this.container;\r\n        if (!modules.length) {\r\n          var placeholder = document.createElement(\"div\");\r\n          var placeholderTitle = document.createElement(\"strong\");\r\n          var placeholderStatus = document.createElement(\"small\");\r\n          placeholder.className = \"mf-node mf-node--placeholder\";\r\n          placeholderTitle.textContent = \"Valitse palvelu\";\r\n          placeholderStatus.textContent = \"Ketju muodostuu t\u00e4h\u00e4n\";\r\n          placeholder.appendChild(placeholderTitle);\r\n          placeholder.appendChild(placeholderStatus);\r\n          target.appendChild(placeholder);\r\n          return;\r\n        }\r\n        modules.forEach(function (module, index) {\r\n          var node = document.createElement(\"div\");\r\n          node.className = \"mf-node\";\r\n          node.style.animationDelay = Math.min(index * 45, 260) + \"ms\";\r\n          var label = document.createElement(\"strong\");\r\n          var status = document.createElement(\"small\");\r\n          label.textContent = module.label;\r\n          status.textContent = module.status;\r\n          node.appendChild(label);\r\n          node.appendChild(status);\r\n          target.appendChild(node);\r\n        });\r\n      };\r\n\r\n      function FlowSummary(summaryElement, reasonsElement) {\r\n        this.summaryElement = summaryElement;\r\n        this.reasonsElement = reasonsElement;\r\n      }\r\n\r\n      FlowSummary.prototype.render = function (answers, modules, labels) {\r\n        if (this.reasonsElement) {\r\n          this.reasonsElement.innerHTML = \"\";\r\n          modules.forEach(function (module) {\r\n            var item = document.createElement(\"li\");\r\n            item.className = \"mf-reason\";\r\n            var title = document.createElement(\"strong\");\r\n            var explanation = document.createElement(\"span\");\r\n            title.textContent = module.label;\r\n            explanation.textContent = module.reason;\r\n            item.appendChild(title);\r\n            item.appendChild(explanation);\r\n            this.reasonsElement.appendChild(item);\r\n          }, this);\r\n        }\r\n\r\n        var hasPrimaryChoice = Array.isArray(answers.need) ? answers.need.length > 0 : Boolean(answers.need);\r\n        var summaryParts = [];\r\n        if (hasPrimaryChoice) {\r\n          var serviceLabels = Array.isArray(labels.need) ? labels.need.join(\" + \") : (labels.need || answers.need);\r\n          summaryParts.push(\"Palvelut: \" + serviceLabels);\r\n          if (answers.product) summaryParts.push(\"Tuotteet: \" + (labels.product || answers.product));\r\n          if (answers.frequency) {\r\n            var frequencyLabel = answers.frequency === \"otherDetails\" && answers.frequencyDetails\r\n              ? answers.frequencyDetails.trim()\r\n              : (labels.frequency || answers.frequency);\r\n            summaryParts.push(\"Kuljetusrytmi: \" + frequencyLabel);\r\n          }\r\n        }\r\n        var formattedSummary = summaryParts.map(function (part) {\r\n          return \/[.!?]$\/.test(part) ? part : part + \".\";\r\n        }).join(\" \");\r\n        var summary = hasPrimaryChoice\r\n          ? formattedSummary + \" Mahdollinen palveluketju: \" + modules.map(function (module) { return module.label; }).join(\" \u2192 \") + \".\"\r\n          : \"Valitse v\u00e4hint\u00e4\u00e4n yksi palvelu. N\u00e4et ketjun p\u00e4ivittyv\u00e4n t\u00e4ss\u00e4.\";\r\n        if (this.summaryElement) this.summaryElement.textContent = summary;\r\n        return summary;\r\n      };\r\n\r\n      function FlowConfigurator(app, content) {\r\n        this.app = app;\r\n        this.content = content;\r\n        this.currentStep = 0;\r\n        this.complete = false;\r\n        this.answers = {};\r\n        this.labels = {};\r\n        this.engine = new FlowRecommendationEngine(content);\r\n        this.visualization = new FlowVisualization(app.querySelector(\"[data-flow-visual]\"));\r\n        this.summary = new FlowSummary(app.querySelector(\"[data-flow-summary]\"), app.querySelector(\"[data-flow-reasons]\"));\r\n        this.currentSummary = \"\";\r\n        this.choiceForm = app.querySelector(\"[data-flow-form]\");\r\n        this.stepContainer = app.querySelector(\"[data-flow-step]\");\r\n        this.contactStep = app.querySelector(\"[data-flow-contact-step]\");\r\n        this.contactButton = app.querySelector(\"[data-flow-contact]\");\r\n        this.reviewElement = app.querySelector(\"[data-flow-review]\");\r\n        this.backButton = app.querySelector(\"[data-flow-back]\");\r\n        this.nextButton = app.querySelector(\"[data-flow-next]\");\r\n        this.resetButton = app.querySelector(\"[data-flow-reset]\");\r\n        this.progress = app.querySelector(\"[data-flow-progress]\");\r\n        this.progressBar = app.querySelector(\"[data-flow-progress-bar]\");\r\n        this.progressLabel = app.querySelector(\"[data-flow-progress-label]\");\r\n        this.live = app.querySelector(\"[data-flow-live]\");\r\n      }\r\n\r\n      FlowConfigurator.prototype.getOptionLabel = function (stepId, optionId) {\r\n        var step = this.content.steps.filter(function (item) { return item.id === stepId; })[0];\r\n        if (!step) return optionId;\r\n        if (Array.isArray(optionId)) {\r\n          var self = this;\r\n          return optionId.map(function (id) { return self.getOptionLabel(stepId, id); }).join(\" + \");\r\n        }\r\n        var option = step.options.filter(function (item) { return item.id === optionId; })[0];\r\n        return option ? option.label : optionId;\r\n      };\r\n\r\n      FlowConfigurator.prototype.hasAnswer = function (stepId) {\r\n        var answer = this.answers[stepId];\r\n        return Array.isArray(answer) ? answer.length > 0 : Boolean(answer);\r\n      };\r\n\r\n      FlowConfigurator.prototype.isStepComplete = function (step) {\r\n        if (step.type === \"contact\") return true;\r\n        if (!this.hasAnswer(step.id)) return false;\r\n        if (step.details && this.answers[step.id] === step.details.optionId) {\r\n          var detailsValue = this.answers[step.details.answerId];\r\n          return typeof detailsValue === \"string\" && detailsValue.trim().length > 0;\r\n        }\r\n        return true;\r\n      };\r\n\r\n      FlowConfigurator.prototype.primaryStepsComplete = function () {\r\n        var self = this;\r\n        return this.content.steps\r\n          .filter(function (step) { return step.type !== \"contact\"; })\r\n          .every(function (step) { return self.isStepComplete(step); });\r\n      };\r\n\r\n      FlowConfigurator.prototype.setContactField = function (name, value) {\r\n        if (!this.contactStep) return;\r\n        this.contactStep.querySelectorAll('[name=\"' + name + '\"]').forEach(function (field) {\r\n          var nextValue = value || \"\";\r\n          field.value = nextValue;\r\n          field.defaultValue = nextValue;\r\n          field.setAttribute(\"value\", nextValue);\r\n        });\r\n      };\r\n\r\n      FlowConfigurator.prototype.setContactAutofill = function (name, value) {\r\n        if (!this.contactStep || !value) return;\r\n        var field = this.contactStep.querySelector('[name=\"' + name + '\"]');\r\n        if (!field) return;\r\n        var previous = field.getAttribute(\"data-flow-autofill-value\") || \"\";\r\n        if (!field.value || field.value === previous) {\r\n          field.value = value;\r\n          field.setAttribute(\"data-flow-autofill-value\", value);\r\n        }\r\n      };\r\n\r\n      FlowConfigurator.prototype.syncContactForm = function () {\r\n        if (!this.contactStep) return;\r\n        var services = Array.isArray(this.labels.need) ? this.labels.need.join(\" + \") : (this.labels.need || \"\");\r\n        var product = this.labels.product || \"\";\r\n        var frequency = this.answers.frequency === \"otherDetails\" && this.answers.frequencyDetails\r\n          ? this.answers.frequencyDetails.trim()\r\n          : (this.labels.frequency || \"\");\r\n\r\n        if (this.reviewElement) this.reviewElement.textContent = this.currentSummary;\r\n        this.setContactField(\"flow-summary\", this.currentSummary);\r\n        this.setContactField(\"flow-services\", services);\r\n        this.setContactField(\"flow-product-choice\", product);\r\n        this.setContactField(\"flow-frequency\", frequency);\r\n        this.setContactField(\"flow-frequency-details\", this.answers.frequencyDetails || \"\");\r\n        this.setContactAutofill(\"product\", product);\r\n        this.setContactAutofill(\"route\", frequency ? \"Kuljetusrytmi: \" + frequency : \"\");\r\n      };\r\n\r\n      FlowConfigurator.prototype.markIncomplete = function () {\r\n        this.complete = false;\r\n        var title = this.app.querySelector(\"[data-flow-title]\");\r\n        if (title) title.textContent = \"Sinun mahdollinen Mico Flow\";\r\n        this.updateProgress();\r\n      };\r\n\r\n      FlowConfigurator.prototype.renderStep = function () {\r\n        var self = this;\r\n        var step = this.content.steps[this.currentStep];\r\n        var isContactStep = step.type === \"contact\";\r\n        this.app.classList.toggle(\"is-contact-step\", isContactStep);\r\n        if (this.choiceForm) this.choiceForm.hidden = isContactStep;\r\n        if (this.contactStep) this.contactStep.hidden = !isContactStep;\r\n\r\n        if (isContactStep) {\r\n          this.syncContactForm();\r\n          this.updateControls();\r\n          this.updateProgress();\r\n          return;\r\n        }\r\n\r\n        this.stepContainer.innerHTML = \"\";\r\n\r\n        var wrap = document.createElement(\"div\");\r\n        wrap.className = \"mf-step\" + (step.multiple ? \" mf-step--multiple\" : \"\");\r\n        var fieldset = document.createElement(\"fieldset\");\r\n        var legend = document.createElement(\"legend\");\r\n        var help = document.createElement(\"p\");\r\n        var choices = document.createElement(\"div\");\r\n        var helpId = \"mf-help-\" + step.id;\r\n        var detailsWrap = null;\r\n        var detailsInput = null;\r\n\r\n        legend.textContent = step.title;\r\n        help.className = \"mf-step-help\";\r\n        help.id = helpId;\r\n        help.textContent = step.help;\r\n        choices.className = \"mf-choices\";\r\n\r\n        step.options.forEach(function (option) {\r\n          var choiceWrap = document.createElement(\"div\");\r\n          var input = document.createElement(\"input\");\r\n          var label = document.createElement(\"label\");\r\n          var dot = document.createElement(\"span\");\r\n          var copy = document.createElement(\"span\");\r\n          var strong = document.createElement(\"strong\");\r\n          var small = document.createElement(\"small\");\r\n          var inputId = \"mf-\" + step.id + \"-\" + option.id;\r\n\r\n          choiceWrap.className = \"mf-choice-wrap\";\r\n          input.type = step.multiple ? \"checkbox\" : \"radio\";\r\n          input.name = step.multiple ? step.id + \"[]\" : step.id;\r\n          input.id = inputId;\r\n          input.value = option.id;\r\n          input.checked = step.multiple\r\n            ? Array.isArray(self.answers[step.id]) && self.answers[step.id].indexOf(option.id) !== -1\r\n            : self.answers[step.id] === option.id;\r\n          input.setAttribute(\"aria-describedby\", helpId);\r\n          label.className = \"mf-choice\";\r\n          label.setAttribute(\"for\", inputId);\r\n          dot.className = \"mf-choice-dot\";\r\n          dot.setAttribute(\"aria-hidden\", \"true\");\r\n          strong.textContent = option.label;\r\n          small.textContent = option.note;\r\n          copy.appendChild(strong);\r\n          copy.appendChild(small);\r\n          label.appendChild(dot);\r\n          label.appendChild(copy);\r\n          choiceWrap.appendChild(input);\r\n          choiceWrap.appendChild(label);\r\n          choices.appendChild(choiceWrap);\r\n\r\n          input.addEventListener(\"change\", function () {\r\n            if (step.multiple) {\r\n              var selected = Array.isArray(self.answers[step.id]) ? self.answers[step.id].slice() : [];\r\n              if (input.checked && selected.indexOf(option.id) === -1) selected.push(option.id);\r\n              if (!input.checked) selected = selected.filter(function (id) { return id !== option.id; });\r\n              var optionIds = step.options.map(function (item) { return item.id; });\r\n              selected.sort(function (a, b) { return optionIds.indexOf(a) - optionIds.indexOf(b); });\r\n              if (selected.length) {\r\n                self.answers[step.id] = selected;\r\n                self.labels[step.id] = selected.map(function (id) { return self.getOptionLabel(step.id, id); });\r\n              } else {\r\n                delete self.answers[step.id];\r\n                delete self.labels[step.id];\r\n              }\r\n            } else {\r\n              self.answers[step.id] = option.id;\r\n              self.labels[step.id] = option.label;\r\n            }\r\n            if (step.details && detailsWrap && detailsInput) {\r\n              var detailsSelected = self.answers[step.id] === step.details.optionId;\r\n              detailsWrap.hidden = !detailsSelected;\r\n              detailsInput.required = detailsSelected;\r\n              detailsInput.disabled = !detailsSelected;\r\n              detailsInput.setAttribute(\"aria-required\", detailsSelected ? \"true\" : \"false\");\r\n              if (!detailsSelected) {\r\n                detailsInput.value = \"\";\r\n                delete self.answers[step.details.answerId];\r\n                delete self.labels[step.details.answerId];\r\n              }\r\n            }\r\n            self.markIncomplete();\r\n            self.updateResult(option.label + (step.multiple && !input.checked ? \" poistettiin\" : \" valittiin\"));\r\n            self.updateControls();\r\n          });\r\n        });\r\n\r\n        if (step.details) {\r\n          var detailsLabel = document.createElement(\"label\");\r\n          var detailsHelp = document.createElement(\"p\");\r\n          var detailsInputId = \"mf-\" + step.id + \"-details\";\r\n          var detailsHelpId = detailsInputId + \"-help\";\r\n          detailsWrap = document.createElement(\"div\");\r\n          detailsInput = document.createElement(\"textarea\");\r\n          detailsWrap.className = \"mf-details\";\r\n          detailsWrap.hidden = self.answers[step.id] !== step.details.optionId;\r\n          detailsLabel.setAttribute(\"for\", detailsInputId);\r\n          detailsLabel.textContent = step.details.label;\r\n          detailsInput.id = detailsInputId;\r\n          detailsInput.name = step.details.answerId;\r\n          detailsInput.value = self.answers[step.details.answerId] || \"\";\r\n          detailsInput.placeholder = step.details.placeholder;\r\n          detailsInput.maxLength = step.details.maxLength || 600;\r\n          detailsInput.required = !detailsWrap.hidden;\r\n          detailsInput.disabled = detailsWrap.hidden;\r\n          detailsInput.setAttribute(\"aria-required\", detailsWrap.hidden ? \"false\" : \"true\");\r\n          detailsInput.setAttribute(\"aria-describedby\", detailsHelpId);\r\n          detailsHelp.className = \"mf-details-help\";\r\n          detailsHelp.id = detailsHelpId;\r\n          detailsHelp.textContent = step.details.help;\r\n          detailsInput.addEventListener(\"input\", function () {\r\n            var value = detailsInput.value;\r\n            if (value.trim()) {\r\n              self.answers[step.details.answerId] = value;\r\n              self.labels[step.details.answerId] = \"Lis\u00e4tieto: \" + value.trim();\r\n            } else {\r\n              delete self.answers[step.details.answerId];\r\n              delete self.labels[step.details.answerId];\r\n            }\r\n            self.markIncomplete();\r\n            self.updateResult(\"Kuljetusrytmin lis\u00e4tieto p\u00e4ivitettiin\");\r\n            self.updateControls();\r\n          });\r\n          detailsWrap.appendChild(detailsLabel);\r\n          detailsWrap.appendChild(detailsInput);\r\n          detailsWrap.appendChild(detailsHelp);\r\n        }\r\n\r\n        fieldset.appendChild(legend);\r\n        fieldset.appendChild(help);\r\n        fieldset.appendChild(choices);\r\n        if (detailsWrap) fieldset.appendChild(detailsWrap);\r\n        wrap.appendChild(fieldset);\r\n        this.stepContainer.appendChild(wrap);\r\n        this.updateControls();\r\n        this.updateProgress();\r\n      };\r\n\r\n      FlowConfigurator.prototype.updateControls = function () {\r\n        var step = this.content.steps[this.currentStep];\r\n        var isContactStep = step.type === \"contact\";\r\n        this.backButton.disabled = this.currentStep === 0;\r\n        this.nextButton.hidden = isContactStep;\r\n        this.nextButton.disabled = isContactStep || !this.isStepComplete(step);\r\n        this.nextButton.textContent = this.currentStep === this.content.steps.length - 2 ? \"Yhteystietoihin\" : \"Seuraava\";\r\n        if (this.contactButton) {\r\n          this.contactButton.hidden = isContactStep;\r\n          this.contactButton.disabled = !this.primaryStepsComplete();\r\n          this.contactButton.setAttribute(\"aria-disabled\", this.contactButton.disabled ? \"true\" : \"false\");\r\n        }\r\n      };\r\n\r\n      FlowConfigurator.prototype.updateProgress = function () {\r\n        var value = this.currentStep + 1;\r\n        var percent = this.complete ? 100 : value \/ this.content.steps.length * 100;\r\n        this.progress.setAttribute(\"aria-valuemax\", String(this.content.steps.length));\r\n        this.progress.setAttribute(\"aria-valuenow\", String(value));\r\n        this.progressBar.style.width = percent + \"%\";\r\n        this.progressLabel.textContent = this.complete ? \"L\u00e4hetetty\" : \"Vaihe \" + value + \" \/ \" + this.content.steps.length;\r\n      };\r\n\r\n      FlowConfigurator.prototype.updateResult = function (changeMessage) {\r\n        var modules = this.engine.build(this.answers);\r\n        this.visualization.render(modules);\r\n        var summaryText = this.summary.render(this.answers, modules, this.labels);\r\n        this.currentSummary = summaryText;\r\n        this.syncContactForm();\r\n        if (changeMessage && this.live) {\r\n          var last = modules[modules.length - 1];\r\n          this.live.textContent = last\r\n            ? changeMessage + \". Palveluketju p\u00e4ivittyi. Viimeisin n\u00e4kyv\u00e4 moduuli on \" + last.label + \".\"\r\n            : changeMessage + \". Valitse v\u00e4hint\u00e4\u00e4n yksi palvelu, jotta palveluketju voidaan muodostaa.\";\r\n        }\r\n      };\r\n\r\n      FlowConfigurator.prototype.init = function () {\r\n        var self = this;\r\n        this.app.hidden = false;\r\n        this.renderStep();\r\n        this.updateResult();\r\n\r\n        this.nextButton.addEventListener(\"click\", function () {\r\n          var step = self.content.steps[self.currentStep];\r\n          if (!self.isStepComplete(step)) return;\r\n          if (self.currentStep < self.content.steps.length - 1) {\r\n            self.currentStep += 1;\r\n            self.renderStep();\r\n            var isContactStep = self.content.steps[self.currentStep].type === \"contact\";\r\n            var selectedInput = isContactStep ? null : self.stepContainer.querySelector(\"input:checked\");\r\n            var firstInput = isContactStep\r\n              ? self.contactStep.querySelector('[name=\"your-name\"]')\r\n              : (selectedInput || self.stepContainer.querySelector(\"input\"));\r\n            if (firstInput) firstInput.focus();\r\n          }\r\n        });\r\n\r\n        if (this.contactButton) {\r\n          this.contactButton.addEventListener(\"click\", function () {\r\n            if (!self.primaryStepsComplete()) return;\r\n            self.currentStep = self.content.steps.length - 1;\r\n            self.renderStep();\r\n            self.live.textContent = \"Mico Flow on valmis l\u00e4hetett\u00e4v\u00e4ksi. Tarkista yhteenveto ja t\u00e4yt\u00e4 yhteystietosi.\";\r\n            var firstInput = self.contactStep.querySelector('[name=\"your-name\"]');\r\n            if (firstInput) firstInput.focus();\r\n          });\r\n        }\r\n\r\n        this.backButton.addEventListener(\"click\", function () {\r\n          if (self.currentStep === 0) return;\r\n          self.currentStep -= 1;\r\n          self.markIncomplete();\r\n          self.renderStep();\r\n          var selected = self.stepContainer.querySelector(\"input:checked\");\r\n          var target = selected || self.stepContainer.querySelector(\"input\");\r\n          if (target) target.focus();\r\n        });\r\n\r\n        this.resetButton.addEventListener(\"click\", function () {\r\n          self.currentStep = 0;\r\n          self.complete = false;\r\n          self.answers = {};\r\n          self.labels = {};\r\n          var contactForm = self.contactStep ? self.contactStep.querySelector(\"form\") : null;\r\n          if (contactForm) {\r\n            contactForm.reset();\r\n            contactForm.classList.remove(\"sent\", \"invalid\", \"failed\", \"spam\", \"aborted\", \"submitting\");\r\n            contactForm.setAttribute(\"data-status\", \"init\");\r\n            contactForm.querySelectorAll(\".wpcf7-not-valid-tip\").forEach(function (tip) { tip.remove(); });\r\n            contactForm.querySelectorAll(\".wpcf7-not-valid\").forEach(function (field) {\r\n              field.classList.remove(\"wpcf7-not-valid\");\r\n              field.removeAttribute(\"aria-invalid\");\r\n              field.removeAttribute(\"aria-describedby\");\r\n            });\r\n            var responseOutput = contactForm.querySelector(\".wpcf7-response-output\");\r\n            if (responseOutput) responseOutput.textContent = \"\";\r\n          }\r\n          if (self.contactStep) {\r\n            self.contactStep.classList.remove(\"is-sent\", \"is-submitting\");\r\n            var submitButton = self.contactStep.querySelector('.wpcf7-submit, button[type=\"submit\"], input[type=\"submit\"]');\r\n            if (submitButton) {\r\n              submitButton.disabled = false;\r\n              submitButton.removeAttribute(\"aria-disabled\");\r\n            }\r\n          }\r\n          var title = self.app.querySelector(\"[data-flow-title]\");\r\n          if (title) title.textContent = \"Sinun mahdollinen Mico Flow\";\r\n          self.renderStep();\r\n          self.updateResult();\r\n          self.live.textContent = \"Mico Flow aloitettiin alusta.\";\r\n          var first = self.stepContainer.querySelector(\"input\");\r\n          if (first) first.focus();\r\n        });\r\n\r\n        var localForm = this.contactStep ? this.contactStep.querySelector(\"form[data-local-form]\") : null;\r\n        var contactFormForSync = this.contactStep ? this.contactStep.querySelector(\"form\") : null;\r\n        if (contactFormForSync) {\r\n          contactFormForSync.addEventListener(\"submit\", function () {\r\n            self.syncContactForm();\r\n          }, true);\r\n          contactFormForSync.addEventListener(\"formdata\", function (event) {\r\n            self.syncContactForm();\r\n            var services = Array.isArray(self.labels.need) ? self.labels.need.join(\" + \") : (self.labels.need || \"\");\r\n            var product = self.labels.product || \"\";\r\n            var frequency = self.answers.frequency === \"otherDetails\"\r\n              ? (self.answers.frequencyDetails ? self.answers.frequencyDetails.trim() : \"\")\r\n              : (self.labels.frequency || \"\");\r\n            event.formData.set(\"flow-summary\", self.currentSummary || \"\");\r\n            event.formData.set(\"flow-services\", services);\r\n            event.formData.set(\"flow-product-choice\", product);\r\n            event.formData.set(\"flow-frequency\", frequency);\r\n            event.formData.set(\"flow-frequency-details\", self.answers.frequencyDetails || \"\");\r\n          });\r\n        }\r\n        if (localForm) {\r\n          localForm.addEventListener(\"submit\", function (event) {\r\n            event.preventDefault();\r\n            if (!localForm.checkValidity()) {\r\n              localForm.reportValidity();\r\n              return;\r\n            }\r\n            var status = localForm.querySelector(\"[data-local-form-status]\");\r\n            if (status) status.textContent = \"Paikallinen luonnos on valmis. WordPress-versiossa t\u00e4m\u00e4 l\u00e4hett\u00e4\u00e4 Mico Flow -yhteenvedon ja yhteystiedot.\";\r\n          });\r\n        }\r\n\r\n        function setContactSubmitPending(pending) {\r\n          if (!self.contactStep) return;\r\n          var submitButton = self.contactStep.querySelector('.wpcf7-submit, button[type=\"submit\"], input[type=\"submit\"]');\r\n          if (!submitButton) return;\r\n          submitButton.disabled = pending;\r\n          submitButton.setAttribute(\"aria-disabled\", pending ? \"true\" : \"false\");\r\n          self.contactStep.classList.toggle(\"is-submitting\", pending);\r\n        }\r\n\r\n        root.addEventListener(\"wpcf7beforesubmit\", function (event) {\r\n          if (!self.contactStep || !self.contactStep.contains(event.target)) return;\r\n          setContactSubmitPending(true);\r\n        });\r\n\r\n        [\"wpcf7invalid\", \"wpcf7mailfailed\", \"wpcf7spam\", \"wpcf7aborted\"].forEach(function (eventName) {\r\n          root.addEventListener(eventName, function (event) {\r\n            if (!self.contactStep || !self.contactStep.contains(event.target)) return;\r\n            setContactSubmitPending(false);\r\n          });\r\n        });\r\n\r\n        root.addEventListener(\"wpcf7mailsent\", function (event) {\r\n          if (!self.contactStep || !self.contactStep.contains(event.target)) return;\r\n          self.complete = true;\r\n          self.updateProgress();\r\n          self.contactStep.classList.add(\"is-sent\");\r\n          setContactSubmitPending(true);\r\n          self.live.textContent = \"Kiitos. Mico Flow -yhteenvetosi ja yhteystietosi on l\u00e4hetetty.\";\r\n          var title = self.app.querySelector(\"[data-flow-title]\");\r\n          if (title) title.textContent = \"Yhteydenotto on l\u00e4hetetty\";\r\n        });\r\n      };\r\n\r\n      var flowApp = root.querySelector(\"[data-flow-app]\");\r\n      if (flowApp) {\r\n        try {\r\n          new FlowConfigurator(flowApp, FLOW_CONTENT).init();\r\n        } catch (error) {\r\n          flowApp.hidden = true;\r\n          root.classList.remove(\"is-js\");\r\n        }\r\n      }\r\n    }());\r\n  <\/script>\r\n  <script data-mico-source=\"mico-system-story-v2.js\">\r\n(function () {\r\n  \"use strict\";\r\n\r\n  var root = document.getElementById(\"mico-home-draft\") || document.getElementById(\"mico-system-page\");\r\n  if (!root) return;\r\n\r\n  var section = root.querySelector(\"[data-mh-story]\");\r\n  var stage = root.querySelector(\"[data-mh-story-stage]\");\r\n  if (!section || !stage || stage.getAttribute(\"data-mh-story-init\") === \"true\") return;\r\n\r\n  var viewport = stage.querySelector(\"[data-mh-story-viewport]\");\r\n  var canvas = stage.querySelector(\"[data-mh-story-canvas]\");\r\n  var poster = stage.querySelector(\"[data-mh-story-poster]\");\r\n  var loader = stage.querySelector(\"[data-mh-story-loading]\");\r\n  var count = stage.querySelector(\"[data-mh-stage-count]\");\r\n  var title = stage.querySelector(\"[data-mh-stage-title]\");\r\n  var caption = stage.querySelector(\"[data-mh-stage-caption]\");\r\n  var status = stage.querySelector(\"[data-mh-stage-status]\");\r\n  var live = stage.querySelector(\"[data-mh-story-live]\");\r\n  var previous = stage.querySelector(\"[data-mh-story-prev]\");\r\n  var next = stage.querySelector(\"[data-mh-story-next]\");\r\n  var motion = stage.querySelector(\"[data-mh-story-motion]\");\r\n  var motionLabel = stage.querySelector(\"[data-mh-motion-label]\");\r\n  var steps = Array.prototype.slice.call(stage.querySelectorAll(\"[data-mh-story-step]\"));\r\n  var scenes = Array.prototype.slice.call(section.querySelectorAll(\"[data-mh-scene]\"));\r\n\r\n  if (!viewport || !canvas || scenes.length !== 5 || steps.length !== 5) {\r\n    stage.classList.remove(\"is-webgl-pending\");\r\n    stage.classList.add(\"is-webgl-fallback\");\r\n    return;\r\n  }\r\n\r\n  stage.setAttribute(\"data-mh-story-init\", \"true\");\r\n  section.classList.add(\"is-story-ready\");\r\n\r\n  var THREE_URL = root.getAttribute(\"data-three-url\") || \"https:\/\/cdn.jsdelivr.net\/npm\/three@0.185.0\/build\/three.module.min.js\";\r\n  var reducedMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\r\n  var desktopStory = window.matchMedia(\"(min-width: 981px) and (min-height: 561px)\");\r\n  var pairedStory = section.getAttribute(\"data-mh-story-layout\") === \"paired\";\r\n  var abort = new AbortController();\r\n\r\n  var fallbackSceneMeta = [\r\n    {\r\n      title: \"Operatiivinen perusta\",\r\n      caption: \"Nouto, Nummen varasto, ker\u00e4ily, l\u00e4mp\u00f6tilahallittu kuljetus ja toimitus muodostavat nykyisen palveluketjun.\",\r\n      status: \"now\",\r\n      statusLabel: \"K\u00e4yt\u00f6ss\u00e4 nyt\"\r\n    },\r\n    {\r\n      title: \"Yksi palvelu tai koko ketju\",\r\n      caption: \"Asiakkaan ratkaisu voidaan rakentaa suorasta kuljetuksesta tai Micon operoiman varaston kautta kulkevasta kokonaisuudesta.\",\r\n      status: \"now\",\r\n      statusLabel: \"K\u00e4yt\u00f6ss\u00e4 nyt\"\r\n    },\r\n    {\r\n      title: \"Modulaarinen teknologiakerros\",\r\n      caption: \"Modulaarinen kuljetuslaitteisto on k\u00e4yt\u00f6ss\u00e4, ja teko\u00e4lyintegraatiota vahvistetaan j\u00e4rjestelmiss\u00e4 vaiheittain. Autonomisempi toiminta on seuraava kehityssuunta.\",\r\n      status: \"development\",\r\n      statusLabel: \"K\u00e4yt\u00f6ss\u00e4 \u00b7 vahvistuu\"\r\n    },\r\n    {\r\n      title: \"Seuraava infrastruktuuri\",\r\n      caption: \"Uusi, aiempaa suurempi terminaali, varastomyynti, pieni pakkaamo, dronejakelukentt\u00e4 ja liikkuvat l\u00e4mp\u00f6tilahallitut noutopisteet ovat tulossa pian.\",\r\n      status: \"future\",\r\n      statusLabel: \"Tulossa pian\"\r\n    },\r\n    {\r\n      title: \"Yhdistyv\u00e4 j\u00e4rjestelm\u00e4\",\r\n      caption: \"Nykyinen operointi, k\u00e4yt\u00f6ss\u00e4 oleva ja vaiheittain vahvistuva teknologia sek\u00e4 suunniteltu infrastruktuuri muodostavat vaiheittain rakentuvan tavoitetilan.\",\r\n      status: \"future\",\r\n      statusLabel: \"Suunta\"\r\n    }\r\n  ];\r\n\r\n  var sceneMeta = scenes.map(function (item, index) {\r\n    var badge = item.querySelector(\".mh-status\");\r\n    var badgeText = badge ? badge.textContent.trim() : fallbackSceneMeta[index].statusLabel;\r\n    var statusType = badge ? badge.classList.contains(\"mh-status--development\")\r\n      ? \"development\"\r\n      : badge.classList.contains(\"mh-status--future\")\r\n        ? \"future\"\r\n        : \"now\"\r\n      : \"now\";\r\n\r\n    return {\r\n      title: item.getAttribute(\"data-title\") || fallbackSceneMeta[index].title,\r\n      caption: item.getAttribute(\"data-caption\") || fallbackSceneMeta[index].caption,\r\n      status: statusType,\r\n      statusLabel: badgeText\r\n    };\r\n  });\r\n\r\n  var cameraPoses = [\r\n    { position: [11, 8.3, 15.5], target: [0.2, .8, .1], flow: .18 },\r\n    { position: [1.2, 5.4, 8.6], target: [-2.6, 1.05, 0], flow: .43 },\r\n    { position: [7.8, 5.2, 7.2], target: [2.25, 1.35, .35], flow: .64 },\r\n    { position: [11.5, 7.2, -2.5], target: [5.5, 1.1, -1.65], flow: .84 },\r\n    { position: [2.5, 14.2, 17], target: [.5, .25, 0], flow: .98 }\r\n  ];\r\n\r\n  var sceneFactors = [\r\n    { current: 1, development: .025, future: .012, network: 0 },\r\n    { current: 1, development: .06, future: .018, network: 0 },\r\n    { current: .3, development: 1, future: .065, network: .07 },\r\n    { current: .18, development: .4, future: 1, network: .16 },\r\n    { current: .78, development: .7, future: .52, network: 1 }\r\n  ];\r\n\r\n  var state = {\r\n    current: 0,\r\n    userPaused: false,\r\n    ready: false,\r\n    loading: false,\r\n    destroyed: false,\r\n    inViewport: false,\r\n    contextLost: false,\r\n    firstFrame: false,\r\n    manualLockUntil: 0,\r\n    raf: 0,\r\n    scrollRaf: 0,\r\n    transition: null,\r\n    factors: copyFactors(sceneFactors[0]),\r\n    flow: cameraPoses[0].flow,\r\n    lastSize: \"\"\r\n  };\r\n\r\n  var THREE = null;\r\n  var renderer = null;\r\n  var scene3D = null;\r\n  var camera = null;\r\n  var cameraTarget = null;\r\n  var world = null;\r\n  var resizeObserver = null;\r\n  var lazyObserver = null;\r\n  var visibleObserver = null;\r\n  var detachObserver = null;\r\n\r\n  function copyFactors(source) {\r\n    return {\r\n      current: source.current,\r\n      development: source.development,\r\n      future: source.future,\r\n      network: source.network\r\n    };\r\n  }\r\n\r\n  function motionAllowed() {\r\n    return !reducedMotion.matches ? !state.userPaused : false;\r\n  }\r\n\r\n  function updateMotionButton() {\r\n    if (!motion) return;\r\n    var reduced = reducedMotion.matches;\r\n    var paused = reduced || state.userPaused;\r\n    stage.setAttribute(\"data-motion\", paused ? \"paused\" : \"running\");\r\n    motion.setAttribute(\"aria-pressed\", String(paused));\r\n    motion.setAttribute(\"aria-disabled\", String(reduced));\r\n    motion.setAttribute(\"aria-label\", reduced ? \"Liike v\u00e4hennetty laitteen asetuksen mukaan\" : paused ? \"Jatka 3D-liikett\u00e4\" : \"Pys\u00e4yt\u00e4 3D-liike\");\r\n    if (motionLabel) motionLabel.textContent = reduced ? \"Liike v\u00e4hennetty\" : paused ? \"Jatka liikett\u00e4\" : \"Pys\u00e4yt\u00e4 liike\";\r\n  }\r\n\r\n  function setLoader(text) {\r\n    if (loader) loader.textContent = text;\r\n  }\r\n\r\n  function showFallback(reason) {\r\n    stage.classList.remove(\"is-webgl-pending\", \"is-webgl-ready\");\r\n    stage.classList.add(\"is-webgl-fallback\");\r\n    stage.setAttribute(\"data-fallback-reason\", reason);\r\n    stage.removeAttribute(\"aria-busy\");\r\n    canvas.style.visibility = \"hidden\";\r\n    setLoader(reason === \"reduced-motion\" ? \"Liike v\u00e4hennetty \u2014 kevyt kuvitus k\u00e4yt\u00f6ss\u00e4\" : \"Kevyt kuvitus k\u00e4yt\u00f6ss\u00e4\");\r\n  }\r\n\r\n  function showReady() {\r\n    stage.classList.remove(\"is-webgl-pending\", \"is-webgl-fallback\");\r\n    stage.classList.add(\"is-webgl-ready\");\r\n    stage.removeAttribute(\"data-fallback-reason\");\r\n    stage.removeAttribute(\"aria-busy\");\r\n    canvas.style.visibility = \"visible\";\r\n  }\r\n\r\n  function updateUI(index, announce) {\r\n    var meta = sceneMeta[index];\r\n    stage.setAttribute(\"data-stage\", String(index + 1));\r\n    stage.setAttribute(\"data-status\", meta.status);\r\n    if (count) count.textContent = \"Kohtaus \" + (index + 1) + \" \/ 5\";\r\n    if (title) title.textContent = meta.title;\r\n    if (caption) caption.textContent = meta.caption;\r\n    if (status) status.textContent = meta.statusLabel;\r\n\r\n    scenes.forEach(function (item, itemIndex) {\r\n      item.classList.toggle(\"is-active\", itemIndex === index);\r\n      item.setAttribute(\"data-active\", String(itemIndex === index));\r\n    });\r\n\r\n    steps.forEach(function (button, itemIndex) {\r\n      if (itemIndex === index) {\r\n        button.setAttribute(\"aria-current\", \"step\");\r\n        button.tabIndex = 0;\r\n      } else {\r\n        button.removeAttribute(\"aria-current\");\r\n        button.tabIndex = -1;\r\n      }\r\n    });\r\n\r\n    if (previous) previous.disabled = index === 0;\r\n    if (next) next.disabled = index === 4;\r\n    if (announce) {\r\n      if (live) live.textContent = \"Kohtaus \" + (index + 1) + \": \" + meta.title + \". \" + meta.statusLabel + \".\";\r\n    }\r\n  }\r\n\r\n  function interpolateFactors(from, to, amount) {\r\n    return {\r\n      current: from.current + (to.current - from.current) * amount,\r\n      development: from.development + (to.development - from.development) * amount,\r\n      future: from.future + (to.future - from.future) * amount,\r\n      network: from.network + (to.network - from.network) * amount\r\n    };\r\n  }\r\n\r\n  function applyPose(index) {\r\n    if (!camera || !cameraTarget || !world) return;\r\n    var pose = cameraPoses[index];\r\n    camera.position.set(pose.position[0], pose.position[1], pose.position[2]);\r\n    cameraTarget.set(pose.target[0], pose.target[1], pose.target[2]);\r\n    camera.lookAt(cameraTarget);\r\n    state.factors = copyFactors(sceneFactors[index]);\r\n    state.flow = pose.flow;\r\n    world.setFactors(state.factors);\r\n    world.setFlow(state.flow);\r\n    world.resetMotion();\r\n  }\r\n\r\n  function sampleTransition(now) {\r\n    if (!state.transition || !camera || !world) return false;\r\n    var transition = state.transition;\r\n    var raw = Math.min(1, Math.max(0, (now - transition.started) \/ transition.duration));\r\n    var eased = 1 - Math.pow(1 - raw, 3);\r\n    camera.position.lerpVectors(transition.fromPosition, transition.toPosition, eased);\r\n    cameraTarget.lerpVectors(transition.fromTarget, transition.toTarget, eased);\r\n    camera.lookAt(cameraTarget);\r\n    state.factors = interpolateFactors(transition.fromFactors, transition.toFactors, eased);\r\n    state.flow = transition.fromFlow + (transition.toFlow - transition.fromFlow) * eased;\r\n    world.setFactors(state.factors);\r\n    world.setFlow(state.flow);\r\n    world.animateTransition(eased, transition.toIndex);\r\n    if (raw >= 1) {\r\n      state.transition = null;\r\n      world.resetMotion();\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  function startTransition(index, immediate) {\r\n    if (!camera || !world || !THREE) return;\r\n    if (state.transition) sampleTransition(performance.now());\r\n    if (immediate || !motionAllowed()) {\r\n      state.transition = null;\r\n      applyPose(index);\r\n      requestRender();\r\n      return;\r\n    }\r\n    var pose = cameraPoses[index];\r\n    state.transition = {\r\n      toIndex: index,\r\n      started: performance.now(),\r\n      duration: 920,\r\n      fromPosition: camera.position.clone(),\r\n      toPosition: new THREE.Vector3(pose.position[0], pose.position[1], pose.position[2]),\r\n      fromTarget: cameraTarget.clone(),\r\n      toTarget: new THREE.Vector3(pose.target[0], pose.target[1], pose.target[2]),\r\n      fromFactors: copyFactors(state.factors),\r\n      toFactors: copyFactors(sceneFactors[index]),\r\n      fromFlow: state.flow,\r\n      toFlow: pose.flow\r\n    };\r\n    requestRender();\r\n  }\r\n\r\n  function setScene(requestedIndex, options) {\r\n    options = options || {};\r\n    var index = Math.max(0, Math.min(4, requestedIndex));\r\n    var changed = index !== state.current;\r\n    state.current = index;\r\n    updateUI(index, changed ? options.source !== \"scroll\" : false);\r\n    if (state.ready) startTransition(index, Boolean(options.immediate));\r\n\r\n    if (!pairedStory && (options.scroll ? (desktopStory.matches ? Boolean(scenes[index]) : false) : false)) {\r\n      state.manualLockUntil = performance.now() + 1100;\r\n      scenes[index].scrollIntoView({\r\n        behavior: motionAllowed() ? \"smooth\" : \"auto\",\r\n        block: \"center\"\r\n      });\r\n    }\r\n  }\r\n\r\n  function resize() {\r\n    if (!renderer || !camera || !world) return;\r\n    var width = Math.max(1, Math.round(canvas.clientWidth || viewport.clientWidth));\r\n    var height = Math.max(1, Math.round(canvas.clientHeight || viewport.clientHeight));\r\n    var compact = width < 720 || (navigator.deviceMemory ? navigator.deviceMemory <= 4 : false);\r\n    var dprCap = compact ? 1.18 : 1.5;\r\n    var maxPixels = compact ? 1400000 : 2400000;\r\n    var ratio = Math.min(window.devicePixelRatio || 1, dprCap);\r\n    ratio = Math.min(ratio, Math.sqrt(maxPixels \/ (width * height)));\r\n    ratio = Math.max(.72, ratio);\r\n    var key = width + \":\" + height + \":\" + ratio.toFixed(3);\r\n    if (key === state.lastSize) return;\r\n    state.lastSize = key;\r\n    renderer.setDrawingBufferSize(width, height, ratio);\r\n    var aspect = width \/ height;\r\n    camera.aspect = aspect;\r\n    camera.fov = aspect < .88 ? 57 : aspect < 1.25 ? 49 : 42;\r\n    camera.updateProjectionMatrix();\r\n    var scale = aspect < .92 ? .73 : aspect < 1.3 ? .84 : aspect < 1.65 ? .93 : 1;\r\n    world.root.scale.setScalar(scale);\r\n    requestRender();\r\n  }\r\n\r\n  function renderFrame(now) {\r\n    state.raf = 0;\r\n    if (state.destroyed || !renderer || !state.inViewport || document.hidden || state.contextLost) return;\r\n    resize();\r\n    var continueTransition = sampleTransition(now);\r\n    renderer.render(scene3D, camera);\r\n    if (!state.firstFrame) {\r\n      state.firstFrame = true;\r\n      showReady();\r\n    }\r\n    if (continueTransition) requestRender();\r\n  }\r\n\r\n  function requestRender() {\r\n    if (state.raf || state.destroyed || !renderer || !state.inViewport || document.hidden || state.contextLost) return;\r\n    state.raf = requestAnimationFrame(renderFrame);\r\n  }\r\n\r\n  function selectNearestScene() {\r\n    state.scrollRaf = 0;\r\n    if (pairedStory || !desktopStory.matches || performance.now() < state.manualLockUntil) return;\r\n    var sectionRect = section.getBoundingClientRect();\r\n    if (sectionRect.bottom <= 0 || sectionRect.top >= window.innerHeight) return;\r\n    var focusLine = window.innerHeight * .5;\r\n    var bestIndex = state.current;\r\n    var bestDistance = Infinity;\r\n    scenes.forEach(function (item, index) {\r\n      var rect = item.getBoundingClientRect();\r\n      var center = rect.top + rect.height \/ 2;\r\n      var distance = Math.abs(center - focusLine);\r\n      if (distance < bestDistance) {\r\n        bestDistance = distance;\r\n        bestIndex = index;\r\n      }\r\n    });\r\n    if (bestIndex !== state.current) setScene(bestIndex, { source: \"scroll\" });\r\n  }\r\n\r\n  function scheduleScrollSelection() {\r\n    if (pairedStory) return;\r\n    if (!state.scrollRaf) state.scrollRaf = requestAnimationFrame(selectNearestScene);\r\n  }\r\n\r\n  function canUseWebGL2() {\r\n    try {\r\n      var probeCanvas = document.createElement(\"canvas\");\r\n      var probe = probeCanvas.getContext(\"webgl2\", {\r\n        alpha: true,\r\n        antialias: false,\r\n        failIfMajorPerformanceCaveat: true\r\n      });\r\n      if (!probe) return false;\r\n      var lose = probe.getExtension(\"WEBGL_lose_context\");\r\n      if (lose) lose.loseContext();\r\n      return true;\r\n    } catch (error) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function boot3D() {\r\n    if (state.loading || state.ready || state.destroyed || state.contextLost) return;\r\n    if (reducedMotion.matches) {\r\n      showFallback(\"reduced-motion\");\r\n      return;\r\n    }\r\n    if (navigator.connection ? navigator.connection.saveData : false) {\r\n      showFallback(\"save-data\");\r\n      return;\r\n    }\r\n    if (!canUseWebGL2()) {\r\n      showFallback(\"webgl2-unavailable\");\r\n      return;\r\n    }\r\n\r\n    state.loading = true;\r\n    stage.setAttribute(\"aria-busy\", \"true\");\r\n    setLoader(\"3D-n\u00e4kym\u00e4\u00e4 valmistellaan\");\r\n\r\n    import(THREE_URL).then(function (module) {\r\n      if (state.destroyed) return;\r\n      THREE = module;\r\n      var lowQuality = window.innerWidth < 720 || (navigator.deviceMemory ? navigator.deviceMemory <= 4 : false);\r\n      renderer = new THREE.WebGLRenderer({\r\n        canvas: canvas,\r\n        alpha: true,\r\n        antialias: !lowQuality,\r\n        powerPreference: lowQuality ? \"default\" : \"high-performance\",\r\n        failIfMajorPerformanceCaveat: true\r\n      });\r\n      renderer.outputColorSpace = THREE.SRGBColorSpace;\r\n      renderer.toneMapping = THREE.ACESFilmicToneMapping;\r\n      renderer.toneMappingExposure = 1.08;\r\n      renderer.setClearColor(0x0c0040, 0);\r\n\r\n      scene3D = new THREE.Scene();\r\n      scene3D.fog = new THREE.FogExp2(0x0c0040, .025);\r\n      camera = new THREE.PerspectiveCamera(42, 1, .1, 100);\r\n      cameraTarget = new THREE.Vector3();\r\n\r\n      scene3D.add(new THREE.HemisphereLight(0xb8c7ff, 0x14052f, 2.2));\r\n      var keyLight = new THREE.DirectionalLight(0xffffff, 3.2);\r\n      keyLight.position.set(6, 12, 9);\r\n      scene3D.add(keyLight);\r\n      var orangeLight = new THREE.PointLight(0xf5540c, 17, 20, 2);\r\n      orangeLight.position.set(1.5, 4, 3);\r\n      scene3D.add(orangeLight);\r\n      var violetLight = new THREE.PointLight(0x7457ff, 12, 18, 2);\r\n      violetLight.position.set(5, 6, -4);\r\n      scene3D.add(violetLight);\r\n\r\n      world = buildWorld(THREE, lowQuality);\r\n      scene3D.add(world.root);\r\n      applyPose(state.current);\r\n      resize();\r\n\r\n      if (\"ResizeObserver\" in window) {\r\n        resizeObserver = new ResizeObserver(resize);\r\n        resizeObserver.observe(viewport);\r\n      }\r\n\r\n      state.ready = true;\r\n      state.loading = false;\r\n      requestRender();\r\n    }).catch(function (error) {\r\n      state.loading = false;\r\n      stage.setAttribute(\"data-fallback-detail\", (error ? error.message : null) ? error.message.slice(0, 240) : \"Tuntematon 3D-alustusvirhe\");\r\n      showFallback(\"three-load-or-renderer-error\");\r\n    });\r\n  }\r\n\r\n  function destroy() {\r\n    if (state.destroyed) return;\r\n    state.destroyed = true;\r\n    abort.abort();\r\n    if (lazyObserver) lazyObserver.disconnect();\r\n    if (visibleObserver) visibleObserver.disconnect();\r\n    if (resizeObserver) resizeObserver.disconnect();\r\n    if (detachObserver) detachObserver.disconnect();\r\n    cancelAnimationFrame(state.raf);\r\n    cancelAnimationFrame(state.scrollRaf);\r\n\r\n    if (scene3D) {\r\n      var geometries = new Set();\r\n      var materials = new Set();\r\n      scene3D.traverse(function (object) {\r\n        if (object.geometry) geometries.add(object.geometry);\r\n        var list = Array.isArray(object.material) ? object.material : object.material ? [object.material] : [];\r\n        list.forEach(function (material) { materials.add(material); });\r\n      });\r\n      geometries.forEach(function (geometry) { geometry.dispose(); });\r\n      materials.forEach(function (material) { material.dispose(); });\r\n    }\r\n    if (renderer) renderer.dispose();\r\n  }\r\n\r\n  function buildWorld(T, lowQuality) {\r\n    var root3D = new T.Group();\r\n    root3D.rotation.y = -.07;\r\n    var groups = {\r\n      current: new T.Group(),\r\n      development: new T.Group(),\r\n      future: new T.Group(),\r\n      network: new T.Group()\r\n    };\r\n    Object.keys(groups).forEach(function (key) { root3D.add(groups[key]); });\r\n\r\n    var orange = 0xf5540c;\r\n    var navy = 0x190a56;\r\n    var white = 0xf7f4ff;\r\n    var violet = 0x8d74ff;\r\n    var cyan = 0x67d2ff;\r\n    var segments = lowQuality ? 8 : 16;\r\n\r\n    function material(kind, color, opacity, options) {\r\n      options = options || {};\r\n      var finalOpacity = opacity === undefined ? 1 : opacity;\r\n      if (kind === \"development\") finalOpacity = Math.min(finalOpacity, .76);\r\n      if (kind === \"future\") finalOpacity = Math.min(finalOpacity, .48);\r\n      var value = new T.MeshStandardMaterial({\r\n        color: color,\r\n        roughness: options.roughness === undefined ? .55 : options.roughness,\r\n        metalness: options.metalness === undefined ? .08 : options.metalness,\r\n        emissive: options.emissive === undefined ? (kind === \"current\" ? 0x000000 : color) : options.emissive,\r\n        emissiveIntensity: options.emissiveIntensity === undefined ? (kind === \"current\" ? 0 : .16) : options.emissiveIntensity,\r\n        transparent: true,\r\n        opacity: finalOpacity,\r\n        wireframe: kind === \"future\" || options.wireframe === true,\r\n        depthWrite: kind === \"current\" ? finalOpacity > .98 : false\r\n      });\r\n      value.userData.baseOpacity = finalOpacity;\r\n      value.userData.baseDepthWrite = value.depthWrite;\r\n      return value;\r\n    }\r\n\r\n    function addBox(group, size, position, objectMaterial, rotation) {\r\n      var mesh = new T.Mesh(new T.BoxGeometry(size[0], size[1], size[2]), objectMaterial);\r\n      mesh.position.set(position[0], position[1], position[2]);\r\n      if (rotation) mesh.rotation.set(rotation[0], rotation[1], rotation[2]);\r\n      group.add(mesh);\r\n      return mesh;\r\n    }\r\n\r\n    function addCylinder(group, radius, length, position, objectMaterial, rotation) {\r\n      var mesh = new T.Mesh(new T.CylinderGeometry(radius, radius, length, segments), objectMaterial);\r\n      mesh.position.set(position[0], position[1], position[2]);\r\n      if (rotation) mesh.rotation.set(rotation[0], rotation[1], rotation[2]);\r\n      group.add(mesh);\r\n      return mesh;\r\n    }\r\n\r\n    var floor = new T.Mesh(\r\n      new T.CircleGeometry(13, lowQuality ? 40 : 72),\r\n      new T.MeshStandardMaterial({ color: navy, roughness: .96, metalness: .02 })\r\n    );\r\n    floor.rotation.x = -Math.PI \/ 2;\r\n    floor.position.y = -.05;\r\n    root3D.add(floor);\r\n\r\n    var grid = new T.GridHelper(23, 23, 0x563a9a, 0x2c1b68);\r\n    grid.position.y = .01;\r\n    grid.material.transparent = true;\r\n    grid.material.opacity = .2;\r\n    root3D.add(grid);\r\n\r\n    var route = new T.CatmullRomCurve3([\r\n      new T.Vector3(-8.4, .13, 1.8),\r\n      new T.Vector3(-6.2, .13, .1),\r\n      new T.Vector3(-2.8, .13, 0),\r\n      new T.Vector3(.3, .13, 1.35),\r\n      new T.Vector3(2.7, .13, .5),\r\n      new T.Vector3(5.2, .13, -2),\r\n      new T.Vector3(8.5, .13, -.65)\r\n    ]);\r\n    var routeBase = new T.Mesh(\r\n      new T.TubeGeometry(route, lowQuality ? 64 : 100, .065, 6, false),\r\n      new T.MeshBasicMaterial({ color: 0x958bb6, transparent: true, opacity: .24 })\r\n    );\r\n    var routeGlowMaterial = new T.MeshBasicMaterial({ color: orange, transparent: true, opacity: .92 });\r\n    var routeGlow = new T.Mesh(\r\n      new T.TubeGeometry(route, lowQuality ? 64 : 100, .025, 6, false),\r\n      routeGlowMaterial\r\n    );\r\n    root3D.add(routeBase, routeGlow);\r\n    var flowOrb = new T.Mesh(\r\n      new T.SphereGeometry(.18, segments, segments),\r\n      new T.MeshBasicMaterial({ color: orange })\r\n    );\r\n    root3D.add(flowOrb);\r\n\r\n    var current = groups.current;\r\n    var currentWhite = material(\"current\", white);\r\n    var currentNavy = material(\"current\", 0x29156c);\r\n    var currentOrange = material(\"current\", orange);\r\n    var currentDark = material(\"current\", 0x11131d, 1, { roughness: .82 });\r\n    var currentGlass = material(\"current\", 0x8bdcff, .62, { roughness: .12, metalness: .2 });\r\n    var steel = material(\"current\", 0x958cad, 1, { metalness: .35 });\r\n\r\n    addBox(current, [2.3, 1.65, 1.8], [-7.55, .82, 1.8], currentNavy);\r\n    addBox(current, [1.35, .24, .82], [-7.55, 1.08, .88], currentOrange);\r\n    addBox(current, [.78, .88, .08], [-7.55, .53, .88], currentGlass);\r\n    for (var pickupCrate = 0; pickupCrate < 4; pickupCrate += 1) {\r\n      addBox(current, [.42, .38, .5], [-8.3 + pickupCrate * .48, .2, .3], currentOrange);\r\n    }\r\n\r\n    var warehouse = new T.Group();\r\n    warehouse.position.set(-2.7, 0, 0);\r\n    current.add(warehouse);\r\n    addBox(warehouse, [4.7, .14, 3.7], [0, .07, 0], currentNavy);\r\n    addBox(warehouse, [4.7, 2.75, .16], [0, 1.38, -1.77], currentWhite);\r\n    addBox(warehouse, [.16, 2.75, 3.7], [-2.27, 1.38, 0], currentWhite);\r\n    addBox(warehouse, [.16, 2.75, 3.7], [2.27, 1.38, 0], currentWhite);\r\n    addBox(warehouse, [4.78, .16, 3.78], [0, 2.78, 0], currentOrange);\r\n\r\n    [-1.35, 0, 1.35].forEach(function (rackX) {\r\n      [.48, 1.08, 1.68].forEach(function (shelfY) {\r\n        addBox(warehouse, [.92, .07, 2.15], [rackX, shelfY, -.08], steel);\r\n      });\r\n      [-1.03, .88].forEach(function (rackZ) {\r\n        addBox(warehouse, [.07, 2.04, .07], [rackX - .41, 1.02, rackZ], steel);\r\n        addBox(warehouse, [.07, 2.04, .07], [rackX + .41, 1.02, rackZ], steel);\r\n      });\r\n    });\r\n\r\n    var crateGeometry = new T.BoxGeometry(.35, .25, .43);\r\n    var crateMaterial = material(\"current\", orange);\r\n    var crates = new T.InstancedMesh(crateGeometry, crateMaterial, 18);\r\n    var dummy = new T.Object3D();\r\n    var crateIndex = 0;\r\n    [-1.35, 0, 1.35].forEach(function (x) {\r\n      [.64, 1.24, 1.84].forEach(function (y) {\r\n        [-.59, .39].forEach(function (z) {\r\n          dummy.position.set(x, y, z);\r\n          dummy.updateMatrix();\r\n          crates.setMatrixAt(crateIndex, dummy.matrix);\r\n          crateIndex += 1;\r\n        });\r\n      });\r\n    });\r\n    warehouse.add(crates);\r\n\r\n    var truck = new T.Group();\r\n    truck.position.set(.65, 0, 1.42);\r\n    current.add(truck);\r\n    addBox(truck, [2.35, 1.38, 1.4], [-.48, 1.04, 0], currentWhite);\r\n    addBox(truck, [1.08, 1.16, 1.33], [1.24, .92, 0], currentOrange);\r\n    addBox(truck, [.58, .44, 1.35], [1.52, 1.15, 0], currentGlass);\r\n    addBox(truck, [.94, .11, 1.43], [-.1, 1.08, 0], currentOrange);\r\n    [-.92, 1.17].forEach(function (wheelX) {\r\n      [-.75, .75].forEach(function (wheelZ) {\r\n        addCylinder(truck, .31, .2, [wheelX, .34, wheelZ], currentDark, [Math.PI \/ 2, 0, 0]);\r\n      });\r\n    });\r\n\r\n    var shop = new T.Group();\r\n    shop.position.set(6.2, 0, -1.95);\r\n    current.add(shop);\r\n    addBox(shop, [2.4, 2.25, 2], [0, 1.13, 0], currentNavy);\r\n    addBox(shop, [1.3, .22, .82], [0, 1.34, 1.02], currentOrange);\r\n    addBox(shop, [.82, 1.28, .08], [0, .66, 1.02], currentGlass);\r\n\r\n    var home = new T.Group();\r\n    home.position.set(8.55, 0, -.35);\r\n    current.add(home);\r\n    addBox(home, [1.75, 1.65, 1.55], [0, .83, 0], currentWhite);\r\n    var roof = addBox(home, [1.95, .24, 1.75], [0, 1.8, 0], currentNavy, [0, 0, Math.PI \/ 10]);\r\n    roof.rotation.z = Math.PI \/ 10;\r\n    addBox(home, [.42, .86, .08], [0, .44, .79], currentOrange);\r\n\r\n    var development = groups.development;\r\n    var devShell = material(\"development\", cyan, .7, { roughness: .16, metalness: .28 });\r\n    var devOrange = material(\"development\", orange, .76);\r\n    var devWhite = material(\"development\", white, .58);\r\n    var moduleGroup = new T.Group();\r\n    moduleGroup.position.set(2.35, 0, .35);\r\n    development.add(moduleGroup);\r\n    addBox(moduleGroup, [3.35, 1.78, 2.25], [0, 1.22, 0], devShell);\r\n    [-1, 0, 1].forEach(function (partitionX) {\r\n      addBox(moduleGroup, [.055, 1.58, 2.04], [partitionX, 1.22, 0], devWhite);\r\n    });\r\n    var sensorPositions = [\r\n      [-1.3, 1.72, .85],\r\n      [-.38, .72, -.85],\r\n      [.58, 1.68, -.85],\r\n      [1.3, .82, .85]\r\n    ];\r\n    sensorPositions.forEach(function (position) {\r\n      var sensor = new T.Mesh(new T.SphereGeometry(.13, segments, segments), devOrange);\r\n      sensor.position.set(position[0], position[1], position[2]);\r\n      moduleGroup.add(sensor);\r\n    });\r\n    var dataCore = new T.Mesh(new T.OctahedronGeometry(.5, lowQuality ? 0 : 1), devOrange);\r\n    dataCore.position.set(0, 3.2, 0);\r\n    moduleGroup.add(dataCore);\r\n    sensorPositions.forEach(function (position) {\r\n      moduleGroup.add(new T.Line(\r\n        new T.BufferGeometry().setFromPoints([\r\n          new T.Vector3(position[0], position[1], position[2]),\r\n          dataCore.position.clone()\r\n        ]),\r\n        new T.LineBasicMaterial({ color: orange, transparent: true, opacity: .58 })\r\n      ));\r\n    });\r\n    var scanRing = new T.Mesh(\r\n      new T.TorusGeometry(1.55, .035, 8, lowQuality ? 36 : 64),\r\n      new T.MeshBasicMaterial({ color: violet, transparent: true, opacity: .68 })\r\n    );\r\n    scanRing.rotation.x = Math.PI \/ 2;\r\n    scanRing.position.y = 2.35;\r\n    moduleGroup.add(scanRing);\r\n\r\n    var future = groups.future;\r\n    var futureOrange = material(\"future\", orange, .46);\r\n    var futureViolet = material(\"future\", violet, .44);\r\n    var futureWhite = material(\"future\", white, .34);\r\n    var terminal = new T.Group();\r\n    terminal.position.set(5.1, 0, -2.35);\r\n    future.add(terminal);\r\n    addBox(terminal, [4.7, 2.75, 3.05], [0, 1.38, 0], futureWhite);\r\n    addBox(terminal, [3.8, .2, .86], [0, .66, 0], futureOrange);\r\n    for (var rollerX = -1.5; rollerX <= 1.5; rollerX += .5) {\r\n      addCylinder(terminal, .11, .8, [rollerX, .74, 0], futureViolet, [Math.PI \/ 2, 0, 0]);\r\n    }\r\n\r\n    var lockerTrailer = new T.Group();\r\n    lockerTrailer.position.set(7.65, 0, -.02);\r\n    future.add(lockerTrailer);\r\n    addBox(lockerTrailer, [3.15, .15, 1.05], [1.03, .22, 0], futureViolet);\r\n    var lockerGeometry = new T.BoxGeometry(.62, .55, .56);\r\n    var lockers = new T.InstancedMesh(lockerGeometry, futureOrange, 12);\r\n    var lockerIndex = 0;\r\n    for (var column = 0; column < 4; column += 1) {\r\n      for (var row = 0; row < 3; row += 1) {\r\n        dummy.position.set(column * .68, .58 + row * .61, 0);\r\n        dummy.updateMatrix();\r\n        lockers.setMatrixAt(lockerIndex, dummy.matrix);\r\n        lockerIndex += 1;\r\n      }\r\n    }\r\n    lockerTrailer.add(lockers);\r\n    [0, 2.1].forEach(function (trailerWheel) {\r\n      addCylinder(lockerTrailer, .28, .17, [trailerWheel, .18, .58], futureViolet, [Math.PI \/ 2, 0, 0]);\r\n      addCylinder(lockerTrailer, .28, .17, [trailerWheel, .18, -.58], futureViolet, [Math.PI \/ 2, 0, 0]);\r\n    });\r\n\r\n    var drone = new T.Group();\r\n    drone.position.set(6.25, 4.05, -2.05);\r\n    future.add(drone);\r\n    addBox(drone, [.76, .23, .52], [0, 0, 0], futureViolet);\r\n    [\r\n      [.64, .56, Math.PI \/ 4],\r\n      [-.64, .56, -Math.PI \/ 4],\r\n      [.64, -.56, -Math.PI \/ 4],\r\n      [-.64, -.56, Math.PI \/ 4]\r\n    ].forEach(function (arm) {\r\n      addBox(drone, [1.0, .08, .08], [arm[0] * .55, 0, arm[1] * .55], futureOrange, [0, arm[2], 0]);\r\n      addCylinder(drone, .38, .035, [arm[0], .08, arm[1]], futureWhite);\r\n    });\r\n    addBox(drone, [.46, .5, .46], [0, -.45, 0], futureOrange);\r\n\r\n    var network = groups.network;\r\n    var networkMaterial = material(\"development\", orange, .66);\r\n    var networkPoints = [\r\n      new T.Vector3(-7.55, .35, 1.8),\r\n      new T.Vector3(-2.7, .35, 0),\r\n      new T.Vector3(.65, .35, 1.42),\r\n      new T.Vector3(2.35, .35, .35),\r\n      new T.Vector3(5.1, .35, -2.35),\r\n      new T.Vector3(7.65, .35, -.02),\r\n      new T.Vector3(8.55, .35, -.35)\r\n    ];\r\n    networkPoints.forEach(function (point) {\r\n      var node = new T.Mesh(new T.IcosahedronGeometry(.23, lowQuality ? 0 : 1), networkMaterial);\r\n      node.position.copy(point);\r\n      network.add(node);\r\n    });\r\n    var networkSegments = [];\r\n    for (var networkIndex = 0; networkIndex < networkPoints.length - 1; networkIndex += 1) {\r\n      networkSegments.push(networkPoints[networkIndex], networkPoints[networkIndex + 1]);\r\n    }\r\n    network.add(new T.LineSegments(\r\n      new T.BufferGeometry().setFromPoints(networkSegments),\r\n      new T.LineBasicMaterial({ color: orange, transparent: true, opacity: .64 })\r\n    ));\r\n    var networkRing = new T.Mesh(\r\n      new T.TorusGeometry(8.8, .025, 6, lowQuality ? 64 : 120),\r\n      new T.MeshBasicMaterial({ color: violet, transparent: true, opacity: .46 })\r\n    );\r\n    networkRing.rotation.x = Math.PI \/ 2;\r\n    networkRing.position.y = .32;\r\n    network.add(networkRing);\r\n\r\n    var groupMaterials = {};\r\n    Object.keys(groups).forEach(function (name) {\r\n      var found = new Set();\r\n      groups[name].traverse(function (object) {\r\n        var list = Array.isArray(object.material) ? object.material : object.material ? [object.material] : [];\r\n        list.forEach(function (value) {\r\n          if (value.userData.baseOpacity === undefined) {\r\n            value.userData.baseOpacity = value.opacity === undefined ? 1 : value.opacity;\r\n            value.userData.baseDepthWrite = value.depthWrite;\r\n          }\r\n          found.add(value);\r\n        });\r\n      });\r\n      groupMaterials[name] = Array.from(found);\r\n    });\r\n\r\n    function setGroupFactor(name, factor) {\r\n      groups[name].visible = factor > .008;\r\n      groupMaterials[name].forEach(function (value) {\r\n        var nextDepthWrite = Boolean(value.userData.baseDepthWrite ? factor > .98 : false);\r\n        value.opacity = value.userData.baseOpacity * factor;\r\n        value.transparent = true;\r\n        if (value.depthWrite !== nextDepthWrite) {\r\n          value.depthWrite = nextDepthWrite;\r\n          value.needsUpdate = true;\r\n        }\r\n      });\r\n    }\r\n\r\n    function setFactors(factors) {\r\n      Object.keys(factors).forEach(function (name) { setGroupFactor(name, factors[name]); });\r\n    }\r\n\r\n    function setFlow(progress) {\r\n      flowOrb.position.copy(route.getPointAt(Math.max(0, Math.min(1, progress))));\r\n    }\r\n\r\n    function resetMotion() {\r\n      flowOrb.scale.setScalar(1);\r\n      routeGlowMaterial.opacity = .92;\r\n      moduleGroup.position.y = 0;\r\n      dataCore.rotation.set(0, 0, 0);\r\n      scanRing.scale.setScalar(1);\r\n      drone.position.y = 4.05;\r\n      network.rotation.y = 0;\r\n    }\r\n\r\n    function animateTransition(progress, sceneIndex) {\r\n      var pulse = Math.sin(progress * Math.PI);\r\n      flowOrb.scale.setScalar(1 + pulse * .5);\r\n      routeGlowMaterial.opacity = .62 + pulse * .34;\r\n      if (sceneIndex === 2) {\r\n        dataCore.rotation.y = progress * Math.PI * 1.6;\r\n        moduleGroup.position.y = pulse * .18;\r\n        scanRing.scale.setScalar(.8 + progress * .35);\r\n      }\r\n      if (sceneIndex === 3) drone.position.y = 4.05 + pulse * .82;\r\n      if (sceneIndex === 4) network.rotation.y = pulse * .085;\r\n    }\r\n\r\n    setFactors(sceneFactors[0]);\r\n    setFlow(cameraPoses[0].flow);\r\n\r\n    return {\r\n      root: root3D,\r\n      setFactors: setFactors,\r\n      setFlow: setFlow,\r\n      resetMotion: resetMotion,\r\n      animateTransition: animateTransition\r\n    };\r\n  }\r\n\r\n  if (previous) {\r\n    previous.addEventListener(\"click\", function () {\r\n      setScene(state.current - 1, { source: \"control\", scroll: desktopStory.matches });\r\n    }, { signal: abort.signal });\r\n  }\r\n\r\n  if (next) {\r\n    next.addEventListener(\"click\", function () {\r\n      setScene(state.current + 1, { source: \"control\", scroll: desktopStory.matches });\r\n    }, { signal: abort.signal });\r\n  }\r\n\r\n  steps.forEach(function (button, index) {\r\n    button.addEventListener(\"click\", function () {\r\n      setScene(index, { source: \"control\", scroll: desktopStory.matches });\r\n    }, { signal: abort.signal });\r\n\r\n    button.addEventListener(\"keydown\", function (event) {\r\n      var destination = null;\r\n      if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") destination = Math.min(4, index + 1);\r\n      if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") destination = Math.max(0, index - 1);\r\n      if (event.key === \"Home\") destination = 0;\r\n      if (event.key === \"End\") destination = 4;\r\n      if (destination === null) return;\r\n      event.preventDefault();\r\n      steps[destination].focus();\r\n      setScene(destination, { source: \"keyboard\", scroll: desktopStory.matches });\r\n    }, { signal: abort.signal });\r\n  });\r\n\r\n  if (motion) {\r\n    motion.addEventListener(\"click\", function () {\r\n      if (reducedMotion.matches) {\r\n        if (live) live.textContent = \"Liike on v\u00e4hennetty laitteen saavutettavuusasetuksen mukaan.\";\r\n        return;\r\n      }\r\n      state.userPaused = !state.userPaused;\r\n      if (!motionAllowed()) {\r\n        if (state.ready) {\r\n          state.transition = null;\r\n          applyPose(state.current);\r\n        }\r\n      }\r\n      updateMotionButton();\r\n      requestRender();\r\n      if (live) live.textContent = motionAllowed() ? \"3D-liike k\u00e4yt\u00f6ss\u00e4.\" : \"3D-liike pys\u00e4ytetty.\";\r\n    }, { signal: abort.signal });\r\n  }\r\n\r\n  var pointerStart = null;\r\n  viewport.addEventListener(\"pointerdown\", function (event) {\r\n    if (event.pointerType !== \"touch\") return;\r\n    pointerStart = { x: event.clientX, y: event.clientY };\r\n  }, { signal: abort.signal, passive: true });\r\n\r\n  viewport.addEventListener(\"pointerup\", function (event) {\r\n    if (!pointerStart || event.pointerType !== \"touch\") return;\r\n    var deltaX = event.clientX - pointerStart.x;\r\n    var deltaY = event.clientY - pointerStart.y;\r\n    pointerStart = null;\r\n    if (Math.abs(deltaX) < 52 || Math.abs(deltaX) < Math.abs(deltaY) * 1.2) return;\r\n    setScene(state.current + (deltaX < 0 ? 1 : -1), { source: \"swipe\" });\r\n  }, { signal: abort.signal, passive: true });\r\n\r\n  viewport.addEventListener(\"pointercancel\", function () { pointerStart = null; }, { signal: abort.signal });\r\n\r\n  canvas.addEventListener(\"webglcontextlost\", function (event) {\r\n    event.preventDefault();\r\n    state.contextLost = true;\r\n    cancelAnimationFrame(state.raf);\r\n    state.raf = 0;\r\n    showFallback(\"context-lost\");\r\n  }, { signal: abort.signal });\r\n\r\n  canvas.addEventListener(\"webglcontextrestored\", function () {\r\n    state.contextLost = false;\r\n    state.firstFrame = false;\r\n    stage.classList.remove(\"is-webgl-fallback\");\r\n    stage.classList.add(\"is-webgl-pending\");\r\n    resize();\r\n    applyPose(state.current);\r\n    requestRender();\r\n  }, { signal: abort.signal });\r\n\r\n  window.addEventListener(\"scroll\", scheduleScrollSelection, { passive: true, signal: abort.signal });\r\n  window.addEventListener(\"resize\", function () {\r\n    state.lastSize = \"\";\r\n    resize();\r\n    scheduleScrollSelection();\r\n  }, { passive: true, signal: abort.signal });\r\n\r\n  document.addEventListener(\"visibilitychange\", function () {\r\n    if (!document.hidden) requestRender();\r\n  }, { signal: abort.signal });\r\n\r\n  reducedMotion.addEventListener(\"change\", function () {\r\n    updateMotionButton();\r\n    if (reducedMotion.matches) {\r\n      state.transition = null;\r\n      if (state.ready) {\r\n        applyPose(state.current);\r\n        requestRender();\r\n      } else {\r\n        showFallback(\"reduced-motion\");\r\n      }\r\n    } else if (!state.ready) {\r\n      stage.classList.remove(\"is-webgl-fallback\");\r\n      stage.classList.add(\"is-webgl-pending\");\r\n      boot3D();\r\n    }\r\n  }, { signal: abort.signal });\r\n\r\n  desktopStory.addEventListener(\"change\", function () {\r\n    state.manualLockUntil = 0;\r\n    scheduleScrollSelection();\r\n  }, { signal: abort.signal });\r\n\r\n  window.addEventListener(\"pagehide\", function (event) {\r\n    if (!event.persisted) destroy();\r\n  }, { signal: abort.signal });\r\n\r\n  if (\"IntersectionObserver\" in window) {\r\n    lazyObserver = new IntersectionObserver(function (entries) {\r\n      if (entries.some(function (entry) { return entry.isIntersecting; })) {\r\n        boot3D();\r\n        lazyObserver.disconnect();\r\n      }\r\n    }, { rootMargin: \"700px 0px\", threshold: 0 });\r\n\r\n    visibleObserver = new IntersectionObserver(function (entries) {\r\n      state.inViewport = entries.some(function (entry) { return entry.isIntersecting; });\r\n      if (state.inViewport) requestRender();\r\n    }, { rootMargin: \"120px 0px\", threshold: .01 });\r\n\r\n    lazyObserver.observe(section);\r\n    visibleObserver.observe(stage);\r\n  } else {\r\n    state.inViewport = true;\r\n    boot3D();\r\n  }\r\n\r\n  detachObserver = new MutationObserver(function () {\r\n    if (!stage.isConnected) destroy();\r\n  });\r\n  detachObserver.observe(document.body, { childList: true, subtree: true });\r\n\r\n  updateUI(0, false);\r\n  updateMotionButton();\r\n  scheduleScrollSelection();\r\n}());\r\n<\/script>\r\n<\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Siirry sis\u00e4lt\u00f6\u00f6n Etusivu Palvelut Mico System Yritys &amp; tiimi Ota yhteytt\u00e4 \u2192 Ota yhteytt\u00e4 \u2192 Logistiikkapalvelut Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4 Kuljetus, ker\u00e4ily ja varastointi \u2014 yhten\u00e4 hallittuna palveluna. Mico Finland hoitaa ruoan ja muiden tuotteiden kuljetukset, kotiintoimitukset, ker\u00e4ilyn ja varastoinnin asiakkaan tarpeeseen sopivana kokonaisuutena. Palvelemme Helsinki\u2013Turku-vy\u00f6hykkeell\u00e4 l\u00e4mp\u00f6tilahallitulla kalustolla. Keskustele logistiikkatarpeestasi \u2192 Katso, miten Mico toimii \u2193 Yksi hallittu [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-1064","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/pages\/1064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/comments?post=1064"}],"version-history":[{"count":24,"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/pages\/1064\/revisions"}],"predecessor-version":[{"id":1143,"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/pages\/1064\/revisions\/1143"}],"wp:attachment":[{"href":"https:\/\/www.micofoy.fi\/index.php\/wp-json\/wp\/v2\/media?parent=1064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}