{"id":2297,"date":"2026-10-15T12:54:32","date_gmt":"2026-10-15T12:54:32","guid":{"rendered":"https:\/\/web.annulartechnologies.com\/staging\/?page_id=2297"},"modified":"2026-10-20T18:20:12","modified_gmt":"2026-10-20T18:20:12","slug":"quantem-rc-remote-access-solution","status":"publish","type":"page","link":"https:\/\/web.annulartechnologies.com\/staging\/quantem-rc-remote-access-solution\/","title":{"rendered":"Quantem RC \u2013 Remote Access Solution"},"content":{"rendered":"<div 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-background-color:#ffffff;--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-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\"><style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@400;500;600;700;800;900&display=swap');\n\n\/* =========================================\n   QUANTEM RC \u2014 AVADA PAGE STYLES\n========================================= *\/\n\n:root {\n  --qrc-primary: #1b2a4a;\n  --qrc-blue: #2d7ff9;\n  --qrc-blue-dark: #1a65d6;\n  --qrc-text: #46536a;\n  --qrc-heading: #172640;\n  --qrc-light: #f4f8fd;\n  --qrc-border: #e1e8f2;\n  --qrc-white: #ffffff;\n  --qrc-shadow: 0 8px 30px rgba(27,42,74,.07);\n  --qrc-shadow-hover: 0 16px 40px rgba(27,42,74,.12);\n}\n\n#main,\n#main .fusion-row,\n#content,\n#content.full-width,\n.post-2297,\n#sliders-container {\n  margin-top: 0 !important;\n  padding-top: 0 !important;\n}\n\n.fusion-tb-header,\nheader.fusion-tb-header {\n  margin-bottom: 0 !important;\n  padding-bottom: 0 !important;\n}\n\n.qrc-page,\n.qrc-page * {\n  box-sizing: border-box;\n}\n\n.qrc-page {\n  width: 100%;\n  max-width: 100%;\n  overflow: hidden;\n  background: var(--qrc-white);\n  color: var(--qrc-text);\n  font-family: 'Roboto', Arial, sans-serif !important;\n  font-size: 16px;\n  line-height: 1.7;\n  -webkit-font-smoothing: antialiased;\n}\n\n.qrc-page h1,\n.qrc-page h2,\n.qrc-page h3,\n.qrc-page p,\n.qrc-page a,\n.qrc-page button,\n.qrc-page span {\n  font-family: 'Roboto', Arial, sans-serif !important;\n}\n\n.qrc-page h1,\n.qrc-page h2,\n.qrc-page h3 {\n  color: var(--qrc-heading);\n  letter-spacing: -0.6px;\n}\n\n.qrc-container {\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.qrc-section {\n  padding: 88px 24px;\n}\n\n.qrc-section-light {\n  background: var(--qrc-light);\n}\n\n.qrc-section-white {\n  background: #fff;\n}\n\n.qrc-section-header {\n  max-width: 720px;\n  margin: 0 auto 48px;\n  text-align: center;\n}\n\n.qrc-section-header h2 {\n  margin: 0 0 16px;\n  font-size: clamp(29px, 3.2vw, 40px);\n  font-weight: 800;\n  line-height: 1.2;\n}\n\n.qrc-section-header p {\n  margin: 0;\n  color: var(--qrc-text);\n  font-size: 16px;\n  line-height: 1.8;\n}\n\n\/* =========================================\n   HERO \u2014 NEW SPLIT LAYOUT\n========================================= *\/\n\n.qrc-hero {\n  position: relative;\n  isolation: isolate;\n  padding: 78px 24px 82px;\n  overflow: hidden;\n  background:\n    radial-gradient(ellipse at 95% 10%, rgba(45,127,249,.10), transparent 37%),\n    linear-gradient(135deg, #ffffff 0%, #f7faff 65%, #edf4ff 100%);\n}\n\n.qrc-hero::before {\n  position: absolute;\n  z-index: -1;\n  top: -145px;\n  right: -110px;\n  width: 390px;\n  height: 390px;\n  border: 1px solid rgba(45,127,249,.14);\n  border-radius: 50%;\n  content: \"\";\n}\n\n.qrc-hero::after {\n  position: absolute;\n  z-index: -1;\n  right: 30px;\n  bottom: -210px;\n  width: 450px;\n  height: 450px;\n  border: 1px solid rgba(45,127,249,.10);\n  border-radius: 50%;\n  content: \"\";\n}\n\n.qrc-hero-inner {\n  display: grid;\n  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);\n  align-items: center;\n  gap: 64px;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.qrc-hero-content {\n  min-width: 0;\n}\n\n.qrc-hero h1 {\n  margin: 0 0 22px;\n  color: var(--qrc-primary);\n  font-size: clamp(48px, 6vw, 76px);\n  font-weight: 900;\n  line-height: 1.02;\n  letter-spacing: -2.5px;\n}\n\n.qrc-hero h1 span {\n  color: var(--qrc-blue);\n}\n\n.qrc-hero-description {\n  max-width: 520px;\n  margin: 0 0 30px;\n  color: #526078;\n  font-size: 18px;\n  line-height: 1.85;\n}\n\n.qrc-hero-cta {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 13px;\n}\n\n.qrc-btn-primary,\n.qrc-btn-outline {\n  display: inline-flex;\n  min-height: 53px;\n  align-items: center;\n  justify-content: center;\n  gap: 11px;\n  padding: 14px 24px;\n  border: 1px solid transparent;\n  border-radius: 8px;\n  font-size: 14px;\n  font-weight: 700;\n  line-height: 1.4;\n  text-align: center;\n  text-decoration: none !important;\n  cursor: pointer;\n  transition: background .25s ease, color .25s ease,\n              border-color .25s ease, transform .25s ease,\n              box-shadow .25s ease;\n}\n\n.qrc-btn-primary {\n  background: var(--qrc-blue);\n  color: #fff !important;\n  box-shadow: 0 7px 18px rgba(45,127,249,.20);\n}\n\n.qrc-btn-primary:hover {\n  transform: translateY(-2px);\n  background: var(--qrc-blue-dark);\n  color: #fff !important;\n  box-shadow: 0 10px 24px rgba(45,127,249,.28);\n}\n\n.qrc-btn-outline {\n  border-color: #cbd7e8;\n  background: #fff;\n  color: var(--qrc-primary) !important;\n}\n\n.qrc-btn-outline:hover {\n  transform: translateY(-2px);\n  border-color: var(--qrc-blue);\n  background: #f0f6ff;\n  color: var(--qrc-blue-dark) !important;\n}\n\n.qrc-btn-arrow {\n  font-size: 18px;\n  line-height: 1;\n  transition: transform .25s ease;\n}\n\n.qrc-btn-primary:hover .qrc-btn-arrow,\n.qrc-btn-outline:hover .qrc-btn-arrow {\n  transform: translateX(4px);\n}\n\n\/* Hero illustration panel \u2014 CSS-based, no external image required *\/\n\n.qrc-hero-visual {\n  position: relative;\n  display: flex;\n  min-height: 390px;\n  align-items: center;\n  justify-content: center;\n  padding: 30px;\n  border: 1px solid #dfe9f8;\n  border-radius: 24px;\n  background:\n    radial-gradient(circle at 50% 40%, #ffffff 0%, #f0f6ff 60%, #e6efff 100%);\n  box-shadow: 0 22px 65px rgba(36,75,135,.10);\n}\n\n.qrc-visual-orbit {\n  position: absolute;\n  width: 270px;\n  height: 270px;\n  border: 1px dashed #b9d0f5;\n  border-radius: 50%;\n}\n\n.qrc-visual-orbit::before {\n  position: absolute;\n  inset: 22px;\n  border: 1px solid #d4e3fa;\n  border-radius: 50%;\n  content: \"\";\n}\n\n.qrc-device {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  width: 190px;\n  min-height: 245px;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 23px;\n  border: 1px solid #d9e5f7;\n  border-radius: 20px;\n  background: #fff;\n  box-shadow: 0 15px 38px rgba(27,42,74,.10);\n  text-align: center;\n}\n\n.qrc-device-icon {\n  display: flex;\n  width: 83px;\n  height: 83px;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 18px;\n  border: 1px solid #d8e7ff;\n  border-radius: 22px;\n  background: #edf4ff;\n  color: var(--qrc-blue);\n}\n\n.qrc-device-icon svg {\n  width: 44px;\n  height: 44px;\n}\n\n.qrc-device h3 {\n  margin: 0 0 5px;\n  font-size: 19px;\n  font-weight: 800;\n  line-height: 1.35;\n  letter-spacing: -.3px;\n}\n\n.qrc-device p {\n  margin: 0;\n  color: #75839a;\n  font-size: 12px;\n  line-height: 1.6;\n}\n\n.qrc-visual-node {\n  position: absolute;\n  z-index: 3;\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 13px 15px;\n  border: 1px solid #e2eaf5;\n  border-radius: 12px;\n  background: #fff;\n  box-shadow: 0 8px 24px rgba(27,42,74,.09);\n}\n\n.qrc-visual-node svg {\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n  color: var(--qrc-blue);\n}\n\n.qrc-visual-node strong {\n  display: block;\n  color: var(--qrc-primary);\n  font-size: 12px;\n  font-weight: 800;\n  line-height: 1.4;\n}\n\n.qrc-visual-node small {\n  display: block;\n  margin-top: 2px;\n  color: #718096;\n  font-size: 10px;\n  line-height: 1.4;\n}\n\n.qrc-node-left {\n  top: 76px;\n  left: 0;\n}\n\n.qrc-node-right {\n  right: 0;\n  bottom: 77px;\n}\n\n.qrc-visual-status {\n  position: absolute;\n  right: 24px;\n  top: 20px;\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  color: #28734d;\n  font-size: 11px;\n  font-weight: 700;\n}\n\n.qrc-visual-status::before {\n  width: 7px;\n  height: 7px;\n  border-radius: 50%;\n  background: #2ba66b;\n  content: \"\";\n}\n\n\/* =========================================\n   OVERVIEW\n========================================= *\/\n\n.qrc-intro {\n  padding: 78px 24px 86px;\n  background: #fff;\n}\n\n.qrc-intro-inner {\n  max-width: 900px;\n  margin: 0 auto;\n  text-align: center;\n}\n\n.qrc-intro h2 {\n  margin: 0 0 22px;\n  font-size: clamp(29px, 3.2vw, 40px);\n  font-weight: 800;\n  line-height: 1.25;\n}\n\n.qrc-intro p {\n  margin: 0 0 16px;\n  color: var(--qrc-text);\n  font-size: 16px;\n  line-height: 1.9;\n}\n\n.qrc-intro p:last-child {\n  margin-bottom: 0;\n}\n\n\/* =========================================\n   FEATURES\n========================================= *\/\n\n.qrc-features-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 22px;\n}\n\n.qrc-feature-card {\n  position: relative;\n  min-width: 0;\n  padding: 31px 27px 30px;\n  overflow: hidden;\n  border: 1px solid var(--qrc-border);\n  border-radius: 14px;\n  background: #fff;\n  transition: transform .3s ease, box-shadow .3s ease,\n              border-color .3s ease;\n}\n\n.qrc-feature-card::before {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  height: 3px;\n  transform: scaleX(0);\n  transform-origin: left;\n  background: var(--qrc-blue);\n  content: \"\";\n  transition: transform .3s ease;\n}\n\n.qrc-feature-card:hover {\n  transform: translateY(-5px);\n  border-color: #c9daf5;\n  box-shadow: var(--qrc-shadow-hover);\n}\n\n.qrc-feature-card:hover::before {\n  transform: scaleX(1);\n}\n\n.qrc-feature-icon {\n  display: flex;\n  width: 53px;\n  height: 53px;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 22px;\n  border: 1px solid #dbe8fc;\n  border-radius: 13px;\n  background: #eff5ff;\n  font-size: 25px;\n}\n\n.qrc-feature-card h3 {\n  margin: 0 0 11px;\n  font-size: 19px;\n  font-weight: 800;\n  line-height: 1.4;\n  letter-spacing: -.3px;\n}\n\n.qrc-feature-card p {\n  margin: 0;\n  color: #637087;\n  font-size: 14px;\n  line-height: 1.85;\n}\n\n\/* =========================================\n   BENEFITS\n========================================= *\/\n\n.qrc-benefits-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 20px;\n}\n\n.qrc-benefit-card {\n  display: flex;\n  min-width: 0;\n  align-items: flex-start;\n  gap: 18px;\n  padding: 27px;\n  border: 1px solid var(--qrc-border);\n  border-radius: 14px;\n  background: #fff;\n  transition: transform .25s ease, box-shadow .25s ease,\n              border-color .25s ease;\n}\n\n.qrc-benefit-card:hover {\n  transform: translateY(-3px);\n  border-color: #c9daf5;\n  box-shadow: var(--qrc-shadow);\n}\n\n.qrc-benefit-icon {\n  display: flex;\n  width: 47px;\n  height: 47px;\n  flex: 0 0 47px;\n  align-items: center;\n  justify-content: center;\n  border: 1px solid #dbe8fc;\n  border-radius: 12px;\n  background: #eff5ff;\n  font-size: 22px;\n}\n\n.qrc-benefit-content {\n  min-width: 0;\n}\n\n.qrc-benefit-content h3 {\n  margin: 0 0 8px;\n  font-size: 18px;\n  font-weight: 800;\n  line-height: 1.4;\n  letter-spacing: -.3px;\n}\n\n.qrc-benefit-content p {\n  margin: 0;\n  color: #637087;\n  font-size: 14px;\n  line-height: 1.85;\n}\n\n\/* =========================================\n   FAQ ACCORDION\n========================================= *\/\n\n.qrc-faq-list {\n  max-width: 850px;\n  margin: 0 auto;\n}\n\n.qrc-faq-item {\n  margin-bottom: 13px;\n  overflow: hidden;\n  border: 1px solid #e0e8f2;\n  border-radius: 12px;\n  background: #fff;\n  transition: border-color .25s ease, box-shadow .25s ease;\n}\n\n.qrc-faq-item:last-child {\n  margin-bottom: 0;\n}\n\n.qrc-faq-item:hover,\n.qrc-faq-item.active {\n  border-color: #c4d9fb;\n  box-shadow: 0 5px 18px rgba(27,42,74,.045);\n}\n\n.qrc-faq-question {\n  display: flex;\n  width: 100%;\n  min-height: 72px;\n  align-items: center;\n  justify-content: space-between;\n  gap: 18px;\n  padding: 20px 24px;\n  border: 0;\n  background: #fff;\n  color: var(--qrc-primary);\n  font-size: 16px;\n  font-weight: 700;\n  line-height: 1.55;\n  text-align: left;\n  cursor: pointer;\n}\n\n.qrc-faq-question:hover {\n  background: #fbfdff;\n}\n\n.qrc-faq-question:focus-visible {\n  outline: 2px solid var(--qrc-blue);\n  outline-offset: -4px;\n}\n\n.qrc-faq-toggle {\n  display: flex;\n  width: 34px;\n  height: 34px;\n  flex: 0 0 34px;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: #eff5ff;\n  color: var(--qrc-blue);\n  transition: background .25s ease, color .25s ease,\n              transform .25s ease;\n}\n\n.qrc-faq-toggle svg {\n  display: block;\n  width: 14px;\n  height: 14px;\n  transition: transform .25s ease;\n}\n\n.qrc-faq-item.active .qrc-faq-toggle {\n  background: var(--qrc-blue);\n  color: #fff;\n}\n\n.qrc-faq-item.active .qrc-faq-toggle svg {\n  transform: rotate(180deg);\n}\n\n.qrc-faq-answer {\n  display: grid;\n  grid-template-rows: 0fr;\n  transition: grid-template-rows .3s ease;\n}\n\n.qrc-faq-item.active .qrc-faq-answer {\n  grid-template-rows: 1fr;\n}\n\n.qrc-faq-answer-inner {\n  min-height: 0;\n  overflow: hidden;\n  padding: 0 24px;\n  color: #637087;\n  font-size: 14px;\n  line-height: 1.9;\n  transition: padding .3s ease;\n}\n\n.qrc-faq-item.active .qrc-faq-answer-inner {\n  padding: 0 24px 23px;\n}\n\n\/* =========================================\n   BOTTOM CTA\n========================================= *\/\n\n.qrc-bottom-cta {\n  position: relative;\n  isolation: isolate;\n  padding: 78px 24px;\n  overflow: hidden;\n  background: linear-gradient(120deg, #edf4ff 0%, #f7faff 55%, #e6efff 100%);\n  text-align: center;\n}\n\n.qrc-bottom-cta::before {\n  position: absolute;\n  z-index: -1;\n  top: -210px;\n  left: -130px;\n  width: 430px;\n  height: 430px;\n  border: 1px solid rgba(45,127,249,.14);\n  border-radius: 50%;\n  content: \"\";\n}\n\n.qrc-bottom-cta::after {\n  position: absolute;\n  z-index: -1;\n  right: -120px;\n  bottom: -260px;\n  width: 500px;\n  height: 500px;\n  border: 1px solid rgba(45,127,249,.13);\n  border-radius: 50%;\n  content: \"\";\n}\n\n.qrc-bottom-cta-content {\n  max-width: 780px;\n  margin: 0 auto;\n}\n\n.qrc-bottom-cta h2 {\n  margin: 0 0 19px;\n  color: var(--qrc-primary);\n  font-size: clamp(30px, 4vw, 43px);\n  font-weight: 900;\n  line-height: 1.2;\n}\n\n.qrc-bottom-cta p {\n  max-width: 710px;\n  margin: 0 auto 30px;\n  color: #526078;\n  font-size: 16px;\n  line-height: 1.9;\n}\n\n.qrc-bottom-cta .qrc-hero-cta {\n  justify-content: center;\n}\n\n\/* =========================================\n   RESPONSIVE DESIGN\n========================================= *\/\n\n@media (min-width: 1400px) {\n  .qrc-hero {\n    padding-top: 95px;\n    padding-bottom: 95px;\n  }\n}\n\n@media (max-width: 1024px) {\n  .qrc-hero-inner {\n    gap: 35px;\n  }\n\n  .qrc-hero-visual {\n    min-height: 350px;\n    padding: 20px;\n  }\n\n  .qrc-visual-orbit {\n    width: 235px;\n    height: 235px;\n  }\n\n  .qrc-device {\n    width: 165px;\n    min-height: 220px;\n  }\n\n  .qrc-node-left {\n    left: -5px;\n  }\n\n  .qrc-node-right {\n    right: -5px;\n  }\n\n  .qrc-features-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 768px) {\n  .qrc-hero {\n    padding: 60px 20px 55px;\n  }\n\n  .qrc-hero-inner {\n    grid-template-columns: 1fr;\n    gap: 40px;\n  }\n\n  .qrc-hero-content {\n    text-align: center;\n  }\n\n.qrc-hero h1 {\n    font-size: clamp(45px, 10vw, 62px);\n    letter-spacing: -1.8px;\n  }\n\n  .qrc-hero-description {\n    margin-right: auto;\n    margin-left: auto;\n    font-size: 16px;\n  }\n\n  .qrc-hero-cta {\n    justify-content: center;\n  }\n\n  .qrc-hero-visual {\n    width: 100%;\n    max-width: 500px;\n    min-height: 350px;\n    margin: 0 auto;\n  }\n\n  .qrc-section {\n    padding: 65px 20px;\n  }\n\n  .qrc-intro {\n    padding: 65px 20px;\n  }\n\n  .qrc-section-header {\n    margin-bottom: 35px;\n  }\n\n  .qrc-section-header h2,\n  .qrc-intro h2 {\n    font-size: 31px;\n  }\n\n  .qrc-features-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 16px;\n  }\n\n  .qrc-feature-card {\n    padding: 25px 20px;\n  }\n\n  .qrc-benefits-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .qrc-bottom-cta {\n    padding: 62px 20px;\n  }\n}\n\n@media (max-width: 520px) {\n  .qrc-hero {\n    padding: 47px 18px 45px;\n  }\n\n  .qrc-hero h1 {\n    font-size: 46px;\n  }\n\n  .qrc-hero-description {\n    font-size: 15px;\n    line-height: 1.8;\n  }\n\n  .qrc-hero-cta {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .qrc-btn-primary,\n  .qrc-btn-outline {\n    width: 100%;\n    min-height: 50px;\n    padding: 13px 18px;\n  }\n\n  .qrc-hero-visual {\n    min-height: 310px;\n    padding: 15px;\n    border-radius: 18px;\n  }\n\n  .qrc-visual-orbit {\n    width: 205px;\n    height: 205px;\n  }\n\n  .qrc-device {\n    width: 145px;\n    min-height: 190px;\n    padding: 17px 12px;\n  }\n\n  .qrc-device-icon {\n    width: 65px;\n    height: 65px;\n    margin-bottom: 13px;\n    border-radius: 17px;\n  }\n\n  .qrc-device-icon svg {\n    width: 35px;\n    height: 35px;\n  }\n\n  .qrc-device h3 {\n    font-size: 17px;\n  }\n\n  .qrc-visual-node {\n    gap: 7px;\n    padding: 10px;\n  }\n\n  .qrc-visual-node svg {\n    width: 18px;\n    height: 18px;\n  }\n\n  .qrc-visual-node strong {\n    font-size: 10px;\n  }\n\n  .qrc-visual-node small {\n    font-size: 9px;\n  }\n\n  .qrc-node-left {\n    top: 54px;\n    left: -5px;\n  }\n\n  .qrc-node-right {\n    right: -5px;\n    bottom: 51px;\n  }\n\n  .qrc-visual-status {\n    top: 12px;\n    right: 13px;\n    font-size: 9px;\n  }\n\n  .qrc-features-grid {\n    grid-template-columns: 1fr;\n    gap: 15px;\n  }\n\n  .qrc-feature-card {\n    padding: 25px;\n  }\n\n  .qrc-feature-icon {\n    margin-bottom: 17px;\n  }\n\n  .qrc-benefit-card {\n    gap: 13px;\n    padding: 22px 18px;\n  }\n\n  .qrc-benefit-icon {\n    width: 42px;\n    height: 42px;\n    flex-basis: 42px;\n    font-size: 19px;\n  }\n\n  .qrc-benefit-content h3 {\n    font-size: 17px;\n  }\n\n  .qrc-section-header h2,\n  .qrc-intro h2 {\n    font-size: 28px;\n  }\n\n  .qrc-intro p,\n  .qrc-section-header p,\n  .qrc-bottom-cta p {\n    font-size: 15px;\n  }\n\n  .qrc-faq-question {\n    min-height: 66px;\n    gap: 12px;\n    padding: 17px;\n    font-size: 14px;\n  }\n\n  .qrc-faq-answer-inner {\n    padding-right: 17px;\n    padding-left: 17px;\n    font-size: 13px;\n  }\n\n  .qrc-faq-item.active .qrc-faq-answer-inner {\n    padding-right: 17px;\n    padding-bottom: 19px;\n    padding-left: 17px;\n  }\n\n  .qrc-bottom-cta h2 {\n    font-size: 30px;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .qrc-page *,\n  .qrc-page *::before,\n  .qrc-page *::after {\n    scroll-behavior: auto !important;\n    transition-duration: .01ms !important;\n    animation-duration: .01ms !important;\n  }\n}\n<\/style>\n\n<div class=\"qrc-page\">\n\n  <!-- HERO SECTION -->\n  <section class=\"qrc-hero\">\n    <div class=\"qrc-hero-inner\">\n\n      <div class=\"qrc-hero-content\">\n<h1>Quantem <span>RC<\/span><\/h1>\n\n        <p class=\"qrc-hero-description\">\n          Access remote devices, provide technical support, and troubleshoot\n          issues without being physically present.\n        <\/p>\n\n        <div class=\"qrc-hero-cta\">\n          <a href=\"https:\/\/web.annulartechnologies.com\/staging\/contact\/\"\n             class=\"qrc-btn-primary\">\n            Talk to Our Team\n            <span class=\"qrc-btn-arrow\" aria-hidden=\"true\">\u2192<\/span>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <!-- CSS-BASED REMOTE ACCESS VISUAL -->\n      <div class=\"qrc-hero-visual\" aria-label=\"Remote device support illustration\" style=\"padding: 0; background: transparent; border: none; box-shadow: none; display: flex; justify-content: center; align-items: center;\">\n        <div class=\"qrc-hero-image-frame\" style=\"width: 100%; max-width: 650px; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 50px rgba(15,23,42,0.16); border: 1px solid rgba(226,232,240,0.8);\">\n          <img decoding=\"async\" src=\"https:\/\/web.annulartechnologies.com\/staging\/wp-content\/uploads\/2026\/10\/quantem-rc-dark-hero.png\" alt=\"Quantem RC Remote Access Solution\" style=\"width: 100%; height: auto; display: block;\" width=\"600\" height=\"340\" \/>\n        <\/div>\n      <\/div>\n<\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- OVERVIEW SECTION -->\n  <section class=\"qrc-intro\">\n    <div class=\"qrc-intro-inner\">\n<h2>Remote Device Support, Wherever You Are<\/h2>\n\n      <p>\n        Stop relying entirely on on-site visits, support teams can use remote\n        access workflows to diagnose problems, guide users, and resolve\n        supported issues from a centralized location.\n      <\/p>\n\n      <p>\n        Quantem RC offers flexible deployment options. Organizations using\n        Quantem's Mobile Device Management Suite can add remote access\n        capabilities to their existing device management environment.\n        Businesses that need remote access independently can also use\n        Quantem RC as a standalone product.\n      <\/p>\n    <\/div>\n  <\/section>\n\n  <!-- CAPABILITIES \/ FEATURES -->\n  <section class=\"qrc-section qrc-section-light\">\n    <div class=\"qrc-container\">\n\n      <div class=\"qrc-section-header\">\n<h2>Key Features<\/h2>\n        <p>\n          Comprehensive remote connection tools designed for rapid diagnostics,\n          user guidance, and streamlined device support.\n        <\/p>\n      <\/div>\n\n      <div class=\"qrc-features-grid\">\n\n        <article class=\"qrc-feature-card\">\n          <div class=\"qrc-feature-icon\" aria-hidden=\"true\">\ud83d\udda5\ufe0f<\/div>\n          <h3>Remote Device Access<\/h3>\n          <p>\n            Connect to supported remote devices to assist users and address\n            technical issues without requiring physical access.\n          <\/p>\n        <\/article>\n\n        <article class=\"qrc-feature-card\">\n          <div class=\"qrc-feature-icon\" aria-hidden=\"true\">\ud83d\udee0\ufe0f<\/div>\n          <h3>Remote Technical Support<\/h3>\n          <p>\n            Help support teams diagnose device issues and assist users remotely,\n            reducing the need for on-site troubleshooting.\n          <\/p>\n        <\/article>\n\n        <article class=\"qrc-feature-card\">\n          <div class=\"qrc-feature-icon\" aria-hidden=\"true\">\ud83d\udd27<\/div>\n          <h3>Troubleshooting and Maintenance<\/h3>\n          <p>\n            Support device maintenance workflows by enabling remote\n            investigation of supported technical problems.\n          <\/p>\n        <\/article>\n\n        <article class=\"qrc-feature-card\">\n          <div class=\"qrc-feature-icon\" aria-hidden=\"true\">\u2699\ufe0f<\/div>\n          <h3>Flexible Deployment<\/h3>\n          <p>\n            Choose Quantem RC as an integrated add-on to Quantem's MDM platform\n            or deploy it independently as a standalone solution.\n          <\/p>\n        <\/article>\n\n        <article class=\"qrc-feature-card\">\n          <div class=\"qrc-feature-icon\" aria-hidden=\"true\">\ud83d\udccb<\/div>\n          <h3>Centralized Support Workflows<\/h3>\n          <p>\n            Help IT and service teams organize remote assistance for supported\n            devices through a streamlined support process.\n          <\/p>\n        <\/article>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ADVANTAGES \/ BENEFITS -->\n  <section class=\"qrc-section qrc-section-white\">\n    <div class=\"qrc-container\">\n\n      <div class=\"qrc-section-header\">\n<h2>Benefits for Your Business<\/h2>\n        <p>\n          Empower your help desk and operations teams with instant connectivity,\n          reduced dispatch costs, and faster resolution times.\n        <\/p>\n      <\/div>\n\n      <div class=\"qrc-benefits-grid\">\n\n        <article class=\"qrc-benefit-card\">\n          <div class=\"qrc-benefit-icon\" aria-hidden=\"true\">\ud83d\udccd<\/div>\n          <div class=\"qrc-benefit-content\">\n            <h3>Reduce On-Site Support Needs<\/h3>\n            <p>\n              Resolve supported device issues remotely, helping minimize\n              unnecessary travel and physical intervention.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"qrc-benefit-card\">\n          <div class=\"qrc-benefit-icon\" aria-hidden=\"true\">\u26a1<\/div>\n          <div class=\"qrc-benefit-content\">\n            <h3>Improve Support Efficiency<\/h3>\n            <p>\n              Help IT teams respond to technical issues without always\n              requiring physical access to the device location.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"qrc-benefit-card\">\n          <div class=\"qrc-benefit-icon\" aria-hidden=\"true\">\ud83d\udd04<\/div>\n          <div class=\"qrc-benefit-content\">\n            <h3>Minimize Operational Disruption<\/h3>\n            <p>\n              Address device problems more efficiently to help employees\n              and operations get back to work.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"qrc-benefit-card\">\n          <div class=\"qrc-benefit-icon\" aria-hidden=\"true\">\ud83c\udfaf<\/div>\n          <div class=\"qrc-benefit-content\">\n            <h3>Choose the Right Deployment<\/h3>\n            <p>\n              Adopt remote access as part of Quantem's MDM platform or select\n              Quantem RC as a standalone solution.\n            <\/p>\n          <\/div>\n        <\/article>\n\n        <article class=\"qrc-benefit-card\">\n          <div class=\"qrc-benefit-icon\" aria-hidden=\"true\">\ud83c\udf10<\/div>\n          <div class=\"qrc-benefit-content\">\n            <h3>Support Distributed Environments<\/h3>\n            <p>\n              Enable support workflows for organizations managing devices\n              across multiple locations, subject to device and connectivity\n              compatibility.\n            <\/p>\n          <\/div>\n        <\/article>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- FREQUENTLY ASKED QUESTIONS -->\n  <section class=\"qrc-section qrc-section-light\">\n    <div class=\"qrc-container\">\n\n      <div class=\"qrc-section-header\">\n<h2>Frequently Asked Questions<\/h2>\n        <p>\n          Everything you need to know about deploying and utilizing Quantem RC.\n        <\/p>\n      <\/div>\n\n      <div class=\"qrc-faq-list\">\n\n        <div class=\"qrc-faq-item\">\n          <button class=\"qrc-faq-question\"\n                  type=\"button\"\n                  aria-expanded=\"false\">\n            <span>What is Quantem RC?<\/span>\n            <span class=\"qrc-faq-toggle\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"2.5\" stroke-linecap=\"round\"\n                   stroke-linejoin=\"round\">\n                <polyline points=\"6 9 12 15 18 9\"><\/polyline>\n              <\/svg>\n            <\/span>\n          <\/button>\n          <div class=\"qrc-faq-answer\">\n            <div class=\"qrc-faq-answer-inner\">\n              Quantem RC is a remote access solution that enables technical\n              teams to connect to supported devices and assist with\n              troubleshooting remotely.\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"qrc-faq-item\">\n          <button class=\"qrc-faq-question\"\n                  type=\"button\"\n                  aria-expanded=\"false\">\n            <span>Is Quantem RC part of Quantem's MDM platform?<\/span>\n            <span class=\"qrc-faq-toggle\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"2.5\" stroke-linecap=\"round\"\n                   stroke-linejoin=\"round\">\n                <polyline points=\"6 9 12 15 18 9\"><\/polyline>\n              <\/svg>\n            <\/span>\n          <\/button>\n          <div class=\"qrc-faq-answer\">\n            <div class=\"qrc-faq-answer-inner\">\n              Quantem RC can be offered as an add-on to Quantem's MDM platform,\n              extending the environment with remote access capabilities.\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"qrc-faq-item\">\n          <button class=\"qrc-faq-question\"\n                  type=\"button\"\n                  aria-expanded=\"false\">\n            <span>Can Quantem RC be purchased separately?<\/span>\n            <span class=\"qrc-faq-toggle\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"2.5\" stroke-linecap=\"round\"\n                   stroke-linejoin=\"round\">\n                <polyline points=\"6 9 12 15 18 9\"><\/polyline>\n              <\/svg>\n            <\/span>\n          <\/button>\n          <div class=\"qrc-faq-answer\">\n            <div class=\"qrc-faq-answer-inner\">\n              Yes. Quantem RC can also be offered as a standalone remote access\n              product for organizations that do not require the full MDM\n              platform.\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"qrc-faq-item\">\n          <button class=\"qrc-faq-question\"\n                  type=\"button\"\n                  aria-expanded=\"false\">\n            <span>Which devices does Quantem RC support?<\/span>\n            <span class=\"qrc-faq-toggle\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"2.5\" stroke-linecap=\"round\"\n                   stroke-linejoin=\"round\">\n                <polyline points=\"6 9 12 15 18 9\"><\/polyline>\n              <\/svg>\n            <\/span>\n          <\/button>\n          <div class=\"qrc-faq-answer\">\n            <div class=\"qrc-faq-answer-inner\">\n              Supported operating systems, device types, and remote-control\n              capabilities depend on the current product specifications.\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"qrc-faq-item\">\n          <button class=\"qrc-faq-question\"\n                  type=\"button\"\n                  aria-expanded=\"false\">\n            <span>Can Quantem RC help reduce on-site IT support?<\/span>\n            <span class=\"qrc-faq-toggle\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                   stroke-width=\"2.5\" stroke-linecap=\"round\"\n                   stroke-linejoin=\"round\">\n                <polyline points=\"6 9 12 15 18 9\"><\/polyline>\n              <\/svg>\n            <\/span>\n          <\/button>\n          <div class=\"qrc-faq-answer\">\n            <div class=\"qrc-faq-answer-inner\">\n              Remote access can help support teams resolve supported issues\n              without being physically present, depending on device\n              compatibility, connectivity, and available permissions.\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- BOTTOM CTA -->\n  <section class=\"qrc-bottom-cta\">\n    <div class=\"qrc-bottom-cta-content\">\n<h2>Remote Support Starts Here<\/h2>\n\n      <p>\n        Simplify device troubleshooting and extend your IT support capabilities\n        with Quantem RC. Integrate remote access with Quantem's MDM platform\n        or explore a standalone deployment for your organization.\n      <\/p>\n\n      <div class=\"qrc-hero-cta\">\n        <a href=\"https:\/\/web.annulartechnologies.com\/staging\/contact\/\"\n           class=\"qrc-btn-primary\">\n          Contact Our Team\n          <span class=\"qrc-btn-arrow\" aria-hidden=\"true\">\u2192<\/span>\n        <\/a>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<!-- FAQ ACCORDION SCRIPT -->\n<script>\n(function () {\n  'use strict';\n\n  function initQRCFAQ() {\n    var pages = document.querySelectorAll('.qrc-page');\n\n    pages.forEach(function (page) {\n      var items = page.querySelectorAll('.qrc-faq-item');\n\n      items.forEach(function (item) {\n        var button = item.querySelector('.qrc-faq-question');\n\n        if (!button || button.dataset.qrcBound === 'true') {\n          return;\n        }\n\n        button.dataset.qrcBound = 'true';\n\n        button.addEventListener('click', function (event) {\n          event.preventDefault();\n\n          var wasActive = item.classList.contains('active');\n\n          items.forEach(function (other) {\n            other.classList.remove('active');\n\n            var otherButton = other.querySelector('.qrc-faq-question');\n\n            if (otherButton) {\n              otherButton.setAttribute('aria-expanded', 'false');\n            }\n          });\n\n          if (!wasActive) {\n            item.classList.add('active');\n            button.setAttribute('aria-expanded', 'true');\n          }\n        });\n      });\n    });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initQRCFAQ);\n  } else {\n    initQRCFAQ();\n  }\n\n  \/*\n   * Avada can render builder content after the initial page load.\n   * A small observer initializes FAQs if the content is added later.\n   *\/\n  if (document.body && 'MutationObserver' in window) {\n    var observer = new MutationObserver(function () {\n      initQRCFAQ();\n    });\n\n    observer.observe(document.body, {\n      childList: true,\n      subtree: true\n    });\n  }\n})();\n<\/script><\/div><\/div><\/div><\/div>\n<div 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-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\" 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\">Talk to Our Team<\/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 = \"Quantem RC (Remote Access Solution)\";\n  let currentTitleContext = \"Talk to Our Team\";\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 = [\".qrc-btn-primary\",\".qrc-btn-outline\",\"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 : \"Talk to Our Team\");\n      const customService = trigger.getAttribute(\"data-service\") || \"Quantem RC (Remote Access Solution)\";\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: \"[Product: \" + 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>\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-2297","page","type-page","status-publish","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages\/2297","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=2297"}],"version-history":[{"count":16,"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages\/2297\/revisions"}],"predecessor-version":[{"id":2636,"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/pages\/2297\/revisions\/2636"}],"wp:attachment":[{"href":"https:\/\/web.annulartechnologies.com\/staging\/wp-json\/wp\/v2\/media?parent=2297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}