{"product_id":"30ml-rosemary-hair-essential-oil","title":"LLVERA™30ml Rosemary Hair Essential Oil","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eLLVERA™ — Rosemary Hair Essential Oil\u003c\/title\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400\u0026amp;family=Outfit:wght@200;300;400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\u003cstyle\u003e\n  :root {\n    --deep-green: #1B3028;\n    --cream: #F2EDE4;\n    --cream-soft: #EDE7DC;\n    --gold: #C9A96E;\n    --gold-light: #D4B87A;\n    --gold-dim: rgba(201,169,110,0.15);\n    --muted: #8A9B8F;\n    --muted-light: #A3B2A8;\n    --divider: #D4CEBC;\n    --text-dark: #1A2B22;\n    --serif: 'Cormorant Garamond', Georgia, serif;\n    --sans: 'Outfit', sans-serif;\n  }\n\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n  html { scroll-behavior: smooth; }\n\n  body {\n    font-family: var(--sans);\n    background: var(--cream);\n    color: var(--text-dark);\n    overflow-x: hidden;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  \/* ===== PRELOADER ===== *\/\n  .preloader {\n    position: fixed;\n    inset: 0;\n    background: var(--deep-green);\n    z-index: 9999;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    animation: preloaderExit 0.8s ease-in-out 2.8s forwards;\n  }\n\n  .preloader-icon {\n    width: 50px;\n    height: 65px;\n    margin-bottom: 1.5rem;\n    opacity: 0;\n    animation: fadeUp 0.8s ease-out 0.2s forwards;\n  }\n\n  .preloader-brand {\n    font-family: var(--serif);\n    font-size: clamp(1.8rem, 4vw, 2.8rem);\n    font-weight: 400;\n    color: var(--gold);\n    letter-spacing: 0.45em;\n    text-transform: uppercase;\n    opacity: 0;\n    animation: fadeUp 1s ease-out 0.5s forwards;\n  }\n\n  .preloader-line {\n    width: 60px;\n    height: 1px;\n    background: var(--gold);\n    margin-top: 1.2rem;\n    transform: scaleX(0);\n    animation: lineGrow 1s ease-out 1s forwards;\n  }\n\n  .preloader-sub {\n    font-family: var(--sans);\n    font-size: 0.65rem;\n    letter-spacing: 0.35em;\n    color: var(--muted);\n    margin-top: 1rem;\n    text-transform: uppercase;\n    opacity: 0;\n    animation: fadeUp 0.8s ease-out 1.5s forwards;\n  }\n\n  @keyframes preloaderExit {\n    to { opacity: 0; pointer-events: none; visibility: hidden; }\n  }\n\n  \/* ===== NAV ===== *\/\n  nav {\n    position: fixed;\n    top: 0; left: 0; right: 0;\n    z-index: 100;\n    padding: 1.8rem 4rem;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    background: linear-gradient(180deg, rgba(27,48,40,0.95) 0%, rgba(27,48,40,0) 100%);\n  }\n\n  .nav-logo {\n    font-family: var(--serif);\n    font-size: 1.1rem;\n    font-weight: 400;\n    letter-spacing: 0.35em;\n    text-transform: uppercase;\n    color: var(--gold);\n    text-decoration: none;\n    display: flex;\n    align-items: center;\n    gap: 0.6rem;\n  }\n\n  .nav-logo svg { width: 22px; height: 28px; }\n\n  .nav-logo span {\n    font-weight: 300;\n    font-size: 0.55rem;\n    vertical-align: super;\n    margin-left: 2px;\n  }\n\n  \/* ===== HERO ===== *\/\n  .hero {\n    height: 100vh;\n    min-height: 720px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    background: var(--deep-green);\n    position: relative;\n    overflow: hidden;\n  }\n\n  .hero-texture {\n    position: absolute;\n    inset: 0;\n    background: radial-gradient(ellipse at 50% 40%, rgba(201,169,110,0.06) 0%, transparent 60%);\n  }\n\n  .hero-vignette {\n    position: absolute;\n    inset: 0;\n    background: radial-gradient(ellipse at center, transparent 40%, rgba(15,30,22,0.6) 100%);\n  }\n\n  .hero-content {\n    text-align: center;\n    position: relative;\n    z-index: 2;\n    padding: 0 1.5rem;\n  }\n\n  .hero-drop {\n    width: 70px;\n    height: 90px;\n    margin: 0 auto 2.5rem;\n    opacity: 0;\n    animation: fadeUp 1s ease-out 3s forwards;\n  }\n\n  .hero-drop svg {\n    width: 100%;\n    height: 100%;\n    filter: drop-shadow(0 0 30px rgba(201,169,110,0.15));\n  }\n\n  .drop-ripple {\n    animation: ripple 3s ease-in-out infinite;\n    transform-origin: center;\n  }\n\n  @keyframes ripple {\n    0%, 100% { opacity: 0.4; transform: scaleX(1); }\n    50% { opacity: 0.8; transform: scaleX(1.15); }\n  }\n\n  .hero-brand {\n    font-family: var(--serif);\n    font-size: clamp(2.5rem, 7vw, 5rem);\n    font-weight: 400;\n    color: var(--gold);\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    opacity: 0;\n    animation: fadeUp 1.2s ease-out 3.3s forwards;\n  }\n\n  .hero-divider {\n    width: 80px;\n    height: 1px;\n    background: var(--gold);\n    margin: 1.8rem auto;\n    transform: scaleX(0);\n    animation: lineGrow 1s ease-out 3.7s forwards;\n  }\n\n  .hero-product-name {\n    font-family: var(--sans);\n    font-size: clamp(0.65rem, 1.2vw, 0.8rem);\n    letter-spacing: 0.4em;\n    text-transform: uppercase;\n    color: var(--muted-light);\n    font-weight: 300;\n    opacity: 0;\n    animation: fadeUp 0.8s ease-out 3.9s forwards;\n  }\n\n  .hero-tagline {\n    font-family: var(--serif);\n    font-size: clamp(1rem, 2vw, 1.4rem);\n    font-weight: 300;\n    font-style: italic;\n    color: var(--gold-light);\n    margin-top: 1.5rem;\n    letter-spacing: 0.05em;\n    opacity: 0;\n    animation: fadeUp 0.8s ease-out 4.2s forwards;\n  }\n\n  .hero-badges {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 0.7rem;\n    margin-top: 2.2rem;\n    opacity: 0;\n    animation: fadeUp 0.8s ease-out 4.4s forwards;\n  }\n\n  .hero-badge {\n    border: 1px solid rgba(201,169,110,0.35);\n    color: var(--gold);\n    font-family: var(--sans);\n    font-size: 0.55rem;\n    letter-spacing: 0.22em;\n    text-transform: uppercase;\n    padding: 0.55rem 1.1rem;\n    font-weight: 300;\n  }\n\n  .hero-scroll {\n    position: absolute;\n    bottom: 3rem;\n    left: 50%;\n    transform: translateX(-50%);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 0.8rem;\n    opacity: 0;\n    animation: fadeUp 1s ease-out 4.6s forwards;\n  }\n\n  .hero-scroll span {\n    font-size: 0.55rem;\n    letter-spacing: 0.3em;\n    text-transform: uppercase;\n    color: var(--muted);\n  }\n\n  .scroll-line {\n    width: 1px;\n    height: 40px;\n    background: var(--gold);\n    animation: scrollPulse 2s ease-in-out infinite;\n  }\n\n  @keyframes scrollPulse {\n    0%, 100% { transform: scaleY(1); opacity: 0.3; }\n    50% { transform: scaleY(0.5); opacity: 1; }\n  }\n\n  \/* ===== DESCRIPTION ===== *\/\n  .description {\n    padding: 10rem 4rem;\n    max-width: 850px;\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .desc-eyebrow {\n    font-size: 0.6rem;\n    letter-spacing: 0.45em;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 2.5rem;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 1s ease-out;\n  }\n\n  .desc-text {\n    font-family: var(--serif);\n    font-size: clamp(1.4rem, 2.8vw, 2rem);\n    font-weight: 300;\n    line-height: 1.8;\n    color: var(--text-dark);\n    opacity: 0;\n    transform: translateY(40px);\n    transition: all 1.2s ease-out 0.2s;\n  }\n\n  .desc-text .hl {\n    color: var(--gold);\n    font-style: italic;\n  }\n\n  .desc-divider {\n    width: 1px;\n    height: 80px;\n    background: var(--divider);\n    margin: 4rem auto;\n    transform: scaleY(0);\n    transition: transform 1s ease-out 0.4s;\n  }\n\n  \/* ===== HOW TO USE ===== *\/\n  .how-to-use {\n    padding: 6rem 4rem 8rem;\n    background: var(--deep-green);\n  }\n\n  .how-to-use-header {\n    text-align: center;\n    margin-bottom: 4rem;\n  }\n\n  .how-to-use-header h2 {\n    font-family: var(--serif);\n    font-size: clamp(1.8rem, 3.5vw, 2.5rem);\n    font-weight: 300;\n    color: var(--cream);\n    letter-spacing: 0.06em;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 1s ease-out;\n  }\n\n  .steps-grid {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 0;\n    max-width: 1000px;\n    margin: 0 auto;\n    position: relative;\n  }\n\n  .step-item {\n    text-align: center;\n    padding: 2.5rem 2rem;\n    position: relative;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 0.8s ease-out;\n  }\n\n  .step-item:not(:last-child)::after {\n    content: '';\n    position: absolute;\n    right: 0;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 1px;\n    height: 40px;\n    background: rgba(201,169,110,0.15);\n  }\n\n  .step-number {\n    font-family: var(--serif);\n    font-size: 2.5rem;\n    font-weight: 300;\n    color: rgba(201,169,110,0.2);\n    margin-bottom: 1rem;\n    line-height: 1;\n  }\n\n  .step-icon {\n    width: 40px;\n    height: 40px;\n    margin: 0 auto 1.2rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .step-icon svg { width: 28px; height: 28px; }\n\n  .step-title {\n    font-family: var(--serif);\n    font-size: 1.1rem;\n    font-weight: 400;\n    color: var(--gold);\n    margin-bottom: 0.5rem;\n  }\n\n  .step-desc {\n    font-family: var(--sans);\n    font-size: 0.72rem;\n    font-weight: 200;\n    color: var(--muted);\n    line-height: 1.6;\n  }\n\n  .step-item:nth-child(2) { transition-delay: 0.15s; }\n  .step-item:nth-child(3) { transition-delay: 0.3s; }\n  .step-item:nth-child(4) { transition-delay: 0.45s; }\n\n  \/* ===== BENEFITS ===== *\/\n  .benefits {\n    padding: 6rem 4rem 8rem;\n    background: var(--cream);\n  }\n\n  .benefits-header {\n    text-align: center;\n    margin-bottom: 4rem;\n  }\n\n  .benefits-header h2 {\n    font-family: var(--serif);\n    font-size: clamp(1.8rem, 3.5vw, 2.5rem);\n    font-weight: 300;\n    color: var(--text-dark);\n    letter-spacing: 0.06em;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 1s ease-out;\n  }\n\n  .benefits-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 1.5rem;\n    max-width: 1000px;\n    margin: 0 auto;\n  }\n\n  .benefit-item {\n    text-align: center;\n    padding: 2rem 1.5rem;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 0.8s ease-out;\n  }\n\n  .benefit-icon {\n    width: 48px;\n    height: 48px;\n    margin: 0 auto 1.2rem;\n    border: 1px solid var(--divider);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: all 0.5s ease;\n  }\n\n  .benefit-item:hover .benefit-icon {\n    border-color: var(--gold);\n    background: rgba(201,169,110,0.06);\n    transform: translateY(-4px);\n  }\n\n  .benefit-icon svg { width: 20px; height: 20px; }\n\n  .benefit-title {\n    font-family: var(--sans);\n    font-size: 0.65rem;\n    font-weight: 400;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 0.6rem;\n  }\n\n  .benefit-desc {\n    font-family: var(--sans);\n    font-size: 0.75rem;\n    font-weight: 200;\n    color: var(--muted);\n    line-height: 1.7;\n  }\n\n  .benefit-item:nth-child(2) { transition-delay: 0.1s; }\n  .benefit-item:nth-child(3) { transition-delay: 0.2s; }\n  .benefit-item:nth-child(4) { transition-delay: 0.3s; }\n  .benefit-item:nth-child(5) { transition-delay: 0.4s; }\n  .benefit-item:nth-child(6) { transition-delay: 0.5s; }\n\n  \/* ===== MARQUEE ===== *\/\n  .marquee-section {\n    padding: 3rem 0;\n    background: var(--cream-soft);\n    overflow: hidden;\n  }\n\n  .marquee-track {\n    display: flex;\n    width: max-content;\n    animation: marqueeScroll 25s linear infinite;\n  }\n\n  .marquee-item {\n    display: flex;\n    align-items: center;\n    gap: 2rem;\n    padding: 0 2rem;\n    white-space: nowrap;\n  }\n\n  .marquee-item span {\n    font-family: var(--serif);\n    font-size: clamp(1rem, 2vw, 1.5rem);\n    font-weight: 300;\n    color: var(--text-dark);\n    letter-spacing: 0.08em;\n  }\n\n  .marquee-dot {\n    width: 5px;\n    height: 5px;\n    background: var(--gold);\n    border-radius: 50%;\n    flex-shrink: 0;\n  }\n\n  @keyframes marqueeScroll {\n    to { transform: translateX(-50%); }\n  }\n\n  \/* ===== FEATURES ===== *\/\n  .features {\n    padding: 8rem 4rem 6rem;\n    background: var(--cream);\n  }\n\n  .features-header {\n    text-align: center;\n    margin-bottom: 5rem;\n  }\n\n  .features-header h2 {\n    font-family: var(--serif);\n    font-size: clamp(1.8rem, 3.5vw, 2.8rem);\n    font-weight: 300;\n    color: var(--text-dark);\n    letter-spacing: 0.05em;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 1s ease-out;\n  }\n\n  .features-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 2.5rem;\n    max-width: 1200px;\n    margin: 0 auto;\n  }\n\n  .feature-card {\n    border: 1px solid var(--divider);\n    padding: 3rem 2.5rem;\n    position: relative;\n    overflow: hidden;\n    background: white;\n    transition: all 0.5s ease;\n    opacity: 0;\n    transform: translateY(40px);\n  }\n\n  .feature-card::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0;\n    width: 100%;\n    height: 3px;\n    background: linear-gradient(90deg, transparent, var(--gold), transparent);\n    transform: scaleX(0);\n    transition: transform 0.8s ease-out;\n  }\n\n  .feature-card:hover::before { transform: scaleX(1); }\n\n  .feature-card:hover {\n    border-color: var(--gold);\n    box-shadow: 0 20px 60px rgba(27,48,40,0.06);\n    transform: translateY(-4px) !important;\n  }\n\n  .feature-number {\n    font-family: var(--serif);\n    font-size: 3rem;\n    font-weight: 300;\n    color: rgba(201,169,110,0.2);\n    margin-bottom: 1.2rem;\n    line-height: 1;\n  }\n\n  .feature-title {\n    font-family: var(--serif);\n    font-size: 1.3rem;\n    font-weight: 400;\n    color: var(--deep-green);\n    margin-bottom: 0.8rem;\n    letter-spacing: 0.03em;\n  }\n\n  .feature-desc {\n    font-family: var(--sans);\n    font-size: 0.82rem;\n    font-weight: 200;\n    color: var(--muted);\n    line-height: 1.9;\n  }\n\n  .feature-card:nth-child(2) { transition-delay: 0.15s; }\n  .feature-card:nth-child(3) { transition-delay: 0.3s; }\n  .feature-card:nth-child(4) { transition-delay: 0.45s; }\n\n  \/* ===== PRO TIP ===== *\/\n  .pro-tip {\n    max-width: 700px;\n    margin: 4rem auto 0;\n    padding: 2.5rem 3rem;\n    border: 1px solid var(--divider);\n    background: var(--cream-soft);\n    text-align: center;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 1s ease-out;\n  }\n\n  .pro-tip-label {\n    font-size: 0.6rem;\n    letter-spacing: 0.4em;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 1rem;\n    font-weight: 400;\n  }\n\n  .pro-tip-text {\n    font-family: var(--serif);\n    font-size: 1.05rem;\n    font-weight: 300;\n    color: var(--text-dark);\n    line-height: 1.8;\n    font-style: italic;\n  }\n\n  \/* ===== CLOSING \/ SUITABLE ===== *\/\n  .suitable {\n    padding: 6rem 4rem 8rem;\n    background: var(--deep-green);\n    text-align: center;\n  }\n\n  .suitable-header h2 {\n    font-family: var(--serif);\n    font-size: clamp(1.8rem, 3.5vw, 2.5rem);\n    font-weight: 300;\n    color: var(--cream);\n    letter-spacing: 0.06em;\n    margin-bottom: 3rem;\n    opacity: 0;\n    transform: translateY(30px);\n    transition: all 1s ease-out;\n  }\n\n  .hair-tags {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 0.9rem;\n    max-width: 720px;\n    margin: 0 auto;\n  }\n\n  .hair-tag {\n    border: 1px solid rgba(201,169,110,0.4);\n    color: var(--gold-light);\n    font-family: var(--sans);\n    font-size: 0.62rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    padding: 0.75rem 1.4rem;\n    font-weight: 300;\n    transition: all 0.4s ease;\n    opacity: 0;\n    transform: translateY(20px);\n  }\n\n  .hair-tag:hover {\n    border-color: var(--gold);\n    background: rgba(201,169,110,0.08);\n    color: var(--cream);\n  }\n\n  .hair-tag:nth-child(2) { transition-delay: 0.08s; }\n  .hair-tag:nth-child(3) { transition-delay: 0.16s; }\n  .hair-tag:nth-child(4) { transition-delay: 0.24s; }\n  .hair-tag:nth-child(5) { transition-delay: 0.32s; }\n  .hair-tag:nth-child(6) { transition-delay: 0.4s; }\n\n  .suitable-footer {\n    margin-top: 4rem;\n    opacity: 0;\n    transform: translateY(20px);\n    transition: all 0.9s ease-out 0.4s;\n  }\n\n  .suitable-footer-line {\n    width: 60px;\n    height: 1px;\n    background: rgba(201,169,110,0.4);\n    margin: 0 auto 1.4rem;\n  }\n\n  .suitable-footer-note {\n    font-family: var(--sans);\n    font-size: 0.62rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--muted);\n    font-weight: 300;\n  }\n\n  \/* ===== ANIMATIONS ===== *\/\n  @keyframes fadeUp {\n    from { opacity: 0; transform: translateY(30px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  @keyframes lineGrow {\n    from { transform: scaleX(0); }\n    to { transform: scaleX(1); }\n  }\n\n  .revealed .desc-eyebrow,\n  .revealed .desc-text,\n  .revealed .how-to-use-header h2,\n  .revealed .benefits-header h2,\n  .revealed .features-header h2,\n  .revealed .suitable-header h2,\n  .revealed .feature-card,\n  .revealed .benefit-item,\n  .revealed .step-item,\n  .revealed .pro-tip,\n  .revealed .hair-tag,\n  .revealed .suitable-footer {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  .revealed .desc-divider {\n    transform: scaleY(1);\n  }\n\n  \/* ===== RESPONSIVE ===== *\/\n  @media (max-width: 768px) {\n    nav { padding: 1.2rem 1.5rem; }\n    .description { padding: 6rem 1.8rem; }\n    .how-to-use { padding: 4rem 1.5rem 5rem; }\n    .steps-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }\n    .step-item:not(:last-child)::after { display: none; }\n    .benefits { padding: 4rem 1.5rem 5rem; }\n    .benefits-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }\n    .features { padding: 5rem 1.8rem 4rem; }\n    .features-grid { grid-template-columns: 1fr; }\n    .pro-tip { margin: 3rem 1.8rem 0; padding: 2rem 1.5rem; }\n    .suitable { padding: 4rem 1.5rem 5rem; }\n  }\n\u003c\/style\u003e\n\n\n\n\u003c!-- DROP ICON SVG --\u003e\n\u003csvg style=\"display:none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n  \u003cdefs\u003e\n    \u003csymbol id=\"llvera-drop\" viewbox=\"0 0 50 65\"\u003e\n      \u003cpath d=\"M25 3 C25 3 5 28 5 40 C5 51.5 14 60 25 60 C36 60 45 51.5 45 40 C45 28 25 3 25 3Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\u003e\u003c\/path\u003e\n      \u003cellipse class=\"drop-ripple\" cx=\"25\" cy=\"58\" rx=\"18\" ry=\"3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\" opacity=\"0.4\"\u003e\u003c\/ellipse\u003e\n      \u003cellipse class=\"drop-ripple\" cx=\"25\" cy=\"58\" rx=\"12\" ry=\"2\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"0.8\" opacity=\"0.25\" style=\"animation-delay:0.5s;\"\u003e\u003c\/ellipse\u003e\n    \u003c\/symbol\u003e\n  \u003c\/defs\u003e\n\u003c\/svg\u003e\n\n\u003c!-- PRELOADER --\u003e\n\u003cdiv class=\"preloader\"\u003e\n  \u003cdiv class=\"preloader-icon\"\u003e\n    \u003csvg viewbox=\"0 0 50 65\" style=\"color:var(--gold);\"\u003e\u003cuse href=\"#llvera-drop\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"preloader-brand\"\u003eLlvera\u003c\/div\u003e\n  \u003cdiv class=\"preloader-line\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"preloader-sub\"\u003eNourish Your Crown\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- NAV --\u003e\n\u003cnav\u003e\n  \u003ca href=\"#\" class=\"nav-logo\"\u003e\n    \u003csvg viewbox=\"0 0 50 65\" style=\"color:var(--gold);\"\u003e\u003cuse href=\"#llvera-drop\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\n    Llvera\u003cspan\u003e™\u003c\/span\u003e\n  \u003c\/a\u003e\n\u003c\/nav\u003e\n\n\u003c!-- HERO --\u003e\n\u003csection class=\"hero\"\u003e\n  \u003cdiv class=\"hero-texture\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"hero-vignette\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"hero-content\"\u003e\n    \u003cdiv class=\"hero-drop\"\u003e\n      \u003csvg viewbox=\"0 0 50 65\" style=\"color:var(--gold);\"\u003e\u003cuse href=\"#llvera-drop\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\n    \u003c\/div\u003e\n    \u003ch1 class=\"hero-brand\"\u003eLlvera\u003c\/h1\u003e\n    \u003cdiv class=\"hero-divider\"\u003e\u003c\/div\u003e\n    \u003cp class=\"hero-product-name\"\u003eRosemary Hair Essential Oil · 30 ml\u003c\/p\u003e\n    \u003cp class=\"hero-tagline\"\u003eNourish Your Crown\u003c\/p\u003e\n    \u003cdiv class=\"hero-badges\"\u003e\n      \u003cspan class=\"hero-badge\"\u003eRosemary Oil\u003c\/span\u003e\n      \u003cspan class=\"hero-badge\"\u003e30 ml\u003c\/span\u003e\n      \u003cspan class=\"hero-badge\"\u003eScalp \u0026amp; Roots\u003c\/span\u003e\n      \u003cspan class=\"hero-badge\"\u003eTravel-Ready\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"hero-scroll\"\u003e\n    \u003cspan\u003eDiscover\u003c\/span\u003e\n    \u003cdiv class=\"scroll-line\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- DESCRIPTION --\u003e\n\u003csection class=\"description\"\u003e\n  \u003cp class=\"desc-eyebrow\"\u003eScalp Wellness \u0026amp; Renewal\u003c\/p\u003e\n  \u003cp class=\"desc-text\"\u003e\n    Llvera™ Rosemary Hair Essential Oil brings a time-honoured botanical to your daily ritual. Massaged into the scalp, rosemary helps \u003cspan class=\"hl\"\u003eawaken the roots\u003c\/span\u003e, soothe dryness, and leave hair looking glossier and stronger. A few drops, a quiet moment — \u003cspan class=\"hl\"\u003ecare that begins at the crown\u003c\/span\u003e.\n  \u003c\/p\u003e\n  \u003cdiv class=\"desc-divider\"\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- HOW TO USE --\u003e\n\u003csection class=\"how-to-use\"\u003e\n  \u003cdiv class=\"how-to-use-header\"\u003e\n    \u003ch2\u003eHow to Use\u003c\/h2\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"steps-grid\"\u003e\n    \u003cdiv class=\"step-item\"\u003e\n      \u003cdiv class=\"step-number\"\u003e01\u003c\/div\u003e\n      \u003cdiv class=\"step-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 3v18M5.5 7.5C8 5 12 3 12 3s4 2 6.5 4.5M5.5 12c2.5-2 6.5-4 6.5-4s4 2 6.5 4\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"step-title\"\u003ePart Your Hair\u003c\/h3\u003e\n      \u003cp class=\"step-desc\"\u003eSection dry or damp hair to expose the scalp\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"step-item\"\u003e\n      \u003cdiv class=\"step-number\"\u003e02\u003c\/div\u003e\n      \u003cdiv class=\"step-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 3 C12 3 6 12 6 16 a6 6 0 0 0 12 0 C18 12 12 3 12 3z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"step-title\"\u003eApply a Few Drops\u003c\/h3\u003e\n      \u003cp class=\"step-desc\"\u003eDispense the oil along the parting, focusing on the scalp\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"step-item\"\u003e\n      \u003cdiv class=\"step-number\"\u003e03\u003c\/div\u003e\n      \u003cdiv class=\"step-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\n          \u003cpath d=\"M9 10c1-1.5 5-1.5 6 0M9 14c1 1.5 5 1.5 6 0\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"step-title\"\u003eMassage In\u003c\/h3\u003e\n      \u003cp class=\"step-desc\"\u003eWork into the scalp with fingertips to boost circulation\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"step-item\"\u003e\n      \u003cdiv class=\"step-number\"\u003e04\u003c\/div\u003e\n      \u003cdiv class=\"step-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2z\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M12 6v6l4 2\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"step-title\"\u003eLeave or Rinse\u003c\/h3\u003e\n      \u003cp class=\"step-desc\"\u003eLeave in overnight, or rinse after thirty minutes\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"benefits\"\u003e\n  \u003cdiv class=\"benefits-header\"\u003e\n    \u003ch2\u003eWhy Your Scalp Will Thank You\u003c\/h2\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"benefits-grid\"\u003e\n    \u003cdiv class=\"benefit-item\"\u003e\n      \u003cdiv class=\"benefit-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 21V9M12 9c0-3 2-5 5-5 0 3-2 5-5 5zM12 12c0-3-2-5-5-5 0 3 2 5 5 5z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"benefit-title\"\u003eSupports Hair Growth\u003c\/h3\u003e\n      \u003cp class=\"benefit-desc\"\u003eRosemary is traditionally used to support the appearance of fuller hair and a healthy, active scalp\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit-item\"\u003e\n      \u003cdiv class=\"benefit-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5l8-3z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"benefit-title\"\u003eHelps Reduce Shedding\u003c\/h3\u003e\n      \u003cp class=\"benefit-desc\"\u003eConditions and strengthens the hair root, helping hair feel less prone to everyday breakage and shedding\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit-item\"\u003e\n      \u003cdiv class=\"benefit-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 22c-4-3.5-8-7-8-11a8 8 0 1 1 16 0c0 4-4 7.5-8 11z\"\u003e\u003c\/path\u003e\n          \u003ccircle cx=\"12\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"benefit-title\"\u003eNourishes the Scalp\u003c\/h3\u003e\n      \u003cp class=\"benefit-desc\"\u003eDeeply conditions the scalp, helping restore moisture balance and soothe dryness, flakiness, and irritation\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit-item\"\u003e\n      \u003cdiv class=\"benefit-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003cpath d=\"M12 3l2.5 6L21 9l-5 4 2 7-6-4-6 4 2-7-5-4 6.5 0z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"benefit-title\"\u003eAdds Shine \u0026amp; Strength\u003c\/h3\u003e\n      \u003cp class=\"benefit-desc\"\u003eSmooths the hair cuticle for visibly glossier, stronger strands that resist breakage\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit-item\"\u003e\n      \u003cdiv class=\"benefit-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003ccircle cx=\"12\" cy=\"12\" r=\"4\"\u003e\u003c\/circle\u003e\n          \u003cpath d=\"M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M19 5l-2 2M7 17l-2 2\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"benefit-title\"\u003eAntioxidant Protection\u003c\/h3\u003e\n      \u003cp class=\"benefit-desc\"\u003eRich in antioxidants that help shield hair from environmental stressors and pollution\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit-item\"\u003e\n      \u003cdiv class=\"benefit-icon\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"var(--gold)\" stroke-width=\"1.2\"\u003e\n          \u003crect x=\"7\" y=\"2\" width=\"10\" height=\"20\" rx=\"2\"\u003e\u003c\/rect\u003e\n          \u003cpath d=\"M10 5h4\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003ch3 class=\"benefit-title\"\u003eCompact \u0026amp; Travel-Ready\u003c\/h3\u003e\n      \u003cp class=\"benefit-desc\"\u003eA 30 ml bottle slips easily into any bag, so your ritual travels wherever you go\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- MARQUEE --\u003e\n\u003csection class=\"marquee-section\"\u003e\n  \u003cdiv class=\"marquee-track\"\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003ePure Rosemary\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eScalp Renewal\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eGlossier Strands\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eRoot Strength\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eAntioxidant Care\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eA Few Drops Daily\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eTravel-Ready\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eNourish Your Crown\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003ePure Rosemary\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eScalp Renewal\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eGlossier Strands\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eRoot Strength\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eAntioxidant Care\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eA Few Drops Daily\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eTravel-Ready\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"marquee-item\"\u003e\n\u003cdiv class=\"marquee-dot\"\u003e\u003c\/div\u003e\n\u003cspan\u003eNourish Your Crown\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- FEATURES --\u003e\n\u003csection class=\"features\"\u003e\n  \u003cdiv class=\"features-header\"\u003e\n    \u003ch2\u003eEngineered for Your Crown\u003c\/h2\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"features-grid\"\u003e\n    \u003cdiv class=\"feature-card\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e01\u003c\/div\u003e\n      \u003ch3 class=\"feature-title\"\u003ePowered by Rosemary\u003c\/h3\u003e\n      \u003cp class=\"feature-desc\"\u003eA botanical long valued in hair care, rosemary brings its aromatic, antioxidant-rich character to a daily scalp ritual designed around healthier-looking hair.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-card\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e02\u003c\/div\u003e\n      \u003ch3 class=\"feature-title\"\u003eScalp-First Care\u003c\/h3\u003e\n      \u003cp class=\"feature-desc\"\u003eMade to be massaged into the scalp, where it conditions, soothes dryness, and helps maintain the balanced foundation that strong hair grows from.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-card\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e03\u003c\/div\u003e\n      \u003ch3 class=\"feature-title\"\u003eShine You Can See\u003c\/h3\u003e\n      \u003cp class=\"feature-desc\"\u003eBy smoothing the hair cuticle, the oil helps lengths look glossier and feel stronger — softness and shine that build with regular use.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-card\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e04\u003c\/div\u003e\n      \u003ch3 class=\"feature-title\"\u003eA 30 ml Everyday Ritual\u003c\/h3\u003e\n      \u003cp class=\"feature-desc\"\u003eCompact, refined, and easy to reach for. Keep it on the shelf or tuck it in a bag — the ritual stays simple wherever you are.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- PRO TIP --\u003e\n  \u003cdiv class=\"pro-tip\"\u003e\n    \u003cp class=\"pro-tip-label\"\u003e✦ Pro Tip\u003c\/p\u003e\n    \u003cp class=\"pro-tip-text\"\u003eFor the most relaxing ritual, warm a few drops between your palms first, then massage into the scalp for a minute or two before bed — and let it work overnight.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- CLOSING \/ SUITABLE --\u003e\n\u003csection class=\"suitable\"\u003e\n  \u003cdiv class=\"suitable-header\"\u003e\n    \u003ch2\u003eMade for Every Crown\u003c\/h2\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"hair-tags\"\u003e\n    \u003cspan class=\"hair-tag\"\u003eFine Hair\u003c\/span\u003e\n    \u003cspan class=\"hair-tag\"\u003eThick Hair\u003c\/span\u003e\n    \u003cspan class=\"hair-tag\"\u003eCurly Hair\u003c\/span\u003e\n    \u003cspan class=\"hair-tag\"\u003eCoily Hair\u003c\/span\u003e\n    \u003cspan class=\"hair-tag\"\u003eColour-Treated\u003c\/span\u003e\n    \u003cspan class=\"hair-tag\"\u003eNatural Hair\u003c\/span\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"suitable-footer\"\u003e\n    \u003cdiv class=\"suitable-footer-line\"\u003e\u003c\/div\u003e\n    \u003cp class=\"suitable-footer-note\"\u003ePure Botanical · Pure Nourishment · Pure Crown\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n  const observer = new IntersectionObserver((entries) =\u003e {\n    entries.forEach(entry =\u003e {\n      if (entry.isIntersecting) {\n        entry.target.classList.add('revealed');\n      }\n    });\n  }, { threshold: 0.12 });\n\n  document.querySelectorAll('.description, .how-to-use, .how-to-use-header, .step-item, .benefits, .benefits-header, .benefit-item, .features, .features-header, .feature-card, .pro-tip, .suitable, .suitable-header, .hair-tag, .suitable-footer').forEach(el =\u003e {\n    observer.observe(el);\n  });\n\u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"Llvera","offers":[{"title":"30 ml","offer_id":46353325621420,"sku":null,"price":219.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0754\/7555\/0380\/files\/Rosemerryoil.jpg?v=1780511462","url":"https:\/\/llvera.co.za\/products\/30ml-rosemary-hair-essential-oil","provider":"Llvera","version":"1.0","type":"link"}