{"title":"SHOP ALL","description":"\u003cp\u003e\u003cem\u003e\u003cspan\u003eEvery NOVÉA™ product. One place.\u003c\/span\u003e\u003c\/em\u003e\u003cspan\u003e From professional-grade skincare devices to everyday beauty essentials — browse the full NOVÉA™ collection and discover premium beauty tools designed to elevate your routine. Proudly South African. Beautifully crafted.\u003c\/span\u003e\u003c\/p\u003e","products":[{"product_id":"novea™-pro-brush-cleaner-dryer","title":"NOVÉA™ Pro Brush Cleaner \u0026 Dryer","description":"\u003c!-- NOVÉA™ Pro Brush Cleaner \u0026 Dryer — Mobile-First, Rose‑Gold Background (no buy\/add-to-cart, no before\/after, no star reviews, no FAQs) --\u003e\n\u003cdiv class=\"novea novea--mobile\" id=\"novea\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nv-hero\"\u003e\n\u003cdiv class=\"nv-hero-inner\"\u003e\n\u003cspan class=\"nv-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"nv-title\"\u003ePro Brush Cleaner \u0026amp; Dryer\u003c\/h1\u003e\n\u003cp class=\"nv-sub\"\u003eClean Brushes. Flawless Skin. Every Time.\u003c\/p\u003e\n\u003cp class=\"nv-tagline\"\u003ecrafted for women who want clearer skin, seamless blends, and more “me time.”\u003c\/p\u003e\n\u003cdiv class=\"nv-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"nv-orb nv-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"nv-orb nv-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"nv-usp\" role=\"list\"\u003e\n\u003cli class=\"nv-chip\"\u003eElegant rose‑gold aesthetic\u003c\/li\u003e\n\u003cli class=\"nv-chip\"\u003eUV‑C sanitising\u003c\/li\u003e\n\u003cli class=\"nv-chip\"\u003eDries in minutes\u003c\/li\u003e\n\u003cli class=\"nv-chip\"\u003eSalon‑quality at home\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"nv-cta\" role=\"navigation\"\u003e\n\u003ca href=\"#nv-benefits\" class=\"nv-btn nv-btn-ghost\"\u003eSee Benefits\u003c\/a\u003e \u003ca href=\"#nv-how\" class=\"nv-btn nv-btn-ghost\"\u003eHow It Works\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-trust\"\u003e\n\u003cdiv class=\"nv-trust-item\"\u003e30‑Day Money‑Back\u003c\/div\u003e\n\u003cdiv class=\"nv-trust-item\"\u003eFast, Free Shipping\u003c\/div\u003e\n\u003cdiv class=\"nv-trust-item\"\u003eSecure Checkout\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- PROBLEM \/ PROMISE --\u003e\n\u003csection class=\"nv-section nv-soft\"\u003e\n\u003cdiv class=\"nv-stack\"\u003e\n\u003cdiv class=\"nv-card\"\u003e\n\u003ch2\u003eDirty brushes are the silent saboteur\u003c\/h2\u003e\n\u003cp\u003eThey harbour bacteria, old product buildup, and oils—leading to breakouts and uneven application.\u003c\/p\u003e\n\u003cul class=\"nv-list\"\u003e\n\u003cli\u003eBreakouts and irritation\u003c\/li\u003e\n\u003cli\u003eMuddy colour payoff\u003c\/li\u003e\n\u003cli\u003eDamaged bristles over time\u003c\/li\u003e\n\u003cli\u003eLong drying times\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-card nv-grad\"\u003e\n\u003ch2\u003eMeet NOVÉA™ Pro\u003c\/h2\u003e\n\u003cp\u003eAutomated cleaning + rapid drying for salon‑fresh brushes in minutes—not hours.\u003c\/p\u003e\n\u003cdiv class=\"nv-stats\"\u003e\n\u003cdiv class=\"nv-s\"\u003e\n\u003cstrong\u003e99%\u003c\/strong\u003e\u003cspan\u003eBacteria reduction (UV‑C)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-s\"\u003e\n\u003cstrong\u003eMinutes\u003c\/strong\u003e\u003cspan\u003eQuick dry\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-s\"\u003e\n\u003cstrong\u003eMulti\u003c\/strong\u003e\u003cspan\u003eBrush capacity\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"nv-section\" id=\"nv-benefits\"\u003e\n\u003ch2 class=\"nv-center\"\u003eWhat it does for you\u003c\/h2\u003e\n\u003cdiv class=\"nv-grid nv-1\"\u003e\n\u003carticle class=\"nv-feature\"\u003e\u003cspan class=\"nv-ico\"\u003e✨\u003c\/span\u003e\n\u003ch3\u003ePromotes clearer‑looking skin\u003c\/h3\u003e\n\u003cp\u003eUV‑C sanitising helps reduce bacteria buildup that can contribute to breakouts and irritation.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nv-feature\"\u003e\u003cspan class=\"nv-ico\"\u003e🎨\u003c\/span\u003e\n\u003ch3\u003eSeamless, true colour\u003c\/h3\u003e\n\u003cp\u003eFresh bristles blend evenly—no patchy tones or muddy residue.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nv-feature\"\u003e\u003cspan class=\"nv-ico\"\u003e🪶\u003c\/span\u003e\n\u003ch3\u003eGentle on bristles\u003c\/h3\u003e\n\u003cp\u003ePreserves softness and shape so your favourite brushes last longer.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nv-feature\"\u003e\u003cspan class=\"nv-ico\"\u003e⏱️\u003c\/span\u003e\n\u003ch3\u003eMinutes, not hours\u003c\/h3\u003e\n\u003cp\u003eClean and dry multiple brushes while you plan your day.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nv-feature\"\u003e\u003cspan class=\"nv-ico\"\u003e🏡\u003c\/span\u003e\n\u003ch3\u003ePremium vanity upgrade\u003c\/h3\u003e\n\u003cp\u003eShades of rose gold elevate your space and routine.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nv-feature\"\u003e\u003cspan class=\"nv-ico\"\u003e🧖♀️\u003c\/span\u003e\n\u003ch3\u003eDesigned for women\u003c\/h3\u003e\n\u003cp\u003eFor everyday wearers, beauty lovers, pros, busy moms, and brides‑to‑be.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-benefit-lines\"\u003e\n\u003cdiv class=\"nv-line\"\u003e\n\u003cstrong\u003eAcne‑prone or sensitive?\u003c\/strong\u003e Cleaner tools help reduce potential triggers.\u003c\/div\u003e\n\u003cdiv class=\"nv-line\"\u003e\n\u003cstrong\u003eOily or combo skin?\u003c\/strong\u003e Removes oils that can disrupt foundation wear.\u003c\/div\u003e\n\u003cdiv class=\"nv-line\"\u003e\n\u003cstrong\u003eDry skin?\u003c\/strong\u003e Prevents cakey build‑up for smoother finishes.\u003c\/div\u003e\n\u003cdiv class=\"nv-line\"\u003e\n\u003cstrong\u003eBusy schedule?\u003c\/strong\u003e Set, clean, and dry—ready when you are.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"nv-section nv-dark\" id=\"nv-how\"\u003e\n\u003ch2 class=\"nv-center\"\u003eHow It Works\u003c\/h2\u003e\n\u003cdiv class=\"nv-steps\"\u003e\n\u003cdiv class=\"nv-step\"\u003e\n\u003cspan class=\"nv-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003eInsert brushes\u003c\/h4\u003e\n\u003cp\u003eSecure any size into the silicone holder.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-step\"\u003e\n\u003cspan class=\"nv-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003eAdd cleanser\u003c\/h4\u003e\n\u003cp\u003eFill the UV cleaning chamber with your go‑to formula.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-step\"\u003e\n\u003cspan class=\"nv-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eAuto clean + UV\u003c\/h4\u003e\n\u003cp\u003eSpin action lifts buildup while UV‑C sanitises.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-step\"\u003e\n\u003cspan class=\"nv-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eQuick dry\u003c\/h4\u003e\n\u003cp\u003eTransfer to the drying station—ready in minutes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"nv-section\" id=\"nv-specs\"\u003e\n\u003ch2 class=\"nv-center\"\u003eKey Specifications\u003c\/h2\u003e\n\u003cdiv class=\"nv-specs\"\u003e\n\u003cdiv class=\"nv-spec\"\u003e\n\u003cstrong\u003eUV‑C Light\u003c\/strong\u003e\u003cspan\u003eEliminates up to 99% of bacteria during the cycle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-spec\"\u003e\n\u003cstrong\u003eDrying Station\u003c\/strong\u003e\u003cspan\u003eDual‑compartment rack for upright airflow\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-spec\"\u003e\n\u003cstrong\u003eTimer Settings\u003c\/strong\u003e\u003cspan\u003e2‑hour \u0026amp; 5‑hour auto‑shutoff (R\/S)\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-spec\"\u003e\n\u003cstrong\u003eCapacity\u003c\/strong\u003e\u003cspan\u003eFrom small detail to large powder brushes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-spec\"\u003e\n\u003cstrong\u003eDesign\u003c\/strong\u003e\u003cspan\u003eWhite body with rose‑gold touch controls\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nv-spec\"\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\u003cspan\u003eElectric plug‑in for reliable performance\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"nv-section nv-dark\"\u003e\n\u003ch2 class=\"nv-center\"\u003eWhat's Included\u003c\/h2\u003e\n\u003cdiv class=\"nv-included\"\u003e\n\u003cspan class=\"nv-chip\"\u003eNOVÉA™ Pro Brush Cleaner \u0026amp; Dryer unit\u003c\/span\u003e \u003cspan class=\"nv-chip\"\u003eSilicone brush holder mat\u003c\/span\u003e \u003cspan class=\"nv-chip\"\u003eDual drying station rack\u003c\/span\u003e \u003cspan class=\"nv-chip\"\u003ePower cable\u003c\/span\u003e \u003cspan class=\"nv-chip\"\u003eUser guide\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BOTTOM TEXT CTA --\u003e\n\u003csection class=\"nv-section nv-cta\" id=\"nv-cta\"\u003e\n\u003cdiv class=\"nv-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause your skin deserves tools as clean as your standards.\u003c\/h3\u003e\n\u003cp\u003eGet salon‑fresh brushes in minutes—every time.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, ROSE‑GOLD BACKGROUND, HIGH READABILITY *\/\n  :root{\n    --nv-bg:#ffffff;\n    --nv-panel:#ffffff;\n    --nv-soft:#fbf7f9;\n    --nv-text:#14161a;\n    --nv-mute:#61656f;\n    --nv-border:rgba(20,22,26,.10);\n    --nv-shadow:0 6px 18px rgba(20,22,26,.06);\n    --nv-radius:14px;\n\n    \/* Rose‑gold *\/\n    --rg:#b76e79;\n    --rg-soft:#e9c5cd;\n    --rg-wash:#f8e6ea;\n  }\n\n  \/* Global RG background *\/\n  .novea{\n    background:\n      radial-gradient(900px 480px at 12% -10%, rgba(248,230,234,.55), transparent 55%),\n      radial-gradient(760px 420px at 108% -8%, rgba(233,197,205,.32), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--nv-text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6;\n    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Spacing tuned for small screens *\/\n  .nv-section{padding:44px 14px;}\n  .nv-soft{background:transparent;}\n  .nv-dark{background:transparent;}\n  .nv-center{text-align:center;}\n\n  \/* Layout stacks to single column *\/\n  .nv-stack{display:grid; gap:12px; max-width:780px; margin:0 auto;}\n  .nv-grid{display:grid; gap:12px; max-width:780px; margin:0 auto;}\n  .nv-grid.nv-1{grid-template-columns:1fr;}\n\n  \/* HERO *\/\n  .nv-hero{padding:56px 14px 22px; background:transparent;}\n  .nv-hero-inner{max-width:820px; margin:0 auto; text-align:center;}\n  .nv-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--nv-border); letter-spacing:.12em; font-weight:700; font-size:12px; color:#2a2e35;}\n  .nv-title{font-size:clamp(26px,7vw,34px); margin:.5rem 0 .2rem; line-height:1.15; font-weight:800;}\n  .nv-sub{color:var(--rg); font-weight:700; font-size:clamp(15px,4.2vw,17px); margin:0 0 6px;}\n  .nv-tagline{color:var(--nv-mute); max-width:36ch; margin:0 auto 14px; font-size:clamp(14px,3.8vw,16px);}\n\n  .nv-hero-media{position:relative; max-width:640px; margin:16px auto 4px; display:grid; place-items:center;}\n  .nv-hero-img{width:100%; height:auto; border-radius:12px; background:#fff; box-shadow:0 12px 28px rgba(20,22,26,.08);}\n  .nv-orb{position:absolute; border-radius:50%; filter:blur(12px); opacity:.22; mix-blend-mode:multiply; pointer-events:none;}\n  .nv-orb-1{width:120px; height:120px; background:rgba(183,110,121,.42); left:4%; top:24%;}\n  .nv-orb-2{width:150px; height:150px; background:rgba(233,197,205,.30); right:2%; top:10%;}\n\n  .nv-usp{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:10px; padding:0; list-style:none;}\n  .nv-chip{border-radius:999px; padding:8px 12px; color:#2f333b; font-size:13px; background:#fff; border:1px solid var(--nv-border); box-shadow:0 3px 10px rgba(20,22,26,.05);}\n\n  .nv-cta{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:14px 0 0;}\n  .nv-btn{appearance:none; border:none; border-radius:12px; padding:11px 14px; font-weight:800; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; text-decoration:none; display:inline-block; font-size:14px; line-height:1;}\n  .nv-btn-ghost{color:#1e2127; background:#fff; border:1px solid rgba(183,110,121,.45); box-shadow:0 5px 12px rgba(183,110,121,.16);}\n  .nv-btn-ghost:active{transform:scale(.985);}\n\n  .nv-trust{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:12px;}\n  .nv-trust-item{background:#fff; border:1px solid rgba(183,110,121,.28); padding:8px 12px; border-radius:999px; font-weight:700; color:#2a2e35; box-shadow:0 3px 10px rgba(183,110,121,.12);}\n\n  \/* CARDS \/ LISTS *\/\n  .nv-card{background:var(--nv-panel); border:1px solid rgba(183,110,121,.28); border-radius:var(--nv-radius); padding:16px; box-shadow:var(--nv-shadow);}\n  .nv-grad{background:var(--nv-panel);}\n  .nv-list{margin:8px 0 0; padding:0; list-style:none; color:#2b3037; font-size:15px;}\n  .nv-list li{padding:9px 0; border-bottom:1px dashed rgba(183,110,121,.32);}\n\n  \/* STATS *\/\n  .nv-stats{display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px;}\n  .nv-s{background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:12px; padding:12px; text-align:center; color:#2a2e35; box-shadow:0 5px 14px rgba(20,22,26,.05);}\n  .nv-s strong{display:block; font-size:20px; color:#111318; line-height:1.2;}\n\n  \/* SECTION HEADINGS *\/\n  .nv-section h2{margin:0 0 10px; letter-spacing:.2px; color:#121417; font-size:clamp(20px,5.6vw,24px);}\n  .nv-section h2::after{\n    content:\"\"; display:block; width:72px; height:3px; margin:8px auto 0;\n    background:linear-gradient(90deg,var(--rg-soft),var(--rg)); border-radius:3px;\n  }\n\n  \/* FEATURES *\/\n  .nv-feature{background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:14px; padding:16px; box-shadow:0 6px 18px rgba(20,22,26,.06);}\n  .nv-feature h3{margin:6px 0 4px; font-size:17px;}\n  .nv-feature p{margin:0; font-size:15px; color:#38404a;}\n  .nv-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* BENEFIT LINES *\/\n  .nv-benefit-lines{max-width:780px; margin:12px auto 0; display:grid; gap:8px;}\n  .nv-line{background:#fff; border:1px solid rgba(183,110,121,.24); padding:10px 12px; border-radius:12px; color:#2a2e35; box-shadow:0 5px 14px rgba(20,22,26,.05); font-size:15px;}\n\n  \/* STEPS *\/\n  .nv-steps{display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:780px; margin:10px auto 16px;}\n  @media(min-width:720px){.nv-steps{grid-template-columns:repeat(4,1fr);} }\n  .nv-step{background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:14px; padding:14px; text-align:left; box-shadow:0 6px 18px rgba(20,22,26,.06);}\n  .nv-step h4{margin:6px 0 4px; font-size:16px;}\n  .nv-step p{margin:0; font-size:14px; color:#3b424c;}\n  .nv-step-num{display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:linear-gradient(180deg,var(--rg-wash),var(--rg)); color:#17191f; font-weight:800; margin-bottom:6px; box-shadow:0 6px 14px rgba(183,110,121,.18); font-size:14px;}\n\n  \/* INLINE MEDIA *\/\n  .nv-inline-media{display:grid; grid-template-columns:1fr; gap:10px; max-width:780px; margin:0 auto;}\n  .nv-inline-media img{width:100%; height:auto; border-radius:12px; border:1px solid rgba(183,110,121,.28); box-shadow:0 8px 20px rgba(20,22,26,.06), 0 0 0 1px rgba(233,197,205,.12) inset; background:#fff;}\n\n  \/* SPECS *\/\n  .nv-specs{display:grid; grid-template-columns:1fr; gap:10px; max-width:780px; margin:0 auto;}\n  .nv-spec{background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:14px; padding:14px; color:#2a2e35; box-shadow:0 6px 18px rgba(20,22,26,.06);}\n  .nv-spec strong{display:block; margin-bottom:4px; color:#13151a;}\n\n  \/* INCLUDED *\/\n  .nv-included{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin:8px 0 0;}\n  .nv-included .nv-chip{transition:transform .15s ease;}\n  .nv-included .nv-chip:active{transform:translateY(1px);}\n\n  \/* CTA (TEXT ONLY) *\/\n  .nv-cta{background:linear-gradient(180deg, rgba(248,230,234,.28), rgba(233,197,205,.22)); border-top:1px solid rgba(183,110,121,.32);}\n  .nv-cta-inner{max-width:820px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}\n  .nv-cta-inner h3{margin:0 0 4px; font-size:18px;}\n  .nv-cta-inner p{margin:0; color:#505764; font-size:15px;}\n\n  \/* ACCESSIBILITY \u0026 PERFORMANCE *\/\n  *{touch-action:manipulation}\n  :focus-visible{outline:2px solid var(--rg); outline-offset:2px\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52147991216344,"sku":null,"price":959.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsApp_Image_2026-07-16_at_16.36.43.jpg?v=1784212738"},{"product_id":"novea™-nano-mist-facial-steamer","title":"NOVÉA™ Nano Mist Facial Steamer","description":"\u003c!-- NOVÉA™ Nano Mist Facial Steamer — Mobile-First, Rose‑Gold, Premium (Benefits interactive, How It Works no-scroll, no buy\/add-to-cart) --\u003e\n\u003cdiv class=\"novea-steam\" id=\"novea-steam\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"ns-hero\"\u003e\n\u003cdiv class=\"ns-hero-inner\"\u003e\n\u003cspan class=\"ns-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"ns-title\"\u003eNano Mist Facial Steamer\u003c\/h1\u003e\n\u003cp class=\"ns-sub\"\u003eGlowing skin, on demand.\u003c\/p\u003e\n\u003cp class=\"ns-tagline\"\u003eUltra-fine warm nano mist opens pores, boosts hydration, and preps skin for flawless skincare and makeup — at home.\u003c\/p\u003e\n\u003cdiv class=\"ns-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"ns-orb ns-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"ns-orb ns-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"ns-usp\" role=\"list\"\u003e\n\u003cli class=\"ns-chip\"\u003eNano-fine warm mist\u003c\/li\u003e\n\u003cli class=\"ns-chip\"\u003eOpens pores fast\u003c\/li\u003e\n\u003cli class=\"ns-chip\"\u003eHydration boost\u003c\/li\u003e\n\u003cli class=\"ns-chip\"\u003eSpa-at-home design\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"ns-cta\" role=\"navigation\"\u003e\n\u003ca href=\"#ns-benefits\" class=\"ns-btn ns-btn-ghost\"\u003eBenefits\u003c\/a\u003e \u003ca href=\"#ns-how\" class=\"ns-btn ns-btn-ghost\"\u003eHow It Works\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-trust\"\u003e\n\u003cdiv class=\"ns-trust-item\"\u003e30‑Day Money‑Back\u003c\/div\u003e\n\u003cdiv class=\"ns-trust-item\"\u003eFast, Free Shipping\u003c\/div\u003e\n\u003cdiv class=\"ns-trust-item\"\u003eSecure Checkout\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- PROBLEM \/ PROMISE --\u003e\n\u003csection class=\"ns-section ns-soft\"\u003e\n\u003cdiv class=\"ns-stack\"\u003e\n\u003cdiv class=\"ns-card\"\u003e\n\u003ch2\u003eThe ritual behind the glow\u003c\/h2\u003e\n\u003cp\u003eRegular steam can sit on top of skin. NOVÉA™ breaks water into nano-fine particles that reach deeper — softening pores and prepping for high-performance skincare.\u003c\/p\u003e\n\u003cul class=\"ns-list\"\u003e\n\u003cli\u003eQuick pore-opening warm mist\u003c\/li\u003e\n\u003cli\u003eDeeper hydration vs. regular steam\u003c\/li\u003e\n\u003cli\u003eBetter serum and moisturiser absorption\u003c\/li\u003e\n\u003cli\u003eSpa-calibre relaxation at home\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-card ns-grad\"\u003e\n\u003ch2\u003eTechnology that feels like pampering\u003c\/h2\u003e\n\u003cdiv class=\"ns-stats\"\u003e\n\u003cdiv class=\"ns-s ns-s--rose\"\u003e\n\u003cstrong\u003eNano\u003c\/strong\u003e\u003cspan\u003eUltra-fine mist particles\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-s ns-s--mint\"\u003e\n\u003cstrong\u003e6×\u003c\/strong\u003e\u003cspan\u003eBetter absorption potential\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-s ns-s--champ\"\u003e\n\u003cstrong\u003e10 min\u003c\/strong\u003e\u003cspan\u003eTo softer, dewier skin\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (interactive) --\u003e\n\u003csection class=\"ns-section\" id=\"ns-benefits\"\u003e\n\u003ch2 class=\"ns-center\"\u003eWhat your skin gains\u003c\/h2\u003e\n\u003cdiv class=\"ns-grid ns-1\"\u003e\n\u003carticle class=\"ns-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ns-ico\"\u003e💧\u003c\/span\u003e\n\u003ch3\u003eDeep hydration\u003c\/h3\u003e\n\u003cp\u003eNano-fine warm mist penetrates more effectively than regular steam for moisture that lasts.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ns-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ns-ico\"\u003e🌿\u003c\/span\u003e\n\u003ch3\u003eOpened pores\u003c\/h3\u003e\n\u003cp\u003eSoftens and opens pores so serums and moisturisers absorb up to 6× better.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ns-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ns-ico\"\u003e✨\u003c\/span\u003e\n\u003ch3\u003eClearer-looking skin\u003c\/h3\u003e\n\u003cp\u003eLoosens blackheads, helps unclog pores, and flushes impurities naturally.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ns-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ns-ico\"\u003e🌸\u003c\/span\u003e\n\u003ch3\u003ePlumper, dewier complexion\u003c\/h3\u003e\n\u003cp\u003eInstantly boosts moisture for a healthy, luminous look pre-makeup.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ns-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ns-ico\"\u003e🧖♀️\u003c\/span\u003e\n\u003ch3\u003eRelaxation ritual\u003c\/h3\u003e\n\u003cp\u003eWarm mist calms and soothes — your 10-minute spa moment, any time.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ns-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ns-ico\"\u003e🎨\u003c\/span\u003e\n\u003ch3\u003eBetter makeup application\u003c\/h3\u003e\n\u003cp\u003eHydrated skin grips foundation evenly for a smoother, more flawless finish.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scrolling; all steps visible) --\u003e\n\u003csection class=\"ns-section ns-dark\" id=\"ns-how\"\u003e\n\u003ch2 class=\"ns-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"ns-steps ns-steps--static\"\u003e\n\u003cdiv class=\"ns-step\"\u003e\n\u003cspan class=\"ns-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003eFill the tank\u003c\/h4\u003e\n\u003cp\u003eUse clean water. The nano module readies instantly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-step\"\u003e\n\u003cspan class=\"ns-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003ePower on\u003c\/h4\u003e\n\u003cp\u003eOne key starts a continuous warm nano mist.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-step\"\u003e\n\u003cspan class=\"ns-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eHold 20–30 cm\u003c\/h4\u003e\n\u003cp\u003eMist for 8–10 minutes; let pores soften.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-step\"\u003e\n\u003cspan class=\"ns-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eSeal the glow\u003c\/h4\u003e\n\u003cp\u003eApply serum, moisturiser, or mask immediately.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-inline-media\"\u003e\n\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"ns-section\" id=\"ns-specs\"\u003e\n\u003ch2 class=\"ns-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"ns-specs\"\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003eTechnology\u003c\/strong\u003e\u003cspan\u003eIon atomisation nano spray module\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003eNozzle\u003c\/strong\u003e\u003cspan\u003eAdjustable angle — tilts up\/down\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003eMist type\u003c\/strong\u003e\u003cspan\u003eWarm nano-fine mist\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003eOperation\u003c\/strong\u003e\u003cspan\u003eOne-key power button\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003eAccessories\u003c\/strong\u003e\u003cspan\u003eCotton-padded pimple needle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003eDesign\u003c\/strong\u003e\u003cspan\u003eWhite body, rose-gold band, flower-shaped nozzle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ns-spec\"\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\u003cspan\u003eElectric — plug-in\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"ns-section ns-soft\" id=\"ns-use\"\u003e\n\u003ch2 class=\"ns-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"ns-steps-list\"\u003e\n\u003cli\u003eFill the water tank with clean water\u003c\/li\u003e\n\u003cli\u003ePress the power button to begin steaming\u003c\/li\u003e\n\u003cli\u003eHold 20–30 cm from your face for 8–10 minutes\u003c\/li\u003e\n\u003cli\u003eFollow with serum, moisturiser, or mask for maximum absorption\u003c\/li\u003e\n\u003cli\u003eUse 2–3 times per week for best results\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"ns-section ns-dark\"\u003e\n\u003ch2 class=\"ns-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"ns-included\"\u003e\n\u003cspan class=\"ns-chip\"\u003eNOVÉA™ Nano Mist Facial Steamer\u003c\/span\u003e \u003cspan class=\"ns-chip\"\u003eCotton-padded pimple needle\u003c\/span\u003e \u003cspan class=\"ns-chip\"\u003ePower cable\u003c\/span\u003e \u003cspan class=\"ns-chip\"\u003eUser guide\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"ns-section ns-cta\" id=\"ns-cta\"\u003e\n\u003cdiv class=\"ns-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause glowing skin isn't luck — it's a ritual.\u003c\/h3\u003e\n\u003cp\u003eAdd NOVÉA™ Nano Mist to your routine and feel the difference in one session.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, ROSE‑GOLD BACKGROUND, HIGH READABILITY *\/\n  :root{\n    --bg:#ffffff; --panel:#ffffff; --soft:#fbf7f9;\n    --text:#14161a; --mute:#61656f;\n    --border:rgba(20,22,26,.10); --shadow:0 6px 18px rgba(20,22,26,.06);\n    --radius:14px;\n    --rg:#b76e79; --rg-soft:#e9c5cd; --rg-wash:#f8e6ea;\n  }\n\n  .novea-steam{\n    background:\n      radial-gradient(900px 480px at 12% -10%, rgba(248,230,234,.55), transparent 55%),\n      radial-gradient(760px 420px at 108% -8%, rgba(233,197,205,.30), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Spacing \u0026 layout *\/\n  .ns-section{padding:44px 14px;}\n  .ns-soft,.ns-dark{background:transparent;}\n  .ns-center{text-align:center;}\n  .ns-stack{display:grid; gap:12px; max-width:820px; margin:0 auto;}\n  .ns-grid{display:grid; gap:12px; max-width:820px; margin:0 auto;}\n  .ns-grid.ns-1{grid-template-columns:1fr;}\n\n  \/* Hero *\/\n  .ns-hero{padding:56px 14px 22px; background:transparent;}\n  .ns-hero-inner{max-width:900px; margin:0 auto; text-align:center;}\n  .ns-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:700; font-size:12px; color:#2a2e35;}\n  .ns-title{font-size:clamp(26px,7vw,36px); margin:.5rem 0 .2rem; line-height:1.15; font-weight:800;}\n  .ns-sub{color:var(--rg); font-weight:700; font-size:clamp(15px,4.2vw,17px); margin:0 0 6px;}\n  .ns-tagline{color:var(--mute); max-width:40ch; margin:0 auto 14px; font-size:clamp(14px,3.8vw,16px);}\n\n  .ns-hero-media{position:relative; max-width:640px; margin:16px auto 4px; display:grid; place-items:center;}\n  .ns-hero-img{width:100%; height:auto; border-radius:12px; background:#fff; box-shadow:0 12px 28px rgba(20,22,26,.08);}\n  .ns-orb{position:absolute; border-radius:50%; filter:blur(12px); opacity:.22; mix-blend-mode:multiply; pointer-events:none;}\n  .ns-orb-1{width:120px; height:120px; background:rgba(183,110,121,.42); left:4%; top:24%;}\n  .ns-orb-2{width:150px; height:150px; background:rgba(233,197,205,.30); right:2%; top:10%;}\n\n  .ns-usp{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:10px; padding:0; list-style:none;}\n  .ns-chip{border-radius:999px; padding:8px 12px; color:#2f333b; font-size:13px; background:#fff; border:1px solid var(--border); box-shadow:0 3px 10px rgba(20,22,26,.05);}\n\n  .ns-cta{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:14px 0 0;}\n  .ns-btn{appearance:none; border:none; border-radius:12px; padding:11px 14px; font-weight:800; text-decoration:none; display:inline-block; font-size:14px; line-height:1;}\n  .ns-btn-ghost{color:#1e2127; background:#fff; border:1px solid rgba(183,110,121,.45); box-shadow:0 5px 12px rgba(183,110,121,.16);}\n\n  .ns-trust{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:12px;}\n  .ns-trust-item{background:#fff; border:1px solid rgba(183,110,121,.28); padding:8px 12px; border-radius:999px; font-weight:700; color:#2a2e35; box-shadow:0 3px 10px rgba(183,110,121,.12);}\n\n  \/* Cards \/ Lists *\/\n  .ns-card{background:var(--panel); border:1px solid rgba(183,110,121,.24); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow);}\n  .ns-grad{background:var(--panel);}\n  .ns-list{margin:8px 0 0; padding:0; list-style:none; color:#2b3037; font-size:15px;}\n  .ns-list li{padding:9px 0; border-bottom:1px dashed rgba(183,110,121,.28);}\n\n  \/* Stats *\/\n  .ns-stats{display:grid; grid-template-columns:1fr; gap:10px; margin-top:8px;}\n  .ns-s{background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:12px; padding:12px; text-align:center; color:#2a2e35; box-shadow:0 5px 14px rgba(20,22,26,.05);}\n  .ns-s strong{display:block; font-size:20px; color:#111318; line-height:1.2;}\n  .ns-s--rose{border-color:rgba(183,110,121,.38);}\n  .ns-s--mint{border-color:rgba(210,240,230,.45);}\n  .ns-s--champ{border-color:rgba(247,230,199,.45);}\n\n  \/* Section headings *\/\n  .ns-section h2{margin:0 0 10px; letter-spacing:.2px; color:#121417; font-size:clamp(20px,5.6vw,24px);}\n  .ns-section h2::after{content:\"\"; display:block; width:72px; height:3px; margin:8px auto 0; background:linear-gradient(90deg,var(--rg-soft),var(--rg)); border-radius:3px;}\n\n  \/* Interactive Benefits *\/\n  #ns-benefits .ns-feature{position:relative; background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:14px; padding:14px; box-shadow:0 6px 18px rgba(20,22,26,.06); cursor:pointer; user-select:none;}\n  #ns-benefits .ns-feature h3{margin:6px 24px 4px 0; font-size:17px;}\n  #ns-benefits .ns-feature p{margin:0; font-size:15px; color:#38404a; max-height:0; overflow:hidden; opacity:0; transition:max-height .28s ease, opacity .25s ease;}\n  #ns-benefits .ns-feature::after{content:\"▾\"; position:absolute; right:12px; top:14px; font-size:14px; color:#555; transition:transform .2s ease;}\n  #ns-benefits .ns-feature.is-open p{max-height:220px; opacity:1; margin-top:6px;}\n  #ns-benefits .ns-feature.is-open::after{transform:rotate(180deg);}\n  .ns-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* How it works — NO SCROLL, all steps visible *\/\n  #ns-how .ns-steps{display:grid; gap:10px; overflow:visible; padding-bottom:0; grid-template-columns:1fr;}\n  #ns-how .ns-step{min-width:auto; background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:14px; padding:14px; box-shadow:0 6px 18px rgba(20,22,26,.06);}\n  #ns-how .ns-step h4{margin:6px 0 4px; font-size:16px;}\n  #ns-how .ns-step p{margin:0; font-size:14px; color:#3b424c;}\n  #ns-how .ns-step-num{display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:linear-gradient(180deg,var(--rg-wash),var(--rg)); color:#17191f; font-weight:800; margin-bottom:6px; box-shadow:0 6px 14px rgba(183,110,121,.18); font-size:14px;}\n  @media(min-width:600px){ #ns-how .ns-steps{grid-template-columns:1fr 1fr;} }\n  @media(min-width:960px){ #ns-how .ns-steps{grid-template-columns:repeat(4,1fr);} }\n\n  \/* Media *\/\n  .ns-inline-media{display:grid; grid-template-columns:1fr; gap:10px; max-width:820px; margin:12px auto 0;}\n  .ns-inline-media img{width:100%; height:auto; border-radius:12px; border:1px solid rgba(183,110,121,.28); box-shadow:0 8px 20px rgba(20,22,26,.06), 0 0 0 1px rgba(233,197,205,.12) inset; background:#fff;}\n\n  \/* Specs *\/\n  .ns-specs{display:grid; grid-template-columns:1fr; gap:10px; max-width:820px; margin:0 auto;}\n  .ns-spec{background:#fff; border:1px solid rgba(183,110,121,.24); border-radius:14px; padding:14px; color:#2a2e35; box-shadow:0 6px 18px rgba(20,22,26,.06);}\n  .ns-spec strong{display:block; margin-bottom:4px; color:#13151a;}\n\n  \/* Steps list *\/\n  .ns-steps-list{max-width:820px; margin:0 auto; background:#fff; border:1px solid\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52226017820888,"sku":null,"price":1299.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-25at10.1_6aefa8a5-2667-4334-a8fc-7886502d284e.jpg?v=1786539249"},{"product_id":"novea™-4-tip-brow-tint-pen","title":"NOVÉA™ 4-Tip Brow Tint Pen","description":"\u003c!-- NOVÉA™ 4-Tip Brow Tint Pen — Mobile-first, premium animated product description (light theme, with Shades, no add-to-cart) --\u003e\n\u003cdiv class=\"novea-brow\" id=\"novea-brow\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nb-hero\"\u003e\n\u003cdiv class=\"nb-hero-inner\"\u003e\n\u003cspan class=\"nb-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"nb-title\"\u003e4‑Tip Brow Tint Pen\u003c\/h1\u003e\n\u003cp class=\"nb-sub\"\u003eBrows That Look Done — Without the Salon Price Tag.\u003c\/p\u003e\n\u003cp class=\"nb-tagline\"\u003eFour ultra‑fine precision tips mimic real hair strokes for naturally full, defined brows in seconds — no stencils, no mess, no expertise.\u003c\/p\u003e\n\u003cdiv class=\"nb-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"nb-orb nb-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"nb-orb nb-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"nb-usp\" role=\"list\"\u003e\n\u003cli class=\"nb-chip\"\u003e4‑fork micro‑tip\u003c\/li\u003e\n\u003cli class=\"nb-chip\"\u003eSmudge \u0026amp; sweat‑resistant\u003c\/li\u003e\n\u003cli class=\"nb-chip\"\u003eBuildable coverage\u003c\/li\u003e\n\u003cli class=\"nb-chip\"\u003eFeatherlight hair‑strokes\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!-- Shades --\u003e\n\u003cdiv class=\"nb-shades\"\u003e\n\u003cspan class=\"nb-chip nb-chip--shade\"\u003eDeep Brown\u003c\/span\u003e \u003cspan class=\"nb-chip nb-chip--shade\"\u003eLight Brown\u003c\/span\u003e \u003cspan class=\"nb-chip nb-chip--shade\"\u003eNatural Black\u003c\/span\u003e \u003cspan class=\"nb-chip nb-chip--shade\"\u003eReddish Brown\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (tap-to-expand) --\u003e\n\u003csection class=\"nb-section\" id=\"nb-benefits\"\u003e\n\u003ch2 class=\"nb-center\"\u003eWhat your brows gain\u003c\/h2\u003e\n\u003cdiv class=\"nb-grid nb-1\"\u003e\n\u003carticle class=\"nb-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nb-ico\"\u003e🌿\u003c\/span\u003e\n\u003ch3\u003eNatural hair‑stroke effect\u003c\/h3\u003e\n\u003cp\u003eFour micro‑tips draw realistic, individual strokes that blend seamlessly with your natural brow hair.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nb-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nb-ico\"\u003e🎯\u003c\/span\u003e\n\u003ch3\u003ePerfectly defined arches\u003c\/h3\u003e\n\u003cp\u003eFill gaps, refine shape, and add depth for a polished, sculpted look — fast.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nb-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nb-ico\"\u003e💧\u003c\/span\u003e\n\u003ch3\u003eLong‑lasting colour\u003c\/h3\u003e\n\u003cp\u003eSmudge‑proof, sweat‑resistant tint that stays put all day without flaking.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nb-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nb-ico\"\u003e✨\u003c\/span\u003e\n\u003ch3\u003eEffortless application\u003c\/h3\u003e\n\u003cp\u003eNo brow skills needed — the 4‑tip design does the work for you with featherlight passes.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nb-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nb-ico\"\u003e🏠\u003c\/span\u003e\n\u003ch3\u003eSalon‑quality at home\u003c\/h3\u003e\n\u003cp\u003eMicroblading‑inspired finish without the cost or commitment.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nb-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nb-ico\"\u003e⬆️\u003c\/span\u003e\n\u003ch3\u003eBuildable coverage\u003c\/h3\u003e\n\u003cp\u003eLight strokes for natural daytime definition; layer for bold, editorial arches.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scroll; all steps visible) --\u003e\n\u003csection class=\"nb-section nb-dark\" id=\"nb-how\"\u003e\n\u003ch2 class=\"nb-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"nb-steps\"\u003e\n\u003cdiv class=\"nb-step\"\u003e\n\u003cspan class=\"nb-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003eShake \u0026amp; prep\u003c\/h4\u003e\n\u003cp\u003eStart with clean, dry brows and gently shake the pen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-step\"\u003e\n\u003cspan class=\"nb-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003eFeather upward\u003c\/h4\u003e\n\u003cp\u003ePress lightly and draw short, upward strokes following hair direction.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-step\"\u003e\n\u003cspan class=\"nb-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eDefine the arch\u003c\/h4\u003e\n\u003cp\u003eUse the 4‑tip edge to fill sparse areas and refine the tail.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-step\"\u003e\n\u003cspan class=\"nb-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eBuild \u0026amp; set\u003c\/h4\u003e\n\u003cp\u003eLayer for intensity, allow 30s to dry, then set with clear gel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-inline-media\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"nb-section\" id=\"nb-specs\"\u003e\n\u003ch2 class=\"nb-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"nb-specs\"\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003eTip design\u003c\/strong\u003e\u003cspan\u003e4‑fork micro‑tip applicator\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003eFormula\u003c\/strong\u003e\u003cspan\u003eLong‑wearing liquid tint — smudge \u0026amp; sweat‑resistant\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\u003cspan\u003eNatural, feathered hair‑stroke effect\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003eCoverage\u003c\/strong\u003e\u003cspan\u003eBuildable — subtle to bold\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003eShade\u003c\/strong\u003e\u003cspan\u003eDeep Brown, Light Brown, Natural Black, Reddish Brown\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\u003cspan\u003eMatte black with rose‑gold foil, South African flag\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nb-spec\"\u003e\n\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003cspan\u003eProudly South African\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"nb-section nb-soft\" id=\"nb-use\"\u003e\n\u003ch2 class=\"nb-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"nb-steps-list\"\u003e\n\u003cli\u003eStart with clean, dry brows\u003c\/li\u003e\n\u003cli\u003eShake the pen gently before use\u003c\/li\u003e\n\u003cli\u003eUsing light, upward strokes, draw hair‑like lines with the 4‑tip\u003c\/li\u003e\n\u003cli\u003eLayer strokes to build desired fullness and definition\u003c\/li\u003e\n\u003cli\u003eAllow to dry for 30 seconds for a smudge‑proof finish\u003c\/li\u003e\n\u003cli\u003eSet with a clear brow gel for all‑day hold\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"nb-section nb-dark\"\u003e\n\u003ch2 class=\"nb-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"nb-included\"\u003e\n\u003cspan class=\"nb-chip\"\u003eNOVÉA™ 4‑Tip Brow Tint Pen\u003c\/span\u003e \u003cspan class=\"nb-chip\"\u003ePremium matte black NOVÉA™ gift box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"nb-section nb-cta\" id=\"nb-cta\"\u003e\n\u003cdiv class=\"nb-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause your brows frame everything — make them count.\u003c\/h3\u003e\n\u003cp\u003eFeatherlight strokes. Microbladed look. Zero learning curve.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, LIGHT THEME + ROSE-GOLD ACCENTS *\/\n  :root{\n    --bg:#fbfafc; --panel:#ffffff; --soft:#f6f4f8;\n    --text:#17191f; --mute:#5f6470;\n    --border:rgba(23,25,31,.10); --shadow:0 8px 22px rgba(17,19,24,.08);\n    --radius:14px; --rg:#b76e79; --rg-soft:#e9c5cd; --rg-wash:#fdeff2;\n  }\n\n  .novea-brow{\n    background:\n      radial-gradient(1100px 520px at 12% -10%, rgba(183,110,121,.18), transparent 55%),\n      radial-gradient(900px 520px at 110% -8%, rgba(233,197,205,.16), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Sections \u0026 Layout *\/\n  .nb-section{padding:56px 16px;}\n  .nb-soft{background:var(--soft);}\n  .nb-dark{background:var(--panel);}\n  .nb-center{text-align:center;}\n  .nb-grid{display:grid; gap:14px; max-width:1100px; margin:0 auto;}\n  .nb-grid.nb-1{grid-template-columns:1fr;}\n  @media(min-width:960px){ .nb-grid.nb-1{grid-template-columns:repeat(3,1fr);} }\n\n  \/* HERO *\/\n  .nb-hero{\n    padding:86px 16px 32px;\n    background:\n      radial-gradient(900px 480px at 15% -10%, rgba(233,197,205,.22), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n  }\n  .nb-hero-inner{max-width:1100px; margin:0 auto; text-align:center;}\n  .nb-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:800; font-size:12px; color:#2a2e35;}\n  .nb-title{font-size:clamp(28px,6.5vw,48px); margin:.55rem 0 .25rem; line-height:1.08; color:#16181d;}\n  .nb-sub{color:#8f5560; font-weight:700; font-size:clamp(16px,4.2vw,18px); margin:0 0 8px;}\n  .nb-tagline{color:var(--mute); max-width:720px; margin:0 auto 16px; font-size:clamp(14px,3.7vw,16px);}\n\n  .nb-hero-media{position:relative; max-width:860px; margin:22px auto 6px; display:grid; place-items:center;}\n  .nb-hero-img{width:100%; height:auto; border-radius:16px; background:#fff; box-shadow:0 14px 36px rgba(17,19,24,.10); border:1px solid rgba(23,25,31,.06); transform:translateZ(0); transition:transform .6s ease;}\n  .nb-orb{position:absolute; border-radius:50%; filter:blur(14px); opacity:.22; mix-blend-mode:multiply;}\n  .nb-orb-1{width:180px; height:180px; background:rgba(183,110,121,.35); left:4%; top:24%;}\n  .nb-orb-2{width:200px; height:200px; background:rgba(233,197,205,.28); right:3%; top:8%;}\n\n  .nb-usp{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; padding:0; list-style:none;}\n  .nb-chip{border-radius:999px; padding:8px 14px; background:#fff; border:1px solid var(--border); color:#373c45; font-size:13px; box-shadow:0 4px 12px rgba(17,19,24,.06);}\n\n  \/* Shades row *\/\n  .nb-shades{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:12px 0 0;}\n  .nb-chip--shade{border-color:rgba(183,110,121,.30); box-shadow:0 4px 12px rgba(183,110,121,.10); background:#fff;}\n\n  \/* Feature cards (interactive) *\/\n  .nb-feature{\n    position:relative; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow); cursor:pointer; user-select:none;\n    transition:transform .2s ease, box-shadow .2s ease;\n  }\n  .nb-feature:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,24,.12);}\n  .nb-feature h3{margin:6px 26px 6px 0; font-size:18px; color:#1b1e25;}\n  .nb-feature p{margin:0; color:#3c4350; font-size:15px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease;}\n  .nb-feature::after{content:\"▾\"; position:absolute; right:12px; top:16px; font-size:14px; color:#6a7180; transition:transform .2s ease;}\n  .nb-feature.is-open p{max-height:240px; opacity:1; margin-top:4px;}\n  .nb-feature.is-open::after{transform:rotate(180deg);}\n  .nb-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* Steps (no horizontal scroll) *\/\n  .nb-steps{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto 12px;}\n  @media(min-width:720px){ .nb-steps{grid-template-columns:1fr 1fr;} }\n  @media(min-width:1100px){ .nb-steps{grid-template-columns:repeat(4,1fr);} }\n  .nb-step{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow);}\n  .nb-step h4{margin:6px 0 6px; font-size:16px; color:#1b1e25;}\n  .nb-step p{margin:0; color:#3b424c; font-size:14px;}\n  .nb-step-num{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(180deg, var(--rg-wash), var(--rg)); color:#1a1c22; font-weight:800; margin-bottom:8px; box-shadow:0 6px 16px rgba(183,110,121,.18); font-size:14px;}\n\n  \/* Media strip *\/\n  .nb-inline-media{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .nb-inline-media{grid-template-columns:repeat(3,1fr);} }\n  .nb-inline-media img{width:100%; height:auto; border-radius:16px; background:#fff; border:1px solid rgba(23,25,31,.12); box-shadow:0 10px 26px rgba(17,19,24,.08); transition:transform .35s ease;}\n  .nb-inline-media img:hover{transform:translateY(-4px);}\n\n  \/* Specs *\/\n  .nb-specs{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .nb-specs{grid-template-columns:repeat(3,1fr);} }\n  .nb-spec{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow);}\n  .nb-spec strong{display:block; margin-bottom:6px; color:#16181d;}\n  .nb-spec span{color:#475062; font-size:14px;}\n\n  \/* Steps list *\/\n  .nb-steps-list{max-width:900px; margin:0 auto; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow); color:#2a2e35;}\n  .nb-steps-list li{margin:6px 0;}\n\n  \/* Included *\/\n  .nb-included{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:8px 0 0;}\n  .nb-included .nb-chip{transition:transform .2s ease;}\n  .nb-included .nb-chip:hover{transform:translateY(-2px);}\n\n  \/* CTA *\/\n  .nb-cta{background:linear-gradient(180deg, rgba(248,230,234,.25), rgba(233,197,205,.18)); border-top:1px solid rgba(183,110,121,.30);}\n  .nb-cta-inner{max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}\n  .nb-cta-inner h3{margin:0 0 6px; color:#15171d;}\n  .nb-cta-inner p{margin:0; color:#535a66;}\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Reddish Brown","offer_id":52227479011544,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true},{"title":"Deep Brown","offer_id":52227479044312,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true},{"title":"Light brown","offer_id":52227479077080,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true},{"title":"Natural Black","offer_id":52227479109848,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-22at00.09.55_7_9bc49862-08be-4ba3-9880-dc2e4b3cc177.jpg?v=1786556286"},{"product_id":"novea™-heated-lash-lift-curler","title":"NOVÉA™ Heated Lash Lift Curler","description":"\u003c!-- NOVÉA™ Heated Lash Lift Curler — Mobile-first, premium animated product description (light theme, no add-to-cart) --\u003e\n\u003cdiv class=\"novea-lash\" id=\"novea-lash\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nl-hero\"\u003e\n\u003cdiv class=\"nl-hero-inner\"\u003e\n\u003cspan class=\"nl-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"nl-title\"\u003eHeated Lash Lift Curler\u003c\/h1\u003e\n\u003cp class=\"nl-sub\"\u003eWide-Open, Lifted Lashes — No Mascara Required.\u003c\/p\u003e\n\u003cp class=\"nl-tagline\"\u003eGentle, consistent heat lifts and sets a smooth, lasting curl — no crimping, no pinching, no damage.\u003c\/p\u003e\n\u003cdiv class=\"nl-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"nl-orb nl-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"nl-orb nl-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"nl-usp\" role=\"list\"\u003e\n\u003cli class=\"nl-chip\"\u003eHeat‑set curl\u003c\/li\u003e\n\u003cli class=\"nl-chip\"\u003eReady in seconds\u003c\/li\u003e\n\u003cli class=\"nl-chip\"\u003eUSB rechargeable\u003c\/li\u003e\n\u003cli class=\"nl-chip\"\u003eNo pinching\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!-- Colours --\u003e\n\u003cdiv class=\"nl-colours\"\u003e\n\u003cspan class=\"nl-chip nl-chip--colour\"\u003eBlush Pink\u003c\/span\u003e \u003cspan class=\"nl-chip nl-chip--colour\"\u003eWhite\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (tap-to-expand) --\u003e\n\u003csection class=\"nl-section\" id=\"nl-benefits\"\u003e\n\u003ch2 class=\"nl-center\"\u003eWhat your eyes gain\u003c\/h2\u003e\n\u003cdiv class=\"nl-grid nl-1\"\u003e\n\u003carticle class=\"nl-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nl-ico\"\u003e🌟\u003c\/span\u003e\n\u003ch3\u003eDramatic, long‑lasting curl\u003c\/h3\u003e\n\u003cp\u003eHeat‑set curl holds significantly longer than traditional mechanical curlers.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nl-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nl-ico\"\u003e👁️\u003c\/span\u003e\n\u003ch3\u003eWide‑open eye effect\u003c\/h3\u003e\n\u003cp\u003eLifted lashes instantly make eyes appear larger, brighter, and more awake.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nl-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nl-ico\"\u003e🪶\u003c\/span\u003e\n\u003ch3\u003eGentle on lashes\u003c\/h3\u003e\n\u003cp\u003eEven, controlled warmth eliminates the pinching and breakage of cold curlers.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nl-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nl-ico\"\u003e💄\u003c\/span\u003e\n\u003ch3\u003eWorks with or without mascara\u003c\/h3\u003e\n\u003cp\u003eCurl first for a natural look, or curl before mascara for maximum volume and lift.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nl-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nl-ico\"\u003e⚡\u003c\/span\u003e\n\u003ch3\u003eQuick \u0026amp; effortless\u003c\/h3\u003e\n\u003cp\u003eHeats up in seconds and curls in one smooth, controlled motion.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nl-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nl-ico\"\u003e🧳\u003c\/span\u003e\n\u003ch3\u003eTravel‑friendly\u003c\/h3\u003e\n\u003cp\u003eCompact, cordless design fits easily in any makeup bag.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scroll; all steps visible) --\u003e\n\u003csection class=\"nl-section nl-dark\" id=\"nl-how\"\u003e\n\u003ch2 class=\"nl-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"nl-steps\"\u003e\n\u003cdiv class=\"nl-step\"\u003e\n\u003cspan class=\"nl-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003ePower on\u003c\/h4\u003e\n\u003cp\u003ePress the button and wait for the indicator light to signal it’s ready.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-step\"\u003e\n\u003cspan class=\"nl-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003ePosition at the root\u003c\/h4\u003e\n\u003cp\u003ePlace the heated pad at the base of your upper lashes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-step\"\u003e\n\u003cspan class=\"nl-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eLift \u0026amp; hold\u003c\/h4\u003e\n\u003cp\u003eGently press for 10–15 seconds; repeat along the lash line.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-step\"\u003e\n\u003cspan class=\"nl-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eSet the lift\u003c\/h4\u003e\n\u003cp\u003eApply mascara immediately after for maximum volume and hold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"nl-section\" id=\"nl-specs\"\u003e\n\u003ch2 class=\"nl-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"nl-specs\"\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003eTechnology\u003c\/strong\u003e\u003cspan\u003eBuilt‑in heating element with temperature‑controlled pad\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003eHeat‑Up Time\u003c\/strong\u003e\u003cspan\u003eReady in seconds\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003eOperation\u003c\/strong\u003e\u003cspan\u003eSingle power button + indicator light\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\u003cspan\u003eUSB rechargeable — cordless and portable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003eDesign\u003c\/strong\u003e\u003cspan\u003eErgonomic scissor‑grip for precision\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003eAvailable Colours\u003c\/strong\u003e\u003cspan\u003eBlush Pink | White\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\u003cspan\u003eMatte black NOVÉA™ gift box, rose‑gold foil, South African flag\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nl-spec\"\u003e\n\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003cspan\u003eProudly South African\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"nl-section nl-soft\" id=\"nl-use\"\u003e\n\u003ch2 class=\"nl-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"nl-steps-list\"\u003e\n\u003cli\u003ePress the power button; wait for the ready light\u003c\/li\u003e\n\u003cli\u003ePlace the heated pad at the lash root\u003c\/li\u003e\n\u003cli\u003eGently press and hold 10–15 seconds\u003c\/li\u003e\n\u003cli\u003eRelease and repeat along the lash line\u003c\/li\u003e\n\u003cli\u003eApply mascara immediately for maximum lift\u003c\/li\u003e\n\u003cli\u003eCharge via USB after use\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"nl-section nl-dark\"\u003e\n\u003ch2 class=\"nl-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"nl-included\"\u003e\n\u003cspan class=\"nl-chip\"\u003eNOVÉA™ Heated Lash Lift Curler (Blush Pink or White)\u003c\/span\u003e \u003cspan class=\"nl-chip\"\u003eUSB charging cable\u003c\/span\u003e \u003cspan class=\"nl-chip\"\u003ePremium matte black NOVÉA™ gift box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"nl-section nl-cta\" id=\"nl-cta\"\u003e\n\u003cdiv class=\"nl-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause wide‑open eyes change everything.\u003c\/h3\u003e\n\u003cp\u003eLift, set, and go — your soft‑focus lash lift, anytime.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, LIGHT THEME + ROSE-GOLD ACCENTS *\/\n  :root{\n    --bg:#ffffff; --panel:#ffffff; --soft:#faf7fb;\n    --text:#16181d; --mute:#5f6470;\n    --border:rgba(23,25,31,.10); --shadow:0 8px 22px rgba(17,19,24,.08);\n    --radius:14px;\n    --rg:#b76e79; --rg-soft:#e9c5cd; --rg-wash:#fbe8ee;\n    --pk:#f7c9d8; --li:#d9ccff; \/* blush + lilac wash *\/\n  }\n\n  .novea-lash{\n    background:\n      radial-gradient(900px 500px at 12% -10%, rgba(247,201,216,.25), transparent 55%),\n      radial-gradient(760px 440px at 108% -8%, rgba(217,204,255,.20), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Sections \u0026 Layout *\/\n  .nl-section{padding:56px 16px;}\n  .nl-soft{background:var(--soft);}\n  .nl-dark{background:var(--panel);}\n  .nl-center{text-align:center;}\n  .nl-grid{display:grid; gap:14px; max-width:1100px; margin:0 auto;}\n  .nl-grid.nl-1{grid-template-columns:1fr;}\n  @media(min-width:960px){ .nl-grid.nl-1{grid-template-columns:repeat(3,1fr);} }\n\n  \/* HERO *\/\n  .nl-hero{\n    padding:86px 16px 32px;\n    background:\n      radial-gradient(940px 520px at 18% -10%, rgba(233,197,205,.24), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n  }\n  .nl-hero-inner{max-width:1100px; margin:0 auto; text-align:center;}\n  .nl-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:800; font-size:12px; color:#2a2e35;}\n  .nl-title{font-size:clamp(28px,6.5vw,48px); margin:.55rem 0 .25rem; line-height:1.08; color:#15171d;}\n  .nl-sub{color:#8f5560; font-weight:700; font-size:clamp(16px,4.2vw,18px); margin:0 0 8px;}\n  .nl-tagline{color:var(--mute); max-width:720px; margin:0 auto 16px; font-size:clamp(14px,3.7vw,16px);}\n\n  .nl-hero-media{position:relative; max-width:860px; margin:22px auto 6px; display:grid; place-items:center;}\n  .nl-hero-img{width:100%; height:auto; border-radius:16px; background:#fff; box-shadow:0 14px 36px rgba(17,19,24,.10); border:1px solid rgba(23,25,31,.06); transform:translateZ(0); transition:transform .6s ease;}\n  .nl-orb{position:absolute; border-radius:50%; filter:blur(14px); opacity:.24; mix-blend-mode:multiply;}\n  .nl-orb-1{width:180px; height:180px; background:rgba(247,201,216,.45); left:4%; top:24%;}\n  .nl-orb-2{width:200px; height:200px; background:rgba(217,204,255,.30); right:3%; top:8%;}\n\n  .nl-usp{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; padding:0; list-style:none;}\n  .nl-chip{border-radius:999px; padding:8px 14px; background:#fff; border:1px solid var(--border); color:#373c45; font-size:13px; box-shadow:0 4px 12px rgba(17,19,24,.06);}\n\n  \/* Colours *\/\n  .nl-colours{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:12px 0 0;}\n  .nl-chip--colour{border-color:rgba(183,110,121,.30); box-shadow:0 4px 12px rgba(183,110,121,.10);}\n\n  \/* Feature cards (interactive) *\/\n  .nl-feature{\n    position:relative; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow); cursor:pointer; user-select:none;\n    transition:transform .2s ease, box-shadow .2s ease;\n  }\n  .nl-feature:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,24,.12);}\n  .nl-feature h3{margin:6px 26px 6px 0; font-size:18px; color:#1b1e25;}\n  .nl-feature p{margin:0; color:#3c4350; font-size:15px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease;}\n  .nl-feature::after{content:\"▾\"; position:absolute; right:12px; top:16px; font-size:14px; color:#6a7180; transition:transform .2s ease;}\n  .nl-feature.is-open p{max-height:240px; opacity:1; margin-top:4px;}\n  .nl-feature.is-open::after{transform:rotate(180deg);}\n  .nl-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* Steps (no horizontal scroll) *\/\n  .nl-steps{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto 12px;}\n  @media(min-width:720px){ .nl-steps{grid-template-columns:1fr 1fr;} }\n  @media(min-width:1100px){ .nl-steps{grid-template-columns:repeat(4,1fr);} }\n  .nl-step{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow);}\n  .nl-step h4{margin:6px 0 6px; font-size:16px; color:#1b1e25;}\n  .nl-step p{margin:0; color:#3b424c; font-size:14px;}\n  .nl-step-num{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(180deg, var(--rg-wash), var(--rg)); color:#1a1c22; font-weight:800; margin-bottom:8px; box-shadow:0 6px 16px rgba(183,110,121,.18); font-size:14px;}\n\n  \/* Media strip *\/\n  .nl-inline-media{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .nl-inline-media{grid-template-columns:repeat(3,1fr);} }\n  .nl-inline-media img{width:100%; height:auto; border-radius:16px; background:#fff; border:1px solid rgba(23,25,31,.12); box-shadow:0 10px 26px rgba(17,19,24,.08); transition:transform .35s ease;}\n  .nl-inline-media img:hover{transform:translateY(-4px);}\n\n  \/* Specs *\/\n  .nl-specs{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .nl-specs{grid-template-columns:repeat(3,1fr);} }\n  .nl-spec{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow);}\n  .nl-spec strong{display:block; margin-bottom:6px; color:#16181d;}\n  .nl-spec span{color:#475062; font-size:14px;}\n\n  \/* Steps list *\/\n  .nl-steps-list{max-width:900px; margin:0 auto; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow); color:#2a2e35;}\n  .nl-steps-list li{margin:6px 0;}\n\n  \/* Included *\/\n  .nl-included{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:8px 0 0;}\n  .nl-included .nl-chip{transition:transform .2s ease;}\n  .nl-included .nl-chip:hover{transform:translateY(-2px);}\n\n  \/* CTA *\/\n  .nl-cta{background:linear-gradient(180deg, rgba(251,232,238,.35), rgba(233,197,205,.22)); border-top:1px solid rgba(183,110,121,.30);}\n  .nl-cta-inner{max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}\n  .nl-cta-inner h3{margin:0 0 6px; color:#15171d;}\n  .nl-cta-inner p{margin:0; color:#535a66;}\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Pink","offer_id":52234774184152,"sku":null,"price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":52234774216920,"sku":null,"price":379.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/nov-a-electric-eyelash-curler-studio-hero_ad0e21b3-c297-47ea-878f-f0219e1bca12.png?v=1786559054"},{"product_id":"novea™-sculpted-brow-gel","title":"NOVÉA™ Sculpted Brow Gel","description":"\u003c!-- NOVÉA™ Sculpted Brow Gel — Mobile-first, premium animated product description (light theme, no add-to-cart) --\u003e\n\u003cdiv class=\"novea-gel\" id=\"novea-gel\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"sg-hero\"\u003e\n\u003cdiv class=\"sg-hero-inner\"\u003e\n\u003cspan class=\"sg-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"sg-title\"\u003eSculpted Brow Gel\u003c\/h1\u003e\n\u003cp class=\"sg-sub\"\u003eBrows That Stay Sculpted All Day — Effortlessly.\u003c\/p\u003e\n\u003cp class=\"sg-tagline\"\u003eTames, shapes, and sets in one stroke for clean, defined arches that hold from morning to night — no stiffness, no flakes.\u003c\/p\u003e\n\u003cdiv class=\"sg-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"sg-orb sg-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"sg-orb sg-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"sg-usp\" role=\"list\"\u003e\n\u003cli class=\"sg-chip\"\u003eAll‑day flexible hold\u003c\/li\u003e\n\u003cli class=\"sg-chip\"\u003eNon‑sticky, no flakes\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli class=\"sg-chip\"\u003eClear, weightless finish\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (tap-to-expand) --\u003e\n\u003csection class=\"sg-section\" id=\"sg-benefits\"\u003e\n\u003ch2 class=\"sg-center\"\u003eWhat your brows gain\u003c\/h2\u003e\n\u003cdiv class=\"sg-grid sg-1\"\u003e\n\u003carticle class=\"sg-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sg-ico\"\u003e🧲\u003c\/span\u003e\n\u003ch3\u003eAll‑day hold\u003c\/h3\u003e\n\u003cp\u003eLightweight gel locks brows in place without stiffness or flaking — even in heat and humidity.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sg-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sg-ico\"\u003e✨\u003c\/span\u003e\n\u003ch3\u003eNatural, groomed finish\u003c\/h3\u003e\n\u003cp\u003eBrushes hairs into place for a clean, polished look that never feels crunchy or looks overdone.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sg-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sg-ico\"\u003e🪮\u003c\/span\u003e\n\u003ch3\u003eTames unruly hairs\u003c\/h3\u003e\n\u003cp\u003eControls stubborn, coarse, or sparse hairs with precision — from fluffy to sleek.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sg-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sg-ico\"\u003e🎯\u003c\/span\u003e\n\u003ch3\u003eEnhances shape\u003c\/h3\u003e\n\u003cp\u003eDefines your natural arch and adds subtle fullness and depth in seconds.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sg-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sg-ico\"\u003e🧩\u003c\/span\u003e\n\u003ch3\u003eLayerable\u003c\/h3\u003e\n\u003cp\u003eWear alone for a fresh look, or layer over tint\/powder for a locked‑in, laminated effect.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sg-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sg-ico\"\u003e🪶\u003c\/span\u003e\n\u003ch3\u003eLightweight feel\u003c\/h3\u003e\n\u003cp\u003eInvisible, comfortable hold — you won’t feel it, but your brows will stay put.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scroll; all steps visible) --\u003e\n\u003csection class=\"sg-section sg-dark\" id=\"sg-how\"\u003e\n\u003ch2 class=\"sg-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"sg-steps\"\u003e\n\u003cdiv class=\"sg-step\"\u003e\n\u003cspan class=\"sg-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003eCoat evenly\u003c\/h4\u003e\n\u003cp\u003eDual‑ended precision spoolie picks up the perfect amount for smooth, even distribution.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-step\"\u003e\n\u003cspan class=\"sg-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003eBrush \u0026amp; place\u003c\/h4\u003e\n\u003cp\u003eComb hairs in your natural direction for a clean, groomed shape — or brush up for fluffy lift.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-step\"\u003e\n\u003cspan class=\"sg-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eSet to flex\u003c\/h4\u003e\n\u003cp\u003eFlexible polymers dry down to a non‑sticky, natural hold that moves with your expressions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-step\"\u003e\n\u003cspan class=\"sg-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eLock the look\u003c\/h4\u003e\n\u003cp\u003eLayer over brow tint or powder for added fullness and an all‑day, sculpted finish.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"sg-section\" id=\"sg-specs\"\u003e\n\u003ch2 class=\"sg-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"sg-specs\"\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003eFormula\u003c\/strong\u003e\u003cspan\u003eClear, lightweight, flexible‑hold gel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\u003cspan\u003eNatural, non‑sticky, non‑flaking\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003eApplicator\u003c\/strong\u003e\u003cspan\u003eDual‑ended precision spoolie for controlled application\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003eHold\u003c\/strong\u003e\u003cspan\u003eAll‑day — sweat \u0026amp; humidity resistant\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003eTube\u003c\/strong\u003e\u003cspan\u003eClear glass‑effect tube, black cap, rose‑gold accent ring\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\u003cspan\u003eMatte black NOVÉA™ gift box with rose‑gold foil \u0026amp; South African flag\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sg-spec\"\u003e\n\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003cspan\u003eProudly South African\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"sg-section sg-soft\" id=\"sg-use\"\u003e\n\u003ch2 class=\"sg-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"sg-steps-list\"\u003e\n\u003cli\u003eStart with clean, dry brows\u003c\/li\u003e\n\u003cli\u003eRemove wand and wipe excess on tube rim\u003c\/li\u003e\n\u003cli\u003eBrush hairs upward and outward following natural direction\u003c\/li\u003e\n\u003cli\u003eShape and define your arch to your desired look\u003c\/li\u003e\n\u003cli\u003eAllow 30 seconds to set for all‑day hold\u003c\/li\u003e\n\u003cli\u003eLayer over brow tint or powder for a locked‑in finish\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"sg-section sg-dark\"\u003e\n\u003ch2 class=\"sg-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"sg-included\"\u003e\n\u003cspan class=\"sg-chip\"\u003eNOVÉA™ Sculpted Brow Gel\u003c\/span\u003e \u003cspan class=\"sg-chip\"\u003ePremium matte black NOVÉA™ gift box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"sg-section sg-cta\" id=\"sg-cta\"\u003e\n\u003cdiv class=\"sg-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause sculpted brows don't happen by accident.\u003c\/h3\u003e\n\u003cp\u003eTame, shape, and set — in one effortless sweep.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, LIGHT THEME + ROSE-GOLD ACCENTS *\/\n  :root{\n    --bg:#ffffff; --panel:#ffffff; --soft:#f6f4f8;\n    --text:#17191f; --mute:#5f6470;\n    --border:rgba(23,25,31,.10); --shadow:0 8px 22px rgba(17,19,24,.08);\n    --radius:14px;\n    --rg:#b76e79; --rg-soft:#e9c5cd; --rg-wash:#fdeff2;\n  }\n\n  .novea-gel{\n    background:\n      radial-gradient(1000px 520px at 12% -10%, rgba(183,110,121,.16), transparent 55%),\n      radial-gradient(900px 520px at 110% -8%, rgba(233,197,205,.14), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Sections \u0026 Layout *\/\n  .sg-section{padding:56px 16px;}\n  .sg-soft{background:var(--soft);}\n  .sg-dark{background:var(--panel);}\n  .sg-center{text-align:center;}\n  .sg-grid{display:grid; gap:14px; max-width:1100px; margin:0 auto;}\n  .sg-grid.sg-1{grid-template-columns:1fr;}\n  @media(min-width:960px){ .sg-grid.sg-1{grid-template-columns:repeat(3,1fr);} }\n\n  \/* HERO *\/\n  .sg-hero{\n    padding:86px 16px 32px;\n    background:\n      radial-gradient(900px 480px at 15% -10%, rgba(233,197,205,.22), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n  }\n  .sg-hero-inner{max-width:1100px; margin:0 auto; text-align:center;}\n  .sg-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:800; font-size:12px; color:#2a2e35;}\n  .sg-title{font-size:clamp(28px,6.5vw,48px); margin:.55rem 0 .25rem; line-height:1.08; color:#16181d;}\n  .sg-sub{color:#8f5560; font-weight:700; font-size:clamp(16px,4.2vw,18px); margin:0 0 8px;}\n  .sg-tagline{color:var(--mute); max-width:720px; margin:0 auto 16px; font-size:clamp(14px,3.7vw,16px);}\n\n  .sg-hero-media{position:relative; max-width:860px; margin:22px auto 6px; display:grid; place-items:center;}\n  .sg-hero-img{width:100%; height:auto; border-radius:16px; background:#fff; box-shadow:0 14px 36px rgba(17,19,24,.10); border:1px solid rgba(23,25,31,.06); transform:translateZ(0); transition:transform .6s ease;}\n  .sg-orb{position:absolute; border-radius:50%; filter:blur(14px); opacity:.22; mix-blend-mode:multiply;}\n  .sg-orb-1{width:180px; height:180px; background:rgba(183,110,121,.35); left:4%; top:24%;}\n  .sg-orb-2{width:200px; height:200px; background:rgba(233,197,205,.28); right:3%; top:8%;}\n\n  .sg-usp{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; padding:0; list-style:none;}\n  .sg-chip{border-radius:999px; padding:8px 14px; background:#fff; border:1px solid var(--border); color:#373c45; font-size:13px; box-shadow:0 4px 12px rgba(17,19,24,.06);}\n\n  \/* Feature cards (interactive) *\/\n  .sg-feature{\n    position:relative; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow); cursor:pointer; user-select:none;\n    transition:transform .2s ease, box-shadow .2s ease;\n  }\n  .sg-feature:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,24,.12);}\n  .sg-feature h3{margin:6px 26px 6px 0; font-size:18px; color:#1b1e25;}\n  .sg-feature p{margin:0; color:#3c4350; font-size:15px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease;}\n  .sg-feature::after{content:\"▾\"; position:absolute; right:12px; top:16px; font-size:14px; color:#6a7180; transition:transform .2s ease;}\n  .sg-feature.is-open p{max-height:240px; opacity:1; margin-top:4px;}\n  .sg-feature.is-open::after{transform:rotate(180deg);}\n  .sg-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* Steps (no horizontal scroll) *\/\n  .sg-steps{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto 12px;}\n  @media(min-width:720px){ .sg-steps{grid-template-columns:1fr 1fr;} }\n  @media(min-width:1100px){ .sg-steps{grid-template-columns:repeat(4,1fr);} }\n  .sg-step{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow);}\n  .sg-step h4{margin:6px 0 6px; font-size:16px; color:#1b1e25;}\n  .sg-step p{margin:0; color:#3b424c; font-size:14px;}\n  .sg-step-num{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(180deg, var(--rg-wash), var(--rg)); color:#1a1c22; font-weight:800; margin-bottom:8px; box-shadow:0 6px 16px rgba(183,110,121,.18); font-size:14px;}\n\n  \/* Media strip *\/\n  .sg-inline-media{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .sg-inline-media{grid-template-columns:repeat(3,1fr);} }\n  .sg-inline-media img{width:100%; height:auto; border-radius:16px; background:#fff; border:1px solid rgba(23,25,31,.12); box-shadow:0 10px 26px rgba(17,19,24,.08); transition:transform .35s ease;}\n  .sg-inline-media img:hover{transform:translateY(-4px);}\n\n  \/* Specs *\/\n  .sg-specs{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .sg-specs{grid-template-columns:repeat(3,1fr);} }\n  .sg-spec{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow);}\n  .sg-spec strong{display:block; margin-bottom:6px; color:#16181d;}\n  .sg-spec span{color:#475062; font-size:14px;}\n\n  \/* Steps list *\/\n  .sg-steps-list{max-width:900px; margin:0 auto; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow); color:#2a2e35;}\n  .sg-steps-list li{margin:6px 0;}\n\n  \/* Included *\/\n  .sg-included{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:8px 0 0;}\n  .sg-included .sg-chip{transition:transform .2s ease;}\n  .sg-included .sg-chip:hover{transform:translateY(-2px);}\n\n  \/* CTA *\/\n  .sg-cta{background:linear-gradient(180deg, rgba(248,230,234,.25), rgba(233,197,205,.18)); border-top:1px solid rgba(183,110,121,.30);}\n  .sg-cta-inner{max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}\n  .sg-cta-inner h3{margin:0 0 6px; color:#15171d;}\n  .sg-cta-inner p{margin:0; color:#535a66;}\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52227153101016,"sku":null,"price":329.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-22at00.09.55_5.jpg?v=1786559946"},{"product_id":"novea™-sculpt-glow-face-massager","title":"NOVÉA™ Sculpt \u0026 Glow Face Massager","description":"\u003c!-- NOVÉA™ Sculpt \u0026 Glow Face \u0026 Neck Massager — Mobile-first, premium animated product description (7‑color LED, spaced chips, no add-to-cart) --\u003e\n\u003cdiv class=\"novea-sculpt\" id=\"novea-sculpt\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"sgf-hero\"\u003e\n\u003cdiv class=\"sgf-hero-inner\"\u003e\n\u003cspan class=\"sgf-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"sgf-title\"\u003eSculpt \u0026amp; Glow Face Massager\u003c\/h1\u003e\n\u003cp class=\"sgf-sub\"\u003eYounger-Looking Skin. Tighter Neck. Sculpted Jawline — At Home.\u003c\/p\u003e\n\u003cp class=\"sgf-tagline\"\u003eEMS microcurrent, 7‑color LED therapy, soothing warmth, and vibration — for lift, firmness, and glow without the clinic price tag.\u003c\/p\u003e\n\u003cdiv class=\"sgf-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"sgf-orb sgf-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"sgf-orb sgf-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"sgf-usp\" role=\"list\"\u003e\n\u003cli class=\"sgf-chip\"\u003eEMS lift \u0026amp; tone\u003c\/li\u003e\n\u003cli class=\"sgf-chip\"\u003e7‑Color LED therapy\u003c\/li\u003e\n\u003cli class=\"sgf-chip\"\u003eWarmth + vibration\u003c\/li\u003e\n\u003cli class=\"sgf-chip\"\u003eUSB rechargeable\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"sgf-modes\"\u003e\n\u003cspan class=\"sgf-pill sgf-pill--rose\"\u003eEMS Microcurrent\u003c\/span\u003e \u003cspan class=\"sgf-pill sgf-pill--lilac\"\u003e7‑Color LED\u003c\/span\u003e \u003cspan class=\"sgf-pill sgf-pill--champ\"\u003eThermal Warmth\u003c\/span\u003e \u003cspan class=\"sgf-pill sgf-pill--mint\"\u003eVibration Massage\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (tap-to-expand) --\u003e\n\u003csection class=\"sgf-section\" id=\"sgf-benefits\"\u003e\n\u003ch2 class=\"sgf-center\"\u003eWhat your skin gains\u003c\/h2\u003e\n\u003cdiv class=\"sgf-grid sgf-1\"\u003e\n\u003carticle class=\"sgf-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sgf-ico\"\u003e💪\u003c\/span\u003e\n\u003ch3\u003eFirmer, tighter skin\u003c\/h3\u003e\n\u003cp\u003eEMS microcurrent stimulates facial muscles to lift and tone areas prone to sagging.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sgf-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sgf-ico\"\u003e🧬\u003c\/span\u003e\n\u003ch3\u003eSofter lines \u0026amp; wrinkles\u003c\/h3\u003e\n\u003cp\u003eLED and microcurrent support collagen for smoother texture over time.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sgf-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sgf-ico\"\u003e🪞\u003c\/span\u003e\n\u003ch3\u003eSculpted jaw \u0026amp; neck\u003c\/h3\u003e\n\u003cp\u003eErgonomic head contours the jaw, chin, and neck where ageing shows first.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sgf-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sgf-ico\"\u003e✨\u003c\/span\u003e\n\u003ch3\u003eInstant glow\u003c\/h3\u003e\n\u003cp\u003eGentle warmth and vibration boost circulation and lymphatic drainage for radiance.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sgf-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sgf-ico\"\u003e🧴\u003c\/span\u003e\n\u003ch3\u003eBetter absorption\u003c\/h3\u003e\n\u003cp\u003eUse with serum or oil to drive active ingredients deeper for amplified results.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"sgf-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"sgf-ico\"\u003e🏠\u003c\/span\u003e\n\u003ch3\u003eSpa results at home\u003c\/h3\u003e\n\u003cp\u003eMulti-technology treatment without appointments — portable and cordless.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- 7‑COLOR LED THERAPY (clean, colored dots) --\u003e\n\u003csection class=\"sgf-section sgf-soft\" id=\"sgf-led\"\u003e\n\u003ch2 class=\"sgf-center\"\u003e7‑Color LED therapy modes\u003c\/h2\u003e\n\u003cdiv class=\"sgf-led-grid\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eWhite (Full Spectrum) \u003c\/strong\u003e\u003cem\u003eOverall rejuvenation and revitalization\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRed \u003c\/strong\u003e\u003cem\u003eAnti‑aging; collagen and firmness\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBlue \u003c\/strong\u003e\u003cem\u003eClarifying; helps blemish‑prone skin\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eGreen \u003c\/strong\u003e\u003cem\u003eBalancing; tone evening and calming\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eYellow \u003c\/strong\u003e\u003cem\u003eSoothing; supports skin repair\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCyan \u003c\/strong\u003e\u003cem\u003eRefreshing; helps calm and purify\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePurple \u003c\/strong\u003e\u003cem\u003eRecovery; brightening and renewal\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"sgf-note sgf-center\"\u003eCycle modes with the power button to tailor each session to your skin’s needs.\u003c\/p\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scroll; all steps visible) --\u003e\n\u003csection class=\"sgf-section sgf-dark\" id=\"sgf-how\"\u003e\n\u003ch2 class=\"sgf-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"sgf-steps\"\u003e\n\u003cdiv class=\"sgf-step\"\u003e\n\u003ch4\u003e1. Cleanse \u0026amp; prep\u003c\/h4\u003e\n\u003cp\u003eApply a conductive serum or facial oil to cleansed skin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-step\"\u003e\n\u003ch4\u003e2. Select mode\u003c\/h4\u003e\n\u003cp\u003ePress power to choose EMS, 7‑LED colors, warmth, and vibration as desired.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-step\"\u003e\n\u003ch4\u003e3. Lifting strokes\u003c\/h4\u003e\n\u003cp\u003eGlide the curved head along jaw, chin, and neck with slow upward motions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-step\"\u003e\n\u003ch4\u003e4. Seal \u0026amp; glow\u003c\/h4\u003e\n\u003cp\u003eTreat 10–15 minutes, 3–5× weekly. Follow with moisturiser to lock in.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"sgf-section\" id=\"sgf-specs\"\u003e\n\u003ch2 class=\"sgf-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"sgf-specs\"\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003eTechnologies\u003c\/strong\u003e\u003cspan\u003e7‑Color LED + EMS Microcurrent + Warming + Vibration\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003eTreatment Area\u003c\/strong\u003e\u003cspan\u003eFace, jawline, chin, neck\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003eLED\u003c\/strong\u003e\u003cspan\u003eWhite, Red, Blue, Green, Yellow, Cyan, Purple\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003eOperation\u003c\/strong\u003e\u003cspan\u003eSingle button, multiple modes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\u003cspan\u003eUSB rechargeable — cordless\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003eDesign\u003c\/strong\u003e\u003cspan\u003eErgonomic curved head, white body, chrome accent\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\u003cspan\u003eMatte black NOVÉA™ gift box with rose‑gold foil\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sgf-spec\"\u003e\n\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003cspan\u003eProudly South African\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"sgf-section sgf-soft\" id=\"sgf-use\"\u003e\n\u003ch2 class=\"sgf-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"sgf-steps-list\"\u003e\n\u003cli\u003eCleanse and apply a thin layer of serum or facial oil\u003c\/li\u003e\n\u003cli\u003ePress power to cycle and select your LED color and EMS\/warmth\/vibration\u003c\/li\u003e\n\u003cli\u003eGlide up the jaw, chin, and neck with lifting strokes\u003c\/li\u003e\n\u003cli\u003eTreat 10–15 minutes per session, 3–5× weekly\u003c\/li\u003e\n\u003cli\u003eApply moisturiser to seal in hydration\u003c\/li\u003e\n\u003cli\u003eCharge via USB after use\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"sgf-section sgf-dark\"\u003e\n\u003ch2 class=\"sgf-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"sgf-included\"\u003e\n\u003cspan class=\"sgf-chip\"\u003eNOVÉA™ Sculpt \u0026amp; Glow Face \u0026amp; Neck Massager\u003c\/span\u003e \u003cspan class=\"sgf-chip\"\u003eUSB charging cable\u003c\/span\u003e \u003cspan class=\"sgf-chip\"\u003ePremium NOVÉA™ matte black gift box\u003c\/span\u003e \u003cspan class=\"sgf-chip\"\u003eUser guide\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"sgf-section sgf-cta\" id=\"sgf-cta\"\u003e\n\u003cdiv class=\"sgf-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause your skin deserves more than just a cream.\u003c\/h3\u003e\n\u003cp\u003eLift, firm, and glow — professional results, at home.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  :root{\n    --bg:#ffffff; --panel:#ffffff; --soft:#f7f5fa;\n    --text:#17191f; --mute:#5f6470;\n    --border:rgba(23,25,31,.10); --shadow:0 8px 22px rgba(17,19,24,.08);\n    --radius:14px;\n    --rose:#b76e79; --rose-soft:#e9c5cd; --rose-wash:#fdeff2;\n    --lilac:#d9ccff; --mint:#d2f0e6; --champ:#f7e6c7;\n    --led-red:#ff4d4d; --led-blue:#5aa8ff; --led-green:#59d37a;\n    --led-yellow:#ffd463; --led-cyan:#5de0d1; --led-purple:#b38cff; --led-white:#eaeef5;\n  }\n\n  .novea-sculpt{\n    background:\n      radial-gradient(980px 520px at 12% -10%, rgba(233,197,205,.22), transparent 55%),\n      radial-gradient(880px 500px at 108% -8%, rgba(217,204,255,.18), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  .sgf-section{padding:56px 16px;}\n  .sgf-soft{background:var(--soft);}\n  .sgf-dark{background:var(--panel);}\n  .sgf-center{text-align:center;}\n  .sgf-grid{display:grid; gap:14px; max-width:1100px; margin:0 auto;}\n  .sgf-grid.sgf-1{grid-template-columns:1fr;}\n  @media(min-width:960px){ .sgf-grid.sgf-1{grid-template-columns:repeat(3,1fr);} }\n\n  .sgf-hero{\n    padding:86px 16px 32px;\n    background:\n      radial-gradient(940px 520px at 18% -10%, rgba(233,197,205,.24), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n  }\n  .sgf-hero-inner{max-width:1100px; margin:0 auto; text-align:center;}\n  .sgf-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:800; font-size:12px; color:#2a2e35;}\n  .sgf-title{font-size:clamp(28px,6.5vw,48px); margin:.55rem 0 .25rem; line-height:1.08; color:#15171d;}\n  .sgf-sub{color:#8f5560; font-weight:700; font-size:clamp(16px,4.2vw,18px); margin:0 0 8px;}\n  .sgf-tagline{color:var(--mute); max-width:720px; margin:0 auto 16px; font-size:clamp(14px,3.7vw,16px);}\n\n  .sgf-hero-media{position:relative; max-width:860px; margin:22px auto 6px; display:grid; place-items:center;}\n  .sgf-hero-img{width:100%; height:auto; border-radius:16px; background:#fff; box-shadow:0 14px 36px rgba(17,19,24,.10); border:1px solid rgba(23,25,31,.06); transform:translateZ(0); transition:transform .6s ease;}\n  .sgf-orb{position:absolute; border-radius:50%; filter:blur(14px); opacity:.24; mix-blend-mode:multiply;}\n  .sgf-orb-1{width:180px; height:180px; background:rgba(233,197,205,.40); left:4%; top:24%;}\n  .sgf-orb-2{width:200px; height:200px; background:rgba(217,204,255,.28); right:3%; top:8%;}\n\n  .sgf-usp{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; padding:0; list-style:none;}\n  .sgf-chip{border-radius:999px; padding:8px 14px; background:#fff; border:1px solid var(--border); color:#373c45; font-size:13px; box-shadow:0 4px 12px rgba(17,19,24,.06);}\n\n  .sgf-modes{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:12px 0 0;}\n  .sgf-pill{border-radius:999px; padding:8px 12px; background:#fff; border:1px solid var(--border); color:#2f333b; font-size:13px; box-shadow:0 3px 10px rgba(17,19,24,.05);}\n  .sgf-pill--rose{border-color:rgba(183,110,121,.40);}\n  .sgf-pill--lilac{border-color:rgba(217,204,255,.45);}\n  .sgf-pill--mint{border-color:rgba(210,240,230,.45);}\n  .sgf-pill--champ{border-color:rgba(247,230,199,.45);}\n\n  .sgf-feature{\n    position:relative; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow); cursor:pointer; user-select:none;\n    transition:transform .2s ease, box-shadow .2s ease;\n  }\n  .sgf-feature:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,24,.12);}\n  .sgf-feature h3{margin:6px 26px 6px 0; font-size:18px; color:#1b1e25;}\n  .sgf-feature p{margin:0; color:#3c4350; font-size:15px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease;}\n  .sgf-feature::after{content:\"▾\"; position:absolute; right:12px; top:16px; font-size:14px; color:#6a7180; transition:transform .2s ease;}\n  .sgf-feature.is-open p{max-height:240px; opacity:1; margin-top:4px;}\n  .sgf-feature.is-open::after{transform:rotate(180deg);}\n  .sgf-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* 7‑Color LED section (clean) *\/\n  #sgf-led .sgf-led-grid{\n    display:grid; grid-template-columns:1fr; gap:10px; max-width:1100px; margin:10px auto 0;\n  }\n  @media(min-width:960px){ #sgf-led .sgf-led-grid{ grid-template-columns:1fr 1fr; } }\n\n  .sgf-led{\n    display:flex; align-items:center; gap:10px; width:100%;\n    background:#fff; border:1px solid var(--border); border-radius:14px; padding:12px;\n    box-shadow:0 6px 16px rgba(17,19,24,.06); text-align:left; cursor:pointer;\n  }\n  .sgf-led strong{display:block; color:#1b1e25; font-size:15px; line-height:1.25;}\n  .sgf-led em{display:block; color:#5a6170; font-size:13px; font-style:normal; opacity:.95; margin-top:2px;}\n  .sgf-led[aria-expanded=\"true\"]{box-shadow:0 10px 24px rgba(17,19,24,.10); transform:translateY(-1px);}\n\n  .sgf-led-dot{\n    width:14px; height:14px; border-radius:50%;\n    box-shadow:0 0 0 3px rgba(0,0,0,.04) inset, 0 0 10px var(--c, #eaeef5);\n    background:var(--c, #eaeef5);\n    flex:0 0 14px;\n  }\n\n  .sgf-led--white{ --c: var(--led-white); }\n  .sgf-led--red{ --c: var(--led-red); }\n  .sgf-led--blue{ --c: var(--led-blue); }\n  .\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52227189768408,"sku":null,"price":559.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/nov-a-device-branded_f8b5dbf9-a32b-448b-8896-b8d9f9e45a7c.png?v=1786561598"},{"product_id":"novea™-lash-amplify-fibre-mascara","title":"NOVÉA™ Lash Amplify Fibre Mascara","description":"\u003c!-- NOVÉA™ Lash Amplify Fibre Mascara — Mobile-first, premium animated product description (light theme, no add-to-cart) --\u003e\n\u003cdiv class=\"novea-masc\" id=\"novea-masc\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"lm-hero\"\u003e\n\u003cdiv class=\"lm-hero-inner\"\u003e\n\u003cspan class=\"lm-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"lm-title\"\u003eLash Amplify Fibre Mascara\u003c\/h1\u003e\n\u003cp class=\"lm-sub\"\u003eLashes So Full, They'll Think They're Extensions.\u003c\/p\u003e\n\u003cp class=\"lm-tagline\"\u003eMicro‑fibre technology stacks dramatic length, volume, and definition in one sweep — no glue, no salon.\u003c\/p\u003e\n\u003cdiv class=\"lm-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"lm-orb lm-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"lm-orb lm-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"lm-usp\" role=\"list\"\u003e\n\u003cli class=\"lm-chip\"\u003eMicro‑fibre length + volume\u003c\/li\u003e\n\u003cli class=\"lm-chip\"\u003eWaterproof longwear\u003c\/li\u003e\n\u003cli class=\"lm-chip\"\u003ePrecision rubber wand\u003c\/li\u003e\n\u003cli class=\"lm-chip\"\u003eNo clumps, no flakes\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (tap-to-expand) --\u003e\n\u003csection class=\"lm-section\" id=\"lm-benefits\"\u003e\n\u003ch2 class=\"lm-center\"\u003eWhat your lashes gain\u003c\/h2\u003e\n\u003cdiv class=\"lm-grid lm-1\"\u003e\n\u003carticle class=\"lm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"lm-ico\"\u003e📏\u003c\/span\u003e\n\u003ch3\u003eDramatic length + volume\u003c\/h3\u003e\n\u003cp\u003eThousands of micro‑fibres cling from root to tip to visibly extend and thicken every lash.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"lm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"lm-ico\"\u003e💧\u003c\/span\u003e\n\u003ch3\u003eAll‑day waterproof hold\u003c\/h3\u003e\n\u003cp\u003eResists sweat, humidity, and tears without smudging or flaking.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"lm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"lm-ico\"\u003e🪄\u003c\/span\u003e\n\u003ch3\u003eDefined, fanned‑out lashes\u003c\/h3\u003e\n\u003cp\u003ePrecision rubber wand separates and coats each lash for a wide‑eye effect.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"lm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"lm-ico\"\u003e⬆️\u003c\/span\u003e\n\u003ch3\u003eBuildable intensity\u003c\/h3\u003e\n\u003cp\u003eOne coat for natural definition; layer for bold, extension‑like drama.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"lm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"lm-ico\"\u003e🚫\u003c\/span\u003e\n\u003ch3\u003eNo clumping\u003c\/h3\u003e\n\u003cp\u003eEven, elastic formula glides on smoothly — zero spider‑legs.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"lm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"lm-ico\"\u003e🏠\u003c\/span\u003e\n\u003ch3\u003eSalon results at home\u003c\/h3\u003e\n\u003cp\u003eExtension‑like payoff in under two minutes — without the appointment.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scroll; all steps visible) --\u003e\n\u003csection class=\"lm-section lm-dark\" id=\"lm-how\"\u003e\n\u003ch2 class=\"lm-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"lm-steps\"\u003e\n\u003cdiv class=\"lm-step\"\u003e\n\u003cspan class=\"lm-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003eMicro‑fibre infusion\u003c\/h4\u003e\n\u003cp\u003eUltra‑fine fibres suspend in a rich pigment to extend and thicken each lash.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-step\"\u003e\n\u003cspan class=\"lm-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003ePrecision separation\u003c\/h4\u003e\n\u003cp\u003eRubber bristles comb and define for an even, fanned‑out look.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-step\"\u003e\n\u003cspan class=\"lm-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eLock‑in wear\u003c\/h4\u003e\n\u003cp\u003eWaterproof polymers set fibres in place for smudge‑proof, flake‑free hold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-step\"\u003e\n\u003cspan class=\"lm-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eLayer to amplify\u003c\/h4\u003e\n\u003cp\u003eBuild coats to dial volume from natural to dramatic without clumps.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"lm-section\" id=\"lm-specs\"\u003e\n\u003ch2 class=\"lm-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"lm-specs\"\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eTechnology\u003c\/strong\u003e\u003cspan\u003eMicro‑fibre formula for length + volume extension\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eFormula\u003c\/strong\u003e\u003cspan\u003eLongwear waterproof — sweat, humidity, and smudge resistant\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eWand\u003c\/strong\u003e\u003cspan\u003ePrecision rubber bristle brush for separation\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\u003cspan\u003eRich, deep black\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eCoverage\u003c\/strong\u003e\u003cspan\u003eBuildable — from natural to dramatic\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eTube\u003c\/strong\u003e\u003cspan\u003eMatte black with rose‑gold cap and NOVÉA™ branding\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\u003cspan\u003eMatte black NOVÉA™ gift box with rose‑gold foil and South African flag\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lm-spec\"\u003e\n\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003cspan\u003eProudly South African\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"lm-section lm-soft\" id=\"lm-use\"\u003e\n\u003ch2 class=\"lm-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"lm-steps-list\"\u003e\n\u003cli\u003eStart with clean, dry lashes — curl first for extra lift\u003c\/li\u003e\n\u003cli\u003eWipe excess on the tube rim\u003c\/li\u003e\n\u003cli\u003eWiggle from root to tip to place fibres and pigment\u003c\/li\u003e\n\u003cli\u003eLayer additional coats for more length and volume\u003c\/li\u003e\n\u003cli\u003eLet each coat set briefly before the next\u003c\/li\u003e\n\u003cli\u003eRemove with oil‑based remover or micellar water\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"lm-section lm-dark\"\u003e\n\u003ch2 class=\"lm-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"lm-included\"\u003e\n\u003cspan class=\"lm-chip\"\u003eNOVÉA™ Fibre Lash Mascara\u003c\/span\u003e \u003cspan class=\"lm-chip\"\u003ePremium NOVÉA™ matte black gift box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"lm-section lm-cta\" id=\"lm-cta\"\u003e\n\u003cdiv class=\"lm-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause your lashes deserve to be the loudest thing in the room.\u003c\/h3\u003e\n\u003cp\u003eExtension‑level length and volume — zero fuss.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, LIGHT THEME + ROSE-GOLD ACCENTS *\/\n  :root{\n    --bg:#ffffff; --panel:#ffffff; --soft:#f6f4f8;\n    --text:#17191f; --mute:#5f6470;\n    --border:rgba(23,25,31,.10); --shadow:0 8px 22px rgba(17,19,24,.08);\n    --radius:14px;\n    --rg:#b76e79; --rg-soft:#e9c5cd; --rg-wash:#fdeff2;\n  }\n\n  .novea-masc{\n    background:\n      radial-gradient(1100px 520px at 12% -10%, rgba(183,110,121,.16), transparent 55%),\n      radial-gradient(900px 520px at 110% -8%, rgba(233,197,205,.14), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Layout *\/\n  .lm-section{padding:56px 16px;}\n  .lm-soft{background:var(--soft);}\n  .lm-dark{background:var(--panel);}\n  .lm-center{text-align:center;}\n  .lm-grid{display:grid; gap:14px; max-width:1100px; margin:0 auto;}\n  .lm-grid.lm-1{grid-template-columns:1fr;}\n  @media(min-width:960px){ .lm-grid.lm-1{grid-template-columns:repeat(3,1fr);} }\n\n  \/* HERO *\/\n  .lm-hero{\n    padding:86px 16px 32px;\n    background:\n      radial-gradient(900px 480px at 15% -10%, rgba(233,197,205,.22), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n  }\n  .lm-hero-inner{max-width:1100px; margin:0 auto; text-align:center;}\n  .lm-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:800; font-size:12px; color:#2a2e35;}\n  .lm-title{font-size:clamp(28px,6.5vw,46px); margin:.55rem 0 .25rem; line-height:1.08; color:#15171d;}\n  .lm-sub{color:#8f5560; font-weight:700; font-size:clamp(16px,4.2vw,18px); margin:0 0 8px;}\n  .lm-tagline{color:var(--mute); max-width:720px; margin:0 auto 16px; font-size:clamp(14px,3.7vw,16px);}\n\n  .lm-hero-media{position:relative; max-width:860px; margin:22px auto 6px; display:grid; place-items:center;}\n  .lm-hero-img{width:100%; height:auto; border-radius:16px; background:#fff; box-shadow:0 14px 36px rgba(17,19,24,.10); border:1px solid rgba(23,25,31,.06); transform:translateZ(0); transition:transform .6s ease;}\n  .lm-orb{position:absolute; border-radius:50%; filter:blur(14px); opacity:.22; mix-blend-mode:multiply;}\n  .lm-orb-1{width:180px; height:180px; background:rgba(183,110,121,.35); left:4%; top:24%;}\n  .lm-orb-2{width:200px; height:200px; background:rgba(233,197,205,.28); right:3%; top:8%;}\n\n  .lm-usp{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; padding:0; list-style:none;}\n  .lm-chip{border-radius:999px; padding:8px 14px; background:#fff; border:1px solid var(--border); color:#373c45; font-size:13px; box-shadow:0 4px 12px rgba(17,19,24,.06);}\n\n  \/* Feature cards (interactive) *\/\n  .lm-feature{\n    position:relative; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow); cursor:pointer; user-select:none;\n    transition:transform .2s ease, box-shadow .2s ease;\n  }\n  .lm-feature:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,24,.12);}\n  .lm-feature h3{margin:6px 26px 6px 0; font-size:18px; color:#1b1e25;}\n  .lm-feature p{margin:0; color:#3c4350; font-size:15px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease;}\n  .lm-feature::after{content:\"▾\"; position:absolute; right:12px; top:16px; font-size:14px; color:#6a7180; transition:transform .2s ease;}\n  .lm-feature.is-open p{max-height:240px; opacity:1; margin-top:4px;}\n  .lm-feature.is-open::after{transform:rotate(180deg);}\n  .lm-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* Steps (no horizontal scroll) *\/\n  .lm-steps{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto 12px;}\n  @media(min-width:720px){ .lm-steps{grid-template-columns:1fr 1fr;} }\n  @media(min-width:1100px){ .lm-steps{grid-template-columns:repeat(4,1fr);} }\n  .lm-step{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow);}\n  .lm-step h4{margin:6px 0 6px; font-size:16px; color:#1b1e25;}\n  .lm-step p{margin:0; color:#3b424c; font-size:14px;}\n  .lm-step-num{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(180deg,var(--rg-wash),var(--rg)); color:#1a1c22; font-weight:800; margin-bottom:8px; box-shadow:0 6px 16px rgba(183,110,121,.18); font-size:14px;}\n\n  \/* Media *\/\n  .lm-inline-media{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .lm-inline-media{grid-template-columns:repeat(3,1fr);} }\n  .lm-inline-media img{width:100%; height:auto; border-radius:16px; background:#fff; border:1px solid rgba(23,25,31,.12); box-shadow:0 10px 26px rgba(17,19,24,.08); transition:transform .35s ease;}\n  .lm-inline-media img:hover{transform:translateY(-4px);}\n\n  \/* Specs *\/\n  .lm-specs{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .lm-specs{grid-template-columns:repeat(3,1fr);} }\n  .lm-spec{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow);}\n  .lm-spec strong{display:block; margin-bottom:6px; color:#16181d;}\n  .lm-spec span{color:#475062; font-size:14px;}\n\n  \/* Steps list *\/\n  .lm-steps-list{max-width:900px; margin:0 auto; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow); color:#2a2e35;}\n  .lm-steps-list li{margin:6px 0;}\n\n  \/* Included (spaced chips) *\/\n  .lm-included{\n    display:grid; grid-template-columns:1fr; gap:10px 12px; max-width:1100px; margin:12px auto 0; padding:0 0 4px;\n  }\n  @media(min-width:680px){ .lm-included{ grid-template-columns:1fr 1fr; } }\n  @media(min-width:1024px){ .lm-included{ grid-template-columns:repeat(3,1fr); } }\n  .lm-included .lm-chip{\n    width:100%; justify-content:flex-start; text-align:left; padding:12px 14px; background:#fff;\n    border:1px solid var(--border); box-shadow:0 6px 16px rgba(17,19,24,.06); color:#2f333b;\n  }\n\n  \/* CTA *\/\n  .lm-cta{background:linear-gradient(180deg, rgba(248,230,234,.25), rgba(233,197,205,.18)); border-top:1px solid rgba(183,110,121,.30);}\n  .lm-cta-inner{max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}\n  .lm-cta-inner h3{margin:0 0 6px; color:#15171d;}\n  .lm-cta-inner p{margin:0; color:#535a66;}\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52227229581528,"sku":null,"price":239.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-25at10.14.44.jpg?v=1786563832"},{"product_id":"novea™-perfect-glow-vanity-mirror","title":"NOVÉA™ Perfect Glow Vanity Mirror","description":"\u003c!-- NOVÉA™ Perfect Glow Vanity Mirror — Mobile-first, premium animated product description (light theme, no add-to-cart) --\u003e\n\u003cdiv class=\"novea-mirror\" id=\"novea-mirror\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"pm-hero\"\u003e\n\u003cdiv class=\"pm-hero-inner\"\u003e\n\u003cspan class=\"pm-badge\"\u003eNOVÉA™\u003c\/span\u003e\n\u003ch1 class=\"pm-title\"\u003ePerfect Glow Vanity Mirror\u003c\/h1\u003e\n\u003cp class=\"pm-sub\"\u003eFlawless Makeup Starts With the Right Light.\u003c\/p\u003e\n\u003cp class=\"pm-tagline\"\u003eA full-surround LED halo that eliminates shadows and colour distortion — so what you see in the mirror is exactly what others see in real life.\u003c\/p\u003e\n\u003cdiv class=\"pm-hero-media\"\u003e\n\u003cbr\u003e\u003ci class=\"pm-orb pm-orb-1\"\u003e\u003c\/i\u003e \u003ci class=\"pm-orb pm-orb-2\"\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003cul class=\"pm-usp\" role=\"list\"\u003e\n\u003cli class=\"pm-chip\"\u003e360° LED halo\u003c\/li\u003e\n\u003cli class=\"pm-chip\"\u003eTrue colour accuracy\u003c\/li\u003e\n\u003cli class=\"pm-chip\"\u003eTouch brightness\u003c\/li\u003e\n\u003cli class=\"pm-chip\"\u003eUSB rechargeable\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS (tap-to-expand) --\u003e\n\u003csection class=\"pm-section\" id=\"pm-benefits\"\u003e\n\u003ch2 class=\"pm-center\"\u003eWhat you gain\u003c\/h2\u003e\n\u003cdiv class=\"pm-grid pm-1\"\u003e\n\u003carticle class=\"pm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"pm-ico\"\u003e💡\u003c\/span\u003e\n\u003ch3\u003eFlawless application\u003c\/h3\u003e\n\u003cp\u003eEven, shadow-free lighting reveals every detail so you blend, contour, and line with studio precision.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"pm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"pm-ico\"\u003e🎨\u003c\/span\u003e\n\u003ch3\u003eTrue colour accuracy\u003c\/h3\u003e\n\u003cp\u003eDaylight-balanced LEDs prevent orange or blue casts — your shades look perfect anywhere.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"pm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"pm-ico\"\u003e✅\u003c\/span\u003e\n\u003ch3\u003eNo more mistakes\u003c\/h3\u003e\n\u003cp\u003eSee foundation edges, blending seams, and eyeliner symmetry clearly — before you step out.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"pm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"pm-ico\"\u003e🌸\u003c\/span\u003e\n\u003ch3\u003eElevated vanity\u003c\/h3\u003e\n\u003cp\u003eElegant blush pink design transforms your dressing table into a luxe beauty space.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"pm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"pm-ico\"\u003e↕️\u003c\/span\u003e\n\u003ch3\u003eAdjustable brightness\u003c\/h3\u003e\n\u003cp\u003eDial intensity from soft morning glow to full studio brightness with touch control.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"pm-feature\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"pm-ico\"\u003e🙌\u003c\/span\u003e\n\u003ch3\u003eHands-free ease\u003c\/h3\u003e\n\u003cp\u003eWeighted base keeps the mirror perfectly stable while you work — no wobble, no slips.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS (no scroll; all steps visible) --\u003e\n\u003csection class=\"pm-section pm-dark\" id=\"pm-how\"\u003e\n\u003ch2 class=\"pm-center\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"pm-steps\"\u003e\n\u003cdiv class=\"pm-step\"\u003e\n\u003cspan class=\"pm-step-num\"\u003e1\u003c\/span\u003e\n\u003ch4\u003e360° halo\u003c\/h4\u003e\n\u003cp\u003eLEDs embedded around the frame bathe your face in even, soft light.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-step\"\u003e\n\u003cspan class=\"pm-step-num\"\u003e2\u003c\/span\u003e\n\u003ch4\u003eNo shadow zones\u003c\/h4\u003e\n\u003cp\u003eBalanced angles remove harsh shadows under eyes, nose, and chin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-step\"\u003e\n\u003cspan class=\"pm-step-num\"\u003e3\u003c\/span\u003e\n\u003ch4\u003eDaylight tone\u003c\/h4\u003e\n\u003cp\u003eColour-true output prevents distortion so shades match indoors and out.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-step\"\u003e\n\u003cspan class=\"pm-step-num\"\u003e4\u003c\/span\u003e\n\u003ch4\u003eTouch control\u003c\/h4\u003e\n\u003cp\u003eTap to power and slide brightness to suit any room or time of day.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- KEY SPECIFICATIONS --\u003e\n\u003csection class=\"pm-section\" id=\"pm-specs\"\u003e\n\u003ch2 class=\"pm-center\"\u003eKey specifications\u003c\/h2\u003e\n\u003cdiv class=\"pm-specs\"\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003eLighting\u003c\/strong\u003e\u003cspan\u003eFull-surround LED halo — soft white, daylight-balanced\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003eBrightness\u003c\/strong\u003e\u003cspan\u003eAdjustable via touch control\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003eMirror shape\u003c\/strong\u003e\u003cspan\u003eRounded square with slim profile frame\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003eStand\u003c\/strong\u003e\u003cspan\u003ePedestal stand with weighted rectangular base\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003eColour\u003c\/strong\u003e\u003cspan\u003eBlush pink body with white LED surround\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\u003cspan\u003eUSB rechargeable — cordless and portable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\u003cspan\u003eMatte black NOVÉA™ gift box with rose‑gold foil \u0026amp; SA flag\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pm-spec\"\u003e\n\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003cspan\u003eProudly South African\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"pm-section pm-soft\" id=\"pm-use\"\u003e\n\u003ch2 class=\"pm-center\"\u003eHow to use\u003c\/h2\u003e\n\u003col class=\"pm-steps-list\"\u003e\n\u003cli\u003ePlace on your vanity or dressing table\u003c\/li\u003e\n\u003cli\u003eCharge via USB before first use\u003c\/li\u003e\n\u003cli\u003eTap touch control to power on; adjust brightness\u003c\/li\u003e\n\u003cli\u003ePosition your face within the halo light for shadow-free illumination\u003c\/li\u003e\n\u003cli\u003eApply makeup with confidence — what you see is what others see\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"pm-section pm-dark\"\u003e\n\u003ch2 class=\"pm-center\"\u003eWhat's included\u003c\/h2\u003e\n\u003cdiv class=\"pm-included\"\u003e\n\u003cspan class=\"pm-chip\"\u003eNOVÉA™ Perfect Glow Vanity Mirror\u003c\/span\u003e \u003cspan class=\"pm-chip\"\u003eUSB charging cable\u003c\/span\u003e \u003cspan class=\"pm-chip\"\u003ePremium NOVÉA™ matte black gift box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA (text only) --\u003e\n\u003csection class=\"pm-section pm-cta\" id=\"pm-cta\"\u003e\n\u003cdiv class=\"pm-cta-inner\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eBecause flawless makeup isn’t just about skill — it’s about the right light.\u003c\/h3\u003e\n\u003cp\u003eSee every detail, match every shade, nail every look.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  \/* MOBILE-FIRST, LIGHT THEME + ROSE-GOLD ACCENTS *\/\n  :root{\n    --bg:#ffffff; --panel:#ffffff; --soft:#f6f4f8;\n    --text:#17191f; --mute:#5f6470;\n    --border:rgba(23,25,31,.10); --shadow:0 8px 22px rgba(17,19,24,.08);\n    --radius:14px;\n    --rg:#b76e79; --rg-soft:#e9c5cd; --rg-wash:#fdeff2;\n  }\n\n  .novea-mirror{\n    background:\n      radial-gradient(1100px 520px at 12% -10%, rgba(183,110,121,.16), transparent 55%),\n      radial-gradient(900px 520px at 110% -8%, rgba(233,197,205,.14), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n    color:var(--text);\n    font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, \"Helvetica Neue\", Arial;\n    line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n    overflow:hidden;\n  }\n\n  \/* Sections \u0026 Layout *\/\n  .pm-section{padding:56px 16px;}\n  .pm-soft{background:var(--soft);}\n  .pm-dark{background:var(--panel);}\n  .pm-center{text-align:center;}\n  .pm-grid{display:grid; gap:14px; max-width:1100px; margin:0 auto;}\n  .pm-grid.pm-1{grid-template-columns:1fr;}\n  @media(min-width:960px){ .pm-grid.pm-1{grid-template-columns:repeat(3,1fr);} }\n\n  \/* HERO *\/\n  .pm-hero{\n    padding:86px 16px 32px;\n    background:\n      radial-gradient(900px 480px at 15% -10%, rgba(233,197,205,.22), transparent 55%),\n      linear-gradient(180deg,#ffffff,#fbfafc);\n  }\n  .pm-hero-inner{max-width:1100px; margin:0 auto; text-align:center;}\n  .pm-badge{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); letter-spacing:.12em; font-weight:800; font-size:12px; color:#2a2e35;}\n  .pm-title{font-size:clamp(28px,6.5vw,46px); margin:.55rem 0 .25rem; line-height:1.08; color:#15171d;}\n  .pm-sub{color:#8f5560; font-weight:700; font-size:clamp(16px,4.2vw,18px); margin:0 0 8px;}\n  .pm-tagline{color:var(--mute); max-width:720px; margin:0 auto 16px; font-size:clamp(14px,3.7vw,16px);}\n\n  .pm-hero-media{position:relative; max-width:860px; margin:22px auto 6px; display:grid; place-items:center;}\n  .pm-hero-img{width:100%; height:auto; border-radius:16px; background:#fff; box-shadow:0 14px 36px rgba(17,19,24,.10); border:1px solid rgba(23,25,31,.06); transform:translateZ(0); transition:transform .6s ease;}\n  .pm-orb{position:absolute; border-radius:50%; filter:blur(14px); opacity:.22; mix-blend-mode:multiply;}\n  .pm-orb-1{width:180px; height:180px; background:rgba(183,110,121,.35); left:4%; top:24%;}\n  .pm-orb-2{width:200px; height:200px; background:rgba(233,197,205,.28); right:3%; top:8%;}\n\n  .pm-usp{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:12px; padding:0; list-style:none;}\n  .pm-chip{border-radius:999px; padding:8px 14px; background:#fff; border:1px solid var(--border); color:#373c45; font-size:13px; box-shadow:0 4px 12px rgba(17,19,24,.06);}\n\n  \/* Feature cards (interactive) *\/\n  .pm-feature{\n    position:relative; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow); cursor:pointer; user-select:none;\n    transition:transform .2s ease, box-shadow .2s ease;\n  }\n  .pm-feature:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,19,24,.12);}\n  .pm-feature h3{margin:6px 26px 6px 0; font-size:18px; color:#1b1e25;}\n  .pm-feature p{margin:0; color:#3c4350; font-size:15px; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease;}\n  .pm-feature::after{content:\"▾\"; position:absolute; right:12px; top:16px; font-size:14px; color:#6a7180; transition:transform .2s ease;}\n  .pm-feature.is-open p{max-height:240px; opacity:1; margin-top:4px;}\n  .pm-feature.is-open::after{transform:rotate(180deg);}\n  .pm-ico{font-size:20px; display:inline-block; margin-bottom:4px;}\n\n  \/* Steps (no horizontal scroll) *\/\n  .pm-steps{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto 12px;}\n  @media(min-width:720px){ .pm-steps{grid-template-columns:1fr 1fr;} }\n  @media(min-width:1100px){ .pm-steps{grid-template-columns:repeat(4,1fr);} }\n  .pm-step{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:18px; box-shadow:var(--shadow);}\n  .pm-step h4{margin:6px 0 6px; font-size:16px; color:#1b1e25;}\n  .pm-step p{margin:0; color:#3b424c; font-size:14px;}\n  .pm-step-num{display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:linear-gradient(180deg, var(--rg-wash), var(--rg)); color:#1a1c22; font-weight:800; margin-bottom:8px; box-shadow:0 6px 16px rgba(183,110,121,.18); font-size:14px;}\n\n  \/* Media *\/\n  .pm-inline-media{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .pm-inline-media{grid-template-columns:repeat(3,1fr);} }\n  .pm-inline-media img{width:100%; height:auto; border-radius:16px; background:#fff; border:1px solid rgba(23,25,31,.12); box-shadow:0 10px 26px rgba(17,19,24,.08); transition:transform .35s ease;}\n  .pm-inline-media img:hover{transform:translateY(-4px);}\n\n  \/* Specs *\/\n  .pm-specs{display:grid; grid-template-columns:1fr; gap:12px; max-width:1100px; margin:0 auto;}\n  @media(min-width:960px){ .pm-specs{grid-template-columns:repeat(3,1fr);} }\n  .pm-spec{background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow);}\n  .pm-spec strong{display:block; margin-bottom:6px; color:#16181d;}\n  .pm-spec span{color:#475062; font-size:14px;}\n\n  \/* How to use list *\/\n  .pm-steps-list{max-width:900px; margin:0 auto; background:#fff; border:1px solid rgba(23,25,31,.12); border-radius:16px; padding:16px; box-shadow:var(--shadow); color:#2a2e35;}\n  .pm-steps-list li{margin:6px 0;}\n\n  \/* Included (spaced chips) *\/\n  .pm-included{\n    display:grid; grid-template-columns:1fr; gap:10px 12px; max-width:1100px; margin:12px auto 0; padding:0 0 4px;\n  }\n  @media(min-width:680px){ .pm-included{ grid-template-columns:1fr 1fr; } }\n  @media(min-width:1024px){ .pm-included{ grid-template-columns:repeat(3,1fr); } }\n  .pm-included .pm-chip{\n    width:100%; justify-content:flex-start; text-align:left; padding:12px 14px; background:#fff;\n    border:1px solid var(--border); box-shadow:0 6px 16px rgba(17,19,24,.06); color:#2f333b;\n  }\n\n  \/* CTA *\/\n  .pm-cta{background:linear-gradient(180deg, rgba(248,230,234,.25), rgba(233,197,205,.18)); border-top:1px solid rgba(183,110,121,.30);}\n  .pm-cta-inner{max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}\n  .pm-cta-inner h3{margin:0 0 6px; color:#15171d;}\n  .pm-cta-inner p{margin:0; color:#535a66;}\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Pink","offer_id":52242146951384,"sku":null,"price":259.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":52242146984152,"sku":null,"price":259.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/nov-a-led-mirror-proudly-south-african-badge_d5b65832-ed9d-42e3-b224-8130192f60a4.png?v=1786565815"},{"product_id":"novea™-glow-therapy-led-mask","title":"NOVÉA™ Glow Therapy LED Mask","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c!-- NOVÉA™ Glow Therapy LED Mask — Complete Shopify Custom Liquid Section --\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- No product images or mask illustrations are included. --\u003e\n\u003cdiv id=\"novea-glow-mask\" class=\"novea-mask\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"novea-hero\"\u003e\u003cspan class=\"novea-orb novea-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-orb novea-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"novea-container novea-hero__inner\"\u003e\n\u003cdiv class=\"novea-reveal\"\u003e\n\u003cspan class=\"novea-badge\"\u003eNOVÉA™ LIGHT THERAPY\u003c\/span\u003e\n\u003ch1\u003eNOVÉA™ Glow Therapy LED Mask\u003c\/h1\u003e\n\u003cp class=\"novea-tagline\"\u003eOne Mask. Seven Treatments.\u003cbr\u003eSkin That Glows From Within.\u003c\/p\u003e\n\u003cp class=\"novea-description\"\u003eTarget dullness, breakouts, fine lines and uneven-looking skin with seven clinically inspired light modes in one premium, wearable device.\u003c\/p\u003e\n\u003cdiv class=\"novea-colour-bar\"\u003e\n\u003cspan class=\"is-white\"\u003e\u003c\/span\u003e \u003cspan class=\"is-red\"\u003e\u003c\/span\u003e \u003cspan class=\"is-green\"\u003e\u003c\/span\u003e \u003cspan class=\"is-cyan\"\u003e\u003c\/span\u003e \u003cspan class=\"is-yellow\"\u003e\u003c\/span\u003e \u003cspan class=\"is-blue\"\u003e\u003c\/span\u003e \u003cspan class=\"is-purple\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e7\u003c\/strong\u003e\u003cspan\u003eLED light modes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e10–20\u003c\/strong\u003e\u003cspan\u003eminute sessions\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFull-face\u003c\/strong\u003e\u003cspan\u003eLED coverage\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUSB\u003c\/strong\u003e\u003cspan\u003erechargeable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-trust\"\u003e\n\u003cspan\u003eNo heat\u003c\/span\u003e \u003cspan\u003eNo pain\u003c\/span\u003e \u003cspan\u003eNo downtime\u003c\/span\u003e \u003cspan\u003eWearable design\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca href=\"#novea-led-modes\" class=\"novea-button\"\u003e Explore the 7 modes \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"novea-section\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-intro novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003e Professional-inspired skincare at home \u003c\/span\u003e\n\u003ch2\u003eSeven targeted treatments.\u003cbr\u003eOne effortless ritual.\u003c\/h2\u003e\n\u003cp\u003eTreating multiple skin concerns separately can be expensive and time-consuming. The NOVÉA™ Glow Therapy LED Mask brings seven targeted light modes into one wearable device, allowing you to personalise every session according to your skin’s needs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"novea-section novea-soft\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-heading novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003eYour complete glow ritual\u003c\/span\u003e\n\u003ch2\u003eWhat your skin gains\u003c\/h2\u003e\n\u003cp\u003ePersonalise your beauty ritual according to your current cosmetic skincare goals.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-benefits\"\u003e\n\u003carticle class=\"novea-card novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eVisibly younger-looking skin\u003c\/h3\u003e\n\u003cp\u003eRed light supports collagen production to help soften the appearance of fine lines and promote firmer-looking skin.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-card novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eClearer-looking complexion\u003c\/h3\u003e\n\u003cp\u003eCyan light is designed for blemish-prone skin and supports a clearer, more refreshed-looking complexion.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-card novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e◌\u003c\/span\u003e\n\u003ch3\u003eMore balanced-looking tone\u003c\/h3\u003e\n\u003cp\u003eGreen light helps calm the appearance of visible redness and encourages a more balanced-looking skin tone.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-card novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e✧\u003c\/span\u003e\n\u003ch3\u003eRadiant, refreshed glow\u003c\/h3\u003e\n\u003cp\u003eBlue light helps refresh dull-looking skin and supports a brighter, more radiant appearance.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-card novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e♡\u003c\/span\u003e\n\u003ch3\u003eSoothed-looking skin\u003c\/h3\u003e\n\u003cp\u003eYellow light helps soothe the appearance of stressed skin while supporting visible recovery.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-card novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eVisible skin renewal\u003c\/h3\u003e\n\u003cp\u003ePurple light combines complementary light benefits to support renewed and revitalised-looking skin.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-card novea-card--featured novea-reveal\"\u003e\u003cspan class=\"novea-icon\"\u003e✺\u003c\/span\u003e\n\u003ch3\u003eTotal-looking rejuvenation\u003c\/h3\u003e\n\u003cp\u003eWhite light provides full-spectrum cosmetic care to energise and revitalise the appearance of the complexion.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE LED MODES --\u003e\n\u003csection class=\"novea-section novea-led-section\" id=\"novea-led-modes\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-heading novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003ePersonalised light therapy\u003c\/span\u003e\n\u003ch2\u003eThe 7 LED therapy modes\u003c\/h2\u003e\n\u003cp\u003eSelect a colour below to update the selected treatment and explore its targeted cosmetic benefit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- SELECTED TREATMENT --\u003e\n\u003cdiv class=\"novea-selected novea-reveal\" id=\"novea-selected-treatment\" role=\"status\"\u003e\n\u003cspan class=\"novea-selected__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"novea-selected__inner\"\u003e\n\u003cspan class=\"novea-selected__dot\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"novea-selected__text\"\u003e\n\u003cspan class=\"novea-selected__label\"\u003eSelected treatment\u003c\/span\u003e \u003cstrong class=\"novea-selected__title\"\u003eWhite Light\u003c\/strong\u003e\n\u003cp class=\"novea-selected__copy\"\u003eFull-spectrum care to energise and revitalise the appearance of the complexion.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- TREATMENT BUTTONS --\u003e\n\u003cdiv class=\"novea-modes\"\u003e\n\u003cbutton class=\"novea-mode novea-mode--white is-active novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003eWhite Light\u003c\/strong\u003e \u003cspan\u003e Full-spectrum care for total-looking rejuvenation and vitality. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"novea-mode novea-mode--red novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003eRed Light\u003c\/strong\u003e \u003cspan\u003e Supports firmer-looking skin and softens the appearance of fine lines. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"novea-mode novea-mode--green novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003eGreen Light\u003c\/strong\u003e \u003cspan\u003e Helps calm visible redness and promote a balanced-looking tone. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"novea-mode novea-mode--cyan novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003eCyan Light\u003c\/strong\u003e \u003cspan\u003e Designed for blemish-prone skin and a clearer-looking complexion. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"novea-mode novea-mode--yellow novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003eYellow Light\u003c\/strong\u003e \u003cspan\u003e Helps soothe stressed-looking skin and supports visible recovery. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"novea-mode novea-mode--blue novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003eBlue Light\u003c\/strong\u003e \u003cspan\u003e Refreshes dull-looking skin and supports a radiant appearance. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"novea-mode novea-mode--purple novea-reveal\" type=\"button\"\u003e \u003cspan class=\"novea-mode__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"novea-mode__content\"\u003e \u003cstrong\u003ePurple Light\u003c\/strong\u003e \u003cspan\u003e Combines complementary benefits to support visible skin renewal. \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"novea-mode__check\"\u003e✓\u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cp class=\"novea-note novea-reveal\"\u003eCosmetic benefits may vary according to individual skin needs. Always follow the supplied user guide.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"novea-section\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-heading novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003eThe science of light\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003ePhotobiomodulation uses selected wavelengths of visible light to support different cosmetic skincare goals without heat or downtime.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-steps\"\u003e\n\u003carticle class=\"novea-step novea-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eSelect your mode\u003c\/h3\u003e\n\u003cp\u003eChoose one of seven light colours according to your current skincare goal.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-step novea-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eWear and relax\u003c\/h3\u003e\n\u003cp\u003ePosition the lightweight device comfortably over freshly cleansed, dry skin.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-step novea-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eTargeted illumination\u003c\/h3\u003e\n\u003cp\u003eThe full-face design delivers consistent light across the forehead, cheeks, nose and chin.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-step novea-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eComplete your ritual\u003c\/h3\u003e\n\u003cp\u003eAfter your session, follow with your favourite serum and moisturiser.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-comfort novea-reveal\"\u003e\n\u003cspan\u003e✓ No heat\u003c\/span\u003e \u003cspan\u003e✓ No pain\u003c\/span\u003e \u003cspan\u003e✓ No downtime\u003c\/span\u003e \u003cspan\u003e✓ At-home convenience\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"novea-section novea-soft\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-heading novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003eDesigned for effortless use\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-specs\"\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSeven light modes\u003c\/strong\u003e\n\u003cp\u003eSeven individual LED light therapy colour settings.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFull-face coverage\u003c\/strong\u003e\n\u003cp\u003eIlluminates the forehead, cheeks, nose and chin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLED technology\u003c\/strong\u003e\n\u003cp\u003eProfessional-inspired photobiomodulation technology.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSimple operation\u003c\/strong\u003e\n\u003cp\u003eEasy-to-use control for cycling through the modes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRechargeable power\u003c\/strong\u003e\n\u003cp\u003eUSB rechargeable, cordless and wearable design.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSession duration\u003c\/strong\u003e\n\u003cp\u003eRecommended session time of approximately 10–20 minutes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium design\u003c\/strong\u003e\n\u003cp\u003eLightweight white finish with rose-gold branding.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003ePresented in a premium NOVÉA™ matte-black gift box.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"novea-spec novea-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProudly South African\u003c\/strong\u003e\n\u003cp\u003ePremium beauty technology for your at-home ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"novea-section\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-heading novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003eYour at-home ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eComplete your LED light therapy ritual in six simple steps.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"novea-use\"\u003e\n\u003cli class=\"novea-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCleanse\u003c\/strong\u003e\n\u003cp\u003eCleanse your face thoroughly and gently pat it dry.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"novea-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePower on\u003c\/strong\u003e\n\u003cp\u003eEnsure the device is charged, position it and switch it on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"novea-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSelect\u003c\/strong\u003e\n\u003cp\u003eCycle through the colours and choose your preferred mode.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"novea-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRelax\u003c\/strong\u003e\n\u003cp\u003eEnjoy a comfortable 10–20 minute light therapy session.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"novea-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eComplete\u003c\/strong\u003e\n\u003cp\u003eRemove the device and apply your serum and moisturiser.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"novea-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRepeat\u003c\/strong\u003e\n\u003cp\u003eUse according to the recommendations in the supplied guide.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"novea-section novea-soft\"\u003e\n\u003cdiv class=\"novea-container\"\u003e\n\u003cdiv class=\"novea-heading novea-reveal\"\u003e\n\u003cspan class=\"novea-eyebrow\"\u003eThe complete experience\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-included\"\u003e\n\u003cdiv class=\"novea-reveal\"\u003e\n\u003cspan\u003e01\u003c\/span\u003e \u003cstrong\u003eNOVÉA™ Glow Therapy LED Mask\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-reveal\"\u003e\n\u003cspan\u003e02\u003c\/span\u003e \u003cstrong\u003eUSB charging cable\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-reveal\"\u003e\n\u003cspan\u003e03\u003c\/span\u003e \u003cstrong\u003ePremium NOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"novea-reveal\"\u003e\n\u003cspan\u003e04\u003c\/span\u003e \u003cstrong\u003eUser guide\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"novea-cta\"\u003e\n\u003cdiv class=\"novea-container novea-cta__inner novea-reveal\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"novea-eyebrow\"\u003eNOVÉA™ Glow Therapy\u003c\/span\u003e\n\u003ch2\u003eOne mask. Seven treatments.\u003c\/h2\u003e\n\u003cp\u003eSkin that speaks for itself.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ca href=\"#novea-led-modes\" class=\"novea-button\"\u003e View the 7 modes \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"novea-disclaimer\"\u003eCosmetic skincare device. Individual results may vary. Always follow the supplied user guide and discontinue use if irritation occurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-glow-mask {\n    --ink: #17181d;\n    --text: #353942;\n    --muted: #686e78;\n    --rose: #b76e79;\n    --rose-dark: #8f505b;\n    --rose-light: #e9c5cc;\n    --rose-wash: #fbe9ee;\n    --border: rgba(23, 24, 29, 0.11);\n    --shadow: 0 14px 38px rgba(25, 20, 28, 0.08);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--text);\n    background: #fff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-glow-mask *,\n  #novea-glow-mask *::before,\n  #novea-glow-mask *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-glow-mask h1,\n  #novea-glow-mask h2,\n  #novea-glow-mask h3,\n  #novea-glow-mask p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-glow-mask button,\n  #novea-glow-mask a {\n    font: inherit;\n  }\n\n  .novea-container {\n    position: relative;\n    z-index: 2;\n    width: min(1120px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .novea-section {\n    position: relative;\n    padding: 76px 0;\n  }\n\n  .novea-soft {\n    background:\n      radial-gradient(circle at 7% 7%, rgba(251, 233, 238, 0.96), transparent 28%),\n      linear-gradient(180deg, #fdfbfc, #f7f4f6);\n  }\n\n  .novea-heading,\n  .novea-intro {\n    max-width: 760px;\n    margin: 0 auto 42px;\n    text-align: center;\n  }\n\n  .novea-intro {\n    margin-bottom: 0;\n  }\n\n  .novea-heading h2,\n  .novea-intro h2,\n  .novea-cta h2 {\n    margin: 9px 0 14px !important;\n    color: var(--ink);\n    font-size: clamp(30px, 5vw, 50px);\n    font-weight: 760;\n    line-height: 1.08;\n    letter-spacing: -0.04em;\n  }\n\n  .novea-heading p,\n  .novea-intro p {\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .novea-eyebrow {\n    display: inline-block;\n    color: var(--rose);\n    font-size: 11px;\n    font-weight: 850;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .novea-hero {\n    position: relative;\n    display: grid;\n    min-height: 680px;\n    padding: 100px 0 85px;\n    overflow: hidden;\n    background:\n      radial-gradient(circle at 50% 30%, #fff, transparent 36%),\n      radial-gradient(circle at 15% 20%, rgba(255, 194, 207, 0.28), transparent 30%),\n      radial-gradient(circle at 88% 80%, rgba(192, 168, 255, 0.24), transparent 28%),\n      linear-gradient(145deg, #fff, #f9edf1 52%, #efeaff);\n    place-items: center;\n  }\n\n  .novea-hero__inner {\n    text-align: center;\n  }\n\n  .novea-badge {\n    display: inline-flex;\n    padding: 9px 15px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--rose-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.16em;\n  }\n\n  .novea-hero h1 {\n    max-width: 900px;\n    margin: 22px auto 16px !important;\n    color: var(--ink);\n    font-size: clamp(43px, 8vw, 78px);\n    font-weight: 780;\n    line-height: 0.99;\n    letter-spacing: -0.055em;\n  }\n\n  .novea-tagline {\n    margin-bottom: 15px !important;\n    color: var(--rose-dark);\n    font-size: clamp(19px, 3vw, 25px);\n    font-weight: 750;\n    line-height: 1.3;\n  }\n\n  .novea-description {\n    max-width: 700px;\n    margin: 0 auto !important;\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .novea-colour-bar {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    width: min(510px, 88%);\n    height: 8px;\n    margin: 30px auto 0;\n    overflow: hidden;\n    border-radius: 999px;\n    box-shadow: 0 8px 22px rgba(50, 40, 54, 0.12);\n  }\n\n  .novea-colour-bar .is-white { background: #e7e9f2; }\n  .novea-colour-bar .is-red { background: #ff4d5f; }\n  .novea-colour-bar .is-green { background: #59d37a; }\n  .novea-colour-bar .is-cyan { background: #42cfc2; }\n  .novea-colour-bar .is-yellow { background: #f3bc32; }\n  .novea-colour-bar .is-blue { background: #438fe8; }\n  .novea-colour-bar .is-purple { background: #9a68e8; }\n\n  .novea-highlights {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n    max-width: 720px;\n    margin: 30px auto 0;\n  }\n\n  .novea-highlights div {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    min-height: 58px;\n    padding: 12px;\n    border: 1px solid var(--border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.84);\n    box-shadow: 0 8px 22px rgba(17, 19, 24, 0.055);\n  }\n\n  .novea-highlights strong {\n    color: var(--rose-dark);\n    font-size: 14px;\n  }\n\n  .novea-highlights span {\n    color: #555c67;\n    font-size: 12px;\n  }\n\n  .novea-trust,\n  .novea-comfort {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 11px 21px;\n    margin-top: 20px;\n  }\n\n  .novea-trust span {\n    position: relative;\n    padding-left: 16px;\n    color: #616874;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .novea-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .novea-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 26px;\n    padding: 13px 21px;\n    border: 1px solid var(--rose);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(135deg, var(--rose-dark), var(--rose));\n    box-shadow: 0 12px 28px rgba(183, 110, 121, 0.26);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition: 0.25s ease;\n  }\n\n  .novea-button:hover {\n    box-shadow: 0 17px 35px rgba(183, 110, 121, 0.34);\n    transform: translateY(-3px);\n  }\n\n  .novea-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: novea-float 7s ease-in-out infinite;\n  }\n\n  .novea-orb--one {\n    top: 12%;\n    left: 4%;\n    width: 140px;\n    height: 140px;\n    background: rgba(255, 115, 140, 0.13);\n  }\n\n  .novea-orb--two {\n    right: 3%;\n    bottom: 10%;\n    width: 190px;\n    height: 190px;\n    background: rgba(155, 120, 255, 0.13);\n    animation-delay: -3s;\n  }\n\n  \/* Benefits *\/\n  .novea-benefits {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 16px;\n  }\n\n  .novea-card {\n    min-height: 220px;\n    padding: 24px;\n    border: 1px solid var(--border);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    transition: 0.28s ease;\n  }\n\n  .novea-card:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    box-shadow: 0 20px 48px rgba(25, 20, 28, 0.12);\n    transform: translateY(-4px);\n  }\n\n  .novea-icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 16px;\n    border-radius: 13px;\n    color: var(--rose-dark);\n    background: linear-gradient(180deg, #fff, var(--rose-wash));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    place-items: center;\n  }\n\n  .novea-card h3 {\n    margin-bottom: 9px !important;\n    color: var(--ink);\n    font-size: 17px;\n  }\n\n  .novea-card p {\n    color: var(--muted);\n    font-size: 14px;\n  }\n\n  \/* LED section *\/\n  .novea-led-section {\n    background:\n      radial-gradient(circle at 8% 10%, rgba(251, 232, 238, 0.94), transparent 27%),\n      radial-gradient(circle at 92% 90%, rgba(217, 204, 255, 0.76), transparent 28%),\n      #fbfafc;\n  }\n\n  .novea-selected {\n    --selected-colour: #e7e9f2;\n    --selected-glow: rgba(220, 224, 238, 0.72);\n\n    position: relative;\n    display: block;\n    width: 100%;\n    max-width: 820px;\n    min-height: 170px;\n    margin: 0 auto 32px;\n    padding: 28px;\n    overflow: hidden;\n    border: 1px solid var(--selected-colour);\n    border-radius: 24px;\n    background: #fff;\n    box-shadow:\n      0 18px 48px rgba(25, 20, 28, 0.1),\n      0 0 0 3px rgba(231, 233, 242, 0.3);\n    transition:\n      border-color 0.35s ease,\n      box-shadow 0.35s ease;\n  }\n\n  .novea-selected__glow {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 220px;\n    height: 220px;\n    border-radius: 50%;\n    background: var(--selected-glow);\n    filter: blur(48px);\n    opacity: 0.72;\n    pointer-events: none;\n    transform: translate(-32%, -50%);\n    transition: background 0.4s ease;\n  }\n\n  .novea-selected__inner {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    grid-template-columns: 25px minmax(0, 1fr);\n    align-items: flex-start;\n    gap: 18px;\n  }\n\n  .novea-selected__dot {\n    display: block;\n    width: 25px;\n    height: 25px;\n    margin-top: 5px;\n    border: 1px solid rgba(23, 24, 29, 0.13);\n    border-radius: 50%;\n    background: var(--selected-colour);\n    box-shadow: 0 0 20px var(--selected-colour);\n    transition:\n      background 0.4s ease,\n      box-shadow 0.4s ease;\n  }\n\n  .novea-selected__text {\n    min-width: 0;\n  }\n\n  .novea-selected__label {\n    display: block;\n    margin-bottom: 6px;\n    color: var(--rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n  }\n\n  .novea-selected__title {\n    display: block;\n    margin-bottom: 7px;\n    color: var(--ink);\n    font-size: clamp(21px, 3vw, 28px);\n    line-height: 1.2;\n  }\n\n  .novea-selected__copy {\n    display: block !important;\n    max-width: 650px;\n    color: var(--muted) !important;\n    font-size: 14px !important;\n    opacity: 1 !important;\n    visibility: visible !important;\n  }\n\n  .novea-selected.is-changing .novea-selected__text {\n    animation: novea-change 0.4s ease;\n  }\n\n  .novea-modes {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .novea-mode {\n    --mode-colour: #e7e9f2;\n\n    position: relative;\n    display: grid;\n    grid-template-columns: 24px minmax(0, 1fr) 25px;\n    align-items: flex-start;\n    gap: 15px;\n    width: 100%;\n    min-height: 130px;\n    padding: 20px;\n    border: 1px solid var(--border);\n    border-radius: 19px;\n    color: var(--text);\n    background: #fff;\n    box-shadow: 0 8px 23px rgba(17, 19, 24, 0.06);\n    text-align: left;\n    cursor: pointer;\n    appearance: none;\n    transition: 0.25s ease;\n  }\n\n  .novea-mode:hover,\n  .novea-mode:focus-visible,\n  .novea-mode.is-active {\n    border-color: var(--mode-colour);\n    outline: none;\n    box-shadow: 0 15px 34px rgba(17, 19, 24, 0.11);\n    transform: translateY(-4px);\n  }\n\n  .novea-mode__swatch {\n    width: 23px;\n    height: 23px;\n    margin-top: 2px;\n    border: 1px solid rgba(23, 24, 29, 0.13);\n    border-radius: 50%;\n    background: var(--mode-colour);\n    box-shadow: 0 0 15px var(--mode-colour);\n  }\n\n  .novea-mode__content strong,\n  .novea-mode__content span {\n    display: block;\n  }\n\n  .novea-mode__content strong {\n    margin-bottom: 6px;\n    color: var(--ink);\n    font-size: 16px;\n  }\n\n  .novea-mode__content span {\n    color: var(--muted);\n    font-size: 13px;\n    line-height: 1.5;\n  }\n\n  .novea-mode__check {\n    display: grid;\n    width: 24px;\n    height: 24px;\n    border-radius: 50%;\n    color: #fff;\n    background: var(--mode-colour);\n    font-size: 11px;\n    font-weight: 900;\n    opacity: 0;\n    place-items: center;\n    transform: scale(0.7);\n    transition: 0.25s ease;\n  }\n\n  .novea-mode.is-active .novea-mode__check {\n    opacity: 1;\n    transform: scale(1);\n  }\n\n  .novea-mode--white {\n    --mode-colour: #e7e9f2;\n    background: linear-gradient(180deg, #fff, rgba(231, 233, 242, 0.62));\n  }\n\n  .novea-mode--red {\n    --mode-colour: #ff4d5f;\n    background: linear-gradient(180deg, #fff, rgba(255, 77, 95, 0.09));\n  }\n\n  .novea-mode--green {\n    --mode-colour: #59d37a;\n    background: linear-gradient(180deg, #fff, rgba(89, 211, 122, 0.09));\n  }\n\n  .novea-mode--cyan {\n    --mode-colour: #42cfc2;\n    background: linear-gradient(180deg, #fff, rgba(66, 207, 194, 0.1));\n  }\n\n  .novea-mode--yellow {\n    --mode-colour: #f3bc32;\n    background: linear-gradient(180deg, #fff, rgba(243, 188, 50, 0.13));\n  }\n\n  .novea-mode--blue {\n    --mode-colour: #438fe8;\n    background: linear-gradient(180deg, #fff, rgba(67, 143, 232, 0.1));\n  }\n\n  .novea-mode--purple {\n    --mode-colour: #9a68e8;\n    background: linear-gradient(180deg, #fff, rgba(154, 104, 232, 0.11));\n  }\n\n  .novea-mode--white .novea-mode__check {\n    color: var(--ink);\n  }\n\n  .novea-note {\n    margin-top: 24px !important;\n    color: var(--muted);\n    font-size: 11px;\n    text-align: center;\n  }\n\n  \/* Steps, specifications, use and included *\/\n  .novea-steps,\n  .novea-specs,\n  .novea-use,\n  .novea-included {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n  }\n\n  .novea-step {\n    min-height: 220px;\n    padding: 23px;\n    border: 1px solid var(--border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n  }\n\n  .novea-step \u003e span,\n  .novea-use li \u003e span {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    flex: 0 0 40px;\n    border-radius: 50%;\n    color: var(--ink);\n    background: linear-gradient(180deg, var(--rose-wash), var(--rose-light));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.18);\n    font-size: 11px;\n    font-weight: 850;\n    place-items: center;\n  }\n\n  .novea-step \u003e span {\n    margin-bottom: 30px;\n  }\n\n  .novea-step h3 {\n    margin-bottom: 8px !important;\n    color: var(--ink);\n    font-size: 17px;\n  }\n\n  .novea-step p,\n  .novea-spec p,\n  .novea-use p {\n    color: var(--muted);\n    font-size: 13px;\n  }\n\n  .novea-comfort span {\n    padding: 10px 15px;\n    border: 1px solid var(--border);\n    border-radius: 999px;\n    background: #fff;\n    box-shadow: 0 6px 17px rgba(17, 19, 24, 0.05);\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .novea-spec,\n  .novea-use li,\n  .novea-included \u003e div {\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    min-height: 112px;\n    padding: 19px;\n    border: 1px solid var(--border);\n    border-radius: 18px;\n    background: #fff;\n    box-shadow: var(--shadow);\n  }\n\n  .novea-spec \u003e span,\n  .novea-included \u003e div \u003e span {\n    color: var(--rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .novea-spec strong,\n  .novea-use strong,\n  .novea-included strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  .novea-use {\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .novea-use li \u003e span {\n    margin: 0;\n  }\n\n  .novea-included \u003e div {\n    align-items: center;\n    min-height: 82px;\n  }\n\n  \/* CTA *\/\n  .novea-cta {\n    padding: 70px 0;\n    background: linear-gradient(\n      180deg,\n      rgba(251, 232, 238, 0.5),\n      rgba(217, 204, 255, 0.34)\n    );\n  }\n\n  .novea-cta__inner {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 25px;\n    flex-wrap: wrap;\n  }\n\n  .novea-cta .novea-button {\n    margin-top: 0;\n  }\n\n  .novea-cta p {\n    color: var(--muted);\n  }\n\n  .novea-disclaimer {\n    margin: 0 !important;\n    padding: 17px !important;\n    color: #777d87;\n    background: #f4f2f3;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Reveal effect *\/\n  .novea-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .novea-js .novea-reveal {\n    opacity: 0;\n    transform: translateY(22px);\n    transition:\n      opacity 0.7s ease,\n      transform 0.7s ease;\n  }\n\n  .novea-js .novea-reveal.novea-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  @keyframes novea-float {\n    50% {\n      transform: translateY(-17px);\n    }\n  }\n\n  @keyframes novea-change {\n    from {\n      opacity: 0;\n      transform: translateY(7px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @media (min-width: 680px) {\n    .novea-benefits,\n    .novea-modes,\n    .novea-steps,\n    .novea-specs,\n    .novea-use,\n    .novea-included {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .novea-card--featured {\n      grid-column: 1 \/ -1;\n    }\n  }\n\n  @media (min-width: 960px) {\n    .novea-section {\n      padding: 96px 0;\n    }\n\n    .novea-benefits,\n    .novea-specs {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .novea-card--featured {\n      grid-column: 2 \/ 3;\n    }\n  }\n\n  @media (min-width: 1080px) {\n    .novea-steps {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 679px) {\n    .novea-hero {\n      min-height: auto;\n      padding: 70px 0 65px;\n    }\n\n    .novea-selected {\n      min-height: 185px;\n      padding: 23px 19px;\n    }\n\n    .novea-selected__inner {\n      grid-template-columns: 21px minmax(0, 1fr);\n      gap: 14px;\n    }\n\n    .novea-selected__dot {\n      width: 21px;\n      height: 21px;\n    }\n\n    .novea-cta__inner {\n      justify-content: center;\n      text-align: center;\n    }\n\n    .novea-cta .novea-button {\n      width: 100%;\n    }\n  }\n\n  @media (max-width: 390px) {\n    .novea-container {\n      width: calc(100% - 22px);\n    }\n\n    .novea-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    .novea-mode {\n      grid-template-columns: 22px minmax(0, 1fr);\n      padding: 16px;\n    }\n\n    .novea-mode__check {\n      position: absolute;\n      top: 15px;\n      right: 15px;\n    }\n\n    .novea-mode__content {\n      padding-right: 22px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-glow-mask *,\n    #novea-glow-mask *::before,\n    #novea-glow-mask *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .novea-js .novea-reveal {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  (function () {\n    function initialiseNoveaSection(root) {\n      if (!root || root.dataset.noveaReady === \"true\") {\n        return;\n      }\n\n      root.dataset.noveaReady = \"true\";\n      root.classList.add(\"novea-js\");\n\n      \/* Reveal animations *\/\n      var revealItems = root.querySelectorAll(\".novea-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        var observer = new IntersectionObserver(\n          function (entries) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) return;\n\n              entry.target.classList.add(\"novea-visible\");\n              observer.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.08,\n            rootMargin: \"0px 0px -15px 0px\"\n          }\n        );\n\n        revealItems.forEach(function (item, index) {\n          item.style.transitionDelay = ((index % 4) * 50) + \"ms\";\n          observer.observe(item);\n        });\n\n        window.setTimeout(function () {\n          revealItems.forEach(function (item) {\n            item.classList.add(\"novea-visible\");\n          });\n        }, 1600);\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"novea-visible\");\n        });\n      }\n\n      \/* LED mode interaction *\/\n      var modesContainer = root.querySelector(\".novea-modes\");\n      var buttons = root.querySelectorAll(\".novea-mode\");\n      var panel = root.querySelector(\"#novea-selected-treatment\");\n      var titleElement = root.querySelector(\".novea-selected__title\");\n      var copyElement = root.querySelector(\".novea-selected__copy\");\n\n      function selectTreatment(button) {\n        if (!button || !panel || !titleElement || !copyElement) {\n          return;\n        }\n\n        var colour =\n          button.getAttribute(\"data-colour\") ||\n          window.getComputedStyle(button)\n            .getPropertyValue(\"--mode-colour\")\n            .trim() ||\n          \"#e7e9f2\";\n\n        var glow =\n          button.getAttribute(\"data-glow\") ||\n          \"rgba(220,224,238,.72)\";\n\n        var title =\n          button.getAttribute(\"data-title\") ||\n          button.querySelector(\".novea-mode__content strong\").textContent.trim();\n\n        var description =\n          button.getAttribute(\"data-description\") ||\n          button.querySelector(\".novea-mode__content span\").textContent\n            .replace(\/\\s+\/g, \" \")\n            .trim();\n\n        buttons.forEach(function (item) {\n          var active = item === button;\n\n          item.classList.toggle(\"is-active\", active);\n          item.setAttribute(\"aria-pressed\", active ? \"true\" : \"false\");\n        });\n\n        \/* Update text using textContent so Shopify cannot clear the panel. *\/\n        titleElement.textContent = title;\n        copyElement.textContent = description;\n\n        \/* Update colour using CSS variables. *\/\n        panel.style.setProperty(\"--selected-colour\", colour);\n        panel.style.setProperty(\"--selected-glow\", glow);\n\n        panel.style.borderColor = colour;\n        panel.style.boxShadow =\n          \"0 18px 48px rgba(25,20,28,.10), 0 0 0 3px \" +\n          colour +\n          \"33\";\n\n        \/* Restart change animation. *\/\n        panel.classList.remove(\"is-changing\");\n        void panel.offsetWidth;\n        panel.classList.add(\"is-changing\");\n      }\n\n      if (modesContainer) {\n        modesContainer.addEventListener(\"click\", function (event) {\n          var button = event.target.closest(\".novea-mode\");\n\n          if (!button || !modesContainer.contains(button)) {\n            return;\n          }\n\n          selectTreatment(button);\n        });\n      }\n\n      \/* Set the initial treatment. *\/\n      selectTreatment(\n        root.querySelector(\".novea-mode.is-active\") ||\n        root.querySelector(\".novea-mode\")\n      );\n    }\n\n    function initialiseAllNoveaSections() {\n      document\n        .querySelectorAll(\"#novea-glow-mask\")\n        .forEach(initialiseNoveaSection);\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        initialiseAllNoveaSections\n      );\n    } else {\n      initialiseAllNoveaSections();\n    }\n\n    \/* Shopify theme editor support *\/\n    document.addEventListener(\"shopify:section:load\", function (event) {\n      var root = event.target.querySelector(\"#novea-glow-mask\");\n\n      if (!root \u0026\u0026 event.target.id === \"novea-glow-mask\") {\n        root = event.target;\n      }\n\n      if (root) {\n        root.dataset.noveaReady = \"false\";\n        initialiseNoveaSection(root);\n      }\n    });\n  })();\n\u003c\/script\u003e ```\u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52234387161304,"sku":null,"price":999.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-18at16.35.30_1.jpg?v=1786643451"},{"product_id":"novea™-soft-lip-essence-oil","title":"NOVÉA™ Soft Lip Essence Oil","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c!-- NOVÉA™ Soft Lip Essence Oil — Shopify Custom Liquid Section --\u003e\n\u003cdiv id=\"novea-lip-essence\" class=\"nle\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nle-hero\"\u003e\u003cspan class=\"nle-orb nle-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nle-orb nle-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nle-sparkles\"\u003e\n\u003cspan\u003e✦\u003c\/span\u003e \u003cspan\u003e✧\u003c\/span\u003e \u003cspan\u003e✦\u003c\/span\u003e \u003cspan\u003e✧\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-container nle-hero__inner\"\u003e\n\u003cdiv class=\"nle-hero__copy nle-reveal\"\u003e\n\u003cspan class=\"nle-badge\"\u003eNOVÉA™ LIP CARE\u003c\/span\u003e\n\u003ch1\u003eNOVÉA™ Soft Lip Essence Oil\u003c\/h1\u003e\n\u003cp class=\"nle-tagline\"\u003eGlossy comfort.\u003cbr\u003eSoft, nourished-looking lips.\u003c\/p\u003e\n\u003cp class=\"nle-description\"\u003eA cushiony lip essence oil designed to leave lips looking smooth, luminous and beautifully glossy without a heavy, sticky feel.\u003c\/p\u003e\n\u003cdiv class=\"nle-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e2\u003c\/strong\u003e \u003cspan\u003ebeautiful flavours\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eGlossy\u003c\/strong\u003e \u003cspan\u003eglass-lip finish\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSoft\u003c\/strong\u003e \u003cspan\u003ecomfortable feel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEveryday\u003c\/strong\u003e \u003cspan\u003elip nourishment\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-trust\"\u003e\n\u003cspan\u003eNon-heavy feel\u003c\/span\u003e \u003cspan\u003eWear alone or layered\u003c\/span\u003e \u003cspan\u003eEasy everyday application\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"nle-button\" href=\"#nle-flavours\"\u003e Explore the flavours \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- Decorative visual only — no product picture --\u003e\n\u003cdiv class=\"nle-hero__visual nle-reveal\"\u003e\n\u003cdiv class=\"nle-glow-disc\"\u003e\n\u003cspan class=\"nle-glow-disc__ring\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nle-glow-disc__content\"\u003e\n\u003cspan class=\"nle-glow-disc__brand\"\u003eNOVÉA™\u003c\/span\u003e \u003cstrong\u003eSoft Lip\u003c\/strong\u003e \u003cstrong\u003eEssence Oil\u003c\/strong\u003e \u003csmall\u003eGloss • Comfort • Glow\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nle-floating-label nle-floating-label--peach\"\u003e 🍑 Peach Ooolong \u003c\/span\u003e \u003cspan class=\"nle-floating-label nle-floating-label--honey\"\u003e 🍯 Honey Milk \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"nle-section\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-intro nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eYour everyday lip ritual\u003c\/span\u003e\n\u003ch2\u003eComfort that looks as beautiful as it feels.\u003c\/h2\u003e\n\u003cp\u003eNOVÉA™ Soft Lip Essence Oil combines the high-shine appearance of a gloss with the smooth, comforting feel of a lightweight lip oil. Choose your favourite flavour and apply whenever your lips need a touch of softness and luminosity.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"nle-section nle-section--soft\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-heading nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eBeautifully effortless\u003c\/span\u003e\n\u003ch2\u003eWhy your lips will love it\u003c\/h2\u003e\n\u003cp\u003eA simple daily essential created for comfort, shine and beautifully polished-looking lips.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-benefits\"\u003e\n\u003carticle class=\"nle-benefit nle-reveal\"\u003e\u003cspan class=\"nle-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eHigh-shine finish\u003c\/h3\u003e\n\u003cp\u003eLeaves lips with a smooth, luminous glass-like shine that instantly elevates your natural look.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-benefit nle-reveal\"\u003e\u003cspan class=\"nle-benefit__icon\"\u003e♡\u003c\/span\u003e\n\u003ch3\u003eComforting lip care\u003c\/h3\u003e\n\u003cp\u003eThe cushiony oil texture helps lips feel soft and comfortable throughout your beauty routine.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-benefit nle-reveal\"\u003e\u003cspan class=\"nle-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eSmoother-looking lips\u003c\/h3\u003e\n\u003cp\u003eAdds a polished layer of shine that helps lips appear smoother, softer and more refined.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-benefit nle-reveal\"\u003e\u003cspan class=\"nle-benefit__icon\"\u003e◌\u003c\/span\u003e\n\u003ch3\u003eLightweight feel\u003c\/h3\u003e\n\u003cp\u003eDesigned to deliver glossy impact while maintaining a comfortable, wearable feel.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-benefit nle-reveal\"\u003e\u003cspan class=\"nle-benefit__icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eVersatile application\u003c\/h3\u003e\n\u003cp\u003eWear it alone for natural shine or layer it over your favourite lip colour for extra dimension.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-benefit nle-reveal\"\u003e\u003cspan class=\"nle-benefit__icon\"\u003e✧\u003c\/span\u003e\n\u003ch3\u003eTwo delicious flavours\u003c\/h3\u003e\n\u003cp\u003eChoose between fruity Peach Ooolong and warm Honey Milk to personalise your lip ritual.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE FLAVOURS --\u003e\n\u003csection class=\"nle-section nle-flavour-section\" id=\"nle-flavours\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-heading nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eChoose your essence\u003c\/span\u003e\n\u003ch2\u003eDiscover the two flavours\u003c\/h2\u003e\n\u003cp\u003eSelect a flavour below to update the preview and explore its individual scent, tone and finish.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-flavour-layout\"\u003e\n\u003c!-- Flavour options --\u003e\n\u003cdiv class=\"nle-options\"\u003e\n\u003cbutton class=\"nle-option nle-option--peach is-active nle-reveal\" type=\"button\"\u003e \u003cspan class=\"nle-option__icon\"\u003e🍑\u003c\/span\u003e \u003cspan class=\"nle-option__content\"\u003e \u003cstrong\u003ePeach Ooolong\u003c\/strong\u003e \u003cspan\u003e Fruity peach with a delicate pink-shimmer appearance. \u003c\/span\u003e \u003cspan class=\"nle-option__details\"\u003e \u003csmall\u003eFruity\u003c\/small\u003e \u003csmall\u003eFresh\u003c\/small\u003e \u003csmall\u003eLuminous\u003c\/small\u003e \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"nle-option__arrow\"\u003e→\u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nle-option nle-option--honey nle-reveal\" type=\"button\"\u003e \u003cspan class=\"nle-option__icon\"\u003e🍯\u003c\/span\u003e \u003cspan class=\"nle-option__content\"\u003e \u003cstrong\u003eHoney Milk\u003c\/strong\u003e \u003cspan\u003e Warm honey and milk with a rich golden-oil appearance. \u003c\/span\u003e \u003cspan class=\"nle-option__details\"\u003e \u003csmall\u003eWarm\u003c\/small\u003e \u003csmall\u003eSweet\u003c\/small\u003e \u003csmall\u003eComforting\u003c\/small\u003e \u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"nle-option__arrow\"\u003e→\u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- Selected flavour panel --\u003e\n\u003cdiv class=\"nle-selected nle-selected--peach nle-reveal\"\u003e\n\u003cdiv class=\"nle-selected__top\"\u003e\n\u003cspan class=\"nle-selected__label\"\u003eSelected flavour\u003c\/span\u003e \u003cspan class=\"nle-selected__swatch\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-selected__main\"\u003e\n\u003cspan class=\"nle-selected__emoji\"\u003e🍑\u003c\/span\u003e\n\u003cdiv\u003e\n\u003ch3 class=\"nle-selected__title\"\u003ePeach Ooolong\u003c\/h3\u003e\n\u003cp class=\"nle-selected__description\"\u003eA light, fruity peach scent paired with a delicate pink-tinted shimmer oil for a fresh, luminous glass-lip finish.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-selected__properties\"\u003e\n\u003cdiv\u003e\n\u003cspan\u003eScent\u003c\/span\u003e \u003cstrong class=\"nle-selected__scent\"\u003eFruity peach\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eOil tone\u003c\/span\u003e \u003cstrong class=\"nle-selected__tone\"\u003ePink shimmer\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eFinish\u003c\/span\u003e \u003cstrong class=\"nle-selected__finish\"\u003e Luminous glass-lip glow \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-selected__glow-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"nle-section\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-heading nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eGloss meets comfort\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003eThe smooth essence-oil texture coats the lips in a comfortable layer of high-impact shine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-steps\"\u003e\n\u003carticle class=\"nle-step nle-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eSmooth application\u003c\/h3\u003e\n\u003cp\u003eGlide the applicator evenly over clean lips for comfortable, effortless coverage.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-step nle-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eCushiony comfort\u003c\/h3\u003e\n\u003cp\u003eThe lightweight oil texture helps lips feel soft without an excessively heavy finish.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-step nle-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eInstant luminosity\u003c\/h3\u003e\n\u003cp\u003eA glossy layer catches the light and gives lips a smooth, dimensional appearance.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-step nle-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eReapply your way\u003c\/h3\u003e\n\u003cp\u003eWear it alone or reapply over lip colour whenever you want extra comfort and shine.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"nle-section nle-section--soft\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-heading nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eMade for your beauty routine\u003c\/span\u003e\n\u003ch2\u003eKey features\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-specifications\"\u003e\n\u003carticle class=\"nle-specification nle-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProduct type\u003c\/strong\u003e\n\u003cp\u003eComfortable high-shine lip essence oil.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-specification nle-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAvailable flavours\u003c\/strong\u003e\n\u003cp\u003ePeach Ooolong and Honey Milk.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-specification nle-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\n\u003cp\u003eLuminous, smooth and glass-like shine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-specification nle-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eTexture\u003c\/strong\u003e\n\u003cp\u003eCushiony oil texture with a lightweight feel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-specification nle-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApplication\u003c\/strong\u003e\n\u003cp\u003eWear alone or layer over your preferred lip colour.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nle-specification nle-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRecommended use\u003c\/strong\u003e\n\u003cp\u003eApply whenever lips need comfort, softness and shine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"nle-section\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-heading nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eYour glossy lip ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eCreate soft, glossy-looking lips in four effortless steps.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"nle-use-list\"\u003e\n\u003cli class=\"nle-use-item nle-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePrepare\u003c\/strong\u003e\n\u003cp\u003eBegin with clean, dry lips.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nle-use-item nle-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApply\u003c\/strong\u003e\n\u003cp\u003eGlide a smooth, even layer across the upper and lower lips.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nle-use-item nle-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLayer\u003c\/strong\u003e\n\u003cp\u003eWear alone or apply over lip colour for additional shine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nle-use-item nle-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRefresh\u003c\/strong\u003e\n\u003cp\u003eReapply throughout the day whenever desired.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- WHAT'S INCLUDED --\u003e\n\u003csection class=\"nle-section nle-section--soft\"\u003e\n\u003cdiv class=\"nle-container\"\u003e\n\u003cdiv class=\"nle-heading nle-reveal\"\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eYour chosen essence\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-included\"\u003e\n\u003cdiv class=\"nle-included__item nle-reveal\"\u003e\n\u003cspan\u003e01\u003c\/span\u003e \u003cstrong\u003e1 × NOVÉA™ Soft Lip Essence Oil\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-included__item nle-reveal\"\u003e\n\u003cspan\u003e02\u003c\/span\u003e \u003cstrong\u003eYour selected flavour\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-included__item nle-reveal\"\u003e\n\u003cspan\u003e03\u003c\/span\u003e \u003cstrong\u003eIntegrated lip applicator\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nle-included__item nle-reveal\"\u003e\n\u003cspan\u003e04\u003c\/span\u003e \u003cstrong\u003eNOVÉA™ product packaging\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"nle-cta\"\u003e\u003cspan class=\"nle-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nle-container nle-cta__inner nle-reveal\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"nle-eyebrow\"\u003eNOVÉA™ Soft Lip Essence Oil\u003c\/span\u003e\n\u003ch2\u003eSoftness you can feel.\u003cbr\u003eShine everyone can see.\u003c\/h2\u003e\n\u003cp\u003eChoose your favourite flavour and complete your lip ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ca class=\"nle-button nle-button--large\" href=\"#nle-flavours\"\u003e Choose your flavour \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"nle-disclaimer\"\u003eFor cosmetic use only. Individual appearance and experience may vary. Discontinue use if irritation occurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-lip-essence {\n    --nle-ink: #1c181a;\n    --nle-text: #403a3e;\n    --nle-muted: #746c72;\n    --nle-rose: #bd737e;\n    --nle-rose-dark: #98535f;\n    --nle-rose-light: #ecc8ce;\n    --nle-peach: #ef8f92;\n    --nle-peach-soft: rgba(239, 143, 146, 0.22);\n    --nle-honey: #d3a03b;\n    --nle-honey-soft: rgba(211, 160, 59, 0.22);\n    --nle-cream: #fffaf8;\n    --nle-border: rgba(28, 24, 26, 0.11);\n    --nle-shadow: 0 16px 42px rgba(45, 29, 37, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--nle-text);\n    background: #fff;\n    font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n      Helvetica, Arial, sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-lip-essence *,\n  #novea-lip-essence *::before,\n  #novea-lip-essence *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-lip-essence h1,\n  #novea-lip-essence h2,\n  #novea-lip-essence h3,\n  #novea-lip-essence p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-lip-essence button,\n  #novea-lip-essence a {\n    font: inherit;\n  }\n\n  .nle-container {\n    position: relative;\n    z-index: 2;\n    width: min(1120px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .nle-section {\n    position: relative;\n    padding: 76px 0;\n  }\n\n  .nle-section--soft {\n    background:\n      radial-gradient(\n        circle at 7% 8%,\n        rgba(255, 225, 224, 0.62),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fffdfc, #f9f5f6);\n  }\n\n  .nle-heading,\n  .nle-intro {\n    max-width: 760px;\n    margin: 0 auto 38px;\n    text-align: center;\n  }\n\n  .nle-intro {\n    margin-bottom: 0;\n  }\n\n  .nle-heading h2,\n  .nle-intro h2,\n  .nle-cta h2 {\n    margin: 8px 0 13px;\n    color: var(--nle-ink);\n    font-size: clamp(30px, 5vw, 50px);\n    font-weight: 760;\n    line-height: 1.08;\n    letter-spacing: -0.04em;\n  }\n\n  .nle-heading p,\n  .nle-intro p {\n    color: var(--nle-muted);\n    font-size: 16px;\n  }\n\n  .nle-eyebrow {\n    display: inline-block;\n    color: var(--nle-rose);\n    font-size: 11px;\n    font-weight: 850;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .nle-hero {\n    position: relative;\n    padding: 88px 0 76px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.96),\n        transparent 31%\n      ),\n      linear-gradient(145deg, #fff, #fcecef 50%, #fff3dc);\n  }\n\n  .nle-hero__inner {\n    display: grid;\n    align-items: center;\n    gap: 50px;\n  }\n\n  .nle-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(189, 115, 126, 0.3);\n    border-radius: 999px;\n    color: var(--nle-rose-dark);\n    background: rgba(255, 255, 255, 0.78);\n    box-shadow: 0 8px 24px rgba(189, 115, 126, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.16em;\n  }\n\n  .nle-hero h1 {\n    max-width: 700px;\n    margin: 19px 0 15px;\n    color: var(--nle-ink);\n    font-size: clamp(42px, 7vw, 70px);\n    font-weight: 780;\n    line-height: 0.99;\n    letter-spacing: -0.055em;\n  }\n\n  .nle-tagline {\n    margin-bottom: 14px !important;\n    color: var(--nle-rose-dark);\n    font-size: clamp(19px, 3vw, 24px);\n    font-weight: 750;\n    line-height: 1.3;\n  }\n\n  .nle-description {\n    max-width: 620px;\n    color: var(--nle-muted);\n    font-size: 16px;\n  }\n\n  .nle-highlights {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    max-width: 620px;\n    margin-top: 25px;\n  }\n\n  .nle-highlights div {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    min-height: 52px;\n    padding: 11px 13px;\n    border: 1px solid var(--nle-border);\n    border-radius: 14px;\n    background: rgba(255, 255, 255, 0.84);\n    box-shadow: 0 7px 20px rgba(42, 25, 33, 0.05);\n  }\n\n  .nle-highlights strong {\n    color: var(--nle-rose-dark);\n    font-size: 13px;\n  }\n\n  .nle-highlights span {\n    color: #625a60;\n    font-size: 12px;\n  }\n\n  .nle-trust {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px 21px;\n    margin-top: 18px;\n  }\n\n  .nle-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696168;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .nle-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--nle-rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .nle-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 50px;\n    margin-top: 25px;\n    padding: 12px 20px;\n    border: 1px solid var(--nle-rose);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(\n      135deg,\n      var(--nle-rose-dark),\n      var(--nle-rose)\n    );\n    box-shadow: 0 12px 28px rgba(189, 115, 126, 0.26);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .nle-button:hover,\n  .nle-button:focus-visible {\n    outline: none;\n    box-shadow: 0 16px 34px rgba(189, 115, 126, 0.34);\n    transform: translateY(-3px);\n  }\n\n  .nle-hero__visual {\n    position: relative;\n    display: grid;\n    min-height: 430px;\n    place-items: center;\n  }\n\n  .nle-glow-disc {\n    position: relative;\n    display: grid;\n    width: min(330px, 78vw);\n    aspect-ratio: 1;\n    border: 1px solid rgba(255, 255, 255, 0.82);\n    border-radius: 50%;\n    background:\n      radial-gradient(\n        circle at 35% 25%,\n        rgba(255, 255, 255, 0.98),\n        transparent 31%\n      ),\n      linear-gradient(145deg, #ffd9d8, #f3adb2 53%, #e5b45d);\n    box-shadow:\n      inset 0 0 50px rgba(255, 255, 255, 0.58),\n      0 30px 70px rgba(91, 50, 62, 0.2);\n    place-items: center;\n    animation: nle-disc-float 5s ease-in-out infinite;\n  }\n\n  .nle-glow-disc::before {\n    position: absolute;\n    inset: -25px;\n    z-index: -1;\n    border-radius: 50%;\n    background: conic-gradient(\n      var(--nle-peach),\n      #ffd9b1,\n      var(--nle-honey),\n      #f1b2c0,\n      var(--nle-peach)\n    );\n    filter: blur(34px);\n    opacity: 0.28;\n    content: \"\";\n    animation: nle-spin 12s linear infinite;\n  }\n\n  .nle-glow-disc__ring {\n    position: absolute;\n    inset: 19px;\n    border: 1px solid rgba(255, 255, 255, 0.52);\n    border-radius: 50%;\n  }\n\n  .nle-glow-disc__content {\n    color: #fff;\n    text-align: center;\n    text-shadow: 0 3px 20px rgba(71, 35, 44, 0.18);\n  }\n\n  .nle-glow-disc__brand {\n    display: block;\n    margin-bottom: 21px;\n    font-size: 10px;\n    font-weight: 900;\n    letter-spacing: 0.22em;\n  }\n\n  .nle-glow-disc__content strong {\n    display: block;\n    font-size: clamp(27px, 5vw, 39px);\n    line-height: 1.02;\n    letter-spacing: -0.04em;\n  }\n\n  .nle-glow-disc__content small {\n    display: block;\n    margin-top: 22px;\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n  }\n\n  .nle-floating-label {\n    position: absolute;\n    z-index: 3;\n    padding: 10px 14px;\n    border: 1px solid var(--nle-border);\n    border-radius: 999px;\n    background: rgba(255, 255, 255, 0.88);\n    box-shadow: var(--nle-shadow);\n    font-size: 11px;\n    font-weight: 800;\n    backdrop-filter: blur(8px);\n  }\n\n  .nle-floating-label--peach {\n    top: 15%;\n    left: 0;\n    color: #aa545c;\n    animation: nle-label-float 4s ease-in-out infinite;\n  }\n\n  .nle-floating-label--honey {\n    right: 0;\n    bottom: 18%;\n    color: #9a7024;\n    animation: nle-label-float 4s -2s ease-in-out infinite;\n  }\n\n  .nle-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: nle-orb-float 7s ease-in-out infinite;\n  }\n\n  .nle-orb--one {\n    top: 8%;\n    left: 2%;\n    width: 140px;\n    height: 140px;\n    background: rgba(255, 128, 145, 0.12);\n  }\n\n  .nle-orb--two {\n    right: 2%;\n    bottom: 5%;\n    width: 190px;\n    height: 190px;\n    background: rgba(224, 178, 75, 0.12);\n    animation-delay: -3s;\n  }\n\n  .nle-sparkles span {\n    position: absolute;\n    z-index: 1;\n    color: rgba(189, 115, 126, 0.56);\n    animation: nle-twinkle 3s ease-in-out infinite;\n  }\n\n  .nle-sparkles span:nth-child(1) {\n    top: 16%;\n    left: 46%;\n  }\n\n  .nle-sparkles span:nth-child(2) {\n    top: 28%;\n    right: 8%;\n    animation-delay: -1s;\n  }\n\n  .nle-sparkles span:nth-child(3) {\n    bottom: 17%;\n    left: 39%;\n    animation-delay: -2s;\n  }\n\n  .nle-sparkles span:nth-child(4) {\n    right: 41%;\n    bottom: 8%;\n    animation-delay: -0.5s;\n  }\n\n  \/* Benefits *\/\n  .nle-benefits {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 15px;\n  }\n\n  .nle-benefit {\n    min-height: 215px;\n    padding: 23px;\n    border: 1px solid var(--nle-border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--nle-shadow);\n    transition:\n      transform 0.28s ease,\n      box-shadow 0.28s ease,\n      border-color 0.28s ease;\n  }\n\n  .nle-benefit:hover {\n    border-color: rgba(189, 115, 126, 0.4);\n    box-shadow: 0 21px 49px rgba(45, 29, 37, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .nle-benefit__icon {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--nle-rose-dark);\n    background: linear-gradient(180deg, #fff, #f9e1e5);\n    box-shadow: 0 7px 18px rgba(189, 115, 126, 0.17);\n    place-items: center;\n  }\n\n  .nle-benefit h3 {\n    margin-bottom: 8px !important;\n    color: var(--nle-ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .nle-benefit p {\n    color: var(--nle-muted);\n    font-size: 14px;\n  }\n\n  \/* Interactive flavours *\/\n  .nle-flavour-section {\n    background:\n      radial-gradient(\n        circle at 8% 10%,\n        rgba(255, 218, 218, 0.66),\n        transparent 27%\n      ),\n      radial-gradient(\n        circle at 92% 88%,\n        rgba(255, 224, 160, 0.58),\n        transparent 28%\n      ),\n      #fffaf9;\n  }\n\n  .nle-flavour-layout {\n    display: grid;\n    align-items: stretch;\n    gap: 28px;\n  }\n\n  .nle-options {\n    display: grid;\n    gap: 15px;\n  }\n\n  .nle-option {\n    --option-colour: var(--nle-peach);\n    --option-soft: var(--nle-peach-soft);\n\n    display: grid;\n    grid-template-columns: 54px minmax(0, 1fr) 26px;\n    align-items: center;\n    gap: 15px;\n    width: 100%;\n    min-height: 150px;\n    padding: 20px;\n    border: 1px solid var(--nle-border);\n    border-radius: 21px;\n    color: var(--nle-text);\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        var(--option-soft),\n        transparent 42%\n      ),\n      #fff;\n    box-shadow: var(--nle-shadow);\n    text-align: left;\n    cursor: pointer;\n    appearance: none;\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .nle-option--honey {\n    --option-colour: var(--nle-honey);\n    --option-soft: var(--nle-honey-soft);\n  }\n\n  .nle-option:hover,\n  .nle-option:focus-visible,\n  .nle-option.is-active {\n    border-color: var(--option-colour);\n    outline: none;\n    box-shadow:\n      0 18px 38px rgba(42, 25, 33, 0.12),\n      0 0 0 3px var(--option-soft);\n    transform: translateY(-3px);\n  }\n\n  .nle-option__icon {\n    display: grid;\n    width: 54px;\n    height: 54px;\n    border: 1px solid var(--option-soft);\n    border-radius: 17px;\n    background: var(--option-soft);\n    font-size: 25px;\n    place-items: center;\n  }\n\n  .nle-option__content,\n  .nle-option__content strong,\n  .nle-option__content \u003e span {\n    display: block;\n  }\n\n  .nle-option__content strong {\n    margin-bottom: 5px;\n    color: var(--nle-ink);\n    font-size: 17px;\n  }\n\n  .nle-option__content \u003e span {\n    color: var(--nle-muted);\n    font-size: 13px;\n    line-height: 1.5;\n  }\n\n  .nle-option__details {\n    display: flex !important;\n    flex-wrap: wrap;\n    gap: 6px;\n    margin-top: 11px;\n  }\n\n  .nle-option__details small {\n    padding: 4px 8px;\n    border: 1px solid var(--option-soft);\n    border-radius: 999px;\n    color: var(--nle-text);\n    background: var(--option-soft);\n    font-size: 9px;\n    font-weight: 750;\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n  }\n\n  .nle-option__arrow {\n    color: var(--option-colour);\n    font-size: 21px;\n    transition: transform 0.25s ease;\n  }\n\n  .nle-option:hover .nle-option__arrow,\n  .nle-option.is-active .nle-option__arrow {\n    transform: translateX(4px);\n  }\n\n  .nle-selected {\n    --selected-theme: var(--nle-peach);\n    --selected-soft: var(--nle-peach-soft);\n\n    position: relative;\n    min-height: 315px;\n    padding: 26px;\n    overflow: hidden;\n    border: 1px solid var(--selected-theme);\n    border-radius: 24px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        var(--selected-soft),\n        transparent 44%\n      ),\n      #fff;\n    box-shadow: 0 22px 52px rgba(45, 29, 37, 0.12);\n    transition:\n      border-color 0.35s ease,\n      background 0.35s ease,\n      transform 0.35s ease;\n  }\n\n  .nle-selected__top {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 15px;\n    margin-bottom: 28px;\n  }\n\n  .nle-selected__label {\n    color: var(--selected-theme);\n    font-size: 10px;\n    font-weight: 900;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n  }\n\n  .nle-selected__swatch {\n    width: 19px;\n    height: 19px;\n    border-radius: 50%;\n    background: var(--selected-theme);\n    box-shadow: 0 0 17px var(--selected-theme);\n  }\n\n  .nle-selected__main {\n    display: grid;\n    grid-template-columns: 60px minmax(0, 1fr);\n    align-items: flex-start;\n    gap: 17px;\n  }\n\n  .nle-selected__emoji {\n    display: grid !important;\n    width: 60px;\n    height: 60px;\n    border-radius: 18px;\n    background: var(--selected-soft);\n    font-size: 29px;\n    place-items: center;\n  }\n\n  .nle-selected__title {\n    display: block !important;\n    margin-bottom: 8px !important;\n    color: var(--nle-ink);\n    font-size: 26px;\n    line-height: 1.15;\n  }\n\n  .nle-selected__description {\n    display: block !important;\n    color: var(--nle-muted);\n    font-size: 14px;\n  }\n\n  .nle-selected__properties {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 10px;\n    margin-top: 25px;\n  }\n\n  .nle-selected__properties div {\n    padding: 13px;\n    border: 1px solid var(--nle-border);\n    border-radius: 14px;\n    background: rgba(255, 255, 255, 0.76);\n  }\n\n  .nle-selected__properties span,\n  .nle-selected__properties strong {\n    display: block !important;\n  }\n\n  .nle-selected__properties span {\n    margin-bottom: 3px;\n    color: var(--nle-muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n    text-transform: uppercase;\n  }\n\n  .nle-selected__properties strong {\n    color: var(--nle-ink);\n    font-size: 12px;\n  }\n\n  .nle-selected__glow-line {\n    position: absolute;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    height: 4px;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      var(--selected-theme),\n      transparent\n    );\n    animation: nle-line-glow 2.5s ease-in-out infinite;\n  }\n\n  .nle-selected.is-updating .nle-selected__main,\n  .nle-selected.is-updating .nle-selected__properties {\n    animation: nle-content-update 0.42s ease;\n  }\n\n  \/* Steps *\/\n  .nle-steps {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n  }\n\n  .nle-step {\n    min-height: 215px;\n    padding: 21px;\n    border: 1px solid var(--nle-border);\n    border-radius: 18px;\n    background: #fff;\n    box-shadow: var(--nle-shadow);\n    transition: transform 0.28s ease;\n  }\n\n  .nle-step:hover {\n    transform: translateY(-4px);\n  }\n\n  .nle-step \u003e span {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    margin-bottom: 29px;\n    border-radius: 50%;\n    color: var(--nle-ink);\n    background: linear-gradient(180deg, #fff0f2, var(--nle-rose-light));\n    box-shadow: 0 7px 18px rgba(189, 115, 126, 0.18);\n    font-size: 11px;\n    font-weight: 850;\n    place-items: center;\n  }\n\n  .nle-step h3 {\n    margin-bottom: 7px !important;\n    color: var(--nle-ink);\n    font-size: 17px;\n  }\n\n  .nle-step p {\n    color: var(--nle-muted);\n    font-size: 14px;\n  }\n\n  \/* Specifications *\/\n  .nle-specifications {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n\n  .nle-specification {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 115px;\n    padding: 17px;\n    border: 1px solid var(--nle-border);\n    border-radius: 17px;\n    background: #fff;\n    box-shadow: var(--nle-shadow);\n    transition: transform 0.25s ease;\n  }\n\n  .nle-specification:hover {\n    transform: translateY(-3px);\n  }\n\n  .nle-specification \u003e span {\n    color: var(--nle-rose);\n    font-size: 10px;\n    font-weight: 900;\n    letter-spacing: 0.1em;\n  }\n\n  .nle-specification strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--nle-ink);\n    font-size: 14px;\n  }\n\n  .nle-specification p {\n    color: var(--nle-muted);\n    font-size: 13px;\n  }\n\n  \/* How to use *\/\n  .nle-use-list {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 12px;\n    max-width: 940px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .nle-use-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 104px;\n    padding: 18px;\n    border: 1px solid var(--nle-border);\n    border-radius: 17px;\n    background: #fff;\n    box-shadow: var(--nle-shadow);\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease;\n  }\n\n  .nle-use-item:hover {\n    border-color: rgba(189, 115, 126, 0.38);\n    transform: translateX(4px);\n  }\n\n  .nle-use-item \u003e span {\n    display: grid;\n    width: 36px;\n    height: 36px;\n    flex: 0 0 36px;\n    border-radius: 50%;\n    color: var(--nle-ink);\n    background: linear-gradient(180deg, #fff0f2, var(--nle-rose-light));\n    box-shadow: 0 6px 16px rgba(189, 115, 126, 0.18);\n    font-size: 12px;\n    font-weight: 850;\n    place-items: center;\n  }\n\n  .nle-use-item strong {\n    display: block;\n    color: var(--nle-ink);\n    font-size: 15px;\n  }\n\n  .nle-use-item p {\n    margin-top: 2px !important;\n    color: var(--nle-muted);\n    font-size: 13px;\n  }\n\n  \/* Included *\/\n  .nle-included {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n\n  .nle-included__item {\n    display: flex;\n    align-items: center;\n    gap: 15px;\n    min-height: 78px;\n    padding: 18px;\n    border: 1px solid var(--nle-border);\n    border-radius: 17px;\n    background: #fff;\n    box-shadow: 0 8px 22px rgba(42, 25, 33, 0.06);\n  }\n\n  .nle-included__item span {\n    color: var(--nle-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nle-included__item strong {\n    color: var(--nle-ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .nle-cta {\n    position: relative;\n    padding: 70px 0;\n    overflow: hidden;\n    border-top: 1px solid rgba(189, 115, 126, 0.25);\n    background: linear-gradient(\n      135deg,\n      rgba(255, 225, 227, 0.72),\n      rgba(255, 235, 190, 0.56)\n    );\n  }\n\n  .nle-cta__inner {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 25px;\n    flex-wrap: wrap;\n  }\n\n  .nle-cta h2 {\n    font-size: clamp(29px, 4vw, 44px);\n  }\n\n  .nle-cta p {\n    color: var(--nle-muted);\n  }\n\n  .nle-cta .nle-button {\n    margin-top: 0;\n  }\n\n  .nle-button--large {\n    min-height: 54px;\n    padding: 13px 23px;\n  }\n\n  .nle-cta__glow {\n    position: absolute;\n    top: 50%;\n    right: -120px;\n    width: 470px;\n    height: 320px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(189, 115, 126, 0.25),\n      transparent 68%\n    );\n    transform: translateY(-50%);\n  }\n\n  .nle-disclaimer {\n    padding: 16px !important;\n    color: #82797f;\n    background: #f6f3f4;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Content remains visible when JavaScript is unavailable *\/\n  .nle-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .nle-js .nle-reveal {\n    opacity: 0;\n    transform: translateY(22px);\n    transition:\n      opacity 0.7s ease,\n      transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .nle-js .nle-reveal.nle-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  @keyframes nle-spin {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n\n  @keyframes nle-disc-float {\n    0%,\n    100% {\n      transform: translateY(0) rotate(-2deg);\n    }\n\n    50% {\n      transform: translateY(-12px) rotate(2deg);\n    }\n  }\n\n  @keyframes nle-orb-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-18px);\n    }\n  }\n\n  @keyframes nle-label-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-8px);\n    }\n  }\n\n  @keyframes nle-twinkle {\n    0%,\n    100% {\n      opacity: 0.25;\n      transform: scale(0.8) rotate(0);\n    }\n\n    50% {\n      opacity: 1;\n      transform: scale(1.15) rotate(20deg);\n    }\n  }\n\n  @keyframes nle-line-glow {\n    0%,\n    100% {\n      opacity: 0.45;\n      transform: scaleX(0.72);\n    }\n\n    50% {\n      opacity: 1;\n      transform: scaleX(1);\n    }\n  }\n\n  @keyframes nle-content-update {\n    0% {\n      opacity: 0.45;\n      transform: translateY(5px);\n    }\n\n    100% {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @media (min-width: 680px) {\n    .nle-benefits {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nle-selected__properties {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nle-steps {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nle-specifications {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nle-use-list {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nle-included {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n  }\n\n  @media (min-width: 900px) {\n    .nle-flavour-layout {\n      grid-template-columns: 0.9fr 1.1fr;\n      gap: 30px;\n    }\n  }\n\n  @media (min-width: 960px) {\n    .nle-section {\n      padding: 94px 0;\n    }\n\n    .nle-hero__inner {\n      grid-template-columns: 1.08fr 0.92fr;\n    }\n\n    .nle-benefits {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nle-specifications {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @media (min-width: 1080px) {\n    .nle-steps {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 679px) {\n    .nle-hero {\n      padding: 62px 0 56px;\n      text-align: center;\n    }\n\n    .nle-description {\n      margin-right: auto !important;\n      margin-left: auto !important;\n    }\n\n    .nle-trust {\n      justify-content: center;\n    }\n\n    .nle-hero__visual {\n      min-height: 380px;\n    }\n\n    .nle-floating-label--peach {\n      left: 1%;\n    }\n\n    .nle-floating-label--honey {\n      right: 1%;\n    }\n\n    .nle-selected {\n      padding: 20px;\n    }\n\n    .nle-selected__main {\n      grid-template-columns: 50px minmax(0, 1fr);\n      gap: 13px;\n    }\n\n    .nle-selected__emoji {\n      width: 50px;\n      height: 50px;\n      font-size: 24px;\n    }\n\n    .nle-selected__title {\n      font-size: 22px;\n    }\n\n    .nle-cta__inner {\n      justify-content: center;\n      text-align: center;\n    }\n\n    .nle-cta .nle-button {\n      width: 100%;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .nle-container {\n      width: calc(100% - 22px);\n    }\n\n    .nle-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    .nle-glow-disc {\n      width: 255px;\n    }\n\n    .nle-option {\n      grid-template-columns: 45px minmax(0, 1fr);\n      padding: 16px;\n    }\n\n    .nle-option__icon {\n      width: 45px;\n      height: 45px;\n      font-size: 21px;\n    }\n\n    .nle-option__arrow {\n      display: none;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-lip-essence *,\n    #novea-lip-essence *::before,\n    #novea-lip-essence *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .nle-js .nle-reveal,\n    .nle-js .nle-reveal.nle-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  (function () {\n    var flavourContent = {\n      peach: {\n        emoji: \"🍑\",\n        title: \"Peach Ooolong\",\n        description:\n          \"A light, fruity peach scent paired with a delicate pink-tinted shimmer oil for a fresh, luminous glass-lip finish.\",\n        scent: \"Fruity peach\",\n        tone: \"Pink shimmer\",\n        finish: \"Luminous glass-lip glow\",\n        colour: \"#ef8f92\",\n        soft: \"rgba(239, 143, 146, 0.22)\"\n      },\n\n      honey: {\n        emoji: \"🍯\",\n        title: \"Honey Milk\",\n        description:\n          \"A warm, sweet honey-and-milk scent paired with a golden nourishing oil for a rich, comforting glossy finish.\",\n        scent: \"Honey and milk\",\n        tone: \"Golden oil\",\n        finish: \"Rich comforting shine\",\n        colour: \"#d3a03b\",\n        soft: \"rgba(211, 160, 59, 0.22)\"\n      }\n    };\n\n    function initialiseNoveaLip(root) {\n      if (!root || root.getAttribute(\"data-nle-ready\") === \"true\") {\n        return;\n      }\n\n      root.setAttribute(\"data-nle-ready\", \"true\");\n      root.classList.add(\"nle-js\");\n\n      \/*\n        Scroll reveal animation.\n        A fallback ensures content never remains invisible.\n      *\/\n      var revealItems = root.querySelectorAll(\".nle-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        var observer = new IntersectionObserver(\n          function (entries) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) {\n                return;\n              }\n\n              entry.target.classList.add(\"nle-visible\");\n              observer.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.08,\n            rootMargin: \"0px 0px -15px 0px\"\n          }\n        );\n\n        revealItems.forEach(function (item, index) {\n          item.style.transitionDelay = ((index % 4) * 55) + \"ms\";\n          observer.observe(item);\n        });\n\n        window.setTimeout(function () {\n          revealItems.forEach(function (item) {\n            item.classList.add(\"nle-visible\");\n          });\n        }, 1800);\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"nle-visible\");\n        });\n      }\n\n      \/*\n        Interactive flavour selector.\n      *\/\n      var buttons = root.querySelectorAll(\".nle-option\");\n      var panel = root.querySelector(\".nle-selected\");\n\n      if (!buttons.length || !panel) {\n        return;\n      }\n\n      var emojiElement = panel.querySelector(\".nle-selected__emoji\");\n      var titleElement = panel.querySelector(\".nle-selected__title\");\n      var descriptionElement = panel.querySelector(\n        \".nle-selected__description\"\n      );\n      var scentElement = panel.querySelector(\".nle-selected__scent\");\n      var toneElement = panel.querySelector(\".nle-selected__tone\");\n      var finishElement = panel.querySelector(\".nle-selected__finish\");\n\n      function updateText(element, text) {\n        if (!element) {\n          return;\n        }\n\n        element.textContent = text;\n        element.style.removeProperty(\"display\");\n        element.style.removeProperty(\"visibility\");\n        element.style.removeProperty(\"opacity\");\n      }\n\n      function identifyFlavour(button) {\n        if (button.classList.contains(\"nle-option--honey\")) {\n          return \"honey\";\n        }\n\n        if (button.classList.contains(\"nle-option--peach\")) {\n          return \"peach\";\n        }\n\n        return button.getAttribute(\"data-flavour\") || \"peach\";\n      }\n\n      function updateFlavour(flavourName, selectedButton) {\n        var flavour = flavourContent[flavourName];\n\n        if (!flavour) {\n          return;\n        }\n\n        updateText(emojiElement, flavour.emoji);\n        updateText(titleElement, flavour.title);\n        updateText(descriptionElement, flavour.description);\n        updateText(scentElement, flavour.scent);\n        updateText(toneElement, flavour.tone);\n        updateText(finishElement, flavour.finish);\n\n        panel.style.setProperty(\"--selected-theme\", flavour.colour);\n        panel.style.setProperty(\"--selected-soft\", flavour.soft);\n\n        panel.classList.toggle(\n          \"nle-selected--peach\",\n          flavourName === \"peach\"\n        );\n\n        panel.classList.toggle(\n          \"nle-selected--honey\",\n          flavourName === \"honey\"\n        );\n\n        buttons.forEach(function (button) {\n          var isSelected = button === selectedButton;\n\n          button.classList.toggle(\"is-active\", isSelected);\n          button.setAttribute(\n            \"aria-pressed\",\n            isSelected ? \"true\" : \"false\"\n          );\n        });\n\n        panel.classList.remove(\"is-updating\");\n\n        \/*\n          Force a browser reflow so the update animation restarts.\n          No content is hidden or cleared.\n        *\/\n        void panel.offsetWidth;\n        panel.classList.add(\"is-updating\");\n\n        window.setTimeout(function () {\n          panel.classList.remove(\"is-updating\");\n        }, 450);\n      }\n\n      buttons.forEach(function (button) {\n        button.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n\n          var flavourName = identifyFlavour(button);\n          updateFlavour(flavourName, button);\n        });\n      });\n\n      var initialButton =\n        root.querySelector(\".nle-option.is-active\") ||\n        root.querySelector(\".nle-option--peach\") ||\n        buttons[0];\n\n      if (initialButton) {\n        updateFlavour(identifyFlavour(initialButton), initialButton);\n      }\n    }\n\n    function initialiseAll(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-lip-essence\")\n      ) {\n        initialiseNoveaLip(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-lip-essence\")\n          .forEach(function (root) {\n            initialiseNoveaLip(root);\n          });\n      }\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAll(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAll(document);\n    }\n\n    \/*\n      Shopify theme editor support.\n    *\/\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(\"#novea-lip-essence\")\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root = event.target.querySelector(\"#novea-lip-essence\");\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-nle-ready\");\n        root.classList.remove(\"nle-js\");\n\n        initialiseNoveaLip(root);\n      }\n    );\n  })();\n\u003c\/script\u003e ```\u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Honey Milk","offer_id":52234625876184,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true},{"title":"Peach Oolong","offer_id":52234625908952,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-22at00.09.55_3.jpg?v=1786648376"},{"product_id":"novea™-clean-slate-brush-sponge-cleanser","title":"NOVÉA™ Clean Slate Brush \u0026 Sponge Cleanser","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c!-- NOVÉA™ Clean Slate Brush \u0026 Sponge Cleanser --\u003e\n\u003cdiv id=\"novea-clean-slate\" class=\"ncs\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"ncs-hero\"\u003e\u003cspan class=\"ncs-orb ncs-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-orb ncs-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-hero__copy ncs-reveal\"\u003e\n\u003cspan class=\"ncs-badge\"\u003eNOVÉA™ TOOL CARE\u003c\/span\u003e\n\u003ch1\u003eClean Slate \u003cspan\u003eBrush \u0026amp; Sponge Cleanser\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"ncs-tagline\"\u003eClean Tools. Clear Skin.\u003cbr\u003eFlawless Makeup — Every Time.\u003c\/p\u003e\n\u003cp class=\"ncs-description\"\u003eA concentrated cleanser created to dissolve makeup residue, oils and stubborn product buildup—helping restore your brushes and sponges to a beautifully clean, soft and ready-to-use condition.\u003c\/p\u003e\n\u003cdiv class=\"ncs-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDeep\u003c\/strong\u003e \u003cspan\u003etool cleansing\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAll\u003c\/strong\u003e \u003cspan\u003ebrush types\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSponge\u003c\/strong\u003e \u003cspan\u003esafe formula\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eQuick\u003c\/strong\u003e \u003cspan\u003elather action\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-trust\"\u003e\n\u003cspan\u003eNatural bristles\u003c\/span\u003e \u003cspan\u003eSynthetic bristles\u003c\/span\u003e \u003cspan\u003eBeauty sponges\u003c\/span\u003e \u003cspan\u003ePowder puffs\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"ncs-button\" href=\"#ncs-benefits\"\u003e Discover Clean Slate \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"ncs-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-intro ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eA fresh start for every tool\u003c\/span\u003e\n\u003ch2\u003eThe clean behind every flawless finish.\u003c\/h2\u003e\n\u003cp\u003eEvery makeup brush and sponge collects pigment, oils and product residue with use. NOVÉA™ Clean Slate works between bristles and inside sponge pores to loosen trapped buildup—not simply rinse the surface—so your tools feel clean, conditioned and ready for your next makeup application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"ncs-section ncs-section--soft\" id=\"ncs-benefits\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eYour complete tool-care ritual\u003c\/span\u003e\n\u003ch2\u003eWhat you gain\u003c\/h2\u003e\n\u003cp\u003eSelect any benefit to reveal more information.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-benefits\"\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eHygienically clean tools\u003c\/h3\u003e\n\u003cp\u003eDeep-cleansing action helps wash away accumulated makeup, oils and impurities for fresh-feeling brushes and sponges.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eTrue colour payoff\u003c\/h3\u003e\n\u003cp\u003eClean tools help prevent old pigments from mixing with fresh makeup, supporting cleaner colour and more seamless blending.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eExtended tool life\u003c\/h3\u003e\n\u003cp\u003eGentle, regular cleaning helps preserve bristle softness, brush shape and sponge integrity.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e↗\u003c\/span\u003e\n\u003ch3\u003eFaster, easier cleaning\u003c\/h3\u003e\n\u003cp\u003eThe concentrated formula lathers quickly to loosen foundation, powder, cream and long-wear product residue.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e♡\u003c\/span\u003e\n\u003ch3\u003eGentle tool care\u003c\/h3\u003e\n\u003cp\u003eDesigned to clean effectively while caring for the fibres and materials used in your everyday beauty tools.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e✧\u003c\/span\u003e\n\u003ch3\u003eProfessional-level freshness\u003c\/h3\u003e\n\u003cp\u003eMaintain a polished, salon-inspired standard of tool care from the comfort of your own home.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE CLEANSING PROCESS --\u003e\n\u003csection class=\"ncs-section ncs-formula\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-heading--light ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eConcentrated cleansing technology\u003c\/span\u003e\n\u003ch2\u003eHow Clean Slate works\u003c\/h2\u003e\n\u003cp\u003eChoose a stage to explore the complete cleansing process.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-formula__layout\"\u003e\n\u003cdiv class=\"ncs-clean-visual ncs-reveal\"\u003e\n\u003cdiv class=\"ncs-clean-orbit\"\u003e\n\u003cspan class=\"ncs-clean-ring ncs-clean-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-clean-ring ncs-clean-ring--inner\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-clean-core\"\u003e\n\u003cspan class=\"ncs-core-bubble ncs-core-bubble--1\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-core-bubble ncs-core-bubble--2\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-core-bubble ncs-core-bubble--3\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-core-bubble ncs-core-bubble--4\"\u003e\u003c\/span\u003e \u003cstrong class=\"ncs-core-word\"\u003eLATHER\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-active-stage\"\u003e\n\u003cspan class=\"ncs-active-stage__number\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"ncs-active-stage__content\"\u003e\n\u003cstrong class=\"ncs-stage-title\"\u003eQuick Lather\u003c\/strong\u003e\n\u003cp class=\"ncs-stage-copy\"\u003eA small amount activates with water to create a concentrated cleansing lather.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-stages\"\u003e\n\u003cbutton class=\"ncs-stage is-active ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-stage__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"ncs-stage__content\"\u003e \u003cstrong\u003eActivate\u003c\/strong\u003e \u003cspan\u003e Water transforms the concentrated cleanser into a rich, workable lather. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ncs-stage ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-stage__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"ncs-stage__content\"\u003e \u003cstrong\u003ePenetrate\u003c\/strong\u003e \u003cspan\u003e The formula reaches beneath the surface and into densely packed tool fibres. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ncs-stage ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-stage__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"ncs-stage__content\"\u003e \u003cstrong\u003eRelease\u003c\/strong\u003e \u003cspan\u003e Stubborn makeup and accumulated oils separate from your tools. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ncs-stage ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-stage__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"ncs-stage__content\"\u003e \u003cstrong\u003eRefresh\u003c\/strong\u003e \u003cspan\u003e Rinse to reveal fresh-feeling bristles, fibres and sponge surfaces. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SUITABLE FOR --\u003e\n\u003csection class=\"ncs-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eOne formula, your entire collection\u003c\/span\u003e\n\u003ch2\u003eMade for every beauty tool\u003c\/h2\u003e\n\u003cp\u003eA versatile cleaning ritual for the brushes and applicators you use every day.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-tools\"\u003e\n\u003carticle class=\"ncs-card ncs-reveal\"\u003e\u003cspan class=\"ncs-card__number\"\u003e01\u003c\/span\u003e\n\u003ch3\u003eNatural brushes\u003c\/h3\u003e\n\u003cp\u003eGently cleans natural bristles while helping preserve their shape and soft feel.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-card ncs-reveal\"\u003e\u003cspan class=\"ncs-card__number\"\u003e02\u003c\/span\u003e\n\u003ch3\u003eSynthetic brushes\u003c\/h3\u003e\n\u003cp\u003eBreaks down liquid, cream and powder residue held between dense synthetic fibres.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-card ncs-reveal\"\u003e\u003cspan class=\"ncs-card__number\"\u003e03\u003c\/span\u003e\n\u003ch3\u003eBeauty sponges\u003c\/h3\u003e\n\u003cp\u003eWorks inside absorbent sponge pores to help lift foundation, concealer and cream products.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-card ncs-reveal\"\u003e\u003cspan class=\"ncs-card__number\"\u003e04\u003c\/span\u003e\n\u003ch3\u003ePowder puffs\u003c\/h3\u003e\n\u003cp\u003eWashes away accumulated powder, pigment and oils for a cleaner application surface.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"ncs-section ncs-section--soft\" id=\"ncs-how-to-use\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eYour clean-tool ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eFollow seven simple steps for refreshed brushes and sponges.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"ncs-use\"\u003e\n\u003cli class=\"ncs-use__item ncs-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eWet\u003c\/strong\u003e\n\u003cp\u003eWet the brush bristles or sponge under lukewarm running water. Avoid soaking the brush ferrule.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use__item ncs-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDispense\u003c\/strong\u003e\n\u003cp\u003eDispense a small amount into your palm or onto a cleaning mat.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use__item ncs-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCreate a lather\u003c\/strong\u003e\n\u003cp\u003eWork the tool into the cleanser using gentle circular motions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use__item ncs-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRinse thoroughly\u003c\/strong\u003e\n\u003cp\u003eRinse under lukewarm water until the water runs clear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use__item ncs-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRemove excess water\u003c\/strong\u003e\n\u003cp\u003eGently squeeze out moisture without pulling or twisting the bristles or sponge.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use__item ncs-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eReshape and dry\u003c\/strong\u003e\n\u003cp\u003eReshape bristles and lay brushes flat or hang them upside down to dry.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use__item ncs-use__item--featured ncs-reveal\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRepeat regularly\u003c\/strong\u003e\n\u003cp\u003eClean brushes regularly and wash beauty sponges after every use for optimal freshness.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"ncs-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003ePremium care, beautifully considered\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-specifications\"\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eConcentrated formula\u003c\/strong\u003e\n\u003cp\u003eLiquid cleanser for makeup brushes, powder puffs and beauty sponges.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDeep-cleansing action\u003c\/strong\u003e\n\u003cp\u003eHelps remove pigment, oils, foundation, powder and product residue.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eGentle tool care\u003c\/strong\u003e\n\u003cp\u003eDesigned to clean effectively while caring for delicate tool fibres.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBrush compatibility\u003c\/strong\u003e\n\u003cp\u003eSuitable for natural and synthetic makeup brush bristles.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSponge compatibility\u003c\/strong\u003e\n\u003cp\u003eSuitable for beauty sponges, blenders and powder puffs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEfficient application\u003c\/strong\u003e\n\u003cp\u003eOnly a small amount is required for each cleaning session.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium presentation\u003c\/strong\u003e\n\u003cp\u003eBlush-pink presentation with signature NOVÉA™ branding.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003ePresented in a matte-black NOVÉA™ gift box.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProudly South African\u003c\/strong\u003e\n\u003cp\u003ePremium beauty-tool care created for your at-home ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"ncs-section ncs-included-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eThe complete presentation\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-included\"\u003e\n\u003cdiv class=\"ncs-included__item ncs-reveal\"\u003e\n\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eInside your order\u003c\/small\u003e \u003cstrong\u003e NOVÉA™ Clean Slate Brush \u0026amp; Sponge Cleanser \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-included__item ncs-reveal\"\u003e\n\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePremium presentation\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"ncs-cta\"\u003e\u003cspan class=\"ncs-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-container ncs-cta__inner ncs-reveal\"\u003e\n\u003cspan class=\"ncs-badge ncs-badge--dark\"\u003e NOVÉA™ CLEAN SLATE \u003c\/span\u003e\n\u003ch2\u003eBecause clean tools are the foundation of flawless-looking skin.\u003c\/h2\u003e\n\u003cp\u003eWash away yesterday’s makeup and give every beauty look a clean start.\u003c\/p\u003e\n\u003ca class=\"ncs-button ncs-button--light\" href=\"#ncs-how-to-use\"\u003e Explore the ritual \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"ncs-disclaimer\"\u003eFor cleaning cosmetic tools only. Follow the directions supplied with the product. Test on a small area of delicate tools before first use. Do not ingest and avoid direct contact with eyes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-clean-slate {\n    --ncs-ink: #171518;\n    --ncs-text: #413c42;\n    --ncs-muted: #746d75;\n    --ncs-rose: #b76e79;\n    --ncs-rose-dark: #8f4e5a;\n    --ncs-rose-light: #edc8ce;\n    --ncs-blush: #f9e7ea;\n    --ncs-border: rgba(23, 21, 24, 0.11);\n    --ncs-shadow: 0 16px 44px rgba(35, 24, 31, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--ncs-text);\n    background: #ffffff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-clean-slate *,\n  #novea-clean-slate *::before,\n  #novea-clean-slate *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-clean-slate h1,\n  #novea-clean-slate h2,\n  #novea-clean-slate h3,\n  #novea-clean-slate p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-clean-slate button,\n  #novea-clean-slate a {\n    font: inherit;\n  }\n\n  .ncs-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .ncs-section {\n    position: relative;\n    padding: 78px 0;\n  }\n\n  .ncs-section--soft {\n    background:\n      radial-gradient(\n        circle at 7% 8%,\n        rgba(249, 225, 230, 0.86),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fefcfc, #f7f3f5);\n  }\n\n  .ncs-heading,\n  .ncs-intro {\n    max-width: 780px;\n    margin: 0 auto 40px;\n    text-align: center;\n  }\n\n  .ncs-intro {\n    margin-bottom: 0;\n  }\n\n  .ncs-heading h2,\n  .ncs-intro h2,\n  .ncs-cta h2 {\n    margin: 8px 0 14px;\n    color: var(--ncs-ink);\n    font-size: clamp(31px, 5vw, 52px);\n    font-weight: 760;\n    line-height: 1.07;\n    letter-spacing: -0.045em;\n  }\n\n  .ncs-heading p,\n  .ncs-intro p {\n    color: var(--ncs-muted);\n    font-size: 16px;\n  }\n\n  .ncs-eyebrow {\n    display: inline-block;\n    color: var(--ncs-rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* HERO *\/\n  .ncs-hero {\n    position: relative;\n    padding: 105px 0 100px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 89% 88%,\n        rgba(235, 206, 212, 0.72),\n        transparent 30%\n      ),\n      linear-gradient(145deg, #ffffff, #f8e8eb 53%, #ede8ee);\n  }\n\n  .ncs-hero__copy {\n    width: min(100%, 840px);\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .ncs-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--ncs-rose-dark);\n    background: rgba(255, 255, 255, 0.79);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .ncs-hero h1 {\n    margin: 21px 0 17px;\n    color: var(--ncs-ink);\n    font-size: clamp(45px, 8vw, 78px);\n    font-weight: 790;\n    line-height: 0.97;\n    letter-spacing: -0.06em;\n  }\n\n  .ncs-hero h1 span {\n    display: block;\n    margin-top: 10px;\n    color: var(--ncs-rose-dark);\n    font-size: 0.46em;\n    font-weight: 720;\n    line-height: 1.15;\n    letter-spacing: -0.035em;\n  }\n\n  .ncs-tagline {\n    margin-bottom: 15px !important;\n    color: var(--ncs-rose-dark);\n    font-size: clamp(19px, 3vw, 24px);\n    font-weight: 760;\n    line-height: 1.3;\n  }\n\n  .ncs-description {\n    max-width: 680px;\n    margin: 0 auto !important;\n    color: var(--ncs-muted);\n    font-size: 16px;\n  }\n\n  .ncs-highlights {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 11px;\n    max-width: 780px;\n    margin: 28px auto 0;\n  }\n\n  .ncs-highlights div {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    min-height: 78px;\n    padding: 13px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 16px;\n    background: rgba(255, 255, 255, 0.84);\n    box-shadow: 0 7px 20px rgba(35, 24, 31, 0.055);\n  }\n\n  .ncs-highlights strong {\n    color: var(--ncs-rose-dark);\n    font-size: 15px;\n  }\n\n  .ncs-highlights span {\n    color: #625c63;\n    font-size: 12px;\n  }\n\n  .ncs-trust {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 11px 20px;\n    margin-top: 20px;\n  }\n\n  .ncs-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696269;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .ncs-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--ncs-rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .ncs-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 51px;\n    margin-top: 27px;\n    padding: 12px 22px;\n    border: 1px solid var(--ncs-rose);\n    border-radius: 999px;\n    color: #ffffff;\n    background: linear-gradient(\n      135deg,\n      var(--ncs-rose-dark),\n      var(--ncs-rose)\n    );\n    box-shadow: 0 13px 29px rgba(183, 110, 121, 0.27);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .ncs-button:hover,\n  .ncs-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 36px rgba(183, 110, 121, 0.35);\n    transform: translateY(-3px);\n  }\n\n  .ncs-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: ncs-float 7s ease-in-out infinite;\n  }\n\n  .ncs-orb--one {\n    top: 8%;\n    left: 3%;\n    width: 145px;\n    height: 145px;\n    background: rgba(225, 142, 156, 0.13);\n  }\n\n  .ncs-orb--two {\n    right: 3%;\n    bottom: 7%;\n    width: 190px;\n    height: 190px;\n    background: rgba(169, 137, 178, 0.11);\n    animation-delay: -3s;\n  }\n\n  \/* BENEFITS *\/\n  .ncs-benefits {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 15px;\n  }\n\n  .ncs-benefit {\n    position: relative;\n    min-height: 178px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--ncs-border);\n    border-radius: 20px;\n    background: #ffffff;\n    box-shadow: var(--ncs-shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .ncs-benefit:hover,\n  .ncs-benefit:focus-visible,\n  .ncs-benefit.is-open {\n    border-color: rgba(183, 110, 121, 0.44);\n    outline: none;\n    box-shadow: 0 22px 52px rgba(35, 24, 31, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .ncs-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 51px;\n    color: rgba(183, 110, 121, 0.72);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .ncs-benefit__icon {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--ncs-rose-dark);\n    background: linear-gradient(180deg, #ffffff, var(--ncs-blush));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    place-items: center;\n  }\n\n  .ncs-benefit h3 {\n    padding-right: 25px !important;\n    color: var(--ncs-ink);\n    font-size: 17px;\n  }\n\n  .ncs-benefit p {\n    display: block;\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--ncs-muted);\n    font-size: 14px;\n    opacity: 0;\n    transition:\n      max-height 0.35s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease;\n  }\n\n  .ncs-benefit.is-open p {\n    max-height: 190px;\n    margin-top: 9px !important;\n    opacity: 1;\n  }\n\n  .ncs-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 50%;\n  }\n\n  .ncs-benefit__toggle::before,\n  .ncs-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--ncs-rose);\n    content: \"\";\n    transform: translate(-50%, -50%);\n    transition: transform 0.25s ease;\n  }\n\n  .ncs-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n  }\n\n  .ncs-benefit.is-open .ncs-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* INTERACTIVE FORMULA *\/\n  .ncs-formula {\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 10% 12%,\n        rgba(183, 110, 121, 0.24),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 90% 89%,\n        rgba(125, 89, 136, 0.19),\n        transparent 30%\n      ),\n      var(--ncs-ink);\n  }\n\n  .ncs-heading--light h2 {\n    color: #ffffff;\n  }\n\n  .ncs-heading--light p {\n    color: rgba(255, 255, 255, 0.63);\n  }\n\n  .ncs-formula__layout {\n    display: grid;\n    align-items: center;\n    gap: 44px;\n  }\n\n  .ncs-clean-visual {\n    text-align: center;\n  }\n\n  .ncs-clean-orbit {\n    --stage-colour: #e8a7b1;\n    --stage-glow: rgba(232, 167, 177, 0.52);\n\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 24px;\n    place-items: center;\n  }\n\n  .ncs-clean-orbit::before {\n    position: absolute;\n    width: 63%;\n    height: 63%;\n    border-radius: 50%;\n    background: var(--stage-glow);\n    filter: blur(48px);\n    opacity: 0.58;\n    content: \"\";\n    transition: background 0.45s ease;\n  }\n\n  .ncs-clean-ring {\n    position: absolute;\n    border: 1px solid var(--stage-colour);\n    border-radius: 50%;\n    transition: border-color 0.45s ease;\n  }\n\n  .ncs-clean-ring--outer {\n    width: 94%;\n    height: 94%;\n    animation: ncs-pulse 3s ease-in-out infinite;\n  }\n\n  .ncs-clean-ring--inner {\n    width: 73%;\n    height: 73%;\n    animation: ncs-pulse 3s 1s ease-in-out infinite;\n  }\n\n  .ncs-clean-core {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    width: 52%;\n    aspect-ratio: 1;\n    overflow: hidden;\n    border: 2px solid var(--stage-colour);\n    border-radius: 50%;\n    background: linear-gradient(145deg, #fbe8eb, #d999a5);\n    box-shadow:\n      inset 0 0 35px var(--stage-glow),\n      0 0 40px var(--stage-glow);\n    place-items: center;\n    transition:\n      border-color 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .ncs-clean-core strong {\n    position: relative;\n    z-index: 3;\n    color: #5d3941;\n    font-size: 13px;\n    font-weight: 900;\n    letter-spacing: 0.14em;\n  }\n\n  .ncs-core-bubble {\n    position: absolute;\n    border: 1px solid rgba(255, 255, 255, 0.76);\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.25);\n    animation: ncs-core-bubble 4s ease-in-out infinite;\n  }\n\n  .ncs-core-bubble--1 {\n    top: 18%;\n    left: 19%;\n    width: 25px;\n    height: 25px;\n  }\n\n  .ncs-core-bubble--2 {\n    top: 25%;\n    right: 17%;\n    width: 16px;\n    height: 16px;\n    animation-delay: -1s;\n  }\n\n  .ncs-core-bubble--3 {\n    right: 25%;\n    bottom: 17%;\n    width: 31px;\n    height: 31px;\n    animation-delay: -2s;\n  }\n\n  .ncs-core-bubble--4 {\n    bottom: 25%;\n    left: 18%;\n    width: 13px;\n    height: 13px;\n    animation-delay: -3s;\n  }\n\n  .ncs-active-stage {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    width: min(100%, 460px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    border: 1px solid rgba(255, 255, 255, 0.12);\n    border-radius: 18px;\n    color: #ffffff;\n    background: rgba(255, 255, 255, 0.065);\n    text-align: left;\n  }\n\n  .ncs-active-stage__number {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: #ffffff;\n    background: var(--ncs-rose);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ncs-active-stage__content {\n    display: block;\n    min-width: 0;\n  }\n\n  .ncs-active-stage strong {\n    display: block;\n    margin-bottom: 5px;\n    color: #ffffff;\n    font-size: 16px;\n  }\n\n  .ncs-active-stage p {\n    display: block !important;\n    visibility: visible !important;\n    max-height: none !important;\n    overflow: visible !important;\n    color: rgba(255, 255, 255, 0.63);\n    font-size: 13px;\n    opacity: 1 !important;\n  }\n\n  \/*\n    FIXED STAGE GRID\n    Strong selectors and !important rules prevent Shopify theme\n    button styles from moving the text outside the cards.\n  *\/\n  #novea-clean-slate .ncs-stages {\n    display: grid !important;\n    grid-template-columns: minmax(0, 1fr) !important;\n    gap: 12px !important;\n    width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  #novea-clean-slate button.ncs-stage {\n    position: relative !important;\n    display: grid !important;\n    grid-template-columns: 42px minmax(0, 1fr) !important;\n    grid-template-rows: auto !important;\n    align-items: start !important;\n    justify-content: stretch !important;\n    column-gap: 15px !important;\n\n    width: 100% !important;\n    min-width: 0 !important;\n    max-width: 100% !important;\n    height: auto !important;\n    min-height: 112px !important;\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: hidden !important;\n\n    border: 1px solid rgba(255, 255, 255, 0.11) !important;\n    border-radius: 18px !important;\n    outline: none !important;\n    color: #ffffff !important;\n    background: rgba(255, 255, 255, 0.055) !important;\n    box-shadow: none !important;\n\n    text-align: left !important;\n    text-decoration: none !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    line-height: 1.5 !important;\n    white-space: normal !important;\n\n    cursor: pointer !important;\n    appearance: none !important;\n    -webkit-appearance: none !important;\n\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      background 0.25s ease !important;\n  }\n\n  #novea-clean-slate button.ncs-stage::before,\n  #novea-clean-slate button.ncs-stage::after {\n    display: none !important;\n    width: 0 !important;\n    height: 0 !important;\n    border: 0 !important;\n    box-shadow: none !important;\n    content: none !important;\n  }\n\n  #novea-clean-slate button.ncs-stage \u003e .ncs-stage__number {\n    position: static !important;\n    display: grid !important;\n    grid-column: 1 !important;\n    grid-row: 1 !important;\n    align-self: start !important;\n    place-items: center !important;\n\n    width: 42px !important;\n    height: 42px !important;\n    min-width: 42px !important;\n    min-height: 42px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n\n    border: 1px solid rgba(255, 255, 255, 0.14) !important;\n    border-radius: 50% !important;\n    color: #f4cbd1 !important;\n    background: rgba(255, 255, 255, 0.07) !important;\n\n    font-size: 10px !important;\n    font-weight: 900 !important;\n    line-height: 1 !important;\n  }\n\n  #novea-clean-slate button.ncs-stage \u003e .ncs-stage__content {\n    position: static !important;\n    display: block !important;\n    grid-column: 2 !important;\n    grid-row: 1 !important;\n    align-self: start !important;\n\n    width: auto !important;\n    min-width: 0 !important;\n    height: auto !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n\n    color: #ffffff !important;\n    background: transparent !important;\n    opacity: 1 !important;\n    transform: none !important;\n  }\n\n  #novea-clean-slate\n    button.ncs-stage\n    \u003e .ncs-stage__content\n    \u003e strong {\n    position: static !important;\n    display: block !important;\n    visibility: visible !important;\n\n    width: auto !important;\n    height: auto !important;\n    margin: 0 0 4px !important;\n    padding: 0 !important;\n    overflow: visible !important;\n\n    color: #ffffff !important;\n    background: transparent !important;\n    opacity: 1 !important;\n    transform: none !important;\n\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    line-height: 1.35 !important;\n    letter-spacing: normal !important;\n    text-align: left !important;\n    text-transform: none !important;\n    white-space: normal !important;\n  }\n\n  #novea-clean-slate\n    button.ncs-stage\n    \u003e .ncs-stage__content\n    \u003e span {\n    position: static !important;\n    display: block !important;\n    visibility: visible !important;\n\n    width: auto !important;\n    height: auto !important;\n    max-width: none !important;\n    max-height: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n\n    color: rgba(255, 255, 255, 0.64) !important;\n    background: transparent !important;\n    opacity: 1 !important;\n    transform: none !important;\n\n    font-size: 12px !important;\n    font-weight: 400 !important;\n    line-height: 1.55 !important;\n    letter-spacing: normal !important;\n    text-align: left !important;\n    text-transform: none !important;\n    white-space: normal !important;\n  }\n\n  #novea-clean-slate button.ncs-stage:hover,\n  #novea-clean-slate button.ncs-stage:focus-visible,\n  #novea-clean-slate button.ncs-stage.is-active {\n    border-color: rgba(232, 167, 177, 0.62) !important;\n    outline: none !important;\n    color: #ffffff !important;\n    background: rgba(255, 255, 255, 0.11) !important;\n    box-shadow: none !important;\n    transform: translateX(5px) !important;\n  }\n\n  \/* GENERAL CARDS *\/\n  .ncs-tools {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .ncs-card {\n    min-height: 170px;\n    padding: 21px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--ncs-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .ncs-card:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .ncs-card__number {\n    display: block;\n    margin-bottom: 25px;\n    color: var(--ncs-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .ncs-card h3 {\n    margin-bottom: 6px !important;\n    color: var(--ncs-ink);\n    font-size: 16px;\n  }\n\n  .ncs-card p {\n    color: var(--ncs-muted);\n    font-size: 13px;\n  }\n\n  \/* HOW TO USE *\/\n  .ncs-use {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 12px;\n    max-width: 1040px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .ncs-use__item {\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    min-height: 119px;\n    padding: 19px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 18px;\n    background: #ffffff;\n    box-shadow: var(--ncs-shadow);\n    transition: transform 0.26s ease;\n  }\n\n  .ncs-use__item:hover {\n    transform: translateY(-3px);\n  }\n\n  .ncs-use__item \u003e span {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: var(--ncs-ink);\n    background: linear-gradient(180deg, #ffffff, var(--ncs-rose-light));\n    font-size: 12px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ncs-use__item strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--ncs-ink);\n    font-size: 15px;\n  }\n\n  .ncs-use__item p {\n    color: var(--ncs-muted);\n    font-size: 13px;\n  }\n\n  .ncs-use__item--featured {\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.45),\n        transparent 45%\n      ),\n      #ffffff;\n  }\n\n  \/* SPECIFICATIONS *\/\n  .ncs-specifications {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .ncs-specification {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 130px;\n    padding: 21px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--ncs-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .ncs-specification:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .ncs-specification \u003e span {\n    color: var(--ncs-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .ncs-specification strong {\n    display: block;\n    margin-bottom: 6px;\n    color: var(--ncs-ink);\n    font-size: 14px;\n  }\n\n  .ncs-specification p {\n    color: var(--ncs-muted);\n    font-size: 13px;\n  }\n\n  \/* INCLUDED *\/\n  .ncs-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(240, 202, 208, 0.58),\n        transparent 29%\n      ),\n      #f8f4f6;\n  }\n\n  .ncs-included {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n    max-width: 920px;\n    margin: 0 auto;\n  }\n\n  .ncs-included__item {\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    min-height: 101px;\n    padding: 21px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--ncs-shadow);\n  }\n\n  .ncs-included__item \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: var(--ncs-rose-dark);\n    background: var(--ncs-blush);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ncs-included__item small,\n  .ncs-included__item strong {\n    display: block;\n  }\n\n  .ncs-included__item small {\n    margin-bottom: 3px;\n    color: var(--ncs-muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n    text-transform: uppercase;\n  }\n\n  .ncs-included__item strong {\n    color: var(--ncs-ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .ncs-cta {\n    position: relative;\n    padding: 91px 0;\n    overflow: hidden;\n    color: #ffffff;\n    background: var(--ncs-ink);\n    text-align: center;\n  }\n\n  .ncs-cta__inner {\n    max-width: 900px;\n  }\n\n  .ncs-cta h2 {\n    margin-top: 20px;\n    color: #ffffff;\n  }\n\n  .ncs-cta p {\n    color: rgba(255, 255, 255, 0.63);\n  }\n\n  .ncs-badge--dark {\n    color: #f0c8cf;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .ncs-button--light {\n    color: var(--ncs-ink);\n    border-color: #ffffff;\n    background: #ffffff;\n  }\n\n  .ncs-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(183, 110, 121, 0.4),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: ncs-glow 4s ease-in-out infinite;\n  }\n\n  .ncs-disclaimer {\n    padding: 17px !important;\n    color: #807981;\n    background: #f3f0f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* REVEAL ANIMATION *\/\n  .ncs-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .ncs-js .ncs-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .ncs-js .ncs-reveal.ncs-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  @keyframes ncs-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-18px);\n    }\n  }\n\n  @keyframes ncs-pulse {\n    0%,\n    100% {\n      opacity: 0.17;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.48;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes ncs-core-bubble {\n    0%,\n    100% {\n      opacity: 0.42;\n      transform: translateY(5px) scale(0.9);\n    }\n\n    50% {\n      opacity: 0.92;\n      transform: translateY(-7px) scale(1.08);\n    }\n  }\n\n  @keyframes ncs-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (min-width: 680px) {\n    .ncs-benefits,\n    .ncs-specifications,\n    .ncs-included,\n    .ncs-use {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .ncs-tools {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .ncs-use__item--featured {\n      grid-column: 1 \/ -1;\n    }\n  }\n\n  @media (min-width: 960px) {\n    .ncs-section {\n      padding: 96px 0;\n    }\n\n    .ncs-benefits,\n    .ncs-specifications {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .ncs-tools {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n\n    .ncs-formula__layout {\n      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n      gap: 65px;\n    }\n\n    .ncs-use {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .ncs-use__item--featured {\n      grid-column: 2 \/ 3;\n    }\n  }\n\n  @media (max-width: 679px) {\n    .ncs-hero {\n      padding: 72px 0 68px;\n    }\n\n    .ncs-highlights {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    #novea-clean-slate button.ncs-stage:hover,\n    #novea-clean-slate button.ncs-stage:focus-visible,\n    #novea-clean-slate button.ncs-stage.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .ncs-container {\n      width: calc(100% - 22px);\n    }\n\n    .ncs-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    #novea-clean-slate button.ncs-stage {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      column-gap: 13px !important;\n      min-height: 108px !important;\n      padding: 15px !important;\n    }\n\n    #novea-clean-slate\n      button.ncs-stage\n      \u003e .ncs-stage__number {\n      width: 38px !important;\n      height: 38px !important;\n      min-width: 38px !important;\n      min-height: 38px !important;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-clean-slate *,\n    #novea-clean-slate *::before,\n    #novea-clean-slate *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .ncs-js .ncs-reveal,\n    .ncs-js .ncs-reveal.ncs-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  (function () {\n    function initialiseCleanSlate(root) {\n      if (!root || root.getAttribute(\"data-ncs-ready\") === \"true\") {\n        return;\n      }\n\n      root.setAttribute(\"data-ncs-ready\", \"true\");\n      root.classList.add(\"ncs-js\");\n\n      \/* Reveal animations *\/\n      var revealItems = root.querySelectorAll(\".ncs-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        var observer = new IntersectionObserver(\n          function (entries) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) {\n                return;\n              }\n\n              entry.target.classList.add(\"ncs-visible\");\n              observer.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.08,\n            rootMargin: \"0px 0px -18px 0px\"\n          }\n        );\n\n        revealItems.forEach(function (item, index) {\n          item.style.transitionDelay = ((index % 4) * 55) + \"ms\";\n          observer.observe(item);\n        });\n\n        \/* Ensures Shopify never leaves content invisible *\/\n        window.setTimeout(function () {\n          revealItems.forEach(function (item) {\n            item.classList.add(\"ncs-visible\");\n          });\n        }, 1800);\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"ncs-visible\");\n        });\n      }\n\n      \/* Expandable benefit cards *\/\n      var benefitCards = root.querySelectorAll(\".ncs-benefit\");\n\n      function toggleBenefit(card) {\n        var open = card.classList.toggle(\"is-open\");\n\n        card.setAttribute(\n          \"aria-expanded\",\n          open ? \"true\" : \"false\"\n        );\n      }\n\n      benefitCards.forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          toggleBenefit(card);\n        });\n\n        card.addEventListener(\"keydown\", function (event) {\n          if (event.key !== \"Enter\" \u0026\u0026 event.key !== \" \") {\n            return;\n          }\n\n          event.preventDefault();\n          toggleBenefit(card);\n        });\n      });\n\n      \/* Interactive cleansing stages *\/\n      var buttons = root.querySelectorAll(\".ncs-stage\");\n      var orbit = root.querySelector(\".ncs-clean-orbit\");\n      var coreWord = root.querySelector(\".ncs-core-word\");\n      var stageNumber = root.querySelector(\n        \".ncs-active-stage__number\"\n      );\n      var stageTitle = root.querySelector(\".ncs-stage-title\");\n      var stageCopy = root.querySelector(\".ncs-stage-copy\");\n\n      function updateStage(button) {\n        if (!button) {\n          return;\n        }\n\n        var number =\n          button.getAttribute(\"data-number\") || \"01\";\n\n        var word =\n          button.getAttribute(\"data-word\") || \"LATHER\";\n\n        var title =\n          button.getAttribute(\"data-title\") || \"Quick Lather\";\n\n        var copy =\n          button.getAttribute(\"data-copy\") ||\n          \"A small amount activates with water.\";\n\n        var colour =\n          button.getAttribute(\"data-colour\") || \"#e8a7b1\";\n\n        var glow =\n          button.getAttribute(\"data-glow\") ||\n          \"rgba(232,167,177,.52)\";\n\n        buttons.forEach(function (item) {\n          var selected = item === button;\n\n          item.classList.toggle(\"is-active\", selected);\n          item.setAttribute(\n            \"aria-pressed\",\n            selected ? \"true\" : \"false\"\n          );\n        });\n\n        if (orbit) {\n          orbit.style.setProperty(\"--stage-colour\", colour);\n          orbit.style.setProperty(\"--stage-glow\", glow);\n        }\n\n        if (coreWord) {\n          coreWord.textContent = word;\n        }\n\n        if (stageNumber) {\n          stageNumber.textContent = number;\n        }\n\n        if (stageTitle) {\n          stageTitle.textContent = title;\n        }\n\n        if (stageCopy) {\n          stageCopy.textContent = copy;\n        }\n      }\n\n      buttons.forEach(function (button) {\n        button.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          updateStage(button);\n        });\n      });\n\n      var initialButton =\n        root.querySelector(\".ncs-stage.is-active\") ||\n        buttons[0];\n\n      if (initialButton) {\n        updateStage(initialButton);\n      }\n    }\n\n    function initialiseAll(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-clean-slate\")\n      ) {\n        initialiseCleanSlate(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-clean-slate\")\n          .forEach(function (root) {\n            initialiseCleanSlate(root);\n          });\n      }\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAll(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAll(document);\n    }\n\n    \/* Shopify Theme Editor support *\/\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(\"#novea-clean-slate\")\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root = event.target.querySelector(\n            \"#novea-clean-slate\"\n          );\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-ncs-ready\");\n        root.classList.remove(\"ncs-js\");\n\n        initialiseCleanSlate(root);\n      }\n    );\n  })();\n\u003c\/script\u003e ```\u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52234694820056,"sku":null,"price":229.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-25at10.14.52.jpg?v=1786651911"},{"product_id":"novea™-pro-makeup-setting-spray","title":"NOVÉA™ Pro Makeup Setting Spray","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c!--\n  NOVÉA™ Pro Makeup Setting Spray\n  Premium Shopify Custom Liquid Product Section\n--\u003e\n\u003cdiv id=\"novea-setting-spray\" class=\"nss\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nss-hero\"\u003e\n\u003cdiv class=\"nss-hero__grid-pattern\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"nss-orb nss-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-orb nss-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nss-container nss-hero__layout\"\u003e\n\u003cdiv class=\"nss-hero__copy nss-reveal\"\u003e\n\u003cspan class=\"nss-badge\"\u003eNOVÉA™ PRO MAKEUP\u003c\/span\u003e\n\u003ch1\u003ePro Makeup \u003cspan\u003eSetting Spray\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"nss-tagline\"\u003eMakeup That Stays Put.\u003cbr\u003eFor Up to 8 Hours.\u003c\/p\u003e\n\u003cp class=\"nss-description\"\u003eLock your entire look in place with an ultra-fine setting mist designed to extend makeup wear while keeping skin looking fresh, dewy and beautifully seamless.\u003c\/p\u003e\n\u003cdiv class=\"nss-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUp to 8H\u003c\/strong\u003e \u003cspan\u003emakeup wear\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eMicro-fine\u003c\/strong\u003e \u003cspan\u003eatomising mist\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFresh\u003c\/strong\u003e \u003cspan\u003edewy finish\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAll\u003c\/strong\u003e \u003cspan\u003eskin types\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-trust\"\u003e\n\u003cspan\u003eLightweight\u003c\/span\u003e \u003cspan\u003eNon-sticky\u003c\/span\u003e \u003cspan\u003eBreathable\u003c\/span\u003e \u003cspan\u003eHumidity resistant\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"nss-button\" href=\"#nss-benefits\"\u003e Discover the benefits \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- Abstract animated mist experience; no product image required --\u003e\n\u003cdiv class=\"nss-hero__experience nss-reveal\"\u003e\n\u003cdiv class=\"nss-mist-halo\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"nss-mist-scene\"\u003e\n\u003cspan class=\"nss-mist nss-mist--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-mist nss-mist--two\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-mist nss-mist--three\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--1\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--2\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--3\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--4\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--5\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--6\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--7\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-droplet nss-droplet--8\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nss-glass-card\"\u003e\n\u003cspan class=\"nss-glass-card__line\"\u003e\u003c\/span\u003e \u003csmall\u003eNOVÉA™ PRO\u003c\/small\u003e \u003cstrong\u003e8H\u003c\/strong\u003e \u003cspan\u003eSETTING\u003cbr\u003eMIST\u003c\/span\u003e \u003cem\u003eLOCK · MELT · REFRESH\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nss-spark nss-spark--1\"\u003e✦\u003c\/span\u003e \u003cspan class=\"nss-spark nss-spark--2\"\u003e✧\u003c\/span\u003e \u003cspan class=\"nss-spark nss-spark--3\"\u003e✦\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nss-floating-label nss-floating-label--one\"\u003e Micro-fine mist \u003c\/span\u003e \u003cspan class=\"nss-floating-label nss-floating-label--two\"\u003e Fresh, dewy finish \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"nss-section\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-intro nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003eMakeup that moves with your day\u003c\/span\u003e\n\u003ch2\u003eYour look, beautifully locked in.\u003c\/h2\u003e\n\u003cp\u003eYou spent time perfecting your makeup. The last thing you need is for it to fade, crease or melt away by midday. NOVÉA™ Pro Makeup Setting Spray creates a lightweight, breathable veil over your makeup to help preserve your look for up to eight hours—from your first appointment to your final plan.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-intro-statement nss-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBecause your makeup should last as long as your day does.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"nss-section nss-section--soft\" id=\"nss-benefits\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-heading nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003eYour all-day complexion essential\u003c\/span\u003e\n\u003ch2\u003eWhat you gain\u003c\/h2\u003e\n\u003cp\u003eSelect a benefit to discover how the setting mist elevates your finished makeup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-benefits\"\u003e\n\u003carticle class=\"nss-benefit is-open nss-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nss-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nss-benefit__icon\"\u003e8H\u003c\/span\u003e\n\u003ch3\u003eUp to 8-hour makeup wear\u003c\/h3\u003e\n\u003cp\u003eThe setting formula helps hold foundation, concealer, eyeshadow and blush in place, extending the fresh appearance of your makeup for up to eight hours.\u003c\/p\u003e\n\u003cspan class=\"nss-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nss-benefit nss-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nss-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nss-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eLess fading and creasing\u003c\/h3\u003e\n\u003cp\u003eFilm-forming agents create an invisible, flexible layer that helps makeup resist fading and visibly settling into fine lines.\u003c\/p\u003e\n\u003cspan class=\"nss-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nss-benefit nss-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nss-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nss-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eFresh, dewy finish\u003c\/h3\u003e\n\u003cp\u003eThe ultra-fine mist refreshes the appearance of the complexion and supports a naturally radiant finish without disturbing makeup.\u003c\/p\u003e\n\u003cspan class=\"nss-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nss-benefit nss-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nss-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nss-benefit__icon\"\u003e≋\u003c\/span\u003e\n\u003ch3\u003eSweat and humidity resistant\u003c\/h3\u003e\n\u003cp\u003eDesigned to help maintain your finished look through warm weather, humid conditions and demanding days.\u003c\/p\u003e\n\u003cspan class=\"nss-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nss-benefit nss-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nss-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nss-benefit__icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eMelts powder into the skin\u003c\/h3\u003e\n\u003cp\u003eThe weightless liquid mist helps soften the appearance of powder products for a seamless, natural and skin-like finish.\u003c\/p\u003e\n\u003cspan class=\"nss-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nss-benefit nss-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nss-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"nss-benefit__icon\"\u003e↻\u003c\/span\u003e\n\u003ch3\u003eRefreshes throughout the day\u003c\/h3\u003e\n\u003cp\u003eMist over set makeup whenever your complexion needs a fresh, revived appearance—without completing your makeup again.\u003c\/p\u003e\n\u003cspan class=\"nss-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE WEAR JOURNEY --\u003e\n\u003csection class=\"nss-section nss-journey\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-heading nss-heading--light nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003eFrom application to hour eight\u003c\/span\u003e\n\u003ch2\u003eYour makeup wear journey\u003c\/h2\u003e\n\u003cp\u003eSelect a moment to explore how NOVÉA™ supports your finished look.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-journey__layout\"\u003e\n\u003cdiv class=\"nss-clock-area nss-reveal\"\u003e\n\u003cdiv class=\"nss-clock\"\u003e\n\u003cspan class=\"nss-clock__ring nss-clock__ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__ring nss-clock__ring--inner\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--1\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--2\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--3\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--4\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--5\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--6\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--7\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__marker nss-clock__marker--8\"\u003e\u003c\/span\u003e \u003cspan class=\"nss-clock__hand\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nss-clock__core\"\u003e\n\u003csmall\u003eUP TO\u003c\/small\u003e \u003cstrong class=\"nss-clock-value\"\u003e8H\u003c\/strong\u003e \u003cspan class=\"nss-clock-word\"\u003eLOCK\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-selected-stage\"\u003e\n\u003cspan class=\"nss-selected-stage__number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"nss-selected-stage__title\"\u003e Instant Lock \u003c\/strong\u003e\n\u003cp class=\"nss-selected-stage__copy\"\u003eThe micro-fine mist settles evenly over your completed makeup and begins creating a flexible, breathable veil.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-timeline\"\u003e\n\u003cbutton class=\"nss-time is-active nss-reveal\" type=\"button\"\u003e \u003cspan class=\"nss-time__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nss-time__content\"\u003e \u003cstrong\u003eApplication\u003c\/strong\u003e \u003cspan\u003e Mist 2–3 times over completed makeup and allow it to dry naturally. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nss-time nss-reveal\" type=\"button\"\u003e \u003cspan class=\"nss-time__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nss-time__content\"\u003e \u003cstrong\u003eHour 2\u003c\/strong\u003e \u003cspan\u003e Makeup maintains a seamless, naturally fresh appearance. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nss-time nss-reveal\" type=\"button\"\u003e \u003cspan class=\"nss-time__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nss-time__content\"\u003e \u003cstrong\u003eHour 4\u003c\/strong\u003e \u003cspan\u003e Your finished look remains held together through midday. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nss-time nss-reveal\" type=\"button\"\u003e \u003cspan class=\"nss-time__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nss-time__content\"\u003e \u003cstrong\u003eHour 6\u003c\/strong\u003e \u003cspan\u003e Refresh with another fine mist whenever your complexion needs renewed radiance. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nss-time nss-reveal\" type=\"button\"\u003e \u003cspan class=\"nss-time__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nss-time__content\"\u003e \u003cstrong\u003eHour 8\u003c\/strong\u003e \u003cspan\u003e Your look reaches the end of its up-to-eight-hour wear journey. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"nss-section\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-heading nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003eUltra-fine setting technology\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003eA lightweight process designed to set, soften and preserve your finished makeup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-process\"\u003e\n\u003carticle class=\"nss-process__item nss-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eMicro-fine dispersion\u003c\/h3\u003e\n\u003cp\u003eThe precision atomising pump distributes a fine, even mist across the face without heavy droplets.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-process__item nss-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eInvisible setting layer\u003c\/h3\u003e\n\u003cp\u003eFilm-forming ingredients bond across the surface of your makeup to create a flexible, breathable veil.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-process__item nss-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003ePowder-softening effect\u003c\/h3\u003e\n\u003cp\u003eThe liquid mist helps melt the appearance of powder into the skin for a more natural finish.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-process__item nss-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eExtended wear\u003c\/h3\u003e\n\u003cp\u003eOnce dry, the weightless layer helps makeup resist fading and creasing for up to eight hours.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-formula-strip nss-reveal\"\u003e\n\u003cspan\u003e✓ Ultra-fine mist\u003c\/span\u003e \u003cspan\u003e✓ Lightweight feel\u003c\/span\u003e \u003cspan\u003e✓ Non-sticky finish\u003c\/span\u003e \u003cspan\u003e✓ Breathable wear\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"nss-section nss-section--soft\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-heading nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003ePerformance in every mist\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-specifications\"\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eWear time\u003c\/strong\u003e\n\u003cp\u003eDesigned to extend makeup wear for up to eight hours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFormula\u003c\/strong\u003e\n\u003cp\u003eStar Flash ultra-fine setting mist with a lightweight, breathable and non-sticky feel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\n\u003cp\u003eFresh, dewy and naturally skin-like appearance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePrecision pump\u003c\/strong\u003e\n\u003cp\u003eMicro-fine atomising spray pump designed for even, all-over application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSkin compatibility\u003c\/strong\u003e\n\u003cp\u003eSuitable for all skin types.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eMakeup compatibility\u003c\/strong\u003e\n\u003cp\u003eSuitable for matte, natural and dewy makeup finishes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePresentation\u003c\/strong\u003e\n\u003cp\u003eClear glass-effect pump bottle with NOVÉA™ rose-gold branding and a black cap.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003eMatte-black NOVÉA™ gift box with rose-gold foil branding and South African flag detailing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-specification nss-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProudly South African\u003c\/strong\u003e\n\u003cp\u003ePremium makeup performance created for your beauty ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"nss-section\" id=\"nss-how-to-use\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-heading nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003eSet your look in seconds\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eSix simple steps for a beautifully set, refreshed complexion.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"nss-use\"\u003e\n\u003cli class=\"nss-use__item nss-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eComplete your makeup\u003c\/strong\u003e\n\u003cp\u003eApply your foundation, concealer, powder, blush and eye makeup as desired.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nss-use__item nss-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePosition the bottle\u003c\/strong\u003e\n\u003cp\u003eHold the bottle approximately 20–30 cm from your face.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nss-use__item nss-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eMist evenly\u003c\/strong\u003e\n\u003cp\u003eClose your eyes and mist 2–3 times in a light, sweeping motion.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nss-use__item nss-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAllow to set\u003c\/strong\u003e\n\u003cp\u003eLet the mist dry naturally for approximately 30 seconds. Do not touch or blot the face.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nss-use__item nss-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRefresh when needed\u003c\/strong\u003e\n\u003cp\u003eReapply lightly over set makeup to revive its fresh, dewy appearance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nss-use__item nss-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUse before makeup\u003c\/strong\u003e\n\u003cp\u003eThe mist can also be used before makeup application as a refreshing primer mist.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"nss-pro-tip nss-reveal\"\u003e\n\u003cspan class=\"nss-pro-tip__label\"\u003ePRO TIP\u003c\/span\u003e\n\u003cp\u003eFor the most even application, keep the bottle moving while you spray rather than concentrating the mist on one area.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"nss-section nss-included-section\"\u003e\n\u003cdiv class=\"nss-container\"\u003e\n\u003cdiv class=\"nss-heading nss-reveal\"\u003e\n\u003cspan class=\"nss-eyebrow\"\u003eThe complete presentation\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nss-included\"\u003e\n\u003carticle class=\"nss-included__item nss-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eInside your order\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ Pro Makeup Setting Spray\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nss-included__item nss-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePremium presentation\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"nss-cta\"\u003e\u003cspan class=\"nss-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nss-container nss-cta__inner nss-reveal\"\u003e\n\u003cspan class=\"nss-badge nss-badge--dark\"\u003e NOVÉA™ PRO MAKEUP \u003c\/span\u003e\n\u003ch2\u003eSet it. Forget it. Own your day.\u003c\/h2\u003e\n\u003cp\u003eBecause your makeup should last as long as your day does.\u003c\/p\u003e\n\u003ca class=\"nss-button nss-button--light\" href=\"#nss-how-to-use\"\u003e Explore the ritual \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"nss-disclaimer\"\u003eCosmetic product. Individual wear time and results may vary according to skin type, makeup products, application and environmental conditions. Avoid direct contact with eyes and discontinue use if irritation occurs. Product and performance claims should be verified against your supplier documentation and applicable local regulations before publication.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-setting-spray {\n    --nss-ink: #171518;\n    --nss-charcoal: #242126;\n    --nss-text: #413c42;\n    --nss-muted: #746d75;\n    --nss-rose: #b76e79;\n    --nss-rose-dark: #8f4e5a;\n    --nss-rose-mid: #d6939f;\n    --nss-rose-light: #edc8ce;\n    --nss-blush: #f9e7ea;\n    --nss-pearl: #fffafa;\n    --nss-border: rgba(23, 21, 24, 0.11);\n    --nss-shadow: 0 16px 44px rgba(35, 24, 31, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--nss-text);\n    background: #fff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-setting-spray *,\n  #novea-setting-spray *::before,\n  #novea-setting-spray *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-setting-spray h1,\n  #novea-setting-spray h2,\n  #novea-setting-spray h3,\n  #novea-setting-spray p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-setting-spray button,\n  #novea-setting-spray a {\n    font: inherit;\n  }\n\n  .nss-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .nss-section {\n    position: relative;\n    padding: 78px 0;\n  }\n\n  .nss-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 8%,\n        rgba(249, 225, 230, 0.88),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fefcfc, #f7f3f5);\n  }\n\n  .nss-heading,\n  .nss-intro {\n    max-width: 790px;\n    margin: 0 auto 42px;\n    text-align: center;\n  }\n\n  .nss-intro {\n    margin-bottom: 32px;\n  }\n\n  .nss-heading h2,\n  .nss-intro h2,\n  .nss-cta h2 {\n    margin: 8px 0 14px;\n    color: var(--nss-ink);\n    font-size: clamp(31px, 5vw, 52px);\n    font-weight: 780;\n    line-height: 1.07;\n    letter-spacing: -0.045em;\n  }\n\n  .nss-heading p,\n  .nss-intro p {\n    color: var(--nss-muted);\n    font-size: 16px;\n  }\n\n  .nss-eyebrow {\n    display: inline-block;\n    color: var(--nss-rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .nss-hero {\n    position: relative;\n    padding: 90px 0 78px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 88% 87%,\n        rgba(230, 202, 210, 0.7),\n        transparent 29%\n      ),\n      linear-gradient(145deg, #fff, #f8e8eb 53%, #eee9f1);\n  }\n\n  .nss-hero__grid-pattern {\n    position: absolute;\n    inset: 0;\n    opacity: 0.21;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.45) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.45) 1px,\n        transparent 1px\n      );\n    background-size: 48px 48px;\n    mask-image: linear-gradient(to bottom, transparent, #000, transparent);\n  }\n\n  .nss-hero__layout {\n    display: grid;\n    align-items: center;\n    gap: 52px;\n  }\n\n  .nss-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--nss-rose-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .nss-hero h1 {\n    max-width: 700px;\n    margin: 21px 0 17px;\n    color: var(--nss-ink);\n    font-size: clamp(46px, 7vw, 75px);\n    font-weight: 800;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .nss-hero h1 span {\n    display: block;\n    margin-top: 9px;\n    color: var(--nss-rose-dark);\n    font-size: 0.53em;\n    line-height: 1.1;\n    letter-spacing: -0.04em;\n  }\n\n  .nss-tagline {\n    margin-bottom: 15px !important;\n    color: var(--nss-rose-dark);\n    font-size: clamp(19px, 3vw, 24px);\n    font-weight: 760;\n    line-height: 1.3;\n  }\n\n  .nss-description {\n    max-width: 650px;\n    color: var(--nss-muted);\n    font-size: 16px;\n  }\n\n  .nss-highlights {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    max-width: 650px;\n    margin-top: 27px;\n  }\n\n  .nss-highlights div {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    min-height: 53px;\n    padding: 12px 14px;\n    border: 1px solid var(--nss-border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.85);\n    box-shadow: 0 7px 20px rgba(35, 24, 31, 0.055);\n  }\n\n  .nss-highlights strong {\n    color: var(--nss-rose-dark);\n    font-size: 13px;\n  }\n\n  .nss-highlights span {\n    color: #625c63;\n    font-size: 12px;\n  }\n\n  .nss-trust {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 11px 20px;\n    margin-top: 18px;\n  }\n\n  .nss-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696269;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .nss-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--nss-rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .nss-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 26px;\n    padding: 12px 22px;\n    border: 1px solid var(--nss-rose);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(\n      135deg,\n      var(--nss-rose-dark),\n      var(--nss-rose)\n    );\n    box-shadow: 0 13px 29px rgba(183, 110, 121, 0.27);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .nss-button:hover,\n  .nss-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 36px rgba(183, 110, 121, 0.35);\n    transform: translateY(-3px);\n  }\n\n  \/* Abstract hero experience *\/\n  .nss-hero__experience {\n    position: relative;\n    display: grid;\n    min-height: 470px;\n    place-items: center;\n    perspective: 1000px;\n  }\n\n  .nss-mist-halo {\n    position: absolute;\n    width: min(410px, 88%);\n    aspect-ratio: 1;\n    border-radius: 50%;\n    background: conic-gradient(\n      #f0c4cb,\n      #fff,\n      #cba9cf,\n      #df9dab,\n      #f0c4cb\n    );\n    filter: blur(53px);\n    opacity: 0.35;\n    animation: nss-spin 14s linear infinite;\n  }\n\n  .nss-mist-scene {\n    position: relative;\n    z-index: 2;\n    width: min(390px, 90vw);\n    height: 420px;\n    transition: transform 0.3s ease;\n  }\n\n  .nss-glass-card {\n    position: absolute;\n    top: 49%;\n    left: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    width: 210px;\n    height: 280px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.78);\n    border-radius: 31px;\n    background:\n      linear-gradient(\n        135deg,\n        rgba(255, 255, 255, 0.7),\n        rgba(255, 255, 255, 0.18)\n      );\n    box-shadow:\n      inset 12px 12px 25px rgba(255, 255, 255, 0.5),\n      inset -12px -12px 25px rgba(102, 72, 90, 0.08),\n      0 30px 58px rgba(48, 31, 42, 0.19);\n    text-align: center;\n    backdrop-filter: blur(13px);\n    transform: translate(-50%, -50%) rotate(2deg);\n  }\n\n  .nss-glass-card::before {\n    position: absolute;\n    inset: 12px;\n    border: 1px solid rgba(183, 110, 121, 0.18);\n    border-radius: 23px;\n    content: \"\";\n  }\n\n  .nss-glass-card__line {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: -55%;\n    width: 42%;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      rgba(255, 255, 255, 0.78),\n      transparent\n    );\n    transform: skewX(-17deg);\n    animation: nss-shine 4.5s ease-in-out infinite;\n  }\n\n  .nss-glass-card small,\n  .nss-glass-card strong,\n  .nss-glass-card \u003e span:not(.nss-glass-card__line),\n  .nss-glass-card em {\n    position: relative;\n    z-index: 2;\n    display: block;\n  }\n\n  .nss-glass-card small {\n    margin-bottom: 11px;\n    color: var(--nss-rose-dark);\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.2em;\n  }\n\n  .nss-glass-card strong {\n    color: var(--nss-ink);\n    font-size: 74px;\n    line-height: 0.92;\n    letter-spacing: -0.07em;\n  }\n\n  .nss-glass-card \u003e span:not(.nss-glass-card__line) {\n    margin-top: 9px;\n    color: var(--nss-rose-dark);\n    font-size: 12px;\n    font-weight: 900;\n    line-height: 1.15;\n    letter-spacing: 0.18em;\n  }\n\n  .nss-glass-card em {\n    margin-top: 23px;\n    color: #777078;\n    font-size: 7px;\n    font-style: normal;\n    font-weight: 850;\n    letter-spacing: 0.15em;\n  }\n\n  .nss-mist {\n    position: absolute;\n    z-index: 1;\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.58);\n    filter: blur(19px);\n    animation: nss-mist-float 5s ease-in-out infinite;\n  }\n\n  .nss-mist--one {\n    top: 44px;\n    left: 13px;\n    width: 240px;\n    height: 90px;\n    transform: rotate(-15deg);\n  }\n\n  .nss-mist--two {\n    top: 125px;\n    right: -4px;\n    width: 200px;\n    height: 76px;\n    animation-delay: -1.6s;\n    transform: rotate(13deg);\n  }\n\n  .nss-mist--three {\n    bottom: 32px;\n    left: 43px;\n    width: 280px;\n    height: 85px;\n    animation-delay: -3s;\n  }\n\n  .nss-droplet {\n    position: absolute;\n    z-index: 4;\n    border: 1px solid rgba(255, 255, 255, 0.85);\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.27);\n    box-shadow:\n      inset 2px 2px 5px rgba(255, 255, 255, 0.8),\n      0 7px 20px rgba(183, 110, 121, 0.12);\n    animation: nss-droplet 4s ease-in-out infinite;\n  }\n\n  .nss-droplet--1 {\n    top: 31px;\n    left: 69px;\n    width: 17px;\n    height: 17px;\n  }\n\n  .nss-droplet--2 {\n    top: 82px;\n    right: 24px;\n    width: 27px;\n    height: 27px;\n    animation-delay: -0.5s;\n  }\n\n  .nss-droplet--3 {\n    top: 168px;\n    left: 6px;\n    width: 21px;\n    height: 21px;\n    animation-delay: -1s;\n  }\n\n  .nss-droplet--4 {\n    right: 13px;\n    bottom: 125px;\n    width: 14px;\n    height: 14px;\n    animation-delay: -1.5s;\n  }\n\n  .nss-droplet--5 {\n    bottom: 42px;\n    left: 83px;\n    width: 29px;\n    height: 29px;\n    animation-delay: -2s;\n  }\n\n  .nss-droplet--6 {\n    top: 15px;\n    right: 120px;\n    width: 11px;\n    height: 11px;\n    animation-delay: -2.5s;\n  }\n\n  .nss-droplet--7 {\n    bottom: 28px;\n    right: 78px;\n    width: 19px;\n    height: 19px;\n    animation-delay: -3s;\n  }\n\n  .nss-droplet--8 {\n    top: 220px;\n    right: 0;\n    width: 10px;\n    height: 10px;\n    animation-delay: -3.5s;\n  }\n\n  .nss-spark {\n    position: absolute;\n    z-index: 5;\n    color: #fff;\n    text-shadow: 0 0 13px rgba(183, 110, 121, 0.6);\n    animation: nss-sparkle 2.5s ease-in-out infinite;\n  }\n\n  .nss-spark--1 {\n    top: 55px;\n    right: 80px;\n    font-size: 20px;\n  }\n\n  .nss-spark--2 {\n    bottom: 82px;\n    left: 50px;\n    font-size: 24px;\n    animation-delay: -0.8s;\n  }\n\n  .nss-spark--3 {\n    top: 206px;\n    left: 45px;\n    font-size: 14px;\n    animation-delay: -1.6s;\n  }\n\n  .nss-floating-label {\n    position: absolute;\n    z-index: 7;\n    padding: 10px 15px;\n    border: 1px solid var(--nss-border);\n    border-radius: 999px;\n    color: #5e565e;\n    background: rgba(255, 255, 255, 0.89);\n    box-shadow: var(--nss-shadow);\n    font-size: 10px;\n    font-weight: 800;\n    backdrop-filter: blur(9px);\n    animation: nss-label-float 4s ease-in-out infinite;\n  }\n\n  .nss-floating-label--one {\n    top: 12%;\n    left: -1%;\n  }\n\n  .nss-floating-label--two {\n    right: -2%;\n    bottom: 13%;\n    animation-delay: -2s;\n  }\n\n  .nss-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: nss-orb-float 7s ease-in-out infinite;\n  }\n\n  .nss-orb--one {\n    top: 8%;\n    left: 2%;\n    width: 145px;\n    height: 145px;\n    background: rgba(225, 142, 156, 0.13);\n  }\n\n  .nss-orb--two {\n    right: 2%;\n    bottom: 7%;\n    width: 190px;\n    height: 190px;\n    background: rgba(169, 137, 178, 0.11);\n    animation-delay: -3s;\n  }\n\n  \/* Introduction statement *\/\n  .nss-intro-statement {\n    position: relative;\n    max-width: 690px;\n    margin: 0 auto;\n    padding: 28px 30px;\n    overflow: hidden;\n    border: 1px solid var(--nss-border);\n    border-radius: 20px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.48),\n        transparent 48%\n      ),\n      #fff;\n    box-shadow: var(--nss-shadow);\n    text-align: center;\n  }\n\n  .nss-intro-statement \u003e span {\n    position: absolute;\n    top: -15px;\n    left: 18px;\n    color: rgba(183, 110, 121, 0.16);\n    font-family: Georgia, serif;\n    font-size: 100px;\n    line-height: 1;\n  }\n\n  .nss-intro-statement p {\n    position: relative;\n    color: var(--nss-ink);\n    font-size: clamp(18px, 3vw, 24px);\n    font-weight: 750;\n    line-height: 1.35;\n  }\n\n  \/* Benefits *\/\n  .nss-benefits {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 15px;\n  }\n\n  .nss-benefit {\n    position: relative;\n    min-height: 180px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--nss-border);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: var(--nss-shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .nss-benefit:hover,\n  .nss-benefit:focus-visible,\n  .nss-benefit.is-open {\n    border-color: rgba(183, 110, 121, 0.45);\n    outline: none;\n    box-shadow: 0 22px 52px rgba(35, 24, 31, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .nss-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(183, 110, 121, 0.7);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .nss-benefit__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--nss-rose-dark);\n    background: linear-gradient(180deg, #fff, var(--nss-blush));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    font-size: 12px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nss-benefit h3 {\n    padding-right: 27px !important;\n    color: var(--nss-ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .nss-benefit p {\n    display: block;\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--nss-muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .nss-benefit.is-open p {\n    max-height: 190px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  .nss-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 50%;\n  }\n\n  .nss-benefit__toggle::before,\n  .nss-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--nss-rose);\n    content: \"\";\n    transform: translate(-50%, -50%);\n    transition: transform 0.25s ease;\n  }\n\n  .nss-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n  }\n\n  .nss-benefit.is-open .nss-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* Wear journey *\/\n  .nss-journey {\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 9% 10%,\n        rgba(183, 110, 121, 0.25),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 91% 90%,\n        rgba(126, 91, 137, 0.2),\n        transparent 30%\n      ),\n      var(--nss-ink);\n  }\n\n  .nss-heading--light h2 {\n    color: #fff;\n  }\n\n  .nss-heading--light p {\n    color: rgba(255, 255, 255, 0.63);\n  }\n\n  .nss-journey__layout {\n    display: grid;\n    align-items: center;\n    gap: 45px;\n  }\n\n  .nss-clock-area {\n    text-align: center;\n  }\n\n  .nss-clock {\n    --progress-angle: 36deg;\n\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 25px;\n    border-radius: 50%;\n    background: conic-gradient(\n      from -90deg,\n      var(--nss-rose-mid) 0deg,\n      var(--nss-rose-mid) var(--progress-angle),\n      rgba(255, 255, 255, 0.08) var(--progress-angle),\n      rgba(255, 255, 255, 0.08) 360deg\n    );\n    box-shadow:\n      0 0 60px rgba(183, 110, 121, 0.21),\n      inset 0 0 50px rgba(255, 255, 255, 0.03);\n    place-items: center;\n    transition: background 0.55s ease;\n  }\n\n  .nss-clock::before {\n    position: absolute;\n    inset: 8px;\n    border-radius: 50%;\n    background: var(--nss-ink);\n    content: \"\";\n  }\n\n  .nss-clock__ring {\n    position: absolute;\n    z-index: 2;\n    border: 1px solid rgba(232, 167, 177, 0.32);\n    border-radius: 50%;\n  }\n\n  .nss-clock__ring--outer {\n    width: 88%;\n    height: 88%;\n    animation: nss-pulse 3s ease-in-out infinite;\n  }\n\n  .nss-clock__ring--inner {\n    width: 69%;\n    height: 69%;\n    animation: nss-pulse 3s 1s ease-in-out infinite;\n  }\n\n  .nss-clock__marker {\n    position: absolute;\n    z-index: 3;\n    top: 50%;\n    left: 50%;\n    width: 5px;\n    height: 5px;\n    margin: -2.5px;\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.44);\n  }\n\n  .nss-clock__marker--1 { transform: rotate(0deg) translateY(-151px); }\n  .nss-clock__marker--2 { transform: rotate(45deg) translateY(-151px); }\n  .nss-clock__marker--3 { transform: rotate(90deg) translateY(-151px); }\n  .nss-clock__marker--4 { transform: rotate(135deg) translateY(-151px); }\n  .nss-clock__marker--5 { transform: rotate(180deg) translateY(-151px); }\n  .nss-clock__marker--6 { transform: rotate(225deg) translateY(-151px); }\n  .nss-clock__marker--7 { transform: rotate(270deg) translateY(-151px); }\n  .nss-clock__marker--8 { transform: rotate(315deg) translateY(-151px); }\n\n  .nss-clock__hand {\n    position: absolute;\n    z-index: 4;\n    top: 50%;\n    left: 50%;\n    width: 2px;\n    height: 99px;\n    border-radius: 999px;\n    background: linear-gradient(\n      to top,\n      var(--nss-rose-mid),\n      rgba(255, 255, 255, 0.85)\n    );\n    box-shadow: 0 0 14px rgba(232, 167, 177, 0.7);\n    transform: translate(-50%, -100%) rotate(0deg);\n    transform-origin: 50% 100%;\n    transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);\n  }\n\n  .nss-clock__core {\n    position: relative;\n    z-index: 5;\n    display: grid;\n    width: 48%;\n    aspect-ratio: 1;\n    border: 1px solid rgba(255, 255, 255, 0.13);\n    border-radius: 50%;\n    background:\n      radial-gradient(\n        circle at 35% 25%,\n        rgba(255, 255, 255, 0.11),\n        transparent 24%\n      ),\n      rgba(255, 255, 255, 0.055);\n    box-shadow: 0 0 35px rgba(183, 110, 121, 0.16);\n    place-content: center;\n    text-align: center;\n    backdrop-filter: blur(8px);\n  }\n\n  .nss-clock__core small {\n    color: rgba(255, 255, 255, 0.52);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.17em;\n  }\n\n  .nss-clock__core strong {\n    display: block;\n    color: #fff;\n    font-size: 47px;\n    line-height: 1.05;\n    letter-spacing: -0.06em;\n  }\n\n  .nss-clock__core span {\n    color: #f1bcc6;\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.17em;\n  }\n\n  .nss-selected-stage {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    width: min(100%, 470px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    border: 1px solid rgba(255, 255, 255, 0.12);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.065);\n    text-align: left;\n    backdrop-filter: blur(8px);\n  }\n\n  .nss-selected-stage__number {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(\n      145deg,\n      var(--nss-rose-mid),\n      var(--nss-rose)\n    );\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nss-selected-stage strong {\n    display: block;\n    margin-bottom: 5px;\n    color: #fff;\n    font-size: 16px;\n  }\n\n  .nss-selected-stage p {\n    color: rgba(255, 255, 255, 0.63);\n    font-size: 13px;\n  }\n\n  .nss-timeline {\n    display: grid;\n    gap: 12px;\n    min-width: 0;\n  }\n\n  #novea-setting-spray button.nss-time {\n    display: grid;\n    grid-template-columns: 42px minmax(0, 1fr);\n    align-items: start;\n    gap: 15px;\n    width: 100%;\n    min-width: 0;\n    min-height: 108px;\n    margin: 0;\n    padding: 18px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.11);\n    border-radius: 18px;\n    color: #fff;\n    background: rgba(255, 255, 255, 0.055);\n    box-shadow: none;\n    text-align: left;\n    white-space: normal;\n    cursor: pointer;\n    appearance: none;\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      background 0.25s ease;\n  }\n\n  #novea-setting-spray button.nss-time::before,\n  #novea-setting-spray button.nss-time::after {\n    display: none;\n    content: none;\n  }\n\n  #novea-setting-spray button.nss-time:hover,\n  #novea-setting-spray button.nss-time:focus-visible,\n  #novea-setting-spray button.nss-time.is-active {\n    border-color: rgba(232, 167, 177, 0.6);\n    outline: none;\n    background: rgba(255, 255, 255, 0.11);\n    transform: translateX(5px);\n  }\n\n  .nss-time__number {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin: 0;\n    padding: 0;\n    border: 1px solid rgba(255, 255, 255, 0.14);\n    border-radius: 50%;\n    color: #f4cbd1;\n    background: rgba(255, 255, 255, 0.07);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nss-time__content {\n    display: block;\n    min-width: 0;\n    margin: 0;\n    padding: 0;\n  }\n\n  .nss-time__content strong {\n    display: block;\n    margin: 0 0 4px;\n    color: #fff;\n    font-size: 15px;\n    line-height: 1.35;\n  }\n\n  .nss-time__content \u003e span {\n    display: block;\n    margin: 0;\n    color: rgba(255, 255, 255, 0.62);\n    font-size: 12px;\n    line-height: 1.55;\n    white-space: normal;\n  }\n\n  \/* How it works *\/\n  .nss-process {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .nss-process__item {\n    min-height: 220px;\n    padding: 23px;\n    border: 1px solid var(--nss-border);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: var(--nss-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nss-process__item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .nss-process__item \u003e span {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin-bottom: 30px;\n    border-radius: 50%;\n    color: var(--nss-ink);\n    background: linear-gradient(180deg, #fff, var(--nss-rose-light));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.18);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nss-process__item h3 {\n    margin-bottom: 7px !important;\n    color: var(--nss-ink);\n    font-size: 17px;\n  }\n\n  .nss-process__item p {\n    color: var(--nss-muted);\n    font-size: 14px;\n  }\n\n  .nss-formula-strip {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 9px;\n    margin-top: 23px;\n  }\n\n  .nss-formula-strip span {\n    padding: 9px 14px;\n    border: 1px solid var(--nss-border);\n    border-radius: 999px;\n    color: #555057;\n    background: #fff;\n    box-shadow: 0 6px 17px rgba(35, 24, 31, 0.05);\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  \/* Specifications *\/\n  .nss-specifications {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n  }\n\n  .nss-specification {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 130px;\n    padding: 20px;\n    border: 1px solid var(--nss-border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--nss-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nss-specification:hover {\n    border-color: rgba(183, 110, 121, 0.39);\n    transform: translateY(-4px);\n  }\n\n  .nss-specification \u003e span {\n    color: var(--nss-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nss-specification strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--nss-ink);\n    font-size: 14px;\n  }\n\n  .nss-specification p {\n    color: var(--nss-muted);\n    font-size: 13px;\n  }\n\n  \/* How to use *\/\n  .nss-use {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n    max-width: 1040px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .nss-use__item {\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    min-height: 126px;\n    padding: 20px;\n    border: 1px solid var(--nss-border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--nss-shadow);\n    transition:\n      transform 0.26s ease,\n      border-color 0.26s ease;\n  }\n\n  .nss-use__item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-3px);\n  }\n\n  .nss-use__item \u003e span {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: var(--nss-ink);\n    background: linear-gradient(180deg, #fff, var(--nss-rose-light));\n    box-shadow: 0 7px 17px rgba(183, 110, 121, 0.18);\n    font-size: 12px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nss-use__item strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--nss-ink);\n    font-size: 15px;\n  }\n\n  .nss-use__item p {\n    color: var(--nss-muted);\n    font-size: 13px;\n  }\n\n  .nss-pro-tip {\n    display: flex;\n    align-items: center;\n    gap: 17px;\n    max-width: 800px;\n    margin: 22px auto 0;\n    padding: 20px;\n    border: 1px solid rgba(183, 110, 121, 0.25);\n    border-radius: 19px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.52),\n        transparent 48%\n      ),\n      #fff;\n    box-shadow: var(--nss-shadow);\n  }\n\n  .nss-pro-tip__label {\n    display: grid;\n    width: 61px;\n    height: 61px;\n    flex: 0 0 61px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(\n      145deg,\n      var(--nss-rose-dark),\n      var(--nss-rose)\n    );\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.08em;\n    place-items: center;\n  }\n\n  .nss-pro-tip p {\n    color: var(--nss-muted);\n    font-size: 13px;\n  }\n\n  \/* Included *\/\n  .nss-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(240, 202, 208, 0.58),\n        transparent 29%\n      ),\n      #f8f4f6;\n  }\n\n  .nss-included {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n    max-width: 920px;\n    margin: 0 auto;\n  }\n\n  .nss-included__item {\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    min-height: 105px;\n    padding: 21px;\n    border: 1px solid var(--nss-border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--nss-shadow);\n  }\n\n  .nss-included__item \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: var(--nss-rose-dark);\n    background: var(--nss-blush);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nss-included__item small,\n  .nss-included__item strong {\n    display: block;\n  }\n\n  .nss-included__item small {\n    margin-bottom: 3px;\n    color: var(--nss-muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n    text-transform: uppercase;\n  }\n\n  .nss-included__item strong {\n    color: var(--nss-ink);\n    font-size: 14px;\n  }\n\n  \/* Final CTA *\/\n  .nss-cta {\n    position: relative;\n    padding: 95px 0;\n    overflow: hidden;\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 20% 20%,\n        rgba(183, 110, 121, 0.2),\n        transparent 31%\n      ),\n      var(--nss-ink);\n    text-align: center;\n  }\n\n  .nss-cta__inner {\n    max-width: 900px;\n  }\n\n  .nss-cta h2 {\n    margin-top: 20px;\n    color: #fff;\n  }\n\n  .nss-cta p {\n    color: rgba(255, 255, 255, 0.64);\n    font-size: 16px;\n  }\n\n  .nss-badge--dark {\n    color: #f0c8cf;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .nss-button--light {\n    color: var(--nss-ink);\n    border-color: #fff;\n    background: #fff;\n    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);\n  }\n\n  .nss-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(183, 110, 121, 0.42),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: nss-cta-glow 4s ease-in-out infinite;\n  }\n\n  .nss-disclaimer {\n    padding: 17px !important;\n    color: #807981;\n    background: #f3f0f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Reveal animations *\/\n  .nss-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .nss-js .nss-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .nss-js .nss-reveal.nss-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  @keyframes nss-spin {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n\n  @keyframes nss-orb-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-18px);\n    }\n  }\n\n  @keyframes nss-label-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-9px);\n    }\n  }\n\n  @keyframes nss-mist-float {\n    0%,\n    100% {\n      opacity: 0.38;\n      transform: translateX(-9px) scale(0.96);\n    }\n\n    50% {\n      opacity: 0.76;\n      transform: translateX(10px) scale(1.06);\n    }\n  }\n\n  @keyframes nss-droplet {\n    0%,\n    100% {\n      opacity: 0.45;\n      transform: translateY(6px) scale(0.92);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translateY(-10px) scale(1.08);\n    }\n  }\n\n  @keyframes nss-sparkle {\n    0%,\n    100% {\n      opacity: 0.3;\n      transform: scale(0.75) rotate(0deg);\n    }\n\n    50% {\n      opacity: 1;\n      transform: scale(1.15) rotate(18deg);\n    }\n  }\n\n  @keyframes nss-shine {\n    0%,\n    25% {\n      left: -55%;\n    }\n\n    70%,\n    100% {\n      left: 120%;\n    }\n  }\n\n  @keyframes nss-pulse {\n    0%,\n    100% {\n      opacity: 0.17;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.48;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes nss-cta-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (min-width: 680px) {\n    .nss-benefits,\n    .nss-specifications,\n    .nss-use,\n    .nss-included {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nss-process {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n  }\n\n  @media (min-width: 960px) {\n    .nss-section {\n      padding: 96px 0;\n    }\n\n    .nss-hero__layout {\n      grid-template-columns: 1.08fr 0.92fr;\n    }\n\n    .nss-benefits,\n    .nss-specifications {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nss-journey__layout {\n      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n      gap: 65px;\n    }\n\n    .nss-process {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n\n    .nss-use {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 679px) {\n    .nss-hero {\n      padding: 65px 0 58px;\n      text-align: center;\n    }\n\n    .nss-description {\n      margin-right: auto !important;\n      margin-left: auto !important;\n    }\n\n    .nss-trust {\n      justify-content: center;\n    }\n\n    .nss-hero__experience {\n      min-height: 430px;\n    }\n\n    .nss-mist-scene {\n      left: 50%;\n      width: 390px;\n      margin-left: -195px;\n      transform: scale(0.88);\n    }\n\n    .nss-floating-label--one {\n      left: 1%;\n    }\n\n    .nss-floating-label--two {\n      right: 1%;\n    }\n\n    .nss-clock__marker--1 { transform: rotate(0deg) translateY(-43vw); }\n    .nss-clock__marker--2 { transform: rotate(45deg) translateY(-43vw); }\n    .nss-clock__marker--3 { transform: rotate(90deg) translateY(-43vw); }\n    .nss-clock__marker--4 { transform: rotate(135deg) translateY(-43vw); }\n    .nss-clock__marker--5 { transform: rotate(180deg) translateY(-43vw); }\n    .nss-clock__marker--6 { transform: rotate(225deg) translateY(-43vw); }\n    .nss-clock__marker--7 { transform: rotate(270deg) translateY(-43vw); }\n    .nss-clock__marker--8 { transform: rotate(315deg) translateY(-43vw); }\n\n    #novea-setting-spray button.nss-time:hover,\n    #novea-setting-spray button.nss-time:focus-visible,\n    #novea-setting-spray button.nss-time.is-active {\n      transform: none;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .nss-container {\n      width: calc(100% - 22px);\n    }\n\n    .nss-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    .nss-mist-scene {\n      transform: scale(0.78);\n    }\n\n    .nss-hero__experience {\n      min-height: 395px;\n    }\n\n    #novea-setting-spray button.nss-time {\n      grid-template-columns: 38px minmax(0, 1fr);\n      gap: 13px;\n      padding: 15px;\n    }\n\n    .nss-time__number {\n      width: 38px;\n      height: 38px;\n    }\n\n    .nss-pro-tip {\n      align-items: flex-start;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-setting-spray *,\n    #novea-setting-spray *::before,\n    #novea-setting-spray *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .nss-js .nss-reveal,\n    .nss-js .nss-reveal.nss-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  (function () {\n    function initialiseSettingSpray(root) {\n      if (!root || root.getAttribute(\"data-nss-ready\") === \"true\") {\n        return;\n      }\n\n      root.setAttribute(\"data-nss-ready\", \"true\");\n      root.classList.add(\"nss-js\");\n\n      \/* Scroll reveals *\/\n      var revealItems = root.querySelectorAll(\".nss-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        var observer = new IntersectionObserver(\n          function (entries) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) {\n                return;\n              }\n\n              entry.target.classList.add(\"nss-visible\");\n              observer.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.08,\n            rootMargin: \"0px 0px -18px 0px\"\n          }\n        );\n\n        revealItems.forEach(function (item, index) {\n          item.style.transitionDelay = ((index % 4) * 55) + \"ms\";\n          observer.observe(item);\n        });\n\n        \/* Prevents Shopify theme conflicts from hiding content *\/\n        window.setTimeout(function () {\n          revealItems.forEach(function (item) {\n            item.classList.add(\"nss-visible\");\n          });\n        }, 1800);\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"nss-visible\");\n        });\n      }\n\n      \/* Expandable benefits *\/\n      var benefitCards = root.querySelectorAll(\".nss-benefit\");\n\n      function toggleBenefit(card) {\n        var isOpen = card.classList.toggle(\"is-open\");\n\n        card.setAttribute(\n          \"aria-expanded\",\n          isOpen ? \"true\" : \"false\"\n        );\n      }\n\n      benefitCards.forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          toggleBenefit(card);\n        });\n\n        card.addEventListener(\"keydown\", function (event) {\n          if (event.key !== \"Enter\" \u0026\u0026 event.key !== \" \") {\n            return;\n          }\n\n          event.preventDefault();\n          toggleBenefit(card);\n        });\n      });\n\n      \/* Interactive wear timeline *\/\n      var timeButtons = root.querySelectorAll(\".nss-time\");\n      var clock = root.querySelector(\".nss-clock\");\n      var clockHand = root.querySelector(\".nss-clock__hand\");\n      var clockValue = root.querySelector(\".nss-clock-value\");\n      var clockWord = root.querySelector(\".nss-clock-word\");\n      var stageNumber = root.querySelector(\n        \".nss-selected-stage__number\"\n      );\n      var stageTitle = root.querySelector(\n        \".nss-selected-stage__title\"\n      );\n      var stageCopy = root.querySelector(\n        \".nss-selected-stage__copy\"\n      );\n\n      function updateTimeline(button) {\n        if (!button) {\n          return;\n        }\n\n        var number =\n          button.getAttribute(\"data-number\") || \"01\";\n\n        var hour =\n          button.getAttribute(\"data-hour\") || \"0H\";\n\n        var word =\n          button.getAttribute(\"data-word\") || \"LOCK\";\n\n        var title =\n          button.getAttribute(\"data-title\") || \"Instant Lock\";\n\n        var copy =\n          button.getAttribute(\"data-copy\") || \"\";\n\n        var progress =\n          parseFloat(button.getAttribute(\"data-progress\")) || 0;\n\n        var progressAngle = Math.max(0, Math.min(100, progress)) * 3.6;\n        var handAngle = progressAngle;\n\n        timeButtons.forEach(function (item) {\n          var selected = item === button;\n\n          item.classList.toggle(\"is-active\", selected);\n          item.setAttribute(\n            \"aria-pressed\",\n            selected ? \"true\" : \"false\"\n          );\n        });\n\n        if (clock) {\n          clock.style.setProperty(\n            \"--progress-angle\",\n            progressAngle + \"deg\"\n          );\n        }\n\n        if (clockHand) {\n          clockHand.style.transform =\n            \"translate(-50%, -100%) rotate(\" +\n            handAngle +\n            \"deg)\";\n        }\n\n        if (clockValue) {\n          clockValue.textContent = hour;\n        }\n\n        if (clockWord) {\n          clockWord.textContent = word;\n        }\n\n        if (stageNumber) {\n          stageNumber.textContent = number;\n        }\n\n        if (stageTitle) {\n          stageTitle.textContent = title;\n        }\n\n        if (stageCopy) {\n          stageCopy.textContent = copy;\n        }\n      }\n\n      timeButtons.forEach(function (button) {\n        button.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          updateTimeline(button);\n        });\n      });\n\n      var initialTime =\n        root.querySelector(\".nss-time.is-active\") ||\n        timeButtons[0];\n\n      if (initialTime) {\n        updateTimeline(initialTime);\n      }\n\n      \/* Optional desktop parallax *\/\n      var experience = root.querySelector(\n        \".nss-hero__experience\"\n      );\n      var scene = root.querySelector(\".nss-mist-scene\");\n\n      var reducedMotion =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\n          \"(prefers-reduced-motion: reduce)\"\n        ).matches;\n\n      var finePointer =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\"(pointer: fine)\").matches;\n\n      if (\n        experience \u0026\u0026\n        scene \u0026\u0026\n        !reducedMotion \u0026\u0026\n        finePointer\n      ) {\n        experience.addEventListener(\n          \"mousemove\",\n          function (event) {\n            var rectangle =\n              experience.getBoundingClientRect();\n\n            var x =\n              (event.clientX - rectangle.left) \/\n                rectangle.width -\n              0.5;\n\n            var y =\n              (event.clientY - rectangle.top) \/\n                rectangle.height -\n              0.5;\n\n            scene.style.transform =\n              \"rotateY(\" +\n              x * 5 +\n              \"deg) rotateX(\" +\n              -y * 5 +\n              \"deg) translateY(-3px)\";\n          }\n        );\n\n        experience.addEventListener(\n          \"mouseleave\",\n          function () {\n            scene.style.transform =\n              \"rotateY(0deg) rotateX(0deg) translateY(0)\";\n          }\n        );\n      }\n    }\n\n    function initialiseAllSettingSprays(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-setting-spray\")\n      ) {\n        initialiseSettingSpray(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-setting-spray\")\n          .forEach(function (root) {\n            initialiseSettingSpray(root);\n          });\n      }\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAllSettingSprays(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAllSettingSprays(document);\n    }\n\n    \/* Shopify Theme Editor support *\/\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(\"#novea-setting-spray\")\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root = event.target.querySelector(\n            \"#novea-setting-spray\"\n          );\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-nss-ready\");\n        root.classList.remove(\"nss-js\");\n        initialiseSettingSpray(root);\n      }\n    );\n  })();\n\u003c\/script\u003e ``` Before publishing, verify the **8-hour**, sweat\/humidity resistance, ingredient, and packaging claims against your supplier’s evidence and applicable South African cosmetics and advertising requirements.\u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52234717200600,"sku":null,"price":319.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage.jpg?v=1786654524"},{"product_id":"novea™-quick-dry-lash-fan","title":"NOVÉA™ Quick Dry Lash Fan","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c!--\n  NOVÉA™ Quick Dry Lash Fan\n  Premium Shopify Custom Liquid Product Section\n--\u003e\n\u003cdiv id=\"novea-lash-fan\" class=\"nlf\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nlf-hero\"\u003e\n\u003cdiv class=\"nlf-grid-pattern\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan class=\"nlf-orb nlf-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-orb nlf-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nlf-container nlf-hero__layout\"\u003e\n\u003cdiv class=\"nlf-hero__copy nlf-reveal\"\u003e\n\u003cspan class=\"nlf-badge\"\u003eNOVÉA™ LASH TECHNOLOGY\u003c\/span\u003e\n\u003ch1\u003eQuick Dry \u003cspan\u003eLash Fan\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"nlf-tagline\"\u003eNo More Smudged Mascara.\u003cbr\u003eDry Lashes in Seconds.\u003c\/p\u003e\n\u003cp class=\"nlf-description\"\u003eA compact beauty tool that directs a gentle stream of cool air precisely toward your lashes—helping mascara dry faster, supporting clean layering and keeping your finished eye look beautifully intact.\u003c\/p\u003e\n\u003cdiv class=\"nlf-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e5–10 sec\u003c\/strong\u003e \u003cspan\u003eper eye\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eTargeted\u003c\/strong\u003e \u003cspan\u003ecool airflow\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUSB\u003c\/strong\u003e \u003cspan\u003erechargeable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePalm-size\u003c\/strong\u003e \u003cspan\u003eportable design\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-trust\"\u003e\n\u003cspan\u003eGentle airflow\u003c\/span\u003e \u003cspan\u003eCordless\u003c\/span\u003e \u003cspan\u003eTravel-ready\u003c\/span\u003e \u003cspan\u003eSimple operation\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"nlf-button\" href=\"#nlf-benefits\"\u003e Discover Quick Dry \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- Abstract animation only — no product illustration --\u003e\n\u003cdiv class=\"nlf-hero__visual nlf-reveal\"\u003e\n\u003cdiv class=\"nlf-air-halo\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"nlf-air-stage\"\u003e\n\u003cspan class=\"nlf-airline nlf-airline--1\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-airline nlf-airline--2\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-airline nlf-airline--3\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-airline nlf-airline--4\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-airline nlf-airline--5\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nlf-lash-display\"\u003e\n\u003cspan class=\"nlf-lash-display__shine\"\u003e\u003c\/span\u003e \u003csmall\u003eNOVÉA™ BEAUTY TECH\u003c\/small\u003e \u003cstrong\u003eQUICK\u003cbr\u003eDRY\u003c\/strong\u003e \u003cspan\u003eLASH AIRFLOW\u003c\/span\u003e \u003cem\u003eDRY · SET · BUILD\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-air-core\"\u003e\n\u003cspan class=\"nlf-air-core__ring\"\u003e\u003c\/span\u003e \u003cstrong\u003e5–10\u003c\/strong\u003e \u003csmall\u003eSECONDS\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nlf-spark nlf-spark--1\"\u003e✦\u003c\/span\u003e \u003cspan class=\"nlf-spark nlf-spark--2\"\u003e✧\u003c\/span\u003e \u003cspan class=\"nlf-spark nlf-spark--3\"\u003e✦\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nlf-floating-label nlf-floating-label--one\"\u003e Targeted airflow \u003c\/span\u003e \u003cspan class=\"nlf-floating-label nlf-floating-label--two\"\u003e Smudge-free finish \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"nlf-section\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-intro nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eThe finishing touch your lashes need\u003c\/span\u003e\n\u003ch2\u003ePerfect mascara deserves a perfect finish.\u003c\/h2\u003e\n\u003cp\u003eYou have just applied the perfect coat of mascara—then one early blink leaves a mark beneath your eye. NOVÉA™ Quick Dry Lash Fan replaces waiting, blowing and hand-fanning with focused cool airflow, helping each coat dry faster before you move on with your day.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-statement nlf-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBecause smudged mascara should never be part of your story.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"nlf-section nlf-section--soft\" id=\"nlf-benefits\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eYour effortless lash-finishing ritual\u003c\/span\u003e\n\u003ch2\u003eWhat you gain\u003c\/h2\u003e\n\u003cp\u003eSelect any benefit to discover how Quick Dry transforms the final moments of your makeup routine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-benefits\"\u003e\n\u003carticle class=\"nlf-benefit is-open nlf-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nlf-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nlf-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eFewer mascara smudges\u003c\/h3\u003e\n\u003cp\u003eFocused airflow helps mascara dry before blinking or movement can cause wet product to transfer around the eye area.\u003c\/p\u003e\n\u003cspan class=\"nlf-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nlf-benefit nlf-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nlf-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nlf-benefit__icon\"\u003e↗\u003c\/span\u003e\n\u003ch3\u003eA faster makeup routine\u003c\/h3\u003e\n\u003cp\u003eEliminate unnecessary waiting and hand-fanning between mascara coats with convenient, consistent airflow.\u003c\/p\u003e\n\u003cspan class=\"nlf-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nlf-benefit nlf-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nlf-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nlf-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eSupports lash-extension drying\u003c\/h3\u003e\n\u003cp\u003eGentle cool airflow can assist with drying after lash-extension application when used according to the adhesive manufacturer’s directions and your lash professional’s guidance.\u003c\/p\u003e\n\u003cspan class=\"nlf-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nlf-benefit nlf-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nlf-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nlf-benefit__icon\"\u003e＋\u003c\/span\u003e\n\u003ch3\u003eBuildable mascara layers\u003c\/h3\u003e\n\u003cp\u003eDry each layer before applying the next to build visible volume and length with less wet-product clumping.\u003c\/p\u003e\n\u003cspan class=\"nlf-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nlf-benefit nlf-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nlf-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nlf-benefit__icon\"\u003e≋\u003c\/span\u003e\n\u003ch3\u003eRefreshing cool breeze\u003c\/h3\u003e\n\u003cp\u003eEnjoy a light, refreshing airflow whenever you want a brief cooling moment during your beauty routine.\u003c\/p\u003e\n\u003cspan class=\"nlf-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nlf-benefit nlf-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nlf-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"nlf-benefit__icon\"\u003e◌\u003c\/span\u003e\n\u003ch3\u003eCompact and travel-ready\u003c\/h3\u003e\n\u003cp\u003eThe cordless, palm-sized design fits neatly inside a makeup bag, handbag or travel case.\u003c\/p\u003e\n\u003cspan class=\"nlf-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE DRYING SEQUENCE --\u003e\n\u003csection class=\"nlf-section nlf-sequence\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-heading--light nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eFocused cool-air technology\u003c\/span\u003e\n\u003ch2\u003eThe Quick Dry sequence\u003c\/h2\u003e\n\u003cp\u003eSelect a stage to explore the simple lash-drying experience.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-sequence__layout\"\u003e\n\u003cdiv class=\"nlf-sequence__visual nlf-reveal\"\u003e\n\u003cdiv class=\"nlf-orbit\"\u003e\n\u003cspan class=\"nlf-orbit__ring nlf-orbit__ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-orbit__ring nlf-orbit__ring--inner\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-orbit__flow nlf-orbit__flow--1\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-orbit__flow nlf-orbit__flow--2\"\u003e\u003c\/span\u003e \u003cspan class=\"nlf-orbit__flow nlf-orbit__flow--3\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nlf-orbit__core\"\u003e\n\u003csmall class=\"nlf-core-label\"\u003eSTEP 01\u003c\/small\u003e \u003cstrong class=\"nlf-core-word\"\u003eAPPLY\u003c\/strong\u003e \u003cspan class=\"nlf-core-time\"\u003eMascara\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-selected-stage\"\u003e\n\u003cspan class=\"nlf-selected-stage__number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"nlf-selected-stage__title\"\u003e Apply Your Mascara \u003c\/strong\u003e\n\u003cp class=\"nlf-selected-stage__copy\"\u003eComplete your first mascara coat as normal, working from the roots toward the tips of your lashes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-stages\"\u003e\n\u003cbutton class=\"nlf-stage is-active nlf-reveal\" type=\"button\"\u003e \u003cspan class=\"nlf-stage__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nlf-stage__content\"\u003e \u003cstrong\u003eApply\u003c\/strong\u003e \u003cspan\u003e Apply an even coat of your preferred mascara. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nlf-stage nlf-reveal\" type=\"button\"\u003e \u003cspan class=\"nlf-stage__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nlf-stage__content\"\u003e \u003cstrong\u003ePosition\u003c\/strong\u003e \u003cspan\u003e Carefully direct the airflow toward your upper lashes. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nlf-stage nlf-reveal\" type=\"button\"\u003e \u003cspan class=\"nlf-stage__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nlf-stage__content\"\u003e \u003cstrong\u003eDry\u003c\/strong\u003e \u003cspan\u003e Allow approximately 5–10 seconds of airflow per eye. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nlf-stage nlf-reveal\" type=\"button\"\u003e \u003cspan class=\"nlf-stage__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nlf-stage__content\"\u003e \u003cstrong\u003eBuild\u003c\/strong\u003e \u003cspan\u003e Repeat between coats to build your preferred lash look. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nlf-stage nlf-reveal\" type=\"button\"\u003e \u003cspan class=\"nlf-stage__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nlf-stage__content\"\u003e \u003cstrong\u003eFinish\u003c\/strong\u003e \u003cspan\u003e Enjoy a cleaner, faster and more polished lash routine. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"nlf-section\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003ePrecision in the palm of your hand\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003eCompact engineering directs consistent cool airflow exactly where your lash routine needs it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-process\"\u003e\n\u003carticle class=\"nlf-process__item nlf-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003ePrecision mini motor\u003c\/h3\u003e\n\u003cp\u003eA compact internal motor generates a gentle, consistent stream of cool air.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-process__item nlf-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eTargeted positioning\u003c\/h3\u003e\n\u003cp\u003eThe upper positioning area helps direct airflow toward the lashes rather than across the entire face.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-process__item nlf-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eRoot-to-tip airflow\u003c\/h3\u003e\n\u003cp\u003eFocused air moves across the lash area to support more even drying after mascara application.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-process__item nlf-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eQuick cordless control\u003c\/h3\u003e\n\u003cp\u003eOne-button operation makes it easy to activate the fan whenever you need it.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-feature-strip nlf-reveal\"\u003e\n\u003cspan\u003e✓ Cool airflow\u003c\/span\u003e \u003cspan\u003e✓ One-button control\u003c\/span\u003e \u003cspan\u003e✓ Cordless operation\u003c\/span\u003e \u003cspan\u003e✓ Compact design\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- IDEAL FOR --\u003e\n\u003csection class=\"nlf-section nlf-section--soft\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eOne tool, multiple beauty moments\u003c\/span\u003e\n\u003ch2\u003eDesigned for your lash routine\u003c\/h2\u003e\n\u003cp\u003eA compact finishing tool for everyday makeup, layered mascara and travel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-use-cases\"\u003e\n\u003carticle class=\"nlf-use-case nlf-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eEveryday mascara\u003c\/h3\u003e\n\u003cp\u003eHelp your daily mascara dry before it transfers beneath the eyes or onto the eyelids.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-use-case nlf-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eLayered lash looks\u003c\/h3\u003e\n\u003cp\u003eDry between mascara coats before building additional visible length and volume.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-use-case nlf-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eLash aftercare\u003c\/h3\u003e\n\u003cp\u003eUse only as directed by your lash professional and the adhesive manufacturer when supporting lash-extension drying.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-use-case nlf-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eBeauty on the go\u003c\/h3\u003e\n\u003cp\u003eKeep the rechargeable fan nearby for quick makeup routines at home, while travelling or before an event.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"nlf-section\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eCompact beauty technology\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-specifications\"\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFan type\u003c\/strong\u003e\n\u003cp\u003ePrecision mini motor designed to generate directional cool airflow.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLash positioning area\u003c\/strong\u003e\n\u003cp\u003eBuilt-in upper positioning area designed to direct airflow toward the lashes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSpeed\u003c\/strong\u003e\n\u003cp\u003eSingle-speed, gentle cool airflow for controlled operation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eOperation\u003c\/strong\u003e\n\u003cp\u003eSimple single-button power control.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\n\u003cp\u003eUSB-rechargeable, cordless and portable operation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCharging\u003c\/strong\u003e\n\u003cp\u003eCompatible USB charging cable included.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDesign\u003c\/strong\u003e\n\u003cp\u003ePalm-sized matte-black body with signature NOVÉA™ silver branding.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003eMatte-black NOVÉA™ gift box with rose-gold foil branding and South African flag detailing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-specification nlf-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProudly South African\u003c\/strong\u003e\n\u003cp\u003ePremium beauty technology created for your everyday routine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"nlf-section nlf-section--soft\" id=\"nlf-how-to-use\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eDry lashes in a few simple steps\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eFollow this seven-step routine for fast, controlled mascara drying.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"nlf-use-list\"\u003e\n\u003cli class=\"nlf-use-item nlf-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCharge fully\u003c\/strong\u003e\n\u003cp\u003eCharge the fan completely with the supplied USB cable before first use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nlf-use-item nlf-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApply mascara\u003c\/strong\u003e\n\u003cp\u003eApply your first mascara coat as normal.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nlf-use-item nlf-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSwitch on\u003c\/strong\u003e\n\u003cp\u003ePress the power button to activate the cool airflow.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nlf-use-item nlf-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePosition carefully\u003c\/strong\u003e\n\u003cp\u003eDirect the airflow toward your upper lashes without pressing the device against your eye or eyelid.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nlf-use-item nlf-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDry briefly\u003c\/strong\u003e\n\u003cp\u003eUse for approximately 5–10 seconds per eye or until the mascara feels dry.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nlf-use-item nlf-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBuild your look\u003c\/strong\u003e\n\u003cp\u003eApply an additional mascara layer if desired and repeat the drying step.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nlf-use-item nlf-use-item--featured nlf-reveal\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSwitch off and store\u003c\/strong\u003e\n\u003cp\u003eTurn the fan off after use, keep the air outlet clean and store it in a dry place.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"nlf-care-note nlf-reveal\"\u003e\n\u003cspan class=\"nlf-care-note__icon\"\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEye-area care\u003c\/strong\u003e\n\u003cp\u003eKeep the moving mechanism and air outlet away from direct contact with the eye. Stop immediately if airflow causes discomfort. For lash extensions, follow your adhesive manufacturer’s instructions and your qualified lash professional’s advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"nlf-section nlf-included-section\"\u003e\n\u003cdiv class=\"nlf-container\"\u003e\n\u003cdiv class=\"nlf-heading nlf-reveal\"\u003e\n\u003cspan class=\"nlf-eyebrow\"\u003eEverything you need\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nlf-included\"\u003e\n\u003carticle class=\"nlf-included__item nlf-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eYour beauty tool\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ Quick Dry Lash Fan\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-included__item nlf-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eRecharge anywhere\u003c\/small\u003e \u003cstrong\u003eUSB charging cable\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nlf-included__item nlf-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePremium presentation\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"nlf-cta\"\u003e\u003cspan class=\"nlf-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nlf-container nlf-cta__inner nlf-reveal\"\u003e\n\u003cspan class=\"nlf-badge nlf-badge--dark\"\u003e NOVÉA™ QUICK DRY \u003c\/span\u003e\n\u003ch2\u003eApply. Dry. Blink with confidence.\u003c\/h2\u003e\n\u003cp\u003eBecause smudged mascara should never be part of your story.\u003c\/p\u003e\n\u003ca class=\"nlf-button nlf-button--light\" href=\"#nlf-how-to-use\"\u003e Explore the ritual \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"nlf-disclaimer\"\u003eCosmetic beauty tool. Use only as directed and keep away from direct contact with the eyes. Stop use if discomfort or irritation occurs. Lash adhesive compatibility and drying instructions vary; always follow the adhesive manufacturer’s directions and your qualified lash professional’s guidance. Product-performance claims should be verified against supplier documentation and applicable regulations before publication.\u003cscript\u003e\n  (function () {\n    function initialiseLashFan(root) {\n      if (!root || root.getAttribute(\"data-nlf-ready\") === \"true\") {\n        return;\n      }\n\n      root.setAttribute(\"data-nlf-ready\", \"true\");\n      root.classList.add(\"nlf-js\");\n\n      \/* Scroll reveal animations *\/\n      var revealItems = root.querySelectorAll(\".nlf-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        var observer = new IntersectionObserver(\n          function (entries) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) {\n                return;\n              }\n\n              entry.target.classList.add(\"nlf-visible\");\n              observer.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.08,\n            rootMargin: \"0px 0px -18px 0px\"\n          }\n        );\n\n        revealItems.forEach(function (item, index) {\n          item.style.transitionDelay = ((index % 4) * 55) + \"ms\";\n          observer.observe(item);\n        });\n\n        \/*\n          Shopify safety fallback:\n          prevents theme conflicts from leaving content hidden.\n        *\/\n        window.setTimeout(function () {\n          revealItems.forEach(function (item) {\n            item.classList.add(\"nlf-visible\");\n          });\n        }, 1800);\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"nlf-visible\");\n        });\n      }\n\n      \/* Expandable benefit cards *\/\n      var benefitCards = root.querySelectorAll(\".nlf-benefit\");\n\n      function toggleBenefit(card) {\n        var isOpen = card.classList.toggle(\"is-open\");\n\n        card.setAttribute(\n          \"aria-expanded\",\n          isOpen ? \"true\" : \"false\"\n        );\n      }\n\n      benefitCards.forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          toggleBenefit(card);\n        });\n\n        card.addEventListener(\"keydown\", function (event) {\n          if (event.key !== \"Enter\" \u0026\u0026 event.key !== \" \") {\n            return;\n          }\n\n          event.preventDefault();\n          toggleBenefit(card);\n        });\n      });\n\n      \/* Interactive Quick Dry sequence *\/\n      var stageButtons = root.querySelectorAll(\".nlf-stage\");\n      var orbit = root.querySelector(\".nlf-orbit\");\n      var coreLabel = root.querySelector(\".nlf-core-label\");\n      var coreWord = root.querySelector(\".nlf-core-word\");\n      var coreTime = root.querySelector(\".nlf-core-time\");\n      var stageNumber = root.querySelector(\n        \".nlf-selected-stage__number\"\n      );\n      var stageTitle = root.querySelector(\n        \".nlf-selected-stage__title\"\n      );\n      var stageCopy = root.querySelector(\n        \".nlf-selected-stage__copy\"\n      );\n\n      function updateStage(button) {\n        if (!button) {\n          return;\n        }\n\n        var number =\n          button.getAttribute(\"data-number\") || \"01\";\n\n        var label =\n          button.getAttribute(\"data-label\") || \"STEP 01\";\n\n        var word =\n          button.getAttribute(\"data-word\") || \"APPLY\";\n\n        var time =\n          button.getAttribute(\"data-time\") || \"Mascara\";\n\n        var title =\n          button.getAttribute(\"data-title\") ||\n          \"Apply Your Mascara\";\n\n        var copy =\n          button.getAttribute(\"data-copy\") || \"\";\n\n        var colour =\n          button.getAttribute(\"data-colour\") || \"#e8a7b1\";\n\n        var glow =\n          button.getAttribute(\"data-glow\") ||\n          \"rgba(232,167,177,.5)\";\n\n        stageButtons.forEach(function (item) {\n          var selected = item === button;\n\n          item.classList.toggle(\"is-active\", selected);\n          item.setAttribute(\n            \"aria-pressed\",\n            selected ? \"true\" : \"false\"\n          );\n        });\n\n        if (orbit) {\n          orbit.style.setProperty(\"--stage-colour\", colour);\n          orbit.style.setProperty(\"--stage-glow\", glow);\n        }\n\n        if (coreLabel) {\n          coreLabel.textContent = label;\n        }\n\n        if (coreWord) {\n          coreWord.textContent = word;\n        }\n\n        if (coreTime) {\n          coreTime.textContent = time;\n        }\n\n        if (stageNumber) {\n          stageNumber.textContent = number;\n        }\n\n        if (stageTitle) {\n          stageTitle.textContent = title;\n        }\n\n        if (stageCopy) {\n          stageCopy.textContent = copy;\n        }\n      }\n\n      stageButtons.forEach(function (button) {\n        button.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          updateStage(button);\n        });\n      });\n\n      var initialStage =\n        root.querySelector(\".nlf-stage.is-active\") ||\n        stageButtons[0];\n\n      if (initialStage) {\n        updateStage(initialStage);\n      }\n\n      \/* Optional desktop parallax effect *\/\n      var heroVisual = root.querySelector(\".nlf-hero__visual\");\n      var airStage = root.querySelector(\".nlf-air-stage\");\n\n      var reducedMotion =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\n          \"(prefers-reduced-motion: reduce)\"\n        ).matches;\n\n      var finePointer =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\"(pointer: fine)\").matches;\n\n      if (\n        heroVisual \u0026\u0026\n        airStage \u0026\u0026\n        !reducedMotion \u0026\u0026\n        finePointer\n      ) {\n        heroVisual.addEventListener(\n          \"mousemove\",\n          function (event) {\n            var rectangle =\n              heroVisual.getBoundingClientRect();\n\n            var x =\n              (event.clientX - rectangle.left) \/\n                rectangle.width -\n              0.5;\n\n            var y =\n              (event.clientY - rectangle.top) \/\n                rectangle.height -\n              0.5;\n\n            airStage.style.transform =\n              \"rotateY(\" +\n              x * 5 +\n              \"deg) rotateX(\" +\n              -y * 5 +\n              \"deg) translateY(-3px)\";\n          }\n        );\n\n        heroVisual.addEventListener(\n          \"mouseleave\",\n          function () {\n            airStage.style.transform =\n              \"rotateY(0deg) rotateX(0deg) translateY(0)\";\n          }\n        );\n      }\n    }\n\n    function initialiseAllLashFans(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-lash-fan\")\n      ) {\n        initialiseLashFan(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-lash-fan\")\n          .forEach(function (root) {\n            initialiseLashFan(root);\n          });\n      }\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAllLashFans(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAllLashFans(document);\n    }\n\n    \/* Shopify Theme Editor compatibility *\/\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(\"#novea-lash-fan\")\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root = event.target.querySelector(\n            \"#novea-lash-fan\"\n          );\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-nlf-ready\");\n        root.classList.remove(\"nlf-js\");\n        initialiseLashFan(root);\n      }\n    );\n  })();\n\u003c\/script\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-lash-fan {\n    --nlf-ink: #161519;\n    --nlf-charcoal: #242126;\n    --nlf-text: #423d43;\n    --nlf-muted: #756e76;\n    --nlf-rose: #b76e79;\n    --nlf-rose-dark: #8f4e5a;\n    --nlf-rose-mid: #d6939f;\n    --nlf-rose-light: #edc8ce;\n    --nlf-blush: #f9e7ea;\n    --nlf-silver: #d9d9dd;\n    --nlf-border: rgba(23, 21, 24, 0.11);\n    --nlf-shadow: 0 16px 44px rgba(35, 24, 31, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--nlf-text);\n    background: #ffffff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-lash-fan *,\n  #novea-lash-fan *::before,\n  #novea-lash-fan *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-lash-fan h1,\n  #novea-lash-fan h2,\n  #novea-lash-fan h3,\n  #novea-lash-fan p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-lash-fan button,\n  #novea-lash-fan a {\n    font: inherit;\n  }\n\n  .nlf-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .nlf-section {\n    position: relative;\n    padding: 78px 0;\n  }\n\n  .nlf-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 8%,\n        rgba(249, 225, 230, 0.88),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fefcfc, #f7f3f5);\n  }\n\n  .nlf-heading,\n  .nlf-intro {\n    max-width: 790px;\n    margin: 0 auto 42px;\n    text-align: center;\n  }\n\n  .nlf-intro {\n    margin-bottom: 32px;\n  }\n\n  .nlf-heading h2,\n  .nlf-intro h2,\n  .nlf-cta h2 {\n    margin: 8px 0 14px;\n    color: var(--nlf-ink);\n    font-size: clamp(31px, 5vw, 52px);\n    font-weight: 780;\n    line-height: 1.07;\n    letter-spacing: -0.045em;\n  }\n\n  .nlf-heading p,\n  .nlf-intro p {\n    color: var(--nlf-muted);\n    font-size: 16px;\n  }\n\n  .nlf-eyebrow {\n    display: inline-block;\n    color: var(--nlf-rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* HERO *\/\n  .nlf-hero {\n    position: relative;\n    padding: 90px 0 78px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 88% 87%,\n        rgba(218, 211, 224, 0.78),\n        transparent 29%\n      ),\n      linear-gradient(145deg, #ffffff, #f7e9ec 52%, #e9e8ed);\n  }\n\n  .nlf-grid-pattern {\n    position: absolute;\n    inset: 0;\n    opacity: 0.2;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.45) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.45) 1px,\n        transparent 1px\n      );\n    background-size: 48px 48px;\n    mask-image: linear-gradient(to bottom, transparent, #000, transparent);\n  }\n\n  .nlf-hero__layout {\n    display: grid;\n    align-items: center;\n    gap: 52px;\n  }\n\n  .nlf-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--nlf-rose-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .nlf-hero h1 {\n    max-width: 700px;\n    margin: 21px 0 17px;\n    color: var(--nlf-ink);\n    font-size: clamp(47px, 7vw, 76px);\n    font-weight: 800;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .nlf-hero h1 span {\n    display: block;\n    margin-top: 9px;\n    color: var(--nlf-rose-dark);\n    font-size: 0.58em;\n    line-height: 1.1;\n    letter-spacing: -0.04em;\n  }\n\n  .nlf-tagline {\n    margin-bottom: 15px !important;\n    color: var(--nlf-rose-dark);\n    font-size: clamp(19px, 3vw, 24px);\n    font-weight: 760;\n    line-height: 1.3;\n  }\n\n  .nlf-description {\n    max-width: 650px;\n    color: var(--nlf-muted);\n    font-size: 16px;\n  }\n\n  .nlf-highlights {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    max-width: 650px;\n    margin-top: 27px;\n  }\n\n  .nlf-highlights div {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    min-height: 53px;\n    padding: 12px 14px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.85);\n    box-shadow: 0 7px 20px rgba(35, 24, 31, 0.055);\n  }\n\n  .nlf-highlights strong {\n    color: var(--nlf-rose-dark);\n    font-size: 13px;\n  }\n\n  .nlf-highlights span {\n    color: #625c63;\n    font-size: 12px;\n  }\n\n  .nlf-trust {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 11px 20px;\n    margin-top: 18px;\n  }\n\n  .nlf-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696269;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .nlf-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--nlf-rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .nlf-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 26px;\n    padding: 12px 22px;\n    border: 1px solid var(--nlf-rose);\n    border-radius: 999px;\n    color: #ffffff;\n    background: linear-gradient(\n      135deg,\n      var(--nlf-rose-dark),\n      var(--nlf-rose)\n    );\n    box-shadow: 0 13px 29px rgba(183, 110, 121, 0.27);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .nlf-button:hover,\n  .nlf-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 36px rgba(183, 110, 121, 0.35);\n    transform: translateY(-3px);\n  }\n\n  \/* HERO AIRFLOW EXPERIENCE *\/\n  .nlf-hero__visual {\n    position: relative;\n    display: grid;\n    min-height: 470px;\n    place-items: center;\n    perspective: 1000px;\n  }\n\n  .nlf-air-halo {\n    position: absolute;\n    width: min(410px, 88%);\n    aspect-ratio: 1;\n    border-radius: 50%;\n    background: conic-gradient(\n      #efbec6,\n      #ffffff,\n      #babcc8,\n      #d795a2,\n      #efbec6\n    );\n    filter: blur(53px);\n    opacity: 0.34;\n    animation: nlf-spin 14s linear infinite;\n  }\n\n  .nlf-air-stage {\n    position: relative;\n    z-index: 2;\n    width: min(400px, 90vw);\n    height: 430px;\n    transition: transform 0.3s ease;\n  }\n\n  .nlf-lash-display {\n    position: absolute;\n    top: 48%;\n    left: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    width: 226px;\n    height: 286px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.72);\n    border-radius: 32px;\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 25% 15%,\n        rgba(255, 255, 255, 0.13),\n        transparent 25%\n      ),\n      linear-gradient(145deg, #2e2d33, #111014);\n    box-shadow:\n      inset 12px 12px 24px rgba(255, 255, 255, 0.07),\n      inset -12px -12px 25px rgba(0, 0, 0, 0.25),\n      0 30px 58px rgba(30, 24, 30, 0.27);\n    text-align: center;\n    transform: translate(-50%, -50%) rotate(2deg);\n  }\n\n  .nlf-lash-display::before {\n    position: absolute;\n    inset: 12px;\n    border: 1px solid rgba(217, 217, 221, 0.14);\n    border-radius: 24px;\n    content: \"\";\n  }\n\n  .nlf-lash-display__shine {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: -55%;\n    width: 42%;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      rgba(255, 255, 255, 0.16),\n      transparent\n    );\n    transform: skewX(-17deg);\n    animation: nlf-shine 4.5s ease-in-out infinite;\n  }\n\n  .nlf-lash-display small,\n  .nlf-lash-display strong,\n  .nlf-lash-display \u003e span:not(.nlf-lash-display__shine),\n  .nlf-lash-display em {\n    position: relative;\n    z-index: 2;\n    display: block;\n  }\n\n  .nlf-lash-display small {\n    margin-bottom: 15px;\n    color: var(--nlf-silver);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.2em;\n  }\n\n  .nlf-lash-display strong {\n    font-size: 48px;\n    line-height: 0.86;\n    letter-spacing: -0.055em;\n  }\n\n  .nlf-lash-display \u003e span:not(.nlf-lash-display__shine) {\n    margin-top: 15px;\n    color: #e3aab4;\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.18em;\n  }\n\n  .nlf-lash-display em {\n    margin-top: 25px;\n    color: rgba(255, 255, 255, 0.5);\n    font-size: 7px;\n    font-style: normal;\n    font-weight: 800;\n    letter-spacing: 0.16em;\n  }\n\n  .nlf-air-core {\n    position: absolute;\n    z-index: 5;\n    right: 1px;\n    bottom: 36px;\n    display: grid;\n    width: 104px;\n    height: 104px;\n    border: 1px solid rgba(255, 255, 255, 0.66);\n    border-radius: 50%;\n    color: var(--nlf-ink);\n    background: rgba(255, 255, 255, 0.86);\n    box-shadow:\n      0 15px 35px rgba(35, 24, 31, 0.17),\n      inset 0 0 20px rgba(183, 110, 121, 0.11);\n    place-content: center;\n    text-align: center;\n    backdrop-filter: blur(10px);\n  }\n\n  .nlf-air-core__ring {\n    position: absolute;\n    inset: 8px;\n    border: 1px dashed rgba(183, 110, 121, 0.4);\n    border-radius: 50%;\n    animation: nlf-spin 8s linear infinite;\n  }\n\n  .nlf-air-core strong {\n    position: relative;\n    z-index: 2;\n    font-size: 27px;\n    line-height: 1;\n    letter-spacing: -0.05em;\n  }\n\n  .nlf-air-core small {\n    position: relative;\n    z-index: 2;\n    margin-top: 4px;\n    color: var(--nlf-rose-dark);\n    font-size: 7px;\n    font-weight: 900;\n    letter-spacing: 0.13em;\n  }\n\n  .nlf-airline {\n    position: absolute;\n    z-index: 4;\n    width: 115px;\n    height: 32px;\n    border-top: 2px solid rgba(255, 255, 255, 0.85);\n    border-radius: 50%;\n    filter: drop-shadow(0 0 7px rgba(183, 110, 121, 0.35));\n    animation: nlf-airflow 2.5s ease-in-out infinite;\n  }\n\n  .nlf-airline--1 {\n    top: 71px;\n    left: 2px;\n    transform: rotate(9deg);\n  }\n\n  .nlf-airline--2 {\n    top: 131px;\n    right: -5px;\n    animation-delay: -0.5s;\n    transform: rotate(-8deg);\n  }\n\n  .nlf-airline--3 {\n    top: 214px;\n    left: -8px;\n    animation-delay: -1s;\n    transform: rotate(6deg);\n  }\n\n  .nlf-airline--4 {\n    right: 2px;\n    bottom: 106px;\n    animation-delay: -1.5s;\n    transform: rotate(-10deg);\n  }\n\n  .nlf-airline--5 {\n    bottom: 41px;\n    left: 34px;\n    animation-delay: -2s;\n    transform: rotate(5deg);\n  }\n\n  .nlf-spark {\n    position: absolute;\n    z-index: 7;\n    color: #ffffff;\n    text-shadow: 0 0 13px rgba(183, 110, 121, 0.7);\n    animation: nlf-sparkle 2.5s ease-in-out infinite;\n  }\n\n  .nlf-spark--1 {\n    top: 46px;\n    right: 68px;\n    font-size: 21px;\n  }\n\n  .nlf-spark--2 {\n    bottom: 65px;\n    left: 56px;\n    font-size: 25px;\n    animation-delay: -0.8s;\n  }\n\n  .nlf-spark--3 {\n    top: 206px;\n    left: 29px;\n    font-size: 15px;\n    animation-delay: -1.6s;\n  }\n\n  .nlf-floating-label {\n    position: absolute;\n    z-index: 8;\n    padding: 10px 15px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 999px;\n    color: #5e565e;\n    background: rgba(255, 255, 255, 0.9);\n    box-shadow: var(--nlf-shadow);\n    font-size: 10px;\n    font-weight: 800;\n    backdrop-filter: blur(9px);\n    animation: nlf-label-float 4s ease-in-out infinite;\n  }\n\n  .nlf-floating-label--one {\n    top: 12%;\n    left: -1%;\n  }\n\n  .nlf-floating-label--two {\n    right: -2%;\n    bottom: 13%;\n    animation-delay: -2s;\n  }\n\n  .nlf-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: nlf-orb-float 7s ease-in-out infinite;\n  }\n\n  .nlf-orb--one {\n    top: 8%;\n    left: 2%;\n    width: 145px;\n    height: 145px;\n    background: rgba(225, 142, 156, 0.13);\n  }\n\n  .nlf-orb--two {\n    right: 2%;\n    bottom: 7%;\n    width: 190px;\n    height: 190px;\n    background: rgba(150, 151, 164, 0.12);\n    animation-delay: -3s;\n  }\n\n  \/* STATEMENT *\/\n  .nlf-statement {\n    position: relative;\n    max-width: 690px;\n    margin: 0 auto;\n    padding: 28px 30px;\n    overflow: hidden;\n    border: 1px solid var(--nlf-border);\n    border-radius: 20px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.48),\n        transparent 48%\n      ),\n      #ffffff;\n    box-shadow: var(--nlf-shadow);\n    text-align: center;\n  }\n\n  .nlf-statement \u003e span {\n    position: absolute;\n    top: -15px;\n    left: 18px;\n    color: rgba(183, 110, 121, 0.16);\n    font-family: Georgia, serif;\n    font-size: 100px;\n    line-height: 1;\n  }\n\n  .nlf-statement p {\n    position: relative;\n    color: var(--nlf-ink);\n    font-size: clamp(18px, 3vw, 24px);\n    font-weight: 750;\n    line-height: 1.35;\n  }\n\n  \/* BENEFITS *\/\n  .nlf-benefits {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 15px;\n  }\n\n  .nlf-benefit {\n    position: relative;\n    min-height: 180px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--nlf-border);\n    border-radius: 20px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .nlf-benefit:hover,\n  .nlf-benefit:focus-visible,\n  .nlf-benefit.is-open {\n    border-color: rgba(183, 110, 121, 0.45);\n    outline: none;\n    box-shadow: 0 22px 52px rgba(35, 24, 31, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .nlf-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(183, 110, 121, 0.7);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .nlf-benefit__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--nlf-rose-dark);\n    background: linear-gradient(180deg, #ffffff, var(--nlf-blush));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    font-size: 13px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nlf-benefit h3 {\n    padding-right: 27px !important;\n    color: var(--nlf-ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .nlf-benefit p {\n    display: block;\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--nlf-muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .nlf-benefit.is-open p {\n    max-height: 230px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  .nlf-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 50%;\n  }\n\n  .nlf-benefit__toggle::before,\n  .nlf-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--nlf-rose);\n    content: \"\";\n    transform: translate(-50%, -50%);\n    transition: transform 0.25s ease;\n  }\n\n  .nlf-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n  }\n\n  .nlf-benefit.is-open .nlf-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* INTERACTIVE SEQUENCE *\/\n  .nlf-sequence {\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 9% 10%,\n        rgba(183, 110, 121, 0.25),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 91% 90%,\n        rgba(144, 145, 158, 0.18),\n        transparent 30%\n      ),\n      var(--nlf-ink);\n  }\n\n  .nlf-heading--light h2 {\n    color: #ffffff;\n  }\n\n  .nlf-heading--light p {\n    color: rgba(255, 255, 255, 0.63);\n  }\n\n  .nlf-sequence__layout {\n    display: grid;\n    align-items: center;\n    gap: 45px;\n  }\n\n  .nlf-sequence__visual {\n    text-align: center;\n  }\n\n  .nlf-orbit {\n    --stage-colour: #e8a7b1;\n    --stage-glow: rgba(232, 167, 177, 0.5);\n\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 25px;\n    place-items: center;\n  }\n\n  .nlf-orbit::before {\n    position: absolute;\n    width: 62%;\n    height: 62%;\n    border-radius: 50%;\n    background: var(--stage-glow);\n    filter: blur(50px);\n    opacity: 0.56;\n    content: \"\";\n    transition: background 0.45s ease;\n  }\n\n  .nlf-orbit__ring {\n    position: absolute;\n    border: 1px solid var(--stage-colour);\n    border-radius: 50%;\n    transition: border-color 0.45s ease;\n  }\n\n  .nlf-orbit__ring--outer {\n    width: 94%;\n    height: 94%;\n    animation: nlf-pulse 3s ease-in-out infinite;\n  }\n\n  .nlf-orbit__ring--inner {\n    width: 72%;\n    height: 72%;\n    animation: nlf-pulse 3s 1s ease-in-out infinite;\n  }\n\n  .nlf-orbit__flow {\n    position: absolute;\n    z-index: 2;\n    width: 76%;\n    height: 16%;\n    border-top: 2px solid var(--stage-colour);\n    border-radius: 50%;\n    opacity: 0.56;\n    transition: border-color 0.45s ease;\n    animation: nlf-orbit-flow 2.8s ease-in-out infinite;\n  }\n\n  .nlf-orbit__flow--1 {\n    transform: rotate(0deg);\n  }\n\n  .nlf-orbit__flow--2 {\n    animation-delay: -0.9s;\n    transform: rotate(60deg);\n  }\n\n  .nlf-orbit__flow--3 {\n    animation-delay: -1.8s;\n    transform: rotate(-60deg);\n  }\n\n  .nlf-orbit__core {\n    position: relative;\n    z-index: 4;\n    display: grid;\n    width: 53%;\n    aspect-ratio: 1;\n    border: 2px solid var(--stage-colour);\n    border-radius: 50%;\n    background:\n      radial-gradient(\n        circle at 35% 25%,\n        rgba(255, 255, 255, 0.12),\n        transparent 24%\n      ),\n      #232126;\n    box-shadow:\n      inset 0 0 35px var(--stage-glow),\n      0 0 42px var(--stage-glow);\n    place-content: center;\n    text-align: center;\n    transition:\n      border-color 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .nlf-orbit__core small {\n    color: rgba(255, 255, 255, 0.48);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.16em;\n  }\n\n  .nlf-orbit__core strong {\n    display: block;\n    margin: 4px 0;\n    color: #ffffff;\n    font-size: clamp(20px, 5vw, 30px);\n    line-height: 1;\n    letter-spacing: -0.04em;\n  }\n\n  .nlf-orbit__core span {\n    color: #f0bcc5;\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.12em;\n  }\n\n  .nlf-selected-stage {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    width: min(100%, 470px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    border: 1px solid rgba(255, 255, 255, 0.12);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.065);\n    text-align: left;\n    backdrop-filter: blur(8px);\n  }\n\n  .nlf-selected-stage__number {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: #ffffff;\n    background: linear-gradient(\n      145deg,\n      var(--nlf-rose-mid),\n      var(--nlf-rose)\n    );\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nlf-selected-stage strong {\n    display: block;\n    margin-bottom: 5px;\n    color: #ffffff;\n    font-size: 16px;\n  }\n\n  .nlf-selected-stage p {\n    color: rgba(255, 255, 255, 0.63);\n    font-size: 13px;\n  }\n\n  \/*\n    Strong selectors protect interactive buttons from\n    conflicting Shopify theme button styles.\n  *\/\n  #novea-lash-fan .nlf-stages {\n    display: grid !important;\n    grid-template-columns: minmax(0, 1fr) !important;\n    gap: 12px !important;\n    width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  #novea-lash-fan button.nlf-stage {\n    position: relative !important;\n    display: grid !important;\n    grid-template-columns: 42px minmax(0, 1fr) !important;\n    align-items: start !important;\n    gap: 15px !important;\n\n    width: 100% !important;\n    min-width: 0 !important;\n    max-width: 100% !important;\n    height: auto !important;\n    min-height: 108px !important;\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: hidden !important;\n\n    border: 1px solid rgba(255, 255, 255, 0.11) !important;\n    border-radius: 18px !important;\n    outline: none !important;\n    color: #ffffff !important;\n    background: rgba(255, 255, 255, 0.055) !important;\n    box-shadow: none !important;\n\n    text-align: left !important;\n    text-decoration: none !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    line-height: 1.5 !important;\n    white-space: normal !important;\n\n    cursor: pointer !important;\n    appearance: none !important;\n    -webkit-appearance: none !important;\n\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      background 0.25s ease !important;\n  }\n\n  #novea-lash-fan button.nlf-stage::before,\n  #novea-lash-fan button.nlf-stage::after {\n    display: none !important;\n    content: none !important;\n  }\n\n  #novea-lash-fan button.nlf-stage:hover,\n  #novea-lash-fan button.nlf-stage:focus-visible,\n  #novea-lash-fan button.nlf-stage.is-active {\n    border-color: rgba(232, 167, 177, 0.62) !important;\n    outline: none !important;\n    background: rgba(255, 255, 255, 0.11) !important;\n    transform: translateX(5px) !important;\n  }\n\n  #novea-lash-fan .nlf-stage__number {\n    position: static !important;\n    display: grid !important;\n    width: 42px !important;\n    height: 42px !important;\n    min-width: 42px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 1px solid rgba(255, 255, 255, 0.14) !important;\n    border-radius: 50% !important;\n    color: #f4cbd1 !important;\n    background: rgba(255, 255, 255, 0.07) !important;\n    font-size: 10px !important;\n    font-weight: 900 !important;\n    line-height: 1 !important;\n    place-items: center !important;\n  }\n\n  #novea-lash-fan .nlf-stage__content {\n    position: static !important;\n    display: block !important;\n    min-width: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    color: #ffffff !important;\n    opacity: 1 !important;\n    transform: none !important;\n  }\n\n  #novea-lash-fan .nlf-stage__content strong {\n    position: static !important;\n    display: block !important;\n    visibility: visible !important;\n    margin: 0 0 4px !important;\n    padding: 0 !important;\n    color: #ffffff !important;\n    background: transparent !important;\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    line-height: 1.35 !important;\n    letter-spacing: normal !important;\n    text-align: left !important;\n    text-transform: none !important;\n    white-space: normal !important;\n    opacity: 1 !important;\n  }\n\n  #novea-lash-fan .nlf-stage__content \u003e span {\n    position: static !important;\n    display: block !important;\n    visibility: visible !important;\n    max-height: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    color: rgba(255, 255, 255, 0.63) !important;\n    background: transparent !important;\n    font-size: 12px !important;\n    font-weight: 400 !important;\n    line-height: 1.55 !important;\n    letter-spacing: normal !important;\n    text-align: left !important;\n    text-transform: none !important;\n    white-space: normal !important;\n    opacity: 1 !important;\n  }\n\n  \/* PROCESS *\/\n  .nlf-process {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .nlf-process__item {\n    min-height: 220px;\n    padding: 23px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 20px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nlf-process__item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .nlf-process__item \u003e span {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin-bottom: 30px;\n    border-radius: 50%;\n    color: var(--nlf-ink);\n    background: linear-gradient(180deg, #ffffff, var(--nlf-rose-light));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.18);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nlf-process__item h3 {\n    margin-bottom: 7px !important;\n    color: var(--nlf-ink);\n    font-size: 17px;\n  }\n\n  .nlf-process__item p {\n    color: var(--nlf-muted);\n    font-size: 14px;\n  }\n\n  .nlf-feature-strip {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 9px;\n    margin-top: 23px;\n  }\n\n  .nlf-feature-strip span {\n    padding: 9px 14px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 999px;\n    color: #555057;\n    background: #ffffff;\n    box-shadow: 0 6px 17px rgba(35, 24, 31, 0.05);\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  \/* USE CASES *\/\n  .nlf-use-cases {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .nlf-use-case {\n    min-height: 184px;\n    padding: 22px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nlf-use-case:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .nlf-use-case \u003e span {\n    display: block;\n    margin-bottom: 27px;\n    color: var(--nlf-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nlf-use-case h3 {\n    margin-bottom: 7px !important;\n    color: var(--nlf-ink);\n    font-size: 16px;\n  }\n\n  .nlf-use-case p {\n    color: var(--nlf-muted);\n    font-size: 13px;\n  }\n\n  \/* SPECIFICATIONS *\/\n  .nlf-specifications {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n  }\n\n  .nlf-specification {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 130px;\n    padding: 20px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nlf-specification:hover {\n    border-color: rgba(183, 110, 121, 0.39);\n    transform: translateY(-4px);\n  }\n\n  .nlf-specification \u003e span {\n    color: var(--nlf-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nlf-specification strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--nlf-ink);\n    font-size: 14px;\n  }\n\n  .nlf-specification p {\n    color: var(--nlf-muted);\n    font-size: 13px;\n  }\n\n  \/* HOW TO USE *\/\n  .nlf-use-list {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n    max-width: 1040px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .nlf-use-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    min-height: 126px;\n    padding: 20px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n    transition:\n      transform 0.26s ease,\n      border-color 0.26s ease;\n  }\n\n  .nlf-use-item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-3px);\n  }\n\n  .nlf-use-item \u003e span {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: var(--nlf-ink);\n    background: linear-gradient(180deg, #ffffff, var(--nlf-rose-light));\n    box-shadow: 0 7px 17px rgba(183, 110, 121, 0.18);\n    font-size: 12px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nlf-use-item strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--nlf-ink);\n    font-size: 15px;\n  }\n\n  .nlf-use-item p {\n    color: var(--nlf-muted);\n    font-size: 13px;\n  }\n\n  .nlf-use-item--featured {\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.45),\n        transparent 45%\n      ),\n      #ffffff;\n  }\n\n  .nlf-care-note {\n    display: flex;\n    align-items: flex-start;\n    gap: 17px;\n    max-width: 850px;\n    margin: 23px auto 0;\n    padding: 20px;\n    border: 1px solid rgba(183, 110, 121, 0.25);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n  }\n\n  .nlf-care-note__icon {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    flex: 0 0 42px;\n    border-radius: 50%;\n    color: #ffffff;\n    background: linear-gradient(\n      145deg,\n      var(--nlf-rose-dark),\n      var(--nlf-rose)\n    );\n    font-size: 15px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nlf-care-note strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--nlf-ink);\n    font-size: 14px;\n  }\n\n  .nlf-care-note p {\n    color: var(--nlf-muted);\n    font-size: 12px;\n  }\n\n  \/* INCLUDED *\/\n  .nlf-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(240, 202, 208, 0.58),\n        transparent 29%\n      ),\n      #f8f4f6;\n  }\n\n  .nlf-included {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n    max-width: 1000px;\n    margin: 0 auto;\n  }\n\n  .nlf-included__item {\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    min-height: 105px;\n    padding: 21px;\n    border: 1px solid var(--nlf-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nlf-shadow);\n  }\n\n  .nlf-included__item \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: var(--nlf-rose-dark);\n    background: var(--nlf-blush);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nlf-included__item small,\n  .nlf-included__item strong {\n    display: block;\n  }\n\n  .nlf-included__item small {\n    margin-bottom: 3px;\n    color: var(--nlf-muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n    text-transform: uppercase;\n  }\n\n  .nlf-included__item strong {\n    color: var(--nlf-ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .nlf-cta {\n    position: relative;\n    padding: 95px 0;\n    overflow: hidden;\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 20% 20%,\n        rgba(183, 110, 121, 0.2),\n        transparent 31%\n      ),\n      var(--nlf-ink);\n    text-align: center;\n  }\n\n  .nlf-cta__inner {\n    max-width: 900px;\n  }\n\n  .nlf-cta h2 {\n    margin-top: 20px;\n    color: #ffffff;\n  }\n\n  .nlf-cta p {\n    color: rgba(255, 255, 255, 0.64);\n    font-size: 16px;\n  }\n\n  .nlf-badge--dark {\n    color: #f0c8cf;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .nlf-button--light {\n    color: var(--nlf-ink);\n    border-color: #ffffff;\n    background: #ffffff;\n    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);\n  }\n\n  .nlf-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(183, 110, 121, 0.42),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: nlf-cta-glow 4s ease-in-out infinite;\n  }\n\n  .nlf-disclaimer {\n    padding: 17px !important;\n    color: #807981;\n    background: #f3f0f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* REVEAL ANIMATIONS *\/\n  .nlf-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .nlf-js .nlf-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .nlf-js .nlf-reveal.nlf-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  @keyframes nlf-spin {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n\n  @keyframes nlf-orb-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-18px);\n    }\n  }\n\n  @keyframes nlf-label-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-9px);\n    }\n  }\n\n  @keyframes nlf-airflow {\n    0%,\n    100% {\n      opacity: 0.18;\n      transform: translateX(-10px) scaleX(0.86);\n    }\n\n    50% {\n      opacity: 0.9;\n      transform: translateX(13px) scaleX(1.08);\n    }\n  }\n\n  @keyframes nlf-sparkle {\n    0%,\n    100% {\n      opacity: 0.3;\n      transform: scale(0.75) rotate(0deg);\n    }\n\n    50% {\n      opacity: 1;\n      transform: scale(1.15) rotate(18deg);\n    }\n  }\n\n  @keyframes nlf-shine {\n    0%,\n    25% {\n      left: -55%;\n    }\n\n    70%,\n    100% {\n      left: 120%;\n    }\n  }\n\n  @keyframes nlf-pulse {\n    0%,\n    100% {\n      opacity: 0.17;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.48;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes nlf-orbit-flow {\n    0%,\n    100% {\n      opacity: 0.18;\n      scale: 0.9;\n    }\n\n    50% {\n      opacity: 0.72;\n      scale: 1.05;\n    }\n  }\n\n  @keyframes nlf-cta-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (min-width: 680px) {\n    .nlf-benefits,\n    .nlf-specifications,\n    .nlf-use-list {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nlf-process,\n    .nlf-use-cases {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nlf-included {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nlf-use-item--featured {\n      grid-column: 1 \/ -1;\n    }\n  }\n\n  @media (min-width: 960px) {\n    .nlf-section {\n      padding: 96px 0;\n    }\n\n    .nlf-hero__layout {\n      grid-template-columns: 1.08fr 0.92fr;\n    }\n\n    .nlf-benefits,\n    .nlf-specifications {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nlf-sequence__layout {\n      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n      gap: 65px;\n    }\n\n    .nlf-process,\n    .nlf-use-cases {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n\n    .nlf-use-list {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nlf-use-item--featured {\n      grid-column: 2 \/ 3;\n    }\n  }\n\n  @media (max-width: 679px) {\n    .nlf-hero {\n      padding: 65px 0 58px;\n      text-align: center;\n    }\n\n    .nlf-description {\n      margin-right: auto !important;\n      margin-left: auto !important;\n    }\n\n    .nlf-trust {\n      justify-content: center;\n    }\n\n    .nlf-hero__visual {\n      min-height: 430px;\n    }\n\n    .nlf-air-stage {\n      left: 50%;\n      width: 400px;\n      margin-left: -200px;\n      transform: scale(0.88);\n    }\n\n    .nlf-floating-label--one {\n      left: 1%;\n    }\n\n    .nlf-floating-label--two {\n      right: 1%;\n    }\n\n    #novea-lash-fan button.nlf-stage:hover,\n    #novea-lash-fan button.nlf-stage:focus-visible,\n    #novea-lash-fan button.nlf-stage.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .nlf-container {\n      width: calc(100% - 22px);\n    }\n\n    .nlf-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    .nlf-air-stage {\n      transform: scale(0.78);\n    }\n\n    .nlf-hero__visual {\n      min-height: 395px;\n    }\n\n    #novea-lash-fan button.nlf-stage {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      gap: 13px !important;\n      padding: 15px !important;\n    }\n\n    #novea-lash-fan .nlf-stage__number {\n      width: 38px !important;\n      height: 38px !important;\n      min-width: 38px !important;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-lash-fan *,\n    #novea-lash-fan *::before,\n    #novea-lash-fan *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .nlf-js .nlf-reveal,\n    .nlf-js .nlf-reveal.nlf-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Pink","offer_id":52234772414680,"sku":null,"price":329.0,"currency_code":"ZAR","in_stock":true},{"title":"Black","offer_id":52234772447448,"sku":null,"price":329.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-20at11.40.51.jpg?v=1786655951"},{"product_id":"novea™-bond-hold-nail-glue-gel","title":"NOVÉA™ Bond \u0026 Hold Nail Glue Gel","description":"\u003c!--\n  NOVÉA™ Bond \u0026 Hold Nail Glue Gel\n  Premium Shopify Custom Liquid Product Section\n--\u003e\n\u003cdiv id=\"novea-bond-hold\" class=\"nbh\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nbh-hero\"\u003e\n\u003cdiv class=\"nbh-grid-pattern\"\u003e\u003c\/div\u003e\n\u003cspan class=\"nbh-orb nbh-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-orb nbh-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nbh-container nbh-hero__layout\"\u003e\n\u003cdiv class=\"nbh-hero__copy nbh-reveal\"\u003e\n\u003cspan class=\"nbh-badge\"\u003eNOVÉA™ NAIL TECHNOLOGY\u003c\/span\u003e\n\u003ch1\u003eBond \u0026amp; Hold \u003cspan\u003eNail Glue Gel\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"nbh-tagline\"\u003eBond. Shine. Slay.\u003c\/p\u003e\n\u003cp class=\"nbh-description\"\u003eAn innovative solid-state nail glue gel designed to create a controlled, precise bond between natural nails and compatible nail tips—curing under UV or LED light for a strong, seamless finish.\u003c\/p\u003e\n\u003cdiv class=\"nbh-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e10ml\u003c\/strong\u003e \u003cspan\u003eprecision tube\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUV \u0026amp; LED\u003c\/strong\u003e \u003cspan\u003elamp compatible\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSolid-state\u003c\/strong\u003e \u003cspan\u003econtrolled gel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eClear\u003c\/strong\u003e \u003cspan\u003einvisible bond\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-trust\"\u003e\n\u003cspan\u003eNon-drip texture\u003c\/span\u003e \u003cspan\u003eFlexible hold\u003c\/span\u003e \u003cspan\u003ePrecise application\u003c\/span\u003e \u003cspan\u003eSalon-inspired finish\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"nbh-button\" href=\"#nbh-benefits\"\u003e Discover Bond \u0026amp; Hold \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- Abstract animated experience; no product image required --\u003e\n\u003cdiv class=\"nbh-hero__visual nbh-reveal\"\u003e\n\u003cdiv class=\"nbh-visual-halo\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"nbh-bond-scene\"\u003e\n\u003cspan class=\"nbh-light-beam nbh-light-beam--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-light-beam nbh-light-beam--two\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-light-beam nbh-light-beam--three\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-bond-ring nbh-bond-ring--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-bond-ring nbh-bond-ring--two\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-bond-ring nbh-bond-ring--three\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nbh-glass-card\"\u003e\n\u003cspan class=\"nbh-glass-card__shine\"\u003e\u003c\/span\u003e \u003csmall\u003eNOVÉA™ NAIL TECH\u003c\/small\u003e \u003cstrong\u003eBOND\u003cbr\u003e\u0026amp; HOLD\u003c\/strong\u003e \u003cspan\u003eNAIL GLUE GEL\u003c\/span\u003e \u003cem\u003eUV · LED · 10ML\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-bond-core\"\u003e\n\u003cspan class=\"nbh-bond-core__orbit\"\u003e\u003c\/span\u003e \u003cstrong\u003eUV\u003c\/strong\u003e \u003csmall\u003e+ LED\u003c\/small\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nbh-spark nbh-spark--one\"\u003e✦\u003c\/span\u003e \u003cspan class=\"nbh-spark nbh-spark--two\"\u003e✧\u003c\/span\u003e \u003cspan class=\"nbh-spark nbh-spark--three\"\u003e✦\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"nbh-floating-label nbh-floating-label--one\"\u003e Solid-state control \u003c\/span\u003e \u003cspan class=\"nbh-floating-label nbh-floating-label--two\"\u003e Clear, seamless bond \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"nbh-section\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-intro nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003eProfessional-looking adhesion at home\u003c\/span\u003e\n\u003ch2\u003eYour strongest nail looks start with the bond.\u003c\/h2\u003e\n\u003cp\u003ePress-on nails that lift or pop off can interrupt an otherwise flawless set. NOVÉA™ Bond \u0026amp; Hold uses a controlled gel texture that stays where it is placed, helping create an even layer between the prepared natural nail and a compatible nail tip before curing under a suitable UV or LED nail lamp.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-statement nbh-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBond with precision. Cure with confidence. Finish with shine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"nbh-section nbh-section--soft\" id=\"nbh-benefits\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003eA better foundation for every nail set\u003c\/span\u003e\n\u003ch2\u003eWhat you gain\u003c\/h2\u003e\n\u003cp\u003eSelect any benefit to discover how Bond \u0026amp; Hold elevates your at-home nail application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-benefits\"\u003e\n\u003carticle class=\"nbh-benefit is-open nbh-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nbh-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nbh-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eSecure, controlled bond\u003c\/h3\u003e\n\u003cp\u003eThe solid-state gel texture helps hold a compatible nail tip in position during application before the adhesive is fully cured under the appropriate lamp.\u003c\/p\u003e\n\u003cspan class=\"nbh-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nbh-benefit nbh-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nbh-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nbh-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eDurable, chip-resistant wear\u003c\/h3\u003e\n\u003cp\u003eWhen properly applied and fully cured, the flexible gel bond helps keep compatible nail tips secure through normal daily activities.\u003c\/p\u003e\n\u003cspan class=\"nbh-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nbh-benefit nbh-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nbh-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nbh-benefit__icon\"\u003e⌂\u003c\/span\u003e\n\u003ch3\u003eSalon-inspired results at home\u003c\/h3\u003e\n\u003cp\u003eCreate a polished press-on or nail-tip application at home with a professional-looking, clear bond line.\u003c\/p\u003e\n\u003cspan class=\"nbh-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nbh-benefit nbh-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nbh-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nbh-benefit__icon\"\u003eUV\u003c\/span\u003e\n\u003ch3\u003eUV and LED compatible\u003c\/h3\u003e\n\u003cp\u003eDesigned to cure under compatible UV and LED nail lamps when used according to the product and lamp instructions.\u003c\/p\u003e\n\u003cspan class=\"nbh-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nbh-benefit nbh-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nbh-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nbh-benefit__icon\"\u003e◎\u003c\/span\u003e\n\u003ch3\u003eClean, precise application\u003c\/h3\u003e\n\u003cp\u003eThe controlled texture stays where it is applied, helping reduce dripping, stringing and accidental flooding around the cuticle.\u003c\/p\u003e\n\u003cspan class=\"nbh-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nbh-benefit nbh-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nbh-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"nbh-benefit__icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eFlexible hold\u003c\/h3\u003e\n\u003cp\u003eThe cured gel is designed to provide a strong yet flexible layer that moves with the nail rather than feeling excessively rigid.\u003c\/p\u003e\n\u003cspan class=\"nbh-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE BONDING PROCESS --\u003e\n\u003csection class=\"nbh-section nbh-bonding\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-heading--light nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003eControlled gel-bond technology\u003c\/span\u003e\n\u003ch2\u003eExplore the bonding process\u003c\/h2\u003e\n\u003cp\u003eSelect a stage to see how preparation, application and curing work together.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-bonding__layout\"\u003e\n\u003cdiv class=\"nbh-bonding__visual nbh-reveal\"\u003e\n\u003cdiv class=\"nbh-orbit\"\u003e\n\u003cspan class=\"nbh-orbit__ring nbh-orbit__ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-orbit__ring nbh-orbit__ring--inner\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-orbit__particle nbh-orbit__particle--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-orbit__particle nbh-orbit__particle--two\"\u003e\u003c\/span\u003e \u003cspan class=\"nbh-orbit__particle nbh-orbit__particle--three\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nbh-orbit__core\"\u003e\n\u003csmall class=\"nbh-core-label\"\u003eSTAGE 01\u003c\/small\u003e \u003cstrong class=\"nbh-core-word\"\u003ePREP\u003c\/strong\u003e \u003cspan class=\"nbh-core-detail\"\u003eClean surface\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-selected-stage\"\u003e\n\u003cspan class=\"nbh-selected-stage__number\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"nbh-selected-stage__content\"\u003e\n\u003cstrong class=\"nbh-selected-stage__title\"\u003e Prepare the Nail \u003c\/strong\u003e\n\u003cp class=\"nbh-selected-stage__copy\"\u003eClean, gently buff and dehydrate the natural nail according to the product instructions to create a suitable bonding surface.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-stages\"\u003e\n\u003cbutton class=\"nbh-stage is-active nbh-reveal\" type=\"button\"\u003e \u003cspan class=\"nbh-stage__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nbh-stage__content\"\u003e \u003cstrong\u003ePrepare\u003c\/strong\u003e \u003cspan\u003e Remove oils, push back cuticles and lightly buff the nail surface. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nbh-stage nbh-reveal\" type=\"button\"\u003e \u003cspan class=\"nbh-stage__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nbh-stage__content\"\u003e \u003cstrong\u003eApply\u003c\/strong\u003e \u003cspan\u003e Use a controlled amount and keep uncured gel away from skin and cuticles. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nbh-stage nbh-reveal\" type=\"button\"\u003e \u003cspan class=\"nbh-stage__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nbh-stage__content\"\u003e \u003cstrong\u003ePosition\u003c\/strong\u003e \u003cspan\u003e Press firmly and evenly while preventing gel from reaching the surrounding skin. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nbh-stage nbh-reveal\" type=\"button\"\u003e \u003cspan class=\"nbh-stage__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nbh-stage__content\"\u003e \u003cstrong\u003eCure\u003c\/strong\u003e \u003cspan\u003e Use a compatible lamp and follow the specified curing time exactly. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nbh-stage nbh-reveal\" type=\"button\"\u003e \u003cspan class=\"nbh-stage__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nbh-stage__content\"\u003e \u003cstrong\u003eFinish\u003c\/strong\u003e \u003cspan\u003e Shape, refine and finish the fully cured nail set with your preferred top coat. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003csection class=\"nbh-section\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003eNext-generation gel control\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003eA precise application layer transforms into a durable bond when correctly cured under a compatible nail lamp.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-process\"\u003e\n\u003carticle class=\"nbh-process__item nbh-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eControlled gel texture\u003c\/h3\u003e\n\u003cp\u003eUnlike runny liquid glue, the thicker solid-state texture remains where it is placed for more controlled application.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-process__item nbh-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eEven bond layer\u003c\/h3\u003e\n\u003cp\u003eFirm, careful pressure spreads the gel between the prepared nail and compatible tip to help reduce gaps and bubbles.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-process__item nbh-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eLight-activated curing\u003c\/h3\u003e\n\u003cp\u003eExposure to the correct UV or LED nail lamp activates the light-curable formula according to its specified curing process.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-process__item nbh-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eClear, flexible finish\u003c\/h3\u003e\n\u003cp\u003eOnce fully cured, the gel creates a transparent bond designed to hold securely while maintaining a degree of flexibility.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-feature-strip nbh-reveal\"\u003e\n\u003cspan\u003e✓ Controlled texture\u003c\/span\u003e \u003cspan\u003e✓ Clear bond line\u003c\/span\u003e \u003cspan\u003e✓ UV compatible\u003c\/span\u003e \u003cspan\u003e✓ LED compatible\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- DESIGNED FOR --\u003e\n\u003csection class=\"nbh-section nbh-section--soft\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003eVersatile nail application\u003c\/span\u003e\n\u003ch2\u003eDesigned for your nail ritual\u003c\/h2\u003e\n\u003cp\u003eUse Bond \u0026amp; Hold only with compatible nail tips and systems that allow the curing light to reach the adhesive layer.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-use-cases\"\u003e\n\u003carticle class=\"nbh-use-case nbh-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eClear press-on nails\u003c\/h3\u003e\n\u003cp\u003eCreate a controlled bond beneath compatible transparent press-on nails that allow sufficient curing light to pass through.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-use-case nbh-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eClear full-cover tips\u003c\/h3\u003e\n\u003cp\u003eSecure compatible clear full-cover nail tips as part of an appropriately prepared and fully cured application system.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-use-case nbh-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eCompatible extensions\u003c\/h3\u003e\n\u003cp\u003eUse with suitable transparent extension systems when confirmed by the gel, tip and lamp manufacturers.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-use-case nbh-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eAt-home nail sets\u003c\/h3\u003e\n\u003cp\u003eAchieve a polished, salon-inspired appearance from home when all preparation, application and safety instructions are followed.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"nbh-section\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003ePrecision in every application\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-specifications\"\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFormula\u003c\/strong\u003e\n\u003cp\u003eInnovative solid-state gel texture designed for controlled, non-drip application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCuring\u003c\/strong\u003e\n\u003cp\u003eCompatible with suitable UV and LED nail lamps, subject to the supplied product and lamp instructions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eVolume\u003c\/strong\u003e\n\u003cp\u003e10ml \/ 0.34 fl. oz. precision tube.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBond\u003c\/strong\u003e\n\u003cp\u003eStrong, durable and flexible hold when correctly applied and fully cured.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\n\u003cp\u003eClear bond line for a seamless, natural-looking result.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCompatibility\u003c\/strong\u003e\n\u003cp\u003eIntended for compatible transparent press-on nails, nail tips and nail-extension systems.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eTube design\u003c\/strong\u003e\n\u003cp\u003eMatte-black precision tube with signature NOVÉA™ rose-gold branding.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003eMatte-black NOVÉA™ gift box with rose-gold foil branding and South African flag detailing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-specification nbh-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProudly South African\u003c\/strong\u003e\n\u003cp\u003ePremium nail technology created for your at-home beauty ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"nbh-section nbh-section--soft\" id=\"nbh-how-to-use\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003eYour precision bonding ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eFollow the product’s supplied instructions and these general application steps.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"nbh-use-list\"\u003e\n\u003cli class=\"nbh-use-item nbh-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePrepare the natural nails\u003c\/strong\u003e\n\u003cp\u003eClean and gently buff the nails, push back the cuticles and remove dust and surface oils.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nbh-use-item nbh-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSelect each nail tip\u003c\/strong\u003e\n\u003cp\u003eChoose a compatible tip that fits each nail from sidewall to sidewall without pressure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nbh-use-item nbh-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApply a thin layer\u003c\/strong\u003e\n\u003cp\u003eApply a controlled, even amount to the natural nail or underside of the tip as directed. Avoid all skin contact.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nbh-use-item nbh-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePosition carefully\u003c\/strong\u003e\n\u003cp\u003ePlace the tip at the correct angle, press it into position and remove any excess gel from the surrounding area before curing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nbh-use-item nbh-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eHold securely\u003c\/strong\u003e\n\u003cp\u003eKeep the nail tip firmly and evenly positioned without allowing uncured gel to touch the skin or cuticle.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nbh-use-item nbh-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCure completely\u003c\/strong\u003e\n\u003cp\u003eCure with the compatible lamp and exact exposure time specified by the gel and lamp manufacturers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nbh-use-item nbh-use-item--featured nbh-reveal\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eShape and finish\u003c\/strong\u003e\n\u003cp\u003eOnce the gel is fully cured, shape the nail and apply compatible colour or top-coat products as desired.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"nbh-safety-note nbh-reveal\"\u003e\n\u003cspan class=\"nbh-safety-note__icon\"\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eImportant gel safety\u003c\/strong\u003e\n\u003cp\u003eKeep uncured gel completely off the skin, cuticles and surrounding tissue. Remove accidental skin contact before curing. Do not use on damaged, inflamed or infected nails. Incomplete curing or repeated skin exposure may increase the risk of irritation or acrylate allergy. Stop use and seek medical advice if swelling, itching, blistering or persistent irritation occurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"nbh-section nbh-included-section\"\u003e\n\u003cdiv class=\"nbh-container\"\u003e\n\u003cdiv class=\"nbh-heading nbh-reveal\"\u003e\n\u003cspan class=\"nbh-eyebrow\"\u003ePremium nail essentials\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nbh-included\"\u003e\n\u003carticle class=\"nbh-included__item nbh-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eInside your order\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ Bond \u0026amp; Hold Nail Glue Gel — 10ml\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nbh-included__item nbh-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePremium presentation\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cp class=\"nbh-lamp-note nbh-reveal\"\u003eUV\/LED nail lamp, nail tips, preparation products and finishing products are not included unless explicitly stated in your product offer.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"nbh-cta\"\u003e\u003cspan class=\"nbh-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nbh-container nbh-cta__inner nbh-reveal\"\u003e\n\u003cspan class=\"nbh-badge nbh-badge--dark\"\u003e NOVÉA™ BOND \u0026amp; HOLD \u003c\/span\u003e\n\u003ch2\u003eBuild every flawless set on a bond you can trust.\u003c\/h2\u003e\n\u003cp\u003eBond. Shine. Slay.\u003c\/p\u003e\n\u003ca class=\"nbh-button nbh-button--light\" href=\"#nbh-how-to-use\"\u003e Explore the ritual \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"nbh-disclaimer\"\u003eFor cosmetic nail use only. Keep out of reach of children. Avoid skin and eye contact. Do not cure gel that is touching the skin. Use only with a compatible UV\/LED nail lamp and follow all product, lamp and nail-tip instructions. Results and wear time vary according to preparation, application, compatibility and daily activity. Verify all ingredient, performance, origin, packaging and compatibility claims against your supplier documentation and applicable regulations before publication.\u003cscript\u003e\n  (function () {\n    function initialiseBondHold(root) {\n      if (!root || root.getAttribute(\"data-nbh-ready\") === \"true\") {\n        return;\n      }\n\n      root.setAttribute(\"data-nbh-ready\", \"true\");\n      root.classList.add(\"nbh-js\");\n\n      \/* Scroll reveal animations *\/\n      var revealItems = root.querySelectorAll(\".nbh-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        var revealObserver = new IntersectionObserver(\n          function (entries) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) {\n                return;\n              }\n\n              entry.target.classList.add(\"nbh-visible\");\n              revealObserver.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.08,\n            rootMargin: \"0px 0px -18px 0px\"\n          }\n        );\n\n        revealItems.forEach(function (item, index) {\n          item.style.transitionDelay = ((index % 4) * 55) + \"ms\";\n          revealObserver.observe(item);\n        });\n\n        \/*\n          Shopify safety fallback:\n          ensures a theme conflict never leaves content hidden.\n        *\/\n        window.setTimeout(function () {\n          revealItems.forEach(function (item) {\n            item.classList.add(\"nbh-visible\");\n          });\n        }, 1800);\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"nbh-visible\");\n        });\n      }\n\n      \/* Expandable benefit cards *\/\n      var benefitCards = root.querySelectorAll(\".nbh-benefit\");\n\n      function toggleBenefit(card) {\n        var isOpen = card.classList.toggle(\"is-open\");\n\n        card.setAttribute(\n          \"aria-expanded\",\n          isOpen ? \"true\" : \"false\"\n        );\n      }\n\n      benefitCards.forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          toggleBenefit(card);\n        });\n\n        card.addEventListener(\"keydown\", function (event) {\n          if (event.key !== \"Enter\" \u0026\u0026 event.key !== \" \") {\n            return;\n          }\n\n          event.preventDefault();\n          toggleBenefit(card);\n        });\n      });\n\n      \/* Interactive bonding stages *\/\n      var stageButtons = root.querySelectorAll(\".nbh-stage\");\n      var orbit = root.querySelector(\".nbh-orbit\");\n      var coreLabel = root.querySelector(\".nbh-core-label\");\n      var coreWord = root.querySelector(\".nbh-core-word\");\n      var coreDetail = root.querySelector(\".nbh-core-detail\");\n\n      var stageNumber = root.querySelector(\n        \".nbh-selected-stage__number\"\n      );\n\n      var stageTitle = root.querySelector(\n        \".nbh-selected-stage__title\"\n      );\n\n      var stageCopy = root.querySelector(\n        \".nbh-selected-stage__copy\"\n      );\n\n      function updateStage(button) {\n        if (!button) {\n          return;\n        }\n\n        var number =\n          button.getAttribute(\"data-number\") || \"01\";\n\n        var label =\n          button.getAttribute(\"data-label\") || \"STAGE 01\";\n\n        var word =\n          button.getAttribute(\"data-word\") || \"PREP\";\n\n        var detail =\n          button.getAttribute(\"data-detail\") || \"Clean surface\";\n\n        var title =\n          button.getAttribute(\"data-title\") ||\n          \"Prepare the Nail\";\n\n        var copy =\n          button.getAttribute(\"data-copy\") || \"\";\n\n        var colour =\n          button.getAttribute(\"data-colour\") || \"#e8a7b1\";\n\n        var glow =\n          button.getAttribute(\"data-glow\") ||\n          \"rgba(232,167,177,.52)\";\n\n        stageButtons.forEach(function (item) {\n          var selected = item === button;\n\n          item.classList.toggle(\"is-active\", selected);\n\n          item.setAttribute(\n            \"aria-pressed\",\n            selected ? \"true\" : \"false\"\n          );\n        });\n\n        if (orbit) {\n          orbit.style.setProperty(\"--stage-colour\", colour);\n          orbit.style.setProperty(\"--stage-glow\", glow);\n        }\n\n        if (coreLabel) {\n          coreLabel.textContent = label;\n        }\n\n        if (coreWord) {\n          coreWord.textContent = word;\n        }\n\n        if (coreDetail) {\n          coreDetail.textContent = detail;\n        }\n\n        if (stageNumber) {\n          stageNumber.textContent = number;\n        }\n\n        if (stageTitle) {\n          stageTitle.textContent = title;\n        }\n\n        if (stageCopy) {\n          stageCopy.textContent = copy;\n        }\n      }\n\n      stageButtons.forEach(function (button) {\n        button.addEventListener(\"click\", function (event) {\n          event.preventDefault();\n          event.stopPropagation();\n          updateStage(button);\n        });\n      });\n\n      var initialStage =\n        root.querySelector(\".nbh-stage.is-active\") ||\n        stageButtons[0];\n\n      if (initialStage) {\n        updateStage(initialStage);\n      }\n\n      \/* Optional desktop parallax *\/\n      var heroVisual = root.querySelector(\".nbh-hero__visual\");\n      var bondScene = root.querySelector(\".nbh-bond-scene\");\n\n      var reducedMotion =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\n          \"(prefers-reduced-motion: reduce)\"\n        ).matches;\n\n      var finePointer =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\"(pointer: fine)\").matches;\n\n      if (\n        heroVisual \u0026\u0026\n        bondScene \u0026\u0026\n        !reducedMotion \u0026\u0026\n        finePointer\n      ) {\n        heroVisual.addEventListener(\n          \"mousemove\",\n          function (event) {\n            var rectangle =\n              heroVisual.getBoundingClientRect();\n\n            var x =\n              (event.clientX - rectangle.left) \/\n                rectangle.width -\n              0.5;\n\n            var y =\n              (event.clientY - rectangle.top) \/\n                rectangle.height -\n              0.5;\n\n            bondScene.style.transform =\n              \"rotateY(\" +\n              x * 5 +\n              \"deg) rotateX(\" +\n              -y * 5 +\n              \"deg) translateY(-3px)\";\n          }\n        );\n\n        heroVisual.addEventListener(\n          \"mouseleave\",\n          function () {\n            bondScene.style.transform =\n              \"rotateY(0deg) rotateX(0deg) translateY(0)\";\n          }\n        );\n      }\n    }\n\n    function initialiseAllBondHoldSections(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-bond-hold\")\n      ) {\n        initialiseBondHold(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-bond-hold\")\n          .forEach(function (root) {\n            initialiseBondHold(root);\n          });\n      }\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAllBondHoldSections(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAllBondHoldSections(document);\n    }\n\n    \/* Shopify Theme Editor support *\/\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(\"#novea-bond-hold\")\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root = event.target.querySelector(\n            \"#novea-bond-hold\"\n          );\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-nbh-ready\");\n        root.classList.remove(\"nbh-js\");\n\n        initialiseBondHold(root);\n      }\n    );\n  })();\n\u003c\/script\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-bond-hold {\n    --nbh-ink: #151418;\n    --nbh-charcoal: #232126;\n    --nbh-text: #423d43;\n    --nbh-muted: #756e76;\n    --nbh-rose: #b76e79;\n    --nbh-rose-dark: #8f4e5a;\n    --nbh-rose-mid: #d794a0;\n    --nbh-rose-light: #edc8ce;\n    --nbh-blush: #f9e7ea;\n    --nbh-violet: #8773c7;\n    --nbh-border: rgba(23, 21, 24, 0.11);\n    --nbh-shadow: 0 16px 44px rgba(35, 24, 31, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--nbh-text);\n    background: #ffffff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-bond-hold *,\n  #novea-bond-hold *::before,\n  #novea-bond-hold *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-bond-hold h1,\n  #novea-bond-hold h2,\n  #novea-bond-hold h3,\n  #novea-bond-hold p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-bond-hold button,\n  #novea-bond-hold a {\n    font: inherit;\n  }\n\n  .nbh-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .nbh-section {\n    position: relative;\n    padding: 78px 0;\n  }\n\n  .nbh-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 8%,\n        rgba(249, 225, 230, 0.88),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fefcfc, #f7f3f5);\n  }\n\n  .nbh-heading,\n  .nbh-intro {\n    max-width: 790px;\n    margin: 0 auto 42px;\n    text-align: center;\n  }\n\n  .nbh-intro {\n    margin-bottom: 32px;\n  }\n\n  .nbh-heading h2,\n  .nbh-intro h2,\n  .nbh-cta h2 {\n    margin: 8px 0 14px;\n    color: var(--nbh-ink);\n    font-size: clamp(31px, 5vw, 52px);\n    font-weight: 780;\n    line-height: 1.07;\n    letter-spacing: -0.045em;\n  }\n\n  .nbh-heading p,\n  .nbh-intro p {\n    color: var(--nbh-muted);\n    font-size: 16px;\n  }\n\n  .nbh-eyebrow {\n    display: inline-block;\n    color: var(--nbh-rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .nbh-hero {\n    position: relative;\n    padding: 90px 0 78px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 88% 87%,\n        rgba(214, 202, 231, 0.74),\n        transparent 29%\n      ),\n      linear-gradient(145deg, #ffffff, #f8e8eb 52%, #e9e6f0);\n  }\n\n  .nbh-grid-pattern {\n    position: absolute;\n    inset: 0;\n    opacity: 0.2;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.45) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.45) 1px,\n        transparent 1px\n      );\n    background-size: 48px 48px;\n    mask-image: linear-gradient(to bottom, transparent, #000, transparent);\n  }\n\n  .nbh-hero__layout {\n    display: grid;\n    align-items: center;\n    gap: 52px;\n  }\n\n  .nbh-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--nbh-rose-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .nbh-hero h1 {\n    max-width: 720px;\n    margin: 21px 0 17px;\n    color: var(--nbh-ink);\n    font-size: clamp(45px, 7vw, 75px);\n    font-weight: 800;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .nbh-hero h1 span {\n    display: block;\n    margin-top: 9px;\n    color: var(--nbh-rose-dark);\n    font-size: 0.52em;\n    line-height: 1.1;\n    letter-spacing: -0.04em;\n  }\n\n  .nbh-tagline {\n    margin-bottom: 15px !important;\n    color: var(--nbh-rose-dark);\n    font-size: clamp(22px, 3vw, 28px);\n    font-weight: 780;\n    line-height: 1.25;\n  }\n\n  .nbh-description {\n    max-width: 650px;\n    color: var(--nbh-muted);\n    font-size: 16px;\n  }\n\n  .nbh-highlights {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    max-width: 650px;\n    margin-top: 27px;\n  }\n\n  .nbh-highlights div {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    min-height: 53px;\n    padding: 12px 14px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.85);\n    box-shadow: 0 7px 20px rgba(35, 24, 31, 0.055);\n  }\n\n  .nbh-highlights strong {\n    color: var(--nbh-rose-dark);\n    font-size: 13px;\n  }\n\n  .nbh-highlights span {\n    color: #625c63;\n    font-size: 12px;\n  }\n\n  .nbh-trust {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 11px 20px;\n    margin-top: 18px;\n  }\n\n  .nbh-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696269;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .nbh-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--nbh-rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .nbh-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 26px;\n    padding: 12px 22px;\n    border: 1px solid var(--nbh-rose);\n    border-radius: 999px;\n    color: #ffffff;\n    background: linear-gradient(\n      135deg,\n      var(--nbh-rose-dark),\n      var(--nbh-rose)\n    );\n    box-shadow: 0 13px 29px rgba(183, 110, 121, 0.27);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .nbh-button:hover,\n  .nbh-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 36px rgba(183, 110, 121, 0.35);\n    transform: translateY(-3px);\n  }\n\n  \/* Hero abstract experience *\/\n  .nbh-hero__visual {\n    position: relative;\n    display: grid;\n    min-height: 480px;\n    place-items: center;\n    perspective: 1000px;\n  }\n\n  .nbh-visual-halo {\n    position: absolute;\n    width: min(410px, 88%);\n    aspect-ratio: 1;\n    border-radius: 50%;\n    background: conic-gradient(\n      #efbec6,\n      #ffffff,\n      #aa9ad6,\n      #d795a2,\n      #efbec6\n    );\n    filter: blur(53px);\n    opacity: 0.35;\n    animation: nbh-spin 14s linear infinite;\n  }\n\n  .nbh-bond-scene {\n    position: relative;\n    z-index: 2;\n    width: min(400px, 90vw);\n    height: 430px;\n    transition: transform 0.3s ease;\n  }\n\n  .nbh-glass-card {\n    position: absolute;\n    top: 48%;\n    left: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    width: 226px;\n    height: 294px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.74);\n    border-radius: 32px;\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 25% 15%,\n        rgba(255, 255, 255, 0.13),\n        transparent 25%\n      ),\n      linear-gradient(145deg, #302d34, #111014);\n    box-shadow:\n      inset 12px 12px 24px rgba(255, 255, 255, 0.07),\n      inset -12px -12px 25px rgba(0, 0, 0, 0.25),\n      0 30px 58px rgba(30, 24, 30, 0.27);\n    text-align: center;\n    transform: translate(-50%, -50%) rotate(2deg);\n  }\n\n  .nbh-glass-card::before {\n    position: absolute;\n    inset: 12px;\n    border: 1px solid rgba(238, 189, 199, 0.15);\n    border-radius: 24px;\n    content: \"\";\n  }\n\n  .nbh-glass-card__shine {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: -55%;\n    width: 42%;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      rgba(255, 255, 255, 0.17),\n      transparent\n    );\n    transform: skewX(-17deg);\n    animation: nbh-shine 4.5s ease-in-out infinite;\n  }\n\n  .nbh-glass-card small,\n  .nbh-glass-card strong,\n  .nbh-glass-card \u003e span:not(.nbh-glass-card__shine),\n  .nbh-glass-card em {\n    position: relative;\n    z-index: 2;\n    display: block;\n  }\n\n  .nbh-glass-card small {\n    margin-bottom: 15px;\n    color: #ded7e3;\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.2em;\n  }\n\n  .nbh-glass-card strong {\n    font-size: 43px;\n    line-height: 0.87;\n    letter-spacing: -0.055em;\n  }\n\n  .nbh-glass-card \u003e span:not(.nbh-glass-card__shine) {\n    margin-top: 16px;\n    color: #e7aeb8;\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.18em;\n  }\n\n  .nbh-glass-card em {\n    margin-top: 25px;\n    color: rgba(255, 255, 255, 0.51);\n    font-size: 7px;\n    font-style: normal;\n    font-weight: 800;\n    letter-spacing: 0.16em;\n  }\n\n  .nbh-bond-core {\n    position: absolute;\n    z-index: 7;\n    right: 1px;\n    bottom: 35px;\n    display: grid;\n    width: 106px;\n    height: 106px;\n    border: 1px solid rgba(255, 255, 255, 0.67);\n    border-radius: 50%;\n    color: var(--nbh-ink);\n    background: rgba(255, 255, 255, 0.88);\n    box-shadow:\n      0 15px 35px rgba(35, 24, 31, 0.18),\n      inset 0 0 24px rgba(135, 115, 199, 0.14);\n    place-content: center;\n    text-align: center;\n    backdrop-filter: blur(10px);\n  }\n\n  .nbh-bond-core__orbit {\n    position: absolute;\n    inset: 8px;\n    border: 1px dashed rgba(135, 115, 199, 0.48);\n    border-radius: 50%;\n    animation: nbh-spin 8s linear infinite;\n  }\n\n  .nbh-bond-core strong {\n    position: relative;\n    z-index: 2;\n    font-size: 28px;\n    line-height: 1;\n  }\n\n  .nbh-bond-core small {\n    position: relative;\n    z-index: 2;\n    margin-top: 4px;\n    color: var(--nbh-rose-dark);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.12em;\n  }\n\n  .nbh-light-beam {\n    position: absolute;\n    z-index: 3;\n    top: -8px;\n    width: 68px;\n    height: 280px;\n    background: linear-gradient(\n      to bottom,\n      rgba(157, 130, 237, 0.48),\n      rgba(183, 110, 121, 0.12),\n      transparent\n    );\n    filter: blur(8px);\n    opacity: 0.42;\n    clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%);\n    transform-origin: top;\n    animation: nbh-beam 3.8s ease-in-out infinite;\n  }\n\n  .nbh-light-beam--one {\n    left: 63px;\n    transform: rotate(-15deg);\n  }\n\n  .nbh-light-beam--two {\n    left: 166px;\n    animation-delay: -1.2s;\n  }\n\n  .nbh-light-beam--three {\n    right: 53px;\n    animation-delay: -2.4s;\n    transform: rotate(15deg);\n  }\n\n  .nbh-bond-ring {\n    position: absolute;\n    z-index: 4;\n    border: 1px solid rgba(255, 255, 255, 0.68);\n    border-radius: 50%;\n    animation: nbh-ring-pulse 3s ease-out infinite;\n  }\n\n  .nbh-bond-ring--one {\n    top: 36px;\n    left: 28px;\n    width: 61px;\n    height: 61px;\n  }\n\n  .nbh-bond-ring--two {\n    top: 109px;\n    right: 7px;\n    width: 38px;\n    height: 38px;\n    animation-delay: -1s;\n  }\n\n  .nbh-bond-ring--three {\n    bottom: 31px;\n    left: 55px;\n    width: 47px;\n    height: 47px;\n    animation-delay: -2s;\n  }\n\n  .nbh-spark {\n    position: absolute;\n    z-index: 8;\n    color: #ffffff;\n    text-shadow: 0 0 13px rgba(143, 111, 222, 0.75);\n    animation: nbh-sparkle 2.5s ease-in-out infinite;\n  }\n\n  .nbh-spark--one {\n    top: 52px;\n    right: 67px;\n    font-size: 21px;\n  }\n\n  .nbh-spark--two {\n    bottom: 66px;\n    left: 56px;\n    font-size: 25px;\n    animation-delay: -0.8s;\n  }\n\n  .nbh-spark--three {\n    top: 211px;\n    left: 27px;\n    font-size: 15px;\n    animation-delay: -1.6s;\n  }\n\n  .nbh-floating-label {\n    position: absolute;\n    z-index: 9;\n    padding: 10px 15px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 999px;\n    color: #5e565e;\n    background: rgba(255, 255, 255, 0.9);\n    box-shadow: var(--nbh-shadow);\n    font-size: 10px;\n    font-weight: 800;\n    backdrop-filter: blur(9px);\n    animation: nbh-label-float 4s ease-in-out infinite;\n  }\n\n  .nbh-floating-label--one {\n    top: 12%;\n    left: -1%;\n  }\n\n  .nbh-floating-label--two {\n    right: -2%;\n    bottom: 13%;\n    animation-delay: -2s;\n  }\n\n  .nbh-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: nbh-orb-float 7s ease-in-out infinite;\n  }\n\n  .nbh-orb--one {\n    top: 8%;\n    left: 2%;\n    width: 145px;\n    height: 145px;\n    background: rgba(225, 142, 156, 0.13);\n  }\n\n  .nbh-orb--two {\n    right: 2%;\n    bottom: 7%;\n    width: 190px;\n    height: 190px;\n    background: rgba(135, 115, 199, 0.11);\n    animation-delay: -3s;\n  }\n\n  \/* Statement *\/\n  .nbh-statement {\n    position: relative;\n    max-width: 700px;\n    margin: 0 auto;\n    padding: 28px 30px;\n    overflow: hidden;\n    border: 1px solid var(--nbh-border);\n    border-radius: 20px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.48),\n        transparent 48%\n      ),\n      #ffffff;\n    box-shadow: var(--nbh-shadow);\n    text-align: center;\n  }\n\n  .nbh-statement \u003e span {\n    position: absolute;\n    top: -15px;\n    left: 18px;\n    color: rgba(183, 110, 121, 0.16);\n    font-family: Georgia, serif;\n    font-size: 100px;\n    line-height: 1;\n  }\n\n  .nbh-statement p {\n    position: relative;\n    color: var(--nbh-ink);\n    font-size: clamp(18px, 3vw, 24px);\n    font-weight: 750;\n    line-height: 1.35;\n  }\n\n  \/* Benefits *\/\n  .nbh-benefits {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 15px;\n  }\n\n  .nbh-benefit {\n    position: relative;\n    min-height: 180px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--nbh-border);\n    border-radius: 20px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .nbh-benefit:hover,\n  .nbh-benefit:focus-visible,\n  .nbh-benefit.is-open {\n    border-color: rgba(183, 110, 121, 0.45);\n    outline: none;\n    box-shadow: 0 22px 52px rgba(35, 24, 31, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .nbh-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(183, 110, 121, 0.7);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .nbh-benefit__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--nbh-rose-dark);\n    background: linear-gradient(180deg, #ffffff, var(--nbh-blush));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    font-size: 11px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nbh-benefit h3 {\n    padding-right: 27px !important;\n    color: var(--nbh-ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .nbh-benefit p {\n    display: block;\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--nbh-muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .nbh-benefit.is-open p {\n    max-height: 240px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  .nbh-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 50%;\n  }\n\n  .nbh-benefit__toggle::before,\n  .nbh-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--nbh-rose);\n    content: \"\";\n    transform: translate(-50%, -50%);\n    transition: transform 0.25s ease;\n  }\n\n  .nbh-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n  }\n\n  .nbh-benefit.is-open .nbh-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* Interactive bonding section *\/\n  .nbh-bonding {\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 9% 10%,\n        rgba(183, 110, 121, 0.25),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 91% 90%,\n        rgba(135, 115, 199, 0.2),\n        transparent 30%\n      ),\n      var(--nbh-ink);\n  }\n\n  .nbh-heading--light h2 {\n    color: #ffffff;\n  }\n\n  .nbh-heading--light p {\n    color: rgba(255, 255, 255, 0.63);\n  }\n\n  .nbh-bonding__layout {\n    display: grid;\n    align-items: center;\n    gap: 45px;\n  }\n\n  .nbh-bonding__visual {\n    text-align: center;\n  }\n\n  .nbh-orbit {\n    --stage-colour: #e8a7b1;\n    --stage-glow: rgba(232, 167, 177, 0.52);\n\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 25px;\n    place-items: center;\n  }\n\n  .nbh-orbit::before {\n    position: absolute;\n    width: 62%;\n    height: 62%;\n    border-radius: 50%;\n    background: var(--stage-glow);\n    filter: blur(50px);\n    opacity: 0.56;\n    content: \"\";\n    transition: background 0.45s ease;\n  }\n\n  .nbh-orbit__ring {\n    position: absolute;\n    border: 1px solid var(--stage-colour);\n    border-radius: 50%;\n    transition: border-color 0.45s ease;\n  }\n\n  .nbh-orbit__ring--outer {\n    width: 94%;\n    height: 94%;\n    animation: nbh-pulse 3s ease-in-out infinite;\n  }\n\n  .nbh-orbit__ring--inner {\n    width: 72%;\n    height: 72%;\n    animation: nbh-pulse 3s 1s ease-in-out infinite;\n  }\n\n  .nbh-orbit__particle {\n    position: absolute;\n    z-index: 2;\n    width: 11px;\n    height: 11px;\n    border-radius: 50%;\n    background: var(--stage-colour);\n    box-shadow: 0 0 17px var(--stage-glow);\n    transition:\n      background 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .nbh-orbit__particle--one {\n    top: 15%;\n    left: 49%;\n    animation: nbh-particle-one 7s linear infinite;\n  }\n\n  .nbh-orbit__particle--two {\n    right: 13%;\n    bottom: 27%;\n    animation: nbh-particle-two 8s linear infinite;\n  }\n\n  .nbh-orbit__particle--three {\n    bottom: 21%;\n    left: 17%;\n    animation: nbh-particle-three 9s linear infinite;\n  }\n\n  .nbh-orbit__core {\n    position: relative;\n    z-index: 4;\n    display: grid;\n    width: 53%;\n    aspect-ratio: 1;\n    border: 2px solid var(--stage-colour);\n    border-radius: 50%;\n    background:\n      radial-gradient(\n        circle at 35% 25%,\n        rgba(255, 255, 255, 0.12),\n        transparent 24%\n      ),\n      #232126;\n    box-shadow:\n      inset 0 0 35px var(--stage-glow),\n      0 0 42px var(--stage-glow);\n    place-content: center;\n    text-align: center;\n    transition:\n      border-color 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .nbh-orbit__core small {\n    color: rgba(255, 255, 255, 0.49);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.16em;\n  }\n\n  .nbh-orbit__core strong {\n    display: block;\n    margin: 5px 0;\n    color: #ffffff;\n    font-size: clamp(21px, 5vw, 30px);\n    line-height: 1;\n    letter-spacing: -0.04em;\n  }\n\n  .nbh-orbit__core span {\n    color: #f0bcc5;\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n  }\n\n  .nbh-selected-stage {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    width: min(100%, 470px);\n    min-height: 132px;\n    margin: 0 auto;\n    padding: 18px;\n    border: 1px solid rgba(255, 255, 255, 0.12);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.065);\n    text-align: left;\n    backdrop-filter: blur(8px);\n  }\n\n  .nbh-selected-stage__number {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: #ffffff;\n    background: linear-gradient(\n      145deg,\n      var(--nbh-rose-mid),\n      var(--nbh-rose)\n    );\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nbh-selected-stage__content {\n    min-width: 0;\n  }\n\n  .nbh-selected-stage strong {\n    display: block;\n    margin-bottom: 5px;\n    color: #ffffff;\n    font-size: 16px;\n  }\n\n  .nbh-selected-stage p {\n    display: block !important;\n    visibility: visible !important;\n    max-height: none !important;\n    overflow: visible !important;\n    color: rgba(255, 255, 255, 0.63);\n    font-size: 13px;\n    opacity: 1 !important;\n  }\n\n  \/*\n    Strongly scoped button styles prevent Shopify themes from\n    pushing the interactive text outside the cards.\n  *\/\n  #novea-bond-hold .nbh-stages {\n    display: grid !important;\n    grid-template-columns: minmax(0, 1fr) !important;\n    gap: 12px !important;\n    width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  #novea-bond-hold button.nbh-stage {\n    position: relative !important;\n    display: grid !important;\n    grid-template-columns: 42px minmax(0, 1fr) !important;\n    align-items: start !important;\n    gap: 15px !important;\n\n    width: 100% !important;\n    min-width: 0 !important;\n    max-width: 100% !important;\n    height: auto !important;\n    min-height: 108px !important;\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: hidden !important;\n\n    border: 1px solid rgba(255, 255, 255, 0.11) !important;\n    border-radius: 18px !important;\n    outline: none !important;\n    color: #ffffff !important;\n    background: rgba(255, 255, 255, 0.055) !important;\n    box-shadow: none !important;\n\n    text-align: left !important;\n    text-decoration: none !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    line-height: 1.5 !important;\n    white-space: normal !important;\n\n    cursor: pointer !important;\n    appearance: none !important;\n    -webkit-appearance: none !important;\n\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      background 0.25s ease !important;\n  }\n\n  #novea-bond-hold button.nbh-stage::before,\n  #novea-bond-hold button.nbh-stage::after {\n    display: none !important;\n    content: none !important;\n  }\n\n  #novea-bond-hold button.nbh-stage:hover,\n  #novea-bond-hold button.nbh-stage:focus-visible,\n  #novea-bond-hold button.nbh-stage.is-active {\n    border-color: rgba(232, 167, 177, 0.62) !important;\n    outline: none !important;\n    background: rgba(255, 255, 255, 0.11) !important;\n    transform: translateX(5px) !important;\n  }\n\n  #novea-bond-hold .nbh-stage__number {\n    position: static !important;\n    display: grid !important;\n    width: 42px !important;\n    height: 42px !important;\n    min-width: 42px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 1px solid rgba(255, 255, 255, 0.14) !important;\n    border-radius: 50% !important;\n    color: #f4cbd1 !important;\n    background: rgba(255, 255, 255, 0.07) !important;\n    font-size: 10px !important;\n    font-weight: 900 !important;\n    line-height: 1 !important;\n    place-items: center !important;\n  }\n\n  #novea-bond-hold .nbh-stage__content {\n    position: static !important;\n    display: block !important;\n    min-width: 0 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    color: #ffffff !important;\n    background: transparent !important;\n    opacity: 1 !important;\n    transform: none !important;\n  }\n\n  #novea-bond-hold .nbh-stage__content strong {\n    position: static !important;\n    display: block !important;\n    visibility: visible !important;\n    margin: 0 0 4px !important;\n    padding: 0 !important;\n    color: #ffffff !important;\n    background: transparent !important;\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    line-height: 1.35 !important;\n    letter-spacing: normal !important;\n    text-align: left !important;\n    text-transform: none !important;\n    white-space: normal !important;\n    opacity: 1 !important;\n  }\n\n  #novea-bond-hold .nbh-stage__content \u003e span {\n    position: static !important;\n    display: block !important;\n    visibility: visible !important;\n    width: auto !important;\n    max-width: none !important;\n    max-height: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    color: rgba(255, 255, 255, 0.63) !important;\n    background: transparent !important;\n    font-size: 12px !important;\n    font-weight: 400 !important;\n    line-height: 1.55 !important;\n    letter-spacing: normal !important;\n    text-align: left !important;\n    text-transform: none !important;\n    white-space: normal !important;\n    opacity: 1 !important;\n  }\n\n  \/* Process *\/\n  .nbh-process {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .nbh-process__item {\n    min-height: 225px;\n    padding: 23px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 20px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nbh-process__item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .nbh-process__item \u003e span {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    margin-bottom: 30px;\n    border-radius: 50%;\n    color: var(--nbh-ink);\n    background: linear-gradient(180deg, #ffffff, var(--nbh-rose-light));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.18);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nbh-process__item h3 {\n    margin-bottom: 7px !important;\n    color: var(--nbh-ink);\n    font-size: 17px;\n  }\n\n  .nbh-process__item p {\n    color: var(--nbh-muted);\n    font-size: 14px;\n  }\n\n  .nbh-feature-strip {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 9px;\n    margin-top: 23px;\n  }\n\n  .nbh-feature-strip span {\n    padding: 9px 14px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 999px;\n    color: #555057;\n    background: #ffffff;\n    box-shadow: 0 6px 17px rgba(35, 24, 31, 0.05);\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  \/* Use cases *\/\n  .nbh-use-cases {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n  }\n\n  .nbh-use-case {\n    min-height: 205px;\n    padding: 22px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nbh-use-case:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .nbh-use-case \u003e span {\n    display: block;\n    margin-bottom: 27px;\n    color: var(--nbh-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nbh-use-case h3 {\n    margin-bottom: 7px !important;\n    color: var(--nbh-ink);\n    font-size: 16px;\n  }\n\n  .nbh-use-case p {\n    color: var(--nbh-muted);\n    font-size: 13px;\n  }\n\n  \/* Specifications *\/\n  .nbh-specifications {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n  }\n\n  .nbh-specification {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 135px;\n    padding: 20px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nbh-specification:hover {\n    border-color: rgba(183, 110, 121, 0.39);\n    transform: translateY(-4px);\n  }\n\n  .nbh-specification \u003e span {\n    color: var(--nbh-rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nbh-specification strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--nbh-ink);\n    font-size: 14px;\n  }\n\n  .nbh-specification p {\n    color: var(--nbh-muted);\n    font-size: 13px;\n  }\n\n  \/* How to use *\/\n  .nbh-use-list {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 13px;\n    max-width: 1040px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .nbh-use-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    min-height: 135px;\n    padding: 20px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n    transition:\n      transform 0.26s ease,\n      border-color 0.26s ease;\n  }\n\n  .nbh-use-item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-3px);\n  }\n\n  .nbh-use-item \u003e span {\n    display: grid;\n    width: 39px;\n    height: 39px;\n    flex: 0 0 39px;\n    border-radius: 50%;\n    color: var(--nbh-ink);\n    background: linear-gradient(180deg, #ffffff, var(--nbh-rose-light));\n    box-shadow: 0 7px 17px rgba(183, 110, 121, 0.18);\n    font-size: 12px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nbh-use-item strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--nbh-ink);\n    font-size: 15px;\n  }\n\n  .nbh-use-item p {\n    color: var(--nbh-muted);\n    font-size: 13px;\n  }\n\n  .nbh-use-item--featured {\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.45),\n        transparent 45%\n      ),\n      #ffffff;\n  }\n\n  .nbh-safety-note {\n    display: flex;\n    align-items: flex-start;\n    gap: 17px;\n    max-width: 900px;\n    margin: 24px auto 0;\n    padding: 21px;\n    border: 1px solid rgba(183, 110, 121, 0.29);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n  }\n\n  .nbh-safety-note__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: #ffffff;\n    background: linear-gradient(\n      145deg,\n      var(--nbh-rose-dark),\n      var(--nbh-rose)\n    );\n    font-size: 15px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nbh-safety-note strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--nbh-ink);\n    font-size: 14px;\n  }\n\n  .nbh-safety-note p {\n    color: var(--nbh-muted);\n    font-size: 12px;\n  }\n\n  \/* Included *\/\n  .nbh-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(240, 202, 208, 0.58),\n        transparent 29%\n      ),\n      #f8f4f6;\n  }\n\n  .nbh-included {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 14px;\n    max-width: 920px;\n    margin: 0 auto;\n  }\n\n  .nbh-included__item {\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    min-height: 105px;\n    padding: 21px;\n    border: 1px solid var(--nbh-border);\n    border-radius: 19px;\n    background: #ffffff;\n    box-shadow: var(--nbh-shadow);\n  }\n\n  .nbh-included__item \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: var(--nbh-rose-dark);\n    background: var(--nbh-blush);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nbh-included__item small,\n  .nbh-included__item strong {\n    display: block;\n  }\n\n  .nbh-included__item small {\n    margin-bottom: 3px;\n    color: var(--nbh-muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n    text-transform: uppercase;\n  }\n\n  .nbh-included__item strong {\n    color: var(--nbh-ink);\n    font-size: 14px;\n  }\n\n  .nbh-lamp-note {\n    max-width: 780px;\n    margin: 20px auto 0 !important;\n    color: var(--nbh-muted);\n    font-size: 11px;\n    text-align: center;\n  }\n\n  \/* CTA *\/\n  .nbh-cta {\n    position: relative;\n    padding: 95px 0;\n    overflow: hidden;\n    color: #ffffff;\n    background:\n      radial-gradient(\n        circle at 20% 20%,\n        rgba(183, 110, 121, 0.2),\n        transparent 31%\n      ),\n      radial-gradient(\n        circle at 85% 80%,\n        rgba(135, 115, 199, 0.15),\n        transparent 30%\n      ),\n      var(--nbh-ink);\n    text-align: center;\n  }\n\n  .nbh-cta__inner {\n    max-width: 900px;\n  }\n\n  .nbh-cta h2 {\n    margin-top: 20px;\n    color: #ffffff;\n  }\n\n  .nbh-cta p {\n    color: rgba(255, 255, 255, 0.68);\n    font-size: 18px;\n    font-weight: 700;\n  }\n\n  .nbh-badge--dark {\n    color: #f0c8cf;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .nbh-button--light {\n    color: var(--nbh-ink);\n    border-color: #ffffff;\n    background: #ffffff;\n    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);\n  }\n\n  .nbh-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(183, 110, 121, 0.42),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: nbh-cta-glow 4s ease-in-out infinite;\n  }\n\n  .nbh-disclaimer {\n    padding: 17px !important;\n    color: #807981;\n    background: #f3f0f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Content remains visible without JavaScript *\/\n  .nbh-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .nbh-js .nbh-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .nbh-js .nbh-reveal.nbh-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  \/* Animations *\/\n  @keyframes nbh-spin {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n\n  @keyframes nbh-orb-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-18px);\n    }\n  }\n\n  @keyframes nbh-label-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-9px);\n    }\n  }\n\n  @keyframes nbh-beam {\n    0%,\n    100% {\n      opacity: 0.19;\n      scale: 0.94 0.9;\n    }\n\n    50% {\n      opacity: 0.58;\n      scale: 1.08 1;\n    }\n  }\n\n  @keyframes nbh-ring-pulse {\n    0% {\n      opacity: 0;\n      transform: scale(0.65);\n    }\n\n    50% {\n      opacity: 0.78;\n    }\n\n    100% {\n      opacity: 0;\n      transform: scale(1.35);\n    }\n  }\n\n  @keyframes nbh-sparkle {\n    0%,\n    100% {\n      opacity: 0.3;\n      transform: scale(0.75) rotate(0deg);\n    }\n\n    50% {\n      opacity: 1;\n      transform: scale(1.15) rotate(18deg);\n    }\n  }\n\n  @keyframes nbh-shine {\n    0%,\n    25% {\n      left: -55%;\n    }\n\n    70%,\n    100% {\n      left: 120%;\n    }\n  }\n\n  @keyframes nbh-pulse {\n    0%,\n    100% {\n      opacity: 0.17;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.48;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes nbh-particle-one {\n    0%,\n    100% {\n      transform: translate(0, 0);\n    }\n\n    50% {\n      transform: translate(18px, 11px);\n    }\n  }\n\n  @keyframes nbh-particle-two {\n    0%,\n    100% {\n      transform: translate(0, 0);\n    }\n\n    50% {\n      transform: translate(-15px, -18px);\n    }\n  }\n\n  @keyframes nbh-particle-three {\n    0%,\n    100% {\n      transform: translate(0, 0);\n    }\n\n    50% {\n      transform: translate(14px, -13px);\n    }\n  }\n\n  @keyframes nbh-cta-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  \/* Tablet *\/\n  @media (min-width: 680px) {\n    .nbh-benefits,\n    .nbh-specifications,\n    .nbh-use-list {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nbh-process,\n    .nbh-use-cases {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nbh-included {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nbh-use-item--featured {\n      grid-column: 1 \/ -1;\n    }\n  }\n\n  \/* Desktop *\/\n  @media (min-width: 960px) {\n    .nbh-section {\n      padding: 96px 0;\n    }\n\n    .nbh-hero__layout {\n      grid-template-columns: 1.08fr 0.92fr;\n    }\n\n    .nbh-benefits,\n    .nbh-specifications {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nbh-bonding__layout {\n      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n      gap: 65px;\n    }\n\n    .nbh-process,\n    .nbh-use-cases {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n    }\n\n    .nbh-use-list {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .nbh-use-item--featured {\n      grid-column: 2 \/ 3;\n    }\n  }\n\n  \/* Mobile *\/\n  @media (max-width: 679px) {\n    .nbh-hero {\n      padding: 65px 0 58px;\n      text-align: center;\n    }\n\n    .nbh-description {\n      margin-right: auto !important;\n      margin-left: auto !important;\n    }\n\n    .nbh-trust {\n      justify-content: center;\n    }\n\n    .nbh-hero__visual {\n      min-height: 430px;\n    }\n\n    .nbh-bond-scene {\n      left: 50%;\n      width: 400px;\n      margin-left: -200px;\n      transform: scale(0.88);\n    }\n\n    .nbh-floating-label--one {\n      left: 1%;\n    }\n\n    .nbh-floating-label--two {\n      right: 1%;\n    }\n\n    #novea-bond-hold button.nbh-stage:hover,\n    #novea-bond-hold button.nbh-stage:focus-visible,\n    #novea-bond-hold button.nbh-stage.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .nbh-container {\n      width: calc(100% - 22px);\n    }\n\n    .nbh-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    .nbh-bond-scene {\n      transform: scale(0.78);\n    }\n\n    .nbh-hero__visual {\n      min-height: 395px;\n    }\n\n    #novea-bond-hold button.nbh-stage {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      gap: 13px !important;\n      padding: 15px !important;\n    }\n\n    #novea-bond-hold .nbh-stage__number {\n      width: 38px !important;\n      height: 38px !important;\n      min-width: 38px !important;\n    }\n\n    .nbh-safety-note {\n      gap: 13px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-bond-hold *,\n    #novea-bond-hold *::before,\n    #novea-bond-hold *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .nbh-js .nbh-reveal,\n    .nbh-js .nbh-reveal.nbh-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52234793943256,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/Wha_ce931cb9-ed32-4319-8804-0b9bc64354ac.jpg?v=1786657376"},{"product_id":"novea™-pro-portable-razor","title":"NOVÉA™ Pro Portable Razor","description":"\u003cdiv id=\"novea-pro-razor\" class=\"npr\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"npr-hero\"\u003e\n\u003cdiv class=\"npr-grid-pattern\"\u003e\u003c\/div\u003e\n\u003cspan class=\"npr-orb npr-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-orb npr-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-hero__copy npr-reveal\"\u003e\n\u003cspan class=\"npr-badge\"\u003eNOVÉA™ PORTABLE BEAUTY\u003c\/span\u003e\n\u003ch1\u003eNOVÉA™ Pro \u003cspan\u003ePortable Razor\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"npr-tagline\"\u003eSilky Smooth Skin.\u003cbr\u003eAnywhere, Anytime.\u003c\/p\u003e\n\u003cp class=\"npr-description\"\u003eEnjoy a close, comfortable shave wherever life takes you. The compact dual-blade system glides across the skin for quick, convenient touch-ups at home, at the gym or on the go.\u003c\/p\u003e\n\u003cdiv class=\"npr-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDual\u003c\/strong\u003e \u003cspan\u003eprecision blades\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e2\u003c\/strong\u003e \u003cspan\u003ereplacement cartridges\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDry\u003c\/strong\u003e \u003cspan\u003eshaving convenience\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e4\u003c\/strong\u003e \u003cspan\u003epastel colours\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-trust\"\u003e\n\u003cspan\u003eCompact design\u003c\/span\u003e \u003cspan\u003ePivoting head\u003c\/span\u003e \u003cspan\u003eProtective case\u003c\/span\u003e \u003cspan\u003eTravel ready\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"npr-button\" href=\"#npr-colours\"\u003e Explore the colours \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"npr-section\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-intro npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003e Smooth skin without the inconvenience \u003c\/span\u003e\n\u003ch2\u003eYour beauty routine, ready to travel.\u003c\/h2\u003e\n\u003cp\u003eUnwanted hair rarely appears at a convenient moment. NOVÉA™ Pro combines a compact, palm-sized body, flexible blade head and snap-close protective case so you can enjoy quick touch-ups whenever you need them.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-statement npr-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBecause smooth skin should never be inconvenient.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"npr-section npr-section--soft\" id=\"npr-benefits\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003e Effortless beauty, wherever you are \u003c\/span\u003e\n\u003ch2\u003eWhat you gain\u003c\/h2\u003e\n\u003cp\u003eSelect a benefit to discover how NOVÉA™ Pro fits your routine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-benefits\"\u003e\n\u003carticle class=\"npr-benefit is-open npr-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"npr-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"npr-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eSmooth skin on demand\u003c\/h3\u003e\n\u003cp\u003eThe precision dual-blade cartridge helps create a close, clean shave, leaving the skin feeling soft and beautifully smooth.\u003c\/p\u003e\n\u003cspan class=\"npr-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"npr-benefit npr-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"npr-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"npr-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eComfortable shaving\u003c\/h3\u003e\n\u003cp\u003eThe flexible head follows the natural contours of the body to help maintain consistent contact and minimise unnecessary pressure.\u003c\/p\u003e\n\u003cspan class=\"npr-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"npr-benefit npr-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"npr-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"npr-benefit__icon\"\u003e↗\u003c\/span\u003e\n\u003ch3\u003eTravel-ready convenience\u003c\/h3\u003e\n\u003cp\u003eThe compact body and protective case make the razor easy to carry inside a handbag, clutch, toiletry bag or gym kit.\u003c\/p\u003e\n\u003cspan class=\"npr-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"npr-benefit npr-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"npr-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"npr-benefit__icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eFresh blades when needed\u003c\/h3\u003e\n\u003cp\u003eTwo replacement cartridges are included, helping you maintain a fresh and comfortable shaving experience for longer.\u003c\/p\u003e\n\u003cspan class=\"npr-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"npr-benefit npr-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"npr-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"npr-benefit__icon\"\u003e◎\u003c\/span\u003e\n\u003ch3\u003eSimple dry shaving\u003c\/h3\u003e\n\u003cp\u003eDesigned for convenient dry touch-ups without shaving foam, making last-minute grooming quick and uncomplicated.\u003c\/p\u003e\n\u003cspan class=\"npr-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"npr-benefit npr-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"npr-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"npr-benefit__icon\"\u003e♡\u003c\/span\u003e\n\u003ch3\u003eBeautifully designed\u003c\/h3\u003e\n\u003cp\u003eChoose from four soft pastel colours created to complement a refined, modern beauty routine.\u003c\/p\u003e\n\u003cspan class=\"npr-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE COLOURS --\u003e\n\u003csection class=\"npr-section npr-colour-section\" id=\"npr-colours\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-heading--light npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003eYour razor, your colour\u003c\/span\u003e\n\u003ch2\u003eChoose your NOVÉA™ shade\u003c\/h2\u003e\n\u003cp\u003eSelect a colour to personalise the interactive display.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-interactive-layout\"\u003e\n\u003cdiv class=\"npr-preview npr-reveal\"\u003e\n\u003cdiv class=\"npr-colour-orbit\" style=\"--active-colour: #f4f2ee; --active-glow: rgba(244, 242, 238, 0.72);\"\u003e\n\u003cspan class=\"npr-ring npr-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-ring npr-ring--inner\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"npr-colour-core\"\u003e\n\u003csmall\u003eNOVÉA™ PRO\u003c\/small\u003e \u003cstrong class=\"npr-preview-name\"\u003eWHITE\u003c\/strong\u003e \u003cspan\u003ePortable Razor\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-selected-colour\"\u003e\n\u003cspan class=\"npr-selected-colour__swatch\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"npr-selected-colour__content\"\u003e\n\u003cstrong class=\"npr-selected-colour__title\"\u003e Classic White \u003c\/strong\u003e\n\u003cp class=\"npr-selected-colour__copy\"\u003eClean, timeless and effortlessly refined.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-options\" role=\"group\"\u003e\n\u003cbutton class=\"npr-option npr-colour-option is-active npr-reveal\" type=\"button\" style=\"--swatch: #f4f2ee;\"\u003e \u003cspan class=\"npr-option__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eWhite\u003c\/strong\u003e \u003cspan\u003eClean and timeless\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"npr-option npr-colour-option npr-reveal\" type=\"button\" style=\"--swatch: #b9a9dc;\"\u003e \u003cspan class=\"npr-option__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eViolet\u003c\/strong\u003e \u003cspan\u003eGraceful and modern\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"npr-option npr-colour-option npr-reveal\" type=\"button\" style=\"--swatch: #b8d8c1;\"\u003e \u003cspan class=\"npr-option__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eGreen\u003c\/strong\u003e \u003cspan\u003eFresh and calming\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"npr-option npr-colour-option npr-reveal\" type=\"button\" style=\"--swatch: #acd4e8;\"\u003e \u003cspan class=\"npr-option__swatch\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eLight Blue\u003c\/strong\u003e \u003cspan\u003eSoft and refreshing\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SHAVING TECHNOLOGY --\u003e\n\u003csection class=\"npr-section\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003ePrecision in a compact design\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003eSelect each stage to explore the shaving system.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-interactive-layout\"\u003e\n\u003cdiv class=\"npr-preview npr-reveal\"\u003e\n\u003cdiv class=\"npr-tech-orbit\" style=\"--tech-colour: #d99aa5; --tech-glow: rgba(217, 154, 165, 0.55);\"\u003e\n\u003cspan class=\"npr-tech-ring npr-tech-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"npr-tech-ring npr-tech-ring--inner\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"npr-tech-core\"\u003e\n\u003csmall class=\"npr-tech-label\"\u003eSTAGE 01\u003c\/small\u003e \u003cstrong class=\"npr-tech-word\"\u003eGLIDE\u003c\/strong\u003e \u003cspan class=\"npr-tech-detail\"\u003eDual blades\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-selected-tech\"\u003e\n\u003cspan class=\"npr-selected-tech__number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"npr-selected-tech__title\"\u003e Precision Dual Blades \u003c\/strong\u003e\n\u003cp class=\"npr-selected-tech__copy\"\u003eTwo aligned blades help capture and cut hair efficiently with every controlled stroke.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-options\"\u003e\n\u003cbutton class=\"npr-option npr-tech-option is-active npr-reveal\" type=\"button\"\u003e \u003cspan class=\"npr-option__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eCapture\u003c\/strong\u003e \u003cspan\u003eThe dual-blade cartridge creates a close, even shave.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"npr-option npr-tech-option npr-reveal\" type=\"button\"\u003e \u003cspan class=\"npr-option__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eContour\u003c\/strong\u003e \u003cspan\u003eA pivoting mechanism supports consistent contact.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"npr-option npr-tech-option npr-reveal\" type=\"button\"\u003e \u003cspan class=\"npr-option__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eGlide\u003c\/strong\u003e \u003cspan\u003eCoated blades help reduce pulling and friction.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"npr-option npr-tech-option npr-reveal\" type=\"button\"\u003e \u003cspan class=\"npr-option__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"npr-option__content\"\u003e \u003cstrong\u003eStore\u003c\/strong\u003e \u003cspan\u003eThe integrated case protects the cartridge.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- LIFESTYLE --\u003e\n\u003csection class=\"npr-section npr-section--soft\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003eReady whenever life calls\u003c\/span\u003e\n\u003ch2\u003eMade to move with you\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-lifestyles\"\u003e\n\u003carticle class=\"npr-card npr-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eAt home\u003c\/h3\u003e\n\u003cp\u003eKeep it within reach for quick touch-ups before getting dressed or heading out.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-card npr-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eAt the gym\u003c\/h3\u003e\n\u003cp\u003eAdd it to your gym kit for convenient post-workout grooming.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-card npr-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eWhile travelling\u003c\/h3\u003e\n\u003cp\u003eThe compact case slips easily into luggage and toiletry bags.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-card npr-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eBefore an event\u003c\/h3\u003e\n\u003cp\u003eTake care of last-minute areas before a night out or special occasion.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"npr-section\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003eCompact by design\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-specifications\"\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBlade system\u003c\/strong\u003e\n\u003cp\u003ePrecision dual-blade cartridge with smooth-glide coating.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBlade head\u003c\/strong\u003e\n\u003cp\u003eFlexible pivoting head designed to follow body contours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eReplacement cartridges\u003c\/strong\u003e\n\u003cp\u003eTwo replacement blade cartridges included.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProtective case\u003c\/strong\u003e\n\u003cp\u003eBuilt-in snap-close travel case for covered storage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUse\u003c\/strong\u003e\n\u003cp\u003eSuitable for convenient dry touch-ups without shaving foam.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSize\u003c\/strong\u003e\n\u003cp\u003eCompact, palm-sized design for bags, clutches and gym kits.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAvailable colours\u003c\/strong\u003e\n\u003cp\u003eWhite, Violet, Green and Light Blue.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003eMatte-black NOVÉA™ gift box with rose-gold foil branding.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-specification npr-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProudly South African\u003c\/strong\u003e\n\u003cp\u003ePremium portable beauty technology for modern routines.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"npr-section npr-section--soft\" id=\"npr-how-to-use\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003eYour smooth-skin ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eFollow six simple steps for a comfortable, controlled shave.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"npr-use-list\"\u003e\n\u003cli class=\"npr-use-item npr-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRemove\u003c\/strong\u003e\n\u003cp\u003eRemove the razor carefully from its protective travel case.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"npr-use-item npr-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCheck your skin\u003c\/strong\u003e\n\u003cp\u003eAvoid shaving irritated, damaged, inflamed or broken skin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"npr-use-item npr-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eGlide gently\u003c\/strong\u003e\n\u003cp\u003eUse short, light strokes in the direction of hair growth.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"npr-use-item npr-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRinse the cartridge\u003c\/strong\u003e\n\u003cp\u003eCarefully rinse trapped hair from the cartridge.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"npr-use-item npr-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCare for your skin\u003c\/strong\u003e\n\u003cp\u003ePat the area dry and apply a gentle moisturiser.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"npr-use-item npr-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eClean and store\u003c\/strong\u003e\n\u003cp\u003eRinse the blade, allow it to dry and return it to its case.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"npr-care-note npr-reveal\"\u003e\n\u003cspan\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBlade care and safety\u003c\/strong\u003e\n\u003cp\u003eHandle the cartridge carefully. Do not share razors. Keep away from children and replace damaged or dull cartridges.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"npr-section npr-included-section\"\u003e\n\u003cdiv class=\"npr-container\"\u003e\n\u003cdiv class=\"npr-heading npr-reveal\"\u003e\n\u003cspan class=\"npr-eyebrow\"\u003eEverything you need\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"npr-included\"\u003e\n\u003carticle class=\"npr-included__item npr-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eYour selected colour\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ Pro Portable Razor\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-included__item npr-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eFresh shaving\u003c\/small\u003e \u003cstrong\u003eTwo replacement blade cartridges\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-included__item npr-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eTravel protection\u003c\/small\u003e \u003cstrong\u003eBuilt-in protective case\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"npr-included__item npr-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePremium presentation\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"npr-cta\"\u003e\u003cspan class=\"npr-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"npr-container npr-cta__inner npr-reveal\"\u003e\n\u003cspan class=\"npr-badge npr-badge--dark\"\u003e NOVÉA™ PRO PORTABLE RAZOR \u003c\/span\u003e\n\u003ch2\u003eSilky smooth skin. Wherever life takes you.\u003c\/h2\u003e\n\u003cp\u003eCompact. Beautiful. Always ready.\u003c\/p\u003e\n\u003ca class=\"npr-button npr-button--light\" href=\"#npr-colours\"\u003e Choose your colour \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"npr-disclaimer\"\u003eCosmetic shaving tool. Individual comfort and results may vary. Use only as directed. Avoid damaged or irritated skin and discontinue use if persistent irritation occurs. Keep blades away from children.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-pro-razor {\n    --ink: #17161a;\n    --text: #423e45;\n    --muted: #746e77;\n    --rose: #b76e79;\n    --rose-dark: #8f4e5a;\n    --rose-light: #edc8ce;\n    --blush: #fae8eb;\n    --border: rgba(23, 22, 26, 0.11);\n    --shadow: 0 16px 44px rgba(35, 25, 32, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--text);\n    background: #fff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-pro-razor *,\n  #novea-pro-razor *::before,\n  #novea-pro-razor *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-pro-razor h1,\n  #novea-pro-razor h2,\n  #novea-pro-razor h3,\n  #novea-pro-razor p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-pro-razor button,\n  #novea-pro-razor a {\n    font: inherit;\n  }\n\n  .npr-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .npr-section {\n    position: relative;\n    padding: 80px 0;\n  }\n\n  .npr-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 8%,\n        rgba(249, 225, 230, 0.88),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fefcfc, #f6f3f6);\n  }\n\n  .npr-heading,\n  .npr-intro {\n    max-width: 790px;\n    margin: 0 auto 42px;\n    text-align: center;\n  }\n\n  .npr-intro {\n    margin-bottom: 32px;\n  }\n\n  .npr-heading h2,\n  .npr-intro h2,\n  .npr-cta h2 {\n    margin: 8px 0 14px;\n    color: var(--ink);\n    font-size: clamp(31px, 5vw, 52px);\n    font-weight: 780;\n    line-height: 1.07;\n    letter-spacing: -0.045em;\n  }\n\n  .npr-heading p,\n  .npr-intro p {\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .npr-eyebrow {\n    display: inline-block;\n    color: var(--rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .npr-hero {\n    position: relative;\n    padding: 105px 0 100px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 88% 87%,\n        rgba(190, 217, 225, 0.66),\n        transparent 29%\n      ),\n      linear-gradient(145deg, #fff, #f8e8eb 51%, #ece9f5);\n  }\n\n  .npr-grid-pattern {\n    position: absolute;\n    inset: 0;\n    opacity: 0.2;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.5) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.5) 1px,\n        transparent 1px\n      );\n    background-size: 48px 48px;\n  }\n\n  .npr-hero__copy {\n    width: min(100%, 830px);\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .npr-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--rose-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .npr-hero h1 {\n    margin: 22px 0 17px;\n    color: var(--ink);\n    font-size: clamp(49px, 8vw, 82px);\n    font-weight: 800;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .npr-hero h1 span {\n    display: block;\n    margin-top: 10px;\n    color: var(--rose-dark);\n    font-size: 0.52em;\n    line-height: 1.1;\n  }\n\n  .npr-tagline {\n    margin-bottom: 16px !important;\n    color: var(--rose-dark);\n    font-size: clamp(21px, 3vw, 28px);\n    font-weight: 780;\n    line-height: 1.28;\n  }\n\n  .npr-description {\n    max-width: 680px;\n    margin: 0 auto !important;\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .npr-highlights {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 10px;\n    max-width: 800px;\n    margin: 28px auto 0;\n  }\n\n  .npr-highlights div {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 7px;\n    min-height: 58px;\n    padding: 12px;\n    border: 1px solid var(--border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.85);\n    box-shadow: 0 7px 20px rgba(35, 24, 31, 0.055);\n  }\n\n  .npr-highlights strong {\n    color: var(--rose-dark);\n    font-size: 13px;\n  }\n\n  .npr-highlights span {\n    color: #625c63;\n    font-size: 12px;\n  }\n\n  .npr-trust {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 11px 22px;\n    margin-top: 20px;\n  }\n\n  .npr-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696269;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .npr-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .npr-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 27px;\n    padding: 12px 22px;\n    border: 1px solid var(--rose);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(135deg, var(--rose-dark), var(--rose));\n    box-shadow: 0 13px 29px rgba(183, 110, 121, 0.27);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .npr-button:hover,\n  .npr-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 36px rgba(183, 110, 121, 0.35);\n    transform: translateY(-3px);\n  }\n\n  .npr-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: npr-float 7s ease-in-out infinite;\n  }\n\n  .npr-orb--one {\n    top: 8%;\n    left: 3%;\n    width: 150px;\n    height: 150px;\n    background: rgba(225, 142, 156, 0.13);\n  }\n\n  .npr-orb--two {\n    right: 3%;\n    bottom: 7%;\n    width: 195px;\n    height: 195px;\n    background: rgba(135, 115, 199, 0.11);\n    animation-delay: -3s;\n  }\n\n  \/* Statement *\/\n  .npr-statement {\n    position: relative;\n    max-width: 700px;\n    margin: 0 auto;\n    padding: 28px 30px;\n    overflow: hidden;\n    border: 1px solid var(--border);\n    border-radius: 20px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(237, 200, 206, 0.48),\n        transparent 48%\n      ),\n      #fff;\n    box-shadow: var(--shadow);\n    text-align: center;\n  }\n\n  .npr-statement \u003e span {\n    position: absolute;\n    top: -15px;\n    left: 18px;\n    color: rgba(183, 110, 121, 0.16);\n    font-family: Georgia, serif;\n    font-size: 100px;\n  }\n\n  .npr-statement p {\n    position: relative;\n    color: var(--ink);\n    font-size: clamp(18px, 3vw, 24px);\n    font-weight: 750;\n  }\n\n  \/* Benefits *\/\n  .npr-benefits {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 15px;\n  }\n\n  .npr-benefit {\n    position: relative;\n    min-height: 180px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--border);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .npr-benefit:hover,\n  .npr-benefit:focus-visible,\n  .npr-benefit.is-open {\n    border-color: rgba(183, 110, 121, 0.45);\n    outline: none;\n    box-shadow: 0 22px 52px rgba(35, 24, 31, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .npr-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(183, 110, 121, 0.7);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .npr-benefit__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--rose-dark);\n    background: linear-gradient(180deg, #fff, var(--blush));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    place-items: center;\n  }\n\n  .npr-benefit h3 {\n    padding-right: 27px !important;\n    color: var(--ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .npr-benefit p {\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .npr-benefit.is-open p {\n    max-height: 240px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: none;\n  }\n\n  .npr-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 50%;\n  }\n\n  .npr-benefit__toggle::before,\n  .npr-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--rose);\n    content: \"\";\n    transform: translate(-50%, -50%);\n  }\n\n  .npr-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n    transition: transform 0.25s ease;\n  }\n\n  .npr-benefit.is-open .npr-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* Interactive sections *\/\n  .npr-colour-section {\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 8% 10%,\n        rgba(183, 110, 121, 0.25),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 92% 90%,\n        rgba(135, 115, 199, 0.2),\n        transparent 30%\n      ),\n      var(--ink);\n  }\n\n  .npr-heading--light h2 {\n    color: #fff;\n  }\n\n  .npr-heading--light p {\n    color: rgba(255, 255, 255, 0.63);\n  }\n\n  .npr-interactive-layout {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    align-items: center;\n    gap: 65px;\n  }\n\n  .npr-preview {\n    min-width: 0;\n    text-align: center;\n  }\n\n  .npr-colour-orbit,\n  .npr-tech-orbit {\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 25px;\n    place-items: center;\n  }\n\n  .npr-colour-orbit::before,\n  .npr-tech-orbit::before {\n    position: absolute;\n    width: 63%;\n    height: 63%;\n    border-radius: 50%;\n    filter: blur(51px);\n    opacity: 0.56;\n    content: \"\";\n    transition: background 0.45s ease;\n  }\n\n  .npr-colour-orbit::before {\n    background: var(--active-glow);\n  }\n\n  .npr-tech-orbit::before {\n    background: var(--tech-glow);\n  }\n\n  .npr-ring,\n  .npr-tech-ring {\n    position: absolute;\n    border-radius: 50%;\n    animation: npr-pulse 3s ease-in-out infinite;\n    transition: border-color 0.45s ease;\n  }\n\n  .npr-ring {\n    border: 1px solid var(--active-colour);\n  }\n\n  .npr-tech-ring {\n    border: 1px solid var(--tech-colour);\n  }\n\n  .npr-ring--outer,\n  .npr-tech-ring--outer {\n    width: 94%;\n    height: 94%;\n  }\n\n  .npr-ring--inner,\n  .npr-tech-ring--inner {\n    width: 72%;\n    height: 72%;\n    animation-delay: 1s;\n  }\n\n  .npr-colour-core,\n  .npr-tech-core {\n    position: relative;\n    z-index: 3;\n    display: grid;\n    width: 54%;\n    aspect-ratio: 1;\n    place-content: center;\n    text-align: center;\n    transition:\n      border-color 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .npr-colour-core {\n    border: 3px solid var(--active-colour);\n    border-radius: 38%;\n    background: #28262c;\n    box-shadow:\n      inset 0 0 35px var(--active-glow),\n      0 0 42px var(--active-glow);\n  }\n\n  .npr-tech-core {\n    border: 2px solid var(--tech-colour);\n    border-radius: 50%;\n    background: #fff;\n    box-shadow:\n      inset 0 0 35px var(--tech-glow),\n      0 0 42px var(--tech-glow);\n  }\n\n  .npr-colour-core small,\n  .npr-tech-core small {\n    color: rgba(255, 255, 255, 0.52);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.16em;\n  }\n\n  .npr-tech-core small {\n    color: var(--muted);\n  }\n\n  .npr-colour-core strong,\n  .npr-tech-core strong {\n    display: block;\n    margin: 6px 0;\n    color: #fff;\n    font-size: clamp(20px, 5vw, 28px);\n    line-height: 1;\n  }\n\n  .npr-tech-core strong {\n    color: var(--ink);\n  }\n\n  .npr-colour-core span {\n    color: var(--active-colour);\n    font-size: 9px;\n    font-weight: 800;\n  }\n\n  .npr-tech-core span {\n    color: var(--rose-dark);\n    font-size: 9px;\n    font-weight: 800;\n  }\n\n  .npr-selected-colour,\n  .npr-selected-tech {\n    display: flex !important;\n    align-items: flex-start !important;\n    gap: 14px !important;\n    width: min(100%, 470px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    border-radius: 18px;\n    text-align: left;\n  }\n\n  .npr-selected-colour {\n    border: 1px solid rgba(255, 255, 255, 0.12);\n    background: rgba(255, 255, 255, 0.065);\n  }\n\n  .npr-selected-tech {\n    border: 1px solid var(--border);\n    background: #fff;\n    box-shadow: var(--shadow);\n  }\n\n  .npr-selected-colour__swatch,\n  .npr-selected-tech__number {\n    display: grid !important;\n    width: 39px !important;\n    height: 39px !important;\n    flex: 0 0 39px !important;\n    border-radius: 50% !important;\n    place-items: center;\n  }\n\n  .npr-selected-colour__swatch {\n    background: #f4f2ee;\n    box-shadow: 0 0 17px rgba(244, 242, 238, 0.72);\n  }\n\n  .npr-selected-tech__number {\n    color: #fff;\n    background: linear-gradient(145deg, var(--rose-dark), var(--rose));\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .npr-selected-colour__content,\n  .npr-selected-tech \u003e div {\n    display: block !important;\n    min-width: 0 !important;\n    flex: 1 1 auto !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n  }\n\n  .npr-selected-colour__title,\n  .npr-selected-tech__title {\n    display: block !important;\n    margin: 0 0 5px !important;\n    font-size: 16px !important;\n    font-weight: 800 !important;\n    line-height: 1.35 !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n  }\n\n  .npr-selected-colour__title {\n    color: #fff !important;\n  }\n\n  .npr-selected-tech__title {\n    color: var(--ink) !important;\n  }\n\n  .npr-selected-colour__copy,\n  .npr-selected-tech__copy {\n    display: block !important;\n    margin: 0 !important;\n    font-size: 13px !important;\n    line-height: 1.55 !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n  }\n\n  .npr-selected-colour__copy {\n    color: rgba(255, 255, 255, 0.68) !important;\n  }\n\n  .npr-selected-tech__copy {\n    color: var(--muted) !important;\n  }\n\n  .npr-options {\n    display: grid;\n    gap: 12px;\n    min-width: 0;\n  }\n\n  #novea-pro-razor button.npr-option {\n    display: grid !important;\n    grid-template-columns: 42px minmax(0, 1fr) !important;\n    align-items: start !important;\n    gap: 15px !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    min-height: 105px !important;\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: hidden !important;\n    border-radius: 18px !important;\n    text-align: left !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    white-space: normal !important;\n    cursor: pointer !important;\n    appearance: none !important;\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      background 0.25s ease !important;\n  }\n\n  #novea-pro-razor button.npr-colour-option {\n    border: 1px solid rgba(255, 255, 255, 0.11) !important;\n    color: #fff !important;\n    background: rgba(255, 255, 255, 0.055) !important;\n  }\n\n  #novea-pro-razor button.npr-tech-option {\n    border: 1px solid var(--border) !important;\n    color: var(--text) !important;\n    background: #fff !important;\n    box-shadow: var(--shadow) !important;\n  }\n\n  #novea-pro-razor button.npr-option:hover,\n  #novea-pro-razor button.npr-option:focus-visible,\n  #novea-pro-razor button.npr-option.is-active {\n    border-color: var(--swatch, rgba(183, 110, 121, 0.55)) !important;\n    outline: none !important;\n    transform: translateX(5px) !important;\n  }\n\n  #novea-pro-razor button.npr-colour-option.is-active {\n    background: rgba(255, 255, 255, 0.13) !important;\n    box-shadow: 0 0 0 1px var(--swatch) !important;\n  }\n\n  .npr-option__swatch,\n  .npr-option__number {\n    display: grid !important;\n    width: 42px !important;\n    height: 42px !important;\n    flex: 0 0 42px !important;\n    border-radius: 50% !important;\n    place-items: center !important;\n  }\n\n  .npr-option__swatch {\n    background: var(--swatch) !important;\n    box-shadow: 0 0 14px var(--swatch) !important;\n  }\n\n  .npr-option__number {\n    color: var(--rose-dark) !important;\n    background: var(--blush) !important;\n    font-size: 10px !important;\n    font-weight: 900 !important;\n  }\n\n  .npr-option__content {\n    display: block !important;\n    min-width: 0 !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n  }\n\n  .npr-option__content strong,\n  .npr-option__content \u003e span {\n    display: block !important;\n    visibility: visible !important;\n    white-space: normal !important;\n    opacity: 1 !important;\n  }\n\n  .npr-option__content strong {\n    margin-bottom: 4px !important;\n    color: #fff !important;\n    font-size: 15px !important;\n    line-height: 1.35 !important;\n  }\n\n  .npr-option__content \u003e span {\n    color: rgba(255, 255, 255, 0.63) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  .npr-tech-option .npr-option__content strong {\n    color: var(--ink) !important;\n  }\n\n  .npr-tech-option .npr-option__content \u003e span {\n    color: var(--muted) !important;\n  }\n\n  \/* General cards *\/\n  .npr-lifestyles,\n  .npr-specifications,\n  .npr-use-list,\n  .npr-included {\n    display: grid;\n    gap: 14px;\n  }\n\n  .npr-lifestyles {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .npr-specifications {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .npr-use-list {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    max-width: 1040px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .npr-included {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    max-width: 980px;\n    margin: 0 auto;\n  }\n\n  .npr-card,\n  .npr-specification,\n  .npr-use-item,\n  .npr-included__item {\n    padding: 21px;\n    border: 1px solid var(--border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .npr-card:hover,\n  .npr-specification:hover,\n  .npr-use-item:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .npr-card {\n    min-height: 195px;\n  }\n\n  .npr-card \u003e span,\n  .npr-specification \u003e span {\n    color: var(--rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .npr-card \u003e span {\n    display: block;\n    margin-bottom: 27px;\n  }\n\n  .npr-card h3 {\n    margin-bottom: 7px !important;\n    color: var(--ink);\n    font-size: 17px;\n  }\n\n  .npr-card p,\n  .npr-specification p,\n  .npr-use-item p {\n    color: var(--muted);\n    font-size: 13px;\n  }\n\n  .npr-specification,\n  .npr-use-item,\n  .npr-included__item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 130px;\n  }\n\n  .npr-specification strong,\n  .npr-use-item strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  .npr-use-item \u003e span,\n  .npr-included__item \u003e span {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    flex: 0 0 40px;\n    border-radius: 50%;\n    color: var(--rose-dark);\n    background: var(--blush);\n    font-size: 11px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .npr-care-note {\n    display: flex;\n    align-items: flex-start;\n    gap: 17px;\n    max-width: 900px;\n    margin: 24px auto 0;\n    padding: 21px;\n    border: 1px solid rgba(183, 110, 121, 0.29);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n  }\n\n  .npr-care-note \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(145deg, var(--rose-dark), var(--rose));\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .npr-care-note strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n  }\n\n  .npr-care-note p {\n    color: var(--muted);\n    font-size: 12px;\n  }\n\n  .npr-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(240, 202, 208, 0.58),\n        transparent 29%\n      ),\n      #f8f4f6;\n  }\n\n  .npr-included__item {\n    align-items: center;\n    min-height: 105px;\n  }\n\n  .npr-included__item small,\n  .npr-included__item strong {\n    display: block;\n  }\n\n  .npr-included__item small {\n    color: var(--muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.11em;\n    text-transform: uppercase;\n  }\n\n  .npr-included__item strong {\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .npr-cta {\n    position: relative;\n    padding: 95px 0;\n    overflow: hidden;\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 20% 20%,\n        rgba(183, 110, 121, 0.2),\n        transparent 31%\n      ),\n      var(--ink);\n    text-align: center;\n  }\n\n  .npr-cta__inner {\n    max-width: 900px;\n  }\n\n  .npr-cta h2 {\n    margin-top: 20px;\n    color: #fff;\n  }\n\n  .npr-cta p {\n    color: rgba(255, 255, 255, 0.68);\n    font-size: 18px;\n    font-weight: 700;\n  }\n\n  .npr-badge--dark {\n    color: #f0c8cf;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .npr-button--light {\n    color: var(--ink);\n    border-color: #fff;\n    background: #fff;\n  }\n\n  .npr-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(183, 110, 121, 0.42),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: npr-cta-glow 4s ease-in-out infinite;\n  }\n\n  .npr-disclaimer {\n    padding: 17px !important;\n    color: #807981;\n    background: #f3f0f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Reveal fallback *\/\n  .npr-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .npr-js .npr-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .npr-js .npr-reveal.npr-visible {\n    opacity: 1;\n    transform: none;\n  }\n\n  @keyframes npr-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-15px);\n    }\n  }\n\n  @keyframes npr-pulse {\n    0%,\n    100% {\n      opacity: 0.17;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.48;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes npr-cta-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (max-width: 959px) {\n    .npr-benefits,\n    .npr-specifications {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .npr-interactive-layout {\n      grid-template-columns: 1fr;\n      gap: 45px;\n    }\n\n    .npr-lifestyles {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .npr-highlights {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      max-width: 650px;\n    }\n  }\n\n  @media (max-width: 679px) {\n    .npr-hero {\n      padding: 72px 0 68px;\n    }\n\n    .npr-section {\n      padding: 67px 0;\n    }\n\n    .npr-benefits,\n    .npr-specifications,\n    .npr-use-list,\n    .npr-included,\n    .npr-lifestyles {\n      grid-template-columns: 1fr;\n    }\n\n    #novea-pro-razor button.npr-option:hover,\n    #novea-pro-razor button.npr-option:focus-visible,\n    #novea-pro-razor button.npr-option.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .npr-container {\n      width: calc(100% - 22px);\n    }\n\n    .npr-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    #novea-pro-razor button.npr-option {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      gap: 13px !important;\n      padding: 15px !important;\n    }\n\n    .npr-option__swatch,\n    .npr-option__number {\n      width: 38px !important;\n      height: 38px !important;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-pro-razor *,\n    #novea-pro-razor *::before,\n    #novea-pro-razor *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .npr-js .npr-reveal,\n    .npr-js .npr-reveal.npr-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  (function () {\n    \"use strict\";\n\n    function updateColour(root, button) {\n      if (!root || !button) {\n        return;\n      }\n\n      var buttons = root.querySelectorAll(\".npr-colour-option\");\n      var colour = button.getAttribute(\"data-colour\") || \"#f4f2ee\";\n      var glow =\n        button.getAttribute(\"data-glow\") ||\n        \"rgba(244,242,238,.72)\";\n      var name = button.getAttribute(\"data-name\") || \"WHITE\";\n      var title = button.getAttribute(\"data-title\") || name;\n      var copy = button.getAttribute(\"data-copy\") || \"\";\n\n      buttons.forEach(function (item) {\n        var selected = item === button;\n\n        item.classList.toggle(\"is-active\", selected);\n        item.setAttribute(\n          \"aria-pressed\",\n          selected ? \"true\" : \"false\"\n        );\n      });\n\n      var orbit = root.querySelector(\".npr-colour-orbit\");\n      var core = root.querySelector(\".npr-colour-core\");\n      var previewName = root.querySelector(\".npr-preview-name\");\n      var swatch = root.querySelector(\n        \".npr-selected-colour__swatch\"\n      );\n      var selectedTitle = root.querySelector(\n        \".npr-selected-colour__title\"\n      );\n      var selectedCopy = root.querySelector(\n        \".npr-selected-colour__copy\"\n      );\n\n      if (orbit) {\n        orbit.style.setProperty(\"--active-colour\", colour);\n        orbit.style.setProperty(\"--active-glow\", glow);\n      }\n\n      if (core) {\n        core.style.borderColor = colour;\n        core.style.boxShadow =\n          \"inset 0 0 35px \" +\n          glow +\n          \", 0 0 42px \" +\n          glow;\n      }\n\n      if (previewName) {\n        previewName.textContent = name;\n      }\n\n      if (swatch) {\n        swatch.style.background = colour;\n        swatch.style.backgroundColor = colour;\n        swatch.style.boxShadow = \"0 0 17px \" + glow;\n      }\n\n      if (selectedTitle) {\n        selectedTitle.textContent = title;\n      }\n\n      if (selectedCopy) {\n        selectedCopy.textContent = copy;\n      }\n    }\n\n    function updateTechnology(root, button) {\n      if (!root || !button) {\n        return;\n      }\n\n      var buttons = root.querySelectorAll(\".npr-tech-option\");\n      var number = button.getAttribute(\"data-number\") || \"01\";\n      var label = button.getAttribute(\"data-label\") || \"STAGE 01\";\n      var word = button.getAttribute(\"data-word\") || \"GLIDE\";\n      var detail = button.getAttribute(\"data-detail\") || \"\";\n      var title = button.getAttribute(\"data-title\") || \"\";\n      var copy = button.getAttribute(\"data-copy\") || \"\";\n      var colour = button.getAttribute(\"data-colour\") || \"#d99aa5\";\n      var glow =\n        button.getAttribute(\"data-glow\") ||\n        \"rgba(217,154,165,.55)\";\n\n      buttons.forEach(function (item) {\n        var selected = item === button;\n\n        item.classList.toggle(\"is-active\", selected);\n        item.setAttribute(\n          \"aria-pressed\",\n          selected ? \"true\" : \"false\"\n        );\n      });\n\n      var orbit = root.querySelector(\".npr-tech-orbit\");\n      var core = root.querySelector(\".npr-tech-core\");\n      var labelElement = root.querySelector(\".npr-tech-label\");\n      var wordElement = root.querySelector(\".npr-tech-word\");\n      var detailElement = root.querySelector(\".npr-tech-detail\");\n      var numberElement = root.querySelector(\n        \".npr-selected-tech__number\"\n      );\n      var titleElement = root.querySelector(\n        \".npr-selected-tech__title\"\n      );\n      var copyElement = root.querySelector(\n        \".npr-selected-tech__copy\"\n      );\n\n      if (orbit) {\n        orbit.style.setProperty(\"--tech-colour\", colour);\n        orbit.style.setProperty(\"--tech-glow\", glow);\n      }\n\n      if (core) {\n        core.style.borderColor = colour;\n        core.style.boxShadow =\n          \"inset 0 0 35px \" +\n          glow +\n          \", 0 0 42px \" +\n          glow;\n      }\n\n      if (labelElement) {\n        labelElement.textContent = label;\n      }\n\n      if (wordElement) {\n        wordElement.textContent = word;\n      }\n\n      if (detailElement) {\n        detailElement.textContent = detail;\n      }\n\n      if (numberElement) {\n        numberElement.textContent = number;\n      }\n\n      if (titleElement) {\n        titleElement.textContent = title;\n      }\n\n      if (copyElement) {\n        copyElement.textContent = copy;\n      }\n    }\n\n    function initialiseReveal(root) {\n      var items = root.querySelectorAll(\".npr-reveal\");\n\n      if (!(\"IntersectionObserver\" in window)) {\n        items.forEach(function (item) {\n          item.classList.add(\"npr-visible\");\n        });\n\n        return;\n      }\n\n      var observer = new IntersectionObserver(\n        function (entries) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) {\n              return;\n            }\n\n            entry.target.classList.add(\"npr-visible\");\n            observer.unobserve(entry.target);\n          });\n        },\n        {\n          threshold: 0.08,\n          rootMargin: \"0px 0px -18px 0px\"\n        }\n      );\n\n      items.forEach(function (item, index) {\n        item.style.transitionDelay =\n          ((index % 4) * 55) + \"ms\";\n\n        observer.observe(item);\n      });\n\n      window.setTimeout(function () {\n        items.forEach(function (item) {\n          item.classList.add(\"npr-visible\");\n        });\n      }, 1800);\n    }\n\n    function initialiseSection(root) {\n      if (!root) {\n        return;\n      }\n\n      root.classList.add(\"npr-js\");\n      initialiseReveal(root);\n\n      var initialColour =\n        root.querySelector(\".npr-colour-option.is-active\") ||\n        root.querySelector(\".npr-colour-option\");\n\n      var initialTechnology =\n        root.querySelector(\".npr-tech-option.is-active\") ||\n        root.querySelector(\".npr-tech-option\");\n\n      if (initialColour) {\n        updateColour(root, initialColour);\n      }\n\n      if (initialTechnology) {\n        updateTechnology(root, initialTechnology);\n      }\n    }\n\n    function initialiseAll(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-pro-razor\")\n      ) {\n        initialiseSection(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-pro-razor\")\n          .forEach(function (root) {\n            initialiseSection(root);\n          });\n      }\n    }\n\n    \/*\n      Delegated interaction ensures the selectors continue working\n      after Shopify reloads the section.\n    *\/\n    document.addEventListener(\"click\", function (event) {\n      var colourButton = event.target.closest(\n        \"#novea-pro-razor .npr-colour-option\"\n      );\n\n      if (colourButton) {\n        var colourRoot = colourButton.closest(\n          \"#novea-pro-razor\"\n        );\n\n        event.preventDefault();\n        updateColour(colourRoot, colourButton);\n        return;\n      }\n\n      var techButton = event.target.closest(\n        \"#novea-pro-razor .npr-tech-option\"\n      );\n\n      if (techButton) {\n        var techRoot = techButton.closest(\n          \"#novea-pro-razor\"\n        );\n\n        event.preventDefault();\n        updateTechnology(techRoot, techButton);\n        return;\n      }\n\n      var benefit = event.target.closest(\n        \"#novea-pro-razor .npr-benefit\"\n      );\n\n      if (benefit) {\n        var open = benefit.classList.toggle(\"is-open\");\n\n        benefit.setAttribute(\n          \"aria-expanded\",\n          open ? \"true\" : \"false\"\n        );\n      }\n    });\n\n    document.addEventListener(\"keydown\", function (event) {\n      if (event.key !== \"Enter\" \u0026\u0026 event.key !== \" \") {\n        return;\n      }\n\n      var benefit = event.target.closest(\n        \"#novea-pro-razor .npr-benefit\"\n      );\n\n      if (!benefit) {\n        return;\n      }\n\n      event.preventDefault();\n\n      var open = benefit.classList.toggle(\"is-open\");\n\n      benefit.setAttribute(\n        \"aria-expanded\",\n        open ? \"true\" : \"false\"\n      );\n    });\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAll(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAll(document);\n    }\n\n    \/* Shopify Theme Editor support *\/\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        initialiseAll(event.target);\n      }\n    );\n  })();\n\u003c\/script\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"White","offer_id":52234856071384,"sku":null,"price":549.0,"currency_code":"ZAR","in_stock":true},{"title":"Green","offer_id":52234856104152,"sku":null,"price":549.0,"currency_code":"ZAR","in_stock":true},{"title":"Light Blue","offer_id":52234856136920,"sku":null,"price":549.0,"currency_code":"ZAR","in_stock":true},{"title":"Violet","offer_id":52234856169688,"sku":null,"price":549.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/nov-a-portable-razor-correctly-scaled-cartridges_99da2218-c250-4fc0-9779-c597fb07d718.png?v=1786658545"},{"product_id":"novea™-pro-soft-gel-nail-tips","title":"NOVÉA™ Pro Soft Gel Nail Tips","description":"\u003cdiv id=\"novea-soft-gel-tips\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"nsg-hero\"\u003e\n\u003cdiv class=\"nsg-pattern\"\u003e\u003c\/div\u003e\n\u003cspan class=\"nsg-orb nsg-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"nsg-orb nsg-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-hero__content nsg-reveal\"\u003e\n\u003cspan class=\"nsg-badge\"\u003eNOVÉA™ PROFESSIONAL NAIL SYSTEM\u003c\/span\u003e\n\u003ch1\u003eNOVÉA™ Pro \u003cspan\u003eSoft Gel Nail Tips\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"nsg-tagline\"\u003eSalon-Length Nails.\u003cbr\u003eAt-Home Prices. Zero Compromise.\u003c\/p\u003e\n\u003cp class=\"nsg-description\"\u003eProfessional-grade, salon-length nails from home. Flexible soft gel tips create a clear, natural-looking extension that feels comfortable and provides the perfect base for gel colour or nail art.\u003c\/p\u003e\n\u003cdiv class=\"nsg-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e240\u003c\/strong\u003e\u003cspan\u003etips per box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e12\u003c\/strong\u003e\u003cspan\u003eprecision sizes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFull\u003c\/strong\u003e\u003cspan\u003ecover design\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSoft\u003c\/strong\u003e\u003cspan\u003eflexible gel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-trust\"\u003e\n\u003cspan\u003eCrystal clear\u003c\/span\u003e \u003cspan\u003eUV \u0026amp; LED compatible\u003c\/span\u003e \u003cspan\u003eNo tip blending\u003c\/span\u003e \u003cspan\u003ePre-shaped profile\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"nsg-button\" href=\"#nsg-benefits\"\u003e Discover the collection \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"nsg-section\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eThe modern extension system\u003c\/span\u003e\n\u003ch2\u003eSalon-level length without the salon routine.\u003c\/h2\u003e\n\u003cp\u003eNOVÉA™ Pro Soft Gel Nail Tips combine a pre-shaped full-cover design with flexible soft gel material for a seamless extension you can create at home.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-statement nsg-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBecause your nails deserve the same standard as the rest of your look.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection id=\"nsg-benefits\" class=\"nsg-section nsg-section--soft\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eBeautifully considered performance\u003c\/span\u003e\n\u003ch2\u003eWhat you gain\u003c\/h2\u003e\n\u003cp\u003eSelect a benefit to reveal more information.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-benefits\"\u003e\n\u003carticle class=\"nsg-benefit is-open nsg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nsg-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nsg-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eSalon-quality extensions at home\u003c\/h3\u003e\n\u003cp\u003eProfessional-grade soft gel tips help create flawless, natural-looking length without the traditional salon price.\u003c\/p\u003e\n\u003cspan class=\"nsg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nsg-benefit nsg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nsg-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nsg-benefit__icon\"\u003e◎\u003c\/span\u003e\n\u003ch3\u003ePrecise fit for every nail\u003c\/h3\u003e\n\u003cp\u003eTwelve sizes—from size 0 to size 11—help provide an accurate, edge-to-edge fit for every finger.\u003c\/p\u003e\n\u003cspan class=\"nsg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nsg-benefit nsg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nsg-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nsg-benefit__icon\"\u003e⌁\u003c\/span\u003e\n\u003ch3\u003eNatural, flexible feel\u003c\/h3\u003e\n\u003cp\u003eThe soft gel polymer flexes with the natural nail for a more comfortable feel than rigid extension materials.\u003c\/p\u003e\n\u003cspan class=\"nsg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nsg-benefit nsg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nsg-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nsg-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eCrystal-clear finish\u003c\/h3\u003e\n\u003cp\u003eClear tips provide a refined canvas for gel colour, chrome, ombré, glitter and detailed nail art.\u003c\/p\u003e\n\u003cspan class=\"nsg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nsg-benefit nsg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nsg-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"nsg-benefit__icon\"\u003e∞\u003c\/span\u003e\n\u003ch3\u003eSecure full-cover wear\u003c\/h3\u003e\n\u003cp\u003eThe full-cover structure provides a broad bonding surface for a secure application when correctly prepared and cured.\u003c\/p\u003e\n\u003cspan class=\"nsg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"nsg-benefit nsg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"nsg-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"nsg-benefit__icon\"\u003e✧\u003c\/span\u003e\n\u003ch3\u003eCreative possibilities\u003c\/h3\u003e\n\u003cp\u003eTransform the clear canvas using compatible gel polish, pigment, chrome, embellishments or nail-art designs.\u003c\/p\u003e\n\u003cspan class=\"nsg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SIZE SELECTOR --\u003e\n\u003csection class=\"nsg-section nsg-size-section\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-heading--light nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eTwelve precision sizes\u003c\/span\u003e\n\u003ch2\u003eFind your seamless fit\u003c\/h2\u003e\n\u003cp\u003eSelect a size range to explore the complete fitting system.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-interactive-layout\"\u003e\n\u003cdiv class=\"nsg-preview nsg-reveal\"\u003e\n\u003cdiv class=\"nsg-size-orbit\"\u003e\n\u003cspan class=\"nsg-ring nsg-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"nsg-ring nsg-ring--inner\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nsg-nail-display\"\u003e\n\u003cspan class=\"nsg-nail-shine\"\u003e\u003c\/span\u003e \u003csmall\u003eSIZE RANGE\u003c\/small\u003e \u003cstrong class=\"nsg-size-word\"\u003e0–3\u003c\/strong\u003e \u003cspan class=\"nsg-size-detail\"\u003eWidest sizes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-selected nsg-selected--dark\"\u003e\n\u003cspan class=\"nsg-selected__number nsg-size-number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"nsg-size-title\"\u003eWide Fit\u003c\/strong\u003e\n\u003cp class=\"nsg-size-copy\"\u003eDesigned for wider nail plates, including common thumb sizes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-options\"\u003e\n\u003cbutton class=\"nsg-option nsg-size-option is-active nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eSizes 0–3\u003c\/strong\u003e \u003cspan\u003eThe widest options in the twelve-size system.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nsg-option nsg-size-option nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eSizes 4–7\u003c\/strong\u003e \u003cspan\u003eVersatile sizes for medium-width nail plates.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nsg-option nsg-size-option nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eSizes 8–11\u003c\/strong\u003e \u003cspan\u003eNarrow options for petite natural nails.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nsg-option nsg-size-option nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eComplete Collection\u003c\/strong\u003e \u003cspan\u003e240 pieces with 20 tips in every size.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- PROCESS --\u003e\n\u003csection class=\"nsg-section\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eFlexible soft gel technology\u003c\/span\u003e\n\u003ch2\u003eHow it works\u003c\/h2\u003e\n\u003cp\u003eSelect each stage to explore the extension process.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-interactive-layout\"\u003e\n\u003cdiv class=\"nsg-preview nsg-reveal\"\u003e\n\u003cdiv class=\"nsg-process-orbit\"\u003e\n\u003cspan class=\"nsg-process-ring nsg-process-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"nsg-process-ring nsg-process-ring--inner\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nsg-process-core\"\u003e\n\u003csmall class=\"nsg-process-label\"\u003eSTAGE 01\u003c\/small\u003e \u003cstrong class=\"nsg-process-word\"\u003eFIT\u003c\/strong\u003e \u003cspan class=\"nsg-process-detail\"\u003eEdge to edge\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-selected\"\u003e\n\u003cspan class=\"nsg-selected__number nsg-process-number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"nsg-process-title\"\u003ePrecision Sizing\u003c\/strong\u003e\n\u003cp class=\"nsg-process-copy\"\u003eSelect a tip that covers the natural nail from sidewall to sidewall without excessive pressure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-options\"\u003e\n\u003cbutton class=\"nsg-option nsg-process-option is-active nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eSelect\u003c\/strong\u003e \u003cspan\u003eMatch each natural nail to its correct tip size.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nsg-option nsg-process-option nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eApply\u003c\/strong\u003e \u003cspan\u003eAdd compatible bonding gel and position the tip.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nsg-option nsg-process-option nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eCure\u003c\/strong\u003e \u003cspan\u003eSet the compatible gel beneath a UV or LED lamp.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"nsg-option nsg-process-option nsg-reveal\" type=\"button\"\u003e \u003cspan class=\"nsg-option__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"nsg-option__content\"\u003e \u003cstrong\u003eFinish\u003c\/strong\u003e \u003cspan\u003eShape, colour and customise your new extensions.\u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FEATURES --\u003e\n\u003csection class=\"nsg-section nsg-section--soft\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eDesigned for modern nail artistry\u003c\/span\u003e\n\u003ch2\u003eProfessional details in every tip\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-features\"\u003e\n\u003carticle class=\"nsg-card nsg-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eSoft gel polymer\u003c\/h3\u003e\n\u003cp\u003eFlexible material follows the natural movement of the nail for a comfortable extension experience.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-card nsg-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003ePre-shaped profile\u003c\/h3\u003e\n\u003cp\u003eAn elegant starting shape that can be refined to complement your desired look.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-card nsg-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eFull-cover structure\u003c\/h3\u003e\n\u003cp\u003eEach tip covers the complete natural nail plate, eliminating traditional tip blending.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-card nsg-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eCrystal-clear canvas\u003c\/h3\u003e\n\u003cp\u003eThe transparent finish showcases gel colour, detailed art, ombré effects and luminous chrome.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"nsg-section\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eThe complete extension system\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-specifications\"\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eQuantity\u003c\/strong\u003e\n\u003cp\u003e240 soft gel tips per box.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSize system\u003c\/strong\u003e\n\u003cp\u003e12 sizes, from size 0 widest to size 11 narrowest.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eQuantity per size\u003c\/strong\u003e\n\u003cp\u003e20 tips supplied in each size.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCoverage\u003c\/strong\u003e\n\u003cp\u003eFull-cover design with no traditional blending required.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eMaterial\u003c\/strong\u003e\n\u003cp\u003eFlexible soft gel polymer with a natural feel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eColour\u003c\/strong\u003e\n\u003cp\u003eCrystal clear for gel polish and nail-art compatibility.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCuring compatibility\u003c\/strong\u003e\n\u003cp\u003eDesigned for compatible UV or LED-curable bonding gel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eStorage\u003c\/strong\u003e\n\u003cp\u003eClear compartmentalised storage box organised by size.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-spec nsg-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApplication\u003c\/strong\u003e\n\u003cp\u003eSuitable for carefully prepared at-home extension sets.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection id=\"nsg-how-to-use\" class=\"nsg-section nsg-section--soft\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003eYour at-home extension ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eFollow all product, bonding-gel and lamp instructions supplied by their manufacturers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"nsg-use-list\"\u003e\n\u003cli class=\"nsg-use nsg-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePrepare\u003c\/strong\u003e\n\u003cp\u003eClean the nails, push back cuticles and remove surface shine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nsg-use nsg-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSelect each size\u003c\/strong\u003e\n\u003cp\u003eChoose a tip that covers the nail without pinching or force.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nsg-use nsg-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApply bonding gel\u003c\/strong\u003e\n\u003cp\u003eApply compatible gel according to its supplied instructions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nsg-use nsg-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePosition the tip\u003c\/strong\u003e\n\u003cp\u003ePlace carefully and apply controlled pressure to minimise air.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nsg-use nsg-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCure correctly\u003c\/strong\u003e\n\u003cp\u003eCure for the full time specified by the gel manufacturer.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nsg-use nsg-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRefine the shape\u003c\/strong\u003e\n\u003cp\u003eFile the free edge to adjust the length and final profile.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"nsg-use nsg-use--featured nsg-reveal\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCreate your finish\u003c\/strong\u003e\n\u003cp\u003eApply compatible gel polish, nail art and top coat, curing every layer according to its instructions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"nsg-safety nsg-reveal\"\u003e\n\u003cspan\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSafe gel application\u003c\/strong\u003e\n\u003cp\u003eAvoid skin contact with uncured gel. Remove accidental contact before curing and ensure each layer cures completely. Discontinue use if irritation occurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"nsg-section nsg-included-section\"\u003e\n\u003cdiv class=\"nsg-container\"\u003e\n\u003cdiv class=\"nsg-heading nsg-reveal\"\u003e\n\u003cspan class=\"nsg-eyebrow\"\u003ePremium from tip to presentation\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"nsg-included\"\u003e\n\u003carticle class=\"nsg-included__item nsg-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eYour extension collection\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ Pro Soft Gel Nail Tips — 240 pieces\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-included__item nsg-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eOrganised storage\u003c\/small\u003e \u003cstrong\u003eClear compartmentalised storage box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"nsg-included__item nsg-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eComplete sizing\u003c\/small\u003e \u003cstrong\u003eTwelve sizes with 20 tips in each size\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA --\u003e\n\u003csection class=\"nsg-cta\"\u003e\u003cspan class=\"nsg-cta__glow\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"nsg-container nsg-cta__inner nsg-reveal\"\u003e\n\u003cspan class=\"nsg-badge nsg-badge--dark\"\u003e NOVÉA™ PRO SOFT GEL NAIL TIPS \u003c\/span\u003e\n\u003ch2\u003eYour next salon-length set starts at home.\u003c\/h2\u003e\n\u003cp\u003eFlexible. Crystal clear. Ready for your signature look.\u003c\/p\u003e\n\u003ca class=\"nsg-button nsg-button--light\" href=\"#nsg-how-to-use\"\u003e Explore the application \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"nsg-disclaimer\"\u003eNail extension tips only. Adhesive, bonding gel, polish and curing lamp are not included unless stated in the product listing. Avoid skin contact with uncured gel and follow all manufacturer instructions.\u003cscript\u003e\n  (function () {\n    \"use strict\";\n\n    function selectAll(root, selector, selected) {\n      root.querySelectorAll(selector).forEach(function (item) {\n        var active = item === selected;\n        item.classList.toggle(\"is-active\", active);\n        item.setAttribute(\"aria-pressed\", active ? \"true\" : \"false\");\n      });\n    }\n\n    function updateSize(root, button) {\n      if (!root || !button) return;\n\n      selectAll(root, \".nsg-size-option\", button);\n\n      var orbit = root.querySelector(\".nsg-size-orbit\");\n      var colour = button.dataset.colour || \"#f0c3cb\";\n      var glow = button.dataset.glow || \"rgba(240,195,203,.56)\";\n\n      if (orbit) {\n        orbit.style.setProperty(\"--active-colour\", colour);\n        orbit.style.setProperty(\"--active-glow\", glow);\n      }\n\n      var values = {\n        \".nsg-size-word\": button.dataset.word,\n        \".nsg-size-detail\": button.dataset.detail,\n        \".nsg-size-number\": button.dataset.number,\n        \".nsg-size-title\": button.dataset.title,\n        \".nsg-size-copy\": button.dataset.copy\n      };\n\n      Object.keys(values).forEach(function (selector) {\n        var element = root.querySelector(selector);\n        if (element) element.textContent = values[selector] || \"\";\n      });\n    }\n\n    function updateProcess(root, button) {\n      if (!root || !button) return;\n\n      selectAll(root, \".nsg-process-option\", button);\n\n      var orbit = root.querySelector(\".nsg-process-orbit\");\n      var colour = button.dataset.colour || \"#d99aa5\";\n      var glow = button.dataset.glow || \"rgba(217,154,165,.55)\";\n\n      if (orbit) {\n        orbit.style.setProperty(\"--process-colour\", colour);\n        orbit.style.setProperty(\"--process-glow\", glow);\n      }\n\n      var values = {\n        \".nsg-process-label\": button.dataset.label,\n        \".nsg-process-word\": button.dataset.word,\n        \".nsg-process-detail\": button.dataset.detail,\n        \".nsg-process-number\": button.dataset.number,\n        \".nsg-process-title\": button.dataset.title,\n        \".nsg-process-copy\": button.dataset.copy\n      };\n\n      Object.keys(values).forEach(function (selector) {\n        var element = root.querySelector(selector);\n        if (element) element.textContent = values[selector] || \"\";\n      });\n    }\n\n    function initialiseReveal(root) {\n      var items = root.querySelectorAll(\".nsg-reveal\");\n\n      if (!(\"IntersectionObserver\" in window)) {\n        items.forEach(function (item) {\n          item.classList.add(\"nsg-visible\");\n        });\n        return;\n      }\n\n      var observer = new IntersectionObserver(\n        function (entries) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) return;\n            entry.target.classList.add(\"nsg-visible\");\n            observer.unobserve(entry.target);\n          });\n        },\n        {\n          threshold: 0.08,\n          rootMargin: \"0px 0px -18px 0px\"\n        }\n      );\n\n      items.forEach(function (item, index) {\n        item.style.transitionDelay = ((index % 4) * 55) + \"ms\";\n        observer.observe(item);\n      });\n\n      window.setTimeout(function () {\n        items.forEach(function (item) {\n          item.classList.add(\"nsg-visible\");\n        });\n      }, 1800);\n    }\n\n    function initialise(root) {\n      if (!root || root.dataset.nsgReady === \"true\") return;\n\n      root.dataset.nsgReady = \"true\";\n      root.classList.add(\"nsg-js\");\n      initialiseReveal(root);\n\n      var initialSize =\n        root.querySelector(\".nsg-size-option.is-active\") ||\n        root.querySelector(\".nsg-size-option\");\n\n      var initialProcess =\n        root.querySelector(\".nsg-process-option.is-active\") ||\n        root.querySelector(\".nsg-process-option\");\n\n      updateSize(root, initialSize);\n      updateProcess(root, initialProcess);\n    }\n\n    function initialiseAll(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(\"#novea-soft-gel-tips\")\n      ) {\n        initialise(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(\"#novea-soft-gel-tips\")\n          .forEach(initialise);\n      }\n    }\n\n    document.addEventListener(\"click\", function (event) {\n      var sizeButton = event.target.closest(\n        \"#novea-soft-gel-tips .nsg-size-option\"\n      );\n\n      if (sizeButton) {\n        event.preventDefault();\n        updateSize(\n          sizeButton.closest(\"#novea-soft-gel-tips\"),\n          sizeButton\n        );\n        return;\n      }\n\n      var processButton = event.target.closest(\n        \"#novea-soft-gel-tips .nsg-process-option\"\n      );\n\n      if (processButton) {\n        event.preventDefault();\n        updateProcess(\n          processButton.closest(\"#novea-soft-gel-tips\"),\n          processButton\n        );\n        return;\n      }\n\n      var benefit = event.target.closest(\n        \"#novea-soft-gel-tips .nsg-benefit\"\n      );\n\n      if (benefit) {\n        var open = benefit.classList.toggle(\"is-open\");\n        benefit.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n      }\n    });\n\n    document.addEventListener(\"keydown\", function (event) {\n      if (event.key !== \"Enter\" \u0026\u0026 event.key !== \" \") return;\n\n      var benefit = event.target.closest(\n        \"#novea-soft-gel-tips .nsg-benefit\"\n      );\n\n      if (!benefit) return;\n\n      event.preventDefault();\n\n      var open = benefit.classList.toggle(\"is-open\");\n      benefit.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n    });\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAll(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAll(document);\n    }\n\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root =\n          event.target.matches \u0026\u0026\n          event.target.matches(\"#novea-soft-gel-tips\")\n            ? event.target\n            : event.target.querySelector(\"#novea-soft-gel-tips\");\n\n        if (!root) return;\n\n        root.removeAttribute(\"data-nsg-ready\");\n        root.classList.remove(\"nsg-js\");\n        initialise(root);\n      }\n    );\n  })();\n\u003c\/script\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-soft-gel-tips {\n    --ink: #171519;\n    --text: #433d44;\n    --muted: #756d76;\n    --rose: #b76e79;\n    --rose-dark: #8f4e5a;\n    --rose-light: #efcbd1;\n    --blush: #fae9ec;\n    --border: rgba(23, 21, 25, 0.11);\n    --shadow: 0 16px 44px rgba(35, 24, 31, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--text);\n    background: #fff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-soft-gel-tips *,\n  #novea-soft-gel-tips *::before,\n  #novea-soft-gel-tips *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-soft-gel-tips h1,\n  #novea-soft-gel-tips h2,\n  #novea-soft-gel-tips h3,\n  #novea-soft-gel-tips p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-soft-gel-tips button,\n  #novea-soft-gel-tips a {\n    font: inherit;\n  }\n\n  .nsg-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .nsg-section {\n    position: relative;\n    padding: 84px 0;\n  }\n\n  .nsg-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 9%,\n        rgba(249, 225, 230, 0.86),\n        transparent 28%\n      ),\n      linear-gradient(180deg, #fffdfd, #f7f3f6);\n  }\n\n  .nsg-heading {\n    max-width: 800px;\n    margin: 0 auto 43px;\n    text-align: center;\n  }\n\n  .nsg-heading h2,\n  .nsg-cta h2 {\n    margin: 8px 0 14px !important;\n    color: var(--ink);\n    font-size: clamp(31px, 5vw, 53px);\n    font-weight: 780;\n    line-height: 1.06;\n    letter-spacing: -0.045em;\n  }\n\n  .nsg-heading p {\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .nsg-eyebrow {\n    display: inline-block;\n    color: var(--rose);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .nsg-hero {\n    position: relative;\n    padding: 108px 0 102px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 88% 88%,\n        rgba(198, 184, 224, 0.43),\n        transparent 29%\n      ),\n      linear-gradient(145deg, #fff, #f9e7eb 52%, #eeeaf6);\n  }\n\n  .nsg-pattern {\n    position: absolute;\n    inset: 0;\n    opacity: 0.2;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.55) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.55) 1px,\n        transparent 1px\n      );\n    background-size: 48px 48px;\n  }\n\n  .nsg-hero__content {\n    width: min(100%, 860px);\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .nsg-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(183, 110, 121, 0.31);\n    border-radius: 999px;\n    color: var(--rose-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(183, 110, 121, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.16em;\n  }\n\n  .nsg-hero h1 {\n    margin: 22px 0 17px;\n    color: var(--ink);\n    font-size: clamp(48px, 8vw, 82px);\n    font-weight: 810;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .nsg-hero h1 span {\n    display: block;\n    margin-top: 10px;\n    color: var(--rose-dark);\n    font-size: 0.49em;\n    line-height: 1.1;\n  }\n\n  .nsg-tagline {\n    margin-bottom: 16px !important;\n    color: var(--rose-dark);\n    font-size: clamp(21px, 3vw, 28px);\n    font-weight: 780;\n    line-height: 1.28;\n  }\n\n  .nsg-description {\n    max-width: 700px;\n    margin: 0 auto !important;\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .nsg-highlights {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 10px;\n    max-width: 810px;\n    margin: 28px auto 0;\n  }\n\n  .nsg-highlights div {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 7px;\n    min-height: 60px;\n    padding: 12px;\n    border: 1px solid var(--border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.85);\n    box-shadow: 0 7px 20px rgba(35, 24, 31, 0.055);\n  }\n\n  .nsg-highlights strong {\n    color: var(--rose-dark);\n    font-size: 13px;\n  }\n\n  .nsg-highlights span {\n    color: #625b63;\n    font-size: 12px;\n  }\n\n  .nsg-trust {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 11px 22px;\n    margin-top: 20px;\n  }\n\n  .nsg-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #696169;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .nsg-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--rose);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .nsg-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 27px;\n    padding: 12px 22px;\n    border: 1px solid var(--rose);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(135deg, var(--rose-dark), var(--rose));\n    box-shadow: 0 13px 29px rgba(183, 110, 121, 0.28);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .nsg-button:hover,\n  .nsg-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 37px rgba(183, 110, 121, 0.36);\n    transform: translateY(-3px);\n  }\n\n  .nsg-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: nsg-float 7s ease-in-out infinite;\n  }\n\n  .nsg-orb--one {\n    top: 8%;\n    left: 3%;\n    width: 150px;\n    height: 150px;\n    background: rgba(225, 142, 156, 0.13);\n  }\n\n  .nsg-orb--two {\n    right: 3%;\n    bottom: 7%;\n    width: 195px;\n    height: 195px;\n    background: rgba(137, 116, 199, 0.11);\n    animation-delay: -3s;\n  }\n\n  \/* Statement *\/\n  .nsg-statement {\n    position: relative;\n    max-width: 720px;\n    margin: 0 auto;\n    padding: 29px 32px;\n    overflow: hidden;\n    border: 1px solid var(--border);\n    border-radius: 21px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    text-align: center;\n  }\n\n  .nsg-statement \u003e span {\n    position: absolute;\n    top: -17px;\n    left: 18px;\n    color: rgba(183, 110, 121, 0.16);\n    font-family: Georgia, serif;\n    font-size: 105px;\n  }\n\n  .nsg-statement p {\n    position: relative;\n    color: var(--ink);\n    font-size: clamp(18px, 3vw, 24px);\n    font-weight: 750;\n  }\n\n  \/* Benefits *\/\n  .nsg-benefits {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 15px;\n  }\n\n  .nsg-benefit {\n    position: relative;\n    min-height: 184px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--border);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease;\n  }\n\n  .nsg-benefit:hover,\n  .nsg-benefit:focus-visible,\n  .nsg-benefit.is-open {\n    border-color: rgba(183, 110, 121, 0.45);\n    outline: none;\n    transform: translateY(-4px);\n  }\n\n  .nsg-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(183, 110, 121, 0.72);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .nsg-benefit__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--rose-dark);\n    background: linear-gradient(180deg, #fff, var(--blush));\n    box-shadow: 0 7px 18px rgba(183, 110, 121, 0.17);\n    place-items: center;\n  }\n\n  .nsg-benefit h3 {\n    padding-right: 28px !important;\n    color: var(--ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .nsg-benefit p {\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .nsg-benefit.is-open p {\n    max-height: 240px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: none;\n  }\n\n  .nsg-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 50%;\n  }\n\n  .nsg-benefit__toggle::before,\n  .nsg-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--rose);\n    content: \"\";\n    transform: translate(-50%, -50%);\n  }\n\n  .nsg-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n    transition: transform 0.25s ease;\n  }\n\n  .nsg-benefit.is-open .nsg-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* Interactive sections *\/\n  .nsg-size-section {\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 8% 10%,\n        rgba(183, 110, 121, 0.25),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 92% 90%,\n        rgba(135, 115, 199, 0.2),\n        transparent 30%\n      ),\n      var(--ink);\n  }\n\n  .nsg-heading--light h2 {\n    color: #fff;\n  }\n\n  .nsg-heading--light p {\n    color: rgba(255, 255, 255, 0.64);\n  }\n\n  .nsg-interactive-layout {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    align-items: center;\n    gap: 65px;\n    min-width: 0;\n  }\n\n  .nsg-preview,\n  .nsg-options {\n    min-width: 0;\n  }\n\n  .nsg-preview {\n    text-align: center;\n  }\n\n  .nsg-size-orbit,\n  .nsg-process-orbit {\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 25px;\n    place-items: center;\n  }\n\n  .nsg-size-orbit {\n    --active-colour: #f0c3cb;\n    --active-glow: rgba(240, 195, 203, 0.56);\n  }\n\n  .nsg-process-orbit {\n    --process-colour: #d99aa5;\n    --process-glow: rgba(217, 154, 165, 0.55);\n  }\n\n  .nsg-size-orbit::before,\n  .nsg-process-orbit::before {\n    position: absolute;\n    width: 63%;\n    height: 63%;\n    border-radius: 50%;\n    filter: blur(51px);\n    opacity: 0.56;\n    content: \"\";\n  }\n\n  .nsg-size-orbit::before {\n    background: var(--active-glow);\n  }\n\n  .nsg-process-orbit::before {\n    background: var(--process-glow);\n  }\n\n  .nsg-ring,\n  .nsg-process-ring {\n    position: absolute;\n    border-radius: 50%;\n    animation: nsg-pulse 3s ease-in-out infinite;\n  }\n\n  .nsg-ring {\n    border: 1px solid var(--active-colour);\n  }\n\n  .nsg-process-ring {\n    border: 1px solid var(--process-colour);\n  }\n\n  .nsg-ring--outer,\n  .nsg-process-ring--outer {\n    width: 94%;\n    height: 94%;\n  }\n\n  .nsg-ring--inner,\n  .nsg-process-ring--inner {\n    width: 72%;\n    height: 72%;\n    animation-delay: 1s;\n  }\n\n  .nsg-nail-display,\n  .nsg-process-core {\n    position: relative;\n    z-index: 3;\n    display: grid;\n    width: 54%;\n    aspect-ratio: 1;\n    place-content: center;\n    text-align: center;\n  }\n\n  .nsg-nail-display {\n    overflow: hidden;\n    border: 3px solid var(--active-colour);\n    border-radius: 50% 50% 44% 44% \/ 62% 62% 38% 38%;\n    background: #29262c;\n    box-shadow:\n      inset 0 0 35px var(--active-glow),\n      0 0 42px var(--active-glow);\n  }\n\n  .nsg-nail-shine {\n    position: absolute;\n    top: 12%;\n    left: 22%;\n    width: 13%;\n    height: 56%;\n    border-radius: 999px;\n    background: rgba(255, 255, 255, 0.18);\n    transform: rotate(10deg);\n  }\n\n  .nsg-process-core {\n    border: 2px solid var(--process-colour);\n    border-radius: 50%;\n    background: #fff;\n    box-shadow:\n      inset 0 0 35px var(--process-glow),\n      0 0 42px var(--process-glow);\n  }\n\n  .nsg-nail-display small,\n  .nsg-process-core small {\n    color: rgba(255, 255, 255, 0.54);\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.16em;\n  }\n\n  .nsg-process-core small {\n    color: var(--muted);\n  }\n\n  .nsg-nail-display strong,\n  .nsg-process-core strong {\n    display: block;\n    margin: 6px 0;\n    color: #fff;\n    font-size: clamp(22px, 5vw, 31px);\n    line-height: 1;\n  }\n\n  .nsg-process-core strong {\n    color: var(--ink);\n  }\n\n  .nsg-nail-display \u003e span:last-child {\n    color: var(--active-colour);\n    font-size: 9px;\n    font-weight: 800;\n  }\n\n  .nsg-process-core span {\n    color: var(--rose-dark);\n    font-size: 9px;\n    font-weight: 800;\n  }\n\n  .nsg-selected {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    width: min(100%, 470px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    border: 1px solid var(--border);\n    border-radius: 18px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    text-align: left;\n  }\n\n  .nsg-selected--dark {\n    border-color: rgba(255, 255, 255, 0.12);\n    background: rgba(255, 255, 255, 0.065);\n    box-shadow: none;\n  }\n\n  .nsg-selected__number {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    flex: 0 0 40px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(145deg, var(--rose-dark), var(--rose));\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nsg-selected strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n    font-size: 16px;\n  }\n\n  .nsg-selected p {\n    color: var(--muted);\n    font-size: 13px;\n  }\n\n  .nsg-selected--dark strong {\n    color: #fff;\n  }\n\n  .nsg-selected--dark p {\n    color: rgba(255, 255, 255, 0.66);\n  }\n\n  \/* Fixed interactive cards *\/\n  .nsg-options {\n    display: grid;\n    width: 100%;\n    gap: 12px;\n  }\n\n  #novea-soft-gel-tips button.nsg-option {\n    position: relative !important;\n    display: grid !important;\n    grid-template-columns: 42px minmax(0, 1fr) !important;\n    align-items: start !important;\n    gap: 15px !important;\n\n    width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    min-height: 105px !important;\n    max-height: none !important;\n\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: visible !important;\n\n    border: 1px solid var(--border) !important;\n    border-radius: 18px !important;\n    color: var(--text) !important;\n    background: #fff !important;\n    box-shadow: var(--shadow) !important;\n\n    text-align: left !important;\n    text-indent: 0 !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    white-space: normal !important;\n\n    cursor: pointer !important;\n    appearance: none !important;\n    -webkit-appearance: none !important;\n\n    visibility: visible !important;\n    clip: auto !important;\n    clip-path: none !important;\n\n    transition:\n      transform 0.25s ease,\n      border-color 0.25s ease,\n      background 0.25s ease !important;\n  }\n\n  #novea-soft-gel-tips\n    .nsg-size-section\n    button.nsg-option {\n    border-color: rgba(255, 255, 255, 0.13) !important;\n    color: #fff !important;\n    background: rgba(255, 255, 255, 0.06) !important;\n    box-shadow: none !important;\n  }\n\n  #novea-soft-gel-tips button.nsg-option:hover,\n  #novea-soft-gel-tips button.nsg-option:focus-visible,\n  #novea-soft-gel-tips button.nsg-option.is-active {\n    border-color: rgba(183, 110, 121, 0.58) !important;\n    outline: none !important;\n    transform: translateX(5px) !important;\n  }\n\n  #novea-soft-gel-tips\n    .nsg-size-section\n    button.nsg-option.is-active {\n    background: rgba(255, 255, 255, 0.13) !important;\n  }\n\n  #novea-soft-gel-tips .nsg-option__number {\n    position: relative !important;\n    display: grid !important;\n    width: 42px !important;\n    min-width: 42px !important;\n    max-width: 42px !important;\n    height: 42px !important;\n    min-height: 42px !important;\n    max-height: 42px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border-radius: 50% !important;\n    color: var(--rose-dark) !important;\n    -webkit-text-fill-color: var(--rose-dark) !important;\n    background: var(--blush) !important;\n    font-size: 10px !important;\n    font-weight: 900 !important;\n    line-height: 1 !important;\n    opacity: 1 !important;\n    visibility: visible !important;\n    transform: none !important;\n    place-items: center !important;\n  }\n\n  #novea-soft-gel-tips .nsg-option__content {\n    position: relative !important;\n    display: flex !important;\n    flex-direction: column !important;\n    align-items: flex-start !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    min-height: 48px !important;\n    max-height: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    opacity: 1 !important;\n    visibility: visible !important;\n    transform: none !important;\n    clip: auto !important;\n    clip-path: none !important;\n  }\n\n  #novea-soft-gel-tips .nsg-option__content \u003e strong,\n  #novea-soft-gel-tips .nsg-option__content \u003e span {\n    position: static !important;\n    display: block !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    max-height: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    text-align: left !important;\n    text-indent: 0 !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    white-space: normal !important;\n    overflow-wrap: anywhere !important;\n    opacity: 1 !important;\n    visibility: visible !important;\n    transform: none !important;\n    clip: auto !important;\n    clip-path: none !important;\n  }\n\n  #novea-soft-gel-tips .nsg-option__content \u003e strong {\n    margin-bottom: 5px !important;\n    color: var(--ink) !important;\n    -webkit-text-fill-color: var(--ink) !important;\n    font-size: 15px !important;\n    font-weight: 800 !important;\n    line-height: 1.35 !important;\n  }\n\n  #novea-soft-gel-tips .nsg-option__content \u003e span {\n    color: var(--muted) !important;\n    -webkit-text-fill-color: var(--muted) !important;\n    font-size: 12px !important;\n    font-weight: 400 !important;\n    line-height: 1.55 !important;\n  }\n\n  #novea-soft-gel-tips\n    .nsg-size-section\n    .nsg-option__content\n    \u003e strong {\n    color: #fff !important;\n    -webkit-text-fill-color: #fff !important;\n  }\n\n  #novea-soft-gel-tips\n    .nsg-size-section\n    .nsg-option__content\n    \u003e span {\n    color: rgba(255, 255, 255, 0.7) !important;\n    -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;\n  }\n\n  \/* Cards and specifications *\/\n  .nsg-features,\n  .nsg-specifications,\n  .nsg-use-list,\n  .nsg-included {\n    display: grid;\n    gap: 14px;\n  }\n\n  .nsg-features {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .nsg-specifications {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .nsg-use-list {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    max-width: 1050px;\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .nsg-included {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .nsg-card,\n  .nsg-spec,\n  .nsg-use,\n  .nsg-included__item {\n    padding: 21px;\n    border: 1px solid var(--border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .nsg-card:hover,\n  .nsg-spec:hover,\n  .nsg-use:hover {\n    border-color: rgba(183, 110, 121, 0.4);\n    transform: translateY(-4px);\n  }\n\n  .nsg-card {\n    min-height: 205px;\n  }\n\n  .nsg-card \u003e span,\n  .nsg-spec \u003e span {\n    color: var(--rose);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .nsg-card \u003e span {\n    display: block;\n    margin-bottom: 29px;\n  }\n\n  .nsg-card h3 {\n    margin-bottom: 7px !important;\n    color: var(--ink);\n    font-size: 17px;\n  }\n\n  .nsg-card p,\n  .nsg-spec p,\n  .nsg-use p {\n    color: var(--muted);\n    font-size: 13px;\n  }\n\n  .nsg-spec,\n  .nsg-use,\n  .nsg-included__item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 130px;\n  }\n\n  .nsg-spec strong,\n  .nsg-use strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  .nsg-use \u003e span,\n  .nsg-included__item \u003e span {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    flex: 0 0 40px;\n    border-radius: 50%;\n    color: var(--rose-dark);\n    background: var(--blush);\n    font-size: 11px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nsg-use--featured {\n    grid-column: 2 \/ 3;\n  }\n\n  .nsg-safety {\n    display: flex;\n    align-items: flex-start;\n    gap: 17px;\n    max-width: 920px;\n    margin: 25px auto 0;\n    padding: 22px;\n    border: 1px solid rgba(183, 110, 121, 0.3);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n  }\n\n  .nsg-safety \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(145deg, var(--rose-dark), var(--rose));\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .nsg-safety strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n  }\n\n  .nsg-safety p {\n    color: var(--muted);\n    font-size: 12px;\n  }\n\n  .nsg-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(240, 202, 208, 0.6),\n        transparent 29%\n      ),\n      #f8f4f6;\n  }\n\n  .nsg-included__item {\n    align-items: center;\n    min-height: 115px;\n  }\n\n  .nsg-included__item small,\n  .nsg-included__item strong {\n    display: block;\n  }\n\n  .nsg-included__item small {\n    color: var(--muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n  }\n\n  .nsg-included__item strong {\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .nsg-cta {\n    position: relative;\n    padding: 98px 0;\n    overflow: hidden;\n    color: #fff;\n    background: var(--ink);\n    text-align: center;\n  }\n\n  .nsg-cta__inner {\n    max-width: 900px;\n  }\n\n  .nsg-cta h2 {\n    margin-top: 20px !important;\n    color: #fff;\n  }\n\n  .nsg-cta p {\n    color: rgba(255, 255, 255, 0.68);\n    font-size: 17px;\n    font-weight: 700;\n  }\n\n  .nsg-badge--dark {\n    color: #f1cbd1;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .nsg-button--light {\n    color: var(--ink);\n    border-color: #fff;\n    background: #fff;\n  }\n\n  .nsg-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(183, 110, 121, 0.42),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: nsg-cta-glow 4s ease-in-out infinite;\n  }\n\n  .nsg-disclaimer {\n    padding: 17px !important;\n    color: #817982;\n    background: #f3f0f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Reveal *\/\n  .nsg-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .nsg-js .nsg-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .nsg-js .nsg-reveal.nsg-visible {\n    opacity: 1;\n    transform: none;\n  }\n\n  @keyframes nsg-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-15px);\n    }\n  }\n\n  @keyframes nsg-pulse {\n    0%,\n    100% {\n      opacity: 0.17;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.5;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes nsg-cta-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (max-width: 959px) {\n    .nsg-benefits,\n    .nsg-specifications {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nsg-interactive-layout {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 46px;\n    }\n\n    .nsg-features {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .nsg-included {\n      grid-template-columns: 1fr;\n    }\n\n    .nsg-highlights {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      max-width: 650px;\n    }\n  }\n\n  @media (max-width: 679px) {\n    .nsg-hero {\n      padding: 73px 0 69px;\n    }\n\n    .nsg-section {\n      padding: 67px 0;\n    }\n\n    .nsg-benefits,\n    .nsg-specifications,\n    .nsg-use-list,\n    .nsg-features {\n      grid-template-columns: 1fr;\n    }\n\n    .nsg-use--featured {\n      grid-column: auto;\n    }\n\n    #novea-soft-gel-tips button.nsg-option:hover,\n    #novea-soft-gel-tips button.nsg-option:focus-visible,\n    #novea-soft-gel-tips button.nsg-option.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 420px) {\n    .nsg-container {\n      width: calc(100% - 22px);\n    }\n\n    .nsg-highlights {\n      grid-template-columns: 1fr;\n    }\n\n    #novea-soft-gel-tips button.nsg-option {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      gap: 13px !important;\n      min-height: 100px !important;\n      padding: 15px !important;\n    }\n\n    #novea-soft-gel-tips .nsg-option__number {\n      width: 38px !important;\n      min-width: 38px !important;\n      max-width: 38px !important;\n      height: 38px !important;\n      min-height: 38px !important;\n      max-height: 38px !important;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-soft-gel-tips *,\n    #novea-soft-gel-tips *::before,\n    #novea-soft-gel-tips *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .nsg-js .nsg-reveal,\n    .nsg-js .nsg-reveal.nsg-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Medium Almond","offer_id":52234915971288,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Short Round","offer_id":52234916004056,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Medium Round","offer_id":52234916036824,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Short Square","offer_id":52234916069592,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Medium Oval","offer_id":52234916102360,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Long Almond","offer_id":52234916135128,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Long Coffin","offer_id":52234916167896,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Long Ballerina","offer_id":52234916200664,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Extra Long Stiletto","offer_id":52234916233432,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true},{"title":"Extra Long Coffin","offer_id":52234916266200,"sku":null,"price":249.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-25at10.14.50.jpg?v=1786662732"},{"product_id":"novea™-glow-guard-spf-50-sunscreen-spray","title":"NOVÉA™ Glow Guard SPF 50 Sunscreen Spray","description":"\u003cdiv id=\"novea-glow-guard\" class=\"ngg\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"ngg-hero\"\u003e\n\u003cdiv class=\"ngg-grid-pattern\"\u003e\u003c\/div\u003e\n\u003cspan class=\"ngg-orb ngg-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ngg-orb ngg-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-hero__copy ngg-reveal\"\u003e\n\u003cspan class=\"ngg-badge\"\u003eNOVÉA™ SUNCARE\u003c\/span\u003e\n\u003ch1\u003eNOVÉA™ Glow Guard \u003cspan\u003eSPF 50 Sunscreen Spray\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"ngg-tagline\"\u003eProtected Skin. Radiant Glow.\u003cbr\u003eAll Day Long.\u003c\/p\u003e\n\u003cp class=\"ngg-description\"\u003eBroad-spectrum SPF 50 PA+++ protection in a lightweight, ultra-fine mist designed to absorb without a visible white cast and leave skin feeling fresh, hydrated and beautifully radiant.\u003c\/p\u003e\n\u003cdiv class=\"ngg-highlights\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSPF 50\u003c\/strong\u003e \u003cspan\u003eUVB protection\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePA+++\u003c\/strong\u003e \u003cspan\u003eUVA protection\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e88ml\u003c\/strong\u003e \u003cspan\u003espray bottle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e360°\u003c\/strong\u003e \u003cspan\u003eultra-fine mist\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-trust\"\u003e\n\u003cspan\u003eNo visible white cast\u003c\/span\u003e \u003cspan\u003eLightweight feel\u003c\/span\u003e \u003cspan\u003eFace and body\u003c\/span\u003e \u003cspan\u003eDewy finish\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"ngg-button\" href=\"#ngg-benefits\"\u003e Discover Glow Guard \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"ngg-section\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003e Daily defence for radiant-looking skin \u003c\/span\u003e\n\u003ch2\u003eHigh protection without the heavy sunscreen feel.\u003c\/h2\u003e\n\u003cp\u003eSouth Africa’s intense sunlight makes daily protection essential. Glow Guard disperses sunscreen in a fine mist for quick, even application—helping protect exposed skin from UVA and UVB radiation while maintaining a comfortable, luminous finish.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-statement ngg-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBecause glowing skin and protected skin should never be a compromise.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection id=\"ngg-benefits\" class=\"ngg-section ngg-section--soft\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003eWhat your skin gains\u003c\/span\u003e\n\u003ch2\u003eProtection made beautifully wearable\u003c\/h2\u003e\n\u003cp\u003eSelect each benefit to learn more about the Glow Guard experience.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-benefits\"\u003e\n\u003carticle class=\"ngg-benefit is-open ngg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ngg-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"ngg-benefit__icon\"\u003e☀\u003c\/span\u003e\n\u003ch3\u003eBroad-spectrum protection\u003c\/h3\u003e\n\u003cp\u003eSPF 50 PA+++ is designed to provide high protection against UVB radiation and strong protection against UVA radiation when applied correctly and reapplied as directed.\u003c\/p\u003e\n\u003cspan class=\"ngg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ngg-benefit ngg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ngg-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"ngg-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eNo visible white cast\u003c\/h3\u003e\n\u003cp\u003eThe fine mist is designed to settle invisibly without leaving the chalky-looking residue often associated with heavier sunscreen formulas.\u003c\/p\u003e\n\u003cspan class=\"ngg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ngg-benefit ngg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ngg-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"ngg-benefit__icon\"\u003e≈\u003c\/span\u003e\n\u003ch3\u003eLightweight skin feel\u003c\/h3\u003e\n\u003cp\u003eA breathable, non-greasy finish makes daily sun protection feel more comfortable on both the face and body.\u003c\/p\u003e\n\u003cspan class=\"ngg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ngg-benefit ngg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ngg-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"ngg-benefit__icon\"\u003e◎\u003c\/span\u003e\n\u003ch3\u003eQuick, even application\u003c\/h3\u003e\n\u003cp\u003eThe atomising nozzle disperses an ultra-fine mist to help cover exposed areas efficiently. Rub in where required to ensure complete and uniform coverage.\u003c\/p\u003e\n\u003cspan class=\"ngg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ngg-benefit ngg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ngg-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"ngg-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eHydrated-looking glow\u003c\/h3\u003e\n\u003cp\u003eThe moisturising formula helps skin feel soft and comfortable, leaving behind a fresh, luminous-looking finish.\u003c\/p\u003e\n\u003cspan class=\"ngg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ngg-benefit ngg-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ngg-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"ngg-benefit__icon\"\u003e↻\u003c\/span\u003e\n\u003ch3\u003eEffortless reapplication\u003c\/h3\u003e\n\u003cp\u003eThe portable spray format makes regular sunscreen top-ups quick and convenient throughout the day.\u003c\/p\u003e\n\u003cspan class=\"ngg-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE PROTECTION --\u003e\n\u003csection id=\"ngg-protection-system\" class=\"ngg-section ngg-protection\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-heading--light ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003eBroad-spectrum sun defence\u003c\/span\u003e\n\u003ch2 id=\"ngg-protection-title\"\u003eExplore the protection system\u003c\/h2\u003e\n\u003cp\u003eSelect each stage to see how Glow Guard supports your daily routine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-interactive\"\u003e\n\u003cdiv class=\"ngg-protection__preview ngg-reveal\"\u003e\n\u003cdiv class=\"ngg-shield-orbit\"\u003e\n\u003cspan class=\"ngg-shield-ring ngg-shield-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"ngg-shield-ring ngg-shield-ring--inner\"\u003e\u003c\/span\u003e \u003cspan class=\"ngg-ray ngg-ray--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ngg-ray ngg-ray--two\"\u003e\u003c\/span\u003e \u003cspan class=\"ngg-ray ngg-ray--three\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ngg-shield-core\"\u003e\n\u003csmall class=\"ngg-stage-label\"\u003ePROTECTION 01\u003c\/small\u003e \u003cstrong class=\"ngg-stage-word\"\u003eUVB\u003c\/strong\u003e \u003cspan class=\"ngg-stage-detail\"\u003eSPF 50\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-selected\" role=\"status\"\u003e\n\u003cspan class=\"ngg-selected__number\"\u003e01\u003c\/span\u003e\n\u003cdiv class=\"ngg-selected__content\"\u003e\n\u003cstrong class=\"ngg-selected__title\"\u003e High UVB Protection \u003c\/strong\u003e\n\u003cp class=\"ngg-selected__copy\"\u003eSPF 50 provides high protection against the UVB radiation primarily responsible for sunburn.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-options\" role=\"group\"\u003e\n\u003cbutton class=\"ngg-option is-active ngg-reveal\" type=\"button\"\u003e \u003cspan class=\"ngg-option__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"ngg-option__content\"\u003e \u003cstrong\u003eDefend against UVB\u003c\/strong\u003e \u003cspan\u003e Helps protect exposed skin against sunburn-causing radiation. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ngg-option ngg-reveal\" type=\"button\"\u003e \u003cspan class=\"ngg-option__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"ngg-option__content\"\u003e \u003cstrong\u003eDefend against UVA\u003c\/strong\u003e \u003cspan\u003e Supports protection against radiation associated with photoageing. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ngg-option ngg-reveal\" type=\"button\"\u003e \u003cspan class=\"ngg-option__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"ngg-option__content\"\u003e \u003cstrong\u003eDisperse evenly\u003c\/strong\u003e \u003cspan\u003e The fine spray helps distribute sunscreen quickly and efficiently. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ngg-option ngg-reveal\" type=\"button\"\u003e \u003cspan class=\"ngg-option__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"ngg-option__content\"\u003e \u003cstrong\u003eSettle and glow\u003c\/strong\u003e \u003cspan\u003e A comfortable finish created for protected, radiant-looking skin. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- LIFESTYLE --\u003e\n\u003csection class=\"ngg-section\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003eProtection that moves with you\u003c\/span\u003e\n\u003ch2\u003eMade for every sun-exposed moment\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-lifestyles\"\u003e\n\u003carticle class=\"ngg-card ngg-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003ch3\u003eDaily commutes\u003c\/h3\u003e\n\u003cp\u003eApply before leaving home to help protect exposed skin during everyday travel.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-card ngg-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003ch3\u003eOutdoor days\u003c\/h3\u003e\n\u003cp\u003eKeep Glow Guard nearby for regular reapplication during extended time outdoors.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-card ngg-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003ch3\u003eBeach and pool\u003c\/h3\u003e\n\u003cp\u003eReapply immediately after swimming, towelling or excessive perspiration. Use water-resistant sunscreen where required.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-card ngg-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003ch3\u003eMakeup routines\u003c\/h3\u003e\n\u003cp\u003eAllow the formula to settle before applying makeup and follow the product directions when reapplying.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"ngg-section ngg-section--soft\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003e Premium protection, precisely considered \u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-specifications\"\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProtection rating\u003c\/strong\u003e\n\u003cp\u003eSPF 50 PA+++ broad-spectrum UVA and UVB protection.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUVB protection\u003c\/strong\u003e\n\u003cp\u003eSPF 50 provides high UVB protection when applied at the tested amount and reapplied correctly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUVA protection\u003c\/strong\u003e\n\u003cp\u003ePA+++ indicates strong protection against UVA radiation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eVolume\u003c\/strong\u003e\n\u003cp\u003e88ml spray presentation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApplication\u003c\/strong\u003e\n\u003cp\u003eUltra-fine 360-degree atomising spray mist.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFinish\u003c\/strong\u003e\n\u003cp\u003eInvisible-looking, lightweight and dewy.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSkin compatibility\u003c\/strong\u003e\n\u003cp\u003eDesigned for all skin tones and everyday application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBottle\u003c\/strong\u003e\n\u003cp\u003eClear teardrop bottle with a yellow spray cap.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-specification ngg-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePremium packaging\u003c\/strong\u003e\n\u003cp\u003eNOVÉA™ matte-black gift box with South African flag detailing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection id=\"ngg-how-to-use\" class=\"ngg-section\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003eYour daily protection ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eFollow the final directions and warnings printed on the tested product label.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"ngg-use-list\"\u003e\n\u003cli class=\"ngg-use-item ngg-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eShake gently\u003c\/strong\u003e\n\u003cp\u003eShake the bottle before each application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ngg-use-item ngg-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApply before exposure\u003c\/strong\u003e\n\u003cp\u003eApply generously to dry skin approximately 15 minutes before sun exposure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ngg-use-item ngg-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSpray the body\u003c\/strong\u003e\n\u003cp\u003eHold 15–20cm from exposed body areas, spray generously and rub in to create complete, even coverage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ngg-use-item ngg-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eProtect the face safely\u003c\/strong\u003e\n\u003cp\u003eDo not spray directly onto the face. Spray into your hands first, then apply while avoiding the eyes, mouth and inhalation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ngg-use-item ngg-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAllow to settle\u003c\/strong\u003e\n\u003cp\u003eLet the sunscreen settle fully before dressing or applying makeup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ngg-use-item ngg-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eReapply regularly\u003c\/strong\u003e\n\u003cp\u003eReapply at least every two hours and after swimming, sweating, towelling or extended sun exposure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ngg-use-item ngg-use-item--featured ngg-reveal\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUse alongside sun-safe habits\u003c\/strong\u003e\n\u003cp\u003eWear protective clothing, seek shade and avoid prolonged exposure during peak sunlight hours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"ngg-safety ngg-reveal\"\u003e\n\u003cspan\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSun-protection guidance\u003c\/strong\u003e\n\u003cp\u003eSunscreen cannot provide complete protection. Applying too little significantly reduces protection. Avoid inhaling spray, keep away from eyes and broken skin, and discontinue use if irritation occurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"ngg-section ngg-included-section\"\u003e\n\u003cdiv class=\"ngg-container\"\u003e\n\u003cdiv class=\"ngg-heading ngg-reveal\"\u003e\n\u003cspan class=\"ngg-eyebrow\"\u003eThe complete presentation\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ngg-included\"\u003e\n\u003carticle class=\"ngg-included__item ngg-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eYour daily SPF\u003c\/small\u003e \u003cstrong\u003e NOVÉA™ Glow Guard SPF 50 PA+++ Sunscreen Spray — 88ml \u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ngg-included__item ngg-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePremium presentation\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- FINAL CTA --\u003e\n\u003csection class=\"ngg-cta\"\u003e\u003cspan class=\"ngg-cta__glow\"\u003e\u003c\/span\u003e \u003cspan class=\"ngg-cta__sun\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ngg-container ngg-cta__inner ngg-reveal\"\u003e\n\u003cspan class=\"ngg-badge ngg-badge--dark\"\u003e NOVÉA™ GLOW GUARD \u003c\/span\u003e\n\u003ch2\u003eProtected skin. Radiant glow. Every single day.\u003c\/h2\u003e\n\u003cp\u003eMake broad-spectrum sun protection an effortless part of your routine.\u003c\/p\u003e\n\u003ca class=\"ngg-button ngg-button--light\" href=\"#ngg-how-to-use\"\u003e Explore the ritual \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"ngg-disclaimer\"\u003eSunscreen reduces UV exposure but does not provide complete protection. Product claims, SPF, UVA rating, broad-spectrum status, water resistance, sensitive-skin suitability, directions, packaging and origin must be verified against accredited testing and supplier documentation before publication or sale.\u003cscript\u003e\n  (function () {\n    \"use strict\";\n\n    var ROOT_SELECTOR = \"#novea-glow-guard\";\n\n    function setText(root, selector, value) {\n      var element = root.querySelector(selector);\n\n      if (element) {\n        element.textContent = value;\n      }\n    }\n\n    function updateProtection(root, button, animate) {\n      if (!root || !button) {\n        return;\n      }\n\n      var section = root.querySelector(\"#ngg-protection-system\");\n      var orbit = root.querySelector(\".ngg-shield-orbit\");\n      var preview = root.querySelector(\".ngg-protection__preview\");\n      var buttons = root.querySelectorAll(\".ngg-option\");\n\n      var data = {\n        number: button.getAttribute(\"data-number\") || \"01\",\n        label:\n          button.getAttribute(\"data-label\") ||\n          \"PROTECTION 01\",\n        word: button.getAttribute(\"data-word\") || \"UVB\",\n        detail:\n          button.getAttribute(\"data-detail\") ||\n          \"SPF 50\",\n        title:\n          button.getAttribute(\"data-title\") ||\n          \"High UVB Protection\",\n        copy:\n          button.getAttribute(\"data-copy\") ||\n          \"SPF 50 provides high protection against UVB radiation.\",\n        colour:\n          button.getAttribute(\"data-colour\") ||\n          \"#ffd166\",\n        glow:\n          button.getAttribute(\"data-glow\") ||\n          \"rgba(255, 209, 102, 0.58)\"\n      };\n\n      buttons.forEach(function (item) {\n        var selected = item === button;\n\n        item.classList.toggle(\"is-active\", selected);\n\n        item.setAttribute(\n          \"aria-pressed\",\n          selected ? \"true\" : \"false\"\n        );\n\n        if (selected) {\n          item.style.setProperty(\n            \"--option-colour\",\n            data.colour\n          );\n\n          item.style.setProperty(\n            \"--option-glow\",\n            data.glow\n          );\n        } else {\n          item.style.removeProperty(\"--option-colour\");\n          item.style.removeProperty(\"--option-glow\");\n        }\n      });\n\n      if (section) {\n        section.style.setProperty(\n          \"--active-colour\",\n          data.colour\n        );\n\n        section.style.setProperty(\n          \"--active-glow\",\n          data.glow\n        );\n      }\n\n      if (orbit) {\n        orbit.style.setProperty(\n          \"--active-colour\",\n          data.colour\n        );\n\n        orbit.style.setProperty(\n          \"--active-glow\",\n          data.glow\n        );\n      }\n\n      setText(\n        root,\n        \".ngg-selected__number\",\n        data.number\n      );\n\n      setText(\n        root,\n        \".ngg-stage-label\",\n        data.label\n      );\n\n      setText(\n        root,\n        \".ngg-stage-word\",\n        data.word\n      );\n\n      setText(\n        root,\n        \".ngg-stage-detail\",\n        data.detail\n      );\n\n      setText(\n        root,\n        \".ngg-selected__title\",\n        data.title\n      );\n\n      setText(\n        root,\n        \".ngg-selected__copy\",\n        data.copy\n      );\n\n      if (preview \u0026\u0026 animate !== false) {\n        preview.classList.remove(\"ngg-is-changing\");\n\n        void preview.offsetWidth;\n\n        preview.classList.add(\"ngg-is-changing\");\n\n        window.setTimeout(function () {\n          preview.classList.remove(\"ngg-is-changing\");\n        }, 400);\n      }\n    }\n\n    function toggleBenefit(card) {\n      if (!card) {\n        return;\n      }\n\n      var open = card.classList.toggle(\"is-open\");\n\n      card.setAttribute(\n        \"aria-expanded\",\n        open ? \"true\" : \"false\"\n      );\n    }\n\n    function initialiseReveals(root) {\n      var revealItems =\n        root.querySelectorAll(\".ngg-reveal\");\n\n      var reducedMotion =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\n          \"(prefers-reduced-motion: reduce)\"\n        ).matches;\n\n      if (\n        reducedMotion ||\n        !(\"IntersectionObserver\" in window)\n      ) {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"ngg-visible\");\n        });\n\n        return;\n      }\n\n      var observer = new IntersectionObserver(\n        function (entries) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) {\n              return;\n            }\n\n            entry.target.classList.add(\"ngg-visible\");\n            observer.unobserve(entry.target);\n          });\n        },\n        {\n          threshold: 0.08,\n          rootMargin: \"0px 0px -18px 0px\"\n        }\n      );\n\n      revealItems.forEach(function (item, index) {\n        item.style.transitionDelay =\n          ((index % 4) * 55) + \"ms\";\n\n        observer.observe(item);\n      });\n\n      window.setTimeout(function () {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"ngg-visible\");\n        });\n      }, 1800);\n    }\n\n    function initialiseGlowGuard(root) {\n      if (\n        !root ||\n        root.getAttribute(\"data-ngg-ready\") === \"true\"\n      ) {\n        return;\n      }\n\n      root.setAttribute(\"data-ngg-ready\", \"true\");\n      root.classList.add(\"ngg-js\");\n\n      initialiseReveals(root);\n\n      root\n        .querySelectorAll(\".ngg-benefit\")\n        .forEach(function (card) {\n          card.setAttribute(\n            \"aria-expanded\",\n            card.classList.contains(\"is-open\")\n              ? \"true\"\n              : \"false\"\n          );\n        });\n\n      var initialOption =\n        root.querySelector(\".ngg-option.is-active\") ||\n        root.querySelector(\".ngg-option\");\n\n      if (initialOption) {\n        updateProtection(\n          root,\n          initialOption,\n          false\n        );\n      }\n    }\n\n    function initialiseAll(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(ROOT_SELECTOR)\n      ) {\n        initialiseGlowGuard(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        scope\n          .querySelectorAll(ROOT_SELECTOR)\n          .forEach(function (root) {\n            initialiseGlowGuard(root);\n          });\n      }\n    }\n\n    document.addEventListener(\n      \"click\",\n      function (event) {\n        var option = event.target.closest(\n          ROOT_SELECTOR + \" .ngg-option\"\n        );\n\n        if (option) {\n          event.preventDefault();\n\n          updateProtection(\n            option.closest(ROOT_SELECTOR),\n            option,\n            true\n          );\n\n          return;\n        }\n\n        var benefit = event.target.closest(\n          ROOT_SELECTOR + \" .ngg-benefit\"\n        );\n\n        if (benefit) {\n          toggleBenefit(benefit);\n        }\n      }\n    );\n\n    document.addEventListener(\n      \"keydown\",\n      function (event) {\n        if (\n          event.key !== \"Enter\" \u0026\u0026\n          event.key !== \" \"\n        ) {\n          return;\n        }\n\n        var benefit = event.target.closest(\n          ROOT_SELECTOR + \" .ngg-benefit\"\n        );\n\n        if (!benefit) {\n          return;\n        }\n\n        event.preventDefault();\n        toggleBenefit(benefit);\n      }\n    );\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAll(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAll(document);\n    }\n\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(ROOT_SELECTOR)\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root =\n            event.target.querySelector(ROOT_SELECTOR);\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-ngg-ready\");\n        root.classList.remove(\"ngg-js\");\n\n        initialiseGlowGuard(root);\n      }\n    );\n  })();\n\u003c\/script\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-glow-guard {\n    --ink: #17161a;\n    --text: #443f44;\n    --muted: #766f76;\n    --gold: #e9a72e;\n    --gold-dark: #a9680b;\n    --yellow: #ffd166;\n    --soft: #fff5dc;\n    --border: rgba(23, 22, 26, 0.11);\n    --shadow: 0 16px 44px rgba(45, 33, 23, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--text);\n    background: #fff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-glow-guard *,\n  #novea-glow-guard *::before,\n  #novea-glow-guard *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-glow-guard h1,\n  #novea-glow-guard h2,\n  #novea-glow-guard h3,\n  #novea-glow-guard p {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-glow-guard button,\n  #novea-glow-guard a {\n    font: inherit;\n  }\n\n  #novea-glow-guard button {\n    letter-spacing: normal;\n  }\n\n  .ngg-container {\n    position: relative;\n    z-index: 2;\n    width: min(1140px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .ngg-section {\n    position: relative;\n    padding: 84px 0;\n  }\n\n  .ngg-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 8%,\n        rgba(255, 224, 143, 0.38),\n        transparent 29%\n      ),\n      linear-gradient(180deg, #fffefb, #faf6ee);\n  }\n\n  .ngg-heading {\n    width: min(100%, 800px);\n    margin: 0 auto 43px;\n    text-align: center;\n  }\n\n  .ngg-heading h2,\n  .ngg-cta h2 {\n    margin: 8px 0 14px !important;\n    color: var(--ink);\n    font-size: clamp(31px, 5vw, 53px);\n    font-weight: 780;\n    line-height: 1.06;\n    letter-spacing: -0.045em;\n  }\n\n  .ngg-heading p {\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .ngg-eyebrow {\n    display: inline-block;\n    color: var(--gold-dark);\n    font-size: 10px;\n    font-weight: 850;\n    line-height: 1.4;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .ngg-hero {\n    position: relative;\n    padding: 105px 0 100px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 15%,\n        rgba(255, 255, 255, 0.98),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 88% 87%,\n        rgba(255, 201, 82, 0.38),\n        transparent 29%\n      ),\n      linear-gradient(145deg, #fff, #fff2c9 54%, #f7d59b);\n  }\n\n  .ngg-grid-pattern {\n    position: absolute;\n    inset: 0;\n    opacity: 0.22;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.6) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.6) 1px,\n        transparent 1px\n      );\n    background-size: 48px 48px;\n  }\n\n  .ngg-hero__copy {\n    width: min(100%, 860px);\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .ngg-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(185, 116, 13, 0.27);\n    border-radius: 999px;\n    color: var(--gold-dark);\n    background: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 24px rgba(185, 116, 13, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .ngg-hero h1 {\n    width: min(100%, 850px);\n    margin: 22px auto 17px;\n    color: var(--ink);\n    font-size: clamp(47px, 8vw, 80px);\n    font-weight: 810;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .ngg-hero h1 span {\n    display: block;\n    margin-top: 11px;\n    color: var(--gold-dark);\n    font-size: 0.44em;\n    line-height: 1.12;\n    letter-spacing: -0.035em;\n  }\n\n  .ngg-tagline {\n    margin-bottom: 16px !important;\n    color: var(--gold-dark);\n    font-size: clamp(21px, 3vw, 28px);\n    font-weight: 780;\n    line-height: 1.28;\n  }\n\n  .ngg-description {\n    width: min(100%, 700px);\n    margin: 0 auto !important;\n    color: var(--muted);\n    font-size: 16px;\n  }\n\n  .ngg-highlights {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 10px;\n    width: min(100%, 810px);\n    margin: 28px auto 0;\n  }\n\n  .ngg-highlights div {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 7px;\n    min-width: 0;\n    min-height: 60px;\n    padding: 12px;\n    border: 1px solid var(--border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.84);\n    box-shadow: 0 7px 20px rgba(45, 33, 23, 0.06);\n  }\n\n  .ngg-highlights strong {\n    color: var(--gold-dark);\n    font-size: 13px;\n  }\n\n  .ngg-highlights span {\n    color: #655f59;\n    font-size: 12px;\n  }\n\n  .ngg-trust {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 11px 22px;\n    margin-top: 20px;\n  }\n\n  .ngg-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #6b655e;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .ngg-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--gold);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .ngg-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    margin-top: 27px;\n    padding: 12px 22px;\n    border: 1px solid var(--gold-dark);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(135deg, var(--gold-dark), var(--gold));\n    box-shadow: 0 13px 29px rgba(185, 116, 13, 0.28);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .ngg-button:hover,\n  .ngg-button:focus-visible {\n    outline: none;\n    box-shadow: 0 17px 38px rgba(185, 116, 13, 0.36);\n    transform: translateY(-3px);\n  }\n\n  .ngg-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: ngg-float 7s ease-in-out infinite;\n  }\n\n  .ngg-orb--one {\n    top: 8%;\n    left: 3%;\n    width: 150px;\n    height: 150px;\n    background: rgba(255, 199, 62, 0.13);\n  }\n\n  .ngg-orb--two {\n    right: 3%;\n    bottom: 7%;\n    width: 195px;\n    height: 195px;\n    background: rgba(245, 169, 78, 0.13);\n    animation-delay: -3s;\n  }\n\n  \/* Statement *\/\n  .ngg-statement {\n    position: relative;\n    width: min(100%, 720px);\n    margin: 0 auto;\n    padding: 30px 32px;\n    overflow: hidden;\n    border: 1px solid var(--border);\n    border-radius: 21px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(255, 221, 128, 0.45),\n        transparent 48%\n      ),\n      #fff;\n    box-shadow: var(--shadow);\n    text-align: center;\n  }\n\n  .ngg-statement \u003e span {\n    position: absolute;\n    top: -17px;\n    left: 18px;\n    color: rgba(222, 154, 35, 0.17);\n    font-family: Georgia, serif;\n    font-size: 105px;\n  }\n\n  .ngg-statement p {\n    position: relative;\n    color: var(--ink);\n    font-size: clamp(18px, 3vw, 24px);\n    font-weight: 750;\n  }\n\n  \/* Benefits *\/\n  .ngg-benefits {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 15px;\n  }\n\n  .ngg-benefit {\n    position: relative;\n    min-width: 0;\n    min-height: 184px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--border);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .ngg-benefit:hover,\n  .ngg-benefit:focus-visible,\n  .ngg-benefit.is-open {\n    border-color: rgba(222, 154, 35, 0.48);\n    outline: none;\n    box-shadow: 0 22px 52px rgba(45, 33, 23, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .ngg-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(185, 116, 13, 0.68);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .ngg-benefit__icon {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    margin-bottom: 15px;\n    border-radius: 13px;\n    color: var(--gold-dark);\n    background: linear-gradient(180deg, #fff, var(--soft));\n    box-shadow: 0 7px 18px rgba(185, 116, 13, 0.16);\n    place-items: center;\n  }\n\n  .ngg-benefit h3 {\n    padding-right: 28px !important;\n    color: var(--ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .ngg-benefit p {\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .ngg-benefit.is-open p {\n    max-height: 300px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: none;\n  }\n\n  .ngg-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 23px;\n    height: 23px;\n    border: 1px solid rgba(185, 116, 13, 0.3);\n    border-radius: 50%;\n  }\n\n  .ngg-benefit__toggle::before,\n  .ngg-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--gold-dark);\n    content: \"\";\n    transform: translate(-50%, -50%);\n  }\n\n  .ngg-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n    transition: transform 0.25s ease;\n  }\n\n  .ngg-benefit.is-open .ngg-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* Protection interaction *\/\n  .ngg-protection {\n    --active-colour: #ffd166;\n    --active-glow: rgba(255, 209, 102, 0.58);\n\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 8% 10%,\n        rgba(225, 161, 45, 0.24),\n        transparent 29%\n      ),\n      radial-gradient(\n        circle at 92% 90%,\n        rgba(183, 110, 121, 0.18),\n        transparent 30%\n      ),\n      var(--ink);\n  }\n\n  .ngg-heading--light h2 {\n    color: #fff;\n  }\n\n  .ngg-heading--light p {\n    color: rgba(255, 255, 255, 0.64);\n  }\n\n  .ngg-heading--light .ngg-eyebrow {\n    color: #ffd477;\n  }\n\n  .ngg-interactive {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    align-items: center;\n    gap: 65px;\n    width: 100%;\n    min-width: 0;\n  }\n\n  .ngg-protection__preview,\n  .ngg-options,\n  .ngg-selected,\n  .ngg-selected__content {\n    min-width: 0;\n  }\n\n  .ngg-protection__preview {\n    width: 100%;\n    text-align: center;\n  }\n\n  .ngg-shield-orbit {\n    position: relative;\n    display: grid;\n    width: min(350px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 25px;\n    place-items: center;\n  }\n\n  .ngg-shield-orbit::before {\n    position: absolute;\n    width: 63%;\n    height: 63%;\n    border-radius: 50%;\n    background: var(--active-glow);\n    content: \"\";\n    filter: blur(51px);\n    opacity: 0.56;\n    transition: background 0.45s ease;\n  }\n\n  .ngg-shield-ring {\n    position: absolute;\n    border: 1px solid var(--active-colour);\n    border-radius: 50%;\n    pointer-events: none;\n    animation: ngg-pulse 3s ease-in-out infinite;\n    transition: border-color 0.45s ease;\n  }\n\n  .ngg-shield-ring--outer {\n    width: 94%;\n    height: 94%;\n  }\n\n  .ngg-shield-ring--inner {\n    width: 72%;\n    height: 72%;\n    animation-delay: -1.5s;\n  }\n\n  .ngg-shield-core {\n    position: relative;\n    z-index: 3;\n    display: grid;\n    width: 54%;\n    aspect-ratio: 1;\n    padding: 15px;\n    overflow: visible;\n    border: 2px solid var(--active-colour);\n    border-radius: 50% 50% 46% 46% \/ 43% 43% 60% 60%;\n    background: #fff;\n    box-shadow:\n      inset 0 0 35px var(--active-glow),\n      0 0 42px var(--active-glow);\n    place-content: center;\n    text-align: center;\n    transition:\n      border-color 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .ngg-stage-label,\n  .ngg-stage-word,\n  .ngg-stage-detail {\n    display: block;\n    position: relative;\n    width: 100%;\n    height: auto;\n    overflow: visible;\n    text-align: center;\n    visibility: visible;\n    opacity: 1;\n  }\n\n  .ngg-stage-label {\n    color: var(--muted);\n    font-size: 8px;\n    font-weight: 900;\n    line-height: 1.3;\n    letter-spacing: 0.15em;\n  }\n\n  .ngg-stage-word {\n    margin: 7px 0;\n    color: var(--ink);\n    font-size: clamp(23px, 5vw, 31px);\n    font-weight: 850;\n    line-height: 1;\n  }\n\n  .ngg-stage-detail {\n    color: var(--gold-dark);\n    font-size: 10px;\n    font-weight: 900;\n    line-height: 1.3;\n  }\n\n  .ngg-ray {\n    position: absolute;\n    z-index: 1;\n    top: 7%;\n    width: 2px;\n    height: 89px;\n    border-radius: 999px;\n    background: linear-gradient(\n      to bottom,\n      var(--active-colour),\n      transparent\n    );\n    pointer-events: none;\n    transform-origin: bottom center;\n    animation: ngg-ray 2.6s ease-in-out infinite;\n    transition: background 0.45s ease;\n  }\n\n  .ngg-ray--one {\n    left: 33%;\n    transform: rotate(-19deg);\n  }\n\n  .ngg-ray--two {\n    left: 50%;\n    animation-delay: -0.8s;\n  }\n\n  .ngg-ray--three {\n    right: 31%;\n    transform: rotate(20deg);\n    animation-delay: -1.6s;\n  }\n\n  .ngg-selected {\n    display: grid;\n    grid-template-columns: 40px minmax(0, 1fr);\n    align-items: start;\n    gap: 14px;\n    width: min(100%, 470px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.14);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.075);\n    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.14);\n    text-align: left;\n  }\n\n  .ngg-selected__number {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    color: var(--ink);\n    background: var(--active-colour);\n    box-shadow: 0 0 18px var(--active-glow);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n    transition:\n      background 0.45s ease,\n      box-shadow 0.45s ease;\n  }\n\n  .ngg-selected__title,\n  .ngg-selected__copy {\n    display: block;\n    position: static;\n    width: 100%;\n    height: auto;\n    max-height: none;\n    overflow: visible;\n    white-space: normal;\n    overflow-wrap: anywhere;\n    visibility: visible;\n    opacity: 1;\n  }\n\n  .ngg-selected__title {\n    margin-bottom: 5px;\n    color: #fff;\n    font-size: 16px;\n    font-weight: 800;\n    line-height: 1.35;\n  }\n\n  .ngg-selected__copy {\n    color: rgba(255, 255, 255, 0.68);\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  .ngg-options {\n    display: grid;\n    width: 100%;\n    gap: 12px;\n  }\n\n  #novea-glow-guard button.ngg-option {\n    position: relative !important;\n    display: grid !important;\n    grid-template-columns: 42px minmax(0, 1fr) !important;\n    align-items: start !important;\n    gap: 15px !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    min-height: 108px !important;\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: hidden !important;\n    border: 1px solid rgba(255, 255, 255, 0.13) !important;\n    border-radius: 18px !important;\n    color: #fff !important;\n    background: rgba(255, 255, 255, 0.055) !important;\n    box-shadow: none !important;\n    text-align: left !important;\n    text-indent: 0 !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    white-space: normal !important;\n    cursor: pointer !important;\n    appearance: none !important;\n    -webkit-appearance: none !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    transform: none !important;\n    transition:\n      border-color 0.25s ease,\n      background 0.25s ease,\n      box-shadow 0.25s ease,\n      transform 0.25s ease !important;\n  }\n\n  #novea-glow-guard button.ngg-option::before {\n    position: absolute;\n    top: 14px;\n    bottom: 14px;\n    left: 0;\n    width: 3px;\n    border-radius: 0 999px 999px 0;\n    background: var(--option-colour, transparent);\n    content: \"\";\n    opacity: 0;\n    transform: scaleY(0.45);\n    transition:\n      opacity 0.25s ease,\n      transform 0.25s ease;\n  }\n\n  #novea-glow-guard button.ngg-option:hover,\n  #novea-glow-guard button.ngg-option:focus-visible {\n    border-color: rgba(255, 209, 102, 0.5) !important;\n    outline: none !important;\n    background: rgba(255, 255, 255, 0.095) !important;\n    transform: translateY(-2px) !important;\n  }\n\n  #novea-glow-guard button.ngg-option:focus-visible {\n    box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.18) !important;\n  }\n\n  #novea-glow-guard button.ngg-option.is-active {\n    border-color: var(--option-colour, #ffd166) !important;\n    background: rgba(255, 255, 255, 0.13) !important;\n    box-shadow:\n      inset 3px 0 0 var(--option-colour, #ffd166),\n      0 14px 34px rgba(0, 0, 0, 0.18) !important;\n    transform: none !important;\n  }\n\n  #novea-glow-guard button.ngg-option.is-active::before {\n    opacity: 1;\n    transform: scaleY(1);\n  }\n\n  .ngg-option__number {\n    display: grid !important;\n    width: 42px !important;\n    min-width: 42px !important;\n    height: 42px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border-radius: 50% !important;\n    color: #3a2d17 !important;\n    -webkit-text-fill-color: #3a2d17 !important;\n    background: #ffdf8c !important;\n    font-size: 10px !important;\n    font-weight: 900 !important;\n    line-height: 1 !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    place-items: center !important;\n    transition:\n      background 0.25s ease,\n      box-shadow 0.25s ease !important;\n  }\n\n  button.ngg-option.is-active .ngg-option__number {\n    background: var(--option-colour, #ffdf8c) !important;\n    box-shadow: 0 0 16px var(--option-glow, transparent);\n  }\n\n  .ngg-option__content {\n    display: block !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    overflow: visible !important;\n    color: #fff !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n  }\n\n  .ngg-option__content strong,\n  .ngg-option__content \u003e span {\n    display: block !important;\n    position: static !important;\n    width: 100% !important;\n    height: auto !important;\n    max-height: none !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    white-space: normal !important;\n    overflow-wrap: anywhere !important;\n    text-align: left !important;\n    text-transform: none !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    transform: none !important;\n  }\n\n  .ngg-option__content strong {\n    margin: 0 0 5px !important;\n    color: #fff !important;\n    -webkit-text-fill-color: #fff !important;\n    font-size: 15px !important;\n    font-weight: 800 !important;\n    line-height: 1.35 !important;\n  }\n\n  .ngg-option__content \u003e span {\n    margin: 0 !important;\n    color: rgba(255, 255, 255, 0.67) !important;\n    -webkit-text-fill-color: rgba(255, 255, 255, 0.67) !important;\n    font-size: 12px !important;\n    font-weight: 400 !important;\n    line-height: 1.55 !important;\n  }\n\n  .ngg-protection__preview.ngg-is-changing .ngg-stage-label,\n  .ngg-protection__preview.ngg-is-changing .ngg-stage-word,\n  .ngg-protection__preview.ngg-is-changing .ngg-stage-detail,\n  .ngg-protection__preview.ngg-is-changing .ngg-selected__number,\n  .ngg-protection__preview.ngg-is-changing .ngg-selected__title,\n  .ngg-protection__preview.ngg-is-changing .ngg-selected__copy {\n    animation: ngg-stage-change 0.38s ease both;\n  }\n\n  \/* Cards and lists *\/\n  .ngg-lifestyles,\n  .ngg-specifications,\n  .ngg-use-list,\n  .ngg-included {\n    display: grid;\n    gap: 14px;\n  }\n\n  .ngg-lifestyles {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .ngg-specifications {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .ngg-use-list {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    width: min(100%, 1050px);\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .ngg-included {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    width: min(100%, 980px);\n    margin: 0 auto;\n  }\n\n  .ngg-card,\n  .ngg-specification,\n  .ngg-use-item,\n  .ngg-included__item {\n    min-width: 0;\n    padding: 21px;\n    border: 1px solid var(--border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .ngg-card:hover,\n  .ngg-specification:hover,\n  .ngg-use-item:hover {\n    border-color: rgba(222, 154, 35, 0.42);\n    transform: translateY(-4px);\n  }\n\n  .ngg-card {\n    min-height: 195px;\n  }\n\n  .ngg-card \u003e span {\n    display: block;\n    margin-bottom: 28px;\n    color: var(--gold-dark);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .ngg-card h3 {\n    margin-bottom: 7px !important;\n    color: var(--ink);\n    font-size: 17px;\n  }\n\n  .ngg-card p,\n  .ngg-specification p,\n  .ngg-use-item p {\n    color: var(--muted);\n    font-size: 13px;\n  }\n\n  .ngg-specification,\n  .ngg-use-item,\n  .ngg-included__item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-height: 130px;\n  }\n\n  .ngg-specification \u003e span {\n    color: var(--gold-dark);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .ngg-specification strong,\n  .ngg-use-item strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  .ngg-use-item \u003e span,\n  .ngg-included__item \u003e span {\n    display: grid;\n    width: 40px;\n    height: 40px;\n    flex: 0 0 40px;\n    border-radius: 50%;\n    color: #5f4216;\n    background: linear-gradient(180deg, #fff, #ffe4a2);\n    box-shadow: 0 7px 17px rgba(185, 116, 13, 0.17);\n    font-size: 11px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ngg-use-item--featured {\n    grid-column: 2 \/ 3;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(255, 222, 129, 0.45),\n        transparent 46%\n      ),\n      #fff;\n  }\n\n  .ngg-safety {\n    display: flex;\n    align-items: flex-start;\n    gap: 17px;\n    width: min(100%, 930px);\n    margin: 25px auto 0;\n    padding: 22px;\n    border: 1px solid rgba(185, 116, 13, 0.28);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--shadow);\n  }\n\n  .ngg-safety \u003e span {\n    display: grid;\n    width: 43px;\n    height: 43px;\n    flex: 0 0 43px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(145deg, var(--gold-dark), var(--gold));\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ngg-safety strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ink);\n  }\n\n  .ngg-safety p {\n    color: var(--muted);\n    font-size: 12px;\n  }\n\n  .ngg-included-section {\n    background:\n      radial-gradient(\n        circle at 15% 15%,\n        rgba(255, 220, 123, 0.48),\n        transparent 29%\n      ),\n      #faf7f0;\n  }\n\n  .ngg-included__item {\n    align-items: center;\n    min-height: 110px;\n  }\n\n  .ngg-included__item small,\n  .ngg-included__item strong {\n    display: block;\n  }\n\n  .ngg-included__item small {\n    margin-bottom: 3px;\n    color: var(--muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n  }\n\n  .ngg-included__item strong {\n    color: var(--ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .ngg-cta {\n    position: relative;\n    padding: 98px 0;\n    overflow: hidden;\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 20% 20%,\n        rgba(230, 164, 43, 0.19),\n        transparent 31%\n      ),\n      var(--ink);\n    text-align: center;\n  }\n\n  .ngg-cta__inner {\n    max-width: 900px;\n  }\n\n  .ngg-cta h2 {\n    margin-top: 20px !important;\n    color: #fff;\n  }\n\n  .ngg-cta p {\n    color: rgba(255, 255, 255, 0.68);\n    font-size: 17px;\n    font-weight: 700;\n  }\n\n  .ngg-badge--dark {\n    color: #ffd77f;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .ngg-button--light {\n    color: var(--ink);\n    border-color: #fff;\n    background: #fff;\n  }\n\n  .ngg-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 720px;\n    height: 360px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(226, 158, 38, 0.43),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: ngg-cta-glow 4s ease-in-out infinite;\n  }\n\n  .ngg-cta__sun {\n    position: absolute;\n    top: -90px;\n    right: -75px;\n    width: 250px;\n    height: 250px;\n    border: 1px solid rgba(255, 211, 108, 0.15);\n    border-radius: 50%;\n    box-shadow:\n      0 0 0 35px rgba(255, 211, 108, 0.035),\n      0 0 0 70px rgba(255, 211, 108, 0.02);\n  }\n\n  .ngg-disclaimer {\n    padding: 17px !important;\n    color: #817a73;\n    background: #f3f0eb;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Reveal *\/\n  .ngg-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .ngg-js .ngg-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .ngg-js .ngg-reveal.ngg-visible {\n    opacity: 1;\n    transform: none;\n  }\n\n  @keyframes ngg-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-15px);\n    }\n  }\n\n  @keyframes ngg-pulse {\n    0%,\n    100% {\n      opacity: 0.18;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.52;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes ngg-ray {\n    0%,\n    100% {\n      opacity: 0.25;\n    }\n\n    50% {\n      opacity: 0.95;\n    }\n  }\n\n  @keyframes ngg-stage-change {\n    from {\n      opacity: 0;\n      transform: translateY(7px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @keyframes ngg-cta-glow {\n    0%,\n    100% {\n      opacity: 0.67;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (max-width: 959px) {\n    .ngg-benefits,\n    .ngg-specifications {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .ngg-interactive {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 46px;\n    }\n\n    .ngg-options {\n      width: min(100%, 720px);\n      margin: 0 auto;\n    }\n\n    .ngg-lifestyles {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .ngg-highlights {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      max-width: 650px;\n    }\n  }\n\n  @media (max-width: 679px) {\n    .ngg-hero {\n      padding: 72px 0 68px;\n    }\n\n    .ngg-section {\n      padding: 67px 0;\n    }\n\n    .ngg-benefits,\n    .ngg-specifications,\n    .ngg-use-list,\n    .ngg-included,\n    .ngg-lifestyles {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .ngg-use-item--featured {\n      grid-column: auto;\n    }\n\n    .ngg-shield-orbit {\n      width: min(310px, 86vw);\n    }\n\n    #novea-glow-guard button.ngg-option:hover,\n    #novea-glow-guard button.ngg-option:focus-visible,\n    #novea-glow-guard button.ngg-option.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .ngg-container {\n      width: calc(100% - 24px);\n    }\n\n    .ngg-highlights {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .ngg-selected {\n      grid-template-columns: 38px minmax(0, 1fr);\n      gap: 12px;\n      min-height: 0;\n      padding: 16px;\n    }\n\n    .ngg-selected__number {\n      width: 38px;\n      height: 38px;\n    }\n\n    #novea-glow-guard button.ngg-option {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      gap: 13px !important;\n      min-height: 0 !important;\n      padding: 16px !important;\n    }\n\n    .ngg-option__number {\n      width: 38px !important;\n      min-width: 38px !important;\n      height: 38px !important;\n    }\n\n    .ngg-shield-core {\n      width: 58%;\n    }\n\n    .ngg-safety {\n      gap: 13px;\n      padding: 18px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-glow-guard *,\n    #novea-glow-guard *::before,\n    #novea-glow-guard *::after {\n      scroll-behavior: auto !important;\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .ngg-js .ngg-reveal,\n    .ngg-js .ngg-reveal.ngg-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52238314733784,"sku":null,"price":299.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/WhatsAppImage2026-07-22at00.09.55.jpg?v=1786721744"},{"product_id":"novea™-clear-skin-ultrasonic-scrubber","title":"NOVÉA™ Clear Skin Ultrasonic Scrubber","description":"\u003cdiv id=\"novea-clear-skin\" class=\"ncs\" role=\"region\"\u003e\n\u003c!-- HERO --\u003e\n\u003csection class=\"ncs-hero\"\u003e\n\u003cdiv class=\"ncs-grid\"\u003e\u003c\/div\u003e\n\u003cspan class=\"ncs-orb ncs-orb--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-orb ncs-orb--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-container ncs-hero__layout\"\u003e\n\u003cdiv class=\"ncs-hero__copy ncs-reveal\"\u003e\n\u003cspan class=\"ncs-badge\"\u003eNOVÉA™ SKIN TECHNOLOGY\u003c\/span\u003e\n\u003ch1\u003eNOVÉA™ Clear Skin \u003cspan\u003eUltrasonic Scrubber\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"ncs-tagline\"\u003eYour Most Thorough Cleanse.\u003cbr\u003eYour Most Lifted Skin. At Home.\u003c\/p\u003e\n\u003cp class=\"ncs-description\"\u003eProfessional-inspired ultrasonic technology with four targeted treatment modes to help deep clean, exfoliate, lift and support product application—all from the comfort of home.\u003c\/p\u003e\n\u003cdiv class=\"ncs-hero__features\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e4\u003c\/strong\u003e \u003cspan\u003etreatment modes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUSB\u003c\/strong\u003e \u003cspan\u003erechargeable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e360°\u003c\/strong\u003e \u003cspan\u003eskincare ritual\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSteel\u003c\/strong\u003e \u003cspan\u003espatula head\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-trust\"\u003e\n\u003cspan\u003eUltrasonic vibration\u003c\/span\u003e \u003cspan\u003eFour targeted modes\u003c\/span\u003e \u003cspan\u003eCordless design\u003c\/span\u003e \u003cspan\u003eAt-home treatment\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"ncs-button\" href=\"#ncs-benefits\"\u003e Explore Clear Skin \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- CSS PRODUCT VISUAL --\u003e\n\u003cdiv class=\"ncs-device-stage ncs-reveal\"\u003e\n\u003cspan class=\"ncs-device-ring ncs-device-ring--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-device-ring ncs-device-ring--two\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-device-glow\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-float-label ncs-float-label--one\"\u003e \u003csmall\u003eMODE 01\u003c\/small\u003e Deep Clean \u003c\/span\u003e \u003cspan class=\"ncs-float-label ncs-float-label--two\"\u003e \u003csmall\u003eMODE 02\u003c\/small\u003e Lift \u003c\/span\u003e \u003cspan class=\"ncs-float-label ncs-float-label--three\"\u003e \u003csmall\u003eMODES 03–04\u003c\/small\u003e Ion+ \/ Ion− \u003c\/span\u003e\n\u003cdiv class=\"ncs-device\"\u003e\n\u003cdiv class=\"ncs-device__blade\"\u003e\n\u003cspan\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-device__neck\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"ncs-device__body\"\u003e\n\u003cspan class=\"ncs-device__gold\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-device__brand\"\u003e\n\u003csmall\u003eNOVÉA™\u003c\/small\u003e \u003cstrong\u003eCLEAR SKIN\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cspan class=\"ncs-device__mode-light\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-device__button\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-device__modes\"\u003e\n\u003ci\u003e\u003c\/i\u003e \u003ci\u003e\u003c\/i\u003e \u003ci\u003e\u003c\/i\u003e \u003ci\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTRODUCTION --\u003e\n\u003csection class=\"ncs-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eBeyond an ordinary cleanse\u003c\/span\u003e\n\u003ch2\u003eGive your skincare ritual a more precise, technology-led finish.\u003c\/h2\u003e\n\u003cp\u003eTraditional cleansing may leave behind excess oil, dead surface skin and everyday buildup. The NOVÉA™ Clear Skin Ultrasonic Scrubber uses high-frequency vibration through a stainless-steel spatula to help loosen surface impurities while supporting exfoliation, lifting massage and product application.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cblockquote class=\"ncs-quote ncs-reveal\"\u003e\n\u003cspan\u003e“\u003c\/span\u003e\n\u003cp\u003eBecause truly clean skin isn’t just washed—it’s treated.\u003c\/p\u003e\n\u003c\/blockquote\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- BENEFITS --\u003e\n\u003csection id=\"ncs-benefits\" class=\"ncs-section ncs-section--soft\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eWhat your skin gains\u003c\/span\u003e\n\u003ch2\u003eA clearer-looking, smoother, more refined ritual\u003c\/h2\u003e\n\u003cp\u003eSelect each benefit to discover how Clear Skin complements your skincare routine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-benefits\"\u003e\n\u003carticle class=\"ncs-benefit is-open ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e◇\u003c\/span\u003e\n\u003ch3\u003eCleaner-looking pores\u003c\/h3\u003e\n\u003cp\u003eUltrasonic vibration helps loosen excess oil, dead surface skin and visible buildup that an ordinary cleanse may leave behind.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e✦\u003c\/span\u003e\n\u003ch3\u003eSmoother-looking texture\u003c\/h3\u003e\n\u003cp\u003eControlled surface exfoliation helps remove dull-looking buildup to reveal skin that appears fresher, smoother and brighter.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e↗\u003c\/span\u003e\n\u003ch3\u003eA lifted appearance\u003c\/h3\u003e\n\u003cp\u003eLifting mode supports an upward facial massage ritual to help skin look refreshed, toned and more defined over time.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e＋\u003c\/span\u003e\n\u003ch3\u003eEnhanced product application\u003c\/h3\u003e\n\u003cp\u003eIon+ mode complements serum and moisturiser application, helping distribute your chosen skincare evenly across the face.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e05\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e−\u003c\/span\u003e\n\u003ch3\u003eA balanced cleansing ritual\u003c\/h3\u003e\n\u003cp\u003eIon− mode is designed to complement cleansing by helping address residual surface oil and impurities.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003carticle class=\"ncs-benefit ncs-reveal\" role=\"button\" tabindex=\"0\"\u003e\u003cspan class=\"ncs-benefit__number\"\u003e06\u003c\/span\u003e \u003cspan class=\"ncs-benefit__icon\"\u003e◎\u003c\/span\u003e\n\u003ch3\u003eSpa-inspired care at home\u003c\/h3\u003e\n\u003cp\u003eBring an ultrasonic, multi-step skincare experience into your weekly routine without leaving home.\u003c\/p\u003e\n\u003cspan class=\"ncs-benefit__toggle\"\u003e\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TECHNOLOGY WORKS --\u003e\n\u003csection class=\"ncs-section ncs-technology\"\u003e\n\u003cdiv class=\"ncs-container ncs-technology__layout\"\u003e\n\u003cdiv class=\"ncs-technology__visual ncs-reveal\"\u003e\n\u003cdiv class=\"ncs-wave-system\"\u003e\n\u003cspan class=\"ncs-wave ncs-wave--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-wave ncs-wave--two\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-wave ncs-wave--three\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-wave-core\"\u003e\n\u003csmall\u003eULTRASONIC\u003c\/small\u003e \u003cstrong\u003e∞\u003c\/strong\u003e \u003cspan\u003eMicro-vibrations\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-technology__copy ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eThe technology\u003c\/span\u003e\n\u003ch2\u003eHigh-frequency care. Gentle, controlled action.\u003c\/h2\u003e\n\u003cp\u003eThe stainless-steel spatula transfers rapid ultrasonic vibrations across damp skin. This creates a controlled mechanical action that helps loosen surface buildup without the harsh friction associated with aggressive manual scrubbing.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eVibrate\u003c\/strong\u003e\n\u003cp\u003eHigh-frequency movement travels through the spatula head.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLoosen\u003c\/strong\u003e\n\u003cp\u003eDamp skin helps the spatula lift visible surface buildup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRefine\u003c\/strong\u003e\n\u003cp\u003eThe ritual supports smoother, fresher and clearer-looking skin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INTERACTIVE MODES --\u003e\n\u003csection id=\"ncs-mode-system\" class=\"ncs-modes-section\"\u003e\n\u003cdiv class=\"ncs-modes-bg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-heading--light ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eFour targeted experiences\u003c\/span\u003e\n\u003ch2 id=\"ncs-modes-title\"\u003eExplore every treatment mode\u003c\/h2\u003e\n\u003cp\u003eSelect a mode to see how it fits into your Clear Skin ritual.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-mode-interactive\"\u003e\n\u003cdiv class=\"ncs-mode-preview ncs-reveal\"\u003e\n\u003cdiv class=\"ncs-mode-orbit\"\u003e\n\u003cspan class=\"ncs-mode-ring ncs-mode-ring--outer\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-mode-ring ncs-mode-ring--inner\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-particle ncs-particle--one\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-particle ncs-particle--two\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-particle ncs-particle--three\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-mode-core\"\u003e\n\u003csmall class=\"ncs-active-label\"\u003eTREATMENT 01\u003c\/small\u003e \u003cstrong class=\"ncs-active-word\"\u003eCLEAN\u003c\/strong\u003e \u003cspan class=\"ncs-active-detail\"\u003eDeep pore ritual\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-selected\" role=\"status\"\u003e\n\u003cspan class=\"ncs-selected__number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"ncs-selected__title\"\u003e Ultrasonic Cleaning \u003c\/strong\u003e\n\u003cp class=\"ncs-selected__copy\"\u003eUse on damp skin to help loosen dead surface skin, excess oil and visible buildup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-mode-options\" role=\"group\"\u003e\n\u003cbutton class=\"ncs-mode-option is-active ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-mode-option__number\"\u003e01\u003c\/span\u003e \u003cspan class=\"ncs-mode-option__content\"\u003e \u003cstrong\u003eCleaning\u003c\/strong\u003e \u003cspan\u003e Ultrasonic surface cleansing and gentle exfoliation. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ncs-mode-option ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-mode-option__number\"\u003e02\u003c\/span\u003e \u003cspan class=\"ncs-mode-option__content\"\u003e \u003cstrong\u003eLifting\u003c\/strong\u003e \u003cspan\u003e An upward facial massage for a firmer-looking appearance. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ncs-mode-option ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-mode-option__number\"\u003e03\u003c\/span\u003e \u003cspan class=\"ncs-mode-option__content\"\u003e \u003cstrong\u003eIon+\u003c\/strong\u003e \u003cspan\u003e Complements serum and moisturiser application. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e \u003cbutton class=\"ncs-mode-option ncs-reveal\" type=\"button\"\u003e \u003cspan class=\"ncs-mode-option__number\"\u003e04\u003c\/span\u003e \u003cspan class=\"ncs-mode-option__content\"\u003e \u003cstrong\u003eIon−\u003c\/strong\u003e \u003cspan\u003e Complements cleansing for a refreshed, balanced finish. \u003c\/span\u003e \u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SPECIFICATIONS --\u003e\n\u003csection class=\"ncs-section ncs-section--soft\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003ePrecisely considered\u003c\/span\u003e\n\u003ch2\u003eKey specifications\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-specifications\"\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eTechnology\u003c\/strong\u003e\n\u003cp\u003eUltrasonic vibration with four targeted treatment settings.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFour modes\u003c\/strong\u003e\n\u003cp\u003eCleaning, Lifting, Ion+ and Ion−.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSpatula head\u003c\/strong\u003e\n\u003cp\u003eStainless-steel treatment head with a protective cap.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eOperation\u003c\/strong\u003e\n\u003cp\u003eSingle-button control for power and mode selection.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePower\u003c\/strong\u003e\n\u003cp\u003eUSB rechargeable for convenient cordless use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDesign\u003c\/strong\u003e\n\u003cp\u003eSleek white body with a premium gold accent ring.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e07\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBranding\u003c\/strong\u003e\n\u003cp\u003eMinimal NOVÉA™ detailing for a refined presentation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e08\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePackaging\u003c\/strong\u003e\n\u003cp\u003ePremium matte-black NOVÉA™ gift box.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-specification ncs-reveal\"\u003e\u003cspan\u003e09\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eIdentity\u003c\/strong\u003e\n\u003cp\u003eCreated for NOVÉA™ with South African brand detailing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- HOW TO USE --\u003e\n\u003csection id=\"ncs-how-to-use\" class=\"ncs-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eYour Clear Skin ritual\u003c\/span\u003e\n\u003ch2\u003eHow to use\u003c\/h2\u003e\n\u003cp\u003eAlways follow the final instructions supplied with your device.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003col class=\"ncs-use-list\"\u003e\n\u003cli class=\"ncs-use-item ncs-reveal\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCleanse and prepare\u003c\/strong\u003e\n\u003cp\u003eCleanse your face and leave the skin damp. Never use Cleaning mode on dry skin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use-item ncs-reveal\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eChoose your mode\u003c\/strong\u003e\n\u003cp\u003ePress the power button and cycle to your preferred treatment setting.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use-item ncs-reveal\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eClean gently\u003c\/strong\u003e\n\u003cp\u003eHold the spatula at approximately 30 degrees and glide slowly across damp skin without pressing firmly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use-item ncs-reveal\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLift upward\u003c\/strong\u003e\n\u003cp\u003eUse the flat side and glide upward along the jawline, cheeks and forehead with light pressure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use-item ncs-reveal\"\u003e\n\u003cspan\u003e5\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eApply skincare\u003c\/strong\u003e\n\u003cp\u003eApply your chosen serum or moisturiser before using Ion+ mode with gentle, controlled movements.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use-item ncs-reveal\"\u003e\n\u003cspan\u003e6\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eComplete the ritual\u003c\/strong\u003e\n\u003cp\u003eUse Ion− as directed, then clean and dry the spatula before replacing its protective cap.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"ncs-use-item ncs-use-item--featured ncs-reveal\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUse consistently, not excessively\u003c\/strong\u003e\n\u003cp\u003eBegin with one session per week and increase only if your skin tolerates it. Avoid repeatedly treating the same area.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cdiv class=\"ncs-safety ncs-reveal\"\u003e\n\u003cspan\u003e!\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eImportant skincare guidance\u003c\/strong\u003e\n\u003cp\u003eDo not use on broken, inflamed, infected or severely irritated skin. Avoid the eye area. Stop use if discomfort or irritation occurs. Consult a qualified healthcare professional before use if you have a skin condition, implanted electronic device, are pregnant, or are receiving dermatological treatment.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- INCLUDED --\u003e\n\u003csection class=\"ncs-section ncs-included-section\"\u003e\n\u003cdiv class=\"ncs-container\"\u003e\n\u003cdiv class=\"ncs-heading ncs-reveal\"\u003e\n\u003cspan class=\"ncs-eyebrow\"\u003eThe complete presentation\u003c\/span\u003e\n\u003ch2\u003eWhat’s included\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ncs-included\"\u003e\n\u003carticle class=\"ncs-included__item ncs-reveal\"\u003e\u003cspan\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eMain device\u003c\/small\u003e \u003cstrong\u003eNOVÉA™ Clear Skin Ultrasonic Scrubber\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-included__item ncs-reveal\"\u003e\u003cspan\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eProtection\u003c\/small\u003e \u003cstrong\u003eProtective spatula cap\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-included__item ncs-reveal\"\u003e\u003cspan\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003eCharging\u003c\/small\u003e \u003cstrong\u003eUSB charging cable\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"ncs-included__item ncs-reveal\"\u003e\u003cspan\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003csmall\u003ePresentation\u003c\/small\u003e \u003cstrong\u003ePremium NOVÉA™ matte-black gift box\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- CTA --\u003e\n\u003csection class=\"ncs-cta\"\u003e\u003cspan class=\"ncs-cta__glow\"\u003e\u003c\/span\u003e \u003cspan class=\"ncs-cta__ring\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"ncs-container ncs-cta__inner ncs-reveal\"\u003e\n\u003cspan class=\"ncs-badge ncs-badge--dark\"\u003e NOVÉA™ CLEAR SKIN \u003c\/span\u003e\n\u003ch2\u003eGo beyond clean. Reveal beautifully refined skin.\u003c\/h2\u003e\n\u003cp\u003eBring a precise, spa-inspired ultrasonic ritual into your home.\u003c\/p\u003e\n\u003ca class=\"ncs-button ncs-button--light\" href=\"#ncs-how-to-use\"\u003e Explore the ritual \u003cspan\u003e→\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp class=\"ncs-disclaimer\"\u003eCosmetic device only. Individual results vary. Product specifications, treatment claims, iontophoresis functionality, charging information, contraindications, packaging and country-of-origin statements must be verified against the final supplier documentation and applicable regulations before publication or sale.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  #novea-clear-skin {\n    --ncs-ink: #131419;\n    --ncs-text: #454850;\n    --ncs-muted: #747984;\n    --ncs-blue: #61cdea;\n    --ncs-blue-dark: #177a99;\n    --ncs-gold: #c99a5b;\n    --ncs-gold-light: #f3d5a5;\n    --ncs-soft: #edfaff;\n    --ncs-border: rgba(19, 20, 25, 0.11);\n    --ncs-shadow: 0 18px 48px rgba(19, 30, 38, 0.09);\n\n    width: 100%;\n    overflow: hidden;\n    color: var(--ncs-text);\n    background: #fff;\n    font-family:\n      Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial,\n      sans-serif;\n    line-height: 1.6;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #novea-clear-skin *,\n  #novea-clear-skin *::before,\n  #novea-clear-skin *::after {\n    box-sizing: border-box;\n  }\n\n  #novea-clear-skin h1,\n  #novea-clear-skin h2,\n  #novea-clear-skin h3,\n  #novea-clear-skin p,\n  #novea-clear-skin blockquote {\n    margin: 0;\n    padding: 0;\n  }\n\n  #novea-clear-skin button,\n  #novea-clear-skin a {\n    font: inherit;\n  }\n\n  .ncs-container {\n    position: relative;\n    z-index: 2;\n    width: min(1160px, calc(100% - 32px));\n    margin: 0 auto;\n  }\n\n  .ncs-section {\n    position: relative;\n    padding: 88px 0;\n  }\n\n  .ncs-section--soft {\n    background:\n      radial-gradient(\n        circle at 8% 7%,\n        rgba(112, 218, 247, 0.2),\n        transparent 30%\n      ),\n      linear-gradient(180deg, #fbfeff, #f2f7f8);\n  }\n\n  .ncs-heading {\n    width: min(100%, 820px);\n    margin: 0 auto 45px;\n    text-align: center;\n  }\n\n  .ncs-heading h2,\n  .ncs-technology h2,\n  .ncs-cta h2 {\n    margin: 9px 0 15px !important;\n    color: var(--ncs-ink);\n    font-size: clamp(31px, 5vw, 54px);\n    font-weight: 790;\n    line-height: 1.06;\n    letter-spacing: -0.046em;\n  }\n\n  .ncs-heading p {\n    color: var(--ncs-muted);\n    font-size: 16px;\n  }\n\n  .ncs-eyebrow {\n    display: inline-block;\n    color: var(--ncs-blue-dark);\n    font-size: 10px;\n    font-weight: 850;\n    line-height: 1.4;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n  }\n\n  \/* Hero *\/\n  .ncs-hero {\n    position: relative;\n    min-height: 760px;\n    padding: 100px 0 94px;\n    overflow: hidden;\n    background:\n      radial-gradient(\n        circle at 12% 13%,\n        rgba(255, 255, 255, 0.98),\n        transparent 31%\n      ),\n      radial-gradient(\n        circle at 83% 32%,\n        rgba(111, 218, 248, 0.33),\n        transparent 30%\n      ),\n      linear-gradient(140deg, #fff, #effcff 56%, #d8f4fb);\n  }\n\n  .ncs-grid {\n    position: absolute;\n    inset: 0;\n    opacity: 0.25;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.8) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.8) 1px,\n        transparent 1px\n      );\n    background-size: 50px 50px;\n  }\n\n  .ncs-hero__layout {\n    display: grid;\n    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);\n    align-items: center;\n    gap: 55px;\n  }\n\n  .ncs-badge {\n    display: inline-flex;\n    padding: 8px 14px;\n    border: 1px solid rgba(23, 122, 153, 0.24);\n    border-radius: 999px;\n    color: var(--ncs-blue-dark);\n    background: rgba(255, 255, 255, 0.78);\n    box-shadow: 0 8px 24px rgba(23, 122, 153, 0.1);\n    font-size: 10px;\n    font-weight: 850;\n    letter-spacing: 0.17em;\n  }\n\n  .ncs-hero h1 {\n    margin: 24px 0 18px;\n    color: var(--ncs-ink);\n    font-size: clamp(49px, 7vw, 79px);\n    font-weight: 820;\n    line-height: 0.96;\n    letter-spacing: -0.06em;\n  }\n\n  .ncs-hero h1 span {\n    display: block;\n    margin-top: 12px;\n    color: var(--ncs-blue-dark);\n    font-size: 0.45em;\n    line-height: 1.12;\n    letter-spacing: -0.035em;\n  }\n\n  .ncs-tagline {\n    margin-bottom: 17px !important;\n    color: var(--ncs-blue-dark);\n    font-size: clamp(20px, 3vw, 27px);\n    font-weight: 780;\n    line-height: 1.3;\n  }\n\n  .ncs-description {\n    max-width: 650px;\n    color: var(--ncs-muted);\n    font-size: 16px;\n  }\n\n  .ncs-hero__features {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 9px;\n    margin-top: 28px;\n  }\n\n  .ncs-hero__features div {\n    min-width: 0;\n    padding: 13px 10px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 15px;\n    background: rgba(255, 255, 255, 0.83);\n    box-shadow: 0 8px 21px rgba(31, 79, 91, 0.06);\n    text-align: center;\n  }\n\n  .ncs-hero__features strong,\n  .ncs-hero__features span {\n    display: block;\n  }\n\n  .ncs-hero__features strong {\n    color: var(--ncs-blue-dark);\n    font-size: 14px;\n  }\n\n  .ncs-hero__features span {\n    color: #656b73;\n    font-size: 10px;\n  }\n\n  .ncs-trust {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px 19px;\n    margin-top: 19px;\n  }\n\n  .ncs-trust span {\n    position: relative;\n    padding-left: 15px;\n    color: #626a72;\n    font-size: 11px;\n    font-weight: 700;\n  }\n\n  .ncs-trust span::before {\n    position: absolute;\n    top: 50%;\n    left: 0;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--ncs-blue);\n    content: \"\";\n    transform: translateY(-50%);\n  }\n\n  .ncs-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 53px;\n    margin-top: 27px;\n    padding: 12px 23px;\n    border: 1px solid var(--ncs-blue-dark);\n    border-radius: 999px;\n    color: #fff;\n    background: linear-gradient(\n      135deg,\n      var(--ncs-blue-dark),\n      var(--ncs-blue)\n    );\n    box-shadow: 0 14px 30px rgba(23, 122, 153, 0.26);\n    font-size: 13px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n      transform 0.25s ease,\n      box-shadow 0.25s ease;\n  }\n\n  .ncs-button:hover,\n  .ncs-button:focus-visible {\n    outline: none;\n    box-shadow: 0 18px 40px rgba(23, 122, 153, 0.35);\n    transform: translateY(-3px);\n  }\n\n  .ncs-orb {\n    position: absolute;\n    border-radius: 50%;\n    animation: ncs-float 7s ease-in-out infinite;\n  }\n\n  .ncs-orb--one {\n    top: 5%;\n    left: 2%;\n    width: 150px;\n    height: 150px;\n    background: rgba(100, 210, 240, 0.1);\n  }\n\n  .ncs-orb--two {\n    right: 1%;\n    bottom: 5%;\n    width: 210px;\n    height: 210px;\n    background: rgba(201, 154, 91, 0.1);\n    animation-delay: -3s;\n  }\n\n  \/* Device *\/\n  .ncs-device-stage {\n    position: relative;\n    display: grid;\n    min-height: 570px;\n    place-items: center;\n  }\n\n  .ncs-device-glow {\n    position: absolute;\n    width: 330px;\n    height: 420px;\n    border-radius: 50%;\n    background: rgba(92, 211, 243, 0.35);\n    filter: blur(65px);\n    animation: ncs-glow 4s ease-in-out infinite;\n  }\n\n  .ncs-device-ring {\n    position: absolute;\n    border: 1px solid rgba(23, 122, 153, 0.2);\n    border-radius: 50%;\n    animation: ncs-ring 4s ease-in-out infinite;\n  }\n\n  .ncs-device-ring--one {\n    width: 390px;\n    height: 390px;\n  }\n\n  .ncs-device-ring--two {\n    width: 485px;\n    height: 485px;\n    animation-delay: -2s;\n  }\n\n  .ncs-device {\n    position: relative;\n    z-index: 3;\n    width: 162px;\n    height: 480px;\n    filter: drop-shadow(0 28px 30px rgba(27, 72, 84, 0.18));\n    transform: rotate(4deg);\n    animation: ncs-device-float 5s ease-in-out infinite;\n  }\n\n  .ncs-device__blade {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 112px;\n    height: 118px;\n    border: 1px solid rgba(80, 98, 106, 0.34);\n    border-radius: 52% 52% 16px 16px \/ 29% 29% 20px 20px;\n    background:\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.5),\n        transparent 35%,\n        rgba(255, 255, 255, 0.72)\n      ),\n      linear-gradient(145deg, #b8c5c9, #f9ffff 52%, #a5b5ba);\n    box-shadow:\n      inset 0 0 12px rgba(255, 255, 255, 0.85),\n      0 8px 18px rgba(29, 69, 80, 0.14);\n    transform: translateX(-50%);\n  }\n\n  .ncs-device__blade span {\n    position: absolute;\n    top: 13px;\n    right: 18px;\n    width: 2px;\n    height: 76px;\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.75);\n    transform: rotate(-8deg);\n  }\n\n  .ncs-device__neck {\n    position: absolute;\n    top: 98px;\n    left: 50%;\n    z-index: 2;\n    width: 79px;\n    height: 68px;\n    border-radius: 0 0 23px 23px;\n    background: linear-gradient(90deg, #e9f2f4, #fff, #dfecef);\n    transform: translateX(-50%);\n  }\n\n  .ncs-device__body {\n    position: absolute;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    height: 350px;\n    overflow: hidden;\n    border: 1px solid rgba(75, 91, 99, 0.17);\n    border-radius: 55px 55px 67px 67px \/ 38px 38px 86px 86px;\n    background:\n      linear-gradient(\n        90deg,\n        #dce7e9,\n        #fff 20%,\n        #fff 70%,\n        #d7e4e7\n      );\n    box-shadow:\n      inset 8px 0 15px rgba(255, 255, 255, 0.8),\n      inset -8px 0 13px rgba(103, 127, 134, 0.1);\n  }\n\n  .ncs-device__gold {\n    display: block;\n    width: 100%;\n    height: 14px;\n    background: linear-gradient(\n      90deg,\n      #8e673b,\n      #e5c18a 35%,\n      #fff0c6 50%,\n      #ae7d43\n    );\n  }\n\n  .ncs-device__brand {\n    margin-top: 58px;\n    color: var(--ncs-ink);\n    text-align: center;\n  }\n\n  .ncs-device__brand small,\n  .ncs-device__brand strong {\n    display: block;\n  }\n\n  .ncs-device__brand small {\n    color: #9e774a;\n    font-size: 9px;\n    font-weight: 900;\n    letter-spacing: 0.18em;\n  }\n\n  .ncs-device__brand strong {\n    margin-top: 4px;\n    font-size: 10px;\n    letter-spacing: 0.08em;\n  }\n\n  .ncs-device__mode-light {\n    display: block;\n    width: 7px;\n    height: 7px;\n    margin: 30px auto 13px;\n    border-radius: 50%;\n    background: #64d9f5;\n    box-shadow: 0 0 14px #64d9f5;\n    animation: ncs-light 1.6s ease-in-out infinite;\n  }\n\n  .ncs-device__button {\n    display: block;\n    width: 39px;\n    height: 39px;\n    margin: 0 auto;\n    border: 1px solid #b3c2c5;\n    border-radius: 50%;\n    background: linear-gradient(145deg, #fff, #d9e5e7);\n    box-shadow:\n      inset 0 0 0 4px #f8ffff,\n      0 4px 9px rgba(38, 67, 74, 0.12);\n  }\n\n  .ncs-device__button::before {\n    display: block;\n    width: 11px;\n    height: 11px;\n    margin: 10px auto;\n    border: 2px solid #779298;\n    border-top-color: transparent;\n    border-radius: 50%;\n    content: \"\";\n  }\n\n  .ncs-device__modes {\n    display: flex;\n    justify-content: center;\n    gap: 7px;\n    margin-top: 21px;\n  }\n\n  .ncs-device__modes i {\n    width: 5px;\n    height: 5px;\n    border-radius: 50%;\n    background: #c2d0d3;\n  }\n\n  .ncs-device__modes i:first-child {\n    background: #64d9f5;\n    box-shadow: 0 0 7px #64d9f5;\n  }\n\n  .ncs-float-label {\n    position: absolute;\n    z-index: 5;\n    padding: 11px 15px;\n    border: 1px solid rgba(23, 122, 153, 0.15);\n    border-radius: 14px;\n    color: var(--ncs-ink);\n    background: rgba(255, 255, 255, 0.82);\n    box-shadow: 0 13px 30px rgba(32, 87, 101, 0.1);\n    backdrop-filter: blur(10px);\n    font-size: 12px;\n    font-weight: 800;\n    animation: ncs-label-float 5s ease-in-out infinite;\n  }\n\n  .ncs-float-label small {\n    display: block;\n    color: var(--ncs-blue-dark);\n    font-size: 7px;\n    letter-spacing: 0.14em;\n  }\n\n  .ncs-float-label--one {\n    top: 18%;\n    left: 2%;\n  }\n\n  .ncs-float-label--two {\n    top: 46%;\n    right: -2%;\n    animation-delay: -1.8s;\n  }\n\n  .ncs-float-label--three {\n    bottom: 10%;\n    left: 2%;\n    animation-delay: -3.4s;\n  }\n\n  \/* Quote *\/\n  .ncs-quote {\n    position: relative;\n    width: min(100%, 740px);\n    margin: 0 auto;\n    padding: 31px 34px;\n    overflow: hidden;\n    border: 1px solid var(--ncs-border);\n    border-radius: 22px;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(111, 218, 248, 0.3),\n        transparent 49%\n      ),\n      #fff;\n    box-shadow: var(--ncs-shadow);\n    text-align: center;\n  }\n\n  .ncs-quote \u003e span {\n    position: absolute;\n    top: -19px;\n    left: 18px;\n    color: rgba(23, 122, 153, 0.13);\n    font-family: Georgia, serif;\n    font-size: 110px;\n  }\n\n  .ncs-quote p {\n    position: relative;\n    color: var(--ncs-ink);\n    font-size: clamp(19px, 3vw, 25px);\n    font-weight: 760;\n  }\n\n  \/* Benefits *\/\n  .ncs-benefits {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 15px;\n  }\n\n  .ncs-benefit {\n    position: relative;\n    min-width: 0;\n    min-height: 187px;\n    padding: 23px;\n    overflow: hidden;\n    border: 1px solid var(--ncs-border);\n    border-radius: 21px;\n    background: #fff;\n    box-shadow: var(--ncs-shadow);\n    cursor: pointer;\n    transition:\n      transform 0.28s ease,\n      border-color 0.28s ease,\n      box-shadow 0.28s ease;\n  }\n\n  .ncs-benefit:hover,\n  .ncs-benefit:focus-visible,\n  .ncs-benefit.is-open {\n    border-color: rgba(64, 180, 211, 0.48);\n    outline: none;\n    box-shadow: 0 23px 53px rgba(25, 57, 68, 0.13);\n    transform: translateY(-4px);\n  }\n\n  .ncs-benefit__number {\n    position: absolute;\n    top: 20px;\n    right: 52px;\n    color: rgba(23, 122, 153, 0.65);\n    font-size: 9px;\n    font-weight: 900;\n  }\n\n  .ncs-benefit__icon {\n    display: grid;\n    width: 44px;\n    height: 44px;\n    margin-bottom: 15px;\n    border-radius: 14px;\n    color: var(--ncs-blue-dark);\n    background: linear-gradient(180deg, #fff, var(--ncs-soft));\n    box-shadow: 0 8px 19px rgba(23, 122, 153, 0.14);\n    place-items: center;\n  }\n\n  .ncs-benefit h3 {\n    padding-right: 29px !important;\n    color: var(--ncs-ink);\n    font-size: 17px;\n    line-height: 1.35;\n  }\n\n  .ncs-benefit p {\n    max-height: 0;\n    margin-top: 0 !important;\n    overflow: hidden;\n    color: var(--ncs-muted);\n    font-size: 14px;\n    opacity: 0;\n    transform: translateY(5px);\n    transition:\n      max-height 0.36s ease,\n      margin 0.3s ease,\n      opacity 0.3s ease,\n      transform 0.3s ease;\n  }\n\n  .ncs-benefit.is-open p {\n    max-height: 300px;\n    margin-top: 9px !important;\n    opacity: 1;\n    transform: none;\n  }\n\n  .ncs-benefit__toggle {\n    position: absolute;\n    top: 19px;\n    right: 19px;\n    width: 24px;\n    height: 24px;\n    border: 1px solid rgba(23, 122, 153, 0.3);\n    border-radius: 50%;\n  }\n\n  .ncs-benefit__toggle::before,\n  .ncs-benefit__toggle::after {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 9px;\n    height: 1px;\n    background: var(--ncs-blue-dark);\n    content: \"\";\n    transform: translate(-50%, -50%);\n  }\n\n  .ncs-benefit__toggle::after {\n    transform: translate(-50%, -50%) rotate(90deg);\n    transition: transform 0.25s ease;\n  }\n\n  .ncs-benefit.is-open .ncs-benefit__toggle::after {\n    transform: translate(-50%, -50%);\n  }\n\n  \/* Technology *\/\n  .ncs-technology {\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 15% 50%,\n        rgba(64, 190, 222, 0.18),\n        transparent 33%\n      ),\n      #131419;\n  }\n\n  .ncs-technology__layout {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    align-items: center;\n    gap: 70px;\n  }\n\n  .ncs-technology h2 {\n    color: #fff;\n  }\n\n  .ncs-technology__copy \u003e p {\n    color: rgba(255, 255, 255, 0.66);\n  }\n\n  .ncs-technology .ncs-eyebrow {\n    color: #79dcf6;\n  }\n\n  .ncs-technology ul {\n    display: grid;\n    gap: 12px;\n    margin: 29px 0 0;\n    padding: 0;\n    list-style: none;\n  }\n\n  .ncs-technology li {\n    display: grid;\n    grid-template-columns: 42px minmax(0, 1fr);\n    align-items: start;\n    gap: 14px;\n    padding: 16px;\n    border: 1px solid rgba(255, 255, 255, 0.11);\n    border-radius: 16px;\n    background: rgba(255, 255, 255, 0.055);\n  }\n\n  .ncs-technology li \u003e span {\n    display: grid;\n    width: 42px;\n    height: 42px;\n    border-radius: 50%;\n    color: var(--ncs-ink);\n    background: #83e3fa;\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ncs-technology li strong {\n    color: #fff;\n    font-size: 14px;\n  }\n\n  .ncs-technology li p {\n    color: rgba(255, 255, 255, 0.62);\n    font-size: 12px;\n  }\n\n  .ncs-wave-system {\n    position: relative;\n    display: grid;\n    width: min(390px, 84vw);\n    aspect-ratio: 1;\n    margin: 0 auto;\n    place-items: center;\n  }\n\n  .ncs-wave-system::before {\n    position: absolute;\n    width: 61%;\n    height: 61%;\n    border-radius: 50%;\n    background: rgba(89, 210, 240, 0.37);\n    content: \"\";\n    filter: blur(55px);\n  }\n\n  .ncs-wave {\n    position: absolute;\n    border: 1px solid rgba(113, 217, 255, 0.5);\n    border-radius: 50%;\n    animation: ncs-wave 3.4s ease-out infinite;\n  }\n\n  .ncs-wave--one {\n    width: 45%;\n    height: 45%;\n  }\n\n  .ncs-wave--two {\n    width: 70%;\n    height: 70%;\n    animation-delay: -1.1s;\n  }\n\n  .ncs-wave--three {\n    width: 94%;\n    height: 94%;\n    animation-delay: -2.2s;\n  }\n\n  .ncs-wave-core {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    width: 47%;\n    aspect-ratio: 1;\n    border: 1px solid rgba(113, 217, 255, 0.65);\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.08);\n    box-shadow:\n      inset 0 0 35px rgba(113, 217, 255, 0.12),\n      0 0 43px rgba(113, 217, 255, 0.17);\n    place-content: center;\n    text-align: center;\n  }\n\n  .ncs-wave-core small,\n  .ncs-wave-core strong,\n  .ncs-wave-core span {\n    display: block;\n  }\n\n  .ncs-wave-core small {\n    color: #87e6fb;\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.15em;\n  }\n\n  .ncs-wave-core strong {\n    margin: 4px 0;\n    color: #fff;\n    font-size: 47px;\n    line-height: 1;\n  }\n\n  .ncs-wave-core span {\n    color: rgba(255, 255, 255, 0.65);\n    font-size: 10px;\n  }\n\n  \/* Modes *\/\n  .ncs-modes-section {\n    --mode-colour: #71d9ff;\n    --mode-glow: rgba(113, 217, 255, 0.48);\n\n    position: relative;\n    padding: 90px 0;\n    overflow: hidden;\n    color: #fff;\n    background: #0e1015;\n  }\n\n  .ncs-modes-bg {\n    position: absolute;\n    inset: 0;\n    background:\n      radial-gradient(\n        circle at 8% 10%,\n        rgba(50, 168, 199, 0.22),\n        transparent 30%\n      ),\n      radial-gradient(\n        circle at 91% 89%,\n        rgba(200, 154, 91, 0.13),\n        transparent 31%\n      );\n  }\n\n  .ncs-modes-bg::before {\n    position: absolute;\n    inset: 0;\n    opacity: 0.07;\n    background-image:\n      linear-gradient(rgba(255, 255, 255, 0.3) 1px, transparent 1px),\n      linear-gradient(\n        90deg,\n        rgba(255, 255, 255, 0.3) 1px,\n        transparent 1px\n      );\n    background-size: 49px 49px;\n    content: \"\";\n  }\n\n  .ncs-heading--light h2 {\n    color: #fff;\n  }\n\n  .ncs-heading--light p {\n    color: rgba(255, 255, 255, 0.64);\n  }\n\n  .ncs-heading--light .ncs-eyebrow {\n    color: #83e2fa;\n  }\n\n  .ncs-mode-interactive {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    align-items: center;\n    gap: 65px;\n    min-width: 0;\n  }\n\n  .ncs-mode-preview,\n  .ncs-mode-options,\n  .ncs-selected,\n  .ncs-selected \u003e div {\n    min-width: 0;\n  }\n\n  .ncs-mode-preview {\n    text-align: center;\n  }\n\n  .ncs-mode-orbit {\n    position: relative;\n    display: grid;\n    width: min(355px, 86vw);\n    aspect-ratio: 1;\n    margin: 0 auto 26px;\n    place-items: center;\n  }\n\n  .ncs-mode-orbit::before {\n    position: absolute;\n    width: 64%;\n    height: 64%;\n    border-radius: 50%;\n    background: var(--mode-glow);\n    content: \"\";\n    filter: blur(54px);\n    opacity: 0.56;\n    transition: background 0.42s ease;\n  }\n\n  .ncs-mode-ring {\n    position: absolute;\n    border: 1px solid var(--mode-colour);\n    border-radius: 50%;\n    animation: ncs-pulse 3s ease-in-out infinite;\n    transition: border-color 0.42s ease;\n  }\n\n  .ncs-mode-ring--outer {\n    width: 94%;\n    height: 94%;\n  }\n\n  .ncs-mode-ring--inner {\n    width: 72%;\n    height: 72%;\n    animation-delay: -1.5s;\n  }\n\n  .ncs-mode-core {\n    position: relative;\n    z-index: 3;\n    display: grid;\n    width: 55%;\n    aspect-ratio: 1;\n    padding: 14px;\n    border: 2px solid var(--mode-colour);\n    border-radius: 50%;\n    background: #fff;\n    box-shadow:\n      inset 0 0 34px var(--mode-glow),\n      0 0 42px var(--mode-glow);\n    place-content: center;\n    text-align: center;\n    transition:\n      border-color 0.42s ease,\n      box-shadow 0.42s ease;\n  }\n\n  .ncs-active-label,\n  .ncs-active-word,\n  .ncs-active-detail {\n    display: block;\n    width: 100%;\n    height: auto;\n    text-align: center;\n    opacity: 1;\n  }\n\n  .ncs-active-label {\n    color: #747984;\n    font-size: 8px;\n    font-weight: 900;\n    letter-spacing: 0.15em;\n  }\n\n  .ncs-active-word {\n    margin: 7px 0;\n    color: var(--ncs-ink);\n    font-size: clamp(23px, 5vw, 30px);\n    line-height: 1;\n  }\n\n  .ncs-active-detail {\n    color: var(--ncs-blue-dark);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .ncs-particle {\n    position: absolute;\n    z-index: 2;\n    width: 8px;\n    height: 8px;\n    border-radius: 50%;\n    background: var(--mode-colour);\n    box-shadow: 0 0 14px var(--mode-colour);\n    animation: ncs-particle 3s ease-in-out infinite;\n    transition:\n      background 0.42s ease,\n      box-shadow 0.42s ease;\n  }\n\n  .ncs-particle--one {\n    top: 10%;\n    left: 46%;\n  }\n\n  .ncs-particle--two {\n    right: 11%;\n    bottom: 31%;\n    animation-delay: -1s;\n  }\n\n  .ncs-particle--three {\n    bottom: 17%;\n    left: 14%;\n    animation-delay: -2s;\n  }\n\n  .ncs-selected {\n    display: grid;\n    grid-template-columns: 41px minmax(0, 1fr);\n    align-items: start;\n    gap: 14px;\n    width: min(100%, 470px);\n    min-height: 126px;\n    margin: 0 auto;\n    padding: 18px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.14);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.075);\n    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);\n    text-align: left;\n  }\n\n  .ncs-selected__number {\n    display: grid;\n    width: 41px;\n    height: 41px;\n    border-radius: 50%;\n    color: var(--ncs-ink);\n    background: var(--mode-colour);\n    box-shadow: 0 0 17px var(--mode-glow);\n    font-size: 10px;\n    font-weight: 900;\n    place-items: center;\n    transition:\n      background 0.42s ease,\n      box-shadow 0.42s ease;\n  }\n\n  .ncs-selected__title,\n  .ncs-selected__copy {\n    display: block;\n    width: 100%;\n    height: auto;\n    overflow: visible;\n    overflow-wrap: anywhere;\n  }\n\n  .ncs-selected__title {\n    margin-bottom: 5px;\n    color: #fff;\n    font-size: 16px;\n    font-weight: 800;\n    line-height: 1.35;\n  }\n\n  .ncs-selected__copy {\n    color: rgba(255, 255, 255, 0.67);\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  .ncs-mode-options {\n    display: grid;\n    width: 100%;\n    gap: 12px;\n  }\n\n  #novea-clear-skin button.ncs-mode-option {\n    position: relative !important;\n    display: grid !important;\n    grid-template-columns: 43px minmax(0, 1fr) !important;\n    align-items: start !important;\n    gap: 15px !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    min-height: 108px !important;\n    height: auto !important;\n    margin: 0 !important;\n    padding: 18px !important;\n    overflow: hidden !important;\n    border: 1px solid rgba(255, 255, 255, 0.13) !important;\n    border-radius: 18px !important;\n    color: #fff !important;\n    background: rgba(255, 255, 255, 0.055) !important;\n    box-shadow: none !important;\n    text-align: left !important;\n    text-indent: 0 !important;\n    text-transform: none !important;\n    letter-spacing: normal !important;\n    white-space: normal !important;\n    cursor: pointer !important;\n    appearance: none !important;\n    -webkit-appearance: none !important;\n    opacity: 1 !important;\n    transform: none !important;\n    transition:\n      border-color 0.25s ease,\n      background 0.25s ease,\n      box-shadow 0.25s ease,\n      transform 0.25s ease !important;\n  }\n\n  #novea-clear-skin button.ncs-mode-option::before {\n    position: absolute;\n    top: 14px;\n    bottom: 14px;\n    left: 0;\n    width: 3px;\n    border-radius: 0 999px 999px 0;\n    background: var(--option-colour, transparent);\n    content: \"\";\n    opacity: 0;\n    transform: scaleY(0.45);\n    transition:\n      opacity 0.25s ease,\n      transform 0.25s ease;\n  }\n\n  #novea-clear-skin button.ncs-mode-option:hover,\n  #novea-clear-skin button.ncs-mode-option:focus-visible {\n    border-color: rgba(113, 217, 255, 0.48) !important;\n    outline: none !important;\n    background: rgba(255, 255, 255, 0.095) !important;\n    transform: translateY(-2px) !important;\n  }\n\n  #novea-clear-skin button.ncs-mode-option.is-active {\n    border-color: var(--option-colour, #71d9ff) !important;\n    background: rgba(255, 255, 255, 0.13) !important;\n    box-shadow:\n      inset 3px 0 0 var(--option-colour, #71d9ff),\n      0 14px 34px rgba(0, 0, 0, 0.18) !important;\n    transform: none !important;\n  }\n\n  #novea-clear-skin button.ncs-mode-option.is-active::before {\n    opacity: 1;\n    transform: scaleY(1);\n  }\n\n  .ncs-mode-option__number {\n    display: grid !important;\n    width: 43px !important;\n    min-width: 43px !important;\n    height: 43px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border-radius: 50% !important;\n    color: #143640 !important;\n    -webkit-text-fill-color: #143640 !important;\n    background: #9be8fa !important;\n    font-size: 10px !important;\n    font-weight: 900 !important;\n    line-height: 1 !important;\n    place-items: center !important;\n    transition:\n      background 0.25s ease,\n      box-shadow 0.25s ease !important;\n  }\n\n  button.ncs-mode-option.is-active .ncs-mode-option__number {\n    background: var(--option-colour, #9be8fa) !important;\n    box-shadow: 0 0 16px var(--option-glow, transparent);\n  }\n\n  .ncs-mode-option__content {\n    display: block !important;\n    width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    overflow: visible !important;\n  }\n\n  .ncs-mode-option__content strong,\n  .ncs-mode-option__content \u003e span {\n    display: block !important;\n    position: static !important;\n    width: 100% !important;\n    height: auto !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: visible !important;\n    color: #fff !important;\n    white-space: normal !important;\n    overflow-wrap: anywhere !important;\n    text-align: left !important;\n    text-transform: none !important;\n    opacity: 1 !important;\n  }\n\n  .ncs-mode-option__content strong {\n    margin-bottom: 5px !important;\n    font-size: 15px !important;\n    font-weight: 800 !important;\n    line-height: 1.35 !important;\n  }\n\n  .ncs-mode-option__content \u003e span {\n    color: rgba(255, 255, 255, 0.67) !important;\n    -webkit-text-fill-color: rgba(255, 255, 255, 0.67) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  .ncs-mode-preview.is-changing .ncs-active-label,\n  .ncs-mode-preview.is-changing .ncs-active-word,\n  .ncs-mode-preview.is-changing .ncs-active-detail,\n  .ncs-mode-preview.is-changing .ncs-selected__number,\n  .ncs-mode-preview.is-changing .ncs-selected__title,\n  .ncs-mode-preview.is-changing .ncs-selected__copy {\n    animation: ncs-content-change 0.38s ease both;\n  }\n\n  \/* Lists *\/\n  .ncs-specifications,\n  .ncs-use-list,\n  .ncs-included {\n    display: grid;\n    gap: 14px;\n  }\n\n  .ncs-specifications {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .ncs-use-list {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    width: min(100%, 1060px);\n    margin: 0 auto;\n    padding: 0;\n    list-style: none;\n  }\n\n  .ncs-included {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    width: min(100%, 980px);\n    margin: 0 auto;\n  }\n\n  .ncs-specification,\n  .ncs-use-item,\n  .ncs-included__item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    min-width: 0;\n    min-height: 130px;\n    padding: 21px;\n    border: 1px solid var(--ncs-border);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--ncs-shadow);\n    transition:\n      transform 0.27s ease,\n      border-color 0.27s ease;\n  }\n\n  .ncs-specification:hover,\n  .ncs-use-item:hover {\n    border-color: rgba(64, 180, 211, 0.42);\n    transform: translateY(-4px);\n  }\n\n  .ncs-specification \u003e span {\n    color: var(--ncs-blue-dark);\n    font-size: 10px;\n    font-weight: 900;\n  }\n\n  .ncs-specification strong,\n  .ncs-use-item strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ncs-ink);\n    font-size: 14px;\n  }\n\n  .ncs-specification p,\n  .ncs-use-item p {\n    color: var(--ncs-muted);\n    font-size: 13px;\n  }\n\n  .ncs-use-item \u003e span,\n  .ncs-included__item \u003e span {\n    display: grid;\n    width: 41px;\n    height: 41px;\n    flex: 0 0 41px;\n    border-radius: 50%;\n    color: #16576b;\n    background: linear-gradient(180deg, #fff, #bfeffc);\n    box-shadow: 0 8px 18px rgba(23, 122, 153, 0.15);\n    font-size: 11px;\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ncs-use-item--featured {\n    grid-column: 2 \/ 3;\n    background:\n      radial-gradient(\n        circle at 100% 0,\n        rgba(112, 219, 248, 0.3),\n        transparent 48%\n      ),\n      #fff;\n  }\n\n  .ncs-safety {\n    display: flex;\n    align-items: flex-start;\n    gap: 17px;\n    width: min(100%, 940px);\n    margin: 26px auto 0;\n    padding: 22px;\n    border: 1px solid rgba(23, 122, 153, 0.27);\n    border-radius: 19px;\n    background: #fff;\n    box-shadow: var(--ncs-shadow);\n  }\n\n  .ncs-safety \u003e span {\n    display: grid;\n    width: 44px;\n    height: 44px;\n    flex: 0 0 44px;\n    border-radius: 50%;\n    color: #fff;\n    background: linear-gradient(\n      145deg,\n      var(--ncs-blue-dark),\n      var(--ncs-blue)\n    );\n    font-weight: 900;\n    place-items: center;\n  }\n\n  .ncs-safety strong {\n    display: block;\n    margin-bottom: 5px;\n    color: var(--ncs-ink);\n  }\n\n  .ncs-safety p {\n    color: var(--ncs-muted);\n    font-size: 12px;\n  }\n\n  .ncs-included-section {\n    background:\n      radial-gradient(\n        circle at 14% 13%,\n        rgba(112, 219, 248, 0.32),\n        transparent 30%\n      ),\n      #f5f9fa;\n  }\n\n  .ncs-included__item {\n    align-items: center;\n    min-height: 111px;\n  }\n\n  .ncs-included__item small,\n  .ncs-included__item strong {\n    display: block;\n  }\n\n  .ncs-included__item small {\n    margin-bottom: 3px;\n    color: var(--ncs-muted);\n    font-size: 9px;\n    font-weight: 800;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n  }\n\n  .ncs-included__item strong {\n    color: var(--ncs-ink);\n    font-size: 14px;\n  }\n\n  \/* CTA *\/\n  .ncs-cta {\n    position: relative;\n    padding: 100px 0;\n    overflow: hidden;\n    color: #fff;\n    background:\n      radial-gradient(\n        circle at 20% 20%,\n        rgba(67, 191, 222, 0.18),\n        transparent 31%\n      ),\n      var(--ncs-ink);\n    text-align: center;\n  }\n\n  .ncs-cta__inner {\n    max-width: 920px;\n  }\n\n  .ncs-cta h2 {\n    margin-top: 20px !important;\n    color: #fff;\n  }\n\n  .ncs-cta p {\n    color: rgba(255, 255, 255, 0.68);\n    font-size: 17px;\n    font-weight: 700;\n  }\n\n  .ncs-badge--dark {\n    color: #83e4fa;\n    border-color: rgba(255, 255, 255, 0.14);\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .ncs-button--light {\n    color: var(--ncs-ink);\n    border-color: #fff;\n    background: #fff;\n  }\n\n  .ncs-cta__glow {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 750px;\n    height: 370px;\n    border-radius: 50%;\n    background: radial-gradient(\n      circle,\n      rgba(73, 198, 229, 0.35),\n      transparent 68%\n    );\n    transform: translate(-50%, -50%);\n    animation: ncs-cta-glow 4s ease-in-out infinite;\n  }\n\n  .ncs-cta__ring {\n    position: absolute;\n    top: -90px;\n    right: -75px;\n    width: 255px;\n    height: 255px;\n    border: 1px solid rgba(113, 217, 255, 0.15);\n    border-radius: 50%;\n    box-shadow:\n      0 0 0 36px rgba(113, 217, 255, 0.034),\n      0 0 0 72px rgba(113, 217, 255, 0.018);\n  }\n\n  .ncs-disclaimer {\n    padding: 18px !important;\n    color: #7c8188;\n    background: #eef1f2;\n    font-size: 10px;\n    text-align: center;\n  }\n\n  \/* Reveals *\/\n  .ncs-reveal {\n    opacity: 1;\n    transform: none;\n  }\n\n  .ncs-js .ncs-reveal {\n    opacity: 0;\n    transform: translateY(23px);\n    transition:\n      opacity 0.72s ease,\n      transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);\n  }\n\n  .ncs-js .ncs-reveal.ncs-visible {\n    opacity: 1;\n    transform: none;\n  }\n\n  @keyframes ncs-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-15px);\n    }\n  }\n\n  @keyframes ncs-glow {\n    0%,\n    100% {\n      opacity: 0.5;\n      transform: scale(0.92);\n    }\n\n    50% {\n      opacity: 0.9;\n      transform: scale(1.07);\n    }\n  }\n\n  @keyframes ncs-ring {\n    0%,\n    100% {\n      opacity: 0.22;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.53;\n      transform: scale(1.04);\n    }\n  }\n\n  @keyframes ncs-device-float {\n    0%,\n    100% {\n      transform: translateY(0) rotate(4deg);\n    }\n\n    50% {\n      transform: translateY(-16px) rotate(2deg);\n    }\n  }\n\n  @keyframes ncs-label-float {\n    0%,\n    100% {\n      transform: translateY(0);\n    }\n\n    50% {\n      transform: translateY(-9px);\n    }\n  }\n\n  @keyframes ncs-light {\n    0%,\n    100% {\n      opacity: 0.45;\n    }\n\n    50% {\n      opacity: 1;\n    }\n  }\n\n  @keyframes ncs-wave {\n    0% {\n      opacity: 0.65;\n      transform: scale(0.68);\n    }\n\n    100% {\n      opacity: 0;\n      transform: scale(1.14);\n    }\n  }\n\n  @keyframes ncs-pulse {\n    0%,\n    100% {\n      opacity: 0.18;\n      transform: scale(0.94);\n    }\n\n    50% {\n      opacity: 0.52;\n      transform: scale(1.05);\n    }\n  }\n\n  @keyframes ncs-particle {\n    0%,\n    100% {\n      opacity: 0.4;\n      transform: translateY(0) scale(0.8);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translateY(-12px) scale(1.1);\n    }\n  }\n\n  @keyframes ncs-content-change {\n    from {\n      opacity: 0;\n      transform: translateY(7px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @keyframes ncs-cta-glow {\n    0%,\n    100% {\n      opacity: 0.65;\n      transform: translate(-50%, -50%) scale(0.94);\n    }\n\n    50% {\n      opacity: 1;\n      transform: translate(-50%, -50%) scale(1.06);\n    }\n  }\n\n  @media (max-width: 999px) {\n    .ncs-hero__layout,\n    .ncs-technology__layout,\n    .ncs-mode-interactive {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .ncs-hero__copy {\n      width: min(100%, 820px);\n      margin: 0 auto;\n      text-align: center;\n    }\n\n    .ncs-description {\n      margin: 0 auto !important;\n    }\n\n    .ncs-trust {\n      justify-content: center;\n    }\n\n    .ncs-device-stage {\n      min-height: 560px;\n    }\n\n    .ncs-benefits,\n    .ncs-specifications {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .ncs-technology__copy {\n      width: min(100%, 750px);\n      margin: 0 auto;\n    }\n\n    .ncs-mode-options {\n      width: min(100%, 720px);\n      margin: 0 auto;\n    }\n  }\n\n  @media (max-width: 679px) {\n    .ncs-hero {\n      min-height: 0;\n      padding: 72px 0 66px;\n    }\n\n    .ncs-section,\n    .ncs-modes-section {\n      padding: 68px 0;\n    }\n\n    .ncs-device-stage {\n      min-height: 510px;\n    }\n\n    .ncs-device {\n      transform: scale(0.9) rotate(4deg);\n    }\n\n    .ncs-device-ring--two {\n      width: 410px;\n      height: 410px;\n    }\n\n    .ncs-hero__features,\n    .ncs-benefits,\n    .ncs-specifications,\n    .ncs-use-list,\n    .ncs-included {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .ncs-hero__features {\n      width: min(100%, 480px);\n      margin-right: auto;\n      margin-left: auto;\n    }\n\n    .ncs-use-item--featured {\n      grid-column: auto;\n    }\n\n    .ncs-float-label--one,\n    .ncs-float-label--three {\n      left: 0;\n    }\n\n    .ncs-float-label--two {\n      right: 0;\n    }\n\n    #novea-clear-skin button.ncs-mode-option:hover,\n    #novea-clear-skin button.ncs-mode-option:focus-visible,\n    #novea-clear-skin button.ncs-mode-option.is-active {\n      transform: none !important;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .ncs-container {\n      width: calc(100% - 24px);\n    }\n\n    .ncs-hero h1 {\n      font-size: clamp(43px, 14vw, 59px);\n    }\n\n    .ncs-device-stage {\n      min-height: 470px;\n    }\n\n    .ncs-device {\n      transform: scale(0.78) rotate(4deg);\n    }\n\n    .ncs-device-ring--one {\n      width: 310px;\n      height: 310px;\n    }\n\n    .ncs-device-ring--two {\n      width: 370px;\n      height: 370px;\n    }\n\n    .ncs-float-label {\n      padding: 9px 11px;\n      font-size: 10px;\n    }\n\n    .ncs-selected {\n      grid-template-columns: 38px minmax(0, 1fr);\n      gap: 12px;\n      min-height: 0;\n      padding: 16px;\n    }\n\n    .ncs-selected__number {\n      width: 38px;\n      height: 38px;\n    }\n\n    #novea-clear-skin button.ncs-mode-option {\n      grid-template-columns: 38px minmax(0, 1fr) !important;\n      gap: 13px !important;\n      min-height: 0 !important;\n      padding: 16px !important;\n    }\n\n    .ncs-mode-option__number {\n      width: 38px !important;\n      min-width: 38px !important;\n      height: 38px !important;\n    }\n\n    .ncs-mode-core {\n      width: 59%;\n    }\n\n    .ncs-safety {\n      gap: 13px;\n      padding: 18px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #novea-clear-skin *,\n    #novea-clear-skin *::before,\n    #novea-clear-skin *::after {\n      scroll-behavior: auto !important;\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n\n    .ncs-js .ncs-reveal,\n    .ncs-js .ncs-reveal.ncs-visible {\n      opacity: 1;\n      transform: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cp\u003e\u003cscript\u003e\n  (function () {\n    \"use strict\";\n\n    var ROOT_SELECTOR = \"#novea-clear-skin\";\n    var MODE_SELECTOR = \"#ncs-mode-system\";\n\n    function readData(button, name, fallback) {\n      var value = button.getAttribute(\"data-\" + name);\n\n      return value !== null \u0026\u0026 value !== \"\"\n        ? value\n        : fallback;\n    }\n\n    function setText(section, selector, value) {\n      var element = section.querySelector(selector);\n\n      if (element) {\n        element.textContent = value;\n      }\n    }\n\n    function updateMode(section, button, animate) {\n      if (!section || !button) {\n        return;\n      }\n\n      var buttons = section.querySelectorAll(\n        \"button.ncs-mode-option\"\n      );\n\n      var preview = section.querySelector(\n        \".ncs-mode-preview\"\n      );\n\n      var data = {\n        number: readData(button, \"number\", \"01\"),\n        label: readData(\n          button,\n          \"label\",\n          \"TREATMENT 01\"\n        ),\n        word: readData(button, \"word\", \"CLEAN\"),\n        detail: readData(\n          button,\n          \"detail\",\n          \"Deep pore ritual\"\n        ),\n        title: readData(\n          button,\n          \"title\",\n          \"Ultrasonic Cleaning\"\n        ),\n        copy: readData(\n          button,\n          \"copy\",\n          \"Use on damp skin to complement your cleansing ritual.\"\n        ),\n        colour: readData(\n          button,\n          \"colour\",\n          \"#71d9ff\"\n        ),\n        glow: readData(\n          button,\n          \"glow\",\n          \"rgba(113, 217, 255, 0.48)\"\n        )\n      };\n\n      Array.prototype.forEach.call(\n        buttons,\n        function (item) {\n          var selected = item === button;\n\n          item.classList.toggle(\n            \"is-active\",\n            selected\n          );\n\n          item.setAttribute(\n            \"aria-pressed\",\n            selected ? \"true\" : \"false\"\n          );\n\n          if (selected) {\n            item.style.setProperty(\n              \"--option-colour\",\n              data.colour\n            );\n\n            item.style.setProperty(\n              \"--option-glow\",\n              data.glow\n            );\n          } else {\n            item.style.removeProperty(\n              \"--option-colour\"\n            );\n\n            item.style.removeProperty(\n              \"--option-glow\"\n            );\n          }\n        }\n      );\n\n      section.style.setProperty(\n        \"--mode-colour\",\n        data.colour\n      );\n\n      section.style.setProperty(\n        \"--mode-glow\",\n        data.glow\n      );\n\n      setText(\n        section,\n        \".ncs-active-label\",\n        data.label\n      );\n\n      setText(\n        section,\n        \".ncs-active-word\",\n        data.word\n      );\n\n      setText(\n        section,\n        \".ncs-active-detail\",\n        data.detail\n      );\n\n      setText(\n        section,\n        \".ncs-selected__number\",\n        data.number\n      );\n\n      setText(\n        section,\n        \".ncs-selected__title\",\n        data.title\n      );\n\n      setText(\n        section,\n        \".ncs-selected__copy\",\n        data.copy\n      );\n\n      if (preview \u0026\u0026 animate !== false) {\n        preview.classList.remove(\"is-changing\");\n\n        void preview.offsetWidth;\n\n        preview.classList.add(\"is-changing\");\n\n        window.setTimeout(function () {\n          preview.classList.remove(\"is-changing\");\n        }, 420);\n      }\n    }\n\n    function toggleBenefit(card) {\n      if (!card) {\n        return;\n      }\n\n      var open = card.classList.toggle(\"is-open\");\n\n      card.setAttribute(\n        \"aria-expanded\",\n        open ? \"true\" : \"false\"\n      );\n    }\n\n    function initialiseReveals(root) {\n      var items = root.querySelectorAll(\n        \".ncs-reveal\"\n      );\n\n      var reducedMotion =\n        window.matchMedia \u0026\u0026\n        window.matchMedia(\n          \"(prefers-reduced-motion: reduce)\"\n        ).matches;\n\n      if (\n        reducedMotion ||\n        !(\"IntersectionObserver\" in window)\n      ) {\n        Array.prototype.forEach.call(\n          items,\n          function (item) {\n            item.classList.add(\"ncs-visible\");\n          }\n        );\n\n        return;\n      }\n\n      var observer = new IntersectionObserver(\n        function (entries) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) {\n              return;\n            }\n\n            entry.target.classList.add(\n              \"ncs-visible\"\n            );\n\n            observer.unobserve(entry.target);\n          });\n        },\n        {\n          threshold: 0.08,\n          rootMargin: \"0px 0px -18px 0px\"\n        }\n      );\n\n      Array.prototype.forEach.call(\n        items,\n        function (item, index) {\n          item.style.transitionDelay =\n            ((index % 4) * 55) + \"ms\";\n\n          observer.observe(item);\n        }\n      );\n\n      window.setTimeout(function () {\n        Array.prototype.forEach.call(\n          items,\n          function (item) {\n            item.classList.add(\"ncs-visible\");\n          }\n        );\n      }, 1800);\n    }\n\n    function initialiseRoot(root) {\n      if (!root) {\n        return;\n      }\n\n      if (\n        root.getAttribute(\"data-ncs-ready\") !==\n        \"true\"\n      ) {\n        root.setAttribute(\"data-ncs-ready\", \"true\");\n        root.classList.add(\"ncs-js\");\n\n        initialiseReveals(root);\n\n        Array.prototype.forEach.call(\n          root.querySelectorAll(\".ncs-benefit\"),\n          function (card) {\n            card.setAttribute(\n              \"aria-expanded\",\n              card.classList.contains(\"is-open\")\n                ? \"true\"\n                : \"false\"\n            );\n          }\n        );\n      }\n\n      var modeSection = root.querySelector(\n        MODE_SELECTOR\n      );\n\n      if (modeSection) {\n        var initialButton =\n          modeSection.querySelector(\n            \"button.ncs-mode-option.is-active\"\n          ) ||\n          modeSection.querySelector(\n            \"button.ncs-mode-option\"\n          );\n\n        if (initialButton) {\n          updateMode(\n            modeSection,\n            initialButton,\n            false\n          );\n        }\n      }\n    }\n\n    function initialiseAll(scope) {\n      scope = scope || document;\n\n      if (\n        scope.matches \u0026\u0026\n        scope.matches(ROOT_SELECTOR)\n      ) {\n        initialiseRoot(scope);\n      }\n\n      if (scope.querySelectorAll) {\n        Array.prototype.forEach.call(\n          scope.querySelectorAll(ROOT_SELECTOR),\n          initialiseRoot\n        );\n      }\n    }\n\n    document.addEventListener(\n      \"click\",\n      function (event) {\n        var modeButton = event.target.closest(\n          MODE_SELECTOR +\n            \" button.ncs-mode-option\"\n        );\n\n        if (modeButton) {\n          event.preventDefault();\n          event.stopPropagation();\n\n          updateMode(\n            modeButton.closest(MODE_SELECTOR),\n            modeButton,\n            true\n          );\n\n          return;\n        }\n\n        var benefit = event.target.closest(\n          ROOT_SELECTOR + \" .ncs-benefit\"\n        );\n\n        if (benefit) {\n          toggleBenefit(benefit);\n        }\n      }\n    );\n\n    document.addEventListener(\n      \"keydown\",\n      function (event) {\n        if (\n          event.key !== \"Enter\" \u0026\u0026\n          event.key !== \" \"\n        ) {\n          return;\n        }\n\n        var benefit = event.target.closest(\n          ROOT_SELECTOR + \" .ncs-benefit\"\n        );\n\n        if (!benefit) {\n          return;\n        }\n\n        event.preventDefault();\n        toggleBenefit(benefit);\n      }\n    );\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initialiseAll(document);\n        },\n        { once: true }\n      );\n    } else {\n      initialiseAll(document);\n    }\n\n    document.addEventListener(\n      \"shopify:section:load\",\n      function (event) {\n        var root = null;\n\n        if (\n          event.target.matches \u0026\u0026\n          event.target.matches(ROOT_SELECTOR)\n        ) {\n          root = event.target;\n        } else if (event.target.querySelector) {\n          root = event.target.querySelector(\n            ROOT_SELECTOR\n          );\n        }\n\n        if (!root) {\n          return;\n        }\n\n        root.removeAttribute(\"data-ncs-ready\");\n        root.classList.remove(\"ncs-js\");\n\n        initialiseRoot(root);\n      }\n    );\n  })();\n\u003c\/script\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"NOVÉA","offers":[{"title":"Default Title","offer_id":52238443774168,"sku":null,"price":829.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0829\/3063\/0872\/files\/nov-a-skin-scrubber-studio-hero_3b8fdc34-cea7-44d6-b7f5-624c1678a3d0.png?v=1786726542"}],"url":"https:\/\/noveaza.co.za\/collections\/frontpage.oembed?page=2","provider":"NOVÉA","version":"1.0","type":"link"}