{"product_id":"sa-direct™-bring-it-to-life-3d-fan-hologram-fan","title":"SA-Direct™ Bring It to Life 3D Fan (Hologram fan)","description":"\u003c!-- SA-DIRECT™ 3D HOLOGRAM FAN — PREMIUM PRODUCT SECTION --\u003e\n\n\u003csection class=\"sadirect-3d\"\u003e\n\n  \u003c!-- HERO --\u003e\n  \u003cdiv class=\"sadirect-hero\"\u003e\n\n    \u003cdiv class=\"sadirect-hero-glow\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"sadirect-hero-content\"\u003e\n      \u003cdiv class=\"sadirect-eyebrow\"\u003e\n        \u003cspan class=\"sadirect-dot\"\u003e\u003c\/span\u003e\n        SA-DIRECT™ TECHNOLOGY\n      \u003c\/div\u003e\n\n      \u003ch1\u003e\n        Bring your visuals\u003cbr\u003e\n        \u003cspan\u003eto life.\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp\u003e\n        Create eye-catching 3D-style displays that make your\n        content appear to float in mid-air.\n      \u003c\/p\u003e\n\n      \u003ca href=\"#sadirect-details\" class=\"sadirect-btn\"\u003e\n        Discover the experience\n        \u003cspan\u003e↓\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"sadirect-floating-orb orb-one\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"sadirect-floating-orb orb-two\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"sadirect-scroll\"\u003e\n      \u003cspan\u003e\u003c\/span\u003e\n      SCROLL TO EXPLORE\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- INTRO --\u003e\n  \u003cdiv class=\"sadirect-intro\" id=\"sadirect-details\"\u003e\n\n    \u003cdiv class=\"sadirect-intro-label\"\u003e\n      DISPLAY \/ 01\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"sadirect-intro-text\"\u003e\n      \u003ch2\u003e\n        Make people\u003cbr\u003e\n        \u003cem\u003elook twice.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Turn a product showcase, promotion or event into a display\n        people notice. Fast-moving LED imagery creates the appearance\n        of colourful visuals floating in mid-air, giving your content\n        a striking 3D-style effect.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- FEATURE CARDS --\u003e\n  \u003cdiv class=\"sadirect-features\"\u003e\n\n    \u003cdiv class=\"sadirect-feature reveal\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e01\u003c\/div\u003e\n      \u003cdiv class=\"feature-icon\"\u003e✦\u003c\/div\u003e\n\n      \u003ch3\u003eEye-catching visuals\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Showcase pictures, videos and 3D-style text in a display\n        designed to grab attention.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sadirect-feature reveal\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e02\u003c\/div\u003e\n      \u003cdiv class=\"feature-icon\"\u003e◉\u003c\/div\u003e\n\n      \u003ch3\u003eSimple content setup\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Load your content through the mobile app, memory card or\n        computer as described by the supplier.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sadirect-feature reveal\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e03\u003c\/div\u003e\n      \u003cdiv class=\"feature-icon\"\u003e⌁\u003c\/div\u003e\n\n      \u003ch3\u003eFlexible control\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Use the included remote to adjust display settings,\n        brightness and viewing angle.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sadirect-feature reveal\"\u003e\n      \u003cdiv class=\"feature-number\"\u003e04\u003c\/div\u003e\n      \u003cdiv class=\"feature-icon\"\u003e∞\u003c\/div\u003e\n\n      \u003ch3\u003eMade to stand out\u003c\/h3\u003e\n\n      \u003cp\u003e\n        Perfect for retail displays, exhibitions, promotions,\n        parties and attention-grabbing events.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- BIG STATEMENT --\u003e\n  \u003cdiv class=\"sadirect-statement\"\u003e\n\n    \u003cdiv class=\"statement-line\"\u003e\u003c\/div\u003e\n\n    \u003ch2\u003e\n      Not just a display.\u003cbr\u003e\n      \u003cspan\u003eAn experience.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Designed to turn ordinary digital content into something\n      people naturally stop and watch.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- HOW IT WORKS --\u003e\n  \u003cdiv class=\"sadirect-how\"\u003e\n\n    \u003cdiv class=\"sadirect-section-heading\"\u003e\n      \u003cspan\u003eHOW IT WORKS\u003c\/span\u003e\n      \u003ch2\u003eMotion creates\u003cbr\u003e\u003cem\u003ethe illusion.\u003c\/em\u003e\n\u003c\/h2\u003e\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"sadirect-steps\"\u003e\n\n      \u003cdiv class=\"sadirect-step reveal\"\u003e\n        \u003cdiv class=\"step-circle\"\u003e01\u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003eUpload\u003c\/h3\u003e\n          \u003cp\u003e\n            Add your chosen images, videos or graphics using\n            the supported content method.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sadirect-step reveal\"\u003e\n        \u003cdiv class=\"step-circle\"\u003e02\u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003eSpin\u003c\/h3\u003e\n          \u003cp\u003e\n            The LED blades rotate at high speed while displaying\n            a rapid sequence of images.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"sadirect-step reveal\"\u003e\n        \u003cdiv class=\"step-circle\"\u003e03\u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003ch3\u003eWatch it appear\u003c\/h3\u003e\n          \u003cp\u003e\n            Your content appears to form a floating 3D-style\n            visual through an optical persistence-of-vision effect.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- SPECIFICATIONS --\u003e\n  \u003cdiv class=\"sadirect-specs\"\u003e\n\n    \u003cdiv class=\"sadirect-section-heading\"\u003e\n      \u003cspan\u003eTECHNICAL DETAILS\u003c\/span\u003e\n      \u003ch2\u003eBuilt to\u003cbr\u003e\u003cem\u003eperform.\u003c\/em\u003e\n\u003c\/h2\u003e\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"spec-grid\"\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eDISPLAY\u003c\/span\u003e\n        \u003cstrong\u003e400 × 400\u003c\/strong\u003e\n        \u003csmall\u003emm\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eRESOLUTION\u003c\/span\u003e\n        \u003cstrong\u003e800 × 800\u003c\/strong\u003e\n        \u003csmall\u003epixels\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eLEDs\u003c\/span\u003e\n        \u003cstrong\u003e256\u003c\/strong\u003e\n        \u003csmall\u003eLED lights\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003ePOWER\u003c\/span\u003e\n        \u003cstrong\u003e10–15\u003c\/strong\u003e\n        \u003csmall\u003ewatts\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eINPUT\u003c\/span\u003e\n        \u003cstrong\u003e100–240\u003c\/strong\u003e\n        \u003csmall\u003eV AC · 50–60 Hz\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eOUTPUT\u003c\/span\u003e\n        \u003cstrong\u003e12V\u003c\/strong\u003e\n        \u003csmall\u003e2.5A\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eSTORAGE\u003c\/span\u003e\n        \u003cstrong\u003e8GB\u003c\/strong\u003e\n        \u003csmall\u003ememory card\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"spec reveal\"\u003e\n        \u003cspan\u003eMATERIAL\u003c\/span\u003e\n        \u003cstrong\u003eABS\u003c\/strong\u003e\n        \u003csmall\u003eplastic + electronics\u003c\/small\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- WHATS INCLUDED --\u003e\n  \u003cdiv class=\"sadirect-box\"\u003e\n\n    \u003cdiv class=\"box-left\"\u003e\n      \u003cspan\u003eIN THE BOX\u003c\/span\u003e\n\n      \u003ch2\u003e\n        Everything you\u003cbr\u003e\n        need to \u003cem\u003eget started.\u003c\/em\u003e\n      \u003c\/h2\u003e\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"box-items\"\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e01\u003c\/span\u003e\n        \u003cp\u003e3D Hologram Fan\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e02\u003c\/span\u003e\n        \u003cp\u003eBottom Pendant \/ Mount\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e03\u003c\/span\u003e\n        \u003cp\u003ePower Plug\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e04\u003c\/span\u003e\n        \u003cp\u003eRemote Control\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e05\u003c\/span\u003e\n        \u003cp\u003eInstruction Manual\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e06\u003c\/span\u003e\n        \u003cp\u003e2 × Screws\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"box-item reveal\"\u003e\n        \u003cspan\u003e07\u003c\/span\u003e\n        \u003cp\u003e2 × Expansion Tubes\u003c\/p\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- NOTE --\u003e\n  \u003cdiv class=\"sadirect-note\"\u003e\n\n    \u003cdiv class=\"note-icon\"\u003ei\u003c\/div\u003e\n\n    \u003cdiv\u003e\n      \u003cstrong\u003eA little technical detail.\u003c\/strong\u003e\n\n      \u003cp\u003e\n        This product creates a 3D-style optical effect using\n        rapidly rotating LED blades. It is not a solid hologram.\n        Measurements are approximate and specifications may vary\n        according to the supplier.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        Bluetooth audio, wireless screen casting, timer playback\n        and multi-unit splicing are not supported. Remote battery\n        is not included.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- FINAL CTA --\u003e\n  \u003cdiv class=\"sadirect-final\"\u003e\n\n    \u003cdiv class=\"final-glow\"\u003e\u003c\/div\u003e\n\n    \u003cspan\u003eSA-DIRECT™\u003c\/span\u003e\n\n    \u003ch2\u003e\n      Give your content\u003cbr\u003e\n      \u003cem\u003eanother dimension.\u003c\/em\u003e\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Turn ordinary displays into something people remember.\n    \u003c\/p\u003e\n\n    \u003ca href=\"#shopify-section-product-template\" class=\"sadirect-btn final-btn\"\u003e\n      Shop now\n      \u003cspan\u003e→\u003c\/span\u003e\n    \u003c\/a\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003cstyle\u003e\n\n\/* ================================\n   SA-DIRECT PREMIUM DESIGN\n================================ *\/\n\n.sadirect-3d {\n  --black: #0b0b0b;\n  --dark: #111111;\n  --grey: #707070;\n  --light: #f6f6f3;\n  --white: #ffffff;\n\n  font-family: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\",\n               Helvetica, Arial, sans-serif;\n\n  background: var(--white);\n  color: var(--black);\n  overflow: hidden;\n}\n\n\n\/* HERO *\/\n\n.sadirect-hero {\n  min-height: 88vh;\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  padding: 100px 24px;\n  background:\n    radial-gradient(circle at 50% 45%,\n    rgba(0,0,0,.055),\n    transparent 38%),\n    #fff;\n\n  overflow: hidden;\n}\n\n\n.sadirect-hero-content {\n  max-width: 900px;\n  position: relative;\n  z-index: 3;\n  animation: heroIn 1.2s cubic-bezier(.2,.8,.2,1);\n}\n\n\n.sadirect-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 9px;\n\n  font-size: 11px;\n  letter-spacing: 2px;\n  font-weight: 600;\n\n  margin-bottom: 28px;\n  opacity: .65;\n}\n\n\n.sadirect-dot {\n  width: 6px;\n  height: 6px;\n  background: #111;\n  border-radius: 50%;\n  animation: pulseDot 2s infinite;\n}\n\n\n.sadirect-hero h1 {\n  font-size: clamp(54px, 9vw, 110px);\n  line-height: .91;\n  letter-spacing: -5px;\n  font-weight: 600;\n  margin: 0;\n}\n\n\n.sadirect-hero h1 span {\n  color: #888;\n}\n\n\n.sadirect-hero p {\n  max-width: 560px;\n  margin: 32px auto 36px;\n  font-size: 18px;\n  line-height: 1.65;\n  color: #666;\n}\n\n\n.sadirect-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 18px;\n\n  background: #0b0b0b;\n  color: white !important;\n\n  text-decoration: none !important;\n\n  padding: 17px 23px;\n  border-radius: 100px;\n\n  font-size: 13px;\n  font-weight: 600;\n  letter-spacing: .2px;\n\n  transition:\n    transform .4s cubic-bezier(.2,.8,.2,1),\n    box-shadow .4s ease;\n}\n\n\n.sadirect-btn span {\n  font-size: 18px;\n  transition: transform .3s ease;\n}\n\n\n.sadirect-btn:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 15px 40px rgba(0,0,0,.18);\n}\n\n\n.sadirect-btn:hover span {\n  transform: translateY(3px);\n}\n\n\n\/* FLOATING ORBS *\/\n\n.sadirect-floating-orb {\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(1px);\n  opacity: .12;\n  border: 1px solid #111;\n}\n\n\n.orb-one {\n  width: 320px;\n  height: 320px;\n  left: -150px;\n  top: 20%;\n  animation: floatOne 8s ease-in-out infinite;\n}\n\n\n.orb-two {\n  width: 200px;\n  height: 200px;\n  right: -70px;\n  bottom: 20%;\n  animation: floatTwo 7s ease-in-out infinite;\n}\n\n\n.sadirect-scroll {\n  position: absolute;\n  bottom: 30px;\n  left: 50%;\n  transform: translateX(-50%);\n\n  font-size: 9px;\n  letter-spacing: 2px;\n  color: #888;\n\n  display: flex;\n  flex-direction: column;\n  gap: 9px;\n}\n\n\n.sadirect-scroll span {\n  width: 1px;\n  height: 28px;\n  background: #aaa;\n  margin: auto;\n  animation: scrollLine 2s infinite;\n}\n\n\n\/* INTRO *\/\n\n.sadirect-intro {\n  padding: 150px 9vw;\n  background: #f6f6f3;\n\n  display: grid;\n  grid-template-columns: 1fr 2fr;\n  gap: 60px;\n}\n\n\n.sadirect-intro-label,\n.sadirect-section-heading span,\n.box-left \u003e span {\n  font-size: 10px;\n  letter-spacing: 2.5px;\n  font-weight: 700;\n  color: #999;\n}\n\n\n.sadirect-intro-text {\n  max-width: 800px;\n}\n\n\n.sadirect-intro h2 {\n  font-size: clamp(45px, 6vw, 82px);\n  line-height: .95;\n  letter-spacing: -4px;\n  margin: 0 0 40px;\n  font-weight: 600;\n}\n\n\n.sadirect-intro h2 em,\n.sadirect-section-heading h2 em,\n.box-left h2 em,\n.sadirect-final h2 em {\n  color: #999;\n  font-style: normal;\n}\n\n\n.sadirect-intro p {\n  max-width: 650px;\n  color: #666;\n  font-size: 18px;\n  line-height: 1.8;\n}\n\n\n\/* FEATURES *\/\n\n.sadirect-features {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 1px;\n\n  background: #ddd;\n}\n\n\n.sadirect-feature {\n  background: white;\n  padding: 65px 42px 75px;\n  min-height: 310px;\n  position: relative;\n\n  transition:\n    transform .5s cubic-bezier(.2,.8,.2,1),\n    background .4s ease;\n}\n\n\n.sadirect-feature:hover {\n  transform: translateY(-8px);\n  background: #fafafa;\n}\n\n\n.feature-number {\n  position: absolute;\n  top: 28px;\n  right: 30px;\n  font-size: 10px;\n  color: #aaa;\n  letter-spacing: 1px;\n}\n\n\n.feature-icon {\n  font-size: 27px;\n  margin-bottom: 50px;\n}\n\n\n.sadirect-feature h3 {\n  font-size: 20px;\n  margin-bottom: 15px;\n  letter-spacing: -.5px;\n}\n\n\n.sadirect-feature p {\n  color: #777;\n  font-size: 14px;\n  line-height: 1.7;\n}\n\n\n\/* STATEMENT *\/\n\n.sadirect-statement {\n  text-align: center;\n  padding: 180px 25px;\n}\n\n\n.statement-line {\n  width: 1px;\n  height: 70px;\n  background: #ccc;\n  margin: 0 auto 60px;\n}\n\n\n.sadirect-statement h2 {\n  font-size: clamp(48px, 8vw, 105px);\n  line-height: .92;\n  letter-spacing: -5px;\n  margin: 0;\n}\n\n\n.sadirect-statement h2 span {\n  color: #999;\n}\n\n\n.sadirect-statement p {\n  max-width: 500px;\n  margin: 35px auto 0;\n  color: #777;\n  line-height: 1.7;\n}\n\n\n\/* HOW *\/\n\n.sadirect-how {\n  background: #111;\n  color: white;\n  padding: 150px 9vw;\n}\n\n\n.sadirect-section-heading h2 {\n  font-size: clamp(48px, 7vw, 90px);\n  line-height: .95;\n  letter-spacing: -4px;\n  margin: 25px 0 100px;\n}\n\n\n.sadirect-steps {\n  max-width: 900px;\n  margin-left: auto;\n}\n\n\n.sadirect-step {\n  display: grid;\n  grid-template-columns: 80px 1fr;\n  gap: 40px;\n\n  padding: 45px 0;\n  border-top: 1px solid rgba(255,255,255,.15);\n}\n\n\n.step-circle {\n  width: 55px;\n  height: 55px;\n  border: 1px solid rgba(255,255,255,.25);\n  border-radius: 50%;\n\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  font-size: 11px;\n  color: #aaa;\n}\n\n\n.sadirect-step h3 {\n  margin: 0 0 10px;\n  font-size: 22px;\n}\n\n\n.sadirect-step p {\n  max-width: 550px;\n  margin: 0;\n  color: #999;\n  line-height: 1.7;\n}\n\n\n\/* SPECS *\/\n\n.sadirect-specs {\n  padding: 150px 9vw;\n}\n\n\n.spec-grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 1px;\n  background: #ddd;\n}\n\n\n.spec {\n  background: #fff;\n  padding: 40px 30px;\n  min-height: 150px;\n\n  transition:\n    background .3s ease,\n    transform .4s ease;\n}\n\n\n.spec:hover {\n  background: #f7f7f5;\n  transform: translateY(-5px);\n}\n\n\n.spec span {\n  display: block;\n  font-size: 9px;\n  letter-spacing: 2px;\n  color: #999;\n  margin-bottom: 18px;\n}\n\n\n.spec strong {\n  display: block;\n  font-size: 26px;\n  letter-spacing: -1px;\n}\n\n\n.spec small {\n  color: #999;\n  font-size: 11px;\n}\n\n\n\/* BOX *\/\n\n.sadirect-box {\n  background: #f5f5f2;\n  padding: 130px 9vw;\n\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 100px;\n}\n\n\n.box-left h2 {\n  font-size: clamp(48px, 6vw, 78px);\n  line-height: .95;\n  letter-spacing: -4px;\n  margin-top: 25px;\n}\n\n\n.box-items {\n  display: flex;\n  flex-direction: column;\n}\n\n\n.box-item {\n  display: flex;\n  align-items: center;\n  gap: 30px;\n\n  padding: 22px 0;\n  border-bottom: 1px solid #ddd;\n}\n\n\n.box-item span {\n  font-size: 10px;\n  color: #aaa;\n}\n\n\n.box-item p {\n  margin: 0;\n  font-size: 15px;\n}\n\n\n\/* NOTE *\/\n\n.sadirect-note {\n  max-width: 900px;\n  margin: 100px auto;\n  padding: 25px;\n\n  display: flex;\n  gap: 20px;\n\n  color: #777;\n}\n\n\n.note-icon {\n  flex-shrink: 0;\n\n  width: 25px;\n  height: 25px;\n\n  border: 1px solid #bbb;\n  border-radius: 50%;\n\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  font-size: 11px;\n}\n\n\n.sadirect-note strong {\n  color: #222;\n  font-size: 13px;\n}\n\n\n.sadirect-note p {\n  font-size: 12px;\n  line-height: 1.7;\n}\n\n\n\/* FINAL *\/\n\n.sadirect-final {\n  position: relative;\n  overflow: hidden;\n\n  background: #0b0b0b;\n  color: white;\n\n  text-align: center;\n\n  padding: 180px 25px;\n}\n\n\n.final-glow {\n  position: absolute;\n  width: 500px;\n  height: 500px;\n\n  background: radial-gradient(\n    circle,\n    rgba(255,255,255,.1),\n    transparent 65%\n  );\n\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%,-50%);\n\n  animation: finalGlow 5s ease-in-out infinite;\n}\n\n\n.sadirect-final \u003e *:not(.final-glow) {\n  position: relative;\n  z-index: 2;\n}\n\n\n.sadirect-final \u003e span {\n  font-size: 10px;\n  letter-spacing: 3px;\n  color: #888;\n}\n\n\n.sadirect-final h2 {\n  font-size: clamp(50px, 8vw, 100px);\n  line-height: .9;\n  letter-spacing: -5px;\n  margin: 30px 0;\n}\n\n\n.sadirect-final p {\n  color: #888;\n  margin-bottom: 35px;\n}\n\n\n.final-btn {\n  background: white;\n  color: #111 !important;\n}\n\n\n\/* ANIMATIONS *\/\n\n@keyframes heroIn {\n  from {\n    opacity: 0;\n    transform: translateY(35px);\n  }\n\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n\n@keyframes pulseDot {\n  0%,100% {\n    transform: scale(1);\n    opacity: .5;\n  }\n\n  50% {\n    transform: scale(1.7);\n    opacity: 1;\n  }\n}\n\n\n@keyframes floatOne {\n  0%,100% {\n    transform: translateY(0) rotate(0deg);\n  }\n\n  50% {\n    transform: translateY(-35px) rotate(10deg);\n  }\n}\n\n\n@keyframes floatTwo {\n  0%,100% {\n    transform: translateY(0);\n  }\n\n  50% {\n    transform: translateY(30px);\n  }\n}\n\n\n@keyframes scrollLine {\n  0% {\n    transform: scaleY(.3);\n    transform-origin: top;\n  }\n\n  50% {\n    transform: scaleY(1);\n  }\n\n  100% {\n    transform: scaleY(.3);\n    transform-origin: bottom;\n  }\n}\n\n\n@keyframes finalGlow {\n  0%,100% {\n    transform: translate(-50%,-50%) scale(1);\n  }\n\n  50% {\n    transform: translate(-50%,-50%) scale(1.3);\n  }\n}\n\n\n\/* REVEAL *\/\n\n.reveal {\n  opacity: 0;\n  transform: translateY(35px);\n  transition:\n    opacity .8s ease,\n    transform .8s cubic-bezier(.2,.8,.2,1);\n}\n\n\n.reveal.visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n\n\/* MOBILE *\/\n\n@media (max-width: 800px) {\n\n  .sadirect-hero {\n    min-height: 80vh;\n    padding: 80px 22px;\n  }\n\n  .sadirect-hero h1 {\n    font-size: 58px;\n    letter-spacing: -3px;\n  }\n\n  .sadirect-hero p {\n    font-size: 15px;\n  }\n\n  .sadirect-intro {\n    display: block;\n    padding: 100px 25px;\n  }\n\n  .sadirect-intro-label {\n    margin-bottom: 50px;\n  }\n\n  .sadirect-intro h2 {\n    font-size: 53px;\n    letter-spacing: -3px;\n  }\n\n  .sadirect-intro p {\n    font-size: 15px;\n  }\n\n  .sadirect-features {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .sadirect-feature {\n    padding: 50px 25px;\n    min-height: 280px;\n  }\n\n  .sadirect-statement {\n    padding: 120px 25px;\n  }\n\n  .sadirect-statement h2 {\n    font-size: 54px;\n    letter-spacing: -3px;\n  }\n\n  .sadirect-how,\n  .sadirect-specs {\n    padding: 100px 25px;\n  }\n\n  .sadirect-section-heading h2 {\n    font-size: 55px;\n    letter-spacing: -3px;\n  }\n\n  .spec-grid {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .spec {\n    padding: 30px 20px;\n  }\n\n  .spec strong {\n    font-size: 21px;\n  }\n\n  .sadirect-box {\n    display: block;\n    padding: 100px 25px;\n  }\n\n  .box-left {\n    margin-bottom: 70px;\n  }\n\n  .box-left h2 {\n    font-size: 55px;\n    letter-spacing: -3px;\n  }\n\n  .sadirect-note {\n    margin: 70px 20px;\n  }\n\n  .sadirect-final {\n    padding: 130px 25px;\n  }\n\n  .sadirect-final h2 {\n    font-size: 57px;\n    letter-spacing: -3px;\n  }\n\n}\n\n\n@media (max-width: 500px) {\n\n  .sadirect-features {\n    grid-template-columns: 1fr;\n  }\n\n  .sadirect-feature {\n    min-height: auto;\n  }\n\n  .spec-grid {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .sadirect-step {\n    grid-template-columns: 55px 1fr;\n    gap: 20px;\n  }\n\n}\n\n\n\/* ACCESSIBILITY *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  *,\n  *::before,\n  *::after {\n    animation-duration: .01ms !important;\n    animation-iteration-count: 1 !important;\n    scroll-behavior: auto !important;\n    transition-duration: .01ms !important;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\n\u003cscript\u003e\n\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n\n  const elements = document.querySelectorAll(\".reveal\");\n\n  const observer = new IntersectionObserver(\n    function(entries) {\n\n      entries.forEach(function(entry) {\n\n        if (entry.isIntersecting) {\n\n          entry.target.classList.add(\"visible\");\n\n          observer.unobserve(entry.target);\n\n        }\n\n      });\n\n    },\n    {\n      threshold: 0.12\n    }\n  );\n\n\n  elements.forEach(function(element, index) {\n\n    element.style.transitionDelay =\n      Math.min(index * 0.06, 0.35) + \"s\";\n\n    observer.observe(element);\n\n  });\n\n});\n\n\u003c\/script\u003e","brand":"Sa-Direct","offers":[{"title":"Default Title","offer_id":62728772550737,"sku":null,"price":2499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1075\/8317\/6785\/files\/product-kit-with-branded-shipping-box.png?v=1790208276","url":"https:\/\/sa-direct.co.za\/products\/sa-direct%e2%84%a2-bring-it-to-life-3d-fan-hologram-fan","provider":"Sa-Direct","version":"1.0","type":"link"}