{"product_id":"viso-red-light-therapy-mask-fda-510k-cleared","title":"Red Light Therapy Face Mask – Lumara VISO","description":"\u003cstyle\u003e\n  .kl-pdp-below,\n  .kl-post-tabs {\n    color: #252321;\n  }\n\n  .kl-main-description {\n    box-sizing: border-box;\n    width: calc(100% - 48px);\n    max-width: 960px;\n    margin: 0 auto;\n    padding: clamp(34px, 4vw, 56px) 0 clamp(58px, 5vw, 72px);\n    text-align: left;\n  }\n\n  .kl-main-description .kl-editorial-eyebrow {\n    margin-bottom: 16px;\n  }\n\n  .kl-main-description h2 {\n    width: 100%;\n    max-width: 960px;\n    margin: 0 0 20px;\n    color: #252321;\n    font-size: clamp(34px, 3.6vw, 54px);\n    line-height: 1.06;\n    letter-spacing: -0.025em;\n    text-align: left;\n  }\n\n  .kl-main-description p:not(.kl-editorial-eyebrow) {\n    width: 100%;\n    max-width: 960px;\n    margin: 0 0 12px;\n    color: #4f4b47;\n    font-size: 18px;\n    line-height: 1.65;\n    text-align: left;\n  }\n\n  .kl-main-description p:last-child {\n    margin-bottom: 0;\n  }\n\n  .kl-editorial {\n    margin: clamp(24px, 3vw, 40px) auto 0;\n  }\n\n  .kl-editorial-row {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n    align-items: stretch;\n    background: #f4f1ed;\n  }\n\n  .kl-editorial-row + .kl-editorial-row {\n    margin-top: 18px;\n  }\n\n  .kl-editorial-copy {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: clamp(42px, 6vw, 92px);\n  }\n\n  .kl-editorial-eyebrow {\n    margin: 0 0 14px;\n    color: #9c431f;\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n  }\n\n  .kl-editorial-copy h3,\n  .kl-faq-heading h2 {\n    margin: 0 0 20px;\n    color: #252321;\n    font-size: clamp(30px, 3vw, 42px);\n    line-height: 1.08;\n  }\n\n  .kl-editorial-copy p {\n    margin: 0 0 16px;\n    font-size: 17px;\n    line-height: 1.65;\n  }\n\n  .kl-editorial-copy p:last-child {\n    margin-bottom: 0;\n  }\n\n  .kl-editorial-media {\n    min-height: 520px;\n    background: #ece8e3;\n  }\n\n  .kl-editorial-media img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    min-height: 520px;\n    object-fit: cover;\n  }\n\n  .kl-editorial-row--portrait {\n    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);\n    min-height: 560px;\n    isolation: isolate;\n  }\n\n  .kl-editorial-media--portrait {\n    min-height: 560px;\n    overflow: hidden;\n    background: #f4f1ed;\n  }\n\n  .kl-editorial-media--portrait img {\n    width: 100%;\n    height: 560px;\n    min-height: 560px;\n    object-fit: contain;\n    object-position: center;\n    mix-blend-mode: multiply;\n    transform: scale(1.06);\n  }\n\n  .kl-faq-section {\n    max-width: 1040px;\n    margin: clamp(72px, 9vw, 128px) auto;\n    padding: 0 24px;\n  }\n\n  .kl-faq-heading {\n    margin-bottom: 42px;\n    text-align: center;\n  }\n\n  .kl-faq-heading p {\n    max-width: 650px;\n    margin: 0 auto;\n    color: #67635f;\n    font-size: 18px;\n    line-height: 1.5;\n  }\n\n  .kl-faq-item {\n    border-top: 1px solid #d8d2cc;\n  }\n\n  .kl-faq-item:last-of-type {\n    border-bottom: 1px solid #d8d2cc;\n  }\n\n  .kl-faq-question {\n    display: flex;\n    width: 100%;\n    align-items: center;\n    justify-content: space-between;\n    gap: 24px;\n    margin: 0;\n    padding: 22px 0;\n    border: 0;\n    border-radius: 0;\n    background: transparent;\n    color: #252321;\n    cursor: pointer;\n    font: inherit;\n    font-size: 18px;\n    font-weight: 700;\n    line-height: 1.35;\n    text-align: left;\n    appearance: none;\n    -webkit-appearance: none;\n  }\n\n  .kl-faq-question::after {\n    display: flex;\n    width: 28px;\n    height: 28px;\n    flex: 0 0 28px;\n    align-items: center;\n    justify-content: center;\n    color: #9c431f;\n    content: \"+\";\n    font-size: 25px;\n    font-weight: 400;\n    line-height: 1;\n  }\n\n  .kl-faq-question[aria-expanded=\"true\"]::after {\n    content: \"−\";\n  }\n\n  .kl-faq-question:focus-visible {\n    outline: 2px solid #9c431f;\n    outline-offset: 4px;\n  }\n\n  .kl-faq-answer {\n    max-width: 850px;\n    padding: 0 40px 24px 0;\n  }\n\n  .kl-faq-answer[hidden] {\n    display: none !important;\n  }\n\n  .kl-faq-answer p {\n    margin: 0;\n    color: #5e5a56;\n    font-size: 16px;\n    line-height: 1.65;\n  }\n\n  .kl-faq-disclaimer {\n    max-width: 850px;\n    margin: 24px 0 0;\n    color: #77716c;\n    font-size: 14px;\n    line-height: 1.6;\n  }\n\n  .kl-tab-lead,\n  .kl-tab-copy,\n  .kl-feature-list,\n  .kl-table-wrap {\n    font-size: 16px;\n    line-height: 1.6;\n  }\n\n  .kl-feature-list {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 12px 34px;\n    margin: 22px 0 0;\n    padding-left: 20px;\n  }\n\n  .kl-table-wrap {\n    width: 100%;\n    overflow-x: auto;\n  }\n\n  .kl-easytabs-bottom-section,\n  .kl-easytabs-top-section {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n    --section-padding-top: 0px;\n    --section-padding-bottom: 0px;\n  }\n\n  .kl-easytabs-bottom-section \u003e :first-child,\n  .kl-easytabs-top-section \u003e :first-child,\n  .kl-easytabs-bottom-section [class*=\"section-spacing\"],\n  .kl-easytabs-top-section [class*=\"section-spacing\"] {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n\n  .kl-easytabs-bottom-section \u003e .pt,\n  .kl-easytabs-top-section \u003e .pt,\n  .kl-easytabs-bottom-section .pt.pb,\n  .kl-easytabs-top-section .pt.pb {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n\n  .kl-post-tabs {\n    width: 100%;\n  }\n\n  .kl-post-tabs-source {\n    display: contents;\n  }\n\n  .kl-post-tabs[hidden] {\n    display: none !important;\n  }\n\n  .kinaura-specs {\n    width: 100%;\n    border-collapse: collapse;\n  }\n\n  .kinaura-specs th,\n  .kinaura-specs td {\n    padding: 13px 14px;\n    border-bottom: 1px solid #ded8d2;\n    text-align: left;\n    vertical-align: top;\n  }\n\n  .kinaura-specs th {\n    width: 36%;\n    color: #4e4a46;\n    font-weight: 700;\n  }\n\n  .kl-tab-link {\n    color: #9c431f;\n    font-weight: 700;\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  @media screen and (max-width: 749px) {\n    .kl-main-description {\n      width: calc(100% - 44px);\n      max-width: none;\n      margin: 0 auto;\n      padding: 34px 0 48px;\n      text-align: left;\n    }\n\n    .kl-main-description h2 {\n      margin: 0 0 18px;\n      font-size: clamp(32px, 10vw, 42px);\n      line-height: 1.08;\n    }\n\n    .kl-main-description p:not(.kl-editorial-eyebrow) {\n      margin-left: 0;\n      margin-right: 0;\n      font-size: 17px;\n      text-align: left;\n    }\n\n    .kl-editorial-row {\n      grid-template-columns: 1fr;\n    }\n\n    .kl-editorial-row--portrait {\n      grid-template-columns: 1fr;\n    }\n\n    .kl-editorial-row--reverse .kl-editorial-media {\n      order: 2;\n    }\n\n    .kl-editorial-copy {\n      padding: 38px 24px;\n    }\n\n    .kl-editorial-media,\n    .kl-editorial-media img {\n      min-height: 340px;\n    }\n\n    .kl-editorial-media--portrait,\n    .kl-editorial-media--portrait img {\n      width: 100%;\n      height: auto;\n      min-height: 0;\n    }\n\n    .kl-editorial-media--portrait {\n      padding: 18px 0;\n    }\n\n    .kl-editorial-media--portrait img {\n      aspect-ratio: 4 \/ 5;\n      object-fit: contain;\n      transform: none;\n    }\n\n    .kl-feature-list {\n      grid-template-columns: 1fr;\n    }\n\n    .kinaura-specs th,\n    .kinaura-specs td {\n      padding: 11px 9px;\n    }\n\n    .kl-faq-question {\n      gap: 16px;\n      padding: 20px 0;\n      font-size: 17px;\n    }\n\n    .kl-faq-answer {\n      padding-right: 12px;\n    }\n  }\n\n  .kl-video-section {\n    margin: clamp(72px, 8vw, 112px) auto 0;\n    padding: clamp(48px, 6vw, 76px) clamp(24px, 5vw, 72px);\n    background: #f4f1ed;\n  }\n\n  .kl-video-heading {\n    max-width: 780px;\n    margin: 0 auto 34px;\n    text-align: center;\n  }\n\n  .kl-video-heading h2 {\n    margin: 0 0 16px;\n    color: #252321;\n    font-size: clamp(30px, 3vw, 42px);\n    line-height: 1.08;\n  }\n\n  .kl-video-heading p {\n    margin: 0;\n    color: #67635f;\n    font-size: 18px;\n    line-height: 1.55;\n  }\n\n  .kl-video-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 24px;\n    max-width: 1180px;\n    margin: 0 auto;\n  }\n\n  .kl-video-card {\n    background: #ffffff;\n  }\n\n  .kl-video-frame {\n    position: relative !important;\n    width: 100% !important;\n    aspect-ratio: 16 \/ 9;\n    overflow: hidden !important;\n    padding: 0 !important;\n    background: #252321;\n  }\n\n  .kl-video-frame img,\n  .kl-video-frame video {\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    object-fit: cover !important;\n  }\n\n  .kl-video-play {\n    display: flex;\n    position: absolute;\n    inset: 0;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .kl-video-play::before {\n    display: flex;\n    width: 66px;\n    height: 66px;\n    align-items: center;\n    justify-content: center;\n    border-radius: 50%;\n    background: rgba(156, 67, 31, 0.94);\n    color: #ffffff;\n    content: \"▶\";\n    font-size: 25px;\n    line-height: 1;\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\n  }\n\n  .kl-video-frame:hover .kl-video-play::before,\n  .kl-video-frame:focus-visible .kl-video-play::before {\n    background: #7f3518;\n  }\n\n  .kl-video-frame--hosted video {\n    cursor: pointer;\n  }\n\n  .kl-video-copy p {\n    margin: -10px 22px 22px;\n    color: #67635f;\n    font-size: 15px;\n    line-height: 1.55;\n  }\n\n  .kl-video-grid--1 {\n    grid-template-columns: minmax(0, 560px);\n    justify-content: center;\n  }\n\n  .kl-video-grid--2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    max-width: 900px;\n  }\n\n  .kl-video-card h3 {\n    margin: 0;\n    padding: 20px 22px 22px;\n    color: #252321;\n    font-size: 20px;\n    line-height: 1.3;\n  }\n\n  @media screen and (max-width: 749px) {\n    .kl-video-section {\n      padding: 42px 20px;\n    }\n\n    .kl-video-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"kl-pdp-below\"\u003e\n  \u003csection class=\"kl-main-description\" aria-labelledby=\"kl-main-description-title\"\u003e\n    \u003cp class=\"kl-editorial-eyebrow\"\u003eDense 660 nm full face coverage\u003c\/p\u003e\n    \u003ch2 id=\"kl-main-description-title\"\u003eBring Clinical Red Light Precision Into a Five Minute Facial Routine\u003c\/h2\u003e\n    \u003cp\u003eVISO delivers precise 660 nm red light through 470 micro LEDs positioned across the forehead, cheeks, nose, chin and jawline.\u003c\/p\u003e\n    \u003cp\u003eThe dense array provides consistent full face coverage across a 10 × 7 inch oval format, reducing the uncovered gaps that can occur with lower density masks.\u003c\/p\u003e\n    \u003cp\u003eOptical peak power of 30 mW\/cm² and a five minute routine combine meaningful technical output with a format that is easier to use consistently at home.\u003c\/p\u003e\n    \u003cp\u003eVISO uses visible red light without adding near infrared wavelengths. The wearable design maintains a consistent position across the face while leaving your hands free.\u003c\/p\u003e\n    \u003cp\u003eFDA 510(k) clearance K250830 covers VISO as a Class II over the counter device for the treatment of full face wrinkles. An adjustable comfort strap, eye inserts, power controller, charging cable and user guide are included.\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003ch5\u003eFeatures\u003c\/h5\u003e\n\u003cp class=\"kl-tab-lead\"\u003ePrecise 660 nm red light, 470 micro LEDs and a wearable full face format create a focused facial routine with verified technical and regulatory specifications.\u003c\/p\u003e\n\u003cul class=\"kl-feature-list\"\u003e\n  \u003cli\u003ePrecise 660 nm visible red light\u003c\/li\u003e\n  \u003cli\u003e470 micro LEDs\u003c\/li\u003e\n  \u003cli\u003e30 mW\/cm² optical peak power\u003c\/li\u003e\n  \u003cli\u003eDense full face coverage\u003c\/li\u003e\n  \u003cli\u003e10\" × 7\" oval mask format\u003c\/li\u003e\n  \u003cli\u003eFive minute routine\u003c\/li\u003e\n  \u003cli\u003e5, 10, 15 and 20 minute timer settings\u003c\/li\u003e\n  \u003cli\u003eWearable hands free design\u003c\/li\u003e\n  \u003cli\u003eAdjustable comfort strap\u003c\/li\u003e\n  \u003cli\u003eEye inserts included\u003c\/li\u003e\n  \u003cli\u003ePower controller included\u003c\/li\u003e\n  \u003cli\u003eCharging cable included\u003c\/li\u003e\n  \u003cli\u003eNo near infrared wavelengths\u003c\/li\u003e\n  \u003cli\u003eFDA 510(k) Cleared under K250830\u003c\/li\u003e\n  \u003cli\u003eClass II over the counter device\u003c\/li\u003e\n  \u003cli\u003eHSA and FSA eligible\u003c\/li\u003e\n  \u003cli\u003e2 year limited warranty\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch5\u003eDimensions \u0026amp; Specs\u003c\/h5\u003e\n\u003cdiv class=\"kl-table-wrap\"\u003e\n  \u003ctable class=\"kinaura-specs\"\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eModel\u003c\/th\u003e\n\u003ctd\u003eVISO\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eEquipment type\u003c\/th\u003e\n\u003ctd\u003eWearable red light therapy face mask\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eWavelength\u003c\/th\u003e\n\u003ctd\u003e660 nm visible red light\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eNear infrared light\u003c\/th\u003e\n\u003ctd\u003eNot included\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eLED quantity\u003c\/th\u003e\n\u003ctd\u003e470 micro LEDs\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eOptical peak power\u003c\/th\u003e\n\u003ctd\u003e30 mW\/cm²\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMask dimensions\u003c\/th\u003e\n\u003ctd\u003e10\" × 7\" oval\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCoverage\u003c\/th\u003e\n\u003ctd\u003eForehead, cheeks, nose, chin and jawline\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRoutine length\u003c\/th\u003e\n\u003ctd\u003e5 minutes\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eTimer settings\u003c\/th\u003e\n\u003ctd\u003e5, 10, 15 and 20 minutes\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRegulatory status\u003c\/th\u003e\n\u003ctd\u003eFDA 510(k) Cleared · K250830 · Class II\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCleared indication\u003c\/th\u003e\n\u003ctd\u003eOver the counter treatment of full face wrinkles\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eHSA and FSA\u003c\/th\u003e\n\u003ctd\u003eEligible\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eIncluded items\u003c\/th\u003e\n\u003ctd\u003eVISO mask, adjustable comfort strap, eye inserts, power controller, charging cable and user guide\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eWarranty\u003c\/th\u003e\n\u003ctd\u003e2 year limited warranty\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n\u003c\/div\u003e\n\n\u003ch5\u003eShipping \u0026amp; Assembly\u003c\/h5\u003e\n\u003cp class=\"kl-tab-copy\"\u003eFree standard shipping is included within the contiguous United States.\u003c\/p\u003e\n\u003cp class=\"kl-tab-copy\"\u003eOrders require approximately 1 to 2 business days to prepare, followed by an estimated delivery window of 3 to 5 days.\u003c\/p\u003e\n\u003cp class=\"kl-tab-copy\"\u003eTracking information is provided after shipment. Inspect the package after delivery, photograph any visible damage and contact us promptly so we can help with the next steps.\u003c\/p\u003e\n\u003cp class=\"kl-tab-copy\"\u003eVISO requires no structural assembly. Charge the controller, attach the comfort strap and eye inserts, connect the mask and follow the supplied instructions before use.\u003c\/p\u003e\n\n\u003ch5\u003eWarranty\u003c\/h5\u003e\n\u003cp class=\"kl-tab-copy\"\u003eThe VISO mask is covered by a 2 year limited warranty.\u003c\/p\u003e\n\u003cp class=\"kl-tab-copy\"\u003eCoverage and exclusions follow the written warranty supplied with the product. Keep your order confirmation as proof of purchase and contact us first if you need warranty support.\u003c\/p\u003e\n\n\u003cdiv class=\"kl-post-tabs-source\"\u003e\n\u003csection class=\"kl-video-section\" aria-labelledby=\"kl-video-title\"\u003e\n    \u003cdiv class=\"kl-video-heading\"\u003e\n      \u003ch2 id=\"kl-video-title\"\u003eSee Lumara VISO in Use\u003c\/h2\u003e\n      \u003cp\u003eOfficial setup, expert perspective and product comparison videos from Lumara\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"kl-video-grid kl-video-grid--3\"\u003e\n      \u003carticle class=\"kl-video-card\"\u003e\n        \u003cdiv class=\"kl-video-frame kl-video-frame--youtube\" data-kl-video-type=\"youtube\" data-kl-video-id=\"n5mQXqvIK0w\" data-kl-video-title=\"Why Most Red Light Masks Don't Work\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"kl-video-copy\"\u003e\n          \u003ch3\u003eWhy Most Red Light Masks Don't Work\u003c\/h3\u003e\n          \u003cp\u003eLumara's founder explains the design choices behind VISO and facial light coverage.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"kl-video-card\"\u003e\n        \u003cdiv class=\"kl-video-frame kl-video-frame--youtube\" data-kl-video-type=\"youtube\" data-kl-video-id=\"UeEwQl794r8\" data-kl-video-title=\"VISO in a Professional Practice\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"kl-video-copy\"\u003e\n          \u003ch3\u003eVISO in a Professional Practice\u003c\/h3\u003e\n          \u003cp\u003eSee how Lumara positions VISO for professional and at-home routines.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n      \u003carticle class=\"kl-video-card\"\u003e\n        \u003cdiv class=\"kl-video-frame kl-video-frame--youtube\" data-kl-video-type=\"youtube\" data-kl-video-id=\"L9xrVAteLzY\" data-kl-video-title=\"VISO Compared With Omnilux\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"kl-video-copy\"\u003e\n          \u003ch3\u003eVISO Compared With Omnilux\u003c\/h3\u003e\n          \u003cp\u003eAn official Lumara comparison focused on coverage, session design and device format.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"kl-editorial\" aria-label=\"Lumara VISO highlights\"\u003e\n    \u003cdiv class=\"kl-editorial-row\"\u003e\n      \u003cdiv class=\"kl-editorial-copy\"\u003e\n        \u003cp class=\"kl-editorial-eyebrow\"\u003eHigh density facial coverage\u003c\/p\u003e\n        \u003ch3\u003e470 Micro LEDs Across the Full Face\u003c\/h3\u003e\n        \u003cp\u003eVISO distributes 660 nm red light across the forehead, cheeks, nose, chin and jawline through a dense 470 micro LED array.\u003c\/p\u003e\n        \u003cp\u003eThe fixed mask geometry keeps the light consistently positioned across a 10 × 7 inch facial area without requiring you to reposition a panel during the session.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kl-editorial-media\"\u003e\n        \u003cimg data-kl-gallery-index=\"0\" alt=\"Lumara VISO red light therapy face mask illuminated with 470 micro LEDs\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"kl-editorial-row kl-editorial-row--reverse kl-editorial-row--portrait\"\u003e\n      \u003cdiv class=\"kl-editorial-media kl-editorial-media--portrait\"\u003e\n        \u003cimg data-kl-gallery-index=\"1\" alt=\"Lumara VISO mask with power controller and product box\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kl-editorial-copy\"\u003e\n        \u003cp class=\"kl-editorial-eyebrow\"\u003eVerified red light precision\u003c\/p\u003e\n        \u003ch3\u003e660 nm Red Light With Clear Output Specifications\u003c\/h3\u003e\n        \u003cp\u003eVISO uses precise 660 nm visible red light at an optical peak power of 30 mW\/cm², giving you the wavelength and output information needed to understand the device.\u003c\/p\u003e\n        \u003cp\u003eIts dedicated red light configuration does not add near infrared wavelengths, while FDA 510(k) clearance K250830 confirms VISO within the cleared Class II device family for over the counter full face wrinkle treatment.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"kl-faq-section\" aria-labelledby=\"kl-faq-title\"\u003e\n    \u003cdiv class=\"kl-faq-heading\"\u003e\n      \u003ch2 id=\"kl-faq-title\"\u003eLumara VISO FAQs\u003c\/h2\u003e\n      \u003cp\u003eClear answers to help you plan your VISO facial routine\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eWhat wavelength does the Lumara VISO use?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eVISO uses precise 660 nm visible red light. It does not include near infrared wavelengths.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eWhat is the benefit of having 470 micro LEDs?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eThe dense array distributes light across the forehead, cheeks, nose, chin and jawline for consistent full face coverage within one session.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eHow long does each VISO session take?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eVISO is built around a five minute routine and provides 5, 10, 15 and 20 minute timer settings. Begin conservatively and follow the supplied instructions for your session length and frequency.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eIs Lumara VISO FDA cleared?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eYes. VISO is expressly included in FDA 510(k) K250830 as a Class II over the counter light therapy mask. The cleared red light indication is treatment of full face wrinkles. FDA clearance is different from FDA approval.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eIs VISO eligible for HSA or FSA funds?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eVISO is HSA and FSA eligible. Eligibility and documentation requirements can vary, so confirm the purchase process with your plan administrator before ordering.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eDoes the mask use near infrared light?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eNo. VISO uses 660 nm visible red light exclusively and does not add near infrared wavelengths.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eAre eye inserts included?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eYes. Eye inserts are included. Fit them correctly, keep your eyes closed and follow the supplied safety instructions during every session.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eCan I use VISO if I am prone to melasma or pigmentation changes?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eVISO does not use near infrared light, but individual responses to visible light can vary. Speak with your dermatologist before use if you have melasma or a history of light triggered pigmentation, and stop use if you notice irritation or pigmentation changes.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eWhat comes with the VISO mask?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eThe package includes the VISO mask, adjustable comfort strap, eye inserts, power controller, charging cable and user guide.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eHow should I clean and store the mask?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eDisconnect the mask before cleaning. Wipe it gently with a soft cloth according to the supplied care instructions and do not submerge the mask or controller. Store every component in a clean, dry indoor location.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eWhat warranty is included?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eVISO includes a 2 year limited warranty, subject to the written warranty terms supplied with the product.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"kl-faq-item\"\u003e\n\u003cbutton class=\"kl-faq-question\" type=\"button\" aria-expanded=\"false\"\u003eCan I return the VISO mask?\u003c\/button\u003e\u003cdiv class=\"kl-faq-answer\" hidden\u003e\u003cp\u003eA 30 day money back guarantee is available, subject to the applicable return policy and product condition requirements.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n    \u003cp class=\"kl-faq-disclaimer\"\u003eUse this device only as directed and for its cleared indication. The information on this page is educational and is not a substitute for professional medical advice, diagnosis or treatment.\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n  (function () {\n    function hydrateEditorialImages() {\n      var galleryImages = Array.prototype.slice.call(\n        document.querySelectorAll(\n          '.main-product .pdp-media img, .main-product .product-media-area img'\n        )\n      );\n\n      var seen = {};\n      var sources = [];\n\n      galleryImages.forEach(function (image) {\n        var src =\n          image.currentSrc ||\n          image.getAttribute('src') ||\n          image.getAttribute('data-src');\n\n        if (!src) return;\n\n        var key = src.split('?')[0];\n\n        if (seen[key]) return;\n\n        seen[key] = true;\n\n        sources.push({\n          src: src,\n          srcset:\n            image.getAttribute('srcset') ||\n            image.getAttribute('data-srcset') ||\n            ''\n        });\n      });\n\n      document\n        .querySelectorAll('[data-kl-gallery-index]')\n        .forEach(function (target) {\n          var requestedIndex =\n            parseInt(\n              target.getAttribute('data-kl-gallery-index'),\n              10\n            ) || 0;\n\n          var source = sources[requestedIndex] || sources[0];\n\n          if (!source) return;\n\n          target.setAttribute('src', source.src);\n\n          if (source.srcset) {\n            target.setAttribute('srcset', source.srcset);\n          }\n        });\n    }\n\n    function initializeFaqAccordion() {\n      document\n        .querySelectorAll('.kl-faq-question')\n        .forEach(function (button, index) {\n          var answer = button.nextElementSibling;\n\n          if (\n            !answer ||\n            !answer.classList.contains('kl-faq-answer')\n          ) {\n            return;\n          }\n\n          if (!button.id) {\n            button.id = 'kl-faq-question-' + index;\n          }\n\n          if (!answer.id) {\n            answer.id = 'kl-faq-answer-' + index;\n          }\n\n          button.setAttribute(\n            'aria-controls',\n            answer.id\n          );\n\n          answer.setAttribute(\n            'aria-labelledby',\n            button.id\n          );\n\n          var isOpen =\n            button.getAttribute('aria-expanded') === 'true';\n\n          answer.hidden = !isOpen;\n        });\n\n      if (window.__klFaqAccordionBound) return;\n\n      window.__klFaqAccordionBound = true;\n\n      document.addEventListener(\n        'click',\n        function (event) {\n          var button = event.target.closest(\n            '.kl-faq-question'\n          );\n\n          if (!button) return;\n\n          var answer = button.nextElementSibling;\n\n          if (\n            !answer ||\n            !answer.classList.contains('kl-faq-answer')\n          ) {\n            return;\n          }\n\n          event.preventDefault();\n\n          var isOpen =\n            button.getAttribute('aria-expanded') === 'true';\n\n          button.setAttribute(\n            'aria-expanded',\n            isOpen ? 'false' : 'true'\n          );\n\n          answer.hidden = isOpen;\n        },\n        true\n      );\n    }\n\n    function hideLegacySafetyCare() {\n      document\n        .querySelectorAll('h1, h2, h3, h4, h5, h6')\n        .forEach(function (heading) {\n          var headingText = heading.textContent\n            .replace(\/\\s+\/g, ' ')\n            .trim()\n            .toLowerCase();\n\n          if (headingText !== 'safety \u0026 care') return;\n\n          if (heading.closest('.kl-faq-section')) return;\n\n          var legacySection =\n            heading.closest('.shopify-section');\n\n          if (\n            legacySection \u0026\u0026\n            !legacySection.querySelector('.kl-pdp-below')\n          ) {\n            legacySection.style.setProperty(\n              'display',\n              'none',\n              'important'\n            );\n\n            legacySection.setAttribute(\n              'aria-hidden',\n              'true'\n            );\n          }\n        });\n    }\n\n    function arrangeEasyTabsSections() {\n      var intro = document.querySelector('.kl-pdp-below');\n\n      var tabs = document.querySelector(\n        '.easytabs-holder, .easytabs-tabs'\n      );\n\n      var editorial =\n        document.querySelector('.kl-editorial');\n\n      var faq =\n        document.querySelector('.kl-faq-section');\n\n      if (!intro || !tabs || !editorial || !faq) {\n        return false;\n      }\n\n      var topSection =\n        intro.closest('.shopify-section');\n\n      var bottomSection =\n        tabs.closest('.shopify-section');\n\n      if (\n        !topSection ||\n        !bottomSection ||\n        topSection === bottomSection\n      ) {\n        return false;\n      }\n\n      if (\n        !topSection.parentNode ||\n        topSection.parentNode !== bottomSection.parentNode\n      ) {\n        return false;\n      }\n\n      topSection.classList.add(\n        'kl-easytabs-top-section'\n      );\n\n      bottomSection.classList.add(\n        'kl-easytabs-bottom-section'\n      );\n\n      var sectionParent = bottomSection.parentNode;\n\n      if (\n        topSection.nextElementSibling !== bottomSection\n      ) {\n        sectionParent.insertBefore(\n          topSection,\n          bottomSection\n        );\n      }\n\n      var postTabs =\n        document.getElementById(\n          'kl-post-tabs-live'\n        );\n\n      if (!postTabs) {\n        postTabs = document.createElement('div');\n        postTabs.id = 'kl-post-tabs-live';\n        postTabs.className = 'kl-post-tabs';\n      }\n\n      [editorial, faq].forEach(function (block) {\n        if (block.parentNode !== postTabs) {\n          postTabs.appendChild(block);\n        }\n      });\n\n      if (\n        bottomSection.nextElementSibling !== postTabs\n      ) {\n        sectionParent.insertBefore(\n          postTabs,\n          bottomSection.nextElementSibling\n        );\n      }\n\n      var source =\n        document.querySelector(\n          '.kl-post-tabs-source'\n        );\n\n      if (source \u0026\u0026 source !== postTabs) {\n        source.style.display = 'none';\n      }\n\n      postTabs.setAttribute(\n        'data-kl-placed',\n        'true'\n      );\n\n      return true;\n    }\n\n\n    function replacePurchaseAccordionCopy(question, replacement) {\n      var normalizedQuestion = question.toLowerCase();\n      var trigger = Array.prototype.find.call(\n        document.querySelectorAll(\n          'summary, button, [role=\"button\"], h2, h3, h4, h5, h6'\n        ),\n        function (element) {\n          return element.textContent\n            .replace(\/\\s+\/g, ' ')\n            .trim()\n            .toLowerCase() === normalizedQuestion;\n        }\n      );\n\n      if (!trigger) return false;\n\n      var current = trigger;\n\n      while (current \u0026\u0026 current !== document.body) {\n        current = current.parentElement;\n\n        if (!current) break;\n\n        var paragraphs = Array.prototype.filter.call(\n          current.querySelectorAll('p'),\n          function (paragraph) {\n            return !trigger.contains(paragraph);\n          }\n        );\n\n        if (!paragraphs.length) continue;\n\n        paragraphs[0].textContent = replacement;\n\n        for (var index = 1; index \u003c paragraphs.length; index += 1) {\n          if (paragraphs[index].parentElement === paragraphs[0].parentElement) {\n            paragraphs[index].remove();\n          }\n        }\n\n        current.setAttribute('data-kl-product-copy', 'true');\n        return true;\n      }\n\n      return false;\n    }\n\n    function updatePurchaseAccordionCopy() {\n      replacePurchaseAccordionCopy(\n        'How do delivery and assembly work?',\n        'Free standard shipping is included within the contiguous United States. Orders require approximately 1 to 2 business days to prepare, followed by an estimated delivery window of 3 to 5 days. VISO requires no assembly. Charge the controller, attach the comfort strap and eye inserts, connect the mask and follow the supplied instructions before your first session.'\n      );\n\n      replacePurchaseAccordionCopy(\n        'What does the warranty cover?',\n        'The VISO mask is covered by a 2 year limited warranty. Coverage and exclusions follow the written warranty supplied with the product. If you need help, contact us and we will assist with the claim.'\n      );\n    }\n\n    function runKlPdpSetup() {\n      arrangeEasyTabsSections();\n      hydrateEditorialImages();\n      initializeFaqAccordion();\n      hideLegacySafetyCare();\n      updatePurchaseAccordionCopy();\n    }\n\n    function arrangeWithRetry() {\n      [0, 120, 350, 800, 1600, 3000].forEach(\n        function (delay) {\n          window.setTimeout(\n            runKlPdpSetup,\n            delay\n          );\n        }\n      );\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener(\n        'DOMContentLoaded',\n        arrangeWithRetry\n      );\n    } else {\n      arrangeWithRetry();\n    }\n\n    window.addEventListener(\n      'load',\n      arrangeWithRetry\n    );\n\n    document.addEventListener(\n      'shopify:section:load',\n      arrangeWithRetry\n    );\n  })();\n\u003c\/script\u003e\n\u003cscript data-kl-video-runtime=\"true\"\u003e\n  (function () {\n    function hydrateKlProductVideos() {\n      document.querySelectorAll('.kl-video-frame[data-kl-video-type]').forEach(function (frame) {\n        if (frame.getAttribute('data-kl-video-hydrated') === 'true') return;\n\n        var type = frame.getAttribute('data-kl-video-type');\n        var title = frame.getAttribute('data-kl-video-title') || 'Product video';\n\n        if (type === 'youtube') {\n          var videoId = frame.getAttribute('data-kl-video-id');\n          if (!videoId) return;\n\n          var iframe = document.createElement('iframe');\n          iframe.src = 'https:\/\/www.youtube-nocookie.com\/embed\/' + encodeURIComponent(videoId) + '?rel=0';\n          iframe.title = title;\n          iframe.loading = 'lazy';\n          iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share';\n          iframe.referrerPolicy = 'strict-origin-when-cross-origin';\n          iframe.setAttribute('allowfullscreen', '');\n          frame.appendChild(iframe);\n        } else if (type === 'mp4') {\n          var videoUrl = frame.getAttribute('data-kl-video-src');\n          if (!videoUrl) return;\n\n          var video = document.createElement('video');\n          video.controls = true;\n          video.playsInline = true;\n          video.preload = 'metadata';\n          video.setAttribute('aria-label', title);\n\n          var poster = frame.getAttribute('data-kl-video-poster');\n          if (poster) video.poster = poster;\n\n          var source = document.createElement('source');\n          source.src = videoUrl;\n          source.type = 'video\/mp4';\n          video.appendChild(source);\n          frame.appendChild(video);\n        }\n\n        frame.setAttribute('data-kl-video-hydrated', 'true');\n      });\n    }\n\n    function placeKlVideoSection() {\n      var videoSection = document.querySelector('.kl-video-section');\n      if (!videoSection) return;\n\n      var liveContainer = document.getElementById('kl-post-tabs-live');\n      if (!liveContainer) return;\n\n      var editorial = liveContainer.querySelector('.kl-editorial');\n      if (videoSection.parentNode !== liveContainer || (editorial \u0026\u0026 videoSection.nextElementSibling !== editorial)) {\n        liveContainer.insertBefore(videoSection, editorial || liveContainer.firstChild);\n      }\n\n      videoSection.style.removeProperty('display');\n      videoSection.removeAttribute('hidden');\n    }\n\n    function runKlVideoRuntime() {\n      placeKlVideoSection();\n      hydrateKlProductVideos();\n    }\n\n    function runWithRetry() {\n      [0, 120, 350, 800, 1600, 3000, 5000].forEach(function (delay) {\n        window.setTimeout(runKlVideoRuntime, delay);\n      });\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', runWithRetry);\n    } else {\n      runWithRetry();\n    }\n\n    window.addEventListener('load', runWithRetry);\n    document.addEventListener('shopify:section:load', runWithRetry);\n  })();\n\u003c\/script\u003e\n","brand":"Lumara","offers":[{"title":"VISO","offer_id":54646751854929,"sku":"sku-48564351697184","price":479.0,"currency_code":"USD","in_stock":true},{"title":"2 Pack","offer_id":54646751887697,"sku":"sku-48543655559456","price":989.0,"currency_code":"USD","in_stock":true},{"title":"4 Pack","offer_id":54646751920465,"sku":"sku-49718888202528","price":1969.0,"currency_code":"USD","in_stock":true},{"title":"Panel Bundle","offer_id":54646751953233,"sku":"sku-50707295273248","price":2474.0,"currency_code":"USD","in_stock":true},{"title":"Pad Bundle","offer_id":54646751986001,"sku":"sku-50930134384928","price":1099.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1046\/4451\/0033\/files\/lumara-viso-red-light-therapy-face-mask.png?v=1787299018","url":"https:\/\/kinauralife.com\/products\/viso-red-light-therapy-mask-fda-510k-cleared","provider":"Kinaura Life","version":"1.0","type":"link"}