{"id":1688,"date":"2026-10-12T05:20:58","date_gmt":"2026-10-12T05:20:58","guid":{"rendered":"https:\/\/web.annulartechnologies.com\/staging\/cloud-migration-enterprise-modernization\/"},"modified":"2026-10-20T12:30:52","modified_gmt":"2026-10-20T12:30:52","slug":"cloud-migration-enterprise-modernization","status":"publish","type":"page","link":"https:\/\/web.annulartechnologies.com\/staging\/cloud-migration-enterprise-modernization\/","title":{"rendered":"Cloud Migration &#038; Enterprise Modernization"},"content":{"rendered":"<p><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- =====================================================\n ANNULAR TECHNOLOGIES\n CLOUD MIGRATION & ENTERPRISE MODERNIZATION\n AVADA CODE BLOCK\n====================================================== -->\n\n<style>\n\/* =====================================================\n   FONT AND SECTION VARIABLES\n===================================================== *\/\n\n.cm-section-wrap,\n.cm-section-wrap * {\n  box-sizing: border-box;\n}\n\n.cm-section-wrap {\n  --cm-blue: #0284c7;\n  --cm-blue-hover: #0369a1;\n  --cm-blue-light: #eff6ff;\n  --cm-navy: #0f172a;\n  --cm-dark: #1e293b;\n  --cm-muted: #475569;\n  --cm-slate: #64748b;\n  --cm-border: #e2e8f0;\n  --cm-bg-soft: #f8fafc;\n\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  color: var(--cm-navy);\n  font-family: \"Plus Jakarta Sans\", Inter, system-ui,\n    -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  line-height: 1.6;\n}\n\n.cm-section-wrap img,\n.cm-section-wrap svg {\n  max-width: 100%;\n}\n\n\/* =====================================================\n   CONTAINER\n===================================================== *\/\n\n.cm-section-wrap .cm-container {\n  width: min(1240px, calc(100% - 48px));\n  margin-inline: auto;\n}\n\n\/* =====================================================\n   EYEBROW\n===================================================== *\/\n\n.cm-section-wrap .cm-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin: 0 0 18px;\n  padding: 7px 14px;\n\n  color: var(--cm-blue);\n  background: var(--cm-blue-light);\n  border: 1px solid #bfdbfe;\n  border-radius: 999px;\n\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 0.12em;\n  line-height: 1.5;\n  text-transform: uppercase;\n}\n\n.cm-section-wrap .cm-eyebrow-dot {\n  width: 7px;\n  height: 7px;\n  flex: 0 0 7px;\n  border-radius: 50%;\n  background: var(--cm-blue);\n  box-shadow: 0 0 0 3px rgba(8, 120, 209, 0.15);\n}\n\n\/* =====================================================\n   HERO SECTION\n===================================================== *\/\n\n.cm-section-wrap .cm-hero-section {\n  padding: clamp(42px, 6vw, 76px) 0;\n  background:\n    radial-gradient(\n      ellipse at 85% 20%,\n      rgba(8, 120, 209, 0.11),\n      transparent 45%\n    ),\n    linear-gradient(180deg, #f5faff 0%, #ffffff 100%);\n  border-bottom: 1px solid var(--cm-border);\n}\n\n.cm-section-wrap .cm-hero-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);\n  align-items: center;\n  gap: clamp(30px, 4vw, 52px);\n}\n\n.cm-section-wrap .cm-hero-content,\n.cm-section-wrap .cm-hero-visual {\n  min-width: 0;\n  width: 100%;\n}\n\n\/* =====================================================\n   HERO HEADING\n===================================================== *\/\n\n.cm-section-wrap .cm-hero-content h1 {\n  max-width: 680px;\n  margin: 0 0 20px;\n  color: var(--cm-navy);\n  font-size: clamp(34px, 4.2vw, 52px);\n  font-weight: 800;\n  line-height: 1.15;\n  letter-spacing: -0.035em;\n  overflow-wrap: break-word;\n}\n\n.cm-section-wrap .cm-blue-text {\n  color: var(--cm-blue) !important;\n}\n\n.cm-section-wrap .cm-hero-desc {\n  max-width: 580px;\n  margin: 0 0 28px;\n  color: var(--cm-muted);\n  font-size: 16px;\n  line-height: 1.8;\n}\n\n\/* =====================================================\n   CALL TO ACTION BUTTONS\n===================================================== *\/\n\n.cm-section-wrap .cm-hero-ctas {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 12px;\n  margin: 0 0 28px;\n}\n\n.cm-section-wrap .cm-btn-primary,\n.cm-section-wrap .cm-btn-secondary {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n\n  min-height: 48px;\n  padding: 13px 21px;\n\n  border-radius: 10px;\n  font-family: inherit;\n  font-size: 13px;\n  font-weight: 700;\n  line-height: 1.4;\n  text-align: center;\n  text-decoration: none !important;\n\n  transition:\n    background-color 0.2s ease,\n    color 0.2s ease,\n    border-color 0.2s ease,\n    box-shadow 0.2s ease,\n    transform 0.2s ease;\n}\n\n.cm-section-wrap .cm-btn-primary {\n  color: #ffffff !important;\n  background: var(--cm-blue) !important;\n  border: 1px solid var(--cm-blue) !important;\n  box-shadow: 0 6px 18px rgba(8, 120, 209, 0.2);\n}\n\n.cm-section-wrap .cm-btn-primary:hover {\n  color: #ffffff !important;\n  background: var(--cm-blue-hover) !important;\n  border-color: var(--cm-blue-hover) !important;\n  box-shadow: 0 10px 24px rgba(8, 120, 209, 0.25);\n  transform: translateY(-2px);\n}\n\n.cm-section-wrap .cm-btn-primary svg {\n  width: 17px;\n  height: 17px;\n  flex: 0 0 17px;\n}\n\n.cm-section-wrap .cm-btn-secondary {\n  color: var(--cm-navy) !important;\n  background: #ffffff !important;\n  border: 1px solid #cbd5e1 !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover {\n  color: var(--cm-blue) !important;\n  border-color: var(--cm-blue) !important;\n  background: #f8fbff !important;\n  transform: translateY(-2px);\n}\n\n.cm-section-wrap .cm-btn-primary:focus-visible,\n.cm-section-wrap .cm-btn-secondary:focus-visible {\n  outline: 3px solid rgba(8, 120, 209, 0.3);\n  outline-offset: 3px;\n}\n\n\/* =====================================================\n   TRUST INDICATORS\n===================================================== *\/\n\n.cm-section-wrap .cm-hero-trust {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px 18px;\n  padding-top: 18px;\n  border-top: 1px solid var(--cm-border);\n}\n\n.cm-section-wrap .cm-trust-item {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  color: #334155;\n  font-size: 12px;\n  font-weight: 650;\n  line-height: 1.5;\n}\n\n.cm-section-wrap .cm-trust-check {\n  display: grid;\n  place-items: center;\n  width: 20px;\n  height: 20px;\n  flex: 0 0 20px;\n  border-radius: 50%;\n  background: #e0f2fe;\n  color: var(--cm-blue);\n  font-size: 11px;\n  font-weight: 800;\n}\n\n\/* =====================================================\n   HERO IMAGE\n===================================================== *\/\n\n.cm-section-wrap .cm-hero-visual {\n  position: relative;\n}\n\n.cm-section-wrap .cm-hero-frame {\n  position: relative;\n  width: 100%;\n  aspect-ratio: 8 \/ 7;\n  overflow: hidden;\n  border: 1px solid #dce7f2;\n  border-radius: 22px;\n  background: #eaf4ff;\n  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);\n  isolation: isolate;\n}\n\n.cm-section-wrap .cm-hero-frame img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  max-width: none;\n  margin: 0;\n  padding: 0;\n  object-fit: cover;\n  object-position: center;\n}\n\n\/* Image badge *\/\n\n.cm-section-wrap .cm-hero-badge {\n  position: absolute;\n  z-index: 2;\n  left: 18px;\n  right: 18px;\n  bottom: 18px;\n\n  padding: 14px 17px;\n  border: 1px solid #dbeafe;\n  border-radius: 14px;\n  background: rgba(255, 255, 255, 0.96);\n  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);\n  -webkit-backdrop-filter: blur(8px);\n  backdrop-filter: blur(8px);\n}\n\n.cm-section-wrap .cm-hero-badge strong {\n  display: block;\n  margin: 0 0 3px;\n  color: var(--cm-navy);\n  font-size: 13px;\n  font-weight: 800;\n  line-height: 1.5;\n}\n\n.cm-section-wrap .cm-hero-badge span {\n  display: block;\n  color: var(--cm-slate);\n  font-size: 11px;\n  font-weight: 500;\n  line-height: 1.6;\n}\n\n\/* =====================================================\n   TABLET\n===================================================== *\/\n\n@media (max-width: 992px) {\n  .cm-section-wrap .cm-hero-grid {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 32px;\n  }\n\n  .cm-section-wrap .cm-hero-content h1 {\n    max-width: 760px;\n    font-size: clamp(34px, 5vw, 46px);\n  }\n\n  .cm-section-wrap .cm-hero-desc {\n    max-width: 760px;\n  }\n\n  .cm-section-wrap .cm-hero-visual {\n    max-width: 760px;\n  }\n\n  .cm-section-wrap .cm-hero-frame {\n    aspect-ratio: 16 \/ 9;\n  }\n}\n\n\/* =====================================================\n   MOBILE\n===================================================== *\/\n\n@media (max-width: 600px) {\n  .cm-section-wrap .cm-container {\n    width: calc(100% - 32px);\n  }\n\n  .cm-section-wrap .cm-hero-section {\n    padding: 38px 0 48px;\n  }\n\n  .cm-section-wrap .cm-hero-grid {\n    gap: 28px;\n  }\n\n  .cm-section-wrap .cm-eyebrow {\n    margin-bottom: 15px;\n    font-size: 10px;\n    letter-spacing: 0.09em;\n  }\n\n  .cm-section-wrap .cm-hero-content h1 {\n    font-size: clamp(30px, 8vw, 38px);\n    line-height: 1.18;\n    letter-spacing: -0.03em;\n    margin-bottom: 16px;\n  }\n\n  .cm-section-wrap .cm-hero-desc {\n    font-size: 14px;\n    line-height: 1.8;\n    margin-bottom: 22px;\n  }\n\n  .cm-section-wrap .cm-hero-ctas {\n    flex-direction: column;\n    align-items: stretch;\n    gap: 10px;\n    margin-bottom: 22px;\n  }\n\n  .cm-section-wrap .cm-btn-primary,\n  .cm-section-wrap .cm-btn-secondary {\n    width: 100%;\n    min-height: 48px;\n    padding: 13px 16px;\n    font-size: 13px;\n  }\n\n  .cm-section-wrap .cm-hero-trust {\n    gap: 11px 14px;\n    padding-top: 15px;\n  }\n\n  .cm-section-wrap .cm-trust-item {\n    font-size: 11px;\n  }\n\n  .cm-section-wrap .cm-hero-frame {\n    aspect-ratio: 4 \/ 3;\n    border-radius: 17px;\n  }\n\n  .cm-section-wrap .cm-hero-badge {\n    left: 10px;\n    right: 10px;\n    bottom: 10px;\n    padding: 11px 12px;\n    border-radius: 11px;\n  }\n\n  .cm-section-wrap .cm-hero-badge strong {\n    font-size: 12px;\n  }\n\n  .cm-section-wrap .cm-hero-badge span {\n    font-size: 10px;\n  }\n}\n\n\/* Small mobile *\/\n\n@media (max-width: 360px) {\n  .cm-section-wrap .cm-container {\n    width: calc(100% - 24px);\n  }\n\n  .cm-section-wrap .cm-hero-content h1 {\n    font-size: 29px;\n  }\n\n  .cm-section-wrap .cm-hero-frame {\n    aspect-ratio: 1 \/ 1;\n  }\n}\n\n\/* Accessibility *\/\n\n@media (prefers-reduced-motion: reduce) {\n  .cm-section-wrap *,\n  .cm-section-wrap *::before,\n  .cm-section-wrap *::after {\n    transition: none !important;\n    animation: none !important;\n    scroll-behavior: auto !important;\n  }\n\n  .cm-section-wrap .cm-btn-primary:hover,\n  .cm-section-wrap .cm-btn-secondary:hover {\n    transform: none;\n  }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n\n<div class=\"cm-section-wrap\">\n  <section class=\"cm-hero-section\" aria-labelledby=\"cm-hero-title\">\n    <div class=\"cm-container cm-hero-grid\">\n\n      <!-- LEFT: HERO CONTENT -->\n      <div class=\"cm-hero-content\">\n\n       \n        <h1 id=\"cm-hero-title\">\n          Move, Modernize and Optimize Your\n          <span class=\"cm-blue-text\">Enterprise Applications<\/span>\n        <\/h1>\n\n        <p class=\"cm-hero-desc\">\n          Migrate applications and infrastructure between on-premise\n          environments and AWS with a plan built around your systems,\n          dependencies and business requirements. Annular supports cloud\n          migration, reverse migration and application modernization for\n          Java, PHP and other enterprise applications.\n        <\/p>\n\n        <div class=\"cm-hero-ctas\">\n          <a href=\"#cm-contact-cta\" class=\"cm-btn-primary\">\n            Discuss Your Migration\n            <svg\n              viewBox=\"0 0 24 24\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              stroke-width=\"2.2\"\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              aria-hidden=\"true\"\n            >\n              <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n            <\/svg>\n          <\/a>\n\n          <a href=\"#cm-contact-cta\" class=\"cm-btn-secondary\">\n            Request a Migration Assessment\n          <\/a>\n        <\/div>\n\n        <div class=\"cm-hero-trust\">\n          <span class=\"cm-trust-item\">\n            <span class=\"cm-trust-check\" aria-hidden=\"true\">\u2713<\/span>\n            On-Premise \u21c4 AWS\n          <\/span>\n\n          <span class=\"cm-trust-item\">\n            <span class=\"cm-trust-check\" aria-hidden=\"true\">\u2713<\/span>\n            Java & PHP Applications\n          <\/span>\n\n          <span class=\"cm-trust-item\">\n            <span class=\"cm-trust-check\" aria-hidden=\"true\">\u2713<\/span>\n            Planned Migration\n          <\/span>\n        <\/div>\n\n      <\/div>\n\n      <!-- RIGHT: HERO IMAGE -->\n      <div class=\"cm-hero-visual\">\n        <div class=\"cm-hero-frame\">\n\n          <img\n            src=\"https:\/\/web.annulartechnologies.com\/staging\/wp-content\/uploads\/2026\/10\/cloud-migration-hero-bridge.jpg\"\n            alt=\"Cloud migration and enterprise infrastructure\"\n            width=\"1280\"\n            height=\"720\"\n            loading=\"eager\"\n            fetchpriority=\"high\"\n            decoding=\"async\"\n          \/>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n<\/div>\n<\/div><\/div><\/div><\/section><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><style>\n\/* =====================================================\n   ANNULAR TECHNOLOGIES\n   CLOUD MIGRATION \u2014 OVERVIEW SECTION\n===================================================== *\/\n\n.cm-overview-section,\n.cm-overview-section * {\n  box-sizing: border-box;\n}\n\n.cm-overview-section {\n  --cm-blue: #0284c7;\n  --cm-blue-hover: #0369a1;\n  --cm-navy: #0f172a;\n  --cm-muted: #475569;\n  --cm-slate: #64748b;\n  --cm-border: #e2e8f0;\n  --cm-bg-card: #ffffff;\n  --cm-bg-soft: #f8fafc;\n  --cm-radius-md: 16px;\n  --cm-shadow-md: 0 10px 25px rgba(8, 120, 209, 0.07);\n\n  width: 100%;\n  padding: clamp(54px, 7vw, 85px) 0 clamp(58px, 7vw, 90px);\n  background: #ffffff;\n  border-bottom: 1px solid var(--cm-border);\n  color: var(--cm-navy);\n  font-family: \"Plus Jakarta Sans\", Inter, system-ui,\n    -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n}\n\n\/* Container *\/\n\n.cm-overview-section .cm-container {\n  width: min(1240px, calc(100% - 48px));\n  margin-inline: auto;\n}\n\n\/* =====================================================\n   SECTION HEADING\n===================================================== *\/\n\n.cm-overview-section .cm-heading-center {\n  max-width: 800px;\n  margin: 0 auto 44px;\n  text-align: center;\n}\n\n.cm-overview-section .cm-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  margin: 0 0 18px;\n  padding: 7px 14px;\n\n  border: 1px solid #bfdbfe;\n  border-radius: 999px;\n  background: #eff6ff;\n  color: var(--cm-blue);\n\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 0.12em;\n  line-height: 1.5;\n  text-transform: uppercase;\n}\n\n.cm-overview-section .cm-eyebrow-dot {\n  width: 7px;\n  height: 7px;\n  flex: 0 0 7px;\n  border-radius: 50%;\n  background: var(--cm-blue);\n  box-shadow: 0 0 0 3px rgba(8, 120, 209, 0.15);\n}\n\n.cm-overview-section .cm-heading-center h2 {\n  margin: 0 0 16px;\n  color: var(--cm-navy);\n  font-size: clamp(30px, 3.5vw, 42px);\n  font-weight: 800;\n  line-height: 1.2;\n  letter-spacing: -0.03em;\n  overflow-wrap: break-word;\n}\n\n.cm-overview-section .cm-blue-text {\n  color: var(--cm-blue) !important;\n}\n\n.cm-overview-section .cm-heading-center p {\n  max-width: 760px;\n  margin: 0 auto;\n  color: var(--cm-muted);\n  font-size: 15px;\n  line-height: 1.8;\n}\n\n\/* =====================================================\n   THREE-STAGE GRID\n===================================================== *\/\n\n.cm-overview-section .cm-overview-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  align-items: stretch;\n  gap: 22px;\n}\n\n\/* =====================================================\n   STAGE CARDS\n===================================================== *\/\n\n.cm-overview-section .cm-stage-card {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  height: 100%;\n  padding: 28px 24px;\n\n  border: 1px solid var(--cm-border);\n  border-radius: var(--cm-radius-md);\n  background: var(--cm-bg-card);\n  box-shadow: 0 3px 12px rgba(15, 23, 42, 0.025);\n\n  transition:\n    transform 0.22s ease,\n    box-shadow 0.22s ease,\n    border-color 0.22s ease;\n}\n\n.cm-overview-section .cm-stage-card:hover {\n  transform: translateY(-4px);\n  border-color: #b8dcff;\n  box-shadow: var(--cm-shadow-md);\n}\n\n\/* Card top *\/\n\n.cm-overview-section .cm-stage-top {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  margin-bottom: 22px;\n}\n\n.cm-overview-section .cm-stage-num {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 44px;\n  height: 44px;\n  flex: 0 0 44px;\n\n  border: 1px solid #dbeafe;\n  border-radius: 12px;\n  background: #eef6ff;\n  color: var(--cm-blue);\n\n  font-size: 13px;\n  font-weight: 800;\n  line-height: 1;\n}\n\n.cm-overview-section .cm-stage-tag {\n  color: var(--cm-slate);\n  font-size: 10px;\n  font-weight: 800;\n  letter-spacing: 0.09em;\n  line-height: 1.5;\n  text-align: right;\n  text-transform: uppercase;\n}\n\n\/* Card heading *\/\n\n.cm-overview-section .cm-stage-card h3 {\n  margin: 0 0 12px;\n  color: var(--cm-navy);\n  font-size: 19px;\n  font-weight: 800;\n  line-height: 1.4;\n  overflow-wrap: break-word;\n}\n\n\/* Card description *\/\n\n.cm-overview-section .cm-stage-card p {\n  flex-grow: 1;\n  margin: 0 0 22px;\n  color: var(--cm-muted);\n  font-size: 13.5px;\n  line-height: 1.8;\n}\n\n\/* =====================================================\n   STAGE BULLET LIST\n===================================================== *\/\n\n.cm-overview-section .cm-stage-bullets {\n  display: grid;\n  gap: 10px;\n  list-style: none;\n  margin: auto 0 0;\n  padding: 17px 0 0;\n  border-top: 1px solid #f1f5f9;\n}\n\n.cm-overview-section .cm-stage-bullets li {\n  display: flex;\n  align-items: flex-start;\n  gap: 9px;\n  min-width: 0;\n\n  color: #334155;\n  font-size: 12.5px;\n  line-height: 1.65;\n}\n\n.cm-overview-section .cm-stage-bullets li svg {\n  display: block;\n  width: 15px;\n  height: 15px;\n  min-width: 15px;\n  flex: 0 0 15px;\n  margin-top: 3px;\n  color: var(--cm-blue);\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 2.5;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n\/* =====================================================\n   TABLET\n===================================================== *\/\n\n@media (max-width: 1000px) {\n  .cm-overview-section .cm-container {\n    width: calc(100% - 40px);\n  }\n\n  .cm-overview-section .cm-overview-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 18px;\n  }\n\n  .cm-overview-section .cm-stage-card {\n    padding: 24px 22px;\n  }\n\n  .cm-overview-section .cm-heading-center {\n    margin-bottom: 36px;\n  }\n}\n\n\/* =====================================================\n   MOBILE\n===================================================== *\/\n\n@media (max-width: 600px) {\n  .cm-overview-section {\n    padding: 48px 0 54px;\n  }\n\n  .cm-overview-section .cm-container {\n    width: calc(100% - 32px);\n  }\n\n  .cm-overview-section .cm-heading-center {\n    margin-bottom: 28px;\n  }\n\n  .cm-overview-section .cm-eyebrow {\n    margin-bottom: 15px;\n    font-size: 10px;\n    letter-spacing: 0.09em;\n  }\n\n  .cm-overview-section .cm-heading-center h2 {\n    font-size: clamp(28px, 7.5vw, 34px);\n    line-height: 1.22;\n    letter-spacing: -0.025em;\n  }\n\n  .cm-overview-section .cm-heading-center p {\n    font-size: 14px;\n    line-height: 1.8;\n  }\n\n  .cm-overview-section .cm-overview-grid {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 15px;\n  }\n\n  .cm-overview-section .cm-stage-card {\n    height: auto;\n    padding: 22px 20px;\n    border-radius: 15px;\n  }\n\n  .cm-overview-section .cm-stage-top {\n    margin-bottom: 18px;\n  }\n\n  .cm-overview-section .cm-stage-card h3 {\n    font-size: 18px;\n  }\n\n  .cm-overview-section .cm-stage-card p {\n    font-size: 13.5px;\n    margin-bottom: 18px;\n  }\n\n  .cm-overview-section .cm-stage-bullets {\n    gap: 9px;\n    padding-top: 15px;\n  }\n\n  .cm-overview-section .cm-stage-bullets li {\n    font-size: 12.5px;\n  }\n}\n\n\/* Small mobile *\/\n\n@media (max-width: 360px) {\n  .cm-overview-section .cm-container {\n    width: calc(100% - 24px);\n  }\n\n  .cm-overview-section .cm-stage-card {\n    padding: 19px 16px;\n  }\n\n  .cm-overview-section .cm-stage-tag {\n    font-size: 9px;\n    letter-spacing: 0.06em;\n  }\n}\n\n\/* =====================================================\n   ACCESSIBILITY\n===================================================== *\/\n\n@media (prefers-reduced-motion: reduce) {\n  .cm-overview-section *,\n  .cm-overview-section *::before,\n  .cm-overview-section *::after {\n    transition: none !important;\n    animation: none !important;\n    scroll-behavior: auto !important;\n  }\n\n  .cm-overview-section .cm-stage-card:hover {\n    transform: none;\n  }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n\n<section class=\"cm-overview-section\" aria-labelledby=\"cm-overview-title\">\n  <div class=\"cm-container\">\n\n    <!-- Section heading -->\n    <div class=\"cm-heading-center\">\n      \n\n      <h2 id=\"cm-overview-title\">\n        From Current Infrastructure to a\n        <span class=\"cm-blue-text\">Better-Fit Environment<\/span>\n      <\/h2>\n\n      <p>\n        Application and infrastructure migration needs careful planning\n        across architecture, data, integrations, security and operations.\n        Annular helps businesses assess their current environment, choose a\n        migration approach, and move or modernize workloads while protecting\n        business continuity and long-term maintainability.\n      <\/p>\n    <\/div>\n\n    <!-- Three migration stages -->\n    <div class=\"cm-overview-grid\">\n\n      <!-- Stage 1 -->\n      <article class=\"cm-stage-card\">\n        <div class=\"cm-stage-top\">\n          <span class=\"cm-stage-num\">01<\/span>\n          <span class=\"cm-stage-tag\">Discovery & Audit<\/span>\n        <\/div>\n\n        <h3>Assess Your Current Setup<\/h3>\n\n        <p>\n          Review applications, infrastructure, databases, integrations\n          and dependencies to understand the existing environment and\n          migration requirements.\n        <\/p>\n\n        <ul class=\"cm-stage-bullets\">\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Application inventory & runtimes<\/span>\n          <\/li>\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Inter-service dependency review<\/span>\n          <\/li>\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Business & compliance requirements<\/span>\n          <\/li>\n        <\/ul>\n      <\/article>\n\n      <!-- Stage 2 -->\n      <article class=\"cm-stage-card\">\n        <div class=\"cm-stage-top\">\n          <span class=\"cm-stage-num\">02<\/span>\n          <span class=\"cm-stage-tag\">Architecture & Strategy<\/span>\n        <\/div>\n\n        <h3>Choose the Right Approach<\/h3>\n\n        <p>\n          Define an appropriate migration or modernization strategy,\n          select the target environment and identify required changes,\n          dependencies and risks.\n        <\/p>\n\n        <ul class=\"cm-stage-bullets\">\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Target architecture & route strategy<\/span>\n          <\/li>\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Cutover & rollback contingency<\/span>\n          <\/li>\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Risk & downtime mitigation<\/span>\n          <\/li>\n        <\/ul>\n      <\/article>\n\n      <!-- Stage 3 -->\n      <article class=\"cm-stage-card\">\n        <div class=\"cm-stage-top\">\n          <span class=\"cm-stage-num\">03<\/span>\n          <span class=\"cm-stage-tag\">Execution & QA<\/span>\n        <\/div>\n\n        <h3>Move and Validate<\/h3>\n\n        <p>\n          Execute the migration in planned stages and validate functionality,\n          data integrity, performance and operational readiness.\n        <\/p>\n\n        <ul class=\"cm-stage-bullets\">\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Phased deployment coordination<\/span>\n          <\/li>\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Functional & data parity validation<\/span>\n          <\/li>\n          <li>\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span>Post-migration health checks<\/span>\n          <\/li>\n        <\/ul>\n      <\/article>\n\n    <\/div>\n  <\/div>\n<\/section>\n<\/div><\/div><\/div><\/section><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><section id=\"annular-cloud-visual\">\n  <div class=\"acv-wrap\">\n\n    <!-- SECTION INTRO -->\n    <header class=\"acv-heading\">\n      \n      <h2>\n        One Migration Strategy.\n        <br \/>\n        <span>Multiple Paths Forward.<\/span>\n      <\/h2>\n      <p>\n        Move applications, modernize legacy systems and transition infrastructure\n        with a migration approach built around your existing environment.\n      <\/p>\n    <\/header>\n\n    <!-- MIGRATION VISUAL -->\n    <div class=\"acv-visual\" aria-label=\"Cloud migration from existing systems to a target environment\">\n\n      <div class=\"acv-orbit acv-orbit-one\" aria-hidden=\"true\"><\/div>\n      <div class=\"acv-orbit acv-orbit-two\" aria-hidden=\"true\"><\/div>\n\n      <!-- EXISTING SYSTEMS -->\n      <div class=\"acv-node acv-node-left\">\n        <div class=\"acv-node-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n               stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n               aria-hidden=\"true\">\n            <rect x=\"3\" y=\"3\" width=\"18\" height=\"7\" rx=\"2\"\/>\n            <rect x=\"3\" y=\"14\" width=\"18\" height=\"7\" rx=\"2\"\/>\n            <path d=\"M7 6.5h.01M7 17.5h.01M11 6.5h6M11 17.5h6\"\/>\n          <\/svg>\n        <\/div>\n        <strong>Existing Systems<\/strong>\n        <span>Servers \u00b7 Applications \u00b7 Data<\/span>\n      <\/div>\n\n      <!-- LEFT FLOW -->\n      <div class=\"acv-flow acv-flow-left\" aria-hidden=\"true\">\n        <span><\/span><span><\/span><span><\/span>\n      <\/div>\n\n      <!-- MIGRATION HUB -->\n      <div class=\"acv-cloud\">\n        <div class=\"acv-cloud-glow\" aria-hidden=\"true\"><\/div>\n\n        <svg viewBox=\"0 0 100 78\" fill=\"none\" aria-hidden=\"true\">\n          <path\n            d=\"M27 58H72C84 58 91 50 91 40C91 30 83 23 73 23C69 10 58 4 46 7C35 9 29 18 29 29C17 27 8 36 8 45C8 53 15 58 27 58Z\"\n            fill=\"#EAF3FF\" stroke=\"#1769E8\" stroke-width=\"2.5\"\/>\n          <path\n            d=\"M50 25V47M41 38L50 47L59 38\"\n            stroke=\"#1769E8\" stroke-width=\"3\"\n            stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n        <\/svg>\n\n        <strong>Migration Hub<\/strong>\n        <span>Assess \u00b7 Move \u00b7 Modernize<\/span>\n\n        <div class=\"acv-cloud-status\">\n          <i aria-hidden=\"true\"><\/i>\n          Environment-led approach\n        <\/div>\n      <\/div>\n\n      <!-- RIGHT FLOW -->\n      <div class=\"acv-flow acv-flow-right\" aria-hidden=\"true\">\n        <span><\/span><span><\/span><span><\/span>\n      <\/div>\n\n      <!-- TARGET ENVIRONMENT -->\n      <div class=\"acv-node acv-node-right\">\n        <div class=\"acv-node-icon acv-target-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n               stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n               aria-hidden=\"true\">\n            <path d=\"M4 16.5A4.5 4.5 0 0 1 5.5 8A6.5 6.5 0 0 1 18 7.5A4.5 4.5 0 0 1 19 16.5\"\/>\n            <path d=\"M12 21V12M8.5 15.5 12 12l3.5 3.5\"\/>\n          <\/svg>\n        <\/div>\n        <strong>Target Environment<\/strong>\n        <span>AWS \u00b7 On-premise \u00b7 Modernized<\/span>\n      <\/div>\n\n      <!-- VISUAL CAPTION -->\n      <div class=\"acv-visual-caption\">\n        <span class=\"acv-caption-line\" aria-hidden=\"true\"><\/span>\n        <span>DESIGNED AROUND YOUR TECHNOLOGY LANDSCAPE<\/span>\n        <span class=\"acv-caption-line\" aria-hidden=\"true\"><\/span>\n      <\/div>\n    <\/div>\n\n    <!-- CAPABILITIES HEADING -->\n    <div class=\"acv-services-heading\">\n      <div class=\"acv-services-heading-copy\">\n        \n        <h3>Choose the right migration path<\/h3>\n        <p class=\"acv-services-description\">\n          From individual applications to interconnected enterprise environments.\n        <\/p>\n      <\/div>\n    <\/div>\n\n    <!-- CAPABILITY CARDS -->\n    <div class=\"acv-services\">\n\n      <!-- CARD 01 -->\n      <article class=\"acv-service-group\">\n        <div class=\"acv-group-top\">\n          <span class=\"acv-group-number\">01<\/span>\n          <span class=\"acv-group-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                 aria-hidden=\"true\">\n              <path d=\"M7 18H5a4 4 0 0 1-.5-8A6.5 6.5 0 0 1 17 8a4.5 4.5 0 0 1 2 8.5\"\/>\n              <path d=\"M12 22V12m-4 4 4-4 4 4\"\/>\n            <\/svg>\n          <\/span>\n        <\/div>\n        <h4>Cloud Migration<\/h4>\n        <p>Transition workloads between cloud and on-premise environments.<\/p>\n        <ul>\n          <li>On-Premise to AWS Migration<\/li>\n          <li>AWS to On-Premise Migration<\/li>\n        <\/ul>\n      <\/article>\n\n      <!-- CARD 02 -->\n      <article class=\"acv-service-group\">\n        <div class=\"acv-group-top\">\n          <span class=\"acv-group-number\">02<\/span>\n          <span class=\"acv-group-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                 aria-hidden=\"true\">\n              <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"\/>\n              <path d=\"m8 9-3 3 3 3m8-6 3 3-3 3m-3-8-2 10\"\/>\n            <\/svg>\n          <\/span>\n        <\/div>\n        <h4>Application Migration<\/h4>\n        <p>Plan application transitions around runtime and dependency requirements.<\/p>\n        <ul>\n          <li>Enterprise Application Migration<\/li>\n          <li>Java Application Migration<\/li>\n          <li>PHP Application Migration<\/li>\n        <\/ul>\n      <\/article>\n\n      <!-- CARD 03 -->\n      <article class=\"acv-service-group\">\n        <div class=\"acv-group-top\">\n          <span class=\"acv-group-number\">03<\/span>\n          <span class=\"acv-group-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                 aria-hidden=\"true\">\n              <ellipse cx=\"12\" cy=\"5\" rx=\"8\" ry=\"3\"\/>\n              <path d=\"M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5\"\/>\n              <path d=\"M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3\"\/>\n            <\/svg>\n          <\/span>\n        <\/div>\n        <h4>Infrastructure & Data<\/h4>\n        <p>Manage infrastructure transitions, data movement and target architecture.<\/p>\n        <ul>\n          <li>Database Migration<\/li>\n          <li>Server & Infrastructure Migration<\/li>\n          <li>Cloud Architecture Assessment<\/li>\n        <\/ul>\n      <\/article>\n\n      <!-- CARD 04 -->\n      <article class=\"acv-service-group\">\n        <div class=\"acv-group-top\">\n          <span class=\"acv-group-number\">04<\/span>\n          <span class=\"acv-group-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                 aria-hidden=\"true\">\n              <path d=\"m12 3 9 5-9 5-9-5 9-5Z\"\/>\n              <path d=\"m3 12 9 5 9-5M3 16l9 5 9-5\"\/>\n            <\/svg>\n          <\/span>\n        <\/div>\n        <h4>Modernization & Optimization<\/h4>\n        <p>Improve existing applications and optimize the target environment.<\/p>\n        <ul>\n          <li>Legacy Application Modernization<\/li>\n          <li>Re-platforming & Re-hosting<\/li>\n          <li>Post-Migration Optimization<\/li>\n        <\/ul>\n      <\/article>\n\n    <\/div>\n\n    <!-- CALL TO ACTION -->\n    <div class=\"acv-cta\" id=\"acv-migration-contact\">\n      <div class=\"acv-cta-content\">\n        <span class=\"acv-cta-label\">YOUR NEXT MOVE<\/span>\n        <h3>Planning a cloud migration?<\/h3>\n        <p>\n          Let's discuss your applications, current infrastructure and migration goals.\n        <\/p>\n      <\/div>\n\n      <a href=\"\/contact\/\" class=\"acv-cta-button\">\n        Discuss Your Migration\n        <span aria-hidden=\"true\">\u2197<\/span>\n      <\/a>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* =========================================\n   ANNULAR CLOUD MIGRATION SECTION\n   All styles are scoped to this section.\n========================================= *\/\n\n#annular-cloud-visual {\n  --acv-blue: #1769e8;\n  --acv-blue-hover: #1055c4;\n  --acv-navy: #17345c;\n  --acv-muted: #667991;\n  --acv-border: #e3ebf5;\n\n  position: relative;\n  isolation: isolate;\n  width: 100%;\n  padding: 82px 22px;\n  overflow: hidden;\n  background: #ffffff;\n  color: var(--acv-navy);\n  font-family: Inter, Arial, sans-serif;\n}\n\n#annular-cloud-visual,\n#annular-cloud-visual * {\n  box-sizing: border-box;\n}\n\n#annular-cloud-visual .acv-wrap {\n  width: 100%;\n  max-width: 1160px;\n  margin: 0 auto;\n}\n\n\/* SECTION INTRO *\/\n\n#annular-cloud-visual .acv-heading {\n  max-width: 780px;\n  margin: 0 auto 42px;\n  text-align: center;\n}\n\n#annular-cloud-visual .acv-eyebrow {\n  display: inline-block;\n  margin: 0 0 13px;\n  color: var(--acv-blue);\n  font-size: 11px;\n  font-weight: 800;\n  line-height: 1.5;\n  letter-spacing: 1.8px;\n  text-transform: uppercase;\n}\n\n#annular-cloud-visual .acv-heading h2 {\n  margin: 0 0 17px;\n  color: var(--acv-navy);\n  font-size: clamp(31px, 4vw, 45px);\n  line-height: 1.18;\n  letter-spacing: -1.4px;\n  font-weight: 780;\n}\n\n#annular-cloud-visual .acv-heading h2 span {\n  color: var(--acv-blue);\n}\n\n#annular-cloud-visual .acv-heading p {\n  max-width: 650px;\n  margin: 0 auto;\n  color: var(--acv-muted);\n  font-size: 14px;\n  line-height: 1.9;\n}\n\n\/* CENTRAL MIGRATION VISUAL *\/\n\n#annular-cloud-visual .acv-visual {\n  position: relative;\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr);\n  align-items: center;\n  gap: 25px;\n  min-height: 300px;\n  padding: 36px 45px 65px;\n  overflow: hidden;\n  border: 1px solid #e0ebfa;\n  border-radius: 20px;\n  background:\n    radial-gradient(\n      ellipse at center,\n      rgba(220, 235, 255, 0.72),\n      transparent 60%\n    ),\n    linear-gradient(135deg, #f8fbff, #ffffff 60%, #f4f8ff);\n}\n\n#annular-cloud-visual .acv-orbit {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 0;\n  border: 1px solid rgba(23, 105, 232, 0.09);\n  border-radius: 50%;\n  transform: translate(-50%, -55%);\n  pointer-events: none;\n}\n\n#annular-cloud-visual .acv-orbit-one {\n  width: 380px;\n  height: 230px;\n}\n\n#annular-cloud-visual .acv-orbit-two {\n  width: 510px;\n  height: 290px;\n}\n\n\/* SYSTEM NODES *\/\n\n#annular-cloud-visual .acv-node,\n#annular-cloud-visual .acv-cloud {\n  position: relative;\n  z-index: 1;\n  display: flex;\n  min-width: 0;\n  align-items: center;\n  flex-direction: column;\n  text-align: center;\n}\n\n#annular-cloud-visual .acv-node-icon {\n  display: grid;\n  place-items: center;\n  flex-shrink: 0;\n  width: 65px;\n  height: 65px;\n  margin-bottom: 15px;\n  border: 1px solid #dbe8f9;\n  border-radius: 18px;\n  background: #ffffff;\n  color: var(--acv-blue);\n  box-shadow: 0 9px 25px rgba(34, 83, 145, 0.07);\n}\n\n#annular-cloud-visual .acv-node-icon svg {\n  display: block;\n  width: 30px;\n  height: 30px;\n}\n\n#annular-cloud-visual .acv-target-icon {\n  background: #edf5ff;\n}\n\n#annular-cloud-visual .acv-node strong {\n  display: block;\n  margin: 0 0 7px;\n  color: var(--acv-navy);\n  font-size: 14px;\n  line-height: 1.5;\n  font-weight: 750;\n}\n\n#annular-cloud-visual .acv-node > span {\n  display: block;\n  color: var(--acv-muted);\n  font-size: 11px;\n  line-height: 1.6;\n}\n\n\/* CENTRAL CLOUD CARD *\/\n\n#annular-cloud-visual .acv-cloud {\n  position: relative;\n  padding: 25px 15px 19px;\n  overflow: hidden;\n  border: 1px solid #c9ddfb;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.96);\n  box-shadow: 0 15px 38px rgba(23, 105, 232, 0.10);\n}\n\n#annular-cloud-visual .acv-cloud-glow {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  width: 140px;\n  height: 90px;\n  border-radius: 50%;\n  background: rgba(23, 105, 232, 0.09);\n  filter: blur(24px);\n  transform: translateX(-50%);\n  pointer-events: none;\n}\n\n#annular-cloud-visual .acv-cloud > svg {\n  position: relative;\n  z-index: 1;\n  display: block;\n  width: 75px;\n  height: 60px;\n  margin: 0 auto 9px;\n}\n\n#annular-cloud-visual .acv-cloud strong {\n  position: relative;\n  z-index: 1;\n  display: block;\n  color: var(--acv-navy);\n  font-size: 16px;\n  line-height: 1.5;\n  font-weight: 800;\n}\n\n#annular-cloud-visual .acv-cloud > span {\n  position: relative;\n  z-index: 1;\n  display: block;\n  margin-top: 7px;\n  color: var(--acv-muted);\n  font-size: 11px;\n  line-height: 1.6;\n}\n\n#annular-cloud-visual .acv-cloud-status {\n  position: relative;\n  z-index: 1;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  max-width: 100%;\n  margin-top: 17px;\n  padding: 7px 10px;\n  border-radius: 20px;\n  background: #eff8f4;\n  color: #23835e;\n  font-size: 9px;\n  line-height: 1.5;\n  font-weight: 700;\n}\n\n#annular-cloud-visual .acv-cloud-status i {\n  display: inline-block;\n  flex-shrink: 0;\n  width: 6px;\n  height: 6px;\n  border-radius: 50%;\n  background: #28a775;\n}\n\n\/* FLOW CONNECTORS *\/\n\n#annular-cloud-visual .acv-flow {\n  position: absolute;\n  top: 46%;\n  z-index: 2;\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n  width: 13%;\n  height: 2px;\n  background: #bfd7fa;\n  pointer-events: none;\n}\n\n#annular-cloud-visual .acv-flow-left {\n  left: 28%;\n}\n\n#annular-cloud-visual .acv-flow-right {\n  right: 28%;\n}\n\n#annular-cloud-visual .acv-flow span {\n  display: block;\n  width: 5px;\n  height: 5px;\n  border-radius: 50%;\n  background: var(--acv-blue);\n}\n\n\/* VISUAL CAPTION *\/\n\n#annular-cloud-visual .acv-visual-caption {\n  position: absolute;\n  right: 12px;\n  bottom: 22px;\n  left: 12px;\n  z-index: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  color: #7f94b0;\n  font-size: 9px;\n  line-height: 1.6;\n  font-weight: 800;\n  letter-spacing: 1.4px;\n  text-align: center;\n}\n\n#annular-cloud-visual .acv-caption-line {\n  display: block;\n  flex-shrink: 0;\n  width: 30px;\n  height: 1px;\n  background: #d4e2f5;\n}\n\n\/* CAPABILITIES HEADING *\/\n\n#annular-cloud-visual .acv-services-heading {\n  display: flex;\n  align-items: flex-end;\n  justify-content: space-between;\n  gap: 25px;\n  margin: 65px 0 25px;\n}\n\n#annular-cloud-visual .acv-services-heading-copy {\n  min-width: 0;\n  max-width: 700px;\n}\n\n#annular-cloud-visual .acv-services-heading .acv-eyebrow {\n  margin-bottom: 10px;\n}\n\n#annular-cloud-visual .acv-services-heading h3 {\n  margin: 0;\n  color: var(--acv-navy);\n  font-size: clamp(23px, 3vw, 31px);\n  line-height: 1.3;\n  font-weight: 780;\n  letter-spacing: -0.7px;\n}\n\n\/* FIXED SELECTOR:\n   Paragraph is nested inside .acv-services-heading-copy. *\/\n\n#annular-cloud-visual .acv-services-heading .acv-services-description {\n  max-width: 340px;\n  margin: 10px 0 3px;\n  color: var(--acv-muted);\n  font-size: 12px;\n  line-height: 1.8;\n}\n\n\/* SERVICE CARDS *\/\n\n#annular-cloud-visual .acv-services {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 17px;\n  align-items: stretch;\n}\n\n#annular-cloud-visual .acv-service-group {\n  position: relative;\n  display: flex;\n  min-width: 0;\n  flex-direction: column;\n  padding: 25px 25px 23px;\n  border: 1px solid var(--acv-border);\n  border-radius: 15px;\n  background: #ffffff;\n  transition:\n    border-color 0.2s ease,\n    transform 0.2s ease,\n    box-shadow 0.2s ease;\n}\n\n#annular-cloud-visual .acv-group-top {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  margin-bottom: 17px;\n}\n\n#annular-cloud-visual .acv-group-number {\n  color: #a2b4ca;\n  font-size: 12px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 1px;\n}\n\n#annular-cloud-visual .acv-group-icon {\n  display: grid;\n  place-items: center;\n  flex-shrink: 0;\n  width: 43px;\n  height: 43px;\n  border-radius: 12px;\n  background: #edf5ff;\n  color: var(--acv-blue);\n}\n\n#annular-cloud-visual .acv-group-icon svg {\n  display: block;\n  width: 23px;\n  height: 23px;\n}\n\n#annular-cloud-visual .acv-service-group h4 {\n  margin: 0 0 9px;\n  color: var(--acv-navy);\n  font-size: 18px;\n  line-height: 1.4;\n  font-weight: 780;\n}\n\n#annular-cloud-visual .acv-service-group > p {\n  margin: 0 0 18px;\n  color: var(--acv-muted);\n  font-size: 12px;\n  line-height: 1.8;\n}\n\n#annular-cloud-visual .acv-service-group ul {\n  display: grid;\n  gap: 0;\n  margin: auto 0 0;\n  padding: 0;\n  list-style: none;\n  border-top: 1px solid #edf1f7;\n}\n\n#annular-cloud-visual .acv-service-group li {\n  position: relative;\n  padding: 11px 0 11px 18px;\n  border-bottom: 1px solid #edf1f7;\n  color: #3e5573;\n  font-size: 12px;\n  line-height: 1.6;\n  overflow-wrap: anywhere;\n}\n\n#annular-cloud-visual .acv-service-group li:last-child {\n  border-bottom: 0;\n}\n\n#annular-cloud-visual .acv-service-group li::before {\n  content: \"\";\n  position: absolute;\n  top: 18px;\n  left: 1px;\n  width: 6px;\n  height: 6px;\n  border-radius: 50%;\n  background: var(--acv-blue);\n}\n\n\/* CALL TO ACTION *\/\n\n#annular-cloud-visual .acv-cta {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 25px;\n  margin-top: 30px;\n  padding: 29px 32px;\n  border: 1px solid #d7e6fb;\n  border-radius: 16px;\n  background: linear-gradient(110deg, #f1f7ff, #fbfdff);\n}\n\n#annular-cloud-visual .acv-cta-content {\n  min-width: 0;\n}\n\n#annular-cloud-visual .acv-cta-label {\n  display: inline-block;\n  color: var(--acv-blue);\n  font-size: 10px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 1.6px;\n}\n\n#annular-cloud-visual .acv-cta h3 {\n  margin: 8px 0 6px;\n  color: var(--acv-navy);\n  font-size: 23px;\n  line-height: 1.35;\n  font-weight: 780;\n}\n\n#annular-cloud-visual .acv-cta p {\n  margin: 0;\n  color: var(--acv-muted);\n  font-size: 12px;\n  line-height: 1.8;\n}\n\n#annular-cloud-visual .acv-cta-button {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 18px;\n  flex-shrink: 0;\n  max-width: 100%;\n  padding: 14px 19px;\n  border: 1px solid var(--acv-blue);\n  border-radius: 8px;\n  background: var(--acv-blue);\n  color: #ffffff !important;\n  text-decoration: none !important;\n  font-family: inherit;\n  font-size: 12px;\n  line-height: 1.5;\n  font-weight: 750;\n  transition:\n    background 0.2s ease,\n    border-color 0.2s ease,\n    transform 0.2s ease;\n}\n\n#annular-cloud-visual .acv-cta-button span {\n  font-size: 16px;\n  line-height: 1;\n}\n\n#annular-cloud-visual .acv-cta-button:focus-visible {\n  outline: 3px solid rgba(23, 105, 232, 0.3);\n  outline-offset: 4px;\n}\n\n\/* TABLET *\/\n\n@media (max-width: 800px) {\n  #annular-cloud-visual {\n    padding: 64px 20px;\n  }\n\n  #annular-cloud-visual .acv-visual {\n    gap: 12px;\n    padding: 30px 20px 62px;\n  }\n\n  #annular-cloud-visual .acv-flow {\n    width: 9%;\n  }\n\n  #annular-cloud-visual .acv-flow-left {\n    left: 30%;\n  }\n\n  #annular-cloud-visual .acv-flow-right {\n    right: 30%;\n  }\n\n  #annular-cloud-visual .acv-node > span {\n    font-size: 9px;\n  }\n\n  #annular-cloud-visual .acv-cloud {\n    padding: 19px 8px;\n  }\n\n  #annular-cloud-visual .acv-services-heading {\n    align-items: flex-start;\n    flex-direction: column;\n    gap: 12px;\n  }\n\n  #annular-cloud-visual .acv-services-heading .acv-services-description {\n    max-width: 520px;\n  }\n\n  #annular-cloud-visual .acv-service-group {\n    padding: 23px 21px;\n  }\n\n  #annular-cloud-visual .acv-cta {\n    padding: 26px;\n  }\n}\n\n\/* MOBILE *\/\n\n@media (max-width: 560px) {\n  #annular-cloud-visual {\n    padding: 48px 15px;\n  }\n\n  #annular-cloud-visual .acv-heading {\n    margin-bottom: 29px;\n  }\n\n  #annular-cloud-visual .acv-heading h2 {\n    font-size: clamp(27px, 7.5vw, 31px);\n    letter-spacing: -0.8px;\n  }\n\n  #annular-cloud-visual .acv-heading h2 br {\n    display: none;\n  }\n\n  #annular-cloud-visual .acv-heading p {\n    font-size: 13px;\n    line-height: 1.8;\n  }\n\n  #annular-cloud-visual .acv-visual {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 20px;\n    min-height: 0;\n    padding: 27px 18px 57px;\n  }\n\n  #annular-cloud-visual .acv-orbit-one {\n    width: 240px;\n    height: 330px;\n    transform: translate(-50%, -50%);\n  }\n\n  #annular-cloud-visual .acv-orbit-two {\n    width: 300px;\n    height: 400px;\n    transform: translate(-50%, -50%);\n  }\n\n  #annular-cloud-visual .acv-node-icon {\n    width: 53px;\n    height: 53px;\n    margin-bottom: 9px;\n    border-radius: 15px;\n  }\n\n  #annular-cloud-visual .acv-node-icon svg {\n    width: 25px;\n    height: 25px;\n  }\n\n  #annular-cloud-visual .acv-node strong {\n    font-size: 13px;\n  }\n\n  #annular-cloud-visual .acv-node > span {\n    font-size: 10px;\n  }\n\n  #annular-cloud-visual .acv-cloud {\n    width: min(100%, 260px);\n    justify-self: center;\n    padding: 20px 14px;\n  }\n\n  #annular-cloud-visual .acv-flow {\n    display: none;\n  }\n\n  #annular-cloud-visual .acv-visual-caption {\n    right: 8px;\n    bottom: 17px;\n    left: 8px;\n    gap: 6px;\n    font-size: 7px;\n    letter-spacing: 0.6px;\n  }\n\n  #annular-cloud-visual .acv-caption-line {\n    width: 13px;\n  }\n\n  #annular-cloud-visual .acv-services-heading {\n    margin-top: 45px;\n    margin-bottom: 20px;\n  }\n\n  #annular-cloud-visual .acv-services-heading h3 {\n    font-size: 25px;\n  }\n\n  #annular-cloud-visual .acv-services {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 13px;\n  }\n\n  #annular-cloud-visual .acv-service-group {\n    padding: 22px 20px;\n  }\n\n  #annular-cloud-visual .acv-service-group h4 {\n    font-size: 17px;\n  }\n\n  #annular-cloud-visual .acv-cta {\n    align-items: flex-start;\n    flex-direction: column;\n    gap: 20px;\n    margin-top: 22px;\n    padding: 24px 20px;\n  }\n\n  #annular-cloud-visual .acv-cta h3 {\n    font-size: 21px;\n  }\n\n  #annular-cloud-visual .acv-cta-button {\n    width: 100%;\n  }\n}\n\n\/* VERY SMALL SCREENS *\/\n\n@media (max-width: 360px) {\n  #annular-cloud-visual {\n    padding-right: 12px;\n    padding-left: 12px;\n  }\n\n  #annular-cloud-visual .acv-visual {\n    padding-right: 12px;\n    padding-left: 12px;\n  }\n\n  #annular-cloud-visual .acv-visual-caption {\n    font-size: 6px;\n    letter-spacing: 0.3px;\n  }\n\n  #annular-cloud-visual .acv-caption-line {\n    width: 8px;\n  }\n\n  #annular-cloud-visual .acv-service-group {\n    padding: 20px 16px;\n  }\n}\n\n\/* REDUCED MOTION ACCESSIBILITY *\/\n\n@media (prefers-reduced-motion: reduce) {\n  #annular-cloud-visual *,\n  #annular-cloud-visual *::before,\n  #annular-cloud-visual *::after {\n    scroll-behavior: auto !important;\n    animation: none !important;\n    transition: none !important;\n  }\n}\n\n\/* HOVER EFFECTS ONLY ON DEVICES THAT SUPPORT HOVER *\/\n\n@media (hover: hover) and (pointer: fine) {\n  #annular-cloud-visual .acv-service-group:hover {\n    transform: translateY(-3px);\n    border-color: #bfd7fa;\n    box-shadow: 0 12px 28px rgba(23, 52, 92, 0.055);\n  }\n\n  #annular-cloud-visual .acv-cta-button:hover {\n    background: var(--acv-blue-hover);\n    border-color: var(--acv-blue-hover);\n    color: #ffffff !important;\n    transform: translateY(-2px);\n  }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n<\/div><\/div><\/div><\/section><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><section id=\"annular-migration-paths\">\n  <div class=\"mp-wrap\">\n\n    <header class=\"mp-heading\">\n     \n      <h2>Flexible Migration Paths for <span>Your Environment<\/span><\/h2>\n      <p>\n        Every environment has different application, infrastructure and\n        operational requirements. We help you evaluate the current setup\n        and plan an appropriate path to your target environment.\n      <\/p>\n    <\/header>\n\n    <div class=\"mp-grid\">\n\n      <!-- PATH 01 -->\n      <article class=\"mp-card\">\n        <div class=\"mp-card-head\">\n          <span class=\"mp-index\">PATH 01<\/span>\n          <span class=\"mp-tag\">Cloud Migration<\/span>\n        <\/div>\n        <div class=\"mp-flow\">\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <rect x=\"3\" y=\"3\" width=\"18\" height=\"7\" rx=\"2\"\/>\n                <rect x=\"3\" y=\"14\" width=\"18\" height=\"7\" rx=\"2\"\/>\n                <path d=\"M7 6.5h.01M7 17.5h.01\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Local \/ On-Premise<\/h3>\n            <p>Existing servers and data centres<\/p>\n          <\/div>\n\n          <span class=\"mp-arrow\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n            <\/svg>\n          <\/span>\n\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon mp-target\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <path d=\"M18 10h-1.2A7.5 7.5 0 1 0 9 20h9a5 5 0 0 0 0-10Z\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Amazon Web Services<\/h3>\n            <p>AWS cloud environment<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <!-- PATH 02 -->\n      <article class=\"mp-card\">\n        <div class=\"mp-card-head\">\n          <span class=\"mp-index\">PATH 02<\/span>\n          <span class=\"mp-tag\">Reverse Migration<\/span>\n        <\/div>\n        <div class=\"mp-flow\">\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <path d=\"M18 10h-1.2A7.5 7.5 0 1 0 9 20h9a5 5 0 0 0 0-10Z\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Amazon Web Services<\/h3>\n            <p>Existing cloud workloads<\/p>\n          <\/div>\n\n          <span class=\"mp-arrow\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n            <\/svg>\n          <\/span>\n\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon mp-target\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <rect x=\"3\" y=\"3\" width=\"18\" height=\"7\" rx=\"2\"\/>\n                <rect x=\"3\" y=\"14\" width=\"18\" height=\"7\" rx=\"2\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Local \/ On-Premise<\/h3>\n            <p>Dedicated local infrastructure<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <!-- PATH 03 -->\n      <article class=\"mp-card\">\n        <div class=\"mp-card-head\">\n          <span class=\"mp-index\">PATH 03<\/span>\n          <span class=\"mp-tag\">Application Modernization<\/span>\n        <\/div>\n        <div class=\"mp-flow\">\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <rect x=\"5\" y=\"2.5\" width=\"14\" height=\"19\" rx=\"2\"\/>\n                <path d=\"M9 7h6M9 11h6M9 15h4\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Legacy Java Application<\/h3>\n            <p>Existing Java software and dependencies<\/p>\n          <\/div>\n\n          <span class=\"mp-arrow\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n            <\/svg>\n          <\/span>\n\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon mp-target\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <path d=\"m12 3 9 5-9 5-9-5 9-5Z\"\/>\n                <path d=\"m3 12 9 5 9-5M3 16l9 5 9-5\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Modernized Environment<\/h3>\n            <p>Target architecture and deployment<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <!-- PATH 04 -->\n      <article class=\"mp-card\">\n        <div class=\"mp-card-head\">\n          <span class=\"mp-index\">PATH 04<\/span>\n          <span class=\"mp-tag\">PHP Migration<\/span>\n        <\/div>\n        <div class=\"mp-flow\">\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <path d=\"M4 5h16v14H4zM8 9l-2 3 2 3M12 15h4\"\/>\n              <\/svg>\n            <\/span>\n            <h3>PHP Application<\/h3>\n            <p>Existing application and components<\/p>\n          <\/div>\n\n          <span class=\"mp-arrow\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n            <\/svg>\n          <\/span>\n\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon mp-target\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <path d=\"M18 10h-1.2A7.5 7.5 0 1 0 9 20h9a5 5 0 0 0 0-10Z\"\/>\n              <\/svg>\n            <\/span>\n            <h3>AWS or On-Premise<\/h3>\n            <p>Selected target environment<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <!-- PATH 05 -->\n      <article class=\"mp-card mp-card-wide\">\n        <div class=\"mp-card-head\">\n          <span class=\"mp-index\">PATH 05<\/span>\n          <span class=\"mp-tag\">Data & Infrastructure<\/span>\n        <\/div>\n        <div class=\"mp-flow\">\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <ellipse cx=\"12\" cy=\"5\" rx=\"8\" ry=\"3\"\/>\n                <path d=\"M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5\"\/>\n                <path d=\"M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Database & Supporting Infrastructure<\/h3>\n            <p>Data stores and related components<\/p>\n          <\/div>\n\n          <span class=\"mp-arrow\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                 stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M5 12h14M12 5l7 7-7 7\"\/>\n            <\/svg>\n          <\/span>\n\n          <div class=\"mp-endpoint\">\n            <span class=\"mp-icon mp-target\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                   aria-hidden=\"true\">\n                <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n                <path d=\"m5 12 4 4L19 6\"\/>\n              <\/svg>\n            <\/span>\n            <h3>Target Environment<\/h3>\n            <p>Validated data and supporting services<\/p>\n          <\/div>\n        <\/div>\n      <\/article>\n\n    <\/div>\n\n    <p class=\"mp-footnote\">\n      Each migration path is planned around application dependencies,\n      data requirements, security and operational needs.\n    <\/p>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* ==========================================\n   ANNULAR MIGRATION PATHS\n   All styles are isolated to this section.\n========================================== *\/\n\n#annular-migration-paths {\n  --mp-blue: #1677d2;\n  --mp-blue-dark: #105caf;\n  --mp-navy: #17365c;\n  --mp-muted: #66768a;\n  --mp-border: #e3ebf5;\n\n  width: 100%;\n  padding: 76px 20px;\n  overflow: hidden;\n  background: #f7faff;\n  color: var(--mp-navy);\n  font-family: Inter, Arial, sans-serif;\n}\n\n#annular-migration-paths,\n#annular-migration-paths * {\n  box-sizing: border-box;\n}\n\n#annular-migration-paths .mp-wrap {\n  width: 100%;\n  max-width: 1120px;\n  margin: 0 auto;\n}\n\n\/* HEADING *\/\n\n#annular-migration-paths .mp-heading {\n  max-width: 720px;\n  margin: 0 auto 38px;\n  text-align: center;\n}\n\n#annular-migration-paths .mp-eyebrow {\n  display: inline-block;\n  margin-bottom: 13px;\n  color: var(--mp-blue);\n  font-size: 12px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 1.6px;\n}\n\n#annular-migration-paths .mp-heading h2 {\n  margin: 0 0 15px;\n  color: var(--mp-navy);\n  font-size: clamp(29px, 4vw, 42px);\n  line-height: 1.2;\n  letter-spacing: -1px;\n  font-weight: 800;\n}\n\n#annular-migration-paths .mp-heading h2 span {\n  color: var(--mp-blue);\n}\n\n#annular-migration-paths .mp-heading p {\n  max-width: 660px;\n  margin: 0 auto;\n  color: var(--mp-muted);\n  font-size: 15px;\n  line-height: 1.8;\n}\n\n\/* MIGRATION CARD GRID *\/\n\n#annular-migration-paths .mp-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  align-items: stretch;\n  gap: 16px;\n}\n\n#annular-migration-paths .mp-card {\n  display: flex;\n  min-width: 0;\n  flex-direction: column;\n  padding: 23px;\n  border: 1px solid var(--mp-border);\n  border-radius: 16px;\n  background: #ffffff;\n  transition:\n    border-color 0.2s ease,\n    box-shadow 0.2s ease,\n    transform 0.2s ease;\n}\n\n\/* Fifth card remains centered and avoids an oversized flow. *\/\n\n#annular-migration-paths .mp-card-wide {\n  grid-column: 1 \/ -1;\n  width: calc(50% - 8px);\n  justify-self: center;\n}\n\n#annular-migration-paths .mp-card-head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-bottom: 23px;\n}\n\n#annular-migration-paths .mp-index {\n  color: #8494a8;\n  font-size: 11px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 1px;\n}\n\n#annular-migration-paths .mp-tag {\n  display: inline-block;\n  max-width: 100%;\n  padding: 6px 10px;\n  border-radius: 30px;\n  background: #eff6ff;\n  color: #1769b3;\n  font-size: 10px;\n  line-height: 1.5;\n  font-weight: 750;\n}\n\n\/* SOURCE AND DESTINATION *\/\n\n#annular-migration-paths .mp-flow {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);\n  align-items: start;\n  gap: 12px;\n  flex: 1;\n}\n\n#annular-migration-paths .mp-endpoint {\n  min-width: 0;\n}\n\n#annular-migration-paths .mp-icon {\n  display: grid;\n  place-items: center;\n  width: 44px;\n  height: 44px;\n  margin-bottom: 13px;\n  border: 1px solid #e2eaf4;\n  border-radius: 12px;\n  background: #f5f8fc;\n  color: #536b85;\n}\n\n#annular-migration-paths .mp-icon.mp-target {\n  border-color: #d6e9ff;\n  background: #edf6ff;\n  color: var(--mp-blue);\n}\n\n#annular-migration-paths .mp-icon svg {\n  display: block;\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n}\n\n#annular-migration-paths .mp-endpoint h3 {\n  margin: 0 0 6px;\n  color: var(--mp-navy);\n  font-size: 15px;\n  line-height: 1.45;\n  font-weight: 750;\n  overflow-wrap: anywhere;\n}\n\n#annular-migration-paths .mp-endpoint p {\n  margin: 0;\n  color: var(--mp-muted);\n  font-size: 12px;\n  line-height: 1.65;\n  overflow-wrap: anywhere;\n}\n\n\/* DIRECTION ARROW *\/\n\n#annular-migration-paths .mp-arrow {\n  display: grid;\n  place-items: center;\n  align-self: start;\n  width: 38px;\n  height: 38px;\n  margin-top: 3px;\n  border: 1px solid #d7eaff;\n  border-radius: 50%;\n  background: #f0f7ff;\n  color: var(--mp-blue);\n}\n\n#annular-migration-paths .mp-arrow svg {\n  display: block;\n  width: 19px;\n  height: 19px;\n}\n\n\/* FOOTNOTE *\/\n\n#annular-migration-paths .mp-footnote {\n  max-width: 680px;\n  margin: 25px auto 0;\n  color: var(--mp-muted);\n  text-align: center;\n  font-size: 13px;\n  line-height: 1.75;\n}\n\n\/* DESKTOP HOVER *\/\n\n@media (hover: hover) and (pointer: fine) {\n  #annular-migration-paths .mp-card:hover {\n    border-color: #b6d7fa;\n    box-shadow: 0 10px 28px rgba(35, 85, 145, 0.07);\n    transform: translateY(-2px);\n  }\n}\n\n\/* TABLET *\/\n\n@media (max-width: 800px) {\n  #annular-migration-paths {\n    padding: 60px 18px;\n  }\n\n  #annular-migration-paths .mp-grid {\n    gap: 14px;\n  }\n\n  #annular-migration-paths .mp-card {\n    padding: 20px;\n  }\n\n  #annular-migration-paths .mp-flow {\n    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);\n    gap: 9px;\n  }\n\n  #annular-migration-paths .mp-arrow {\n    width: 32px;\n    height: 32px;\n  }\n\n  #annular-migration-paths .mp-arrow svg {\n    width: 17px;\n    height: 17px;\n  }\n\n  #annular-migration-paths .mp-endpoint h3 {\n    font-size: 14px;\n  }\n\n  #annular-migration-paths .mp-card-wide {\n    width: calc(50% - 7px);\n  }\n}\n\n\/* MOBILE *\/\n\n@media (max-width: 600px) {\n  #annular-migration-paths {\n    padding: 48px 15px;\n  }\n\n  #annular-migration-paths .mp-heading {\n    margin-bottom: 28px;\n  }\n\n  #annular-migration-paths .mp-heading h2 {\n    font-size: clamp(27px, 7vw, 34px);\n    letter-spacing: -0.6px;\n  }\n\n  #annular-migration-paths .mp-heading p {\n    font-size: 13px;\n    line-height: 1.8;\n  }\n\n  #annular-migration-paths .mp-grid {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 13px;\n  }\n\n  #annular-migration-paths .mp-card,\n  #annular-migration-paths .mp-card-wide {\n    grid-column: auto;\n    width: 100%;\n    padding: 21px 19px;\n  }\n\n  #annular-migration-paths .mp-card-head {\n    margin-bottom: 19px;\n  }\n\n  #annular-migration-paths .mp-flow {\n    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);\n    align-items: start;\n    gap: 9px;\n  }\n\n  #annular-migration-paths .mp-icon {\n    width: 40px;\n    height: 40px;\n    margin-bottom: 11px;\n    border-radius: 10px;\n  }\n\n  #annular-migration-paths .mp-icon svg {\n    width: 21px;\n    height: 21px;\n  }\n\n  #annular-migration-paths .mp-endpoint h3 {\n    font-size: 14px;\n    line-height: 1.45;\n  }\n\n  #annular-migration-paths .mp-endpoint p {\n    font-size: 11px;\n    line-height: 1.65;\n  }\n\n  #annular-migration-paths .mp-arrow {\n    width: 32px;\n    height: 32px;\n  }\n\n  #annular-migration-paths .mp-footnote {\n    margin-top: 22px;\n    font-size: 12px;\n  }\n}\n\n\/* SMALL MOBILE *\/\n\n@media (max-width: 360px) {\n  #annular-migration-paths {\n    padding-right: 12px;\n    padding-left: 12px;\n  }\n\n  #annular-migration-paths .mp-card,\n  #annular-migration-paths .mp-card-wide {\n    padding: 17px 14px;\n  }\n\n  #annular-migration-paths .mp-flow {\n    grid-template-columns: minmax(0, 1fr) 27px minmax(0, 1fr);\n    gap: 6px;\n  }\n\n  #annular-migration-paths .mp-arrow {\n    width: 27px;\n    height: 27px;\n  }\n\n  #annular-migration-paths .mp-arrow svg {\n    width: 15px;\n    height: 15px;\n  }\n\n  #annular-migration-paths .mp-tag {\n    padding: 5px 8px;\n    font-size: 9px;\n  }\n}\n\n\/* ACCESSIBILITY: REDUCED MOTION *\/\n\n@media (prefers-reduced-motion: reduce) {\n  #annular-migration-paths .mp-card {\n    transition: none;\n  }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n<\/div><\/div><\/div><\/section><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><section id=\"annular-cm-journey\">\n  <div class=\"cmj-wrap\">\n\n    <!-- SECTION HEADING -->\n    <header class=\"cmj-heading\">\n      \n      <h2>A Structured Path to <span>Cloud Modernization<\/span><\/h2>\n      <p>\n        Every migration follows a controlled journey designed around your\n        applications, infrastructure, business priorities and operational needs.\n      <\/p>\n    <\/header>\n\n    <!-- JOURNEY TIMELINE -->\n    <div class=\"cmj-timeline\">\n\n      <!-- STEP 01 -->\n      <article class=\"cmj-step\">\n        <div class=\"cmj-marker\">\n          <span>01<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">DISCOVERY<\/span>\n          <h3>Assess<\/h3>\n          <p>\n            Review applications, infrastructure, dependencies, security\n            requirements and current workloads.\n          <\/p>\n        <\/div>\n      <\/article>\n\n      <!-- STEP 02 -->\n      <article class=\"cmj-step\">\n        <div class=\"cmj-marker\">\n          <span>02<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">STRATEGY<\/span>\n          <h3>Plan<\/h3>\n          <p>\n            Define the migration approach, target architecture, priorities,\n            timeline and rollback strategy.\n          <\/p>\n        <\/div>\n      <\/article>\n\n      <!-- STEP 03 -->\n      <article class=\"cmj-step\">\n        <div class=\"cmj-marker\">\n          <span>03<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">READINESS<\/span>\n          <h3>Prepare<\/h3>\n          <p>\n            Configure the target environment, access controls, networking,\n            backups and monitoring.\n          <\/p>\n        <\/div>\n      <\/article>\n\n      <!-- STEP 04 -->\n      <article>\n        <div class=\"cmj-marker\">\n          <span>04<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">EXECUTION<\/span>\n          <h3>Migrate<\/h3>\n          <p>\n            Move applications, databases and supporting infrastructure\n            using the agreed migration approach.\n          <\/p>\n        <\/div>\n      <\/article>\n\n      <!-- STEP 05 -->\n      <article class=\"cmj-step\">\n        <div class=\"cmj-marker\">\n          <span>05<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">QUALITY CHECK<\/span>\n          <h3>Validate<\/h3>\n          <p>\n            Test application functionality, integrations, data integrity,\n            performance and security.\n          <\/p>\n        <\/div>\n      <\/article>\n\n      <!-- STEP 06 -->\n      <article class=\"cmj-step\">\n        <div class=\"cmj-marker\">\n          <span>06<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">TRANSITION<\/span>\n          <h3>Cut Over<\/h3>\n          <p>\n            Switch workloads to the target environment with coordinated\n            release and recovery procedures.\n          <\/p>\n        <\/div>\n      <\/article>\n\n      <!-- STEP 07 -->\n      <article class=\"cmj-step\">\n        <div class=\"cmj-marker\">\n          <span>07<\/span>\n        <\/div>\n        <div class=\"cmj-content\">\n          <span class=\"cmj-stage\">CONTINUOUS IMPROVEMENT<\/span>\n          <h3>Optimize<\/h3>\n          <p>\n            Monitor application health and identify opportunities to improve\n            performance, reliability and cost efficiency.\n          <\/p>\n        <\/div>\n      <\/article>\n\n    <\/div>\n\n    <!-- OUTCOME CTA -->\n    <div class=\"cmj-footer\">\n      <div class=\"cmj-footer-content\">\n        <span class=\"cmj-footer-label\">THE OUTCOME<\/span>\n        <h3>A migration approach aligned with your business.<\/h3>\n      <\/div>\n\n      <a href=\"\/contact\/\" class=\"cmj-cta\">\n        Discuss Your Migration\n        <span aria-hidden=\"true\">\u2197<\/span>\n      <\/a>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* =========================================\n   ANNULAR CLOUD MODERNIZATION JOURNEY\n   Fully scoped styles for Avada\n========================================= *\/\n\n#annular-cm-journey {\n  --cmj-blue: #1769e8;\n  --cmj-blue-dark: #1055c4;\n  --cmj-navy: #17345c;\n  --cmj-muted: #64748b;\n  --cmj-border: #dce8f7;\n  --cmj-soft-blue: #edf5ff;\n\n  position: relative;\n  isolation: isolate;\n  width: 100%;\n  padding: 82px 24px;\n  overflow: hidden;\n  background:\n    radial-gradient(\n      ellipse at 50% 0%,\n      rgba(224, 238, 255, 0.78) 0%,\n      transparent 48%\n    ),\n    #ffffff;\n  color: var(--cmj-navy);\n  font-family: inherit;\n}\n\n#annular-cm-journey,\n#annular-cm-journey * {\n  box-sizing: border-box;\n}\n\n#annular-cm-journey .cmj-wrap {\n  width: 100%;\n  max-width: 1120px;\n  margin: 0 auto;\n}\n\n\/* SECTION HEADING *\/\n\n#annular-cm-journey .cmj-heading {\n  max-width: 700px;\n  margin: 0 auto 60px;\n  text-align: center;\n}\n\n#annular-cm-journey .cmj-eyebrow {\n  display: inline-block;\n  margin: 0 0 15px;\n  color: var(--cmj-blue);\n  font-size: 12px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n}\n\n#annular-cm-journey .cmj-heading h2 {\n  margin: 0 0 18px;\n  color: var(--cmj-navy);\n  font-size: clamp(29px, 4vw, 43px);\n  line-height: 1.2;\n  font-weight: 750;\n  letter-spacing: -1.2px;\n}\n\n#annular-cm-journey .cmj-heading h2 span {\n  color: var(--cmj-blue);\n}\n\n#annular-cm-journey .cmj-heading p {\n  max-width: 620px;\n  margin: 0 auto;\n  color: var(--cmj-muted);\n  font-size: 15px;\n  line-height: 1.85;\n}\n\n\/* DESKTOP TIMELINE *\/\n\n#annular-cm-journey .cmj-timeline {\n  position: relative;\n  display: grid;\n  grid-template-columns: repeat(7, minmax(0, 1fr));\n  align-items: stretch;\n  gap: 0;\n}\n\n\/* Connecting line is aligned with marker centres. *\/\n\n#annular-cm-journey .cmj-timeline::before {\n  content: \"\";\n  position: absolute;\n  top: 28px;\n  right: calc(100% \/ 14);\n  left: calc(100% \/ 14);\n  height: 2px;\n  background: linear-gradient(\n    90deg,\n    #c4dcff 0%,\n    #1769e8 48%,\n    #c4dcff 100%\n  );\n  pointer-events: none;\n}\n\n#annular-cm-journey .cmj-step {\n  position: relative;\n  z-index: 1;\n  display: flex;\n  min-width: 0;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n}\n\n\/* NUMBER MARKER *\/\n\n#annular-cm-journey .cmj-marker {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  justify-content: center;\n  width: 58px;\n  height: 58px;\n  margin: 0 auto 24px;\n  border: 1px solid #cfe0fb;\n  border-radius: 50%;\n  background: #ffffff;\n  box-shadow: 0 5px 18px rgba(34, 94, 171, 0.08);\n}\n\n#annular-cm-journey .cmj-marker span {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 43px;\n  height: 43px;\n  border-radius: 50%;\n  background: #eaf2ff;\n  color: var(--cmj-blue);\n  font-size: 13px;\n  line-height: 1;\n  font-weight: 800;\n}\n\n\/* EMPHASIZED MIGRATION STEP *\/\n\n#annular-cm-journey .cmj-step-highlight .cmj-marker {\n  border-color: var(--cmj-blue);\n  box-shadow: 0 0 0 5px rgba(234, 242, 255, 0.95);\n}\n\n#annular-cm-journey .cmj-step-highlight .cmj-marker span {\n  background: var(--cmj-blue);\n  color: #ffffff;\n}\n\n\/* STEP CONTENT *\/\n\n#annular-cm-journey .cmj-content {\n  width: 100%;\n  min-width: 0;\n  padding: 0 8px;\n}\n\n#annular-cm-journey .cmj-stage {\n  display: block;\n  min-height: 27px;\n  margin: 0 0 7px;\n  color: #6281aa;\n  font-size: 9px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 0.65px;\n  overflow-wrap: anywhere;\n}\n\n#annular-cm-journey .cmj-content h3 {\n  margin: 0 0 10px;\n  color: var(--cmj-navy);\n  font-size: 16px;\n  line-height: 1.4;\n  font-weight: 750;\n}\n\n#annular-cm-journey .cmj-content p {\n  margin: 0;\n  color: var(--cmj-muted);\n  font-size: 12px;\n  line-height: 1.75;\n  overflow-wrap: anywhere;\n}\n\n\/* OUTCOME PANEL *\/\n\n#annular-cm-journey .cmj-footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n  margin-top: 62px;\n  padding: 28px 32px;\n  border: 1px solid var(--cmj-border);\n  border-radius: 16px;\n  background: linear-gradient(110deg, #f1f7ff, #ffffff);\n}\n\n#annular-cm-journey .cmj-footer-content {\n  min-width: 0;\n}\n\n#annular-cm-journey .cmj-footer-label {\n  display: inline-block;\n  color: var(--cmj-blue);\n  font-size: 10px;\n  line-height: 1.5;\n  font-weight: 800;\n  letter-spacing: 1.5px;\n}\n\n#annular-cm-journey .cmj-footer h3 {\n  margin: 7px 0 0;\n  color: var(--cmj-navy);\n  font-size: 21px;\n  line-height: 1.45;\n  font-weight: 750;\n}\n\n\/* CTA BUTTON *\/\n\n#annular-cm-journey .cmj-cta {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  flex-shrink: 0;\n  max-width: 100%;\n  padding: 14px 20px;\n  border: 1px solid var(--cmj-blue);\n  border-radius: 8px;\n  background: var(--cmj-blue);\n  color: #ffffff !important;\n  font-size: 13px;\n  line-height: 1.5;\n  font-weight: 700;\n  text-decoration: none !important;\n  transition:\n    background 0.2s ease,\n    border-color 0.2s ease,\n    transform 0.2s ease;\n}\n\n#annular-cm-journey .cmj-cta span {\n  font-size: 16px;\n  line-height: 1;\n}\n\n#annular-cm-journey .cmj-cta:focus-visible {\n  outline: 3px solid rgba(23, 105, 232, 0.28);\n  outline-offset: 4px;\n}\n\n\/* HOVER EFFECTS *\/\n\n@media (hover: hover) and (pointer: fine) {\n  #annular-cm-journey .cmj-cta:hover {\n    background: var(--cmj-blue-dark);\n    border-color: var(--cmj-blue-dark);\n    color: #ffffff !important;\n    transform: translateY(-2px);\n  }\n}\n\n\/* TABLET: FOUR COLUMNS *\/\n\n@media (max-width: 1000px) {\n  #annular-cm-journey {\n    padding: 68px 22px;\n  }\n\n  #annular-cm-journey .cmj-heading {\n    margin-bottom: 48px;\n  }\n\n  #annular-cm-journey .cmj-timeline {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    column-gap: 0;\n    row-gap: 38px;\n  }\n\n  #annular-cm-journey .cmj-timeline::before {\n    display: none;\n  }\n\n  #annular-cm-journey .cmj-step {\n    padding: 0 5px;\n  }\n\n  #annular-cm-journey .cmj-marker {\n    margin-bottom: 19px;\n  }\n\n  #annular-cm-journey .cmj-content {\n    max-width: 230px;\n    padding: 0 9px;\n  }\n\n  #annular-cm-journey .cmj-stage {\n    min-height: 0;\n    margin-bottom: 8px;\n  }\n\n  #annular-cm-journey .cmj-content p {\n    font-size: 13px;\n  }\n\n  #annular-cm-journey .cmj-footer {\n    margin-top: 46px;\n  }\n}\n\n\/* MOBILE: TWO COLUMNS *\/\n\n@media (max-width: 600px) {\n  #annular-cm-journey {\n    padding: 56px 18px;\n  }\n\n  #annular-cm-journey .cmj-heading {\n    margin-bottom: 38px;\n  }\n\n  #annular-cm-journey .cmj-heading h2 {\n    font-size: clamp(27px, 7vw, 34px);\n    letter-spacing: -0.7px;\n  }\n\n  #annular-cm-journey .cmj-heading p {\n    font-size: 13px;\n    line-height: 1.8;\n  }\n\n  #annular-cm-journey .cmj-timeline {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    row-gap: 32px;\n  }\n\n  #annular-cm-journey .cmj-step {\n    padding: 0 3px;\n  }\n\n  #annular-cm-journey .cmj-marker {\n    width: 52px;\n    height: 52px;\n    margin-bottom: 16px;\n  }\n\n  #annular-cm-journey .cmj-marker span {\n    width: 39px;\n    height: 39px;\n    font-size: 12px;\n  }\n\n  #annular-cm-journey .cmj-content {\n    max-width: 260px;\n    padding: 0 7px;\n  }\n\n  #annular-cm-journey .cmj-stage {\n    font-size: 9px;\n  }\n\n  #annular-cm-journey .cmj-content h3 {\n    font-size: 16px;\n  }\n\n  #annular-cm-journey .cmj-content p {\n    font-size: 12px;\n    line-height: 1.75;\n  }\n\n  #annular-cm-journey .cmj-footer {\n    align-items: flex-start;\n    flex-direction: column;\n    gap: 19px;\n    margin-top: 40px;\n    padding: 24px 20px;\n  }\n\n  #annular-cm-journey .cmj-footer h3 {\n    font-size: 19px;\n  }\n\n  #annular-cm-journey .cmj-cta {\n    width: 100%;\n  }\n}\n\n\/* VERY SMALL MOBILE: VERTICAL TIMELINE *\/\n\n@media (max-width: 380px) {\n  #annular-cm-journey {\n    padding: 48px 16px;\n  }\n\n  #annular-cm-journey .cmj-timeline {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr);\n    row-gap: 0;\n    padding-left: 0;\n  }\n\n  #annular-cm-journey .cmj-timeline::before {\n    display: block;\n    top: 27px;\n    bottom: 27px;\n    left: 25px;\n    right: auto;\n    width: 2px;\n    height: auto;\n    background: linear-gradient(\n      180deg,\n      #c4dcff 0%,\n      #1769e8 48%,\n      #c4dcff 100%\n    );\n  }\n\n  #annular-cm-journey .cmj-step {\n    display: grid;\n    grid-template-columns: 52px minmax(0, 1fr);\n    align-items: start;\n    gap: 14px;\n    padding: 0 0 27px;\n    text-align: left;\n  }\n\n  #annular-cm-journey .cmj-step:last-child {\n    padding-bottom: 0;\n  }\n\n  #annular-cm-journey .cmj-marker {\n    width: 52px;\n    height: 52px;\n    margin: 0;\n  }\n\n  #annular-cm-journey .cmj-content {\n    max-width: none;\n    padding: 5px 0 0;\n  }\n\n  #annular-cm-journey .cmj-stage {\n    margin-bottom: 5px;\n  }\n\n  #annular-cm-journey .cmj-content h3 {\n    margin-bottom: 6px;\n  }\n\n  #annular-cm-journey .cmj-footer {\n    margin-top: 35px;\n  }\n}\n\n\/* REDUCED MOTION *\/\n\n@media (prefers-reduced-motion: reduce) {\n  #annular-cm-journey *,\n  #annular-cm-journey *::before,\n  #annular-cm-journey *::after {\n    scroll-behavior: auto !important;\n    animation: none !important;\n    transition: none !important;\n  }\n\n  #annular-cm-journey .cmj-cta:hover {\n    transform: none;\n  }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n<\/div><\/div><\/div><\/section><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-6 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><style>\n#annular-modernization-v2 {\n  --mv-blue: #1769e8;\n  --mv-navy: #17345c;\n  --mv-muted: #667991;\n  --mv-border: #e3ebf5;\n\n  padding: 80px 22px;\n  background: #f7faff;\n  font-family: Inter, Arial, sans-serif;\n  color: var(--mv-navy);\n  overflow: hidden;\n}\n\n#annular-modernization-v2 *,\n#annular-modernization-v2 *::before,\n#annular-modernization-v2 *::after {\n  box-sizing: border-box;\n}\n\n#annular-modernization-v2 .mv-wrap {\n  width: 100%;\n  max-width: 1160px;\n  margin: 0 auto;\n}\n\/* Heading *\/\n#annular-modernization-v2 .mv-heading {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  align-items: start;\n  gap: 0;\n  margin-bottom: 38px;\n}\n\n#annular-modernization-v2 .mv-heading-title {\n  min-width: 0;\n}\n\n#annular-modernization-v2 .mv-heading h2 {\n  margin: 0;\n  color: var(--mv-navy);\n  font-size: clamp(30px, 3.7vw, 43px);\n  font-weight: 780;\n  line-height: 1.2;\n  letter-spacing: -1.1px;\n}\n\n#annular-modernization-v2 .mv-heading h2 span {\n  color: var(--mv-blue);\n}\n\n#annular-modernization-v2 .mv-description {\n  max-width: 700px;\n  margin: 18px 0 0;\n  color: var(--mv-muted);\n  font-size: 13px;\n  line-height: 1.9;\n}\n\n\/* Main asymmetric layout *\/\n#annular-modernization-v2 .mv-layout {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n  gap: 20px;\n  align-items: stretch;\n}\n\n\/* Main feature card *\/\n#annular-modernization-v2 .mv-feature {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  min-width: 0;\n  min-height: 470px;\n  padding: 34px;\n  overflow: hidden;\n  border: 1px solid #d6e6fb;\n  border-radius: 20px;\n  background:\n    radial-gradient(\n      circle at 90% 15%,\n      rgba(174, 211, 255, 0.55),\n      transparent 36%\n    ),\n    linear-gradient(145deg, #edf5ff, #ffffff 76%);\n}\n\n#annular-modernization-v2 .mv-feature::after {\n  content: \"\";\n  position: absolute;\n  right: -75px;\n  bottom: -105px;\n  width: 280px;\n  height: 280px;\n  border: 1px solid rgba(23, 105, 232, 0.12);\n  border-radius: 50%;\n  box-shadow:\n    0 0 0 30px rgba(23, 105, 232, 0.025),\n    0 0 0 60px rgba(23, 105, 232, 0.025);\n  pointer-events: none;\n}\n\n#annular-modernization-v2 .mv-feature-top,\n#annular-modernization-v2 .mv-feature-bottom {\n  position: relative;\n  z-index: 1;\n}\n\n#annular-modernization-v2 .mv-index {\n  display: inline-flex;\n  align-items: center;\n  gap: 9px;\n  color: var(--mv-blue);\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 1.2px;\n}\n\n#annular-modernization-v2 .mv-index span {\n  display: grid;\n  flex: 0 0 34px;\n  width: 34px;\n  height: 34px;\n  place-items: center;\n  border: 1px solid #d9e8fb;\n  border-radius: 10px;\n  background: #ffffff;\n}\n\n#annular-modernization-v2 .mv-feature-icon {\n  display: grid;\n  place-items: center;\n  width: 76px;\n  height: 76px;\n  margin: 38px 0 23px;\n  border: 1px solid #d2e4fc;\n  border-radius: 21px;\n  background: rgba(255, 255, 255, 0.9);\n  color: var(--mv-blue);\n  box-shadow: 0 12px 30px rgba(23, 105, 232, 0.08);\n}\n\n#annular-modernization-v2 .mv-feature-icon svg {\n  display: block;\n  width: 36px;\n  height: 36px;\n}\n\n#annular-modernization-v2 .mv-feature h3 {\n  max-width: 390px;\n  margin: 0 0 14px;\n  color: var(--mv-navy);\n  font-size: clamp(24px, 2.5vw, 31px);\n  line-height: 1.28;\n  letter-spacing: -0.6px;\n  font-weight: 780;\n}\n\n#annular-modernization-v2 .mv-feature p {\n  max-width: 420px;\n  margin: 0;\n  color: var(--mv-muted);\n  font-size: 13px;\n  line-height: 1.9;\n}\n\n#annular-modernization-v2 .mv-feature-tag {\n  display: inline-flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 25px;\n  padding: 10px 13px;\n  border: 1px solid #d8e7fa;\n  border-radius: 8px;\n  background: rgba(255, 255, 255, 0.82);\n  color: #345b8b;\n  font-size: 11px;\n  font-weight: 700;\n}\n\n#annular-modernization-v2 .mv-feature-tag span {\n  color: var(--mv-blue);\n}\n\n\/* Supporting priority cards *\/\n#annular-modernization-v2 .mv-side {\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n  min-width: 0;\n}\n\n#annular-modernization-v2 .mv-item {\n  display: grid;\n  grid-template-columns: 47px minmax(0, 1fr);\n  align-items: start;\n  gap: 16px;\n  flex: 1 1 0;\n  min-width: 0;\n  padding: 22px;\n  border: 1px solid var(--mv-border);\n  border-radius: 15px;\n  background: #ffffff;\n  transition:\n    border-color 0.2s ease,\n    transform 0.2s ease,\n    box-shadow 0.2s ease;\n}\n\n#annular-modernization-v2 .mv-item:hover {\n  transform: translateY(-2px);\n  border-color: #bfd8fa;\n  box-shadow: 0 9px 24px rgba(23, 52, 92, 0.06);\n}\n\n#annular-modernization-v2 .mv-item-icon {\n  display: grid;\n  flex: 0 0 47px;\n  place-items: center;\n  width: 47px;\n  height: 47px;\n  border: 1px solid #dce9fa;\n  border-radius: 13px;\n  background: #f0f6ff;\n  color: var(--mv-blue);\n}\n\n#annular-modernization-v2 .mv-item-icon svg {\n  display: block;\n  width: 23px;\n  height: 23px;\n}\n\n#annular-modernization-v2 .mv-item-number {\n  display: block;\n  margin-bottom: 6px;\n  color: #8ba6c9;\n  font-size: 10px;\n  font-weight: 800;\n  letter-spacing: 1px;\n}\n\n#annular-modernization-v2 .mv-item h3 {\n  margin: 0 0 8px;\n  color: var(--mv-navy);\n  font-size: 15px;\n  line-height: 1.45;\n  font-weight: 750;\n}\n\n#annular-modernization-v2 .mv-item p {\n  margin: 0;\n  color: var(--mv-muted);\n  font-size: 12px;\n  line-height: 1.8;\n}\n\n\/* Bottom statement *\/\n#annular-modernization-v2 .mv-footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 20px;\n  margin-top: 22px;\n  padding: 22px 26px;\n  border: 1px solid var(--mv-border);\n  border-radius: 13px;\n  background: #ffffff;\n}\n\n#annular-modernization-v2 .mv-footer p {\n  margin: 0;\n  color: var(--mv-muted);\n  font-size: 12px;\n  line-height: 1.8;\n}\n\n#annular-modernization-v2 .mv-footer strong {\n  color: var(--mv-navy);\n}\n\n#annular-modernization-v2 .mv-footer-mark {\n  display: grid;\n  flex: 0 0 38px;\n  width: 38px;\n  height: 38px;\n  place-items: center;\n  border-radius: 11px;\n  background: #edf5ff;\n  color: var(--mv-blue);\n  font-size: 20px;\n}\n\n\/* Tablet *\/\n@media (max-width: 900px) {\n  #annular-modernization-v2 {\n    padding: 65px 22px;\n  }\n\n  #annular-modernization-v2 .mv-heading {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 0;\n  }\n\n  #annular-modernization-v2 .mv-description {\n    max-width: 700px;\n  }\n\n  #annular-modernization-v2 .mv-layout {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 18px;\n  }\n\n  #annular-modernization-v2 .mv-feature {\n    min-height: 0;\n    padding: 30px;\n  }\n\n  #annular-modernization-v2 .mv-feature-bottom {\n    margin-top: 25px;\n  }\n\n  #annular-modernization-v2 .mv-side {\n    gap: 12px;\n  }\n\n  #annular-modernization-v2 .mv-item {\n    flex: initial;\n    padding: 21px;\n  }\n}\n\n\/* Mobile *\/\n@media (max-width: 560px) {\n  #annular-modernization-v2 {\n    padding: 48px 16px;\n  }\n\n  #annular-modernization-v2 .mv-heading {\n    gap: 13px;\n    margin-bottom: 26px;\n  }\n\n\/* Keyboard focus and reduced motion *\/\n@media (prefers-reduced-motion: reduce) {\n  #annular-modernization-v2 *,\n  #annular-modernization-v2 *::before,\n  #annular-modernization-v2 *::after {\n    transition: none !important;\n    scroll-behavior: auto !important;\n  }\n\n  #annular-modernization-v2 .mv-item:hover {\n    transform: none;\n  }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n\n<section id=\"annular-modernization-v2\">\n  <div class=\"mv-wrap\">\n\n    <header class=\"mv-heading\">\n      <div class=\"mv-heading-title\">\n<h2>\n          Modernize the Foundation.<br>\n          <span>Strengthen What Comes Next.<\/span>\n        <\/h2>\n\n        <p class=\"mv-description\">\n          Engineering-led modernization focused on architectural longevity,\n          team maintainability and operational stability\u2014not trend-chasing.\n        <\/p>\n      <\/div>\n    <\/header>\n\n    <div class=\"mv-layout\">\n\n      <article class=\"mv-feature\">\n        <div class=\"mv-feature-top\">\n\n          <span class=\"mv-index\">\n            <span>01<\/span>\n            CORE PRIORITY\n          <\/span>\n\n          <div class=\"mv-feature-icon\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"\n                 stroke=\"currentColor\" stroke-width=\"1.7\"\n                 stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/>\n              <path d=\"M7 8h10M7 12h10M7 16h6\"\/>\n            <\/svg>\n          <\/div>\n\n          <h3>Application Architecture & Dependencies<\/h3>\n\n          <p>\n            Refactor legacy monoliths, decouple tightly bound services,\n            and assess third-party APIs to prepare applications for\n            modern cloud runtimes.\n          <\/p>\n\n        <\/div>\n\n        <div class=\"mv-feature-bottom\">\n          <span class=\"mv-feature-tag\">\n            <span aria-hidden=\"true\">\u2197<\/span>\n            Architecture built for maintainability\n          <\/span>\n        <\/div>\n      <\/article>\n\n      <div class=\"mv-side\">\n\n        <article class=\"mv-item\">\n          <div class=\"mv-item-icon\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"\n                 stroke=\"currentColor\" stroke-width=\"1.8\"\n                 stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/>\n              <path d=\"m9 12 2 2 4-4\"\/>\n            <\/svg>\n          <\/div>\n\n          <div>\n            <span class=\"mv-item-number\">PRIORITY 02<\/span>\n            <h3>Compatibility & Validation<\/h3>\n            <p>\n              Use regression testing, dependency verification and functional\n              data parity checks across legacy and new environments.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"mv-item\">\n          <div class=\"mv-item-icon\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"\n                 stroke=\"currentColor\" stroke-width=\"1.8\"\n                 stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"m14.7 6.3 3 3\"\/>\n              <path d=\"M4 20l6.8-6.8a5.5 5.5 0 0 0 7.1-7.1l-3.3 3.3-3-3.1 3.3-3.3a5.5 5.5 0 0 0-7.1 7.1L1 16.8A2.3 2.3 0 0 0 4 20Z\"\/>\n            <\/svg>\n          <\/div>\n\n          <div>\n            <span class=\"mv-item-number\">PRIORITY 03<\/span>\n            <h3>Technical Debt & Maintainability<\/h3>\n            <p>\n              Replace obsolete runtime libraries, update frameworks to\n              supported LTS releases, and improve ongoing support documentation.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"mv-item\">\n          <div class=\"mv-item-icon\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\"\n                 stroke=\"currentColor\" stroke-width=\"1.8\"\n                 stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <polyline points=\"16 18 22 12 16 6\"\/>\n              <polyline points=\"8 6 2 12 8 18\"\/>\n            <\/svg>\n          <\/div>\n\n          <div>\n            <span class=\"mv-item-number\">PRIORITY 04<\/span>\n            <h3>Deployment & Operational Readiness<\/h3>\n            <p>\n              Improve CI\/CD automation, Docker and Kubernetes deployment\n              practices, and centralized monitoring for application health.\n            <\/p>\n          <\/div>\n        <\/article>\n\n      <\/div>\n    <\/div>\n\n    <div class=\"mv-footer\">\n      <p>\n        <strong>Modernization with a clear engineering purpose.<\/strong>\n        Align technical improvements with your architecture, operational\n        needs and long-term maintenance goals.\n      <\/p>\n\n      <span class=\"mv-footer-mark\" aria-hidden=\"true\">\u2197<\/span>\n    <\/div>\n\n  <\/div>\n<\/section>\n<\/div><\/div><\/div><\/section><section class=\"fusion-fullwidth fullwidth-box fusion-builder-row-7 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-align-content-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-stretch\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><style id=\"cm-cta-styles\">\n.cm-cta-section {\n  padding: 85px 0 95px;\n  background: radial-gradient(ellipse at 50% 0%, rgba(8, 120, 209, 0.08) 0%, transparent 70%), linear-gradient(180deg, #f0f7ff 0%, #ffffff 100%);\n  color: var(--cm-navy);\n  border-top: 1px solid var(--cm-border);\n  position: relative;\n  overflow: hidden;\n}\n.cm-cta-section::before {\n  content: \"\";\n  position: absolute;\n  top: -100px;\n  right: -100px;\n  width: 400px;\n  height: 400px;\n  border-radius: 50%;\n  background: radial-gradient(circle, rgba(8, 120, 209, 0.08) 0%, transparent 70%);\n  pointer-events: none;\n}\n.cm-cta-box {\n  text-align: center;\n  max-width: 760px;\n  margin: 0 auto;\n  position: relative;\n  z-index: 1;\n}\n.cm-cta-box .cm-eyebrow {\n  background: var(--cm-blue-light);\n  border-color: #bfdbfe;\n  color: var(--cm-blue);\n}\n.cm-cta-box .cm-eyebrow-dot {\n  background: var(--cm-blue);\n  box-shadow: 0 0 0 3px rgba(8, 120, 209, 0.2);\n}\n.cm-cta-box h2 {\n  font-size: clamp(32px, 3.8vw, 46px);\n  font-weight: 850;\n  color: var(--cm-navy);\n  line-height: 1.2;\n  letter-spacing: -0.03em;\n  margin: 0 0 18px;\n}\n.cm-cta-box p {\n  font-size: 16px;\n  line-height: 1.75;\n  color: var(--cm-muted);\n  margin: 0 0 36px;\n}\n.cm-cta-btns {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  flex-wrap: wrap;\n  margin-bottom: 24px;\n}\n.cm-cta-btn-primary {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  background: #0878d1 !important;\n  color: #ffffff !important;\n  font-size: 15px;\n  font-weight: 750;\n  padding: 14px 28px;\n  border-radius: var(--cm-radius-sm);\n  text-decoration: none !important;\n  border: 1px solid #0878d1 !important;\n  box-shadow: 0 8px 24px rgba(8, 120, 209, 0.25);\n  transition: all 0.22s ease;\n}\n.cm-cta-btn-primary:hover {\n  background: #065ea5 !important;\n  transform: translateY(-2px);\n  box-shadow: 0 12px 28px rgba(8, 120, 209, 0.35);\n}\n.cm-cta-btn-secondary {\n  display: inline-flex;\n  align-items: center;\n  background: #ffffff !important;\n  color: var(--cm-navy) !important;\n  font-size: 15px;\n  font-weight: 750;\n  padding: 14px 28px;\n  border-radius: var(--cm-radius-sm);\n  text-decoration: none !important;\n  border: 1px solid var(--cm-border) !important;\n  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);\n  transition: all 0.22s ease;\n}\n.cm-cta-btn-secondary:hover {\n  border-color: var(--cm-blue) !important;\n  color: var(--cm-blue) !important;\n  transform: translateY(-2px);\n}\n.cm-cta-note {\n  font-size: 13px;\n  color: var(--cm-slate);\n}\n\n@media (max-width: 500px) {\n  .cm-cta-btns { flex-direction: column; }\n  .cm-cta-btn-primary, .cm-cta-btn-secondary { width: 100%; justify-content: center; }\n}\n\n\/* ==========================================================================\n   STANDARDIZED PRIMARY & SECONDARY BUTTON SYSTEM\n   Primary:\n     Background: var(--adm-blue-primary) -> #0052FF\n     Button text: var(--adm-white) -> #FFFFFF\n     Hover background: var(--adm-blue-deep) -> #003087\n     Border: rgba(255, 255, 255, 0.3)\n     Hover shadow: rgba(0, 82, 255, 0.42)\n   Secondary:\n     Background: #FFFFFF | Text: #0F172A | Border: #CBD5E1\n     Hover background: #F8FAFC | Hover text: #2563EB\n   ========================================================================== *\/\n.cm-section-wrap .cm-btn-primary,\n.cm-btn-primary,\n.cm-cta-btn-primary {\n  background: #0052ff !important;\n  color: #ffffff !important;\n  border: 1px solid rgba(255, 255, 255, 0.3) !important;\n  box-shadow: 0 8px 24px -2px rgba(0, 82, 255, 0.28) !important;\n  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary:hover,\n.cm-btn-primary:hover,\n.cm-cta-btn-primary:hover {\n  background: #003087 !important;\n  color: #ffffff !important;\n  border-color: rgba(255, 255, 255, 0.3) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 12px 30px -2px rgba(0, 82, 255, 0.42) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-primary svg, .cm-section-wrap .cm-btn-primary span,\n.cm-btn-primary svg, .cm-btn-primary span,\n.cm-cta-btn-primary svg, .cm-cta-btn-primary span {\n  color: #ffffff !important;\n  -webkit-text-fill-color: #ffffff !important;\n}\n\n.cm-section-wrap .cm-btn-secondary,\n.cm-btn-secondary,\n.cm-cta-btn-secondary {\n  background: #ffffff !important;\n  color: #0f172a !important;\n  border: 1.5px solid #cbd5e1 !important;\n  border-color: #cbd5e1 !important;\n  transition: all 0.2s ease !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover,\n.cm-btn-secondary:hover,\n.cm-cta-btn-secondary:hover {\n  background: #f8fafc !important;\n  color: #2563eb !important;\n  border-color: #cbd5e1 !important;\n  transform: translateY(-2px) !important;\n  text-decoration: none !important;\n}\n\n.cm-section-wrap .cm-btn-secondary svg, .cm-section-wrap .cm-btn-secondary span,\n.cm-btn-secondary svg, .cm-btn-secondary span,\n.cm-cta-btn-secondary svg, .cm-cta-btn-secondary span {\n  color: #0f172a !important;\n  -webkit-text-fill-color: #0f172a !important;\n}\n\n.cm-section-wrap .cm-btn-secondary:hover svg, .cm-section-wrap .cm-btn-secondary:hover span,\n.cm-btn-secondary:hover svg, .cm-btn-secondary:hover span,\n.cm-cta-btn-secondary:hover svg, .cm-cta-btn-secondary:hover span {\n  color: #2563eb !important;\n  -webkit-text-fill-color: #2563eb !important;\n}\n\n\/* ==========================================================================\n   STANDARDIZED HEADINGS ACCENT TEXT GRADIENT\n   Starting blue: #0052FF | Ending deep blue: #002B80 | Angle: 135deg\n   ========================================================================== *\/\n.cm-section-wrap h1 span,\n.cm-section-wrap h2 span,\n.cm-blue-text,\n#annular-cloud-visual .acv-heading h2 span,\n#annular-migration-paths .mp-heading h2 span,\n#annular-cm-journey .cmj-heading h2 span,\n#annular-modernization-v2 .mv-heading h2 span {\n  background: linear-gradient(135deg, #0052ff 0%, #002b80 100%) !important;\n  -webkit-background-clip: text !important;\n  -webkit-text-fill-color: transparent !important;\n  background-clip: text !important;\n  color: transparent !important;\n  display: inline-block !important;\n}\n\n<\/style>\n\n<div class=\"cm-section-wrap\">\n  <section class=\"cm-cta-section\" id=\"cm-contact-cta\">\n    <div class=\"cm-container\">\n      <div class=\"cm-cta-box\">\n        <span class=\"cm-eyebrow\">\n          <span class=\"cm-eyebrow-dot\"><\/span>\n          GET STARTED\n        <\/span>\n        <h2>Planning a Cloud <span class=\"cm-blue-text\">Migration?<\/span><\/h2>\n        <p>Talk to Annular about your current environment, migration goals and application modernization requirements.<\/p>\n        <div class=\"cm-cta-btns\">\n          <a href=\"\/contact\/\" class=\"cm-cta-btn-primary\">\n            Discuss Your Migration\n            <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n          <\/a>\n          <a href=\"\/contact\/\" class=\"cm-cta-btn-secondary\">Contact Annular<\/a>\n        <\/div>\n        <div class=\"cm-cta-note\">Direct consultation with experienced cloud and application engineers.<\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div><\/div><\/div><\/div><\/section><br \/>\n<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-8 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><!-- =====================================================\n ANNULAR TECHNOLOGIES | TWO-STEP CONSULTATION POPUP\n WordPress \/ Avada + EmailJS + Email OTP\n Responsive Form + PODS \/ Annular Domain Detection\n===================================================== -->\n\n<style>\n#annular-open {\n  display:inline-flex;align-items:center;justify-content:center;\n  min-height:48px;padding:13px 25px;border:0;border-radius:30px;\n  max-width: 40%;\n  background:#175cff;color:#fff;font-family:inherit;font-size:14px;\n  font-weight:600;cursor:pointer;transition:.2s;\n}\n#annular-open:hover {background:#1048d8;transform:translateY(-1px)}\n\nhtml.annular-popup-open,body.annular-popup-open {\n  overflow:hidden!important;\n}\n\n#annular-modal,#annular-thankyou-modal {\n  display:none;position:fixed!important;inset:0!important;\n  z-index:2147483647!important;width:100%!important;height:100vh!important;\n  height:100dvh!important;box-sizing:border-box!important;padding:16px!important;\n  align-items:center!important;justify-content:center!important;\n  overflow-y:auto!important;background:rgba(15,23,42,.68);\n}\n#annular-modal.is-open,#annular-thankyou-modal.is-open {\n  display:flex!important;\n}\n\n#annular-modal .annular-card {\n  position:relative;width:100%;max-width:480px;\n  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);\n  box-sizing:border-box;margin:auto;padding:27px;\n  overflow-y:auto;overscroll-behavior:contain;\n  border:1px solid #eaecf0;border-radius:20px;\n  background:#fff;color:#171717;box-shadow:0 20px 70px #0003;\n}\n\n#annular-modal h3 {\n  margin:0 42px 8px 0;color:#171717;font-size:25px;\n  font-weight:700;line-height:1.3;\n}\n#annular-modal .annular-description {\n  margin:0 0 20px;color:#667085;font-size:13px;line-height:1.7;\n}\n\n#annular-close,#annular-thankyou-close {\n  position:absolute;top:12px;right:12px;display:flex;\n  align-items:center;justify-content:center;width:34px;height:34px;\n  padding:0;border:0;border-radius:50%;background:#f3f4f6;\n  color:#4b5563;font-size:24px;cursor:pointer;\n}\n#annular-close:hover,#annular-thankyou-close:hover {\n  background:#e5e7eb;\n}\n\n#annular-modal .annular-progress {\n  display:flex;align-items:center;gap:10px;margin:0 0 20px;\n}\n#annular-modal .annular-progress-line {\n  flex:1;height:3px;border-radius:5px;background:#e5e7eb;\n}\n#annular-modal .annular-progress-line.active {\n  background:#175cff;\n}\n#annular-modal .annular-step-label {\n  margin-bottom:8px;color:#175cff;font-size:11px;font-weight:700;\n  letter-spacing:1px;text-transform:uppercase;\n}\n#annular-modal #annular-form {\n  width:100%;margin:0;\n}\n#annular-modal .annular-screen[hidden],\n#annular-modal #annular-otp-area[hidden] {\n  display:none!important;\n}\n#annular-modal .annular-field {\n  width:100%;min-width:0;margin:0 0 16px;\n}\n#annular-modal label {\n  display:block;margin-bottom:7px;color:#344054;font-size:13px;\n  font-weight:600;line-height:1.4;\n}\n#annular-modal input,#annular-modal textarea {\n  display:block;width:100%;min-width:0;min-height:46px;\n  box-sizing:border-box;margin:0;padding:12px 14px;\n  border:1px solid #d0d5dd;border-radius:11px;background:#fff;\n  color:#171717;font-family:inherit;font-size:14px;line-height:1.5;\n  box-shadow:none;transition:border-color .2s,box-shadow .2s;\n}\n#annular-modal textarea {\n  min-height:105px;resize:vertical;\n}\n#annular-modal input::placeholder,\n#annular-modal textarea::placeholder {\n  color:#98a2b3;\n}\n#annular-modal input:focus,#annular-modal textarea:focus {\n  border-color:#175cff;outline:none;box-shadow:0 0 0 3px #175cff1f;\n}\n#annular-modal button,#annular-thankyou-modal button {\n  font-family:inherit;\n}\n\n#annular-modal .annular-inline-row {\n  display:flex;align-items:stretch;gap:8px;width:100%;\n}\n#annular-modal .annular-inline-row input {\n  flex:1 1 auto;width:100%;\n}\n#annular-send-otp,#annular-verify {\n  display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;\n  min-height:46px;padding:10px 14px;border:0;border-radius:25px;\n  background:#eaf0ff;color:#175cff;font-size:12px;font-weight:700;\n  white-space:nowrap;cursor:pointer;\n}\n#annular-send-otp:hover:not(:disabled),\n#annular-verify:hover:not(:disabled) {\n  background:#d9e5ff;\n}\n#annular-send-otp:disabled,#annular-verify:disabled {\n  opacity:.5;cursor:not-allowed;\n}\n#annular-otp-area {\n  margin:0 0 16px;padding:15px;border:1px solid #e4e9f2;\n  border-radius:14px;background:#f8faff;\n}\n#annular-modal #annular-otp {\n  letter-spacing:5px;font-size:17px;font-weight:700;\n}\n\n#annular-next,#annular-submit,#annular-back {\n  display:inline-flex;align-items:center;justify-content:center;\n  min-height:47px;box-sizing:border-box;padding:12px 18px;\n  border:0;border-radius:28px;font-size:14px;font-weight:700;\n  cursor:pointer;transition:background .2s,opacity .2s;\n}\n#annular-next,#annular-submit {\n  width:100%;background:#175cff;color:#fff;\n}\n#annular-next:hover:not(:disabled),\n#annular-submit:hover:not(:disabled) {\n  background:#1048d8;\n}\n#annular-next:disabled,#annular-submit:disabled {\n  opacity:.5;cursor:not-allowed;\n}\n#annular-back {\n  flex:0 0 auto;background:#f2f4f7;color:#344054;\n}\n#annular-back:hover {\n  background:#e4e7ec;\n}\n#annular-step2-actions {\n  display:flex;gap:10px;margin-top:8px;\n}\n#annular-step2-actions #annular-submit {\n  flex:1;\n}\n#annular-status {\n  margin-top:12px;color:#475569;font-size:12px;line-height:1.6;\n  overflow-wrap:anywhere;\n}\n#annular-status:empty {\n  display:none;\n}\n#annular-status.success {\n  color:#087443;\n}\n#annular-status.error {\n  color:#b42318;\n}\n\n#annular-thankyou-modal .annular-thankyou-card {\n  position:relative;width:100%;max-width:420px;box-sizing:border-box;\n  margin:auto;padding:40px 30px 30px;border:1px solid #eaecf0;\n  border-radius:22px;background:#fff;color:#171717;text-align:center;\n  box-shadow:0 24px 80px #0005;animation:annular-thankyou-in .25s ease-out;\n}\n#annular-thankyou-modal .annular-success-icon {\n  display:flex;align-items:center;justify-content:center;width:66px;height:66px;\n  margin:0 auto 20px;border:1px solid #b7ebcf;border-radius:50%;\n  background:#ecfdf3;color:#087443;font-size:34px;font-weight:700;\n}\n#annular-thankyou-modal h3 {\n  margin:0 0 12px;font-size:25px;font-weight:700;\n}\n#annular-thankyou-modal .annular-thankyou-message {\n  margin:0 auto 24px;max-width:320px;color:#667085;font-size:14px;line-height:1.8;\n}\n#annular-thankyou-modal .annular-thankyou-button {\n  width:100%;min-height:46px;padding:12px 20px;border:0;border-radius:28px;\n  background:#175cff;color:#fff;font-size:14px;font-weight:700;cursor:pointer;\n}\n#annular-thankyou-modal .annular-thankyou-button:hover {\n  background:#1048d8;\n}\n@keyframes annular-thankyou-in {\n  from {opacity:0;transform:translateY(12px) scale(.98)}\n  to {opacity:1;transform:translateY(0) scale(1)}\n}\n\n@media(max-width:600px) {\n  #annular-modal {padding:10px!important}\n  #annular-modal .annular-card {\n    max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);\n    padding:22px 17px;border-radius:17px;\n  }\n  #annular-modal h3 {font-size:22px}\n  #annular-modal .annular-description {margin-bottom:16px}\n  #annular-modal input,#annular-modal textarea {font-size:16px}\n  #annular-modal .annular-inline-row {gap:6px}\n  #annular-send-otp,#annular-verify {padding:9px 10px;font-size:11px}\n  #annular-thankyou-modal .annular-thankyou-card {padding:36px 22px 24px}\n}\n@media(max-height:650px) {\n  #annular-modal {align-items:flex-start!important;padding:10px!important}\n  #annular-modal .annular-card {\n    max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);\n    margin:0 auto;padding-top:18px;padding-bottom:18px;\n  }\n  #annular-modal .annular-field {margin-bottom:12px}\n}\n<\/style>\n\n<!-- OPEN BUTTON -->\n\n\n<!-- CONSULTATION POPUP -->\n<div id=\"annular-modal\" role=\"dialog\" aria-modal=\"true\"\n     aria-labelledby=\"annular-title\" aria-hidden=\"true\">\n  <div class=\"annular-card\">\n    <button id=\"annular-close\" type=\"button\" aria-label=\"Close form\">\u00d7<\/button>\n\n    <h3 id=\"annular-title\">Discuss Your Migration<\/h3>\n    <p class=\"annular-description\">\n      Share your requirements and our team will get in touch.\n    <\/p>\n\n    <div class=\"annular-progress\" aria-label=\"Form progress\">\n      <div id=\"annular-progress-1\" class=\"annular-progress-line active\"><\/div>\n      <div id=\"annular-progress-2\" class=\"annular-progress-line\"><\/div>\n    <\/div>\n\n    <form id=\"annular-form\">\n      <!-- STEP 1 -->\n      <section id=\"annular-screen-1\" class=\"annular-screen\">\n        <div class=\"annular-step-label\">Step 1 of 2<\/div>\n\n        <div class=\"annular-field\">\n          <label for=\"annular-name\">Full Name *<\/label>\n          <input id=\"annular-name\" name=\"user_name\" type=\"text\"\n                 placeholder=\"Enter your full name\" autocomplete=\"name\"\n                 maxlength=\"120\" required>\n        <\/div>\n\n        <div class=\"annular-field\">\n          <label for=\"annular-email\">Email *<\/label>\n          <div class=\"annular-inline-row\">\n            <input id=\"annular-email\" name=\"user_email\" type=\"email\"\n                   placeholder=\"Enter your email address\" autocomplete=\"email\"\n                   maxlength=\"254\" required>\n            <button id=\"annular-send-otp\" type=\"button\" disabled>Send OTP<\/button>\n          <\/div>\n        <\/div>\n\n        <div id=\"annular-otp-area\" hidden>\n          <div class=\"annular-field\">\n            <label for=\"annular-otp\">Enter Email OTP *<\/label>\n            <div class=\"annular-inline-row\">\n              <input id=\"annular-otp\" name=\"otp\" type=\"text\"\n                     inputmode=\"numeric\" autocomplete=\"one-time-code\"\n                     maxlength=\"6\" pattern=\"[0-9]{6}\" placeholder=\"6-digit OTP\">\n              <button id=\"annular-verify\" type=\"button\">Verify<\/button>\n            <\/div>\n          <\/div>\n          <p style=\"margin:0;color:#667085;font-size:12px;line-height:1.6\">\n            Check your inbox and spam folder for the verification code.\n          <\/p>\n        <\/div>\n\n        <button id=\"annular-next\" type=\"button\" disabled style=\"margin-top:8px\">\n          Continue \u2192\n        <\/button>\n      <\/section>\n\n      <!-- STEP 2 -->\n      <section id=\"annular-screen-2\" class=\"annular-screen\" hidden>\n        <div class=\"annular-step-label\">Step 2 of 2<\/div>\n        <p style=\"margin:0 0 17px;color:#667085;font-size:13px;line-height:1.6\">\n          Your email is verified. Tell us a little more about your requirements.\n        <\/p>\n\n        <div class=\"annular-field\">\n          <label for=\"annular-mobile\">Mobile Number *<\/label>\n          <input id=\"annular-mobile\" name=\"user_mobile\" type=\"tel\"\n                 placeholder=\"Enter your mobile number\" autocomplete=\"tel\"\n                 maxlength=\"20\" pattern=\"[+]?[0-9 ()-]{7,20}\"\n                 title=\"Enter a valid mobile number.\" required>\n        <\/div>\n\n        <div class=\"annular-field\">\n          <label for=\"annular-help\">How Can We Help? *<\/label>\n          <textarea id=\"annular-help\" name=\"message\"\n                    placeholder=\"Tell us about your project or requirements\"\n                    maxlength=\"4000\" required><\/textarea>\n        <\/div>\n\n        <div id=\"annular-step2-actions\">\n          <button id=\"annular-back\" type=\"button\">\u2190 Back<\/button>\n          <button id=\"annular-submit\" type=\"submit\" disabled>Submit Enquiry<\/button>\n        <\/div>\n      <\/section>\n\n      <div id=\"annular-status\" role=\"status\" aria-live=\"polite\"><\/div>\n    <\/form>\n  <\/div>\n<\/div>\n\n<!-- THANK-YOU POPUP -->\n<div id=\"annular-thankyou-modal\" role=\"dialog\" aria-modal=\"true\"\n     aria-labelledby=\"annular-thankyou-title\"\n     aria-describedby=\"annular-thankyou-description\" aria-hidden=\"true\">\n  <div class=\"annular-thankyou-card\">\n    <button id=\"annular-thankyou-close\" type=\"button\"\n            aria-label=\"Close thank-you message\">\u00d7<\/button>\n\n    <div class=\"annular-success-icon\" aria-hidden=\"true\">\u2713<\/div>\n    <h3 id=\"annular-thankyou-title\">Thank You!<\/h3>\n    <p id=\"annular-thankyou-description\" class=\"annular-thankyou-message\">\n      Your consultation request has been submitted successfully.\n      Our team will review your requirements and get in touch with you soon.\n    <\/p>\n    <button id=\"annular-thankyou-done\" type=\"button\"\n            class=\"annular-thankyou-button\">Done<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@emailjs\/browser@4\/dist\/email.min.js\"><\/script>\n\n<script>\n(() => {\n  \"use strict\";\n\n  \/* EMAILJS SETTINGS *\/\n  const SERVICE_ID = \"service_56m8mns\";\n  const PUBLIC_KEY = \"7krsXzZ1B4qnPrCGC\";\n  const OTP_TEMPLATE_ID = \"template_6r4w7s6\";\n  const ENQUIRY_TEMPLATE_ID = \"template_ol5pw49\";\n\n  \/* WEBSITE DETECTION *\/\n  const hostname = window.location.hostname.toLowerCase().replace(\/\\.$\/, \"\");\n\n  const isPods = [\n    \"pods.annulartechnologies.com\",\n    \"www.pods.annulartechnologies.com\"\n  ].includes(hostname);\n\n  const isAnnular = [\n    \"annulartechnologies.com\",\n    \"www.annulartechnologies.com\",\n    \"web.annulartechnologies.com\"\n  ].includes(hostname);\n\n  const $ = id => document.getElementById(id);\n\n  const openButton = $(\"annular-open\") || { addEventListener: () => {}, focus: () => {} };\n  let currentServiceContext = \"Cloud Migration & Modernization\";\n  let currentTitleContext = \"Discuss Your Migration\";\n  const modal = $(\"annular-modal\");\n  const thankyouModal = $(\"annular-thankyou-modal\");\n  const form = $(\"annular-form\");\n\n  const nameInput = $(\"annular-name\");\n  const emailInput = $(\"annular-email\");\n  const mobileInput = $(\"annular-mobile\");\n  const helpInput = $(\"annular-help\");\n  const otpArea = $(\"annular-otp-area\");\n  const otpInput = $(\"annular-otp\");\n\n  const sendButton = $(\"annular-send-otp\");\n  const verifyButton = $(\"annular-verify\");\n  const nextButton = $(\"annular-next\");\n  const backButton = $(\"annular-back\");\n  const submitButton = $(\"annular-submit\");\n  const status = $(\"annular-status\");\n\n  let currentOTP = \"\";\n  let verifiedEmail = \"\";\n  let otpExpiresAt = 0;\n  let otpAttempts = 0;\n  let resendAvailableAt = 0;\n  let resendTimer = null;\n  let sendingOTP = false;\n  let sendingEnquiry = false;\n  let requestVersion = 0;\n  let previousFocus = null;\n  let previousBodyOverflow = \"\";\n  let previousHtmlOverflow = \"\";\n\n  \/* Move popups outside Avada containers *\/\n  document.body.appendChild(modal);\n  document.body.appendChild(thankyouModal);\n\n  function setStatus(message, type = \"\") {\n    status.textContent = message;\n    status.className = type;\n  }\n\n  function getEmail() {\n    return emailInput.value.trim().toLowerCase();\n  }\n\n  function emailJSReady() {\n    return Boolean(window.emailjs &&\n      typeof window.emailjs.send === \"function\");\n  }\n\n  if (emailJSReady()) {\n    window.emailjs.init({ publicKey: PUBLIC_KEY });\n  } else {\n    setStatus(\"Email service failed to load. Refresh the page and try again.\", \"error\");\n  }\n\n  \/* Enable OTP only when the email is valid *\/\n  function updateSendButton() {\n    const validEmail =\n      emailInput.value.trim() !== \"\" && emailInput.checkValidity();\n\n    const coolingDown = Date.now() < resendAvailableAt;\n\n    sendButton.disabled =\n      !validEmail || sendingOTP || sendingEnquiry || coolingDown;\n  }\n\n  \/* Enable Continue only when name and verified email are valid *\/\n  function updateContinueButton() {\n    const nameValid = nameInput.value.trim().length > 0;\n\n    const verificationValid =\n      verifiedEmail !== \"\" &&\n      verifiedEmail === getEmail() &&\n      Date.now() < otpExpiresAt;\n\n    nextButton.disabled = !(\n      nameValid && verificationValid && !sendingEnquiry\n    );\n  }\n\n  \/*\n   * IMPORTANT FIX:\n   * Submit is enabled only when:\n   * 1. Email has been verified and OTP is not expired.\n   * 2. Mobile number is valid.\n   * 3. Message is not empty.\n   * 4. No enquiry is currently being submitted.\n   *\/\n  function updateSubmitButton() {\n    const verificationValid =\n      verifiedEmail !== \"\" &&\n      verifiedEmail === getEmail() &&\n      currentOTP !== \"\" &&\n      Date.now() < otpExpiresAt;\n\n    const mobileValid =\n      mobileInput.value.trim() !== \"\" &&\n      mobileInput.checkValidity();\n\n    const messageValid =\n      helpInput.value.trim().length > 0;\n\n    submitButton.disabled = !(\n      verificationValid &&\n      mobileValid &&\n      messageValid &&\n      !sendingEnquiry\n    );\n  }\n\n  function lockPageScroll() {\n    previousBodyOverflow = document.body.style.overflow;\n    previousHtmlOverflow = document.documentElement.style.overflow;\n\n    document.documentElement.classList.add(\"annular-popup-open\");\n    document.body.classList.add(\"annular-popup-open\");\n\n    document.documentElement.style.overflow = \"hidden\";\n    document.body.style.overflow = \"hidden\";\n  }\n\n  function unlockPageScroll() {\n    document.documentElement.classList.remove(\"annular-popup-open\");\n    document.body.classList.remove(\"annular-popup-open\");\n\n    document.documentElement.style.overflow = previousHtmlOverflow;\n    document.body.style.overflow = previousBodyOverflow;\n  }\n\n  function openModal() {\n    previousFocus = document.activeElement;\n    lockPageScroll();\n\n    modal.classList.add(\"is-open\");\n    modal.setAttribute(\"aria-hidden\", \"false\");\n\n    requestAnimationFrame(() =>\n      nameInput.focus({ preventScroll: true })\n    );\n  }\n\n  function closeModal() {\n    modal.classList.remove(\"is-open\");\n    modal.setAttribute(\"aria-hidden\", \"true\");\n\n    if (!thankyouModal.classList.contains(\"is-open\")) {\n      unlockPageScroll();\n    }\n\n    if (previousFocus && typeof previousFocus.focus === \"function\") {\n      previousFocus.focus({ preventScroll: true });\n    }\n  }\n\n  \n  function openModalWithConfig(title, service) {\n    if (title) {\n      currentTitleContext = title;\n      const titleEl = $(\"annular-title\");\n      if (titleEl) titleEl.textContent = title;\n    }\n    if (service) {\n      currentServiceContext = service;\n    }\n    openModal();\n  }\n\n  \/\/ Attach global click listener for trigger buttons\n  const triggerList = [\".cm-btn-primary\",\"#hero-contact-cta\",\".acv-cta-button\",\".cmj-cta\",\"a[href=\\\"#cm-contact-cta\\\"]\",\"a[href*=\\\"\/contact\/\\\"]\"];\n  document.addEventListener(\"click\", function(event) {\n    const selectorStr = triggerList.join(\", \");\n    if (!selectorStr) return;\n    const trigger = event.target.closest(selectorStr);\n    if (trigger) {\n      event.preventDefault();\n      \/\/ Extract clean text from clicked button (stripping arrow icons like \u2192, \u2197)\n      const rawText = (trigger.innerText || \"\").replace(\/[\\u2190-\\u21FF\\u27F0-\\u27FF\\u2900-\\u297F\u2192\u2197\u2190\u25ba]\/g, \"\").trim();\n      const customTitle = trigger.getAttribute(\"data-modal-title\") || \n                          (rawText.length >= 3 && rawText.length <= 60 ? rawText : \"Discuss Your Migration\");\n      const customService = trigger.getAttribute(\"data-service\") || \"Cloud Migration & Modernization\";\n      openModalWithConfig(customTitle, customService);\n    }\n  });\n\n  openButton.addEventListener(\"click\", openModal);\n  $(\"annular-close\").addEventListener(\"click\", closeModal);\n\n  modal.addEventListener(\"click\", event => {\n    if (event.target === modal) closeModal();\n  });\n\n  function showThankYou() {\n    modal.classList.remove(\"is-open\");\n    modal.setAttribute(\"aria-hidden\", \"true\");\n\n    thankyouModal.classList.add(\"is-open\");\n    thankyouModal.setAttribute(\"aria-hidden\", \"false\");\n\n    requestAnimationFrame(() =>\n      $(\"annular-thankyou-done\").focus({ preventScroll: true })\n    );\n  }\n\n  function closeThankYou() {\n    thankyouModal.classList.remove(\"is-open\");\n    thankyouModal.setAttribute(\"aria-hidden\", \"true\");\n\n    unlockPageScroll();\n    openButton.focus({ preventScroll: true });\n  }\n\n  $(\"annular-thankyou-close\").addEventListener(\"click\", closeThankYou);\n  $(\"annular-thankyou-done\").addEventListener(\"click\", closeThankYou);\n\n  thankyouModal.addEventListener(\"click\", event => {\n    if (event.target === thankyouModal) closeThankYou();\n  });\n\n  document.addEventListener(\"keydown\", event => {\n    if (event.key !== \"Escape\") return;\n\n    if (thankyouModal.classList.contains(\"is-open\")) {\n      closeThankYou();\n    } else if (modal.classList.contains(\"is-open\")) {\n      closeModal();\n    }\n  });\n\n  function clearResendTimer() {\n    if (resendTimer) {\n      clearInterval(resendTimer);\n      resendTimer = null;\n    }\n  }\n\n  function resetVerification(message = \"\", type = \"\") {\n    requestVersion++;\n\n    currentOTP = \"\";\n    verifiedEmail = \"\";\n    otpExpiresAt = 0;\n    otpAttempts = 0;\n\n    otpArea.hidden = true;\n    otpInput.value = \"\";\n\n    verifyButton.disabled = false;\n\n    clearResendTimer();\n\n    updateSendButton();\n    updateContinueButton();\n    updateSubmitButton();\n\n    setStatus(message, type);\n  }\n\n  \/* Email edits invalidate the previous verification *\/\n  emailInput.addEventListener(\"input\", () => {\n    if (currentOTP || verifiedEmail || !otpArea.hidden) {\n      resetVerification(\n        \"Email changed. Please request a new OTP.\",\n        \"error\"\n      );\n    } else {\n      updateSendButton();\n      updateContinueButton();\n      updateSubmitButton();\n    }\n  });\n\n  nameInput.addEventListener(\"input\", updateContinueButton);\n\n  \/* CRITICAL FIX: update Submit whenever these fields change *\/\n  mobileInput.addEventListener(\"input\", updateSubmitButton);\n  mobileInput.addEventListener(\"change\", updateSubmitButton);\n  helpInput.addEventListener(\"input\", updateSubmitButton);\n  helpInput.addEventListener(\"change\", updateSubmitButton);\n\n  function generateOTP() {\n    if (!window.crypto || !window.crypto.getRandomValues) {\n      throw new Error(\"Secure random number generation is unavailable.\");\n    }\n\n    const values = new Uint32Array(1);\n    window.crypto.getRandomValues(values);\n\n    return String(values[0] % 1000000).padStart(6, \"0\");\n  }\n\n  \/* SEND OTP *\/\n  sendButton.addEventListener(\"click\", async () => {\n    if (!emailJSReady()) {\n      setStatus(\"Email service is unavailable. Please refresh and try again.\", \"error\");\n      return;\n    }\n\n    if (!emailInput.checkValidity()) {\n      emailInput.reportValidity();\n      updateSendButton();\n      return;\n    }\n\n    if (sendingOTP || sendingEnquiry) return;\n\n    if (Date.now() < resendAvailableAt) {\n      setStatus(\n        \"Please wait \" +\n        Math.ceil((resendAvailableAt - Date.now()) \/ 1000) +\n        \" seconds before requesting another OTP.\",\n        \"error\"\n      );\n\n      updateSendButton();\n      return;\n    }\n\n    const email = getEmail();\n    const version = ++requestVersion;\n\n    sendingOTP = true;\n    updateSendButton();\n\n    currentOTP = \"\";\n    verifiedEmail = \"\";\n    otpExpiresAt = 0;\n    otpAttempts = 0;\n\n    otpArea.hidden = true;\n    otpInput.value = \"\";\n\n    updateContinueButton();\n    updateSubmitButton();\n\n    setStatus(\"Sending OTP...\");\n\n    try {\n      const otp = generateOTP();\n\n      await window.emailjs.send(\n        SERVICE_ID,\n        OTP_TEMPLATE_ID,\n        {\n          email: email,\n          passcode: otp,\n          time: new Date(Date.now() + 5 * 60 * 1000)\n            .toLocaleTimeString()\n        }\n      );\n\n      if (version !== requestVersion) return;\n\n      if (getEmail() !== email) {\n        setStatus(\"Email changed. Please request a new OTP.\", \"error\");\n        return;\n      }\n\n      currentOTP = otp;\n      otpExpiresAt = Date.now() + 5 * 60 * 1000;\n      resendAvailableAt = Date.now() + 60000;\n\n      otpArea.hidden = false;\n\n      otpInput.focus({ preventScroll: true });\n\n      setStatus(\"OTP sent. Please check your email.\", \"success\");\n\n      clearResendTimer();\n\n      \/*\n       * Also refresh validation periodically so an expired OTP\n       * cannot leave the Submit button enabled.\n       *\/\n      resendTimer = setInterval(() => {\n        updateSendButton();\n        updateContinueButton();\n        updateSubmitButton();\n\n        if (Date.now() >= resendAvailableAt) {\n          resendAvailableAt = 0;\n          updateSendButton();\n        }\n\n        if (Date.now() >= otpExpiresAt) {\n          clearResendTimer();\n\n          if (verifiedEmail) {\n            verifiedEmail = \"\";\n            updateContinueButton();\n            updateSubmitButton();\n\n            setStatus(\n              \"OTP expired. Please request a new OTP to continue.\",\n              \"error\"\n            );\n          } else {\n            updateSubmitButton();\n          }\n        }\n      }, 1000);\n\n    } catch (error) {\n      console.error(\"OTP EmailJS error:\", error);\n\n      setStatus(\n        \"Unable to send OTP. Check your EmailJS service and OTP template.\",\n        \"error\"\n      );\n\n    } finally {\n      sendingOTP = false;\n      updateSendButton();\n      updateContinueButton();\n      updateSubmitButton();\n    }\n  });\n\n  \/* VERIFY OTP *\/\n  verifyButton.addEventListener(\"click\", () => {\n    const email = getEmail();\n    const enteredOTP = otpInput.value.trim();\n\n    if (!currentOTP || Date.now() >= otpExpiresAt) {\n      resetVerification(\"OTP expired. Please request a new OTP.\", \"error\");\n      return;\n    }\n\n    if (otpAttempts >= 5) {\n      resetVerification(\"Too many attempts. Please request a new OTP.\", \"error\");\n      return;\n    }\n\n    otpAttempts++;\n\n    if (!\/^\\d{6}$\/.test(enteredOTP) || enteredOTP !== currentOTP) {\n      verifiedEmail = \"\";\n\n      updateContinueButton();\n      updateSubmitButton();\n\n      if (otpAttempts >= 5) {\n        resetVerification(\n          \"Too many attempts. Please request a new OTP.\",\n          \"error\"\n        );\n      } else {\n        setStatus(\"Incorrect OTP. Please try again.\", \"error\");\n      }\n\n      return;\n    }\n\n    verifiedEmail = email;\n    verifyButton.disabled = true;\n\n    updateContinueButton();\n    updateSubmitButton();\n\n    setStatus(\"Email verified successfully.\", \"success\");\n  });\n\n  \/* STEP NAVIGATION *\/\n  nextButton.addEventListener(\"click\", () => {\n    if (!nameInput.checkValidity()) {\n      nameInput.reportValidity();\n      return;\n    }\n\n    if (!verifiedEmail || verifiedEmail !== getEmail()) {\n      setStatus(\"Please verify your email before continuing.\", \"error\");\n      return;\n    }\n\n    if (Date.now() >= otpExpiresAt) {\n      resetVerification(\"OTP expired. Please request a new OTP.\", \"error\");\n      return;\n    }\n\n    $(\"annular-screen-1\").hidden = true;\n    $(\"annular-screen-2\").hidden = false;\n\n    $(\"annular-progress-2\").classList.add(\"active\");\n\n    setStatus(\"\");\n\n    updateSubmitButton();\n\n    mobileInput.focus({ preventScroll: true });\n  });\n\n  backButton.addEventListener(\"click\", () => {\n    $(\"annular-screen-2\").hidden = true;\n    $(\"annular-screen-1\").hidden = false;\n\n    $(\"annular-progress-2\").classList.remove(\"active\");\n\n    setStatus(\"\");\n\n    updateContinueButton();\n    updateSubmitButton();\n  });\n\n  \/* SUBMIT ENQUIRY *\/\n  form.addEventListener(\"submit\", async event => {\n    event.preventDefault();\n\n    if (sendingEnquiry) return;\n\n    \/*\n     * Revalidate at submission time instead of trusting\n     * the button's disabled state alone.\n     *\/\n    updateSubmitButton();\n\n    if (!form.checkValidity()) {\n      form.reportValidity();\n      return;\n    }\n\n    const name = nameInput.value.trim();\n    const email = getEmail();\n    const mobile = mobileInput.value.trim();\n    const message = helpInput.value.trim();\n\n    if (!name || !email || !mobile || !message) {\n      setStatus(\n        \"Name, email, mobile number, and message are required.\",\n        \"error\"\n      );\n      return;\n    }\n\n    if (\n      !verifiedEmail ||\n      verifiedEmail !== email ||\n      !currentOTP ||\n      Date.now() >= otpExpiresAt\n    ) {\n      resetVerification(\n        \"Please verify your email before submitting.\",\n        \"error\"\n      );\n\n      $(\"annular-screen-2\").hidden = true;\n      $(\"annular-screen-1\").hidden = false;\n      $(\"annular-progress-2\").classList.remove(\"active\");\n\n      return;\n    }\n\n    if (!mobileInput.checkValidity()) {\n      mobileInput.reportValidity();\n      return;\n    }\n\n    if (!emailJSReady()) {\n      setStatus(\"Email service is unavailable. Please try again.\", \"error\");\n      return;\n    }\n\n    sendingEnquiry = true;\n\n    updateSubmitButton();\n    updateSendButton();\n\n    setStatus(\"Submitting your enquiry...\");\n\n    try {\n      await window.emailjs.send(\n        SERVICE_ID,\n        ENQUIRY_TEMPLATE_ID,\n        {\n          \/*\n           * Annular domain: company fields are populated.\n           * PODS domain: company fields are blank.\n           *\/\n          website_name: isAnnular ? \"Annular Technologies\" : \"\",\n          company_name: isAnnular ? \"Annular Technologies\" : \"\",\n\n          user_name: name,\n          user_email: email,\n          user_mobile: mobile,\n          service_name: currentServiceContext,\n          service_title: currentTitleContext,\n          message: \"[Service: \" + currentServiceContext + \" | \" + currentTitleContext + \"]\\n\" + message\n        }\n      );\n\n      form.reset();\n\n      clearResendTimer();\n\n      currentOTP = \"\";\n      verifiedEmail = \"\";\n      otpExpiresAt = 0;\n      otpAttempts = 0;\n      resendAvailableAt = 0;\n\n      $(\"annular-screen-1\").hidden = false;\n      $(\"annular-screen-2\").hidden = true;\n\n      $(\"annular-progress-1\").classList.add(\"active\");\n      $(\"annular-progress-2\").classList.remove(\"active\");\n\n      otpArea.hidden = true;\n      verifyButton.disabled = false;\n\n      updateSendButton();\n      updateContinueButton();\n      updateSubmitButton();\n\n      setStatus(\"\");\n\n      showThankYou();\n\n    } catch (error) {\n      console.error(\"Consultation EmailJS error:\", error);\n\n      setStatus(\n        \"Unable to submit your enquiry. Check your EmailJS template settings and try again.\",\n        \"error\"\n      );\n\n    } finally {\n      sendingEnquiry = false;\n\n      updateSendButton();\n      updateContinueButton();\n      updateSubmitButton();\n    }\n  });\n\n  \/* INITIAL STATE *\/\n  updateSendButton();\n  updateContinueButton();\n  updateSubmitButton();\n\n})();\n<\/script>\n<\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"footnotes":""},"class_list":["post-1688","page","type-page","status-publish","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages\/1688","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/comments?post=1688"}],"version-history":[{"count":45,"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages\/1688\/revisions"}],"predecessor-version":[{"id":2603,"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages\/1688\/revisions\/2603"}],"wp:attachment":[{"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/media?parent=1688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}