{"title":"buy 2 get free fabric markers","description":null,"products":[{"product_id":"smilevital™-lumiwhite-teeth-whitening-powder","title":"SmileVital™ Colourable Art Blanket","description":"\u003csection class=\"sv-premium\"\u003e\n\n  \u003c!-- =========================\n       HERO SECTION\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-hero\"\u003e\n\n    \u003cdiv class=\"sv-glow sv-glow-blue\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"sv-glow sv-glow-red\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"sv-glow sv-glow-green\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"sv-hero-content sv-reveal\"\u003e\n\n      \u003cdiv class=\"sv-eyebrow\"\u003e\n        \u003cspan class=\"sv-dot\"\u003e\u003c\/span\u003e\n        COLOUR • RELAX • SMILE\n        \u003cspan class=\"sv-dot\"\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003ch1\u003e\n        Turn Quiet Moments Into\n        \u003cspan\u003eYour Own Masterpiece.\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp class=\"sv-hero-description\"\u003e\n        Meet the SmileVital Colouring Blanket — a soft, creative\n        escape designed to bring comfort, imagination and meaningful\n        moments together in one beautiful experience.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"sv-mini-benefits\"\u003e\n\n        \u003cdiv class=\"sv-mini-card\"\u003e\n          \u003cspan\u003e🎨\u003c\/span\u003e\n          \u003cstrong\u003eColour\u003c\/strong\u003e\n          \u003csmall\u003eYour way\u003c\/small\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sv-mini-card\"\u003e\n          \u003cspan\u003e☁️\u003c\/span\u003e\n          \u003cstrong\u003eGet Cosy\u003c\/strong\u003e\n          \u003csmall\u003eIn comfort\u003c\/small\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sv-mini-card\"\u003e\n          \u003cspan\u003e💚\u003c\/span\u003e\n          \u003cstrong\u003eSlow Down\u003c\/strong\u003e\n          \u003csmall\u003eEnjoy the moment\u003c\/small\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       INTRODUCTION\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-intro sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-label\"\u003e\n      ✦ MORE THAN JUST A BLANKET\n    \u003c\/div\u003e\n\n    \u003ch2\u003e\n      A Soft Canvas For\n      \u003cspan\u003eCreativity.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Elevate everyday comfort into something personal.\n      The SmileVital Colouring Blanket combines the cosy feeling\n      of a blanket with the simple joy of colouring.\n    \u003c\/p\u003e\n\n    \u003cp\u003e\n      Whether you're enjoying a quiet afternoon, spending time\n      with family, relaxing after a long day or simply looking\n      for something creative to do, every coloured section\n      becomes part of something uniquely yours.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       FEATURE CARDS\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-features sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-feature-card\"\u003e\n\n      \u003cdiv class=\"sv-icon sv-icon-blue\"\u003e\n        🎨\n      \u003c\/div\u003e\n\n      \u003ch3\u003eCreate Freely\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Fill each pattern with your favourite colours\n        and create something completely personal.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sv-feature-card\"\u003e\n\n      \u003cdiv class=\"sv-icon sv-icon-red\"\u003e\n        ☁️\n      \u003c\/div\u003e\n\n      \u003ch3\u003eCosy Comfort\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Soft, inviting and made for relaxing — whether\n        you're colouring or simply getting comfortable.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sv-feature-card\"\u003e\n\n      \u003cdiv class=\"sv-icon sv-icon-green\"\u003e\n        🧠\n      \u003c\/div\u003e\n\n      \u003ch3\u003eScreen-Free Time\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Put the phone down and enjoy a simple,\n        hands-on creative experience.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sv-feature-card\"\u003e\n\n      \u003cdiv class=\"sv-icon sv-icon-red\"\u003e\n        👨‍👩‍👧‍👦\n      \u003c\/div\u003e\n\n      \u003ch3\u003eFor Every Generation\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Children, adults and older family members\n        can all enjoy it in their own unique way.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       EMOTIONAL SECTION\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-emotion sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-emotion-inner\"\u003e\n\n      \u003cdiv class=\"sv-label\"\u003e\n        YOUR TIME. YOUR COLOURS. YOUR CREATION.\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Sometimes You Just Need\n        \u003cspan\u003eA Little Time To Slow Down.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Between busy schedules, screens and everyday\n        responsibilities, it's easy to forget how enjoyable\n        simple things can be.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        Colouring gives you something wonderfully uncomplicated:\n        choose a colour, follow the lines and watch your blank\n        canvas slowly become your own.\n      \u003c\/p\u003e\n\n\n      \u003cdiv class=\"sv-check-list\"\u003e\n\n        \u003cdiv class=\"sv-check\"\u003e\n          \u003cspan\u003e✓\u003c\/span\u003e\n          \u003cp\u003eEncourages creative expression\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sv-check\"\u003e\n          \u003cspan\u003e✓\u003c\/span\u003e\n          \u003cp\u003eCreates relaxing screen-free moments\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sv-check\"\u003e\n          \u003cspan\u003e✓\u003c\/span\u003e\n          \u003cp\u003ePerfect for individual or family time\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sv-check\"\u003e\n          \u003cspan\u003e✓\u003c\/span\u003e\n          \u003cp\u003eTurns into something uniquely yours\u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       HOW IT WORKS\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-how sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-heading\"\u003e\n\n      \u003cdiv class=\"sv-label\"\u003e\n        \u003cspan class=\"sv-dot\"\u003e\u003c\/span\u003e\n        SIMPLE • CREATIVE • FUN\n        \u003cspan class=\"sv-dot\"\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Your New Favourite\n        \u003cspan\u003eRitual.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sv-steps\"\u003e\n\n      \u003cdiv class=\"sv-step\"\u003e\n\n        \u003cdiv class=\"sv-step-number\"\u003e\n          01\n        \u003c\/div\u003e\n\n        \u003ch3\u003eGet Comfortable\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Find your favourite spot, get cosy and\n          prepare to create.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sv-step\"\u003e\n\n        \u003cdiv class=\"sv-step-number\"\u003e\n          02\n        \u003c\/div\u003e\n\n        \u003ch3\u003ePick Your Colours\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Grab your favourite colouring pens or\n          markers and let your imagination lead.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sv-step\"\u003e\n\n        \u003cdiv class=\"sv-step-number\"\u003e\n          03\n        \u003c\/div\u003e\n\n        \u003ch3\u003eMake It Yours\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Bring each illustration to life and create\n          something nobody else has.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       SOUTH AFRICAN \/ LOCAL\n       BRANDING SECTION\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-za sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-za-inner\"\u003e\n\n      \u003cdiv class=\"sv-za-badge\"\u003e\n        🇿🇦 PROUDLY SOUTH AFRICAN\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Made For Moments\n        \u003cspan\u003eThat Matter.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        From family afternoons to quiet evenings at home,\n        SmileVital is designed to bring a little more colour,\n        creativity and comfort into everyday South African life.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"sv-za-pills\"\u003e\n\n        \u003cdiv\u003e🇿🇦 South African Brand\u003c\/div\u003e\n        \u003cdiv\u003e🎨 Creative Fun\u003c\/div\u003e\n        \u003cdiv\u003e💙 Family Friendly\u003c\/div\u003e\n        \u003cdiv\u003e☁️ Cosy Comfort\u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       GIFT SECTION\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-gift sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-gift-inner\"\u003e\n\n      \u003cdiv class=\"sv-gift-icon\"\u003e\n        🎁\n      \u003c\/div\u003e\n\n      \u003cdiv\u003e\n\n        \u003cdiv class=\"sv-gift-label\"\u003e\n          A GIFT THEY'LL ACTUALLY REMEMBER\n        \u003c\/div\u003e\n\n        \u003ch2\u003e\n          Give Them Something\n          \u003cspan\u003eThey Can Create.\u003c\/span\u003e\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          Birthdays, family occasions, holidays or simply\n          \"I thought of you\" moments — the SmileVital\n          Colouring Blanket is a gift that becomes more\n          personal every time it's coloured.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       BENEFITS\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-benefits sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-heading\"\u003e\n\n      \u003cdiv class=\"sv-label\"\u003e\n        ✦ WHY YOU'LL LOVE IT\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Designed For\n        \u003cspan\u003eReal Life.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sv-benefit-grid\"\u003e\n\n      \u003cdiv class=\"sv-benefit\"\u003e\n\n        \u003cdiv class=\"sv-benefit-number\"\u003e\n          01\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003eCreative Escape\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Enjoy a hands-on activity that gives your\n            mind a break from the usual routine.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sv-benefit\"\u003e\n\n        \u003cdiv class=\"sv-benefit-number\"\u003e\n          02\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003eFamily Connection\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Turn colouring into quality time with\n            children, parents, siblings or grandparents.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sv-benefit\"\u003e\n\n        \u003cdiv class=\"sv-benefit-number\"\u003e\n          03\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003ePersonal Expression\u003c\/h3\u003e\n\n          \u003cp\u003e\n            There is no right or wrong colour.\n            Your blanket becomes your own creation.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sv-benefit\"\u003e\n\n        \u003cdiv class=\"sv-benefit-number\"\u003e\n          04\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003eMade To Be Enjoyed\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Colour it, display it, cuddle up with it\n            or simply enjoy your finished creation.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       PREMIUM QUOTE\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-quote sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-quote-mark\"\u003e\n      “\n    \u003c\/div\u003e\n\n    \u003ch2\u003e\n      Colour with intention.\u003cbr\u003e\n      Rest with purpose.\u003cbr\u003e\n      \u003cspan\u003eMake it yours.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cdiv class=\"sv-quote-line\"\u003e\u003c\/div\u003e\n\n    \u003cp\u003e\n      SmileVital — Colour. Relax. Smile.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================\n       FINAL SALES SECTION\n  ========================== --\u003e\n\n  \u003cdiv class=\"sv-final sv-reveal\"\u003e\n\n    \u003cdiv class=\"sv-sparkles\"\u003e\n      ✦   ✧   ✦   ✧   ✦\n    \u003c\/div\u003e\n\n    \u003ch2\u003e\n      Your Next Favourite\n      \u003cspan\u003eCosy Moment Starts Here.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Create something beautiful. Slow down.\n      Get comfortable. Make memories that feel like yours.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"sv-final-badge\"\u003e\n      🎨 COLOUR • RELAX • SMILE\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003cstyle\u003e\n\n\/* =====================================================\n   SMILEVITAL PREMIUM COLOUR PALETTE\n===================================================== *\/\n\n.sv-premium {\n\n  --blue: #0757C9;\n  --blue-light: #0B6FFF;\n  --blue-dark: #062A63;\n\n  --red: #E21D2F;\n  --red-light: #F52D3F;\n  --red-dark: #B91425;\n\n  --green: #087A3D;\n  --green-light: #11994E;\n  --green-dark: #045A2C;\n\n  --white: #FFFFFF;\n  --soft-white: #F7F9FC;\n\n  --black: #101828;\n  --grey: #667085;\n  --border: #E7EAF0;\n\n  width: 100%;\n  overflow: hidden;\n\n  background: var(--white);\n\n  color: var(--black);\n\n  font-family:\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    Roboto,\n    Helvetica,\n    Arial,\n    sans-serif;\n\n}\n\n\n\/* =====================================================\n   HERO\n===================================================== *\/\n\n.sv-hero {\n\n  position: relative;\n\n  padding:\n    95px\n    25px\n    90px;\n\n  text-align: center;\n\n  overflow: hidden;\n\n  background:\n\n    radial-gradient(\n      circle at 5% 20%,\n      rgba(7,87,201,.12),\n      transparent 25%\n    ),\n\n    radial-gradient(\n      circle at 95% 15%,\n      rgba(226,29,47,.11),\n      transparent 25%\n    ),\n\n    radial-gradient(\n      circle at 50% 100%,\n      rgba(8,122,61,.08),\n      transparent 30%\n    ),\n\n    #FFFFFF;\n\n}\n\n\n\/* FLOATING LIGHTS *\/\n\n.sv-glow {\n\n  position: absolute;\n\n  width: 230px;\n  height: 230px;\n\n  border-radius: 50%;\n\n  filter: blur(75px);\n\n  opacity: .18;\n\n  animation:\n    svFloat 8s ease-in-out infinite;\n\n  pointer-events: none;\n\n}\n\n\n.sv-glow-blue {\n\n  background: var(--blue);\n\n  left: -100px;\n\n  top: 80px;\n\n}\n\n\n.sv-glow-red {\n\n  background: var(--red);\n\n  right: -100px;\n\n  top: 180px;\n\n  animation-delay: -2s;\n\n}\n\n\n.sv-glow-green {\n\n  background: var(--green);\n\n  left: 45%;\n\n  bottom: -130px;\n\n  animation-delay: -4s;\n\n}\n\n\n.sv-hero-content {\n\n  position: relative;\n\n  z-index: 2;\n\n  max-width: 900px;\n\n  margin: auto;\n\n}\n\n\n\/* EYEBROW *\/\n\n.sv-eyebrow {\n\n  display: inline-flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  gap: 10px;\n\n  padding:\n    10px\n    18px;\n\n  border-radius: 100px;\n\n  background: rgba(7,87,201,.06);\n\n  border:\n    1px solid\n    rgba(7,87,201,.10);\n\n  color: var(--blue);\n\n  font-size: 11px;\n\n  font-weight: 850;\n\n  letter-spacing: 2px;\n\n}\n\n\n.sv-dot {\n\n  display: inline-block;\n\n  width: 7px;\n  height: 7px;\n\n  border-radius: 50%;\n\n  background: var(--green);\n\n  animation:\n    svPulse 2s infinite;\n\n}\n\n\n\/* HERO TITLE *\/\n\n.sv-hero h1 {\n\n  max-width: 850px;\n\n  margin:\n    28px\n    auto\n    22px;\n\n  font-size:\n    clamp(\n      43px,\n      7vw,\n      78px\n    );\n\n  line-height: .98;\n\n  letter-spacing: -4px;\n\n  font-weight: 900;\n\n}\n\n\n.sv-hero h1 span {\n\n  display: block;\n\n  background:\n\n    linear-gradient(\n      90deg,\n      var(--blue),\n      var(--blue-light),\n      var(--red)\n    );\n\n  background-size: 200% 100%;\n\n  -webkit-background-clip: text;\n\n  -webkit-text-fill-color: transparent;\n\n  animation:\n    svGradient 5s ease infinite;\n\n}\n\n\n.sv-hero-description {\n\n  max-width: 700px;\n\n  margin: auto;\n\n  color: var(--grey);\n\n  font-size: 18px;\n\n  line-height: 1.75;\n\n}\n\n\n\/* MINI BENEFITS *\/\n\n.sv-mini-benefits {\n\n  display: flex;\n\n  justify-content: center;\n\n  flex-wrap: wrap;\n\n  gap: 14px;\n\n  margin-top: 38px;\n\n}\n\n\n.sv-mini-card {\n\n  min-width: 140px;\n\n  padding:\n    17px\n    20px;\n\n  background:\n    rgba(255,255,255,.9);\n\n  border:\n    1px solid\n    rgba(0,0,0,.07);\n\n  border-radius: 18px;\n\n  box-shadow:\n    0 12px 35px\n    rgba(0,0,0,.06);\n\n  transition:\n    .35s\n    cubic-bezier(.2,.8,.2,1);\n\n}\n\n\n.sv-mini-card:hover {\n\n  transform:\n    translateY(-8px);\n\n  box-shadow:\n    0 22px 50px\n    rgba(7,87,201,.13);\n\n}\n\n\n.sv-mini-card span {\n\n  display: block;\n\n  font-size: 25px;\n\n  margin-bottom: 5px;\n\n}\n\n\n.sv-mini-card strong {\n\n  display: block;\n\n  font-size: 14px;\n\n}\n\n\n.sv-mini-card small {\n\n  display: block;\n\n  color: var(--grey);\n\n  margin-top: 3px;\n\n}\n\n\n\/* =====================================================\n   INTRO\n===================================================== *\/\n\n.sv-intro {\n\n  max-width: 850px;\n\n  margin: auto;\n\n  padding:\n    95px\n    25px;\n\n  text-align: center;\n\n}\n\n\n.sv-label {\n\n  color: var(--red);\n\n  font-size: 11px;\n\n  font-weight: 900;\n\n  letter-spacing: 2px;\n\n}\n\n\n.sv-intro h2,\n.sv-heading h2 {\n\n  margin:\n    18px\n    0\n    25px;\n\n  font-size:\n    clamp(\n      35px,\n      5vw,\n      58px\n    );\n\n  line-height: 1.05;\n\n  letter-spacing: -3px;\n\n  font-weight: 900;\n\n}\n\n\n.sv-intro h2 span,\n.sv-heading h2 span {\n\n  display: block;\n\n  color: var(--blue);\n\n}\n\n\n.sv-intro p {\n\n  max-width: 730px;\n\n  margin:\n    18px\n    auto;\n\n  color: var(--grey);\n\n  font-size: 17px;\n\n  line-height: 1.8;\n\n}\n\n\n\/* =====================================================\n   FEATURE CARDS\n===================================================== *\/\n\n.sv-features {\n\n  max-width: 1120px;\n\n  margin: auto;\n\n  padding:\n    20px\n    25px\n    95px;\n\n  display:\n    grid;\n\n  grid-template-columns:\n    repeat(4,1fr);\n\n  gap: 16px;\n\n}\n\n\n.sv-feature-card {\n\n  padding:\n    32px\n    25px;\n\n  background:\n    linear-gradient(\n      145deg,\n      #FFFFFF,\n      #F8FAFD\n    );\n\n  border:\n    1px solid\n    var(--border);\n\n  border-radius: 25px;\n\n  box-shadow:\n    0 15px 45px\n    rgba(0,0,0,.05);\n\n  transition:\n    .4s\n    cubic-bezier(.2,.8,.2,1);\n\n}\n\n\n.sv-feature-card:hover {\n\n  transform:\n    translateY(-10px);\n\n  box-shadow:\n    0 25px 60px\n    rgba(7,87,201,.13);\n\n}\n\n\n.sv-icon {\n\n  width: 58px;\n  height: 58px;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  border-radius: 18px;\n\n  font-size: 26px;\n\n  background: white;\n\n  box-shadow:\n    0 8px 25px\n    rgba(0,0,0,.08);\n\n  margin-bottom: 22px;\n\n}\n\n\n.sv-icon-blue {\n\n  border-bottom:\n    4px solid\n    var(--blue);\n\n}\n\n\n.sv-icon-red {\n\n  border-bottom:\n    4px solid\n    var(--red);\n\n}\n\n\n.sv-icon-green {\n\n  border-bottom:\n    4px solid\n    var(--green);\n\n}\n\n\n.sv-feature-card h3 {\n\n  margin:\n    0\n    0\n    10px;\n\n  font-size: 19px;\n\n}\n\n\n.sv-feature-card p {\n\n  margin: 0;\n\n  color: var(--grey);\n\n  font-size: 14px;\n\n  line-height: 1.65;\n\n}\n\n\n\/* =====================================================\n   EMOTIONAL SECTION\n===================================================== *\/\n\n.sv-emotion {\n\n  margin:\n    20px;\n\n  padding:\n    90px\n    30px;\n\n  border-radius: 38px;\n\n  background:\n\n    radial-gradient(\n      circle at 90% 10%,\n      rgba(226,29,47,.09),\n      transparent 28%\n    ),\n\n    radial-gradient(\n      circle at 10% 90%,\n      rgba(7,87,201,.10),\n      transparent 30%\n    ),\n\n    #F7F9FC;\n\n}\n\n\n.sv-emotion-inner {\n\n  max-width: 850px;\n\n  margin: auto;\n\n}\n\n\n.sv-emotion h2 {\n\n  margin:\n    18px\n    0\n    25px;\n\n  font-size:\n    clamp(\n      35px,\n      5vw,\n      58px\n    );\n\n  line-height: 1.05;\n\n  letter-spacing: -3px;\n\n}\n\n\n.sv-emotion h2 span {\n\n  display: block;\n\n  background:\n    linear-gradient(\n      90deg,\n      var(--blue),\n      var(--red)\n    );\n\n  -webkit-background-clip: text;\n\n  -webkit-text-fill-color: transparent;\n\n}\n\n\n.sv-emotion p {\n\n  color: var(--grey);\n\n  font-size: 17px;\n\n  line-height: 1.75;\n\n}\n\n\n\/* CHECKLIST *\/\n\n.sv-check-list {\n\n  display:\n    grid;\n\n  grid-template-columns:\n    1fr 1fr;\n\n  gap: 14px;\n\n  margin-top: 30px;\n\n}\n\n\n.sv-check {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 12px;\n\n  padding:\n    14px\n    16px;\n\n  border-radius: 15px;\n\n  background:\n    rgba(255,255,255,.8);\n\n  border:\n    1px solid\n    rgba(0,0,0,.04);\n\n}\n\n\n.sv-check span {\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  min-width: 27px;\n\n  height: 27px;\n\n  border-radius: 50%;\n\n  background:\n    var(--green);\n\n  color: white;\n\n  font-weight: 900;\n\n}\n\n\n.sv-check p {\n\n  margin: 0;\n\n  font-size: 14px;\n\n  color: var(--black);\n\n}\n\n\n\/* =====================================================\n   HOW IT WORKS\n===================================================== *\/\n\n.sv-how {\n\n  max-width: 1080px;\n\n  margin: auto;\n\n  padding:\n    100px\n    25px;\n\n}\n\n\n.sv-heading {\n\n  text-align: center;\n\n  margin-bottom: 55px;\n\n}\n\n\n.sv-steps {\n\n  display:\n    grid;\n\n  grid-template-columns:\n    repeat(3,1fr);\n\n  gap: 20px;\n\n}\n\n\n.sv-step {\n\n  padding:\n    32px;\n\n  background: white;\n\n  border:\n    1px solid\n    var(--border);\n\n  border-radius: 25px;\n\n  box-shadow:\n    0 15px 40px\n    rgba(0,0,0,.05);\n\n  transition:\n    .35s ease;\n\n}\n\n\n.sv-step:hover {\n\n  transform:\n    translateY(-8px);\n\n  border-color:\n    rgba(7,87,201,.2);\n\n}\n\n\n.sv-step-number {\n\n  font-size: 42px;\n\n  font-weight: 900;\n\n  color: var(--blue);\n\n  opacity: .25;\n\n  margin-bottom: 20px;\n\n}\n\n\n.sv-step h3 {\n\n  margin:\n    0\n    0\n    10px;\n\n  font-size: 20px;\n\n}\n\n\n.sv-step p {\n\n  margin: 0;\n\n  color: var(--grey);\n\n  line-height: 1.65;\n\n}\n\n\n\/* =====================================================\n   SOUTH AFRICA SECTION\n===================================================== *\/\n\n.sv-za {\n\n  margin:\n    20px;\n\n  padding:\n    80px\n    25px;\n\n  border-radius: 38px;\n\n  color: white;\n\n  text-align: center;\n\n  background:\n\n    linear-gradient(\n      135deg,\n      #062A63 0%,\n      #0757C9 55%,\n      #087A3D 100%\n    );\n\n  position: relative;\n\n  overflow: hidden;\n\n}\n\n\n.sv-za:before {\n\n  content: \"\";\n\n  position: absolute;\n\n  width: 350px;\n  height: 350px;\n\n  border-radius: 50%;\n\n  background:\n    rgba(255,255,255,.07);\n\n  right:\n    -150px;\n\n  top:\n    -180px;\n\n}\n\n\n.sv-za-inner {\n\n  max-width: 800px;\n\n  margin: auto;\n\n  position: relative;\n\n  z-index: 2;\n\n}\n\n\n.sv-za-badge {\n\n  display: inline-block;\n\n  padding:\n    10px\n    18px;\n\n  border:\n    1px solid\n    rgba(255,255,255,.25);\n\n  background:\n    rgba(255,255,255,.10);\n\n  border-radius: 100px;\n\n  font-size: 11px;\n\n  font-weight: 900;\n\n  letter-spacing: 1.5px;\n\n}\n\n\n.sv-za h2 {\n\n  margin:\n    20px\n    0;\n\n  font-size:\n    clamp(\n      36px,\n      5vw,\n      57px\n    );\n\n  line-height: 1;\n\n  letter-spacing: -3px;\n\n}\n\n\n.sv-za h2 span {\n\n  display: block;\n\n  color: #FFFFFF;\n\n}\n\n\n.sv-za p {\n\n  max-width: 700px;\n\n  margin:\n    0\n    auto;\n\n  line-height: 1.75;\n\n  opacity: .88;\n\n  font-size: 16px;\n\n}\n\n\n.sv-za-pills {\n\n  display: flex;\n\n  justify-content: center;\n\n  flex-wrap: wrap;\n\n  gap: 10px;\n\n  margin-top: 30px;\n\n}\n\n\n.sv-za-pills div {\n\n  padding:\n    11px\n    15px;\n\n  border-radius: 100px;\n\n  background:\n    rgba(255,255,255,.12);\n\n  border:\n    1px solid\n    rgba(255,255,255,.18);\n\n  font-size: 12px;\n\n  font-weight: 700;\n\n}\n\n\n\/* =====================================================\n   GIFT SECTION\n===================================================== *\/\n\n.sv-gift {\n\n  margin:\n    20px;\n\n  padding:\n    70px\n    30px;\n\n  border-radius: 38px;\n\n  color: white;\n\n  background:\n\n    linear-gradient(\n      135deg,\n      var(--blue-dark),\n      var(--blue),\n      var(--red-dark)\n    );\n\n  position: relative;\n\n  overflow: hidden;\n\n}\n\n\n.sv-gift:after {\n\n  content: \"\";\n\n  position: absolute;\n\n  width: 400px;\n  height: 400px;\n\n  border-radius: 50%;\n\n  background:\n    rgba(255,255,255,.06);\n\n  right:\n    -150px;\n\n  top:\n    -180px;\n\n}\n\n\n.sv-gift-inner {\n\n  max-width: 900px;\n\n  margin: auto;\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 35px;\n\n  position: relative;\n\n  z-index: 2;\n\n}\n\n\n.sv-gift-icon {\n\n  font-size: 65px;\n\n}\n\n\n.sv-gift-label {\n\n  color:\n    #FFFFFF;\n\n  opacity: .75;\n\n  font-size: 11px;\n\n  font-weight: 900;\n\n  letter-spacing: 2px;\n\n}\n\n\n.sv-gift h2 {\n\n  font-size:\n    clamp(\n      34px,\n      5vw,\n      54px\n    );\n\n  line-height: 1.05;\n\n  letter-spacing: -3px;\n\n  margin:\n    15px\n    0;\n\n}\n\n\n.sv-gift h2 span {\n\n  display: block;\n\n  color: #FFFFFF;\n\n}\n\n\n.sv-gift p {\n\n  max-width: 700px;\n\n  line-height: 1.75;\n\n  opacity: .88;\n\n}\n\n\n\/* =====================================================\n   BENEFITS\n===================================================== *\/\n\n.sv-benefits {\n\n  max-width: 1080px;\n\n  margin: auto;\n\n  padding:\n    100px\n    25px;\n\n}\n\n\n.sv-benefit-grid {\n\n  display:\n    grid;\n\n  grid-template-columns:\n    1fr 1fr;\n\n  gap: 15px;\n\n}\n\n\n.sv-benefit {\n\n  display: flex;\n\n  gap: 20px;\n\n  padding:\n    27px;\n\n  border-radius: 22px;\n\n  background:\n    #FAFBFD;\n\n  border:\n    1px solid\n    var(--border);\n\n  transition:\n    .3s ease;\n\n}\n\n\n.sv-benefit:hover {\n\n  transform:\n    scale(1.02);\n\n  background:\n    white;\n\n  box-shadow:\n    0 15px 40px\n    rgba(0,0,0,.06);\n\n}\n\n\n.sv-benefit-number {\n\n  color:\n    var(--red);\n\n  font-size: 12px;\n\n  font-weight: 900;\n\n}\n\n\n.sv-benefit h3 {\n\n  margin:\n    0\n    0\n    7px;\n\n  font-size: 18px;\n\n}\n\n\n.sv-benefit p {\n\n  margin: 0;\n\n  color: var(--grey);\n\n  line-height: 1.6;\n\n  font-size: 14px;\n\n}\n\n\n\/* =====================================================\n   QUOTE\n===================================================== *\/\n\n.sv-quote {\n\n  margin:\n    0\n    20px;\n\n  padding:\n    100px\n    25px;\n\n  border-radius:\n    38px;\n\n  text-align:\n    center;\n\n  background:\n    #F7F9FC;\n\n}\n\n\n.sv-quote-mark {\n\n  font-family:\n    Georgia,\n    serif;\n\n  font-size:\n    100px;\n\n  line-height:\n    .5;\n\n  color:\n    var(--red);\n\n}\n\n\n.sv-quote h2 {\n\n  max-width:\n    750px;\n\n  margin:\n    35px\n    auto;\n\n  font-size:\n    clamp(\n      36px,\n      5vw,\n      60px\n    );\n\n  line-height:\n    1.08;\n\n  letter-spacing:\n    -3px;\n\n}\n\n\n.sv-quote h2 span {\n\n  color:\n    var(--blue);\n\n}\n\n\n.sv-quote-line {\n\n  width:\n    70px;\n\n  height:\n    4px;\n\n  border-radius:\n    20px;\n\n  margin:\n    25px\n    auto;\n\n  background:\n\n    linear-gradient(\n      90deg,\n      var(--blue),\n      var(--red),\n      var(--green)\n    );\n\n}\n\n\n.sv-quote p {\n\n  color:\n    var(--grey);\n\n  font-weight:\n    700;\n\n}\n\n\n\/* =====================================================\n   FINAL CTA\n===================================================== *\/\n\n.sv-final {\n\n  padding:\n    115px\n    25px;\n\n  text-align:\n    center;\n\n}\n\n\n.sv-sparkles {\n\n  color:\n    var(--red);\n\n  font-size:\n    18px;\n\n  letter-spacing:\n    7px;\n\n  margin-bottom:\n    25px;\n\n  animation:\n    svSparkle 2s ease-in-out infinite;\n\n}\n\n\n.sv-final h2 {\n\n  max-width:\n    850px;\n\n  margin:\n    auto;\n\n  font-size:\n    clamp(\n      40px,\n      6vw,\n      68px\n    );\n\n  line-height:\n    1;\n\n  letter-spacing:\n    -4px;\n\n}\n\n\n.sv-final h2 span {\n\n  display:\n    block;\n\n  background:\n\n    linear-gradient(\n      90deg,\n      var(--blue),\n      var(--red)\n    );\n\n  -webkit-background-clip:\n    text;\n\n  -webkit-text-fill-color:\n    transparent;\n\n  background-size:\n    200% 100%;\n\n  animation:\n    svGradient 5s ease infinite;\n\n}\n\n\n.sv-final p {\n\n  max-width:\n    620px;\n\n  margin:\n    27px\n    auto;\n\n  color:\n    var(--grey);\n\n  font-size:\n    17px;\n\n  line-height:\n    1.7;\n\n}\n\n\n.sv-final-badge {\n\n  display:\n    inline-block;\n\n  margin-top:\n    15px;\n\n  padding:\n    16px\n    27px;\n\n  border-radius:\n    100px;\n\n  background:\n\n    linear-gradient(\n      90deg,\n      var(--blue),\n      var(--red)\n    );\n\n  color:\n    white;\n\n  font-size:\n    12px;\n\n  font-weight:\n    900;\n\n  letter-spacing:\n    1.5px;\n\n  box-shadow:\n    0 15px 40px\n    rgba(7,87,201,.25);\n\n  animation:\n    svButtonPulse 2.5s infinite;\n\n}\n\n\n\/* =====================================================\n   SCROLL ANIMATION\n===================================================== *\/\n\n.sv-reveal {\n\n  opacity:\n    0;\n\n  transform:\n    translateY(45px);\n\n  transition:\n    opacity .9s ease,\n    transform .9s cubic-bezier(.2,.8,.2,1);\n\n}\n\n\n.sv-reveal.sv-visible {\n\n  opacity:\n    1;\n\n  transform:\n    translateY(0);\n\n}\n\n\n\/* =====================================================\n   ANIMATIONS\n===================================================== *\/\n\n@keyframes svGradient {\n\n  0% {\n    background-position:\n      0% 50%;\n  }\n\n  50% {\n    background-position:\n      100% 50%;\n  }\n\n  100% {\n    background-position:\n      0% 50%;\n  }\n\n}\n\n\n@keyframes svFloat {\n\n  0%,\n  100% {\n    transform:\n      translate(0,0);\n  }\n\n  50% {\n    transform:\n      translate(30px,-30px);\n  }\n\n}\n\n\n@keyframes svPulse {\n\n  0%,\n  100% {\n    transform:\n      scale(1);\n\n    opacity:\n      1;\n  }\n\n  50% {\n    transform:\n      scale(1.6);\n\n    opacity:\n      .5;\n  }\n\n}\n\n\n@keyframes svButtonPulse {\n\n  0%,\n  100% {\n    transform:\n      translateY(0);\n\n    box-shadow:\n      0 15px 40px\n      rgba(7,87,201,.25);\n  }\n\n  50% {\n    transform:\n      translateY(-3px);\n\n    box-shadow:\n      0 20px 55px\n      rgba(226,29,47,.30);\n  }\n\n}\n\n\n@keyframes svSparkle {\n\n  0%,\n  100% {\n    transform:\n      scale(1);\n\n    opacity:\n      .8;\n  }\n\n  50% {\n    transform:\n      scale(1.08);\n\n    opacity:\n      1;\n  }\n\n}\n\n\n\/* =====================================================\n   TABLET\n===================================================== *\/\n\n@media(max-width: 850px) {\n\n  .sv-features {\n\n    grid-template-columns:\n      1fr 1fr;\n\n  }\n\n\n  .sv-steps {\n\n    grid-template-columns:\n      1fr;\n\n  }\n\n\n  .sv-gift-inner {\n\n    flex-direction:\n      column;\n\n    align-items:\n      flex-start;\n\n  }\n\n\n  .sv-benefit-grid {\n\n    grid-template-columns:\n      1fr;\n\n  }\n\n}\n\n\n\/* =====================================================\n   MOBILE\n===================================================== *\/\n\n@media(max-width: 550px) {\n\n  .sv-hero {\n\n    padding:\n      65px\n      20px\n      70px;\n\n  }\n\n\n  .sv-hero h1 {\n\n    font-size:\n      42px;\n\n    letter-spacing:\n      -2.5px;\n\n  }\n\n\n  .sv-hero-description {\n\n    font-size:\n      16px;\n\n  }\n\n\n  .sv-mini-benefits {\n\n    display:\n      grid;\n\n    grid-template-columns:\n      1fr 1fr;\n\n  }\n\n\n  .sv-mini-card {\n\n    min-width:\n      auto;\n\n    padding:\n      14px;\n\n  }\n\n\n  .sv-features {\n\n    grid-template-columns:\n      1fr;\n\n    padding:\n      10px\n      20px\n      70px;\n\n  }\n\n\n  .sv-intro,\n  .sv-how,\n  .sv-benefits {\n\n    padding-top:\n      70px;\n\n    padding-bottom:\n      70px;\n\n  }\n\n\n  .sv-intro h2,\n  .sv-heading h2 {\n\n    font-size:\n      38px;\n\n    letter-spacing:\n      -2px;\n\n  }\n\n\n  .sv-emotion,\n  .sv-za,\n  .sv-gift,\n  .sv-quote {\n\n    margin:\n      10px;\n\n    border-radius:\n      25px;\n\n  }\n\n\n  .sv-emotion {\n\n    padding:\n      65px\n      22px;\n\n  }\n\n\n  .sv-check-list {\n\n    grid-template-columns:\n      1fr;\n\n  }\n\n\n  .sv-za {\n\n    padding:\n      65px\n      20px;\n\n  }\n\n\n  .sv-gift {\n\n    padding:\n      60px\n      22px;\n\n  }\n\n\n  .sv-gift h2 {\n\n    font-size:\n      38px;\n\n  }\n\n\n  .sv-quote {\n\n    padding:\n      75px\n      20px;\n\n  }\n\n\n  .sv-final {\n\n    padding:\n      85px\n      20px;\n\n  }\n\n\n  .sv-final h2 {\n\n    font-size:\n      42px;\n\n    letter-spacing:\n      -2.5px;\n\n  }\n\n}\n\n\n\/* =====================================================\n   REDUCE MOTION FOR ACCESSIBILITY\n===================================================== *\/\n\n@media(prefers-reduced-motion: reduce) {\n\n  .sv-premium *,\n  .sv-premium *::before,\n  .sv-premium *::after {\n\n    animation:\n      none !important;\n\n    transition:\n      none !important;\n\n  }\n\n}\n\n\u003c\/style\u003e\n\n\n\u003cscript\u003e\n\ndocument.addEventListener(\n  \"DOMContentLoaded\",\n  function() {\n\n    const elements =\n      document.querySelectorAll(\n        \".sv-reveal\"\n      );\n\n    const observer =\n      new IntersectionObserver(\n        function(entries) {\n\n          entries.forEach(\n            function(entry) {\n\n              if (entry.isIntersecting) {\n\n                entry.target.classList.add(\n                  \"sv-visible\"\n                );\n\n                observer.unobserve(\n                  entry.target\n                );\n\n              }\n\n            }\n          );\n\n        },\n        {\n          threshold: 0.12\n        }\n      );\n\n\n    elements.forEach(\n      function(element) {\n\n        observer.observe(\n          element\n        );\n\n      }\n    );\n\n  }\n);\n\n\u003c\/script\u003e","brand":"My Store","offers":[{"title":"Buy 1","offer_id":48555848663281,"sku":null,"price":499.99,"currency_code":"ZAR","in_stock":true},{"title":"Buy 2 Deal","offer_id":48555848696049,"sku":null,"price":1049.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0804\/1919\/3073\/files\/IMG_5771.png?v=1786596806"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0804\/1919\/3073\/collections\/IMG_5857_2.png?v=1786700082","url":"https:\/\/www.smilevital.co.za\/collections\/buy-2-get-free-fabric-markers.oembed","provider":"SmileVital™","version":"1.0","type":"link"}