{"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","url":"https:\/\/noveaza.co.za\/products\/novea%e2%84%a2-soft-lip-essence-oil","provider":"NOVÉA","version":"1.0","type":"link"}