{"product_id":"octopod-complete-starter-kit","title":"OCTOpod Duo Starter Kit","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800\u0026family=Comfortaa:wght@300;400\u0026display=swap');\n\n.main-page-title, .page__title, .page-header, h1.page-title,\n.shopify-section--main-page \u003e .page-width \u003e h1,\n.section-template--main-page__title, .main-page-title-wrapper,\nheader.page-header, .template-product \u003e main \u003e .page-width \u003e h1:first-child { display: none !important; }\n.shopify-section.shopify-section--main-page { padding-top: 0 !important; }\nmain.main, .template-product main { background: #F9F2FA !important; }\n\n.product__media-wrapper,\n.product__media-list,\nmedia-gallery,\n.product__media-gallery,\n.product-media-container,\n.product__media-icon { display: none !important; }\nproduct-info \u003e *:not(.product__description),\n.product__info-container \u003e *:not(.product__description),\n.product__column-sticky \u003e *:not(.product__description) { display: none !important; }\n.product__info-wrapper,\n.product__info-container,\n.product__column-sticky {\n  max-width: 100% !important;\n  flex: 1 1 100% !important;\n  width: 100% !important;\n  padding: 0 !important;\n  margin: 0 !important;\n  position: static !important;\n}\n.product,\n.product--large,\n.product--stacked {\n  display: block !important;\n  padding: 0 !important;\n  grid-template-columns: 1fr !important;\n}\n.product__description { padding: 0 !important; margin: 0 !important; }\n.template-product .product__description \u003e :not(style):not(script):not(#opl-page) { display: none !important; }\n.breadcrumb, .breadcrumbs { display: none !important; }\n\n#opl-page {\n  position: relative;\n  font-family: 'Plus Jakarta Sans', sans-serif !important;\n  line-height: 1.65 !important;\n  color: #252526 !important;\n  background: #F9F2FA !important;\n  padding: 0 !important;\n  font-size: 16px !important;\n  box-sizing: border-box;\n}\n\nhtml, body { overflow-x: hidden !important; }\n#opl-page * { font-family: 'Plus Jakarta Sans', sans-serif !important; box-sizing: border-box !important; }\n#opl-page .opl-visually-hidden {\n  position: absolute !important;\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important;\n  overflow: hidden !important;\n  clip: rect(0 0 0 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n}\n#opl-page .opl-brand { white-space: nowrap; }\n#opl-page .opl-brand .octo { font-weight: 800 !important; }\n#opl-page .opl-brand .suffix { font-family: 'Comfortaa', sans-serif !important; font-weight: 300 !important; }\n\n#opl-page .opl-breadcrumb { padding: 24px 56px 0 !important; max-width: 1240px; margin: 0 auto; }\n#opl-page .opl-breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; }\n#opl-page .opl-breadcrumb li { color: #888; font-weight: 500; }\n#opl-page .opl-breadcrumb li a { color: #555; text-decoration: none; font-weight: 600; }\n#opl-page .opl-breadcrumb li a:hover { color: #8C4799; }\n#opl-page .opl-breadcrumb__sep { color: #C9B5C9; }\n#opl-page .opl-breadcrumb__current { color: #252526; font-weight: 700; }\n\n#opl-page .opl-product { padding: 28px 56px 40px !important; }\n#opl-page .opl-product-grid {\n  display: grid !important;\n  grid-template-columns: 1.05fr 1fr !important;\n  gap: 56px !important;\n  max-width: 1240px !important;\n  margin: 0 auto !important;\n  align-items: start;\n}\n\n#opl-page .opl-gallery__main {\n  position: relative;\n  background: #FFFFFF;\n  border-radius: 18px;\n  aspect-ratio: 1 \/ 1;\n  overflow: hidden;\n  border: 1px solid #EEDAEA;\n  box-shadow: 0 6px 32px rgba(140, 71, 153, 0.06);\n  margin-bottom: 14px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n}\n#opl-page .opl-gallery__main-canvas {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  background: #B2B2B2;\n  border-radius: 12px;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n#opl-page .opl-gallery__main img { max-width: 96%; max-height: 96%; object-fit: contain; }\n#opl-page .opl-gallery__viewer-nav {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 42px;\n  height: 42px;\n  border: 1px solid rgba(238, 218, 234, 0.95);\n  border-radius: 9999px;\n  background: rgba(255, 255, 255, 0.9);\n  color: #8C4799;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  box-shadow: 0 4px 14px rgba(37, 37, 38, 0.08);\n  transition: all 0.18s;\n  z-index: 2;\n}\n#opl-page .opl-gallery__viewer-nav:hover {\n  background: #FFFFFF;\n  color: #6B3578;\n}\n#opl-page .opl-gallery__viewer-nav--prev { left: 14px; }\n#opl-page .opl-gallery__viewer-nav--next { right: 14px; }\n#opl-page .opl-gallery__viewer-nav svg,\n#opl-page .opl-gallery__thumb-nav svg {\n  width: 18px;\n  height: 18px;\n  stroke: currentColor;\n  stroke-width: 2.2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  fill: none;\n}\n#opl-page .opl-gallery__counter {\n  position: absolute;\n  top: 14px;\n  right: 14px;\n  z-index: 3;\n  padding: 6px 10px;\n  border-radius: 9999px;\n  background: rgba(255, 255, 255, 0.86);\n  border: 1px solid rgba(37, 37, 38, 0.12);\n  box-shadow: 0 6px 18px rgba(37, 37, 38, 0.12);\n  font-size: 12px;\n  font-weight: 700;\n  line-height: 1;\n  color: #1F2F3D;\n  backdrop-filter: blur(6px);\n}\n#opl-page .opl-gallery__mobile-badge { display: none; }\n#opl-page .opl-gallery__thumbs-shell {\n  display: grid;\n  grid-template-columns: auto minmax(0, 1fr) auto;\n  align-items: center;\n  gap: 12px;\n}\n#opl-page .opl-gallery__controls {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n  gap: 14px;\n  margin-top: 18px;\n}\n#opl-page .opl-gallery__meta {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n}\n#opl-page .opl-gallery__dots {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n#opl-page .opl-gallery__dot {\n  width: 12px;\n  height: 12px;\n  padding: 0;\n  border-radius: 9999px;\n  border: 1px solid rgba(140, 71, 153, 0.28);\n  background: rgba(255, 255, 255, 0.9);\n  cursor: pointer;\n  transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;\n}\n#opl-page .opl-gallery__dot--active {\n  background: var(--opl-purple);\n  border-color: var(--opl-purple);\n  transform: scale(1.08);\n}\n#opl-page .opl-gallery__progress {\n  position: relative;\n  width: 112px;\n  height: 4px;\n  border-radius: 9999px;\n  overflow: hidden;\n  background: rgba(140, 71, 153, 0.12);\n}\n#opl-page .opl-gallery__progress-bar {\n  display: block;\n  width: 100%;\n  height: 100%;\n  border-radius: inherit;\n  background: linear-gradient(90deg, var(--opl-orange) 0%, var(--opl-yellow) 100%);\n  transform-origin: left center;\n  transform: scaleX(0);\n}\n#opl-page .opl-gallery__toggle {\n  width: 44px;\n  height: 44px;\n  min-width: 44px;\n  min-height: 44px;\n  flex: 0 0 44px;\n  padding: 0;\n  border: 1px solid var(--opl-border);\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.92);\n  color: var(--opl-purple);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  box-shadow: var(--opl-shadow-soft);\n  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease;\n}\n#opl-page .opl-gallery__toggle:hover {\n  transform: translateY(-1px);\n  box-shadow: var(--opl-shadow);\n  border-color: #DAB9DD;\n  color: var(--opl-purple-dark);\n}\n#opl-page .opl-gallery__toggle svg {\n  width: 16px;\n  height: 16px;\n  stroke: currentColor;\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  fill: none;\n}\n#opl-page .opl-gallery__toggle [data-icon-play] {\n  display: none;\n}\n#opl-page .opl-gallery__toggle.is-paused [data-icon-pause] {\n  display: none;\n}\n#opl-page .opl-gallery__toggle.is-paused [data-icon-play] {\n  display: block;\n}\n#opl-page .opl-gallery__thumb-viewport {\n  overflow: hidden;\n}\n#opl-page .opl-gallery__thumbs {\n  --opl-visible-thumbs: 3;\n  display: grid;\n  grid-auto-flow: column;\n  grid-auto-columns: calc((100% - (var(--opl-visible-thumbs) - 1) * 12px) \/ var(--opl-visible-thumbs));\n  gap: 12px;\n  transition: transform 0.24s ease;\n  will-change: transform;\n}\n#opl-page .opl-gallery__thumb-nav {\n  width: 38px;\n  height: 38px;\n  border: 1px solid #EEDAEA;\n  border-radius: 9999px;\n  background: #FFFFFF;\n  color: #8C4799;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  box-shadow: 0 4px 12px rgba(140, 71, 153, 0.08);\n  transition: all 0.18s;\n}\n#opl-page .opl-gallery__thumb-nav:hover {\n  color: #6B3578;\n  border-color: #DAB9DD;\n}\n#opl-page .opl-gallery__thumb {\n  background: #FFFFFF;\n  aspect-ratio: 1 \/ 1;\n  border: 2px solid #EEDAEA;\n  border-radius: 10px;\n  cursor: pointer;\n  padding: 10px;\n  transition: all 0.18s;\n  overflow: hidden;\n}\n#opl-page .opl-gallery__thumb-canvas {\n  width: 100%;\n  height: 100%;\n  background: #B2B2B2;\n  border-radius: 6px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow: hidden;\n}\n#opl-page .opl-gallery__thumb:hover { border-color: #B05BB8; }\n#opl-page .opl-gallery__thumb--active { border-color: #8C4799 !important; box-shadow: 0 0 0 3px rgba(140, 71, 153, 0.18); }\n#opl-page .opl-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }\n\n#opl-page .opl-info__eyebrow,\n#opl-page .opl-section .opl-section-eyebrow {\n  display: inline-block !important;\n  font-size: 12px !important;\n  font-weight: 800 !important;\n  text-transform: uppercase;\n  letter-spacing: 1.6px;\n  color: #8C4799 !important;\n  margin: 0 0 12px !important;\n}\n#opl-page .opl-info__name {\n  font-size: 42px !important;\n  margin: 0 0 12px !important;\n  font-weight: 800 !important;\n  line-height: 1.04 !important;\n  color: #252526 !important;\n  letter-spacing: -1.2px !important;\n}\n#opl-page .opl-info__lede {\n  font-size: 16px !important;\n  line-height: 1.62 !important;\n  margin: 0 0 14px !important;\n  color: #444 !important;\n  font-weight: 500 !important;\n}\n#opl-page .opl-info__lede strong { color: #6B3578 !important; font-weight: 700 !important; }\n#opl-page .opl-info__rating-stack { display: grid; gap: 4px; margin: 0 0 18px; }\n#opl-page .opl-info__rating { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #555; }\n#opl-page .opl-info__stars { color: #E0B528; font-size: 14px; letter-spacing: 1px; }\n#opl-page .opl-info__rating-text { font-weight: 700; color: #252526; }\n#opl-page .opl-info__support-line { font-size: 13px; color: #555; line-height: 1.5; font-weight: 500; }\n#opl-page .opl-info__support-chips {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin: 0 0 18px !important;\n}\n#opl-page .opl-info__support-chip {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: #FAF3FB;\n  border: 1px solid #EEDAEA;\n  border-radius: 9999px;\n  color: #6B3578;\n  font-size: 13px !important;\n  font-weight: 700 !important;\n  line-height: 1.5 !important;\n  padding: 10px 16px;\n}\n#opl-page .opl-info__price-row {\n  display: flex;\n  align-items: baseline;\n  gap: 14px;\n  flex-wrap: wrap;\n  margin: 0 0 4px;\n}\n#opl-page .opl-info__price {\n  font-size: 36px;\n  font-weight: 800;\n  color: #252526;\n  letter-spacing: -1.2px;\n}\n#opl-page .opl-info__price-strikethrough {\n  font-size: 18px;\n  font-weight: 600;\n  color: #999;\n  text-decoration: line-through;\n}\n#opl-page .opl-info__price-save {\n  font-size: 12px;\n  font-weight: 800;\n  text-transform: uppercase;\n  letter-spacing: 1px;\n  color: #6B3578;\n  background: #EEDAEA;\n  padding: 4px 10px;\n  border-radius: 9999px;\n}\n#opl-page .opl-info__price-note {\n  font-size: 14px !important;\n  color: #555 !important;\n  margin: 0 0 6px !important;\n  line-height: 1.5 !important;\n  font-weight: 500 !important;\n}\n#opl-page .opl-info__price-note strong { color: #8C4799 !important; }\n#opl-page .opl-info__roi-fine {\n  margin: 0 0 18px !important;\n  font-size: 11px !important;\n  color: #777 !important;\n  line-height: 1.45 !important;\n}\n\n#opl-page .opl-info__variants { margin: 0 0 22px; }\n#opl-page .opl-info__variants-label {\n  font-size: 12px !important;\n  font-weight: 800 !important;\n  text-transform: uppercase;\n  letter-spacing: 1.4px;\n  color: #6B3578 !important;\n  margin: 0 0 12px !important;\n}\n#opl-page .opl-info__variant-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n#opl-page .opl-info__variant {\n  background: #FFFFFF;\n  border: 2px solid #EEDAEA;\n  border-radius: 12px;\n  padding: 16px;\n  cursor: pointer;\n  transition: all 0.16s;\n  position: relative;\n  display: block;\n}\n#opl-page .opl-info__variant:hover { border-color: #B05BB8; }\n#opl-page .opl-info__variant--selected {\n  border-color: #8C4799 !important;\n  background: #FAF3FB !important;\n  box-shadow: 0 4px 14px rgba(140, 71, 153, 0.10);\n}\n#opl-page .opl-info__variant input { position: absolute; opacity: 0; pointer-events: none; }\n#opl-page .opl-info__variant-rec {\n  display: inline-block;\n  background: #8C4799;\n  color: #F5F5F5;\n  font-size: 10px;\n  font-weight: 800;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  padding: 3px 8px;\n  border-radius: 9999px;\n  margin-left: 8px;\n  vertical-align: middle;\n}\n#opl-page .opl-info__variant-name {\n  display: block;\n  font-size: 15px;\n  font-weight: 800;\n  color: #252526;\n  margin-bottom: 4px;\n  line-height: 1.2;\n}\n#opl-page .opl-info__variant-not-incl {\n  display: block;\n  font-size: 11px !important;\n  color: #888 !important;\n  font-style: italic;\n  font-weight: 500 !important;\n  margin: 0 0 4px !important;\n}\n#opl-page .opl-info__variant-sub {\n  display: block;\n  font-size: 12px;\n  color: #666;\n  line-height: 1.45;\n  font-weight: 500;\n}\n#opl-page .opl-info__variant-sub strong { color: #6B3578; font-weight: 800; }\n#opl-page .opl-info__variant-tip {\n  display: inline-block;\n  background: #EEDAEA;\n  color: #6B3578;\n  border-radius: 50%;\n  width: 14px;\n  height: 14px;\n  font-size: 9px;\n  text-align: center;\n  line-height: 14px;\n  font-weight: 800;\n  cursor: help;\n  vertical-align: super;\n  margin-left: 2px;\n}\n#opl-page .opl-info__print-qualifier {\n  margin: 10px 2px 0 !important;\n  font-size: 11px !important;\n  color: #888 !important;\n  font-style: italic;\n  line-height: 1.5 !important;\n}\n\n#opl-page .opl-tip {\n  position: relative;\n  display: inline-block;\n  cursor: help;\n  color: #6B3578;\n  font-weight: 700;\n  text-decoration: none;\n  border-bottom: 1px dotted rgba(140, 71, 153, 0.55);\n}\n#opl-page .opl-tip:hover {\n  color: #8C4799;\n  border-bottom-color: #8C4799;\n}\n#opl-page .opl-tip__bubble {\n  visibility: hidden;\n  opacity: 0;\n  position: absolute;\n  bottom: calc(100% + 10px);\n  left: 50%;\n  transform: translateX(-50%);\n  background: #8C4799;\n  color: #FFFFFF;\n  padding: 12px 16px;\n  border-radius: 10px;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.45;\n  width: 280px;\n  text-align: center;\n  box-shadow: 0 8px 24px rgba(76, 30, 90, 0.35);\n  transition: opacity 0.18s, visibility 0.18s;\n  z-index: 100;\n  pointer-events: none;\n}\n#opl-page .opl-tip__bubble::after {\n  content: '';\n  position: absolute;\n  top: 100%;\n  left: 50%;\n  transform: translateX(-50%);\n  border: 6px solid transparent;\n  border-top-color: #8C4799;\n}\n#opl-page .opl-tip:hover .opl-tip__bubble,\n#opl-page .opl-tip:focus .opl-tip__bubble {\n  visibility: visible;\n  opacity: 1;\n}\n#opl-page .opl-tip__bubble strong { color: #FBDD7A !important; font-weight: 800 !important; }\n#opl-page .opl-tip__bubble em {\n  color: rgba(255, 255, 255, 0.85) !important;\n  font-style: normal !important;\n  font-size: 11px !important;\n  display: block;\n  margin-top: 4px;\n}\n\n#opl-page .opl-inline-pop {\n  position: relative;\n  display: inline-flex;\n  align-items: center;\n  margin-left: 8px;\n  vertical-align: middle;\n  z-index: 20;\n}\n\n#opl-page .opl-inline-pop__trigger {\n  width: 18px;\n  height: 18px;\n  border: 1px solid rgba(37, 37, 38, 0.14);\n  border-radius: 50%;\n  background: var(--opl-yellow);\n  color: var(--opl-text);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 13px;\n  font-weight: 800;\n  line-height: 1;\n  cursor: help;\n  box-shadow: 0 2px 8px rgba(37, 37, 38, 0.08);\n}\n\n#opl-page .opl-inline-pop__bubble {\n  visibility: hidden;\n  opacity: 0;\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: auto;\n  width: min(440px, calc(100vw - 56px));\n  padding: 18px 20px;\n  border-radius: 22px;\n  border: 1px solid var(--opl-border);\n  background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%);\n  box-shadow: 0 10px 28px rgba(140, 71, 153, 0.12);\n  color: #555;\n  font-size: 14px;\n  line-height: 1.55;\n  font-weight: 400;\n  text-align: left;\n  transition: opacity 0.18s ease, visibility 0.18s ease;\n  z-index: 10020;\n  pointer-events: auto;\n}\n\n#opl-page .opl-inline-pop__bubble::before {\n  content: '';\n  position: absolute;\n  top: -1px;\n  left: -1px;\n  right: -1px;\n  height: 10px;\n  border-radius: 24px 24px 16px 16px;\n  background: var(--opl-purple);\n}\n\n#opl-page .opl-inline-pop__bubble::after {\n  content: '';\n  position: absolute;\n  top: -8px;\n  left: var(--opl-pop-arrow-left, 24px);\n  width: 14px;\n  height: 14px;\n  background: #FFFFFF;\n  border-left: 1px solid var(--opl-border);\n  border-top: 1px solid var(--opl-border);\n  transform: rotate(45deg);\n}\n\n#opl-page .opl-inline-pop:hover .opl-inline-pop__bubble,\n#opl-page .opl-inline-pop:focus-within .opl-inline-pop__bubble {\n  visibility: visible;\n  opacity: 1;\n}\n\n#opl-page .opl-inline-pop__title {\n  display: block;\n  margin: 0 0 10px !important;\n  font-size: 17px !important;\n  font-weight: 700 !important;\n  line-height: 1.25 !important;\n  color: var(--opl-text) !important;\n}\n\n#opl-page .opl-inline-pop__bubble p {\n  margin: 0 0 10px !important;\n  font-size: inherit !important;\n  line-height: inherit !important;\n  color: inherit !important;\n  font-weight: inherit !important;\n}\n\n#opl-page .opl-inline-pop__bubble p:last-child {\n  margin-bottom: 0 !important;\n}\n\n#opl-page .opl-btn-primary,\n#opl-page .opl-btn-secondary,\n#opl-page .opl-btn-inline,\n#opl-page .opl-info__add-to-cart,\n#opl-page .opl-final-cta-dual__btn-primary,\n#opl-page .opl-final-cta-dual__btn-secondary,\n#opl-page .opl-sticky-bar__cta {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 9999px;\n  text-decoration: none !important;\n  font-weight: 800;\n  cursor: pointer;\n  transition: all 0.18s;\n  font-family: 'Plus Jakarta Sans', sans-serif !important;\n}\n#opl-page .opl-info__add-to-cart,\n#opl-page .opl-btn-primary,\n#opl-page .opl-final-cta-dual__btn-primary,\n#opl-page .opl-sticky-bar__cta {\n  background: #8C4799;\n  color: #F5F5F5 !important;\n  border: 0;\n  box-shadow: 0 6px 18px rgba(140, 71, 153, 0.22);\n}\n#opl-page .opl-info__add-to-cart:hover,\n#opl-page .opl-btn-primary:hover,\n#opl-page .opl-final-cta-dual__btn-primary:hover,\n#opl-page .opl-sticky-bar__cta:hover {\n  background: #6B3578;\n  transform: translateY(-1px);\n  box-shadow: 0 10px 22px rgba(140, 71, 153, 0.28);\n}\n#opl-page .opl-info__add-to-cart {\n  display: block;\n  width: 100%;\n  padding: 18px 32px;\n  font-size: 17px;\n  letter-spacing: -0.2px;\n  margin-bottom: 18px;\n}\n#opl-page .opl-info__add-to-cart.adding { opacity: 0.7; pointer-events: none; }\n#opl-page .opl-btn-secondary,\n#opl-page .opl-final-cta-dual__btn-secondary {\n  background: #FFFFFF;\n  color: #8C4799 !important;\n  border: 2px solid #8C4799;\n}\n#opl-page .opl-btn-secondary:hover,\n#opl-page .opl-final-cta-dual__btn-secondary:hover {\n  background: #8C4799;\n  color: #F5F5F5 !important;\n}\n\n#opl-page .opl-inline-panel {\n  background: #FFFFFF;\n  border: 1px solid #EEDAEA;\n  border-radius: 16px;\n  box-shadow: 0 4px 14px rgba(140, 71, 153, 0.06);\n}\n#opl-page .opl-best-for {\n  display: flex;\n  gap: 12px;\n  align-items: flex-start;\n  padding: 16px 18px;\n  margin: 0 0 18px;\n}\n#opl-page .opl-best-for__icon {\n  display: inline-flex;\n  width: 28px;\n  height: 28px;\n  border-radius: 8px;\n  background: #EEDAEA;\n  color: #8C4799;\n  align-items: center;\n  justify-content: center;\n  font-weight: 800;\n  font-size: 14px;\n  flex-shrink: 0;\n}\n#opl-page .opl-best-for__label {\n  display: block;\n  font-size: 11px;\n  text-transform: uppercase;\n  letter-spacing: 1.4px;\n  color: #8C4799;\n  font-weight: 800;\n  margin-bottom: 3px;\n}\n#opl-page .opl-best-for__text {\n  font-size: 14px;\n  color: #252526;\n  line-height: 1.5;\n}\n\n#opl-page .opl-info__trust {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 14px;\n  margin: 0;\n  padding: 22px 0 0;\n  border-top: 1px solid #EEDAEA;\n}\n#opl-page .opl-info__trust-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  font-size: 13px !important;\n  color: #444 !important;\n  line-height: 1.5 !important;\n  font-weight: 500 !important;\n}\n#opl-page .opl-info__trust-item strong { color: #252526; font-weight: 700; }\n#opl-page .opl-info__trust-icon {\n  width: 22px;\n  height: 22px;\n  background: #EEDAEA;\n  color: #8C4799;\n  border-radius: 50%;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  font-size: 12px;\n  font-weight: 800;\n  margin-top: -1px;\n}\n#opl-page .opl-info__trust-icon--green { background: #DBF1DA; color: #2C7A2C; }\n\n#opl-page .opl-info__payments {\n  margin: 22px 0 0;\n  padding: 18px 0 0;\n  border-top: 1px solid #EEDAEA;\n}\n#opl-page .opl-info__payments-label {\n  font-size: 11px !important;\n  font-weight: 800 !important;\n  text-transform: uppercase;\n  letter-spacing: 1.4px;\n  color: #777 !important;\n  margin: 0 0 10px !important;\n}\n#opl-page .opl-info__payments-row { display: flex; gap: 8px; flex-wrap: wrap; }\n#opl-page .opl-info__pay-badge {\n  display: inline-block;\n  padding: 4px 10px;\n  background: #FFFFFF;\n  border: 1px solid #EEDAEA;\n  border-radius: 6px;\n  font-size: 11px;\n  font-weight: 700;\n  color: #555;\n  letter-spacing: 0.2px;\n}\n#opl-page .opl-info__pay-note {\n  font-size: 12px !important;\n  color: #777 !important;\n  margin: 10px 0 0 !important;\n  line-height: 1.4 !important;\n  font-style: italic;\n  font-weight: 500 !important;\n}\n\n#opl-page .opl-sticky-bar {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  background: #FFFFFF;\n  border-bottom: 1px solid #EEDAEA;\n  box-shadow: 0 4px 16px rgba(140, 71, 153, 0.08);\n  padding: 12px 24px;\n  z-index: 9990;\n  transform: translateY(-100%);\n  transition: transform 0.24s ease;\n}\n#opl-page .opl-sticky-bar--visible { transform: translateY(0); }\n#opl-page .opl-sticky-bar__inner {\n  max-width: 1240px;\n  margin: 0 auto;\n  display: flex;\n  align-items: center;\n  gap: 16px;\n}\n#opl-page .opl-sticky-bar__thumb {\n  width: 48px;\n  height: 48px;\n  border-radius: 8px;\n  object-fit: contain;\n  background: #F9F2FA;\n  padding: 4px;\n  border: 1px solid #EEDAEA;\n  flex-shrink: 0;\n}\n#opl-page .opl-sticky-bar__info { flex: 1; min-width: 0; }\n#opl-page .opl-sticky-bar__name {\n  display: block;\n  font-size: 14px;\n  font-weight: 800;\n  color: #252526;\n  line-height: 1.2;\n}\n#opl-page .opl-sticky-bar__price {\n  display: block;\n  font-size: 12px;\n  color: #555;\n  font-weight: 600;\n  margin-top: 2px;\n}\n#opl-page .opl-sticky-bar__cta { padding: 12px 24px; font-size: 14px; flex-shrink: 0; }\n\n#opl-page .opl-section { padding: 72px 56px !important; }\n#opl-page .opl-section h2 {\n  font-size: 32px !important;\n  margin: 0 0 18px !important;\n  font-weight: 800 !important;\n  color: #252526 !important;\n  letter-spacing: -1.2px !important;\n  line-height: 1.12 !important;\n}\n#opl-page .opl-section h3 {\n  font-size: 19px !important;\n  margin: 0 0 10px !important;\n  font-weight: 700 !important;\n  color: #252526 !important;\n  line-height: 1.25 !important;\n}\n#opl-page .opl-section p {\n  font-size: 16px !important;\n  font-weight: 500 !important;\n  line-height: 1.7 !important;\n  margin: 0 0 18px !important;\n  color: #252526 !important;\n}\n#opl-page .opl-section-lead {\n  max-width: 820px !important;\n  font-size: 17px !important;\n  color: #555 !important;\n  margin-bottom: 32px !important;\n}\n\n#opl-page .opl-card-grid-2,\n#opl-page .opl-cards,\n#opl-page .opl-compare-grid {\n  display: grid;\n  gap: 22px;\n}\n#opl-page .opl-card-grid-2,\n#opl-page .opl-compare-grid {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  max-width: 1100px;\n  margin: 0 auto;\n}\n#opl-page .opl-cards {\n  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));\n  max-width: 1100px;\n  margin: 0 auto;\n}\n\n#opl-page .opl-card,\n#opl-page .opl-panel,\n#opl-page .opl-compare-card {\n  background: #FFFFFF;\n  border: 1px solid #EEDAEA;\n  border-radius: 18px;\n  box-shadow: 0 4px 18px rgba(140, 71, 153, 0.06);\n}\n#opl-page .opl-card {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  padding: 28px 24px;\n  transition: all 0.2s;\n}\n#opl-page .opl-card:hover {\n  border-color: #8C4799;\n  transform: translateY(-3px);\n  box-shadow: 0 8px 24px rgba(140, 71, 153, 0.10);\n}\n#opl-page .opl-card__icon {\n  width: 56px;\n  height: 56px;\n  background: #EEDAEA;\n  border-radius: 12px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 18px;\n  color: #8C4799;\n  border: 1px solid rgba(140, 71, 153, 0.08);\n}\n#opl-page .opl-card__icon svg {\n  width: 24px;\n  height: 24px;\n  stroke: currentColor;\n  stroke-width: 1.85;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  fill: none;\n}\n#opl-page .opl-card p { font-size: 14px !important; margin: 0 !important; color: #555 !important; line-height: 1.55 !important; }\n\n#opl-page .opl-compare-card { padding: 0; overflow: hidden; }\n#opl-page .opl-compare-card__head {\n  padding: 22px 24px 18px;\n  border-bottom: 1px solid #EEDAEA;\n  background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%);\n}\n#opl-page .opl-compare-card__body { padding: 0 24px 24px; }\n#opl-page .opl-compare-card--positive {\n  border-color: #E4D0E8;\n  box-shadow: 0 8px 24px rgba(140, 71, 153, 0.08);\n}\n#opl-page .opl-compare-card--positive .opl-compare-card__head {\n  background: linear-gradient(180deg, #FFFFFF 0%, #F5E9F7 100%);\n}\n#opl-page .opl-compare-card--muted {\n  border-color: #DDDADF;\n  background: #FCFCFD;\n  box-shadow: 0 4px 16px rgba(37, 37, 38, 0.05);\n}\n#opl-page .opl-compare-card--muted .opl-compare-card__head {\n  background: linear-gradient(180deg, #FFFFFF 0%, #F4F4F6 100%);\n  border-bottom-color: #E6E4E8;\n}\n#opl-page .opl-compare-badge {\n  display: inline-flex;\n  align-items: center;\n  border-radius: 9999px;\n  padding: 8px 12px;\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 1.3px;\n  text-transform: uppercase;\n  margin: 0 0 10px;\n}\n#opl-page .opl-compare-card--positive .opl-compare-badge {\n  background: #F2E3F5;\n  color: #8C4799;\n}\n#opl-page .opl-compare-card--muted .opl-compare-badge {\n  background: #EEEEF1;\n  color: #68666E;\n}\n#opl-page .opl-compare-list {\n  list-style: none !important;\n  padding: 0 !important;\n  margin: 0 !important;\n}\n#opl-page .opl-compare-list li {\n  position: relative;\n  padding: 14px 0 14px 30px !important;\n  margin: 0 !important;\n  border-bottom: 1px solid #F4E5F0;\n  font-size: 14px !important;\n  line-height: 1.55 !important;\n  color: #555 !important;\n}\n#opl-page .opl-compare-card--muted .opl-compare-list li { border-bottom-color: #ECEAF0; }\n#opl-page .opl-compare-list li:last-child {\n  border-bottom: 0;\n  padding-bottom: 0 !important;\n}\n#opl-page .opl-compare-list li::before {\n  content: '\\2713';\n  position: absolute;\n  left: 0;\n  top: 14px;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 11px;\n  font-weight: 800;\n}\n#opl-page .opl-compare-card--positive .opl-compare-list li::before {\n  background: #F2E3F5;\n  color: #8C4799;\n}\n#opl-page .opl-compare-card--muted .opl-compare-list li::before {\n  content: '-';\n  background: #F0EEF2;\n  color: #7A7680;\n  font-size: 16px;\n}\n\n#opl-page .opl-list-card {\n  padding: 32px 28px;\n}\n#opl-page .opl-list-card__eyebrow {\n  display: inline-block;\n  margin: 0 0 14px;\n  font-size: 11px;\n  font-weight: 800;\n  text-transform: uppercase;\n  letter-spacing: 1.4px;\n  color: #8C4799;\n}\n#opl-page .opl-clean-list {\n  list-style: none !important;\n  padding: 0 !important;\n  margin: 0 !important;\n}\n#opl-page .opl-clean-list \u003e li {\n  position: relative;\n  padding: 10px 0 10px 30px !important;\n  margin: 0 !important;\n  border-bottom: 1px solid #F4E5F0;\n  font-size: 14px !important;\n  line-height: 1.55 !important;\n  color: #555 !important;\n}\n#opl-page .opl-clean-list \u003e li:last-child { border-bottom: 0; }\n#opl-page .opl-clean-list \u003e li::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 14px;\n  width: 18px;\n  height: 18px;\n  border-radius: 50%;\n  background: #EEDAEA;\n}\n#opl-page .opl-clean-list \u003e li::after {\n  content: '';\n  position: absolute;\n  left: 5px;\n  top: 20px;\n  width: 8px;\n  height: 4px;\n  border-left: 2px solid #8C4799;\n  border-bottom: 2px solid #8C4799;\n  transform: rotate(-45deg);\n}\n#opl-page .opl-sub-list {\n  list-style: none !important;\n  padding: 8px 0 4px 0 !important;\n  margin: 6px 0 0 0 !important;\n}\n#opl-page .opl-sub-list li {\n  position: relative;\n  padding: 4px 0 4px 16px !important;\n  border-bottom: 0 !important;\n  font-size: 13px !important;\n  color: #555 !important;\n  line-height: 1.45 !important;\n  font-weight: 500 !important;\n}\n#opl-page .opl-sub-list li::before {\n  content: '-';\n  position: absolute;\n  left: 0;\n  top: 2px;\n  color: #8C4799;\n  font-weight: 800;\n  font-size: 16px;\n}\n#opl-page .opl-sub-list li::after { display: none; }\n\n#opl-page .opl-linkout {\n  background: linear-gradient(180deg, #F9F2FA 0%, #FFFFFF 100%);\n  padding: 16px 56px 40px !important;\n}\n#opl-page .opl-linkout__inner {\n  max-width: 1100px;\n  margin: 0 auto;\n  display: grid;\n  grid-template-columns: 72px minmax(0, 1fr) auto;\n  gap: 28px;\n  align-items: center;\n  background: #FFFFFF;\n  padding: 32px 36px;\n  border-radius: 18px;\n  border: 1px solid #EEDAEA;\n  box-shadow: 0 4px 18px rgba(140, 71, 153, 0.08);\n}\n#opl-page .opl-linkout__icon {\n  width: 72px;\n  height: 72px;\n  background: #EEDAEA;\n  border-radius: 14px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: #8C4799;\n}\n#opl-page .opl-linkout__icon svg {\n  width: 40px;\n  height: 40px;\n  stroke: currentColor;\n  stroke-width: 2.2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  fill: none;\n}\n#opl-page .opl-linkout__body h3 {\n  margin: 0 0 8px !important;\n  font-size: 22px !important;\n  color: #252526 !important;\n  font-weight: 800 !important;\n  letter-spacing: -0.4px;\n}\n#opl-page .opl-linkout__body p {\n  margin: 0 !important;\n  font-size: 14px !important;\n  color: #555 !important;\n  line-height: 1.55 !important;\n}\n#opl-page .opl-linkout__cta {\n  display: inline-flex;\n  padding: 14px 26px;\n  white-space: nowrap;\n}\n\n#opl-page .opl-final-cta-dual {\n  background: linear-gradient(180deg, #F9F2FA 0%, #FFFFFF 100%);\n  padding: 40px 56px 24px;\n  border-top: 1px solid #EEDAEA;\n}\n#opl-page .opl-final-cta-dual__inner {\n  max-width: 1100px;\n  margin: 0 auto;\n  display: grid;\n  grid-template-columns: 1fr auto 1fr;\n  align-items: center;\n  gap: 32px;\n}\n#opl-page .opl-final-cta-dual__col {\n  background: #FFFFFF;\n  border: 1px solid #EEDAEA;\n  border-radius: 18px;\n  padding: 32px 36px;\n  text-align: center;\n  box-shadow: 0 4px 14px rgba(140, 71, 153, 0.06);\n}\n#opl-page .opl-final-cta-dual__col h3 {\n  margin: 0 0 14px !important;\n  font-size: 20px !important;\n  font-weight: 800 !important;\n  color: #252526 !important;\n  letter-spacing: -0.4px;\n}\n#opl-page .opl-final-cta-dual__col p {\n  margin: 0 0 18px !important;\n  font-size: 14px !important;\n  color: #555 !important;\n  line-height: 1.5 !important;\n}\n#opl-page .opl-final-cta-dual__btn-primary,\n#opl-page .opl-final-cta-dual__btn-secondary {\n  padding: 14px 32px;\n  font-size: 15px;\n}\n#opl-page .opl-final-cta-dual__or {\n  font-size: 11px !important;\n  font-weight: 800 !important;\n  text-transform: uppercase;\n  letter-spacing: 1.6px;\n  color: #888 !important;\n  padding: 0 8px;\n}\n\n#opl-page .opl-confirm-dialog {\n  display: none;\n  position: fixed;\n  inset: 0;\n  background: rgba(45, 15, 55, 0.55);\n  z-index: 9999;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n  backdrop-filter: blur(2px);\n}\n#opl-page .opl-confirm-content {\n  background: #FFFFFF;\n  padding: 32px;\n  border-radius: 18px;\n  max-width: 480px;\n  width: 100%;\n  border: 1px solid #EEDAEA;\n}\n#opl-page .opl-confirm-content h3 {\n  margin: 0 0 12px !important;\n  color: #252526 !important;\n  font-size: 22px !important;\n}\n#opl-page .opl-confirm-content p {\n  font-size: 15px !important;\n  color: #444 !important;\n  margin: 0 !important;\n  line-height: 1.6 !important;\n}\n#opl-page .opl-confirm-buttons { display: flex; gap: 12px; margin-top: 24px; }\n#opl-page .opl-confirm-switch,\n#opl-page .opl-confirm-continue {\n  border-radius: 9999px;\n  padding: 13px 22px;\n  font-size: 14px;\n  font-family: 'Plus Jakarta Sans', sans-serif !important;\n  flex: 1;\n  cursor: pointer;\n}\n#opl-page .opl-confirm-switch {\n  background: #8C4799;\n  color: #F5F5F5;\n  border: 0;\n  font-weight: 800;\n}\n#opl-page .opl-confirm-continue {\n  background: transparent;\n  color: #555;\n  border: 2px solid #EEDAEA;\n  font-weight: 700;\n}\n\n@media (max-width: 980px) {\n  #opl-page .opl-breadcrumb { padding: 18px 24px 0 !important; }\n  #opl-page .opl-product { padding: 18px 24px 32px !important; }\n  #opl-page .opl-product-grid,\n  #opl-page .opl-card-grid-2,\n  #opl-page .opl-compare-grid { grid-template-columns: 1fr !important; gap: 32px !important; }\n  #opl-page .opl-info__name { font-size: 32px !important; }\n  #opl-page .opl-info__price { font-size: 30px !important; }\n  #opl-page .opl-info__variant-options { grid-template-columns: 1fr !important; }\n  #opl-page .opl-info__trust { grid-template-columns: 1fr !important; }\n  #opl-page .opl-section { padding: 56px 24px !important; }\n  #opl-page .opl-section h2 { font-size: 26px !important; }\n  #opl-page .opl-cards { grid-template-columns: 1fr 1fr !important; }\n  #opl-page .opl-linkout { padding: 16px 24px 32px !important; }\n  #opl-page .opl-linkout__inner {\n    grid-template-columns: 1fr !important;\n    padding: 28px !important;\n    text-align: center;\n  }\n  #opl-page .opl-linkout__icon { margin: 0 auto; }\n  #opl-page .opl-linkout__cta { justify-self: center; }\n  #opl-page .opl-final-cta-dual { padding: 32px 24px 24px !important; }\n  #opl-page .opl-final-cta-dual__inner { grid-template-columns: 1fr; gap: 16px; }\n  #opl-page .opl-final-cta-dual__or { padding: 0; }\n  #opl-page .opl-sticky-bar { padding: 10px 16px !important; }\n  #opl-page .opl-sticky-bar__cta { padding: 10px 18px !important; font-size: 13px !important; }\n}\n\n@media (max-width: 540px) {\n  #opl-page .opl-info__name { font-size: 28px !important; }\n  #opl-page .opl-gallery__thumbs { --opl-visible-thumbs: 2; }\n  #opl-page .opl-gallery__thumbs-shell { gap: 8px; }\n  #opl-page .opl-gallery__viewer-nav { width: 38px; height: 38px; }\n  #opl-page .opl-gallery__viewer-nav--prev { left: 10px; }\n  #opl-page .opl-gallery__viewer-nav--next { right: 10px; }\n  #opl-page .opl-gallery__thumb-nav { width: 34px; height: 34px; }\n  #opl-page .opl-cards { grid-template-columns: 1fr !important; }\n  #opl-page .opl-section h2 { font-size: 22px !important; }\n  #opl-page .opl-confirm-buttons { flex-direction: column; }\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n.template-product .product__title,\n.template-product .title,\n.template-product .price,\n.template-product .price__container,\n.template-product .product-form,\n.template-product .product-form__buttons,\n.template-product .product-form__input,\n.template-product variant-selects,\n.template-product variant-radios,\n.template-product .quantity,\n.template-product .shopify-payment-button,\n.template-product .installment,\n.template-product pickup-availability,\n.template-product .pickup-availability,\n.template-product .product__pickup-availabilities,\n.template-product .view-details,\n.template-product .product__view-details,\n.template-product modal-opener.product-popup-modal__button {\n  display: none !important;\n}\n\n#opl-page {\n  --opl-bg: #F9F2FA;\n  --opl-bg-soft: #FBF7FC;\n  --opl-surface: #FFFFFF;\n  --opl-surface-soft: #FAF3FB;\n  --opl-surface-alt: #FFF8F0;\n  --opl-surface-blue: #EEF6FB;\n  --opl-text: #252526;\n  --opl-muted: #555555;\n  --opl-purple: #8C4799;\n  --opl-purple-dark: #6B3578;\n  --opl-purple-soft: #EEDAEA;\n  --opl-yellow: #F3DA76;\n  --opl-orange: #FFB549;\n  --opl-border: #EEDAEA;\n  --opl-border-strong: #E1D3E2;\n  --opl-shadow: 0 10px 28px rgba(140, 71, 153, 0.08);\n  --opl-shadow-soft: 0 4px 18px rgba(140, 71, 153, 0.06);\n  --opl-shadow-hover: 0 12px 30px rgba(140, 71, 153, 0.10);\n}\n\n#opl-page .opl-breadcrumb {\n  display: none !important;\n}\n\n#opl-page .opl-product {\n  padding: 24px 56px 60px !important;\n  background: linear-gradient(180deg, #F9F2FA 0%, #FBF7FC 100%);\n}\n\n#opl-page .opl-product-grid {\n  gap: 28px !important;\n  max-width: 1240px !important;\n  align-items: stretch !important;\n}\n\n#opl-page .opl-gallery,\n#opl-page .opl-info,\n#opl-page .opl-card,\n#opl-page .opl-panel,\n#opl-page .opl-compare-card,\n#opl-page .opl-faq-item,\n#opl-page .opl-linkout__inner,\n#opl-page .opl-final-cta-dual__col,\n#opl-page .opl-confirm-content {\n  position: relative;\n  overflow: hidden;\n  border-radius: 24px !important;\n}\n\n#opl-page .opl-gallery::before,\n#opl-page .opl-info::before,\n#opl-page .opl-card::before,\n#opl-page .opl-panel::before,\n#opl-page .opl-compare-card::before,\n#opl-page .opl-faq-item::before,\n#opl-page .opl-linkout__inner::before,\n#opl-page .opl-final-cta-dual__col::before {\n  content: '';\n  position: absolute;\n  top: -1px;\n  left: -1px;\n  right: -1px;\n  height: 10px;\n  background: var(--opl-purple);\n  border-radius: 24px 24px 16px 16px;\n  pointer-events: none;\n  z-index: 1;\n}\n\n#opl-page .opl-gallery,\n#opl-page .opl-info {\n  border: 1px solid var(--opl-border) !important;\n  box-shadow: var(--opl-shadow) !important;\n  background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%) !important;\n}\n\n#opl-page .opl-gallery {\n  padding: 24px;\n}\n\n#opl-page .opl-info {\n  padding: 28px;\n}\n\n#opl-page .opl-gallery__main {\n  margin-bottom: 18px;\n  background: transparent;\n  border: 0;\n  box-shadow: none;\n  padding: 0;\n}\n\n#opl-page .opl-gallery__main-canvas {\n  position: relative;\n  border: 12px solid #FFFFFF;\n  border-radius: 28px;\n  box-shadow: 0 6px 32px rgba(140, 71, 153, 0.06);\n}\n\n#opl-page .opl-gallery__main img {\n  position: absolute;\n  inset: 0;\n  display: block;\n  width: 100%;\n  height: 100%;\n  max-width: none;\n  max-height: none;\n  object-fit: contain;\n  object-position: center;\n  padding: 14px;\n}\n\n#opl-page .opl-gallery__thumb {\n  border-radius: 16px;\n  border: 1px solid var(--opl-border-strong);\n  box-shadow: var(--opl-shadow-soft);\n  padding: 8px;\n}\n\n#opl-page .opl-gallery__thumb-canvas {\n  border-radius: 10px;\n}\n\n#opl-page .opl-gallery__thumb:hover {\n  border-color: var(--opl-purple);\n  box-shadow: var(--opl-shadow);\n}\n\n#opl-page .opl-gallery__thumb--active {\n  border-color: var(--opl-purple) !important;\n  box-shadow: 0 0 0 3px rgba(140, 71, 153, 0.16), var(--opl-shadow-soft);\n}\n\n#opl-page .opl-info__eyebrow,\n#opl-page .opl-section .opl-section-eyebrow {\n  margin-bottom: 14px !important;\n}\n\n#opl-page .opl-info__rating {\n  display: inline-flex;\n  width: fit-content;\n  min-height: 32px;\n  padding: 8px 12px;\n  border-radius: 9999px;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(140, 71, 153, 0.18);\n  color: var(--opl-text);\n  font-weight: 800;\n  line-height: 1;\n}\n\n#opl-page .opl-info__stars {\n  display: none;\n}\n\n#opl-page .opl-info__support-chips {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 12px;\n}\n\n#opl-page .opl-info__support-chip {\n  position: relative;\n  justify-content: flex-start;\n  min-height: 56px;\n  padding: 12px 14px 12px 42px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.92);\n  border: 1px solid var(--opl-border);\n  box-shadow: var(--opl-shadow-soft);\n  color: var(--opl-text);\n}\n\n#opl-page .opl-info__support-chip::before {\n  content: '\\2713';\n  position: absolute;\n  left: 14px;\n  top: 50%;\n  width: 18px;\n  height: 18px;\n  border-radius: 50%;\n  transform: translateY(-50%);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(140, 71, 153, 0.18);\n  color: var(--opl-text);\n  font-size: 10px;\n  font-weight: 800;\n}\n\n#opl-page .opl-gallery__proofs {\n  margin-top: 18px;\n}\n\n#opl-page .opl-proof-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 12px;\n}\n\n#opl-page .opl-proof-card {\n  position: relative;\n  display: grid;\n  gap: 10px;\n  align-content: start;\n  min-height: 100%;\n  padding: 18px 18px 16px;\n  border-radius: 20px;\n  border: 1px solid var(--opl-border);\n  background: linear-gradient(180deg, #FFFFFF 0%, #FBF6FC 100%);\n  box-shadow: var(--opl-shadow-soft);\n  overflow: hidden;\n}\n\n#opl-page .opl-proof-card__header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n#opl-page .opl-proof-card__button {\n  width: 100%;\n  padding: 0;\n  border: 0;\n  background: transparent;\n  color: inherit;\n  display: grid;\n  grid-template-columns: auto minmax(0, 1fr);\n  align-items: center;\n  gap: 12px;\n  text-align: left;\n  cursor: default;\n}\n\n#opl-page .opl-proof-card::before {\n  content: '';\n  position: absolute;\n  top: -1px;\n  left: -1px;\n  right: -1px;\n  height: 10px;\n  background: var(--opl-purple);\n  border-radius: 20px 20px 14px 14px;\n  pointer-events: none;\n}\n\n#opl-page .opl-proof-card__icon {\n  width: 34px;\n  height: 34px;\n  flex: 0 0 34px;\n  border-radius: 50%;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(37, 37, 38, 0.14);\n  color: var(--opl-text);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  box-shadow: 0 2px 8px rgba(37, 37, 38, 0.08);\n}\n\n#opl-page .opl-proof-card__icon svg {\n  width: 16px;\n  height: 16px;\n  stroke: currentColor;\n  stroke-width: 2.6;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  fill: none;\n}\n\n#opl-page .octo-icon-slot {\n  display: block;\n  width: 100%;\n  height: 100%;\n  color: inherit;\n}\n\n#opl-page .octo-icon-slot svg {\n  display: block;\n  width: 100%;\n  height: 100%;\n  color: inherit;\n}\n\n#opl-page .opl-proof-card h3 {\n  margin: 0 !important;\n  font-size: 17px !important;\n  line-height: 1.22 !important;\n  letter-spacing: -0.3px;\n}\n\n#opl-page .opl-proof-card__title {\n  margin: 0 !important;\n  font-size: 17px !important;\n  line-height: 1.22 !important;\n  letter-spacing: -0.3px;\n  font-weight: 700 !important;\n  color: var(--opl-text) !important;\n}\n\n#opl-page .opl-proof-card__toggle {\n  display: none;\n}\n\n#opl-page .opl-proof-card__body {\n  overflow: hidden;\n}\n\n#opl-page .opl-proof-card p {\n  margin: 0 !important;\n  font-size: 13px !important;\n  line-height: 1.55 !important;\n  color: var(--opl-muted) !important;\n}\n\n#opl-page .opl-gallery__proof-note {\n  margin: 12px 2px 0 !important;\n  font-size: 11px !important;\n  line-height: 1.5 !important;\n  color: #777 !important;\n}\n\n#opl-page .opl-modular-callout {\n  position: relative;\n  display: grid;\n  grid-template-columns: auto minmax(0, 1fr);\n  gap: 14px;\n  align-items: start;\n  margin-top: 14px;\n  padding: 18px 18px 16px;\n  border-radius: 20px;\n  border: 1px solid var(--opl-border);\n  background: linear-gradient(180deg, #FFFFFF 0%, #FFF8F0 100%);\n  box-shadow: var(--opl-shadow-soft);\n  overflow: hidden;\n}\n\n#opl-page .opl-modular-callout::before {\n  content: '';\n  position: absolute;\n  top: -1px;\n  left: -1px;\n  right: -1px;\n  height: 10px;\n  background: linear-gradient(90deg, var(--opl-orange) 0%, var(--opl-yellow) 100%);\n  border-radius: 20px 20px 14px 14px;\n  pointer-events: none;\n}\n\n#opl-page .opl-modular-callout__icon {\n  width: 40px;\n  height: 40px;\n  border-radius: 14px;\n  background: rgba(243, 218, 118, 0.34);\n  border: 1px solid rgba(37, 37, 38, 0.12);\n  color: var(--opl-text);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  box-shadow: 0 2px 8px rgba(37, 37, 38, 0.08);\n}\n\n#opl-page .opl-modular-callout__icon svg {\n  width: 18px;\n  height: 18px;\n  stroke: currentColor;\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  fill: none;\n}\n\n#opl-page .opl-modular-callout__copy {\n  display: grid;\n  gap: 6px;\n}\n\n#opl-page .opl-modular-callout__eyebrow {\n  display: inline-block;\n  font-size: 11px !important;\n  font-weight: 800 !important;\n  letter-spacing: 1.2px;\n  text-transform: uppercase;\n  color: var(--opl-purple) !important;\n  margin: 0 !important;\n}\n\n#opl-page .opl-modular-callout h3 {\n  margin: 0 !important;\n  font-size: 18px !important;\n  line-height: 1.22 !important;\n  letter-spacing: -0.3px !important;\n  color: var(--opl-text) !important;\n  font-weight: 800 !important;\n}\n\n#opl-page .opl-modular-callout p {\n  margin: 0 !important;\n  font-size: 13px !important;\n  line-height: 1.6 !important;\n  color: var(--opl-muted) !important;\n  font-weight: 500 !important;\n}\n\n#opl-page .opl-modular-callout + .opl-gallery__proof-note {\n  margin-top: 14px !important;\n}\n\n#opl-page .opl-info__variants {\n  margin-bottom: 22px;\n  padding: 18px;\n  border-radius: 20px;\n  background: rgba(255, 255, 255, 0.76);\n  border: 1px solid var(--opl-border);\n  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);\n}\n\n#opl-page .opl-info__variant {\n  min-height: 100%;\n  position: relative;\n  overflow: hidden;\n  border-radius: 20px;\n  border: 1px solid var(--opl-border-strong);\n  box-shadow: var(--opl-shadow-soft);\n  background: linear-gradient(180deg, #FFFFFF 0%, #FCF7FD 100%);\n  padding: 22px 18px 16px;\n}\n\n#opl-page .opl-info__variant::before {\n  content: '';\n  position: absolute;\n  top: -1px;\n  left: -1px;\n  right: -1px;\n  height: 10px;\n  background: #E9D7EC;\n  border-radius: 20px 20px 16px 16px;\n  pointer-events: none;\n  z-index: 1;\n}\n\n#opl-page .opl-info__variant::after {\n  content: '';\n  position: absolute;\n  top: 14px;\n  right: 14px;\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  border: 1px solid rgba(140, 71, 153, 0.22);\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(37, 37, 38, 0.08);\n}\n\n#opl-page .opl-info__variant--selected {\n  background: #FCF6FD !important;\n  border-color: var(--opl-purple) !important;\n  box-shadow: var(--opl-shadow) !important;\n}\n\n#opl-page .opl-info__variant--selected::before {\n  background: var(--opl-purple);\n}\n\n#opl-page .opl-info__variant--selected::after {\n  content: '\\2713';\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: var(--opl-purple);\n  border-color: var(--opl-purple);\n  color: #FFFFFF;\n  font-size: 12px;\n  font-weight: 800;\n}\n\n#opl-page .opl-info__variant[role=\"radio\"]:focus-visible,\n#opl-page .opl-info__add-to-cart:focus-visible,\n#opl-page .opl-btn-primary:focus-visible,\n#opl-page .opl-btn-secondary:focus-visible,\n#opl-page .opl-final-cta-dual__btn-primary:focus-visible,\n#opl-page .opl-final-cta-dual__btn-secondary:focus-visible,\n#opl-page .opl-sticky-bar__cta:focus-visible,\n#opl-page .opl-gallery__thumb:focus-visible,\n#opl-page .opl-gallery__viewer-nav:focus-visible,\n#opl-page .opl-gallery__thumb-nav:focus-visible,\n#opl-page .opl-linkout__cta:focus-visible,\n#opl-page .opl-faq-item__button:focus-visible {\n  outline: 3px solid rgba(140, 71, 153, 0.18);\n  outline-offset: 3px;\n}\n\n#opl-page .opl-info__variant-rec {\n  background: var(--opl-yellow);\n  color: var(--opl-text);\n  border: 1px solid rgba(140, 71, 153, 0.18);\n}\n\n#opl-page .opl-info__print-qualifier {\n  margin-top: 12px !important;\n}\n\n#opl-page .opl-mobile-buy-toggle {\n  display: none;\n}\n\n#opl-page .opl-mobile-purchase {\n  overflow: hidden;\n}\n\n#opl-page .opl-inline-panel {\n  border-radius: 20px;\n}\n\n#opl-page .opl-best-for__icon {\n  border-radius: 9999px;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(140, 71, 153, 0.18);\n  color: var(--opl-text);\n}\n\n#opl-page .opl-proof-card__icon .octo-icon-slot {\n  width: 22px;\n  height: 22px;\n}\n\n#opl-page .opl-modular-callout__icon .octo-icon-slot {\n  width: 24px;\n  height: 24px;\n}\n\n#opl-page .opl-best-for__icon .octo-icon-slot {\n  width: 20px;\n  height: 20px;\n}\n\n#opl-page .opl-card__icon .octo-icon-slot {\n  width: 24px;\n  height: 24px;\n}\n\n#opl-page .opl-linkout__icon .octo-icon-slot {\n  width: 46px;\n  height: 46px;\n}\n\n#opl-page .opl-info__trust {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 12px 18px;\n}\n\n#opl-page .opl-info__payments-row {\n  gap: 10px;\n}\n\n#opl-page .opl-info__pay-badge {\n  border-radius: 9999px;\n  padding: 6px 12px;\n}\n\n#opl-page .opl-sticky-bar {\n  top: 14px;\n  left: 16px;\n  right: 16px;\n  padding: 12px 18px;\n  background: rgba(255, 255, 255, 0.88);\n  backdrop-filter: blur(14px);\n  border: 1px solid rgba(238, 218, 234, 0.95);\n  border-radius: 22px;\n  box-shadow: 0 12px 32px rgba(140, 71, 153, 0.10);\n  transform: translateY(calc(-100% - 20px));\n}\n\n#opl-page .opl-sticky-bar__inner {\n  max-width: 1200px;\n}\n\n#opl-page .opl-sticky-bar__thumb {\n  border-radius: 14px;\n  background: #FFFFFF;\n}\n\n#opl-page .opl-sticky-bar__printer {\n  display: block;\n  font-size: 11px;\n  color: var(--opl-purple-dark);\n  font-weight: 700;\n  margin-top: 3px;\n}\n\n#opl-page .opl-section {\n  padding: 72px 56px !important;\n}\n\n#opl-page .opl-section h2,\n#opl-page .opl-section-lead {\n  max-width: 820px;\n}\n\n#opl-page .opl-card-grid-2,\n#opl-page .opl-compare-grid {\n  align-items: stretch;\n}\n\n#opl-page .opl-card,\n#opl-page .opl-panel,\n#opl-page .opl-compare-card {\n  height: 100%;\n  border-radius: 22px !important;\n}\n\n#opl-page .opl-faq-item {\n  border-radius: 22px !important;\n}\n\n#opl-page .opl-card,\n#opl-page .opl-panel {\n  padding-top: 30px;\n}\n\n#opl-page .opl-list-card {\n  border-radius: 22px !important;\n  overflow: hidden !important;\n}\n\n#opl-page .opl-row-accordion {\n  padding: 0 !important;\n}\n\n#opl-page .opl-row-accordion::before,\n#opl-page .opl-row-accordion::after {\n  display: none !important;\n}\n\n#opl-page .opl-row-accordion__button {\n  width: 100%;\n  padding: 10px 0;\n  border: 0;\n  background: transparent;\n  color: inherit;\n  display: grid;\n  grid-template-columns: 18px minmax(0, 1fr);\n  align-items: start;\n  gap: 12px;\n  text-align: left;\n  cursor: default;\n}\n\n#opl-page .opl-row-accordion__icon {\n  position: relative;\n  width: 18px;\n  height: 18px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 50%;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(37, 37, 38, 0.14);\n}\n\n#opl-page .opl-row-accordion__icon::before {\n  content: '\\2713';\n  position: static;\n  display: block;\n  color: var(--opl-text);\n  font-size: 10px;\n  font-weight: 800;\n  line-height: 1;\n}\n\n#opl-page .opl-row-accordion__title {\n  display: block;\n  font-size: 14px;\n  line-height: 1.55;\n  color: #555;\n  font-weight: 500;\n}\n\n#opl-page .opl-row-accordion__title strong {\n  color: var(--opl-text);\n  font-weight: 700;\n}\n\n#opl-page .opl-row-accordion__body {\n  padding: 0 0 10px 30px;\n  font-size: 14px;\n  line-height: 1.55;\n  color: #555;\n}\n\n#opl-page .opl-row-accordion__body p {\n  margin: 0 !important;\n  font-size: inherit !important;\n  line-height: inherit !important;\n  color: inherit !important;\n  font-weight: 500 !important;\n}\n\n#opl-page .opl-compare-card__head {\n  padding-top: 28px;\n}\n\n#opl-page .opl-compare-list li::before {\n  content: '\\2605';\n}\n\n#opl-page .opl-compare-list li[data-octo-compare-icon] {\n  padding-left: 34px !important;\n}\n\n#opl-page .opl-compare-list li[data-octo-compare-icon]::before {\n  display: none;\n  content: none;\n}\n\n#opl-page .opl-compare-list__icon {\n  position: absolute;\n  left: 0;\n  top: 14px;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n}\n\n#opl-page .opl-compare-list__icon .octo-icon-slot {\n  width: 12px;\n  height: 12px;\n}\n\n#opl-page .opl-compare-card--positive::before {\n  background: var(--opl-purple);\n}\n\n#opl-page .opl-compare-card--positive .opl-compare-list li::before {\n  background: var(--opl-yellow);\n  border: 1px solid rgba(37, 37, 38, 0.14);\n  color: var(--opl-text);\n}\n\n#opl-page .opl-compare-card--positive .opl-compare-list__icon {\n  background: var(--opl-yellow);\n  border: 1px solid rgba(37, 37, 38, 0.14);\n  color: var(--opl-text);\n}\n\n#opl-page .opl-compare-card--muted::before {\n  background: #888790;\n}\n\n#opl-page .opl-compare-card--muted {\n  border-color: #C9C8CF;\n  background: linear-gradient(180deg, #F8F8FA 0%, #ECECF0 100%);\n  box-shadow: 0 6px 20px rgba(37, 37, 38, 0.05);\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-card__head {\n  background: linear-gradient(180deg, #F2F2F5 0%, #DEDEE4 100%);\n  border-bottom-color: #D3D3DA;\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-card__body {\n  background: linear-gradient(180deg, #F5F5F8 0%, #EBEBEF 100%);\n}\n\n#opl-page .opl-compare-card--muted h3 {\n  color: #4E4D55 !important;\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-card__head p {\n  color: #686770 !important;\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-badge {\n  background: #7D7C85;\n  color: #FFFFFF;\n  border-color: #7D7C85;\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-list li {\n  color: #57565F !important;\n  border-bottom-color: #DADAE0;\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-list li::before {\n  content: '-';\n  background: #D8D8DE;\n  border: 1px solid rgba(87, 86, 95, 0.16);\n  color: #55545C;\n  font-size: 16px;\n}\n\n#opl-page .opl-compare-card--muted .opl-compare-list__icon {\n  background: #D8D8DE;\n  border: 1px solid rgba(87, 86, 95, 0.16);\n  color: #55545C;\n}\n\n#opl-page .opl-card:hover,\n#opl-page .opl-compare-card:hover,\n#opl-page .opl-faq-item:hover {\n  border-color: #DAB9DD !important;\n  box-shadow: var(--opl-shadow) !important;\n}\n\n#opl-page .opl-card--active {\n  border-color: var(--opl-purple) !important;\n  box-shadow: var(--opl-shadow) !important;\n  background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%) !important;\n}\n\n#opl-page .opl-card--secondary {\n  background: linear-gradient(180deg, #FFFFFF 0%, #FFF9F1 100%) !important;\n}\n\n#opl-page .opl-card__status {\n  display: inline-flex;\n  align-items: center;\n  width: fit-content;\n  min-height: 32px;\n  padding: 8px 12px;\n  border-radius: 9999px;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(140, 71, 153, 0.18);\n  color: var(--opl-text);\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 1px;\n  text-transform: uppercase;\n  margin-bottom: 10px;\n}\n\n#opl-page .opl-card__status--active {\n  background: #F2E3F5;\n  border-color: transparent;\n  color: var(--opl-purple);\n}\n\n#opl-page .opl-info__hero-chips {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin: 0 0 16px !important;\n}\n\n#opl-page .opl-info__hero-chips .opl-card__status {\n  margin: 0 !important;\n}\n\n#opl-page .opl-info__rating-stack {\n  display: none !important;\n}\n\n#opl-page .opl-info__body-copy {\n  max-width: 44ch;\n  margin: 0 0 10px !important;\n  font-size: 16px !important;\n  line-height: 1.65 !important;\n  color: var(--opl-text) !important;\n  font-weight: 600 !important;\n}\n\n#opl-page .opl-info__micro-note {\n  margin: 0 0 18px !important;\n  font-size: 12px !important;\n  line-height: 1.45 !important;\n  color: #777 !important;\n  font-weight: 500 !important;\n}\n\n#opl-page .opl-compare-switcher-card .opl-compare-card__head {\n  padding-bottom: 16px;\n}\n\n#opl-page .opl-cleaner-compare {\n  align-items: stretch;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-card {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-card__head {\n  min-height: 112px;\n  display: flex;\n  align-items: flex-start;\n  padding: 28px 24px 16px;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-card__body {\n  flex: 1;\n  display: grid;\n  align-content: start;\n  gap: 14px;\n  padding: 0 24px 24px;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-card__body h3 {\n  margin: 0 !important;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-list {\n  margin: 0 !important;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-badge {\n  margin: 0;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-switcher-card .opl-compare-card__head {\n  padding-bottom: 16px;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-tablist {\n  width: 100%;\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 4px;\n  padding: 4px;\n  border-radius: 9999px;\n  background: rgba(140, 71, 153, 0.10);\n  border: 1px solid rgba(140, 71, 153, 0.16);\n  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-tab {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  min-height: 44px;\n  padding: 10px 16px;\n  border-radius: 9999px;\n  border: 0;\n  background: transparent;\n  color: var(--opl-purple-dark);\n  font-size: 13px;\n  font-weight: 800;\n  letter-spacing: 0;\n  text-transform: none;\n  cursor: pointer;\n  transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-tab:hover {\n  background: rgba(255, 255, 255, 0.46);\n  color: var(--opl-text);\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-tab:focus-visible {\n  outline: 2px solid rgba(37, 37, 38, 0.18);\n  outline-offset: 2px;\n  background: rgba(255, 255, 255, 0.64);\n  color: var(--opl-text);\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-tab.is-active,\n#opl-page .opl-cleaner-compare .opl-compare-tab[aria-selected=\"true\"] {\n  background: var(--opl-yellow);\n  color: var(--opl-text);\n  box-shadow: 0 4px 12px rgba(37, 37, 38, 0.10);\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-panel {\n  display: none;\n}\n\n#opl-page .opl-cleaner-compare .opl-compare-panel.is-active {\n  display: grid;\n  align-content: start;\n  gap: 14px;\n}\n\n#opl-page .opl-include-summary {\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 22px;\n  max-width: 1100px;\n  margin: 0 auto 24px;\n}\n\n#opl-page .opl-include-summary .opl-card {\n  padding: 24px 22px;\n}\n\n#opl-page .opl-section-note {\n  max-width: 820px;\n  margin: 18px auto 0 !important;\n  font-size: 12px !important;\n  line-height: 1.55 !important;\n  color: #666 !important;\n}\n\n#opl-page .opl-card__cta {\n  margin-top: auto !important;\n  padding-top: 16px;\n  color: var(--opl-purple) !important;\n  font-weight: 800 !important;\n}\n\n#opl-page .opl-linkout {\n  padding: 16px 56px 40px !important;\n  background: linear-gradient(180deg, #EEF6FB 0%, #FFF9F1 100%);\n  border-top: 1px solid var(--opl-border);\n  border-bottom: 1px solid var(--opl-border);\n}\n\n#opl-page .opl-linkout__inner {\n  grid-template-columns: 72px minmax(0, 1fr) auto;\n  box-shadow: var(--opl-shadow);\n}\n\n#opl-page .opl-linkout__resources {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 18px;\n}\n\n#opl-page .opl-linkout__resource {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 38px;\n  padding: 9px 14px;\n  border-radius: 9999px;\n  background: var(--opl-yellow);\n  border: 1px solid rgba(140, 71, 153, 0.18);\n  box-shadow: none;\n  color: var(--opl-text);\n  font-size: 13px;\n  font-weight: 800;\n  line-height: 1.35;\n}\n\n#opl-page .opl-clean-list \u003e li::before {\n  background: var(--opl-yellow);\n  border: 1px solid rgba(37, 37, 38, 0.14);\n}\n\n#opl-page .opl-clean-list \u003e li::after {\n  border-left-color: var(--opl-text);\n  border-bottom-color: var(--opl-text);\n}\n\n#opl-page .opl-list-card__eyebrow {\n  display: block;\n  margin: 0 0 14px !important;\n  font-size: 19px !important;\n  font-weight: 700 !important;\n  text-transform: none !important;\n  letter-spacing: -0.2px !important;\n  line-height: 1.25 !important;\n  color: var(--opl-text) !important;\n}\n\n#opl-page .opl-list-card__eyebrow \u003e span {\n  font-size: 11px !important;\n  color: #777 !important;\n  font-weight: 600 !important;\n  letter-spacing: normal !important;\n  text-transform: none !important;\n}\n\n#opl-page .opl-faq {\n  padding: 72px 56px !important;\n  background: #FFFFFF !important;\n}\n\n#opl-page .opl-faq .opl-section-eyebrow {\n  display: inline-block !important;\n  margin: 0 0 14px !important;\n  font-size: 12px !important;\n  font-weight: 800 !important;\n  text-transform: uppercase;\n  letter-spacing: 1.6px;\n  color: var(--opl-purple) !important;\n}\n\n#opl-page .opl-faq h2 {\n  font-size: 32px !important;\n  margin: 0 0 18px !important;\n  font-weight: 800 !important;\n  color: var(--opl-text) !important;\n  letter-spacing: -1.2px !important;\n  line-height: 1.12 !important;\n}\n\n#opl-page .opl-faq .opl-section-lead {\n  max-width: 820px !important;\n  font-size: 17px !important;\n  color: var(--opl-muted) !important;\n  margin-bottom: 32px !important;\n}\n\n#opl-page .opl-faq-inner {\n  max-width: 920px;\n  margin: 0 auto;\n}\n\n#opl-page .opl-faq-list {\n  display: grid;\n  gap: 12px;\n  margin-top: 24px;\n}\n\n#opl-page .opl-faq-item {\n  padding: 24px 24px 20px;\n  border: 1px solid var(--opl-border) !important;\n  box-shadow: var(--opl-shadow-soft) !important;\n  background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%) !important;\n}\n\n#opl-page .opl-faq-item__button {\n  width: 100%;\n  padding: 0;\n  border: 0;\n  background: transparent;\n  color: inherit;\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  gap: 12px;\n  align-items: start;\n  text-align: left;\n  cursor: pointer;\n}\n\n#opl-page .opl-faq-item__title {\n  font-size: 16px !important;\n  line-height: 1.45 !important;\n  color: var(--opl-text) !important;\n  font-weight: 700 !important;\n}\n\n#opl-page .opl-faq-item__toggle {\n  width: 28px;\n  height: 28px;\n  border-radius: 9999px;\n  border: 1px solid rgba(140, 71, 153, 0.18);\n  background: var(--opl-yellow);\n  color: var(--opl-text);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 16px;\n  font-weight: 800;\n  line-height: 1;\n}\n\n#opl-page .opl-faq-item__body {\n  overflow: hidden;\n  max-height: 0;\n  opacity: 0;\n  transition: max-height 0.24s ease, margin-top 0.24s ease, opacity 0.24s ease;\n}\n\n#opl-page .opl-faq-item.is-expanded .opl-faq-item__body {\n  margin-top: 14px;\n  opacity: 1;\n}\n\n#opl-page .opl-faq-item__body p {\n  margin: 0 !important;\n  font-size: 14px !important;\n  line-height: 1.6 !important;\n  color: var(--opl-muted) !important;\n  font-weight: 500 !important;\n}\n\n#opl-page .opl-final-cta {\n  padding: 40px 56px 32px;\n  background: linear-gradient(180deg, #FBF6FC 0%, #FFFFFF 100%);\n}\n\n#opl-page .opl-final-cta__panel {\n  position: relative;\n  overflow: hidden;\n  max-width: 1100px;\n  margin: 0 auto;\n  padding: 34px;\n  border-radius: 22px;\n  border: 1px solid rgba(140, 71, 153, 0.28);\n  background: linear-gradient(135deg, #6B3578 0%, #8C4799 58%, #A664B1 100%);\n  box-shadow: 0 18px 40px rgba(107, 53, 120, 0.18);\n}\n\n#opl-page .opl-final-cta__panel::before {\n  content: '';\n  position: absolute;\n  top: 22px;\n  right: 24px;\n  width: 86px;\n  height: 6px;\n  border-radius: 9999px;\n  background: var(--opl-orange);\n}\n\n#opl-page .opl-final-cta__grid {\n  display: grid;\n  gap: 24px;\n  align-items: center;\n}\n\n#opl-page .opl-final-cta__eyebrow {\n  color: rgba(255, 255, 255, 0.86) !important;\n}\n\n#opl-page .opl-final-cta h2 {\n  margin: 0 0 12px !important;\n  color: #FFFFFF !important;\n  font-size: clamp(2rem, 3.2vw, 32px) !important;\n  line-height: 1.12 !important;\n  letter-spacing: -1.2px !important;\n  font-weight: 800 !important;\n}\n\n#opl-page .opl-final-cta p {\n  margin: 0 !important;\n  color: rgba(255, 255, 255, 0.84) !important;\n  font-size: 16px !important;\n  line-height: 1.7 !important;\n  font-weight: 500 !important;\n}\n\n#opl-page .opl-final-cta__actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n#opl-page .opl-final-cta__action {\n  min-height: 48px;\n  padding: 14px 20px;\n  border-radius: 9999px;\n  border: 1px solid transparent;\n  text-decoration: none !important;\n  font-weight: 800;\n  box-shadow: none;\n}\n\n#opl-page .opl-final-cta__action--primary {\n  background: #FFFFFF;\n  color: var(--opl-purple) !important;\n  box-shadow: 0 10px 22px rgba(37, 37, 38, 0.12);\n}\n\n#opl-page .opl-final-cta__action--primary:hover,\n#opl-page .opl-final-cta__action--primary:focus-visible {\n  background: #FBF1F8;\n  color: var(--opl-purple-dark) !important;\n}\n\n#opl-page .opl-final-cta__action--secondary {\n  background: transparent;\n  border-color: rgba(255, 255, 255, 0.72);\n  color: #FFFFFF !important;\n}\n\n#opl-page .opl-final-cta__action--secondary:hover,\n#opl-page .opl-final-cta__action--secondary:focus-visible {\n  background: rgba(255, 255, 255, 0.12);\n  border-color: #FFFFFF;\n  color: #FFFFFF !important;\n}\n\n#opl-page .opl-final-cta__action--tertiary {\n  background: rgba(255, 255, 255, 0.10);\n  border-color: rgba(255, 255, 255, 0.32);\n  color: #FFFFFF !important;\n}\n\n#opl-page .opl-final-cta__action--tertiary:hover,\n#opl-page .opl-final-cta__action--tertiary:focus-visible {\n  background: rgba(255, 255, 255, 0.18);\n  border-color: rgba(255, 255, 255, 0.48);\n  color: #FFFFFF !important;\n}\n\n#opl-page .opl-final-cta-dual {\n  padding: 40px 56px 32px;\n  background: linear-gradient(180deg, #FBF6FC 0%, #FFFFFF 100%);\n}\n\n#opl-page .opl-final-cta-dual__inner {\n  align-items: stretch;\n}\n\n#opl-page .opl-final-cta-dual__col {\n  padding-top: 36px;\n  text-align: left;\n}\n\n#opl-page .opl-final-cta-dual__col--primary {\n  border-color: var(--opl-purple) !important;\n  box-shadow: var(--opl-shadow) !important;\n  background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%) !important;\n}\n\n#opl-page .opl-final-cta-dual__col--secondary {\n  background: linear-gradient(180deg, #FFFFFF 0%, #FFF9F1 100%) !important;\n}\n\n#opl-page .opl-final-cta-dual__or {\n  color: var(--opl-purple) !important;\n}\n\n#opl-page .opl-mobile-rail-shell {\n  position: relative;\n}\n\n@media (max-width: 767px) {\n  #opl-page .opl-product {\n    padding: 16px 16px 34px !important;\n  }\n\n  #opl-page .opl-product-grid {\n    position: relative;\n    grid-template-columns: 1fr !important;\n    gap: 0 !important;\n    padding: 22px 18px 20px;\n    border-radius: 24px !important;\n    border: 1px solid var(--opl-border);\n    background: linear-gradient(180deg, #FFFFFF 0%, #FAF3FB 100%);\n    box-shadow: var(--opl-shadow);\n    overflow: hidden;\n  }\n\n  #opl-page .opl-product-grid::before {\n    content: '';\n    position: absolute;\n    top: -1px;\n    left: -1px;\n    right: -1px;\n    height: 10px;\n    background: var(--opl-purple);\n    border-radius: 24px 24px 16px 16px;\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  #opl-page .opl-gallery,\n  #opl-page .opl-info {\n    display: contents;\n    border: 0 !important;\n    box-shadow: none !important;\n    background: transparent !important;\n    padding: 0 !important;\n  }\n\n  #opl-page .opl-gallery::before,\n  #opl-page .opl-info::before {\n    display: none;\n  }\n\n  #opl-page .opl-info__eyebrow {\n    order: 1;\n    margin: 0 0 10px !important;\n  }\n\n  #opl-page .opl-info__name {\n    order: 2;\n    margin: 0 0 10px !important;\n    font-size: clamp(28px, 8vw, 36px) !important;\n    line-height: 1.08 !important;\n  }\n\n  #opl-page .opl-info__lede {\n    order: 3;\n    margin: 0 0 16px !important;\n    font-size: 16px !important;\n    line-height: 1.55 !important;\n  }\n\n  #opl-page .opl-info__hero-chips {\n    order: 4;\n    margin: 0 0 14px !important;\n  }\n\n  #opl-page .opl-info__body-copy {\n    order: 5;\n    margin: 0 0 8px !important;\n    font-size: 15px !important;\n    line-height: 1.6 !important;\n  }\n\n  #opl-page .opl-info__micro-note {\n    order: 6;\n    margin: 0 0 16px !important;\n  }\n\n  #opl-page .opl-info__rating-stack,\n  #opl-page .opl-info__support-line {\n    display: none !important;\n  }\n\n  #opl-page .opl-gallery__main {\n    order: 7;\n    margin: 0;\n  }\n\n  #opl-page .opl-gallery__mobile-badge {\n    position: absolute;\n    top: 14px;\n    left: 14px;\n    z-index: 4;\n    display: inline-flex;\n    align-items: center;\n    min-height: 32px;\n    padding: 8px 12px;\n    border-radius: 9999px;\n    background: rgba(243, 218, 118, 0.96);\n    border: 1px solid rgba(37, 37, 38, 0.14);\n    color: var(--opl-text);\n    font-size: 11px;\n    font-weight: 800;\n    letter-spacing: 0.9px;\n    text-transform: uppercase;\n    box-shadow: 0 4px 14px rgba(37, 37, 38, 0.10);\n    backdrop-filter: blur(6px);\n  }\n\n  #opl-page .opl-gallery__thumbs-shell {\n    display: none;\n  }\n\n  #opl-page .opl-gallery__controls {\n    order: 8;\n    position: relative;\n    bottom: auto;\n    left: auto;\n    z-index: 15;\n    display: flex;\n    flex-wrap: nowrap;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    width: max-content;\n    max-width: calc(100% - 12px);\n    margin: -22px auto 14px;\n    padding: 10px 12px;\n    border-radius: 9999px;\n    background: rgba(255, 255, 255, 0.92);\n    border: 1px solid rgba(238, 218, 234, 0.95);\n    box-shadow: 0 10px 24px rgba(140, 71, 153, 0.10);\n    backdrop-filter: blur(10px);\n    transform: none;\n  }\n\n  #opl-page .opl-gallery__progress {\n    width: 92px;\n  }\n\n  #opl-page .opl-gallery__proofs {\n    order: 9;\n    margin-top: 0;\n  }\n\n  #opl-page .opl-proof-grid {\n    gap: 8px;\n  }\n\n  #opl-page .opl-proof-card {\n    padding: 14px 14px 12px;\n    border-radius: 18px;\n  }\n\n  #opl-page .opl-proof-card::before {\n    border-radius: 18px 18px 12px 12px;\n  }\n\n  #opl-page .opl-proof-card__button {\n    grid-template-columns: auto minmax(0, 1fr) auto;\n    cursor: pointer;\n  }\n\n  #opl-page .opl-proof-card__icon {\n    width: 28px;\n    height: 28px;\n    flex: 0 0 28px;\n  }\n\n  #opl-page .opl-proof-card__icon svg {\n    width: 14px;\n    height: 14px;\n  }\n\n  #opl-page .opl-proof-card__title {\n    font-size: 16px !important;\n    line-height: 1.24 !important;\n  }\n\n  #opl-page .opl-proof-card__toggle {\n    position: relative;\n    display: inline-grid;\n    place-items: center;\n    width: 26px;\n    height: 26px;\n    min-width: 26px;\n    padding: 0;\n    border-radius: 9999px;\n    border: 1px solid rgba(140, 71, 153, 0.18);\n    background: var(--opl-yellow);\n    color: var(--opl-text);\n    font-size: 14px;\n    font-weight: 800;\n    line-height: 1;\n  }\n\n  #opl-page .opl-proof-card__body {\n    max-height: 0;\n    margin-top: 0;\n    opacity: 0;\n    transition: max-height 0.24s ease, margin-top 0.24s ease, opacity 0.24s ease;\n  }\n\n  #opl-page .opl-proof-card.is-expanded .opl-proof-card__body {\n    margin-top: 12px;\n    opacity: 1;\n  }\n\n  #opl-page .opl-modular-callout {\n    gap: 12px;\n    padding: 16px 14px 14px;\n    border-radius: 18px;\n  }\n\n  #opl-page .opl-modular-callout::before {\n    border-radius: 18px 18px 12px 12px;\n  }\n\n  #opl-page .opl-modular-callout__icon {\n    width: 34px;\n    height: 34px;\n    border-radius: 12px;\n  }\n\n  #opl-page .opl-modular-callout__icon svg {\n    width: 16px;\n    height: 16px;\n  }\n\n  #opl-page .opl-modular-callout h3 {\n    font-size: 16px !important;\n  }\n\n  #opl-page .opl-modular-callout p {\n    font-size: 12.5px !important;\n    line-height: 1.55 !important;\n  }\n\n  #opl-page .opl-proof-card__button:focus-visible,\n  #opl-page .opl-row-accordion__button:focus-visible,\n  #opl-page .opl-mobile-buy-toggle:focus-visible {\n    outline: 3px solid rgba(140, 71, 153, 0.18);\n    outline-offset: 3px;\n  }\n\n  #opl-page .opl-info__price-row {\n    order: 10;\n    margin-top: 18px;\n  }\n\n  #opl-page .opl-info__price-note {\n    order: 11;\n    margin-bottom: 8px !important;\n  }\n\n  #opl-page .opl-info__roi-fine {\n    order: 12;\n    margin-bottom: 0 !important;\n  }\n\n  #opl-page .opl-mobile-buy-toggle {\n    order: 13;\n    display: inline-flex;\n    width: 100%;\n    min-height: 52px;\n    margin-top: 18px;\n    border-width: 1px;\n    background: rgba(255, 255, 255, 0.94);\n    box-shadow: var(--opl-shadow-soft);\n  }\n\n  #opl-page .opl-mobile-purchase {\n    order: 14;\n    max-height: 0;\n    margin-top: 0;\n    opacity: 0;\n    transition: max-height 0.28s ease, margin-top 0.28s ease, opacity 0.28s ease;\n  }\n\n  #opl-page .opl-mobile-purchase.is-expanded {\n    margin-top: 16px;\n    opacity: 1;\n  }\n\n  #opl-page .opl-section--mobile-rail {\n    padding-left: 0 !important;\n    padding-right: 0 !important;\n  }\n\n  #opl-page .opl-section--mobile-rail .opl-section__copy {\n    padding: 0 16px;\n  }\n\n  #opl-page .opl-mobile-rail-shell {\n    --opl-rail-card-width: min(86vw, 420px);\n    --opl-rail-side-padding: max(20px, calc((100vw - var(--opl-rail-card-width)) \/ 2));\n    position: relative;\n    width: 100vw;\n    max-width: 100vw;\n    margin-inline: calc(50% - 50vw);\n    overflow: visible;\n  }\n\n  #opl-page .opl-mobile-card-rail {\n    display: flex !important;\n    gap: 16px;\n    overflow-x: auto;\n    overflow-y: hidden;\n    width: 100vw;\n    min-width: 100vw;\n    max-width: none;\n    margin: 0;\n    padding: 4px var(--opl-rail-side-padding) 10px;\n    scroll-snap-type: x mandatory;\n    scroll-padding-inline: var(--opl-rail-side-padding);\n    scroll-behavior: smooth;\n    -webkit-overflow-scrolling: touch;\n    overscroll-behavior-x: contain;\n    scrollbar-width: none;\n    -ms-overflow-style: none;\n    align-items: stretch;\n  }\n\n  #opl-page .opl-mobile-card-rail::-webkit-scrollbar {\n    display: none;\n  }\n\n  #opl-page .opl-mobile-card-rail:focus-visible {\n    outline: 2px solid rgba(140, 71, 153, 0.28);\n    outline-offset: -2px;\n  }\n\n  #opl-page .opl-mobile-card-rail.opl-compare-grid,\n  #opl-page .opl-mobile-card-rail.opl-card-grid-2 {\n    grid-template-columns: none !important;\n    gap: 16px !important;\n  }\n\n  #opl-page .opl-mobile-card-rail \u003e .opl-mobile-rail-card {\n    flex: 0 0 var(--opl-rail-card-width);\n    width: var(--opl-rail-card-width);\n    min-width: var(--opl-rail-card-width);\n    max-width: 420px;\n    margin: 0;\n    scroll-snap-align: center;\n    scroll-snap-stop: always;\n  }\n\n  #opl-page .opl-section--mobile-rail .opl-mobile-rail-shell {\n    width: 100%;\n    max-width: none;\n    margin-inline: 0;\n  }\n\n  #opl-page .opl-section--mobile-rail .opl-mobile-card-rail {\n    width: 100%;\n    min-width: 0;\n  }\n\n  #opl-page .opl-mobile-rail-shell--contained {\n    width: 100%;\n    max-width: none;\n    margin-inline: 0;\n  }\n\n  #opl-page .opl-mobile-card-rail--contained {\n    width: 100%;\n    min-width: 0;\n    padding: 4px 2px 10px;\n    scroll-padding-inline: 2px;\n  }\n\n  #opl-page .opl-list-card {\n    padding: 20px 20px 12px;\n  }\n\n  #opl-page .opl-list-card__eyebrow {\n    margin: 0 0 4px !important;\n  }\n\n  #opl-page .opl-row-accordion__button {\n    grid-template-columns: 26px minmax(0, 1fr);\n    gap: 12px;\n    padding: 11px 0;\n    cursor: pointer;\n  }\n\n  #opl-page .opl-row-accordion__icon {\n    width: 26px;\n    height: 26px;\n    box-shadow: 0 2px 8px rgba(37, 37, 38, 0.08);\n  }\n\n  #opl-page .opl-row-accordion__icon::before {\n    content: '+';\n    font-size: 14px;\n  }\n\n  #opl-page .opl-row-accordion.is-expanded .opl-row-accordion__icon {\n    background: #F1F1F1;\n    border-color: rgba(0, 0, 0, 0.12);\n  }\n\n  #opl-page .opl-row-accordion.is-expanded .opl-row-accordion__icon::before {\n    content: '\\2212';\n  }\n\n  #opl-page .opl-row-accordion__title {\n    font-size: 15px;\n    line-height: 1.45;\n  }\n\n  #opl-page .opl-row-accordion__body {\n    max-height: 0;\n    padding: 0 0 0 38px;\n    opacity: 0;\n    transition: max-height 0.24s ease, padding 0.24s ease, opacity 0.24s ease;\n  }\n\n  #opl-page .opl-row-accordion.is-expanded .opl-row-accordion__body {\n    padding-bottom: 14px;\n    opacity: 1;\n  }\n\n  #opl-page .opl-linkout {\n    padding: 14px 16px 30px !important;\n  }\n\n  #opl-page .opl-linkout__inner {\n    padding: 24px 20px !important;\n  }\n\n  #opl-page .opl-linkout__resource {\n    min-height: 34px;\n    padding: 8px 12px;\n    font-size: 12px;\n  }\n}\n\n@media (max-width: 1100px) {\n  #opl-page .opl-product-grid {\n    gap: 22px !important;\n  }\n\n  #opl-page .opl-linkout__resources {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  #opl-page .opl-include-summary {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n\n@media (max-width: 980px) {\n  #opl-page .opl-product {\n    padding: 16px 24px 36px !important;\n  }\n\n  #opl-page .opl-gallery,\n  #opl-page .opl-info {\n    padding: 20px;\n  }\n\n  #opl-page .opl-info__support-chips {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  #opl-page .opl-compare-tablist {\n    gap: 8px;\n  }\n\n  #opl-page .opl-info__trust {\n    grid-template-columns: 1fr !important;\n  }\n\n  #opl-page .opl-linkout__resources {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  #opl-page .opl-faq {\n    padding: 56px 24px !important;\n  }\n\n  #opl-page .opl-faq h2 {\n    font-size: 26px !important;\n  }\n\n  #opl-page .opl-final-cta {\n    padding: 32px 24px 24px !important;\n  }\n\n  #opl-page .opl-final-cta__panel {\n    padding: 28px !important;\n  }\n}\n\n@media (min-width: 900px) {\n  #opl-page .opl-final-cta__grid {\n    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);\n  }\n}\n\n@media (max-width: 768px) {\n  #opl-page .opl-sticky-bar {\n    top: auto;\n    bottom: calc(12px + env(safe-area-inset-bottom));\n    left: 12px;\n    right: 12px;\n    padding: 10px 12px !important;\n    border-radius: 20px;\n    transform: translateY(calc(120% + env(safe-area-inset-bottom)));\n  }\n\n  #opl-page .opl-sticky-bar__thumb {\n    display: none;\n  }\n\n  #opl-page .opl-sticky-bar__inner {\n    gap: 12px;\n  }\n\n  #opl-page .opl-sticky-bar__name {\n    font-size: 13px;\n  }\n\n  #opl-page .opl-sticky-bar__price {\n    font-size: 13px;\n    font-weight: 800;\n    color: var(--opl-text);\n  }\n\n  #opl-page .opl-sticky-bar__cta {\n    min-width: 132px;\n    padding: 12px 14px !important;\n  }\n\n  #opl-page .opl-final-cta-dual {\n    padding-bottom: calc(120px + env(safe-area-inset-bottom)) !important;\n  }\n\n  #opl-page .opl-inline-pop__bubble {\n    width: min(360px, calc(100vw - 40px));\n  }\n}\n\n@media (max-width: 540px) {\n  #opl-page .opl-gallery__main-canvas {\n    border-width: 8px;\n    border-radius: 22px;\n  }\n\n  #opl-page .opl-gallery__controls {\n    gap: 10px;\n  }\n\n  #opl-page .opl-gallery__meta {\n    gap: 10px;\n  }\n\n  #opl-page .opl-gallery__progress {\n    width: 92px;\n  }\n\n  #opl-page .opl-proof-grid {\n    grid-template-columns: 1fr;\n  }\n\n  #opl-page .opl-inline-pop__bubble {\n    width: min(320px, calc(100vw - 32px));\n  }\n\n  #opl-page .opl-faq h2 {\n    font-size: 22px !important;\n  }\n\n  #opl-page .opl-info__support-chips,\n  #opl-page .opl-include-summary,\n  #opl-page .opl-linkout__resources {\n    grid-template-columns: 1fr;\n  }\n\n  #opl-page .opl-cleaner-compare .opl-compare-tab {\n    min-height: 46px;\n    font-size: 12px;\n  }\n\n  #opl-page .opl-gallery,\n  #opl-page .opl-info,\n  #opl-page .opl-card,\n  #opl-page .opl-panel,\n  #opl-page .opl-faq-item,\n  #opl-page .opl-compare-card,\n  #opl-page .opl-linkout__inner,\n  #opl-page .opl-final-cta-dual__col {\n    border-radius: 20px !important;\n  }\n}\n\n@media (max-width: 767px) {\n  #opl-page .opl-product {\n    padding: 16px 16px 34px !important;\n  }\n\n  #opl-page .opl-product-grid {\n    gap: 0 !important;\n    padding: 22px 18px 20px !important;\n  }\n\n  #opl-page .opl-gallery,\n  #opl-page .opl-info {\n    display: contents !important;\n    padding: 0 !important;\n  }\n\n  #opl-page .opl-mobile-card-rail {\n    display: flex !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cdiv id=\"opl-page\"\u003e\n  \u003cnav class=\"opl-breadcrumb\" aria-label=\"Breadcrumb\"\u003e\n    \u003col\u003e\n      \u003cli\u003e\u003ca href=\"\/\"\u003eOCTOdent\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli class=\"opl-breadcrumb__sep\"\u003e›\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"\/collections\/all\"\u003eProducts\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli class=\"opl-breadcrumb__sep\"\u003e›\u003c\/li\u003e\n      \u003cli class=\"opl-breadcrumb__current\"\u003eOCTOpod Duo Starter Kit\u003c\/li\u003e\n    \u003c\/ol\u003e\n  \u003c\/nav\u003e\n\n  \u003csection class=\"opl-product\"\u003e\n    \u003cdiv class=\"opl-product-grid\"\u003e\n      \u003cdiv class=\"opl-gallery\"\u003e\n        \u003cdiv class=\"opl-gallery__main\"\u003e\n          \u003cdiv class=\"opl-gallery__main-canvas\"\u003e\n            \u003cspan class=\"opl-gallery__counter\" id=\"opl-gallery-counter\" aria-live=\"polite\" aria-label=\"Image 1 of 8\"\u003e1 \/ 8\u003c\/span\u003e\n            \u003cspan class=\"opl-gallery__mobile-badge\"\u003ePre-Order\u003c\/span\u003e\n            \u003cbutton class=\"opl-gallery__viewer-nav opl-gallery__viewer-nav--prev\" type=\"button\" aria-label=\"Previous image\"\u003e\n              \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"m15 18-6-6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n            \u003c\/button\u003e\n            \u003cimg id=\"opl-gallery-main-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Hero.png?v=1779911480\" alt=\"OCTOpod Duo Starter Kit showing Crown and Arch workflow components together.\"\u003e\n            \u003cbutton class=\"opl-gallery__viewer-nav opl-gallery__viewer-nav--next\" type=\"button\" aria-label=\"Next image\"\u003e\n              \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"m9 18 6-6-6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n            \u003c\/button\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"opl-gallery__thumbs-shell\"\u003e\n          \u003cbutton class=\"opl-gallery__thumb-nav opl-gallery__thumb-nav--prev\" type=\"button\" aria-label=\"Previous thumbnail\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"m15 18-6-6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-gallery__thumb-viewport\"\u003e\n            \u003cdiv class=\"opl-gallery__thumbs\"\u003e\n              \u003cbutton class=\"opl-gallery__thumb opl-gallery__thumb--active\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Hero.png?v=1779911480\" data-alt=\"OCTOpod Duo Starter Kit showing Crown and Arch workflow components together.\" data-caption=\"One OCTOpod platform. Two workflow paths.\" aria-label=\"One OCTOpod platform. Two workflow paths.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Hero.png?v=1779911480\" alt=\"OCTOpod Duo Starter Kit showing Crown and Arch workflow components together.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Crown_-_Hero.png?v=1778871860\" data-alt=\"OCTOpod Crown workflow installed on a compatible printer.\" data-caption=\"Crown workflow for same-visit restorations.\" data-subcaption=\"Crowns, inlays, onlays, small bridges, and restorative cases.\" aria-label=\"Crown workflow for same-visit restorations.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Crown_-_Hero.png?v=1778871860\" alt=\"OCTOpod Crown workflow installed on a compatible printer.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Arch_-_Hero.png?v=1778880419\" data-alt=\"OCTOpod Arch workflow installed on a compatible printer.\" data-caption=\"Arch workflow for everyday dental printing.\" data-subcaption=\"Models, guards, splints, trays, guides, retainers, and appliance workflows.\" aria-label=\"Arch workflow for everyday dental printing.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Arch_-_Hero.png?v=1778880419\" alt=\"OCTOpod Arch workflow installed on a compatible printer.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Swappable_Final.png?v=1779911480\" data-alt=\"OCTOpod Duo render showing Crown workflow on the printer and Arch workflow components ready to swap.\" data-caption=\"Swap workflows without adding another printer.\" aria-label=\"Swap workflows without adding another printer.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Swappable_Final.png?v=1779911480\" alt=\"OCTOpod Duo render showing Crown workflow on the printer and Arch workflow components ready to swap.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Contents.png?v=1779912502\" data-alt=\"OCTOpod Duo Starter Kit contents arranged by shared platform, Crown workflow, Arch workflow, and refills.\" data-caption=\"Both workflow paths in one starter kit.\" aria-label=\"Both workflow paths in one starter kit.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Contents.png?v=1779912502\" alt=\"OCTOpod Duo Starter Kit contents arranged by shared platform, Crown workflow, Arch workflow, and refills.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Crown_-_Crown_Vats.png?v=1778871860\" data-alt=\"OCTOpod Crown disposable vats and build plates.\" data-caption=\"Disposable Crown Vats and Plates.\" data-subcaption=\"Print. Remove. Toss. Next case.\" aria-label=\"Disposable Crown Vats and Plates.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Crown_-_Crown_Vats.png?v=1778871860\" alt=\"OCTOpod Crown disposable vats and build plates.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Arch_-_Open_Arch_Build_Plate.png?v=1778870443\" data-alt=\"OCTOpod Arch refill components for Open Arch and Full Arch workflows.\" data-caption=\"Open Arch + Full Arch refills included.\" data-subcaption=\"Built for everyday dental prints that need more room.\" aria-label=\"Open Arch + Full Arch refills included.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Arch_-_Open_Arch_Build_Plate.png?v=1778870443\" alt=\"OCTOpod Arch refill components for Open Arch and Full Arch workflows.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n              \u003cbutton class=\"opl-gallery__thumb\" type=\"button\" data-img=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Printed_Parts.png?v=1779913683\" data-alt=\"Printed dental parts representing Crown and Arch workflows, including restorations, models, guards, trays, guides, retainers, and appliance workflows.\" data-caption=\"From same-visit restorations to everyday dental parts.\" aria-label=\"From same-visit restorations to everyday dental parts.\"\u003e\n                \u003cdiv class=\"opl-gallery__thumb-canvas\"\u003e\n                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Duo_-_Printed_Parts.png?v=1779913683\" alt=\"Printed dental parts representing Crown and Arch workflows, including restorations, models, guards, trays, guides, retainers, and appliance workflows.\"\u003e\n                \u003c\/div\u003e\n              \u003c\/button\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cbutton class=\"opl-gallery__thumb-nav opl-gallery__thumb-nav--next\" type=\"button\" aria-label=\"Next thumbnail\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"m9 18 6-6-6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"opl-gallery__controls\"\u003e\n          \u003cdiv class=\"opl-gallery__dots\" id=\"opl-gallery-dots\" aria-label=\"Choose an image group\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"opl-gallery__meta\"\u003e\n            \u003cdiv class=\"opl-gallery__progress\" aria-hidden=\"true\"\u003e\n              \u003cspan class=\"opl-gallery__progress-bar\" id=\"opl-gallery-progress\"\u003e\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cbutton class=\"opl-gallery__toggle\" id=\"opl-gallery-toggle\" type=\"button\" aria-label=\"Pause hero carousel\" aria-pressed=\"false\"\u003e\n              \u003cspan class=\"opl-visually-hidden\"\u003eToggle hero carousel playback\u003c\/span\u003e\n              \u003csvg data-icon-pause viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M9 5v14\"\u003e\u003c\/path\u003e\u003cpath d=\"M15 5v14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n              \u003csvg data-icon-play viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"m8 6 9 6-9 6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n            \u003c\/button\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"opl-gallery__proofs\" aria-label=\"Key Duo Starter Kit proof points\"\u003e\n          \u003cdiv class=\"opl-proof-grid\"\u003e\n            \u003carticle class=\"opl-proof-card\" data-opl-proof-card\u003e\n              \u003cbutton class=\"opl-proof-card__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-proof-1\"\u003e\n                \u003cspan class=\"opl-proof-card__icon\" aria-hidden=\"true\"\u003e\n                  \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"modular\"\u003e\u003c\/span\u003e\n                \u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__title\"\u003eCrown + Arch from day one\u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"opl-proof-card__body\" id=\"opl-proof-1\"\u003e\n                \u003cp\u003eStart with both OCTOpod workflow paths instead of choosing one now and adding the other later.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/article\u003e\n            \u003carticle class=\"opl-proof-card\" data-opl-proof-card\u003e\n              \u003cbutton class=\"opl-proof-card__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-proof-2\"\u003e\n                \u003cspan class=\"opl-proof-card__icon\" aria-hidden=\"true\"\u003e\n                  \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"printer-3d\"\u003e\u003c\/span\u003e\n                \u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__title\"\u003eOne printer. Two paths.\u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"opl-proof-card__body\" id=\"opl-proof-2\"\u003e\n                \u003cp\u003eMove between restorative and arch-scale workflows on the same compatible printer.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/article\u003e\n            \u003carticle class=\"opl-proof-card\" data-opl-proof-card\u003e\n              \u003cbutton class=\"opl-proof-card__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-proof-3\"\u003e\n                \u003cspan class=\"opl-proof-card__icon\" aria-hidden=\"true\"\u003e\n                  \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"open-resin\"\u003e\u003c\/span\u003e\n                \u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__title\"\u003eLess reset friction\u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"opl-proof-card__body\" id=\"opl-proof-3\"\u003e\n                \u003cp\u003eReduce the scraping, draining, filtering, cleaning, and setup steps that slow resin workflows down.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/article\u003e\n            \u003carticle class=\"opl-proof-card\" data-opl-proof-card\u003e\n              \u003cbutton class=\"opl-proof-card__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-proof-4\"\u003e\n                \u003cspan class=\"opl-proof-card__icon\" aria-hidden=\"true\"\u003e\n                  \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"open-resin\"\u003e\u003c\/span\u003e\n                \u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__title\"\u003eOpen-resin flexibility\u003c\/span\u003e\n                \u003cspan class=\"opl-proof-card__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n              \u003c\/button\u003e\n              \u003cdiv class=\"opl-proof-card__body\" id=\"opl-proof-4\"\u003e\n                \u003cp\u003eChoose the resin that fits the indication while following manufacturer IFUs and validated settings.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/article\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"opl-info\"\u003e\n        \u003cspan class=\"opl-info__eyebrow\"\u003eDuo Starter Kit\u003c\/span\u003e\n        \u003ch1 class=\"opl-info__name\"\u003eOCTOpod Duo Starter Kit\u003c\/h1\u003e\n        \u003cp class=\"opl-info__lede\"\u003eCrown + Arch workflows. One modular platform.\u003c\/p\u003e\n        \u003cdiv class=\"opl-info__hero-chips\" aria-label=\"Product highlights\"\u003e\n          \u003cspan class=\"opl-card__status\"\u003ePre-Order\u003c\/span\u003e\n          \u003cspan class=\"opl-card__status opl-card__status--active\"\u003eCrown + Arch\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"opl-info__body-copy\"\u003eBusywork is not a value-added workflow. Start with dedicated Crown and Arch setups that help your team add same-visit restorations and everyday dental printing with less mess, less handling, and fewer workflow slowdowns.\u003c\/p\u003e\n        \u003cdiv class=\"opl-info__rating-stack\"\u003e\n          \u003cdiv class=\"opl-info__rating\"\u003e\n            \u003cspan class=\"opl-info__stars\" aria-hidden=\"true\"\u003eâ˜…â˜…â˜…â˜…â˜…\u003c\/span\u003e\n            \u003cspan class=\"opl-info__rating-text\"\u003ePre-Order\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"opl-info__support-line\"\u003eDuo gives your practice both OCTOpod workflow paths from day one: Crown for small restorative cases and Arch for broader everyday dental printing.\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"opl-info__price-row\"\u003e\n          \u003cspan class=\"opl-info__price\"\u003e$1,798\u003c\/span\u003e\n          \u003cspan class=\"opl-info__price-strikethrough\"\u003e$1,996\u003c\/span\u003e\n          \u003cspan class=\"opl-info__price-save\"\u003eSave $198\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"opl-info__price-note\"\u003e\u003cstrong\u003eIncludes the shared OCTOpod platform, Crown workflow components, Arch workflow components, and refill packs for both systems.\u003c\/strong\u003e\u003c\/p\u003e\n        \u003cp class=\"opl-info__roi-fine\"\u003ePre-order open now. Anticipated shipping date: July 1, 2026.\u003c\/p\u003e\n        \u003cbutton id=\"opl-mobile-buy-toggle\" class=\"opl-btn-secondary opl-mobile-buy-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-mobile-purchase\"\u003eChoose Printer \u0026amp; Pre-Order\u003c\/button\u003e\n\n        \u003cdiv id=\"opl-mobile-purchase\" class=\"opl-mobile-purchase\"\u003e\n        \u003cdiv class=\"opl-info__variants\"\u003e\n          \u003cp class=\"opl-info__variants-label\"\u003eChoose Printer \u0026amp; Pre-Order¹\u003c\/p\u003e\n          \u003cdiv class=\"opl-info__variant-options\" role=\"radiogroup\" aria-label=\"Choose Printer \u0026amp; Pre-Order\"\u003e\n            \u003clabel class=\"opl-info__variant opl-info__variant--selected\" data-variant=\"44449203322973\" role=\"radio\" aria-checked=\"true\" tabindex=\"0\" onclick=\"opdSelectVariant(this, 44449203322973)\"\u003e\n              \u003cinput type=\"radio\" name=\"opl-printer\" value=\"44449203322973\" checked\u003e\n              \u003cdiv\u003e\n                \u003cspan class=\"opl-info__variant-name\"\u003eElegoo Mars 4 Ultra\u003cspan class=\"opl-info__variant-rec\"\u003eRecommended\u003c\/span\u003e\u003c\/span\u003e\n                \u003cspan class=\"opl-info__variant-not-incl\"\u003e(not included) - ~$199 from Elegoo\u003c\/span\u003e\n                \u003cspan class=\"opl-info__variant-sub\"\u003e\u003cstrong\u003eLower-friction setup\u003c\/strong\u003e - WiFi transfer\u003c\/span\u003e\n              \u003c\/div\u003e\n            \u003c\/label\u003e\n            \u003clabel class=\"opl-info__variant\" data-variant=\"44449203355741\" role=\"radio\" aria-checked=\"false\" tabindex=\"-1\" onclick=\"opdSelectVariant(this, 44449203355741)\"\u003e\n              \u003cinput type=\"radio\" name=\"opl-printer\" value=\"44449203355741\"\u003e\n              \u003cdiv\u003e\n                \u003cspan class=\"opl-info__variant-name\"\u003ePhrozen Sonic Mini 8KS\u003c\/span\u003e\n                \u003cspan class=\"opl-info__variant-not-incl\"\u003e(not included) - ~$299 from Phrozen\u003c\/span\u003e\n                \u003cspan class=\"opl-info__variant-sub\"\u003e\u003cstrong\u003eSupported\u003c\/strong\u003e \u003cspan class=\"opl-info__variant-tip\" title=\"The Sonic Mini 8KS configuration is supported, but the Elegoo Mars 4 Ultra is the recommended starting point for most OCTOpod users.\"\u003ei\u003c\/span\u003e - USB transfer\u003c\/span\u003e\n              \u003c\/div\u003e\n            \u003c\/label\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cbutton id=\"opl-add-to-cart\" class=\"opl-info__add-to-cart\" onclick=\"opdAddToCart()\"\u003ePre-Order\u003c\/button\u003e\n\n        \u003cdiv class=\"opl-inline-panel opl-best-for\"\u003e\n          \u003cspan class=\"opl-best-for__icon\" aria-hidden=\"true\"\u003e\u003cspan class=\"octo-icon-slot\" data-octo-icon=\"modular\"\u003e\u003c\/span\u003e\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"opl-best-for__label\"\u003eBest for\u003c\/span\u003e\n            \u003cspan class=\"opl-best-for__text\"\u003ePractices that already know they want both same-visit restorative printing and broader everyday dental printing.\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"opl-info__trust\"\u003e\n          \u003cdiv class=\"opl-info__trust-item\"\u003e\n            \u003cspan class=\"opl-info__trust-icon opl-info__trust-icon--green\" aria-hidden=\"true\"\u003e✓\u003c\/span\u003e\n            \u003cspan\u003e\u003cstrong\u003ePre-order open\u003c\/strong\u003e - anticipated shipping July 1, 2026\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"opl-info__trust-item\"\u003e\n            \u003cspan class=\"opl-info__trust-icon\" aria-hidden=\"true\"\u003e✧\u003c\/span\u003e\n            \u003cspan\u003e\u003cstrong\u003eFounder-direct support\u003c\/strong\u003e from the team that designed the system\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"opl-info__trust-item\"\u003e\n            \u003cspan class=\"opl-info__trust-icon\" aria-hidden=\"true\"\u003e⚑\u003c\/span\u003e\n            \u003cspan\u003e\u003cstrong\u003eBuilt and shipped in the USA\u003c\/strong\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"opl-info__trust-item\"\u003e\n            \u003cspan class=\"opl-info__trust-icon\" aria-hidden=\"true\"\u003e↻\u003c\/span\u003e\n            \u003cspan\u003e\u003cstrong\u003eOpen-resin workflow\u003c\/strong\u003e for compatible 405 nm dental resins\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"opl-info__payments\"\u003e\n          \u003cspan class=\"opl-info__payments-label\"\u003eAccepted payments\u003c\/span\u003e\n          \u003cdiv class=\"opl-info__payments-row\"\u003e\n            \u003cspan class=\"opl-info__pay-badge\"\u003eShop Pay\u003c\/span\u003e\n            \u003cspan class=\"opl-info__pay-badge\"\u003eVisa\u003c\/span\u003e\n            \u003cspan class=\"opl-info__pay-badge\"\u003eMastercard\u003c\/span\u003e\n            \u003cspan class=\"opl-info__pay-badge\"\u003eAmex\u003c\/span\u003e\n            \u003cspan class=\"opl-info__pay-badge\"\u003ePayPal\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"opl-info__pay-note\"\u003eShop Pay Installments - $449.50 x 4 biweekly. No interest, no fees.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv id=\"opl-sticky-bar\" class=\"opl-sticky-bar\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"opl-sticky-bar__inner\"\u003e\n      \u003cimg class=\"opl-sticky-bar__thumb\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0298\/3555\/9005\/files\/OCTOpod_Crown_-_Hero.png?v=1778871860\" alt=\"OCTOpod Duo Starter Kit with Crown and Arch workflow components\"\u003e\n      \u003cdiv class=\"opl-sticky-bar__info\"\u003e\n        \u003cspan class=\"opl-sticky-bar__name\"\u003eOCTOpod Duo Starter Kit\u003c\/span\u003e\n        \u003cspan class=\"opl-sticky-bar__price\"\u003e$1,798 - Crown + Arch workflows\u003c\/span\u003e\n        \u003cspan class=\"opl-sticky-bar__printer\" id=\"opl-sticky-bar-printer\"\u003eElegoo Mars 4 Ultra\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cbutton class=\"opl-sticky-bar__cta\" onclick=\"opdAddToCart()\"\u003ePre-Order\u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"opl-section opl-section--mobile-rail\" style=\"padding-top: 24px !important; padding-bottom: 40px !important;\"\u003e\n    \u003cdiv class=\"opl-section__copy\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003eCleaner workflow\u003c\/span\u003e\n      \u003ch2\u003eBusywork is not a value-added workflow.\u003c\/h2\u003e\n      \u003cp class=\"opl-section-lead\"\u003eTraditional full-vat printing burdens your team with cleanup, waste, and reset time. Duo gives your practice dedicated Crown and Arch workflows, so you can add restorative and appliance printing with less mess, less handling, and fewer slowdowns.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"opl-mobile-rail-shell\"\u003e\n    \u003cdiv class=\"opl-compare-grid opl-mobile-card-rail opl-cleaner-compare\" tabindex=\"0\" aria-label=\"Workflow comparison\"\u003e\n      \u003carticle class=\"opl-compare-card opl-compare-card--muted opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-compare-card__head\"\u003e\n          \u003cspan class=\"opl-compare-badge\"\u003eTraditional full-vat workflow\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"opl-compare-card__body\"\u003e\n          \u003ch3\u003eMess. Waste. Cleanup. Every material change adds friction.\u003c\/h3\u003e\n          \u003cul class=\"opl-compare-list\"\u003e\n            \u003cli data-octo-compare-icon=\"ppe\"\u003eReusable vats require more cleaning, create more waste, add more mess, and increase contamination risk.\u003c\/li\u003e\n            \u003cli data-octo-compare-icon=\"scraper\"\u003eReusable build plates require scraping, cleaning, and surface prep before the next print.\u003c\/li\u003e\n            \u003cli data-octo-compare-icon=\"resin-filtering\"\u003eDraining the vat requires pouring, filtering, cleanup, and lost resin.\u003c\/li\u003e\n            \u003cli data-octo-compare-icon=\"ppe\"\u003eLarger resin surfaces increase odor, exposure, and material degradation.\u003c\/li\u003e\n            \u003cli data-octo-compare-icon=\"disposable\"\u003eSmall jobs can waste more resin than they use.\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"opl-compare-card opl-compare-card--positive opl-compare-switcher-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-compare-card__head\"\u003e\n          \u003cdiv class=\"opl-compare-tablist\" role=\"tablist\" aria-label=\"Choose OCTOpod workflow comparison\"\u003e\n            \u003cbutton class=\"opl-compare-tab is-active\" id=\"opl-compare-tab-crown\" type=\"button\" role=\"tab\" aria-selected=\"true\" aria-controls=\"opl-compare-crown\" data-opl-compare-tab=\"crown\"\u003eCrown workflow\u003c\/button\u003e\n            \u003cbutton class=\"opl-compare-tab\" id=\"opl-compare-tab-arch\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"opl-compare-arch\" data-opl-compare-tab=\"arch\"\u003eArch workflow\u003c\/button\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"opl-compare-card__body\"\u003e\n          \u003cdiv class=\"opl-compare-panel is-active\" id=\"opl-compare-crown\" role=\"tabpanel\" aria-labelledby=\"opl-compare-tab-crown\" data-opl-compare-panel=\"crown\"\u003e\n            \u003ch3\u003eOptimized for restorative dentistry. Designed for simplicity.\u003c\/h3\u003e\n            \u003cul class=\"opl-compare-list\"\u003e\n              \u003cli data-octo-compare-icon=\"disposable\"\u003eUltra-low-volume Crown Vats hold only the resin your print needs.\u003c\/li\u003e\n              \u003cli data-octo-compare-icon=\"disposable\"\u003eDisposable vats and build plates mean: Print. Remove. Toss. Next case.\u003c\/li\u003e\n              \u003cli data-octo-compare-icon=\"dental-models\"\u003ePurpose-built for small restorative prints: crowns, inlays, onlays, bridges, temporaries, and more.\u003c\/li\u003e\n              \u003cli\u003eSame-visit restorative workflow: print, post-process, and seat in as little as 30 minutes.²\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"opl-compare-panel\" id=\"opl-compare-arch\" role=\"tabpanel\" aria-labelledby=\"opl-compare-tab-arch\" data-opl-compare-panel=\"arch\" hidden\u003e\n            \u003ch3\u003eLab-style production, without the lab-style setup.\u003c\/h3\u003e\n            \u003cul class=\"opl-compare-list\"\u003e\n              \u003cli data-octo-compare-icon=\"modular\"\u003eOne system. Multiple setups. No printer recalibration between OCTOpod workflows.\u003c\/li\u003e\n              \u003cli data-octo-compare-icon=\"disposable\"\u003eDisposable build plates mean: Print. Remove. Toss. Next case.\u003c\/li\u003e\n              \u003cli data-octo-compare-icon=\"dental-models\"\u003ePurpose-built for everyday dental prints: models, guards, splints, trays, guides, retainers, and more.\u003c\/li\u003e\n              \u003cli\u003eProduction-style printing without the lab overhead burden.\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-section opl-section--mobile-rail\" style=\"padding-top: 20px !important; padding-bottom: 40px !important;\"\u003e\n    \u003cdiv class=\"opl-section__copy\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003eWhat's included\u003c\/span\u003e\n      \u003ch2\u003eBoth OCTOpod workflow paths in one starter kit.\u003c\/h2\u003e\n      \u003cp class=\"opl-section-lead\"\u003eDuo combines the shared OCTOpod platform with Crown and Arch components, giving your practice both small restorative and broader everyday dental workflows from day one.¹\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"opl-mobile-rail-shell\"\u003e\n    \u003cdiv class=\"opl-include-summary opl-mobile-card-rail\" tabindex=\"0\" aria-label=\"Duo Starter Kit summary\"\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"modular\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eShared platform\u003c\/h3\u003e\n        \u003cp\u003eThe frame, Z-mount, alignment, and setup hardware for your compatible printer.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"printer-3d\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eCrown workflow\u003c\/h3\u003e\n        \u003cp\u003eSmall-format vats, plates, and setup components for same-visit restorative printing.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"dental-models\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eArch workflow\u003c\/h3\u003e\n        \u003cp\u003eOpen and Full Arch components for models, guards, splints, trays, guides, and appliances.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"document\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eRefills + resources\u003c\/h3\u003e\n        \u003cp\u003eCrown and Arch refill packs, plus setup guidance, protocols, and support.\u003c\/p\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"opl-faq-inner\" style=\"max-width:1100px;\"\u003e\n      \u003cdiv class=\"opl-faq-list\" style=\"margin-top:0;\"\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-kit-contents\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eView detailed kit contents\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-kit-contents\"\u003e\n            \u003cdiv class=\"opl-mobile-rail-shell opl-mobile-rail-shell--contained\"\u003e\n            \u003cdiv class=\"opl-card-grid-2 opl-mobile-card-rail opl-mobile-card-rail--contained\" tabindex=\"0\" aria-label=\"Detailed kit contents\" style=\"max-width:none; margin-top:4px;\"\u003e\n              \u003carticle class=\"opl-panel opl-list-card opl-mobile-rail-card\"\u003e\n                \u003cspan class=\"opl-list-card__eyebrow\"\u003eCore platform components\u003c\/span\u003e\n                \u003cul class=\"opl-sub-list\"\u003e\n                  \u003cli\u003eOCTOpod frame components\u003c\/li\u003e\n                  \u003cli\u003eOCTOpod Z-Mount\u003c\/li\u003e\n                  \u003cli\u003eAlignment components\u003c\/li\u003e\n                  \u003cli\u003eShared setup hardware\u003c\/li\u003e\n                \u003c\/ul\u003e\n              \u003c\/article\u003e\n              \u003carticle class=\"opl-panel opl-list-card opl-mobile-rail-card\"\u003e\n                \u003cspan class=\"opl-list-card__eyebrow\"\u003eCrown workflow components\u003c\/span\u003e\n                \u003cul class=\"opl-sub-list\"\u003e\n                  \u003cli\u003eCrown Vat system\u003c\/li\u003e\n                  \u003cli\u003eCrown Plate \/ Quad-Hub components\u003c\/li\u003e\n                  \u003cli\u003eCrown workflow setup components\u003c\/li\u003e\n                  \u003cli\u003eCrown Refill Pack included\u003c\/li\u003e\n                  \u003cli\u003eDisposable Crown Vat cartridges\u003c\/li\u003e\n                  \u003cli\u003eCrown Plates\u003c\/li\u003e\n                  \u003cli\u003eCrown resin syringes, if included\u003c\/li\u003e\n                \u003c\/ul\u003e\n              \u003c\/article\u003e\n              \u003carticle class=\"opl-panel opl-list-card opl-mobile-rail-card\"\u003e\n                \u003cspan class=\"opl-list-card__eyebrow\"\u003eArch workflow components\u003c\/span\u003e\n                \u003cul class=\"opl-sub-list\"\u003e\n                  \u003cli\u003eArch Vat system\u003c\/li\u003e\n                  \u003cli\u003eOpen Arch workflow components\u003c\/li\u003e\n                  \u003cli\u003eFull Arch workflow components\u003c\/li\u003e\n                  \u003cli\u003eOpen Arch Refill included\u003c\/li\u003e\n                  \u003cli\u003eFull Arch Refill included\u003c\/li\u003e\n                  \u003cli\u003eArch Vat components\u003c\/li\u003e\n                  \u003cli\u003eDisposable open arch build plates\u003c\/li\u003e\n                  \u003cli\u003eDisposable full arch build plates\u003c\/li\u003e\n                  \u003cli\u003eArch resin syringes, if included\u003c\/li\u003e\n                \u003c\/ul\u003e\n              \u003c\/article\u003e\n              \u003carticle class=\"opl-panel opl-list-card opl-mobile-rail-card\"\u003e\n                \u003cspan class=\"opl-list-card__eyebrow\"\u003eResources + support\u003c\/span\u003e\n                \u003cul class=\"opl-sub-list\"\u003e\n                  \u003cli\u003eResources hub access\u003c\/li\u003e\n                  \u003cli\u003ePrinting Protocol\u003c\/li\u003e\n                  \u003cli\u003eInstructions for Use\u003c\/li\u003e\n                  \u003cli\u003eQuick Start Guide\u003c\/li\u003e\n                  \u003cli\u003eVideo walkthroughs\u003c\/li\u003e\n                  \u003cli\u003eRecommended resin settings\u003c\/li\u003e\n                  \u003cli\u003ePrinter template masks\u003c\/li\u003e\n                  \u003cli\u003eFounder-direct support\u003c\/li\u003e\n                \u003c\/ul\u003e\n              \u003c\/article\u003e\n            \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-section opl-section--mobile-rail\" style=\"padding-top: 8px !important; padding-bottom: 40px !important;\"\u003e\n    \u003cdiv class=\"opl-section__copy\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003eCrown + Arch applications\u003c\/span\u003e\n      \u003ch2\u003eTwo workflow paths for the jobs your practice keeps needing.\u003c\/h2\u003e\n      \u003cp class=\"opl-section-lead\"\u003eUse Crown when the case is small and restorative. Use Arch when the part needs more room. Duo gives you both workflows from day one.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"opl-mobile-rail-shell\"\u003e\n    \u003cdiv class=\"opl-cards opl-mobile-card-rail\" tabindex=\"0\" aria-label=\"Crown and Arch applications\"\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"modular\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eSame-visit restorations\u003c\/h3\u003e\n        \u003cp\u003eCrowns, inlays, onlays, small bridges, temporaries, and chairside restorative workflows.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"dental-models\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eModels \u0026amp; planning\u003c\/h3\u003e\n        \u003cp\u003eDiagnostic models, aligner models, orthodontic models, implant planning models, and burnout models.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"guards-splints\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eGuards, trays \u0026amp; retainers\u003c\/h3\u003e\n        \u003cp\u003eNightguards, splints, sportguards, bleaching trays, retainers, and appliance workflows.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"dentures-tryins\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eGuides \u0026amp; denture workflows\u003c\/h3\u003e\n        \u003cp\u003eSurgical guides, IBT trays, impression trays, denture bases, denture teeth, try-ins, and gingival masks.\u003c\/p\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-section opl-section--mobile-rail\" style=\"padding-top: 8px !important; padding-bottom: 40px !important;\"\u003e\n    \u003cdiv class=\"opl-section__copy\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003eOpen-resin workflow\u003c\/span\u003e\n      \u003ch2\u003eLet the indication drive the resin.\u003c\/h2\u003e\n      \u003cp class=\"opl-section-lead\"\u003eOCTOpod is designed around compatible 405 nm dental resins, so your material choice can follow the part you are printing instead of the hardware.³\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"opl-mobile-rail-shell\"\u003e\n    \u003cdiv class=\"opl-card-grid-2 opl-mobile-card-rail\" tabindex=\"0\" aria-label=\"Open-resin workflow\"\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"open-resin\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eFor Crown workflows\u003c\/h3\u003e\n        \u003cp\u003eUse restorative resins appropriate for crowns, inlays, onlays, and other same-visit restorative cases.\u003c\/p\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"guidance\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003ch3\u003eFor Arch workflows\u003c\/h3\u003e\n        \u003cp\u003eUse model, splint, guide, tray, denture, or appliance resins appropriate for the part being produced.\u003c\/p\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-section opl-section--mobile-rail\" style=\"padding-top: 8px !important; padding-bottom: 40px !important;\"\u003e\n    \u003cdiv class=\"opl-section__copy\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003ePrinter compatibility\u003c\/span\u003e\n      \u003ch2\u003eChoose the version that matches your printer.\u003c\/h2\u003e\n      \u003cp class=\"opl-section-lead\"\u003eOCTOpod Duo Starter Kit is configured for compatible desktop MSLA printers¹. Select the version that matches your printer before checkout.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"opl-mobile-rail-shell\"\u003e\n    \u003cdiv class=\"opl-card-grid-2 opl-mobile-card-rail\" tabindex=\"0\" aria-label=\"Compatible printers\"\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"printer-3d\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"opl-card__eyebrow\"\u003eRecommended\u003c\/span\u003e\n        \u003ch3\u003eElegoo Mars 4 Ultra\u003c\/h3\u003e\n        \u003cul class=\"opl-sub-list\"\u003e\n          \u003cli\u003eRecommended for first-time and experienced OCTOpod users\u003c\/li\u003e\n          \u003cli\u003e18 µm XY resolution\u003c\/li\u003e\n          \u003cli\u003eWiFi transfer\u003c\/li\u003e\n          \u003cli\u003ePrint restorations in as little as 7 minutes and arch models in as little as 12 minutes.²\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"opl-card opl-mobile-rail-card\"\u003e\n        \u003cdiv class=\"opl-card__icon\" aria-hidden=\"true\"\u003e\n          \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"printer-3d\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"opl-card__eyebrow\"\u003eSupported\u003c\/span\u003e\n        \u003ch3\u003ePhrozen Sonic Mini 8KS\u003c\/h3\u003e\n        \u003cul class=\"opl-sub-list\"\u003e\n          \u003cli\u003eAvailable for practices already using this printer\u003c\/li\u003e\n          \u003cli\u003e22 µm XY resolution\u003c\/li\u003e\n          \u003cli\u003eUSB transfer\u003c\/li\u003e\n          \u003cli\u003ePrint restorations in as little as 21 minutes and arch models in as little as 45 minutes.²\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-linkout\"\u003e\n    \u003cdiv class=\"opl-linkout__inner\"\u003e\n      \u003cdiv class=\"opl-linkout__icon\" aria-hidden=\"true\"\u003e\n        \u003cspan class=\"octo-icon-slot\" data-octo-icon=\"document\"\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"opl-linkout__body\"\u003e\n        \u003cspan class=\"opl-section-eyebrow\" style=\"margin-bottom:6px !important;\"\u003eIncluded with your purchase\u003c\/span\u003e\n        \u003ch3\u003eThe OCTOpod Resources hub\u003c\/h3\u003e\n        \u003cp\u003eDuo customers get access to setup guidance, protocols, troubleshooting, recommended settings, and support resources.\u003c\/p\u003e\n        \u003cdiv class=\"opl-linkout__resources\" aria-label=\"Included resource topics\"\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003ePrinting Protocol\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eInstructions for Use\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eQuick Start Guide\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eRecommended resin settings\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eFailed-print troubleshooting\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eCDT codes \u0026amp; reimbursement\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eVideo walkthroughs\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003ePrinter template masks\u003c\/span\u003e\n          \u003cspan class=\"opl-linkout__resource\"\u003eFounder-direct support\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003ca class=\"opl-btn-primary opl-linkout__cta\" href=\"\/pages\/octopod-resources\" target=\"_blank\" rel=\"noopener\"\u003eBrowse Resources →\u003c\/a\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-faq\"\u003e\n    \u003cdiv class=\"opl-faq-inner\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003eFAQ\u003c\/span\u003e\n      \u003ch2\u003eQuestions practices ask before they commit to both workflows.\u003c\/h2\u003e\n      \u003cp class=\"opl-section-lead\" style=\"max-width: none !important; margin-bottom: 20px !important;\"\u003eDuo is for teams that already expect to use both workflows, but printer choice, refill planning, and resin selection still matter.\u003c\/p\u003e\n      \u003cdiv class=\"opl-faq-list\"\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-1\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eShould I buy Crown, Arch, or Duo?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-1\"\u003e\n            \u003cp\u003eChoose Crown if your main goal is same-visit restorative printing. Choose Arch if your main goal is models, guards, splints, trays, guides, retainers, or appliance workflows. Choose Duo if you already know your practice wants both workflows from day one.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-2\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eWhy choose Duo instead of buying one kit now and adding the other later?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-2\"\u003e\n            \u003cp\u003eDuo gives you both Crown and Arch workflow paths upfront without paying twice for the shared platform components. It is the better fit if you expect to use both restorative and arch-scale workflows.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-3\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eDoes the Duo Starter Kit include a printer?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-3\"\u003e\n            \u003cp\u003eNo. The Duo Starter Kit includes OCTOpod components for a compatible printer. The printer, resin, wash\/cure equipment, PPE, and standard resin-handling supplies are sold separately.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-4\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eDo Crown and Arch use the same printer?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-4\"\u003e\n            \u003cp\u003eYes. Crown and Arch are built around the same modular OCTOpod platform for compatible printers. Each workflow uses different vat and build plate components.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-5\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eHow difficult is it to switch between Crown and Arch workflows?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-5\"\u003e\n            \u003cp\u003eThe system is designed so practices can swap workflow-specific OCTOpod modules instead of dedicating a separate printer to each workflow. Follow the OCTOpod setup guidance when changing configurations.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-6\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eWhat refills will I need later?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-6\"\u003e\n            \u003cp\u003eCrown workflows use Crown refill components. Arch workflows use Open Arch and\/or Full Arch refill components depending on the parts you print. The Duo Starter Kit includes refill packs for both workflows to help you get started.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-7\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eIs OCTOpod a closed resin system?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-7\"\u003e\n            \u003cp\u003eNo. OCTOpod is designed as an open-resin workflow for compatible 405 nm dental resins. Choose the resin appropriate for the indication and follow the resin manufacturer's IFU.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"opl-faq-item\" data-opl-faq\u003e\n          \u003cbutton class=\"opl-faq-item__button\" type=\"button\" aria-expanded=\"false\" aria-controls=\"opl-faq-8\"\u003e\n            \u003cspan class=\"opl-faq-item__title\"\u003eWhen will the Duo Starter Kit ship?\u003c\/span\u003e\n            \u003cspan class=\"opl-faq-item__toggle\" aria-hidden=\"true\"\u003e+\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cdiv class=\"opl-faq-item__body\" id=\"opl-faq-8\"\u003e\n            \u003cp\u003eThe OCTOpod Duo Starter Kit is available for pre-order. Anticipated shipping date: July 1, 2026.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-section\" style=\"padding-top: 8px !important; padding-bottom: 24px !important;\"\u003e\n    \u003cdiv class=\"opl-section__copy\"\u003e\n      \u003cspan class=\"opl-section-eyebrow\"\u003eFootnotes\u003c\/span\u003e\n      \u003cp class=\"opl-section-lead\" style=\"font-size:14px !important; line-height:1.6 !important; max-width:none !important; margin-bottom:12px !important;\"\u003e¹ Printer, resin, wash\/cure equipment, PPE, and standard resin-handling supplies are sold separately. Use all equipment and materials according to the manufacturer's documentation and procedures.\u003c\/p\u003e\n      \u003cp class=\"opl-section-lead\" style=\"font-size:14px !important; line-height:1.6 !important; max-width:none !important; margin-bottom:12px !important;\"\u003e² Print-to-seat and print-time estimates depend on printer, resin, part geometry, layer height, validated print settings, wash\/cure protocol, finishing requirements, and clinical verification. \"As little as\" timing reflects optimized OCTOpod workflows and does not guarantee all cases will meet those timings.\u003c\/p\u003e\n      \u003cp class=\"opl-section-lead\" style=\"font-size:14px !important; line-height:1.6 !important; max-width:none !important; margin-bottom:0 !important;\"\u003e³ Always follow the resin manufacturer's IFU and validated print, wash, cure, and finishing protocols.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"opl-final-cta\"\u003e\n    \u003cdiv class=\"opl-final-cta__panel\"\u003e\n      \u003cdiv class=\"opl-final-cta__grid\"\u003e\n        \u003cdiv\u003e\n          \u003cspan class=\"opl-section-eyebrow opl-final-cta__eyebrow\"\u003eNext step\u003c\/span\u003e\n          \u003ch2\u003eStart with both OCTOpod workflow paths.\u003c\/h2\u003e\n          \u003cp\u003eDuo gives your practice Crown and Arch workflows from day one: same-visit restorative printing and broader everyday dental printing on one modular system.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"opl-final-cta__actions\"\u003e\n          \u003cbutton class=\"opl-btn-inline opl-final-cta__action opl-final-cta__action--primary\" onclick=\"opdAddToCart()\"\u003ePre-Order\u003c\/button\u003e\n          \u003ca class=\"opl-btn-inline opl-final-cta__action opl-final-cta__action--secondary\" href=\"\/products\/octopod-starter-kit\"\u003eExplore OCTOpod Crown\u003c\/a\u003e\n          \u003ca class=\"opl-btn-inline opl-final-cta__action opl-final-cta__action--tertiary\" href=\"\/products\/octopod-arch-starter-kit\"\u003eExplore OCTOpod Arch\u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv id=\"opl-confirm-dialog\" class=\"opl-confirm-dialog\" role=\"dialog\" aria-labelledby=\"opl-confirm-title\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"opl-confirm-content\"\u003e\n      \u003ch3 id=\"opl-confirm-title\"\u003eSonic Mini 8KS - please confirm\u003c\/h3\u003e\n      \u003cp\u003eThe Sonic Mini 8KS is supported for OCTOpod Duo Starter Kit, but the Mars 4 Ultra is our recommended default for most workflows. The Sonic Mini is the right pick if you already own one - otherwise the M4U is the lower-friction starting point.\u003c\/p\u003e\n      \u003cdiv class=\"opl-confirm-buttons\"\u003e\n        \u003cbutton class=\"opl-confirm-switch\" onclick=\"opdSwitchToM4U()\"\u003eSwitch to Mars 4 Ultra\u003c\/button\u003e\n        \u003cbutton class=\"opl-confirm-continue\" onclick=\"opdContinueWithSonic()\"\u003eContinue with Sonic Mini\u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\nfunction octoRenderIcon(iconName) {\n  var registry = {\n    'dental-models': {\n      viewBox: '0 0 64 64',\n      kind: 'line',\n      body: '\u003cg fill=\"none\" stroke=\"currentColor\" stroke-width=\"3.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M 32.03 12.71 L 34.77 11.44 L 38.73 12.20 L 41.28 13.99 L 41.72 16.35\"\/\u003e\u003cpath d=\"M 41.79 16.35 L 44.66 16.09 L 46.82 17.62 L 48.48 20.62 L 48.29 23.81\"\/\u003e\u003cpath d=\"M 31.97 19.02 L 33.75 21.38 L 35.35 22.21 L 37.96 22.28 L 39.81 21.32\"\/\u003e\u003cpath d=\"M 50.65 14.75 L 53.46 19.34 L 56.39 27.44 L 59.70 42.55 L 59.70 50.71 L 58.49 53.26 L 56.26 55.69 L 53.97 57.35 L 51.16 58.24 L 12.84 58.24 L 9.59 57.09 L 5.95 53.90 L 4.42 51.42 L 3.91 48.87 L 4.17 42.94 L 5.70 34.20 L 10.42 19.60 L 12.71 15.65 L 16.03 12.07 L 19.66 9.40 L 24.19 7.16 L 28.78 5.95 L 33.43 5.76 L 38.22 6.59 L 43.13 8.57 L 47.46 11.50 L 50.65 14.75 Z\"\/\u003e\u003c\/g\u003e'\n    },\n    'guards-splints': {\n      viewBox: '0 0 64 64',\n      kind: 'line',\n      body: '\u003cg fill=\"none\" stroke=\"currentColor\" stroke-width=\"3.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M 4.60 17.89 L 5.42 22.89 L 8.30 29.05 L 10.97 39.47 L 13.23 44.67 L 15.42 48.10 L 19.12 51.73 L 23.44 53.99 L 28.64 55.08 L 34.40 55.15 L 39.19 54.40 L 42.96 52.89 L 46.25 50.56 L 49.67 46.45 L 52.55 40.49 L 55.70 28.78 L 58.64 22.48 L 59.40 13.92 L 58.92 11.86 L 57.55 10.15 L 53.99 8.78 L 44.67 8.92 L 42.55 9.67 L 40.97 10.97 L 40.15 13.44 L 40.15 25.15 L 38.58 34.26 L 35.77 40.15 L 34.67 41.11 L 32.55 41.79 L 30.08 41.52 L 28.44 40.42 L 27.00 38.44 L 25.49 34.74 L 23.64 24.05 L 23.71 13.10 L 23.23 11.38 L 22.21 10.22 L 20.08 9.12 L 17.55 8.71 L 10.84 8.71 L 7.62 9.40 L 5.63 10.90 L 4.81 12.34 L 4.60 17.89 Z\"\/\u003e\u003c\/g\u003e'\n    },\n    'surgical-guides': {\n      viewBox: '0 0 64 64',\n      kind: 'line',\n      body: '\u003cg fill=\"none\" stroke=\"currentColor\" stroke-width=\"3.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M 58.68 22.43 L 56.02 28.61 L 51.97 42.37 L 47.51 49.81 L 43.99 52.80 L 39.94 54.59 L 34.69 55.46 L 26.39 55.12 L 21.67 53.73 L 18.48 51.80 L 15.55 48.81 L 13.30 45.29 L 10.84 39.71 L 8.05 29.14 L 5.12 22.17 L 4.46 18.25 L 4.52 13.06 L 5.19 11.14 L 6.32 9.87 L 10.57 8.35 L 19.28 8.54 L 21.60 9.41 L 23.00 10.60 L 23.93 13.59 L 23.73 25.89 L 24.66 33.06 L 27.38 40.11 L 30.37 42.43 L 33.50 42.43 L 35.16 41.57 L 36.88 39.31 L 38.21 36.12 L 40.07 26.09 L 40.07 12.27 L 42.00 9.61 L 45.99 8.35 L 52.70 8.35 L 54.96 8.61 L 57.48 9.74 L 58.94 11.47 L 59.54 14.06 L 58.68 22.43 Z\"\/\u003e\u003cpath d=\"M 46.52 31.07 L 49.51 31.53 L 51.63 29.94 L 52.03 27.02 L 50.31 24.76 L 47.32 24.49 L 45.32 26.09 L 44.86 28.61 L 46.52 31.07 Z\"\/\u003e\u003c\/g\u003e'\n    },\n    'dentures-tryins': {\n      viewBox: '0 0 64 64',\n      kind: 'line',\n      body: '\u003cg fill=\"none\" stroke=\"currentColor\" stroke-width=\"3.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M 55.15 37.09 L 55.43 34.13 L 57.15 28.42\"\/\u003e\u003cpath d=\"M 55.08 37.16 L 43.11 37.57 L 42.22 38.61 L 41.39 41.63 L 39.05 43.35 L 27.22 43.22 L 25.29 41.63 L 24.60 39.43 L 24.74 25.19 L 25.64 23.40 L 27.63 22.02 L 37.95 21.82 L 39.67 22.16 L 41.25 23.40 L 42.36 26.91 L 43.53 28.01 L 57.15 28.42\"\/\u003e\u003cpath d=\"M 55.15 37.16 L 55.64 43.08 L 54.67 49.61 L 52.06 54.98 L 48.69 57.94 L 45.11 59.18 L 40.98 59.18 L 34.51 56.50 L 31.55 56.01 L 22.75 59.18 L 18.69 59.18 L 15.93 58.35 L 13.46 56.77 L 11.25 54.36 L 8.71 48.24 L 8.16 44.11 L 8.50 35.30 L 4.99 23.47 L 5.20 15.00 L 6.99 10.67 L 9.19 8.06 L 11.94 6.13 L 15.59 4.82 L 21.58 5.03 L 31.14 7.85 L 34.51 7.57 L 43.94 4.75 L 49.86 5.17 L 52.88 6.61 L 55.08 8.40 L 56.94 10.60 L 58.39 13.70 L 59.08 17.28 L 59.08 21.82 L 58.11 27.11 L 57.15 28.42\"\/\u003e\u003c\/g\u003e'\n    },\n    'open-resin': {\n      viewBox: '0 0 64 64',\n      kind: 'filled',\n      body: '\u003cpath fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M 31.285 26.131 L 30.520 26.692 L 30.214 27.458 L 30.214 41.085 L 30.112 41.187 L 27.254 37.410 L 26.845 37.002 L 26.080 36.644 L 25.263 36.644 L 24.753 36.848 L 24.447 37.104 L 24.242 37.461 L 24.242 38.278 L 27.407 44.708 L 30.112 48.383 L 30.418 49.199 L 30.571 50.424 L 30.826 50.781 L 31.132 50.935 L 40.319 50.884 L 40.727 50.424 L 40.982 48.689 L 41.952 46.494 L 42.309 45.065 L 42.360 38.226 L 42.258 37.920 L 41.850 37.359 L 41.187 37.002 L 40.421 37.002 L 39.707 37.308 L 39.656 36.797 L 39.451 36.338 L 39.094 35.930 L 38.686 35.675 L 37.665 35.573 L 36.746 36.083 L 36.695 35.419 L 36.491 34.909 L 36.083 34.450 L 35.624 34.195 L 35.215 34.093 L 34.450 34.195 L 33.990 34.450 L 33.531 35.011 L 33.429 34.960 L 33.429 27.356 L 33.225 26.845 L 32.766 26.335 L 32.153 26.080 Z M 30.928 10.514 L 30.877 10.565 L 30.112 10.667 L 29.091 11.024 L 28.478 11.330 L 27.509 11.994 L 26.386 13.167 L 25.876 13.933 L 25.518 14.648 L 25.161 15.719 L 25.110 16.230 L 25.059 16.281 L 25.059 16.638 L 25.008 16.689 L 25.008 17.914 L 25.059 17.965 L 25.059 18.322 L 25.110 18.373 L 25.212 19.037 L 25.467 19.802 L 25.978 20.823 L 26.641 21.742 L 27.611 22.660 L 28.530 23.273 L 29.397 23.681 L 30.010 23.885 L 30.163 23.885 L 30.418 23.987 L 30.673 23.987 L 30.724 24.038 L 31.030 24.038 L 31.081 24.089 L 32.663 24.089 L 32.715 24.038 L 33.021 24.038 L 33.072 23.987 L 33.276 23.987 L 33.327 23.936 L 33.888 23.834 L 34.501 23.630 L 35.317 23.222 L 36.389 22.456 L 37.053 21.793 L 37.461 21.282 L 37.818 20.721 L 38.175 20.006 L 38.482 19.139 L 38.584 18.475 L 38.635 18.424 L 38.635 18.067 L 38.686 18.016 L 38.686 16.536 L 38.635 16.485 L 38.635 16.179 L 38.584 16.128 L 38.431 15.260 L 37.920 14.035 L 37.206 12.963 L 36.236 11.994 L 35.164 11.279 L 34.399 10.922 L 33.786 10.718 L 33.174 10.616 L 33.123 10.565 L 32.306 10.514 L 32.255 10.463 Z M 46.239 18.577 L 46.188 18.628 L 45.933 18.628 L 45.882 18.679 L 45.474 18.730 L 44.810 18.935 L 43.738 19.445 L 42.820 20.108 L 41.901 21.027 L 41.136 22.201 L 41.136 22.303 L 40.931 22.660 L 40.676 23.375 L 40.676 23.528 L 40.523 23.987 L 40.523 24.242 L 40.472 24.293 L 40.472 24.702 L 40.421 24.753 L 40.472 26.233 L 40.523 26.284 L 40.574 26.743 L 40.829 27.611 L 41.238 28.478 L 41.799 29.346 L 42.105 29.703 L 42.973 30.520 L 43.789 31.081 L 44.606 31.490 L 45.167 31.694 L 45.321 31.694 L 45.780 31.847 L 45.984 31.847 L 46.035 31.898 L 46.290 31.898 L 46.341 31.949 L 47.974 31.949 L 48.026 31.898 L 48.536 31.847 L 49.455 31.592 L 50.526 31.081 L 51.343 30.520 L 51.751 30.163 L 52.364 29.499 L 53.027 28.530 L 53.435 27.662 L 53.691 26.896 L 53.691 26.692 L 53.793 26.386 L 53.793 26.080 L 53.844 26.029 L 53.844 24.498 L 53.793 24.447 L 53.793 24.140 L 53.742 24.089 L 53.742 23.885 L 53.691 23.834 L 53.691 23.630 L 53.589 23.426 L 53.589 23.273 L 53.333 22.711 L 53.333 22.609 L 52.976 21.895 L 52.619 21.333 L 52.159 20.772 L 51.598 20.211 L 51.088 19.802 L 49.863 19.088 L 48.842 18.730 L 48.434 18.679 L 48.383 18.628 L 48.128 18.628 L 48.077 18.577 L 47.668 18.577 L 47.617 18.526 Z M 16.077 18.526 L 16.026 18.577 L 15.668 18.577 L 15.617 18.628 L 15.311 18.628 L 15.260 18.679 L 14.852 18.730 L 13.831 19.088 L 13.219 19.394 L 12.453 19.904 L 11.432 20.874 L 10.769 21.793 L 10.309 22.711 L 10.054 23.426 L 9.952 24.038 L 9.901 24.089 L 9.901 24.344 L 9.850 24.396 L 9.850 24.957 L 9.799 25.008 L 9.850 26.131 L 9.901 26.182 L 10.003 26.896 L 10.156 27.254 L 10.156 27.407 L 10.718 28.632 L 11.534 29.754 L 12.351 30.520 L 13.167 31.081 L 13.882 31.439 L 14.903 31.796 L 15.107 31.796 L 15.413 31.898 L 15.719 31.898 L 15.770 31.949 L 17.352 31.949 L 17.404 31.898 L 17.965 31.847 L 18.373 31.694 L 18.526 31.694 L 18.679 31.592 L 18.833 31.592 L 19.904 31.081 L 20.313 30.826 L 21.078 30.214 L 21.793 29.448 L 22.354 28.632 L 22.915 27.407 L 22.915 27.254 L 23.018 27.049 L 23.120 26.437 L 23.171 26.386 L 23.171 26.080 L 23.222 26.029 L 23.222 24.447 L 23.171 24.396 L 23.171 24.089 L 23.069 23.834 L 23.069 23.630 L 22.813 22.813 L 22.303 21.793 L 21.640 20.874 L 20.619 19.904 L 19.853 19.394 L 19.139 19.037 L 18.424 18.781 L 17.812 18.679 L 17.761 18.628 L 17.506 18.628 L 17.455 18.577 L 17.046 18.577 L 16.995 18.526 Z M 35.675 15.107 L 35.675 15.617 L 35.624 15.668 L 35.624 15.770 L 35.522 15.872 L 35.522 15.923 L 34.909 16.536 L 34.909 16.587 L 33.990 17.506 L 33.990 17.557 L 33.021 18.526 L 33.021 18.577 L 32.000 19.598 L 32.000 19.649 L 31.541 20.108 L 31.490 20.108 L 31.337 20.211 L 31.183 20.211 L 31.132 20.262 L 30.826 20.262 L 30.775 20.211 L 30.673 20.211 L 30.622 20.159 L 30.469 20.108 L 29.295 18.935 L 29.244 18.935 L 28.325 18.016 L 28.325 17.965 L 28.223 17.812 L 28.223 17.659 L 28.172 17.608 L 28.172 17.352 L 28.223 17.301 L 28.223 17.199 L 28.274 17.148 L 28.325 16.995 L 28.581 16.740 L 28.632 16.740 L 28.734 16.638 L 28.836 16.638 L 28.887 16.587 L 29.346 16.587 L 29.397 16.638 L 29.550 16.689 L 29.652 16.791 L 29.703 16.791 L 30.979 18.067 L 31.030 18.067 L 31.285 17.812 L 31.285 17.761 L 31.898 17.148 L 31.898 17.097 L 32.715 16.281 L 32.715 16.230 L 33.225 15.719 L 33.225 15.668 L 33.990 14.903 L 33.990 14.852 L 34.246 14.596 L 34.297 14.596 L 34.450 14.494 L 34.552 14.494 L 34.603 14.443 L 34.960 14.443 L 35.011 14.494 L 35.113 14.494 L 35.164 14.545 L 35.215 14.545 L 35.317 14.648 L 35.368 14.648 L 35.522 14.801 L 35.522 14.852 Z\"\/\u003e'\n    },\n    'ppe': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 465.0 791.0 L 465.0 799.0 L 467.0 803.0 L 476.0 808.0 L 510.0 818.0 L 537.0 823.0 L 565.0 826.0 L 613.0 826.0 L 651.0 821.0 L 677.0 815.0 L 706.0 805.0 L 711.0 798.0 L 711.0 793.0 L 709.0 788.0 L 703.0 784.0 L 697.0 784.0 L 684.0 789.0 L 653.0 797.0 L 611.0 803.0 L 569.0 803.0 L 541.0 800.0 L 506.0 793.0 L 479.0 784.0 L 473.0 784.0 L 469.0 786.0 Z M 453.0 718.0 L 453.0 727.0 L 457.0 732.0 L 464.0 735.0 L 509.0 745.0 L 565.0 751.0 L 614.0 751.0 L 661.0 746.0 L 691.0 740.0 L 716.0 733.0 L 722.0 725.0 L 722.0 720.0 L 720.0 716.0 L 713.0 711.0 L 708.0 711.0 L 692.0 716.0 L 662.0 722.0 L 632.0 726.0 L 604.0 727.0 L 603.0 728.0 L 577.0 728.0 L 576.0 727.0 L 536.0 725.0 L 508.0 721.0 L 474.0 714.0 L 466.0 711.0 L 459.0 712.0 Z M 446.0 651.0 L 446.0 657.0 L 448.0 661.0 L 451.0 664.0 L 458.0 666.0 L 521.0 674.0 L 549.0 675.0 L 550.0 676.0 L 579.0 676.0 L 580.0 677.0 L 633.0 676.0 L 634.0 675.0 L 662.0 674.0 L 698.0 670.0 L 731.0 665.0 L 738.0 658.0 L 738.0 650.0 L 731.0 643.0 L 719.0 643.0 L 678.0 649.0 L 627.0 652.0 L 626.0 653.0 L 539.0 652.0 L 538.0 651.0 L 525.0 651.0 L 486.0 647.0 L 464.0 643.0 L 453.0 643.0 L 448.0 647.0 Z M 958.0 641.0 L 938.0 642.0 L 929.0 647.0 L 922.0 654.0 L 920.0 654.0 L 910.0 643.0 L 902.0 639.0 L 894.0 637.0 L 882.0 638.0 L 871.0 643.0 L 860.0 655.0 L 828.0 720.0 L 805.0 762.0 L 802.0 761.0 L 800.0 746.0 L 794.0 734.0 L 784.0 725.0 L 774.0 721.0 L 764.0 720.0 L 755.0 722.0 L 747.0 726.0 L 739.0 733.0 L 732.0 748.0 L 732.0 814.0 L 733.0 815.0 L 733.0 844.0 L 735.0 863.0 L 734.0 883.0 L 727.0 903.0 L 692.0 954.0 L 692.0 963.0 L 694.0 967.0 L 700.0 973.0 L 742.0 1002.0 L 787.0 1028.0 L 815.0 1042.0 L 831.0 1048.0 L 840.0 1048.0 L 849.0 1042.0 L 884.0 977.0 L 907.0 953.0 L 936.0 926.0 L 949.0 911.0 L 1030.0 804.0 L 1037.0 790.0 L 1038.0 776.0 L 1033.0 763.0 L 1024.0 753.0 L 1010.0 747.0 L 1010.0 744.0 L 1016.0 736.0 L 1021.0 724.0 L 1022.0 714.0 L 1017.0 698.0 L 1005.0 686.0 L 996.0 682.0 L 986.0 681.0 L 984.0 679.0 L 984.0 668.0 L 979.0 656.0 L 969.0 646.0 Z M 718.0 955.0 L 730.0 938.0 L 734.0 937.0 L 755.0 952.0 L 809.0 984.0 L 842.0 1000.0 L 843.0 1005.0 L 835.0 1020.0 L 832.0 1023.0 L 827.0 1022.0 L 786.0 1001.0 L 752.0 981.0 L 721.0 960.0 L 718.0 957.0 Z M 953.0 663.0 L 961.0 670.0 L 962.0 679.0 L 939.0 720.0 L 900.0 784.0 L 902.0 793.0 L 908.0 797.0 L 915.0 797.0 L 922.0 791.0 L 924.0 786.0 L 976.0 709.0 L 984.0 704.0 L 991.0 704.0 L 997.0 708.0 L 1000.0 715.0 L 999.0 721.0 L 961.0 778.0 L 937.0 811.0 L 936.0 819.0 L 942.0 826.0 L 950.0 827.0 L 954.0 825.0 L 993.0 774.0 L 1002.0 769.0 L 1009.0 770.0 L 1015.0 776.0 L 1016.0 783.0 L 1013.0 790.0 L 934.0 894.0 L 919.0 911.0 L 871.0 957.0 L 856.0 980.0 L 852.0 980.0 L 798.0 951.0 L 767.0 932.0 L 746.0 917.0 L 746.0 914.0 L 751.0 905.0 L 755.0 893.0 L 757.0 883.0 L 754.0 753.0 L 756.0 748.0 L 759.0 745.0 L 764.0 743.0 L 771.0 744.0 L 778.0 750.0 L 784.0 806.0 L 786.0 810.0 L 793.0 814.0 L 800.0 813.0 L 805.0 808.0 L 819.0 784.0 L 848.0 729.0 L 878.0 667.0 L 883.0 662.0 L 887.0 660.0 L 894.0 660.0 L 898.0 662.0 L 902.0 668.0 L 902.0 678.0 L 860.0 761.0 L 861.0 766.0 L 868.0 773.0 L 874.0 773.0 L 880.0 769.0 L 937.0 670.0 L 946.0 663.0 Z M 270.0 546.0 L 260.0 557.0 L 255.0 567.0 L 252.0 579.0 L 252.0 599.0 L 257.0 620.0 L 273.0 655.0 L 284.0 673.0 L 302.0 698.0 L 320.0 720.0 L 340.0 742.0 L 391.0 791.0 L 396.0 800.0 L 416.0 824.0 L 436.0 844.0 L 464.0 867.0 L 491.0 884.0 L 524.0 899.0 L 547.0 906.0 L 580.0 911.0 L 608.0 911.0 L 630.0 908.0 L 647.0 904.0 L 677.0 893.0 L 699.0 882.0 L 717.0 870.0 L 716.0 845.0 L 715.0 844.0 L 712.0 845.0 L 692.0 859.0 L 671.0 870.0 L 645.0 880.0 L 610.0 887.0 L 577.0 887.0 L 557.0 884.0 L 527.0 875.0 L 498.0 861.0 L 470.0 842.0 L 451.0 826.0 L 426.0 800.0 L 410.0 779.0 L 404.0 764.0 L 402.0 752.0 L 402.0 732.0 L 401.0 731.0 L 401.0 614.0 L 406.0 604.0 L 417.0 599.0 L 461.0 589.0 L 490.0 580.0 L 548.0 551.0 L 568.0 544.0 L 584.0 541.0 L 603.0 541.0 L 622.0 545.0 L 644.0 554.0 L 659.0 563.0 L 698.0 581.0 L 720.0 588.0 L 767.0 599.0 L 775.0 602.0 L 781.0 609.0 L 781.0 621.0 L 782.0 622.0 L 782.0 637.0 L 781.0 638.0 L 782.0 704.0 L 792.0 708.0 L 805.0 717.0 L 805.0 611.0 L 813.0 603.0 L 844.0 577.0 L 857.0 568.0 L 869.0 562.0 L 881.0 559.0 L 888.0 559.0 L 897.0 562.0 L 903.0 567.0 L 907.0 573.0 L 909.0 579.0 L 909.0 598.0 L 906.0 610.0 L 902.0 619.0 L 904.0 621.0 L 907.0 621.0 L 922.0 630.0 L 928.0 618.0 L 933.0 598.0 L 933.0 578.0 L 926.0 558.0 L 910.0 542.0 L 893.0 536.0 L 871.0 537.0 L 861.0 540.0 L 845.0 548.0 L 817.0 569.0 L 797.0 587.0 L 794.0 587.0 L 784.0 580.0 L 772.0 576.0 L 740.0 569.0 L 699.0 556.0 L 637.0 525.0 L 620.0 520.0 L 601.0 517.0 L 576.0 518.0 L 555.0 523.0 L 537.0 530.0 L 481.0 558.0 L 452.0 567.0 L 409.0 577.0 L 395.0 583.0 L 390.0 587.0 L 388.0 587.0 L 349.0 554.0 L 337.0 546.0 L 319.0 538.0 L 310.0 536.0 L 292.0 536.0 L 279.0 540.0 Z M 288.0 562.0 L 297.0 559.0 L 305.0 559.0 L 316.0 562.0 L 328.0 568.0 L 352.0 586.0 L 378.0 609.0 L 378.0 743.0 L 375.0 744.0 L 363.0 732.0 L 330.0 695.0 L 310.0 669.0 L 289.0 635.0 L 279.0 611.0 L 275.0 589.0 L 275.0 584.0 L 278.0 573.0 L 281.0 568.0 Z M 258.0 307.0 L 258.0 388.0 L 264.0 400.0 L 268.0 404.0 L 277.0 409.0 L 304.0 415.0 L 307.0 418.0 L 307.0 422.0 L 312.0 438.0 L 321.0 456.0 L 332.0 470.0 L 345.0 481.0 L 365.0 492.0 L 384.0 498.0 L 408.0 502.0 L 441.0 503.0 L 442.0 504.0 L 482.0 502.0 L 501.0 498.0 L 519.0 490.0 L 531.0 481.0 L 541.0 469.0 L 554.0 444.0 L 560.0 428.0 L 571.0 409.0 L 580.0 401.0 L 590.0 397.0 L 607.0 398.0 L 615.0 402.0 L 623.0 410.0 L 654.0 472.0 L 669.0 487.0 L 686.0 496.0 L 699.0 500.0 L 720.0 503.0 L 771.0 503.0 L 808.0 498.0 L 828.0 492.0 L 842.0 485.0 L 858.0 473.0 L 868.0 462.0 L 874.0 453.0 L 882.0 436.0 L 887.0 417.0 L 892.0 414.0 L 910.0 411.0 L 924.0 405.0 L 931.0 397.0 L 935.0 388.0 L 935.0 307.0 L 931.0 298.0 L 926.0 292.0 L 918.0 287.0 L 891.0 281.0 L 888.0 278.0 L 887.0 268.0 L 881.0 251.0 L 873.0 239.0 L 863.0 230.0 L 853.0 224.0 L 838.0 218.0 L 808.0 212.0 L 734.0 210.0 L 733.0 209.0 L 659.0 208.0 L 658.0 207.0 L 531.0 207.0 L 530.0 208.0 L 402.0 211.0 L 401.0 212.0 L 376.0 213.0 L 349.0 220.0 L 338.0 225.0 L 329.0 231.0 L 321.0 238.0 L 315.0 246.0 L 307.0 265.0 L 305.0 279.0 L 303.0 281.0 L 288.0 283.0 L 271.0 289.0 L 262.0 298.0 Z M 892.0 308.0 L 905.0 310.0 L 909.0 313.0 L 909.0 382.0 L 906.0 385.0 L 894.0 388.0 L 890.0 386.0 L 890.0 310.0 Z M 301.0 308.0 L 303.0 310.0 L 303.0 386.0 L 301.0 388.0 L 289.0 386.0 L 284.0 382.0 L 284.0 313.0 L 287.0 310.0 Z M 329.0 306.0 L 331.0 304.0 L 409.0 300.0 L 410.0 299.0 L 503.0 296.0 L 504.0 295.0 L 533.0 295.0 L 534.0 294.0 L 655.0 294.0 L 656.0 295.0 L 761.0 298.0 L 762.0 299.0 L 781.0 299.0 L 782.0 300.0 L 862.0 304.0 L 864.0 306.0 L 864.0 393.0 L 861.0 416.0 L 855.0 434.0 L 847.0 447.0 L 833.0 460.0 L 818.0 468.0 L 795.0 474.0 L 767.0 477.0 L 725.0 477.0 L 707.0 475.0 L 695.0 472.0 L 687.0 468.0 L 674.0 456.0 L 666.0 442.0 L 656.0 417.0 L 647.0 400.0 L 642.0 393.0 L 631.0 382.0 L 611.0 372.0 L 588.0 371.0 L 579.0 373.0 L 568.0 378.0 L 551.0 393.0 L 544.0 403.0 L 520.0 455.0 L 512.0 464.0 L 506.0 468.0 L 491.0 474.0 L 469.0 477.0 L 425.0 477.0 L 387.0 472.0 L 372.0 467.0 L 357.0 458.0 L 343.0 443.0 L 336.0 429.0 L 332.0 415.0 L 329.0 395.0 Z M 332.0 272.0 L 338.0 259.0 L 347.0 250.0 L 366.0 242.0 L 387.0 238.0 L 456.0 236.0 L 457.0 235.0 L 489.0 235.0 L 490.0 234.0 L 618.0 232.0 L 619.0 233.0 L 740.0 235.0 L 741.0 236.0 L 792.0 237.0 L 793.0 238.0 L 814.0 239.0 L 836.0 245.0 L 846.0 250.0 L 858.0 263.0 L 861.0 272.0 L 861.0 277.0 L 852.0 278.0 L 837.0 276.0 L 746.0 272.0 L 745.0 271.0 L 667.0 269.0 L 666.0 268.0 L 624.0 268.0 L 623.0 267.0 L 563.0 267.0 L 562.0 268.0 L 495.0 269.0 L 494.0 270.0 L 387.0 274.0 L 386.0 275.0 L 355.0 276.0 L 333.0 278.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'printer-3d': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 621.0 175.0 L 609.0 179.0 L 601.0 185.0 L 503.0 242.0 L 493.0 249.0 L 428.0 286.0 L 292.0 367.0 L 285.0 370.0 L 272.0 383.0 L 268.0 394.0 L 268.0 785.0 L 274.0 801.0 L 288.0 815.0 L 364.0 860.0 L 603.0 1007.0 L 616.0 1013.0 L 633.0 1014.0 L 647.0 1009.0 L 967.0 814.0 L 974.0 808.0 L 979.0 801.0 L 985.0 786.0 L 985.0 393.0 L 983.0 386.0 L 978.0 377.0 L 973.0 372.0 L 765.0 251.0 L 661.0 189.0 L 654.0 186.0 L 644.0 179.0 L 632.0 175.0 Z M 955.0 420.0 L 956.0 421.0 L 956.0 780.0 L 954.0 786.0 L 948.0 791.0 L 690.0 947.0 L 654.0 970.0 L 642.0 976.0 L 641.0 975.0 L 641.0 610.0 L 952.0 420.0 Z M 625.0 205.0 L 628.0 205.0 L 655.0 220.0 L 752.0 278.0 L 759.0 281.0 L 764.0 285.0 L 943.0 389.0 L 942.0 392.0 L 668.0 558.0 L 642.0 575.0 L 627.0 583.0 L 625.0 583.0 L 312.0 392.0 L 312.0 390.0 L 315.0 387.0 L 447.0 311.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'modular': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 487.0 918.0 L 487.0 923.0 L 508.0 970.0 L 514.0 975.0 L 521.0 975.0 L 528.0 968.0 L 528.0 961.0 L 523.0 950.0 L 524.0 946.0 L 561.0 957.0 L 589.0 962.0 L 608.0 964.0 L 660.0 963.0 L 694.0 957.0 L 730.0 946.0 L 763.0 931.0 L 767.0 925.0 L 766.0 916.0 L 761.0 911.0 L 755.0 910.0 L 722.0 925.0 L 697.0 933.0 L 668.0 939.0 L 652.0 941.0 L 636.0 941.0 L 635.0 942.0 L 605.0 941.0 L 588.0 939.0 L 555.0 932.0 L 534.0 925.0 L 533.0 922.0 L 535.0 920.0 L 548.0 916.0 L 553.0 910.0 L 553.0 903.0 L 551.0 899.0 L 544.0 895.0 L 495.0 910.0 L 491.0 912.0 Z M 623.0 230.0 L 608.0 234.0 L 584.0 248.0 L 558.0 261.0 L 549.0 267.0 L 516.0 284.0 L 504.0 295.0 L 500.0 303.0 L 498.0 312.0 L 498.0 426.0 L 502.0 440.0 L 506.0 446.0 L 515.0 454.0 L 610.0 505.0 L 617.0 507.0 L 630.0 508.0 L 646.0 504.0 L 740.0 453.0 L 749.0 444.0 L 753.0 436.0 L 755.0 428.0 L 755.0 311.0 L 753.0 302.0 L 750.0 296.0 L 739.0 285.0 L 643.0 233.0 L 637.0 231.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'document': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 328.0 180.0 L 315.0 190.0 L 306.0 199.0 L 288.0 224.0 L 278.0 249.0 L 274.0 273.0 L 274.0 939.0 L 277.0 960.0 L 282.0 976.0 L 295.0 1000.0 L 301.0 1008.0 L 317.0 1024.0 L 332.0 1035.0 L 350.0 1044.0 L 365.0 1049.0 L 386.0 1052.0 L 867.0 1052.0 L 891.0 1048.0 L 907.0 1042.0 L 924.0 1033.0 L 936.0 1024.0 L 951.0 1009.0 L 964.0 990.0 L 974.0 966.0 L 977.0 954.0 L 979.0 937.0 L 979.0 437.0 L 977.0 422.0 L 973.0 409.0 L 962.0 389.0 L 755.0 182.0 L 741.0 172.0 L 723.0 164.0 L 702.0 160.0 L 387.0 160.0 L 371.0 162.0 L 354.0 167.0 Z M 359.0 230.0 L 372.0 223.0 L 387.0 219.0 L 695.0 219.0 L 701.0 222.0 L 705.0 226.0 L 709.0 237.0 L 708.0 241.0 L 708.0 330.0 L 709.0 331.0 L 708.0 341.0 L 709.0 370.0 L 708.0 372.0 L 709.0 382.0 L 712.0 393.0 L 717.0 403.0 L 729.0 416.0 L 742.0 424.0 L 759.0 428.0 L 900.0 428.0 L 910.0 432.0 L 916.0 438.0 L 920.0 447.0 L 920.0 937.0 L 916.0 954.0 L 910.0 966.0 L 892.0 984.0 L 880.0 990.0 L 862.0 994.0 L 390.0 994.0 L 379.0 992.0 L 364.0 986.0 L 358.0 982.0 L 345.0 969.0 L 336.0 952.0 L 333.0 938.0 L 333.0 274.0 L 339.0 253.0 L 346.0 242.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'guidance': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 235.0 535.0 L 237.0 548.0 L 243.0 558.0 L 348.0 662.0 L 355.0 665.0 L 369.0 666.0 L 379.0 661.0 L 384.0 656.0 L 388.0 648.0 L 388.0 634.0 L 383.0 624.0 L 325.0 566.0 L 326.0 563.0 L 429.0 563.0 L 454.0 568.0 L 471.0 574.0 L 487.0 582.0 L 501.0 591.0 L 517.0 604.0 L 535.0 623.0 L 555.0 652.0 L 573.0 687.0 L 583.0 711.0 L 596.0 755.0 L 601.0 787.0 L 601.0 982.0 L 605.0 990.0 L 612.0 997.0 L 621.0 1001.0 L 632.0 1001.0 L 640.0 998.0 L 649.0 990.0 L 653.0 981.0 L 653.0 785.0 L 660.0 743.0 L 668.0 716.0 L 680.0 686.0 L 700.0 648.0 L 722.0 618.0 L 739.0 601.0 L 761.0 585.0 L 780.0 575.0 L 803.0 567.0 L 825.0 563.0 L 928.0 563.0 L 929.0 566.0 L 872.0 623.0 L 866.0 635.0 L 866.0 647.0 L 871.0 657.0 L 882.0 665.0 L 896.0 666.0 L 907.0 661.0 L 1009.0 560.0 L 1014.0 553.0 L 1018.0 544.0 L 1018.0 530.0 L 1012.0 518.0 L 909.0 414.0 L 896.0 407.0 L 884.0 407.0 L 878.0 409.0 L 869.0 416.0 L 864.0 426.0 L 864.0 438.0 L 868.0 448.0 L 929.0 508.0 L 928.0 511.0 L 819.0 511.0 L 803.0 513.0 L 775.0 520.0 L 751.0 530.0 L 736.0 538.0 L 718.0 550.0 L 700.0 565.0 L 672.0 596.0 L 652.0 627.0 L 638.0 656.0 L 629.0 683.0 L 627.0 686.0 L 625.0 686.0 L 610.0 646.0 L 598.0 622.0 L 582.0 597.0 L 567.0 579.0 L 551.0 563.0 L 538.0 552.0 L 519.0 539.0 L 489.0 524.0 L 472.0 518.0 L 451.0 513.0 L 435.0 511.0 L 327.0 511.0 L 326.0 508.0 L 385.0 449.0 L 390.0 439.0 L 389.0 423.0 L 385.0 416.0 L 374.0 408.0 L 359.0 407.0 L 348.0 412.0 L 241.0 519.0 L 238.0 524.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'disposable': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 743.0 631.0 L 732.0 631.0 L 726.0 634.0 L 721.0 641.0 L 719.0 651.0 L 715.0 716.0 L 710.0 764.0 L 705.0 845.0 L 704.0 846.0 L 704.0 858.0 L 700.0 898.0 L 702.0 909.0 L 706.0 914.0 L 713.0 918.0 L 726.0 917.0 L 733.0 911.0 L 736.0 904.0 L 742.0 813.0 L 747.0 761.0 L 747.0 747.0 L 748.0 746.0 L 754.0 660.0 L 755.0 659.0 L 755.0 643.0 L 751.0 636.0 Z M 621.0 631.0 L 611.0 639.0 L 609.0 646.0 L 609.0 904.0 L 612.0 911.0 L 619.0 917.0 L 632.0 918.0 L 636.0 916.0 L 642.0 910.0 L 644.0 906.0 L 644.0 644.0 L 642.0 639.0 L 636.0 633.0 L 632.0 631.0 Z M 510.0 631.0 L 506.0 633.0 L 500.0 639.0 L 498.0 643.0 L 498.0 659.0 L 503.0 708.0 L 507.0 773.0 L 509.0 785.0 L 509.0 799.0 L 510.0 800.0 L 517.0 903.0 L 520.0 911.0 L 527.0 917.0 L 540.0 918.0 L 549.0 912.0 L 553.0 903.0 L 553.0 898.0 L 552.0 897.0 L 546.0 802.0 L 541.0 750.0 L 541.0 737.0 L 536.0 687.0 L 536.0 674.0 L 534.0 661.0 L 534.0 647.0 L 531.0 639.0 L 527.0 634.0 L 521.0 631.0 Z M 374.0 491.0 L 368.0 501.0 L 370.0 523.0 L 382.0 595.0 L 382.0 602.0 L 385.0 615.0 L 400.0 722.0 L 407.0 761.0 L 410.0 788.0 L 413.0 801.0 L 436.0 961.0 L 439.0 971.0 L 447.0 984.0 L 460.0 995.0 L 471.0 1000.0 L 480.0 1002.0 L 773.0 1002.0 L 787.0 998.0 L 800.0 990.0 L 811.0 977.0 L 817.0 962.0 L 837.0 821.0 L 846.0 768.0 L 846.0 761.0 L 852.0 728.0 L 852.0 721.0 L 864.0 648.0 L 877.0 555.0 L 880.0 542.0 L 880.0 535.0 L 883.0 522.0 L 883.0 515.0 L 885.0 507.0 L 883.0 496.0 L 874.0 488.0 L 862.0 487.0 L 856.0 490.0 L 852.0 494.0 L 849.0 500.0 L 828.0 647.0 L 818.0 707.0 L 817.0 721.0 L 798.0 841.0 L 798.0 848.0 L 787.0 913.0 L 783.0 948.0 L 780.0 959.0 L 775.0 964.0 L 768.0 967.0 L 485.0 967.0 L 479.0 965.0 L 472.0 958.0 L 460.0 873.0 L 457.0 861.0 L 455.0 840.0 L 453.0 834.0 L 445.0 773.0 L 439.0 741.0 L 439.0 734.0 L 431.0 687.0 L 431.0 680.0 L 414.0 573.0 L 413.0 560.0 L 410.0 547.0 L 404.0 500.0 L 398.0 491.0 L 390.0 487.0 L 382.0 487.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'scraper': {\n      viewBox: '0 0 1254 1254',\n      kind: 'filled',\n      body: '\u003cpath d=\"M 580.0 91.0 L 556.0 105.0 L 531.0 130.0 L 523.0 142.0 L 515.0 158.0 L 510.0 173.0 L 507.0 189.0 L 507.0 200.0 L 506.0 201.0 L 507.0 222.0 L 512.0 261.0 L 512.0 272.0 L 519.0 332.0 L 522.0 375.0 L 525.0 395.0 L 530.0 459.0 L 541.0 566.0 L 541.0 591.0 L 540.0 592.0 L 539.0 612.0 L 530.0 647.0 L 522.0 664.0 L 516.0 673.0 L 503.0 687.0 L 495.0 693.0 L 456.0 709.0 L 425.0 725.0 L 391.0 747.0 L 361.0 770.0 L 314.0 815.0 L 280.0 857.0 L 258.0 891.0 L 240.0 926.0 L 222.0 974.0 L 216.0 998.0 L 210.0 1034.0 L 209.0 1090.0 L 212.0 1094.0 L 216.0 1096.0 L 1036.0 1096.0 L 1042.0 1091.0 L 1043.0 1088.0 L 1043.0 1057.0 L 1042.0 1056.0 L 1042.0 1041.0 L 1040.0 1023.0 L 1032.0 985.0 L 1024.0 959.0 L 1011.0 927.0 L 992.0 890.0 L 977.0 866.0 L 958.0 840.0 L 936.0 814.0 L 903.0 781.0 L 873.0 756.0 L 840.0 733.0 L 823.0 723.0 L 795.0 709.0 L 767.0 699.0 L 752.0 690.0 L 738.0 676.0 L 733.0 669.0 L 724.0 652.0 L 718.0 635.0 L 712.0 602.0 L 711.0 571.0 L 722.0 463.0 L 723.0 441.0 L 725.0 431.0 L 725.0 421.0 L 730.0 382.0 L 730.0 371.0 L 732.0 361.0 L 741.0 263.0 L 747.0 214.0 L 746.0 186.0 L 743.0 171.0 L 738.0 157.0 L 728.0 138.0 L 714.0 120.0 L 693.0 102.0 L 673.0 91.0 L 659.0 86.0 L 638.0 82.0 L 607.0 83.0 Z\" fill=\"currentColor\" fill-rule=\"evenodd\"\/\u003e'\n    },\n    'resin-filtering': {\n      viewBox: '0 0 24 24',\n      kind: 'line',\n      body: '\u003cpath d=\"M4 5h16l-6 7v5l-4 2v-7Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/\u003e'\n    }\n  };\n  var icon = registry[iconName];\n  if (!icon) return '';\n  var svgClass = 'octo-icon-svg ' + (icon.kind === 'filled' ? 'octo-icon-svg--filled' : 'octo-icon-svg--line');\n  return '\u003csvg class=\"' + svgClass + '\" viewBox=\"' + icon.viewBox + '\" aria-hidden=\"true\" focusable=\"false\"\u003e' + icon.body + '\u003c\/svg\u003e';\n}\n\nfunction octoHydrateIcons(root) {\n  if (!root) return;\n  Array.prototype.forEach.call(root.querySelectorAll('[data-octo-icon]'), function(slot) {\n    if (slot.dataset.octoHydrated === 'true') return;\n    slot.innerHTML = octoRenderIcon(slot.getAttribute('data-octo-icon'));\n    slot.dataset.octoHydrated = 'true';\n  });\n\n  Array.prototype.forEach.call(root.querySelectorAll('li[data-octo-compare-icon]'), function(item) {\n    if (item.querySelector('.opl-compare-list__icon')) return;\n    var iconWrap = document.createElement('span');\n    iconWrap.className = 'opl-compare-list__icon';\n    iconWrap.setAttribute('aria-hidden', 'true');\n    var slot = document.createElement('span');\n    slot.className = 'octo-icon-slot';\n    slot.innerHTML = octoRenderIcon(item.getAttribute('data-octo-compare-icon'));\n    iconWrap.appendChild(slot);\n    item.insertBefore(iconWrap, item.firstChild);\n  });\n}\n\n(function() {\n  var SONIC_VARIANT = 44449203355741;\n  var M4U_VARIANT = 44449203322973;\n  var GALLERY_AUTOPLAY_DELAY = 3000;\n  var currentVariant = M4U_VARIANT;\n  var pendingSonicAdd = false;\n\n  var galleryMain = document.getElementById('opl-gallery-main-img');\n  var galleryCanvas = document.querySelector('.opl-gallery__main-canvas');\n  var galleryThumbs = Array.prototype.slice.call(document.querySelectorAll('.opl-gallery__thumb'));\n  var galleryTrack = document.querySelector('.opl-gallery__thumbs');\n  var galleryCounter = document.getElementById('opl-gallery-counter');\n  var viewerPrev = document.querySelector('.opl-gallery__viewer-nav--prev');\n  var viewerNext = document.querySelector('.opl-gallery__viewer-nav--next');\n  var thumbPrev = document.querySelector('.opl-gallery__thumb-nav--prev');\n  var thumbNext = document.querySelector('.opl-gallery__thumb-nav--next');\n  var galleryDots = document.getElementById('opl-gallery-dots');\n  var galleryProgress = document.getElementById('opl-gallery-progress');\n  var galleryToggle = document.getElementById('opl-gallery-toggle');\n  var stickyBar = document.getElementById('opl-sticky-bar');\n  var stickyPrinter = document.getElementById('opl-sticky-bar-printer');\n  var productCard = document.querySelector('.opl-product');\n  var variantCards = Array.prototype.slice.call(document.querySelectorAll('.opl-info__variant'));\n  var inlinePops = Array.prototype.slice.call(document.querySelectorAll('.opl-inline-pop'));\n  var proofCards = Array.prototype.slice.call(document.querySelectorAll('[data-opl-proof-card]'));\n  var rowAccordions = Array.prototype.slice.call(document.querySelectorAll('[data-opl-row-accordion]'));\n  var faqItems = Array.prototype.slice.call(document.querySelectorAll('[data-opl-faq]'));\n  var compareTabs = Array.prototype.slice.call(document.querySelectorAll('[data-opl-compare-tab]'));\n  var comparePanels = Array.prototype.slice.call(document.querySelectorAll('[data-opl-compare-panel]'));\n  var mobileBuyToggle = document.getElementById('opl-mobile-buy-toggle');\n  var mobilePurchase = document.getElementById('opl-mobile-purchase');\n  var ratingStars = document.querySelector('.opl-info__stars');\n  var galleryItems = galleryThumbs.map(function(item) {\n    return {\n      src: item.getAttribute('data-img') || '',\n      alt: item.getAttribute('data-alt') || item.getAttribute('aria-label') || ''\n    };\n  });\n  if (ratingStars) {\n    ratingStars.textContent = '★★★★★';\n  }\n  var currentGalleryIndex = Math.max(0, galleryThumbs.findIndex(function(item) {\n    return item.classList.contains('opl-gallery__thumb--active');\n  }));\n  var touchStartX = 0;\n  var galleryAutoplayTimeout = null;\n  var galleryProgressFrame = null;\n  var galleryCycleStartedAt = 0;\n  var galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n  var galleryManuallyPaused = window.matchMedia \u0026\u0026 window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  function isMobileHeroLayout() {\n    return window.matchMedia('(max-width: 767px)').matches;\n  }\n\n  function setExpandableState(item, config, expanded, forceDesktopOpen) {\n    if (!item) return;\n    var button = item.querySelector(config.buttonSelector);\n    var body = item.querySelector(config.bodySelector);\n    var icon = config.iconSelector ? item.querySelector(config.iconSelector) : null;\n    if (!button || !body) return;\n\n    if (forceDesktopOpen) {\n      item.classList.add('is-expanded');\n      button.setAttribute('aria-expanded', 'true');\n      button.tabIndex = -1;\n      body.style.maxHeight = 'none';\n      body.style.opacity = '1';\n      body.setAttribute('aria-hidden', 'false');\n      if ('inert' in body) body.inert = false;\n      if (icon \u0026\u0026 config.desktopIcon !== undefined) icon.textContent = config.desktopIcon;\n      return;\n    }\n\n    item.classList.toggle('is-expanded', expanded);\n    button.setAttribute('aria-expanded', expanded ? 'true' : 'false');\n    button.tabIndex = 0;\n    body.setAttribute('aria-hidden', expanded ? 'false' : 'true');\n    if ('inert' in body) body.inert = !expanded;\n    if (icon) icon.textContent = expanded ? config.expandedIcon : config.collapsedIcon;\n\n    if (expanded) {\n      body.style.maxHeight = body.scrollHeight + 'px';\n      body.style.opacity = '1';\n    } else {\n      body.style.maxHeight = '0px';\n      body.style.opacity = '0';\n    }\n  }\n\n  function syncProofCards() {\n    proofCards.forEach(function(card, index) {\n      if (!card.dataset.oplMobileState) {\n        card.dataset.oplMobileState = 'false';\n      }\n      setExpandableState(card, {\n        buttonSelector: '.opl-proof-card__button',\n        bodySelector: '.opl-proof-card__body',\n        iconSelector: '.opl-proof-card__toggle',\n        collapsedIcon: '+',\n        expandedIcon: '-',\n        desktopIcon: ''\n      }, card.dataset.oplMobileState === 'true', !isMobileHeroLayout());\n    });\n  }\n\n  function syncRowAccordions() {\n    rowAccordions.forEach(function(item) {\n      if (!item.dataset.oplMobileState) {\n        item.dataset.oplMobileState = 'false';\n      }\n      setExpandableState(item, {\n        buttonSelector: '.opl-row-accordion__button',\n        bodySelector: '.opl-row-accordion__body',\n        iconSelector: null,\n        collapsedIcon: '+',\n        expandedIcon: '-'\n      }, item.dataset.oplMobileState === 'true', !isMobileHeroLayout());\n    });\n  }\n\n  function syncFaqItems() {\n    faqItems.forEach(function(item) {\n      if (!item.dataset.oplState) {\n        item.dataset.oplState = 'false';\n      }\n      setExpandableState(item, {\n        buttonSelector: '.opl-faq-item__button',\n        bodySelector: '.opl-faq-item__body',\n        iconSelector: '.opl-faq-item__toggle',\n        collapsedIcon: '+',\n        expandedIcon: '-'\n      }, item.dataset.oplState === 'true', false);\n    });\n  }\n\n  function setComparePanelState(panelName) {\n    compareTabs.forEach(function(tab) {\n      var isActive = tab.getAttribute('data-opl-compare-tab') === panelName;\n      tab.classList.toggle('is-active', isActive);\n      tab.setAttribute('aria-selected', isActive ? 'true' : 'false');\n      tab.tabIndex = isActive ? 0 : -1;\n    });\n\n    comparePanels.forEach(function(panel) {\n      var isActive = panel.getAttribute('data-opl-compare-panel') === panelName;\n      panel.classList.toggle('is-active', isActive);\n      panel.hidden = !isActive;\n    });\n  }\n\n  function setMobilePurchaseState(expanded) {\n    if (!mobileBuyToggle || !mobilePurchase) return;\n\n    if (!isMobileHeroLayout()) {\n      mobileBuyToggle.setAttribute('aria-expanded', 'true');\n      mobileBuyToggle.textContent = 'Choose Printer \u0026 Pre-Order';\n      mobilePurchase.classList.add('is-expanded');\n      mobilePurchase.style.maxHeight = 'none';\n      mobilePurchase.style.opacity = '1';\n      mobilePurchase.setAttribute('aria-hidden', 'false');\n      if ('inert' in mobilePurchase) mobilePurchase.inert = false;\n      return;\n    }\n\n    mobileBuyToggle.setAttribute('aria-expanded', expanded ? 'true' : 'false');\n    mobileBuyToggle.textContent = expanded ? 'Hide Buying Options' : 'Choose Printer \u0026 Pre-Order';\n    mobilePurchase.classList.toggle('is-expanded', expanded);\n    mobilePurchase.style.maxHeight = expanded ? mobilePurchase.scrollHeight + 'px' : '0px';\n    mobilePurchase.style.opacity = expanded ? '1' : '0';\n    mobilePurchase.setAttribute('aria-hidden', expanded ? 'false' : 'true');\n    if ('inert' in mobilePurchase) mobilePurchase.inert = !expanded;\n    mobilePurchase.dataset.oplMobileState = expanded ? 'true' : 'false';\n  }\n\n  function syncMobilePurchase() {\n    if (!mobilePurchase) return;\n    if (!mobilePurchase.dataset.oplMobileState) {\n      mobilePurchase.dataset.oplMobileState = 'false';\n    }\n    setMobilePurchaseState(mobilePurchase.dataset.oplMobileState === 'true');\n  }\n\n  function getVariantName(variantLabel) {\n    var nameNode = variantLabel ? variantLabel.querySelector('.opl-info__variant-name') : null;\n    if (!nameNode) return '';\n    return nameNode.childNodes[0] ? nameNode.childNodes[0].textContent.trim() : nameNode.textContent.trim();\n  }\n\n  function syncVariantState(variantId) {\n    variantCards.forEach(function(variantLabel) {\n      var isSelected = variantLabel.getAttribute('data-variant') === String(variantId);\n      variantLabel.classList.toggle('opl-info__variant--selected', isSelected);\n      variantLabel.setAttribute('aria-checked', isSelected ? 'true' : 'false');\n      variantLabel.setAttribute('tabindex', isSelected ? '0' : '-1');\n      var radio = variantLabel.querySelector('input[type=\"radio\"]');\n      if (radio) radio.checked = isSelected;\n      if (isSelected \u0026\u0026 stickyPrinter) {\n        stickyPrinter.textContent = getVariantName(variantLabel);\n      }\n    });\n  }\n\n  window.opdSelectVariant = function(label, variantId) {\n    currentVariant = variantId;\n    syncVariantState(variantId);\n  };\n\n  window.opdAddToCart = function() {\n    if (currentVariant === SONIC_VARIANT \u0026\u0026 !pendingSonicAdd) {\n      var confirmDialog = document.getElementById('opl-confirm-dialog');\n      confirmDialog.style.display = 'flex';\n      confirmDialog.setAttribute('aria-hidden', 'false');\n      return;\n    }\n\n    var btn = document.getElementById('opl-add-to-cart');\n    var originalText = btn ? btn.textContent : '';\n    if (btn) {\n      btn.classList.add('adding');\n      btn.textContent = 'Adding...';\n    }\n\n    fetch('\/cart\/add.js', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\n      body: JSON.stringify({ items: [{ id: currentVariant, quantity: 1 }] })\n    })\n      .then(function(response) {\n        if (!response.ok) throw new Error('add failed');\n        return response.json();\n      })\n      .then(function() {\n        window.location.href = '\/cart';\n      })\n      .catch(function(error) {\n        console.error('opdAddToCart failed:', error);\n        if (btn) {\n          btn.classList.remove('adding');\n          btn.textContent = originalText;\n        }\n        alert('Sorry - could not add to cart. Please try again or refresh the page.');\n        pendingSonicAdd = false;\n      });\n  };\n\n  window.opdSwitchToM4U = function() {\n    var confirmDialog = document.getElementById('opl-confirm-dialog');\n    confirmDialog.style.display = 'none';\n    confirmDialog.setAttribute('aria-hidden', 'true');\n    var m4uLabel = document.querySelector('.opl-info__variant[data-variant=\"' + M4U_VARIANT + '\"]');\n    if (m4uLabel) opdSelectVariant(m4uLabel, M4U_VARIANT);\n    pendingSonicAdd = false;\n    opdAddToCart();\n  };\n\n  window.opdContinueWithSonic = function() {\n    var confirmDialog = document.getElementById('opl-confirm-dialog');\n    confirmDialog.style.display = 'none';\n    confirmDialog.setAttribute('aria-hidden', 'true');\n    pendingSonicAdd = true;\n    opdAddToCart();\n  };\n\n  function getVisibleThumbCount() {\n    return window.matchMedia('(max-width: 540px)').matches ? 2 : 3;\n  }\n\n  function preloadGalleryImages() {\n    galleryItems.forEach(function(item) {\n      if (!item || !item.src) return;\n      var img = new Image();\n      img.src = item.src;\n    });\n  }\n\n  function getDotPageCount() {\n    return Math.max(1, Math.ceil(galleryItems.length \/ getVisibleThumbCount()));\n  }\n\n  function positionInlinePop(pop) {\n    if (!pop) return;\n    var trigger = pop.querySelector('.opl-inline-pop__trigger');\n    var bubble = pop.querySelector('.opl-inline-pop__bubble');\n    if (!trigger || !bubble) return;\n\n    var viewportPadding = 16;\n    var triggerRect = trigger.getBoundingClientRect();\n\n    bubble.style.left = '0px';\n    bubble.style.top = '0px';\n\n    var bubbleRect = bubble.getBoundingClientRect();\n    var bubbleWidth = bubbleRect.width;\n    var bubbleHeight = bubbleRect.height;\n\n    var left = triggerRect.right - bubbleWidth + 10;\n    left = Math.max(viewportPadding, Math.min(left, window.innerWidth - viewportPadding - bubbleWidth));\n\n    var top = triggerRect.bottom + 12;\n    if (top + bubbleHeight \u003e window.innerHeight - viewportPadding) {\n      top = Math.max(viewportPadding, triggerRect.top - bubbleHeight - 12);\n    }\n\n    var arrowLeft = triggerRect.left + (triggerRect.width \/ 2) - left - 7;\n    arrowLeft = Math.max(18, Math.min(arrowLeft, bubbleWidth - 24));\n\n    bubble.style.left = left + 'px';\n    bubble.style.top = top + 'px';\n    bubble.style.setProperty('--opl-pop-arrow-left', arrowLeft + 'px');\n  }\n\n  function setGalleryProgress(value) {\n    if (!galleryProgress) return;\n    var bounded = Math.max(0, Math.min(1, value));\n    galleryProgress.style.transform = 'scaleX(' + bounded + ')';\n  }\n\n  function stopGalleryAutoplay() {\n    if (galleryAutoplayTimeout) {\n      window.clearTimeout(galleryAutoplayTimeout);\n      galleryAutoplayTimeout = null;\n    }\n    if (galleryProgressFrame) {\n      window.cancelAnimationFrame(galleryProgressFrame);\n      galleryProgressFrame = null;\n    }\n  }\n\n  function pauseGalleryProgress() {\n    if (!galleryCycleStartedAt) return;\n    galleryRemainingTime = Math.max(0, galleryRemainingTime - (Date.now() - galleryCycleStartedAt));\n    galleryCycleStartedAt = 0;\n  }\n\n  function startGalleryProgress() {\n    if (!galleryProgress) return;\n    galleryCycleStartedAt = Date.now();\n\n    function tick() {\n      if (!galleryCycleStartedAt) return;\n      var elapsed = Date.now() - galleryCycleStartedAt;\n      var value = 1 - (galleryRemainingTime - elapsed) \/ GALLERY_AUTOPLAY_DELAY;\n      setGalleryProgress(value);\n\n      if (elapsed \u003e= galleryRemainingTime) {\n        setGalleryProgress(1);\n        return;\n      }\n\n      galleryProgressFrame = window.requestAnimationFrame(tick);\n    }\n\n    setGalleryProgress(1 - galleryRemainingTime \/ GALLERY_AUTOPLAY_DELAY);\n    galleryProgressFrame = window.requestAnimationFrame(tick);\n  }\n\n  function updateGalleryToggle() {\n    if (!galleryToggle) return;\n    galleryToggle.classList.toggle('is-paused', galleryManuallyPaused);\n    galleryToggle.setAttribute('aria-label', galleryManuallyPaused ? 'Play hero carousel' : 'Pause hero carousel');\n    galleryToggle.setAttribute('aria-pressed', galleryManuallyPaused ? 'true' : 'false');\n  }\n\n  function renderGalleryDots() {\n    if (!galleryDots) return;\n    var pageCount = getDotPageCount();\n    var activePage = Math.floor(currentGalleryIndex \/ getVisibleThumbCount());\n    var markup = '';\n\n    for (var i = 0; i \u003c pageCount; i += 1) {\n      markup += '\u003cbutton class=\"opl-gallery__dot' + (i === activePage ? ' opl-gallery__dot--active' : '') + '\" type=\"button\" data-gallery-page=\"' + i + '\" aria-label=\"Show image group ' + (i + 1) + '\" aria-pressed=\"' + (i === activePage ? 'true' : 'false') + '\"\u003e\u003c\/button\u003e';\n    }\n\n    galleryDots.innerHTML = markup;\n  }\n\n  function scheduleGalleryAutoplay() {\n    stopGalleryAutoplay();\n    if (galleryManuallyPaused || galleryItems.length \u003c= 1) {\n      setGalleryProgress(galleryManuallyPaused ? 0 : 1);\n      galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n      galleryCycleStartedAt = 0;\n      updateGalleryToggle();\n      return;\n    }\n\n    updateGalleryToggle();\n    startGalleryProgress();\n    galleryAutoplayTimeout = window.setTimeout(function() {\n      galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n      setGalleryIndex(currentGalleryIndex + 1);\n    }, galleryRemainingTime);\n  }\n\n  function restartGalleryAutoplay() {\n    galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n    scheduleGalleryAutoplay();\n  }\n\n  function pauseGalleryAutoplay() {\n    pauseGalleryProgress();\n    stopGalleryAutoplay();\n    updateGalleryToggle();\n  }\n\n  function resumeGalleryAutoplay() {\n    if (galleryItems.length \u003c= 1) return;\n    if (galleryRemainingTime \u003c= 0 || galleryRemainingTime \u003e GALLERY_AUTOPLAY_DELAY) {\n      galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n    }\n    scheduleGalleryAutoplay();\n  }\n\n  function updateThumbWindow() {\n    if (!galleryTrack || !galleryThumbs.length) return;\n    var visibleThumbCount = getVisibleThumbCount();\n    var windowStart = Math.floor(currentGalleryIndex \/ visibleThumbCount) * visibleThumbCount;\n    var firstThumb = galleryThumbs[0];\n    if (!firstThumb) return;\n    var thumbStyles = window.getComputedStyle(galleryTrack);\n    var gap = parseFloat(thumbStyles.columnGap || thumbStyles.gap || '12') || 12;\n    var thumbWidth = firstThumb.getBoundingClientRect().width;\n    galleryTrack.style.transform = 'translateX(-' + (windowStart * (thumbWidth + gap)) + 'px)';\n  }\n\n  function setGalleryIndex(nextIndex) {\n    if (!galleryItems.length || !galleryMain) return;\n    currentGalleryIndex = (nextIndex + galleryItems.length) % galleryItems.length;\n    galleryMain.src = galleryItems[currentGalleryIndex].src;\n    galleryMain.alt = galleryItems[currentGalleryIndex].alt;\n    if (galleryCounter) {\n      var counterText = (currentGalleryIndex + 1) + ' \/ ' + galleryItems.length;\n      galleryCounter.textContent = counterText;\n      galleryCounter.setAttribute('aria-label', 'Image ' + (currentGalleryIndex + 1) + ' of ' + galleryItems.length);\n    }\n    galleryThumbs.forEach(function(item, index) {\n      var isActive = index === currentGalleryIndex;\n      item.classList.toggle('opl-gallery__thumb--active', isActive);\n      item.setAttribute('aria-current', isActive ? 'true' : 'false');\n    });\n    updateThumbWindow();\n    renderGalleryDots();\n    restartGalleryAutoplay();\n  }\n\n  galleryThumbs.forEach(function(item, index) {\n    item.addEventListener('click', function() {\n      setGalleryIndex(index);\n    });\n  });\n\n  variantCards.forEach(function(variantLabel, index) {\n    variantLabel.addEventListener('keydown', function(event) {\n      var key = event.key;\n      if (key === ' ' || key === 'Enter') {\n        event.preventDefault();\n        opdSelectVariant(variantLabel, Number(variantLabel.getAttribute('data-variant')));\n        return;\n      }\n\n      if (key !== 'ArrowRight' \u0026\u0026 key !== 'ArrowDown' \u0026\u0026 key !== 'ArrowLeft' \u0026\u0026 key !== 'ArrowUp') return;\n      event.preventDefault();\n\n      var direction = (key === 'ArrowRight' || key === 'ArrowDown') ? 1 : -1;\n      var nextIndex = (index + direction + variantCards.length) % variantCards.length;\n      var nextCard = variantCards[nextIndex];\n      if (!nextCard) return;\n      opdSelectVariant(nextCard, Number(nextCard.getAttribute('data-variant')));\n      nextCard.focus();\n    });\n  });\n\n  proofCards.forEach(function(card, index) {\n    var button = card.querySelector('.opl-proof-card__button');\n    if (!button) return;\n\n    button.addEventListener('click', function() {\n      if (!isMobileHeroLayout()) return;\n      var nextExpanded = !(card.dataset.oplMobileState === 'true');\n      card.dataset.oplMobileState = nextExpanded ? 'true' : 'false';\n      setExpandableState(card, {\n        buttonSelector: '.opl-proof-card__button',\n        bodySelector: '.opl-proof-card__body',\n        iconSelector: '.opl-proof-card__toggle',\n        collapsedIcon: '+',\n        expandedIcon: '-',\n        desktopIcon: ''\n      }, nextExpanded, false);\n    });\n  });\n\n  rowAccordions.forEach(function(item) {\n    var button = item.querySelector('.opl-row-accordion__button');\n    if (!button) return;\n\n    button.addEventListener('click', function() {\n      if (!isMobileHeroLayout()) return;\n      var nextExpanded = !(item.dataset.oplMobileState === 'true');\n      item.dataset.oplMobileState = nextExpanded ? 'true' : 'false';\n      setExpandableState(item, {\n        buttonSelector: '.opl-row-accordion__button',\n        bodySelector: '.opl-row-accordion__body',\n        iconSelector: null,\n        collapsedIcon: '+',\n        expandedIcon: '-'\n      }, nextExpanded, false);\n    });\n  });\n\n  faqItems.forEach(function(item) {\n    var button = item.querySelector('.opl-faq-item__button');\n    if (!button) return;\n\n    button.addEventListener('click', function() {\n      var nextExpanded = !(item.dataset.oplState === 'true');\n      item.dataset.oplState = nextExpanded ? 'true' : 'false';\n      setExpandableState(item, {\n        buttonSelector: '.opl-faq-item__button',\n        bodySelector: '.opl-faq-item__body',\n        iconSelector: '.opl-faq-item__toggle',\n        collapsedIcon: '+',\n        expandedIcon: '-'\n      }, nextExpanded, false);\n    });\n  });\n\n  compareTabs.forEach(function(tab, index) {\n    tab.addEventListener('click', function() {\n      setComparePanelState(tab.getAttribute('data-opl-compare-tab'));\n    });\n\n    tab.addEventListener('keydown', function(event) {\n      if (event.key !== 'ArrowRight' \u0026\u0026 event.key !== 'ArrowLeft') return;\n      event.preventDefault();\n      var direction = event.key === 'ArrowRight' ? 1 : -1;\n      var nextIndex = (index + direction + compareTabs.length) % compareTabs.length;\n      var nextTab = compareTabs[nextIndex];\n      if (!nextTab) return;\n      setComparePanelState(nextTab.getAttribute('data-opl-compare-tab'));\n      nextTab.focus();\n    });\n  });\n\n  if (mobileBuyToggle) {\n    mobileBuyToggle.addEventListener('click', function() {\n      if (!isMobileHeroLayout()) return;\n      var nextExpanded = mobilePurchase.dataset.oplMobileState !== 'true';\n      setMobilePurchaseState(nextExpanded);\n      if (nextExpanded) {\n        window.setTimeout(function() {\n          mobilePurchase.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n        }, 120);\n      }\n    });\n  }\n\n  if (viewerPrev) {\n    viewerPrev.addEventListener('click', function() {\n      setGalleryIndex(currentGalleryIndex - 1);\n    });\n  }\n  if (viewerNext) {\n    viewerNext.addEventListener('click', function() {\n      setGalleryIndex(currentGalleryIndex + 1);\n    });\n  }\n  if (thumbPrev) {\n    thumbPrev.addEventListener('click', function() {\n      setGalleryIndex(currentGalleryIndex - 1);\n    });\n  }\n  if (thumbNext) {\n    thumbNext.addEventListener('click', function() {\n      setGalleryIndex(currentGalleryIndex + 1);\n    });\n  }\n\n  if (galleryDots) {\n    galleryDots.addEventListener('click', function(event) {\n      var target = event.target;\n      if (!target || !target.hasAttribute('data-gallery-page')) return;\n      var pageIndex = Number(target.getAttribute('data-gallery-page'));\n      if (Number.isNaN(pageIndex)) return;\n      setGalleryIndex(pageIndex * getVisibleThumbCount());\n    });\n  }\n\n  if (galleryToggle) {\n    galleryToggle.addEventListener('click', function() {\n      galleryManuallyPaused = !galleryManuallyPaused;\n      if (galleryManuallyPaused) {\n        pauseGalleryAutoplay();\n        setGalleryProgress(0);\n        galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n      } else {\n        galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n        resumeGalleryAutoplay();\n      }\n    });\n  }\n\n  if (galleryCanvas) {\n    galleryCanvas.addEventListener('touchstart', function(event) {\n      if (!event.touches || !event.touches.length) return;\n      touchStartX = event.touches[0].clientX;\n    }, { passive: true });\n\n    galleryCanvas.addEventListener('touchend', function(event) {\n      if (!event.changedTouches || !event.changedTouches.length) return;\n      var deltaX = event.changedTouches[0].clientX - touchStartX;\n      if (Math.abs(deltaX) \u003c 40) return;\n      setGalleryIndex(currentGalleryIndex + (deltaX \u003c 0 ? 1 : -1));\n    }, { passive: true });\n  }\n\n  document.addEventListener('visibilitychange', function() {\n    if (document.hidden) {\n      pauseGalleryAutoplay();\n      return;\n    }\n    if (!galleryManuallyPaused) {\n      galleryRemainingTime = GALLERY_AUTOPLAY_DELAY;\n      resumeGalleryAutoplay();\n    }\n  });\n\n  inlinePops.forEach(function(pop) {\n    function refreshInlinePop() {\n      positionInlinePop(pop);\n    }\n\n    pop.addEventListener('mouseenter', refreshInlinePop);\n    pop.addEventListener('focusin', refreshInlinePop);\n  });\n\n  if (stickyBar \u0026\u0026 productCard \u0026\u0026 'IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function(entries) {\n      entries.forEach(function(entry) {\n        stickyBar.classList.toggle('opl-sticky-bar--visible', !entry.isIntersecting);\n        stickyBar.setAttribute('aria-hidden', entry.isIntersecting ? 'true' : 'false');\n      });\n    }, { threshold: 0.05 });\n    observer.observe(productCard);\n  }\n\n  function fullBleed() {\n    var root = document.getElementById('opl-page');\n    if (!root) return;\n    root.style.setProperty('margin-left', '0', 'important');\n    root.style.setProperty('margin-right', '0', 'important');\n    root.style.setProperty('width', 'auto', 'important');\n    root.style.setProperty('max-width', 'none', 'important');\n    var rect = root.getBoundingClientRect();\n    var leftOffset = rect.left;\n    var viewportWidth = document.documentElement.clientWidth;\n    root.style.setProperty('position', 'relative', 'important');\n    root.style.setProperty('margin-left', '-' + leftOffset + 'px', 'important');\n    root.style.setProperty('margin-right', '-' + Math.max(0, viewportWidth - rect.right) + 'px', 'important');\n    root.style.setProperty('width', viewportWidth + 'px', 'important');\n    root.style.setProperty('max-width', viewportWidth + 'px', 'important');\n  }\n\n  syncVariantState(currentVariant);\n  syncProofCards();\n  syncRowAccordions();\n  syncFaqItems();\n  setComparePanelState('crown');\n  syncMobilePurchase();\n  octoHydrateIcons(document.getElementById('opl-page'));\n  preloadGalleryImages();\n  renderGalleryDots();\n  updateGalleryToggle();\n  setGalleryIndex(currentGalleryIndex);\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', fullBleed);\n  } else {\n    fullBleed();\n  }\n  window.addEventListener('load', fullBleed);\n  window.addEventListener('resize', function() {\n    fullBleed();\n    updateThumbWindow();\n    renderGalleryDots();\n    syncProofCards();\n    syncRowAccordions();\n    syncFaqItems();\n    syncMobilePurchase();\n    inlinePops.forEach(positionInlinePop);\n  });\n  setTimeout(fullBleed, 250);\n  setTimeout(fullBleed, 1000);\n  setTimeout(updateThumbWindow, 250);\n  setTimeout(updateThumbWindow, 1000);\n})();\n\u003c\/script\u003e\n","brand":"OCTOdent","offers":[{"title":"Elegoo Mars 4 Ultra (Recommended)","offer_id":44478204477533,"sku":"OP008","price":998.0,"currency_code":"USD","in_stock":true},{"title":"Phrozen Sonic Mini 8KS","offer_id":44478204510301,"sku":"OP009","price":998.0,"currency_code":"USD","in_stock":true}],"url":"https:\/\/octodent.com\/products\/octopod-complete-starter-kit","provider":"OCTOdent","version":"1.0","type":"link"}