{"id":6,"date":"2026-07-12T22:38:39","date_gmt":"2026-07-12T22:38:39","guid":{"rendered":"https:\/\/flowwithmojo.com\/?page_id=6"},"modified":"2026-07-12T23:01:36","modified_gmt":"2026-07-12T23:01:36","slug":"home","status":"publish","type":"page","link":"https:\/\/flowwithmojo.com\/","title":{"rendered":"Home"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&#038;family=Space+Grotesk:wght@300;500;700&#038;display=swap\" rel=\"stylesheet\">\n<style>\n\/* ===== WordPress theme overrides \u2014 make the page take over ===== *\/\nhtml,body{margin:0!important;padding:0!important;background:#0b0a10!important}\n.wp-site-blocks>header,.wp-site-blocks>footer,\nbody>header,body>footer,#wpadminbar,.site-header,.site-footer{display:none!important}\n.wp-site-blocks,.entry-content,.wp-block-post-content,main{\n  margin:0!important;padding:0!important;max-width:none!important}\n.entry-title,.wp-block-post-title{display:none!important}\nhtml{scroll-padding-top:0!important}\n\n  :root{\n    --bg:#0b0a10;\n    --cream:#f5f1ea;\n    --coral:#ff6a3d;\n    --violet:#b14aed;\n    --amber:#ffb84d;\n    --teal:#2dd4bf;\n    --dim:#9a93a8;\n  }\n  *{margin:0;padding:0;box-sizing:border-box}\n  html{scroll-behavior:smooth}\n  body{background:var(--bg);color:var(--cream);\n    font-family:'Space Grotesk',system-ui,sans-serif;overflow-x:hidden}\n  ::selection{background:var(--coral);color:var(--bg)}\n\n  canvas#liquid{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;\n    filter:blur(30px) saturate(1.15);transform:scale(1.1)}\n  .veil{position:fixed;inset:0;z-index:0;pointer-events:none;\n    background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(11,10,16,.72)100%)}\n\n  .bglayer{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}\n  .bgimg{position:absolute;opacity:0;will-change:transform,opacity;\n    -webkit-mask-image:radial-gradient(ellipse 70% 64% at 50% 46%,#000 58%,transparent 94%);\n    mask-image:radial-gradient(ellipse 70% 64% at 50% 46%,#000 58%,transparent 94%)}\n  .bgimg .tint{width:100%;height:100%;overflow:hidden}\n  .bgimg img,.bgimg video{width:100%;height:100%;object-fit:cover;display:block;\n    filter:contrast(1.05) saturate(1.08)}\n\n  #bg-hero{inset:0;margin:0;width:100vw;height:100vh;\n    -webkit-mask-image:none;mask-image:none}\n  #bg-hero video{mix-blend-mode:lighten}\n  #bg-hero::after{content:'';position:absolute;inset:0;\n    background:linear-gradient(to bottom,rgba(11,10,16,.28),transparent 32%,transparent 64%,rgba(11,10,16,.72))}\n  #bg-programs{left:-3vw;top:9vh;width:min(52vh,66vw);aspect-ratio:3\/4}\n  #bg-story{right:-3vw;top:10vh;width:min(52vh,66vw);aspect-ratio:3\/4}\n  #bg-cta{inset:0;margin:auto;width:min(70vh,84vw);aspect-ratio:3\/4}\n\n  .lw{display:inline-block;animation:slam .72s cubic-bezier(.22,1.61,.36,1) backwards}\n  @keyframes slam{from{transform:translateY(135%) scale(1.45);opacity:0}to{transform:none;opacity:1}}\n\n  .grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.09;\n    background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'\/%3E%3C\/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'\/%3E%3C\/svg%3E\")}\n  .glow{position:fixed;z-index:2;width:340px;height:340px;border-radius:50%;\n    pointer-events:none;mix-blend-mode:screen;opacity:.5;\n    background:radial-gradient(circle,rgba(255,106,61,.28),transparent 65%);\n    transform:translate(-50%,-50%)}\n  @media(hover:none){.glow{display:none}}\n\n  nav{position:fixed;top:0;left:0;right:0;z-index:6;\n    display:flex;justify-content:space-between;align-items:center;padding:22px 32px}\n  nav .mark{font-family:'Syne',sans-serif;font-weight:800;font-size:17px;\n    letter-spacing:.1em;color:var(--cream);text-decoration:none}\n  nav .mark em{font-style:normal;\n    background:linear-gradient(90deg,var(--coral),var(--violet));\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n  nav .book{position:relative;font-size:11px;letter-spacing:.28em;text-transform:uppercase;\n    text-decoration:none;color:var(--cream);padding:13px 26px;font-weight:700;\n    border-radius:100px;overflow:hidden;isolation:isolate}\n  nav .book::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:100px;\n    padding:1.5px;background:linear-gradient(120deg,var(--coral),var(--violet),var(--amber),var(--coral));\n    background-size:300% 300%;animation:bflow 6s linear infinite;\n    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\n    -webkit-mask-composite:xor;mask-composite:exclude}\n  nav .book:hover{background:rgba(255,106,61,.12)}\n  @keyframes bflow{to{background-position:300% 0}}\n\n  main{position:relative;z-index:3}\n  section{min-height:100vh;display:flex;flex-direction:column;\n    justify-content:center;align-items:center;text-align:center;\n    padding:120px 22px;position:relative}\n\n  .hero h1{position:relative;font-family:'Syne',sans-serif;font-weight:800;\n    font-size:clamp(58px,15vw,220px);line-height:.92;text-transform:uppercase;letter-spacing:-.01em;\n    text-shadow:0 10px 60px rgba(11,10,16,.65)}\n  .hero h1 .ltr{display:inline-block;will-change:transform}\n  .hero h1 .row1,.hero h1 .row2{white-space:nowrap;display:inline-block}\n  .hero h1 .row2 .ltr{\n    background:linear-gradient(100deg,var(--coral) 10%,var(--violet) 55%,var(--amber) 95%);\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n  .hero .sub{margin-top:30px;font-weight:300;letter-spacing:.42em;text-transform:uppercase;\n    font-size:clamp(10px,1.4vw,14px);color:var(--dim);position:relative}\n  .hero .proof{margin-top:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;\n    color:rgba(245,241,234,.45);position:relative}\n  .hero .proof b{color:var(--coral);font-weight:700}\n  .hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);\n    font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--dim);\n    animation:pulse 2.6s ease-in-out infinite}\n  @keyframes pulse{0%,100%{opacity:.25}50%{opacity:.85}}\n\n  .num{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;\n    letter-spacing:.5em;margin-bottom:18px;text-transform:uppercase;\n    background:linear-gradient(90deg,var(--coral),var(--violet));\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n  h2{font-family:'Syne',sans-serif;font-weight:800;\n    font-size:clamp(40px,8vw,110px);line-height:.95;text-transform:uppercase;\n    text-shadow:0 10px 50px rgba(11,10,16,.6)}\n  h2 em{font-style:normal;\n    background:linear-gradient(100deg,var(--coral),var(--violet));\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n  .body-copy{max-width:560px;margin-top:24px;color:var(--dim);\n    font-weight:300;font-size:clamp(14px,1.6vw,17px);line-height:1.75}\n\n  .rv{opacity:0;transform:translateY(46px);filter:blur(10px);\n    transition:opacity .9s ease,transform .9s ease,filter .9s ease}\n  .rv.in{opacity:1;transform:none;filter:none}\n  .rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}\n\n  .progs{display:flex;gap:18px;margin-top:44px;flex-wrap:wrap;justify-content:center}\n  .prog{width:min(260px,84vw);text-align:left;padding:26px;border-radius:22px;\n    border:1px solid rgba(245,241,234,.14);\n    background:rgba(11,10,16,.35);backdrop-filter:blur(18px);\n    transition:transform .3s ease,border-color .3s ease}\n  .prog:hover{transform:translateY(-8px);border-color:rgba(45,212,191,.6)}\n  .prog h3{font-family:'Syne',sans-serif;font-weight:700;font-size:19px;\n    text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}\n  .prog p{font-size:13px;line-height:1.65;color:var(--dim);font-weight:300}\n  .prog .tag{display:inline-block;margin-top:14px;font-size:9px;letter-spacing:.3em;\n    text-transform:uppercase;font-weight:700;\n    background:linear-gradient(90deg,var(--teal),var(--violet));\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n\n  .quote{font-family:'Syne',sans-serif;font-weight:700;\n    font-size:clamp(20px,3.4vw,34px);line-height:1.35;max-width:760px;margin-top:34px;\n    text-shadow:0 8px 40px rgba(11,10,16,.7)}\n  .quote em{font-style:normal;\n    background:linear-gradient(90deg,var(--coral),var(--violet),var(--amber));\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n\n  .marq{overflow:hidden;padding:14px 0;margin-top:56px;width:100vw;\n    border-top:1px solid rgba(245,241,234,.08);border-bottom:1px solid rgba(245,241,234,.08)}\n  .marq .track{display:inline-block;white-space:nowrap;animation:slide 26s linear infinite;\n    font-family:'Syne',sans-serif;font-weight:700;font-size:13px;letter-spacing:.4em;\n    text-transform:uppercase;color:rgba(245,241,234,.3)}\n  .marq .track em{font-style:normal;\n    background:linear-gradient(90deg,var(--coral),var(--amber));\n    -webkit-background-clip:text;background-clip:text;color:transparent}\n  @keyframes slide{to{transform:translateX(-50%)}}\n\n  .feedgrid{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap;justify-content:center;width:100%;max-width:920px}\n  .tile{width:min(270px,84vw);aspect-ratio:16\/11;border-radius:22px;position:relative;\n    overflow:hidden;border:1px solid rgba(245,241,234,.14);\n    background:linear-gradient(160deg,rgba(255,184,77,.14),rgba(255,106,61,.08) 60%,transparent)}\n  .tile iframe{position:absolute;inset:0;width:100%;height:100%;border:0}\n  .tile a.ig{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;\n    align-items:flex-start;justify-content:flex-end;padding:18px;text-decoration:none;text-align:left}\n  .tile a.ig b{font-family:'Syne',sans-serif;font-size:15px;color:var(--cream);letter-spacing:.04em}\n  .tile a.ig span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}\n  .tile .ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;\n    font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);text-align:left}\n  .tile.tall{aspect-ratio:9\/15;width:min(230px,80vw);background:#0b0a10}\n  .feednote{margin-top:20px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,241,234,.32)}\n\n  .cta{margin-top:44px;display:inline-block;font-family:'Syne',sans-serif;font-weight:800;\n    font-size:clamp(17px,2.4vw,26px);letter-spacing:.05em;text-transform:uppercase;\n    color:var(--bg);text-decoration:none;padding:20px 52px;border-radius:100px;\n    background:linear-gradient(110deg,var(--coral),var(--violet) 60%,var(--amber));\n    background-size:220% 220%;animation:bflow 7s ease infinite;\n    transition:transform .25s ease,box-shadow .25s ease}\n  .cta:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 70px rgba(255,106,61,.45)}\n  .contactline{margin-top:24px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim)}\n\n  footer{position:relative;z-index:3;padding:40px 22px 60px;text-align:center;\n    font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,241,234,.28)}\n  footer a{color:var(--dim);text-decoration:none}\n  @media(max-width:640px){\n    nav{padding:16px 18px}\n    #bg-programs{left:-18vw}#bg-story{right:-18vw}\n  }\n\n\/* MOBILE PASS *\/\n@media(max-width:768px){\n  section{min-height:100svh;padding:96px 18px}\n  .hero h1{font-size:clamp(40px,16vw,96px);line-height:1.02}\n  .hero .sub{letter-spacing:.22em;font-size:10px;padding:0 8px}\n  .hero .proof{font-size:9px;letter-spacing:.12em;padding:0 12px;line-height:1.8}\n  nav .mark{font-size:15px}\n  nav .book{padding:10px 16px;font-size:9px;letter-spacing:.18em}\n  h2{font-size:clamp(34px,11.5vw,64px)}\n  .quote{font-size:17px;padding:0 6px}\n  .body-copy{font-size:14px}\n  .num{font-size:10px;letter-spacing:.35em}\n  .prog{padding:20px}\n  .marq .track{font-size:11px;letter-spacing:.28em}\n  .hint{letter-spacing:.32em;font-size:9px}\n  .cta{padding:16px 36px}\n  #bg-hero video{object-fit:contain}\n  .bgimg{filter:none!important}\n}\n@media(orientation:portrait){\n  #bg-hero video{object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent)}\n}\n<\/style>\n\n<canvas id=\"liquid\"><\/canvas>\n<div class=\"veil\"><\/div>\n\n<div class=\"bglayer\">\n  <div class=\"bgimg\" id=\"bg-hero\" data-start=\"-0.14\" data-end=\"0.19\" data-dir=\"c\" data-op=\"0.92\">\n    <div class=\"tint\"><video src=\"https:\/\/d8j0ntlcm91z4.cloudfront.net\/user_3FEPcJZW34wzkGJzD2bn1qSi0A1\/hf_20260712_221246_144a0eda-68f6-4be4-951b-26124851b01b.mp4\" poster=\"https:\/\/d8j0ntlcm91z4.cloudfront.net\/user_3FEPcJZW34wzkGJzD2bn1qSi0A1\/hf_20260712_220721_e90349fb-5d08-4788-ad9c-84a8547c9cac_min.webp\" autoplay muted loop playsinline preload=\"auto\"><\/video><\/div>\n  <\/div>\n  <div class=\"bgimg\" id=\"bg-programs\" data-start=\"0.16\" data-end=\"0.48\" data-dir=\"l\" data-op=\"0.6\">\n    <div class=\"tint\"><video src=\"https:\/\/d8j0ntlcm91z4.cloudfront.net\/user_3FEPcJZW34wzkGJzD2bn1qSi0A1\/hf_20260712_214643_b226acd7-2514-4116-a2ce-7f5595d90f85.mp4\" poster=\"https:\/\/d8j0ntlcm91z4.cloudfront.net\/user_3FEPcJZW34wzkGJzD2bn1qSi0A1\/hf_20260712_214522_49c2776d-8beb-481b-a7a7-8a49a92abfbd_min.webp\" autoplay muted loop playsinline preload=\"metadata\"><\/video><\/div>\n  <\/div>\n  <div class=\"bgimg\" id=\"bg-story\" data-start=\"0.44\" data-end=\"0.76\" data-dir=\"r\" data-op=\"0.6\">\n    <div class=\"tint\"><img decoding=\"async\" src=\"https:\/\/d8j0ntlcm91z4.cloudfront.net\/user_3FEPcJZW34wzkGJzD2bn1qSi0A1\/hf_20260712_214525_a65aa037-4b7c-4bef-b70c-05b524e33f82_min.webp\" alt=\"Mojo wrapping his hands\"><\/div>\n  <\/div>\n  <div class=\"bgimg\" id=\"bg-cta\" data-start=\"0.76\" data-end=\"1.01\" data-dir=\"c\" data-op=\"0.5\">\n    <div class=\"tint\"><img decoding=\"async\" src=\"https:\/\/d8j0ntlcm91z4.cloudfront.net\/user_3FEPcJZW34wzkGJzD2bn1qSi0A1\/hf_20260712_214527_25f71fc0-523c-40cc-9129-7360f3bedefb_min.webp\" alt=\"Mojo shoulder press\"><\/div>\n  <\/div>\n<\/div>\n\n<div class=\"grain\"><\/div>\n<div class=\"glow\" id=\"glow\"><\/div>\n\n<nav>\n  <a class=\"mark\" href=\"#top\">MOJO<em>FLOW<\/em><\/a>\n  <a class=\"book\" href=\"#book\" id=\"navbook\">Book a session<\/a>\n<\/nav>\n\n<main>\n  <section class=\"hero\" id=\"top\" data-pal=\"0\">\n    <h1><span class=\"row1\"><\/span><br><span class=\"row2\"><\/span><\/h1>\n    <div class=\"sub rv d1\">Strength \u00b7 Mobility \u00b7 Flow State<\/div>\n    <div class=\"proof rv d2\">Movement coach \u00b7 <b>Miami, FL<\/b> \u00b7 in-person &amp; online<\/div>\n    <div class=\"hint\">Scroll to flow<\/div>\n  <\/section>\n\n  <section data-pal=\"1\">\n    <div class=\"num rv\">01 \u2014 Train<\/div>\n    <h2 class=\"rv d1\">Pick your <em>flow.<\/em><\/h2>\n    <div class=\"progs\">\n      <div class=\"prog rv d1\"><h3>Strength Flow<\/h3>\n        <p>[Placeholder] Full-body strength built through moving patterns, not machines.<\/p>\n        <span class=\"tag\">Group \u00b7 60 min<\/span><\/div>\n      <div class=\"prog rv d2\"><h3>Mobility Reset<\/h3>\n        <p>[Placeholder] Undo the desk. Hips, spine and shoulders back to factory settings.<\/p>\n        <span class=\"tag\">Group \u00b7 45 min<\/span><\/div>\n      <div class=\"prog rv d3\"><h3>1-on-1 Coaching<\/h3>\n        <p>[Placeholder] Personal programming, form coaching and accountability. In person or online.<\/p>\n        <span class=\"tag\">Private \u00b7 Custom<\/span><\/div>\n    <\/div>\n  <\/section>\n\n  <section data-pal=\"2\">\n    <div class=\"num rv\">02 \u2014 The Story<\/div>\n    <h2 class=\"rv d1\">Built by <em>Mojo.<\/em><\/h2>\n    <p class=\"quote rv d2\">\u201c[Placeholder quote] Every body has a <em>flow state.<\/em>\n    My job is to find yours.\u201d<\/p>\n    <p class=\"body-copy rv d3\">[Placeholder \u2014 Mojo&#8217;s real story goes here.] No ego, no gimmicks \u2014\n    movement that makes you stronger, looser, and impossible to ignore.<\/p>\n    <div class=\"marq rv d3\"><div class=\"track\">\n      MOVE DIFFERENT <em>\u25c6<\/em> FLOW STATE <em>\u25c6<\/em> STRENGTH <em>\u25c6<\/em> MOBILITY <em>\u25c6<\/em> NO EGO <em>\u25c6<\/em>\n      MOVE DIFFERENT <em>\u25c6<\/em> FLOW STATE <em>\u25c6<\/em> STRENGTH <em>\u25c6<\/em> MOBILITY <em>\u25c6<\/em> NO EGO <em>\u25c6<\/em>\n    <\/div><\/div>\n  <\/section>\n\n  <section data-pal=\"3\">\n    <div class=\"num rv\">03 \u2014 Latest Drops<\/div>\n    <h2 class=\"rv d1\">Fresh <em>every week.<\/em><\/h2>\n    <div class=\"feedgrid\" id=\"feedgrid\"><\/div>\n    <div class=\"feednote\" id=\"feednote\"><\/div>\n  <\/section>\n\n  <section id=\"book\" data-pal=\"4\">\n    <h2 class=\"rv d1\">Ready to <em>move different?<\/em><\/h2>\n    <a class=\"cta rv d2\" href=\"#\" id=\"ctabtn\">Train with Mojo<\/a>\n    <div class=\"contactline rv d3\">[booking link \/ WhatsApp \/ IG DM goes here]<\/div>\n  <\/section>\n<\/main>\n\n<footer>MOJO FLOW \u00b7 <a href=\"https:\/\/instagram.com\/1point_o\" target=\"_blank\" rel=\"noopener\">@1point_o<\/a> \u00b7 flowwithmojo.com<\/footer>\n\n<script>\n(function(){\n  const CONFIG={\n    youtubeChannelId:\"\",\n    instagramHandle:\"1point_o\",\n    bookingUrl:\"\"\n  };\n  const grid=document.getElementById('feedgrid');\n  const note=document.getElementById('feednote');\n  let tiles=\"\";\n  if(CONFIG.youtubeChannelId){\n    const uploads=\"UU\"+CONFIG.youtubeChannelId.slice(2);\n    tiles+=`<div class=\"tile rv d1\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/videoseries?list=${uploads}\" allowfullscreen title=\"Latest YouTube uploads\"><\/iframe><\/div>`;\n  }else{\n    tiles+=`<div class=\"tile rv d1\"><div class=\"ph\">YouTube auto-feed \u2014 his latest uploads land here once the channel is connected<\/div><\/div>`;\n  }\n  const IG_POSTS=[\"DWee25LAJXq\",\"DVHet3gAF3X\",\"DBMeWCCynYb\"];\n  IG_POSTS.forEach(function(code,i){tiles+=`<div class=\"tile tall rv d${(i%3)+1}\"><iframe loading=\"lazy\" src=\"https:\/\/www.instagram.com\/p\/${code}\/embed\/\" allowfullscreen title=\"Instagram post\"><\/iframe><\/div>`;});\n  if(false){\n    tiles+=`<div class=\"tile rv d2\"><a class=\"ig\" href=\"https:\/\/instagram.com\/${CONFIG.instagramHandle}\" target=\"_blank\" rel=\"noopener\"><b>@${CONFIG.instagramHandle}<\/b><span>Newest reels \u2192 Instagram<\/span><\/a><\/div>`;\n  }\n  \n  grid.innerHTML=tiles;\n  note.textContent=CONFIG.youtubeChannelId?\"Auto-updates when Mojo posts\":\"Live from @1point_o \u2014 tap any post \u00b7 YouTube feed pending\";\n  if(CONFIG.bookingUrl){\n    document.getElementById('ctabtn').href=CONFIG.bookingUrl;\n    document.getElementById('navbook').href=CONFIG.bookingUrl;\n  }\n\n  const r1=document.querySelector('.row1'), r2=document.querySelector('.row2');\n  let li=0;\n  [[r1,\"MOJO\"],[r2,\"FLOW\"]].forEach(([el,t])=>{\n    el.innerHTML=t.split('').map(c=>\n      `<span class=\"lw\" style=\"animation-delay:${(li++)*75}ms\"><span class=\"ltr\">${c}<\/span><\/span>`\n    ).join('');\n  });\n  const letters=[...document.querySelectorAll('.ltr')];\n\n  const PALETTES=[\n    [[255,106,61],[177,74,237],[255,184,77],[62,84,222],[255,61,127]],\n    [[45,212,191],[62,84,222],[56,189,248],[177,74,237],[45,212,191]],\n    [[177,74,237],[255,61,127],[98,54,222],[255,106,61],[177,74,237]],\n    [[255,184,77],[255,106,61],[255,61,127],[255,184,77],[255,140,66]],\n    [[255,106,61],[45,212,191],[177,74,237],[255,184,77],[255,61,127]]\n  ];\n  const cur=PALETTES[0].map(c=>c.slice());\n  let target=0;\n  const sections=[...document.querySelectorAll('section[data-pal]')];\n  const secIO=new IntersectionObserver(es=>es.forEach(e=>{\n    if(e.isIntersecting)target=+e.target.dataset.pal;\n  }),{threshold:.45});\n  sections.forEach(s=>secIO.observe(s));\n\n  const cv=document.getElementById('liquid'),ctx=cv.getContext('2d');\n  const SCALE=.14;let W,H;\n  function resize(){W=cv.width=Math.max(2,innerWidth*SCALE);H=cv.height=Math.max(2,innerHeight*SCALE)}\n  addEventListener('resize',resize);resize();\n  const blobs=Array.from({length:5},(_,i)=>({\n    ox:Math.random()*1000,oy:Math.random()*1000,\n    sx:.00016+Math.random()*.00022,sy:.00013+Math.random()*.0002,\n    r:.34+Math.random()*.3\n  }));\n  let scrollP=0,smoothP=0,my2=0;\n  addEventListener('scroll',()=>{\n    const max=document.body.scrollHeight-innerHeight;\n    scrollP=max>0?scrollY\/max:0;\n  },{passive:true});\n  const glow=document.getElementById('glow');\n  addEventListener('mousemove',e=>{\n    glow.style.left=e.clientX+'px';glow.style.top=e.clientY+'px';\n    my2=(e.clientY\/innerHeight-.5);\n  },{passive:true});\n  function paintLiquid(t){\n    const pal=PALETTES[target];\n    for(let i=0;i<cur.length;i++)for(let k=0;k<3;k++)\n      cur[i][k]+=(pal[i][k]-cur[i][k])*.02;\n    ctx.fillStyle='#0b0a10';ctx.fillRect(0,0,W,H);\n    ctx.globalCompositeOperation='lighter';\n    blobs.forEach((b,i)=>{\n      const x=(Math.sin(t*b.sx+b.ox)*.42+.5)*W;\n      const y=(Math.cos(t*b.sy+b.oy)*.42+.5-smoothP*.22+i*.02)*H;\n      const r=b.r*Math.max(W,H)*(1+Math.sin(t*.0004+i)*.12);\n      const g=ctx.createRadialGradient(x,y,0,x,y,r);\n      const c=cur[i];\n      g.addColorStop(0,`rgba(${c[0]|0},${c[1]|0},${c[2]|0},.52)`);\n      g.addColorStop(1,'rgba(0,0,0,0)');\n      ctx.fillStyle=g;ctx.beginPath();ctx.arc(x,y,r,0,7);ctx.fill();\n    });\n    ctx.globalCompositeOperation='source-over';\n  }\n\n  const smooth=x=>x*x*(3-2*x);\n  const clamp01=x=>Math.min(1,Math.max(0,x));\n  const bgs=[...document.querySelectorAll('.bgimg')].map(el=>({\n    el,start:+el.dataset.start,end:+el.dataset.end,\n    dir:el.dataset.dir,op:+el.dataset.op\n  }));\n  function driveBgs(p,t){\n    bgs.forEach(b=>{\n      const local=clamp01((p-b.start)\/(b.end-b.start));\n      if(local<=0||local>=1){b.el.style.opacity=0;return;}\n      const a=clamp01(Math.min(local\/.30,1,(1-local)\/.28));\n      b.el.style.opacity=(a*b.op).toFixed(3);\n      b.el.style.filter=`blur(${((1-a)*14).toFixed(1)}px)`;\n      const breathe=Math.sin(t*.0005)*1.0;\n      const drift=(local-.5)*2;\n      const y=-drift*5;\n      const s=1.02+local*.06;                    let x=0,rot=breathe*.25;\n      if(b.dir===\"l\"){x=-2+local*3;rot=-1+breathe*.25}\n      if(b.dir===\"r\"){x=2-local*3;rot=1+breathe*.25}\n      b.el.style.transform=`translate(${x}%,${y}%) scale(${s.toFixed(3)}) rotate(${rot.toFixed(2)}deg)`;\n    });\n  }\n\n  const io=new IntersectionObserver(es=>es.forEach(e=>{\n    if(e.isIntersecting)e.target.classList.add('in');\n  }),{threshold:.25});\n  document.querySelectorAll('.rv').forEach(el=>io.observe(el));\n\n  function tick(t){\n    requestAnimationFrame(tick);\n    smoothP+=(scrollP-smoothP)*.08;\n    paintLiquid(t);\n    driveBgs(smoothP,t);\n    letters.forEach((L,i)=>{\n      const y=Math.sin(t*.0016+i*.7)*7+my2*10;\n      const sk=Math.sin(t*.0012+i*.9)*2.2;\n      L.style.transform=`translateY(${y}px) skewY(${sk}deg)`;\n    });\n  }\n  requestAnimationFrame(tick);\n})();\n<\/script>\n\n<script>\n(function(){\n  var mv=['#liquid','.veil','.bglayer','.grain','.glow','nav'];\n  mv.forEach(function(sel){var el=document.querySelector(sel);if(el&&el.parentElement!==document.body)document.body.appendChild(el);});\n  function kick(){document.querySelectorAll('.bglayer video').forEach(function(v){v.muted=true;var p=v.play();if(p)p.catch(function(){});});}\n  kick();document.addEventListener('click',kick,{once:true});document.addEventListener('touchstart',kick,{once:true});\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>MOJOFLOW Book a session Strength \u00b7 Mobility \u00b7 Flow State Movement coach \u00b7 Miami, FL \u00b7 in-person &amp; online Scroll to flow 01 \u2014 Train Pick your flow. Strength Flow [Placeholder] Full-body strength built through moving patterns, not machines. Group \u00b7 60 min Mobility Reset [Placeholder] Undo the desk. Hips, spine and shoulders back to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":5,"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":11,"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions\/11"}],"wp:attachment":[{"href":"https:\/\/flowwithmojo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}