/* Integral Heart — "Do I really need therapy?" floating widget Served from Vercel; embedded on the Webflow site with: */ (function(){ var sc = document.currentScript; var booking = (sc && sc.getAttribute('data-booking')) || 'https://clientportal.zandahealth.com/clientportal/integralhearttherapy'; var CSS = `#iht-need-btn{ position:fixed; left:18px; bottom:18px; z-index:9000; display:inline-flex; align-items:center; gap:9px; background:#16271f; color:#f3eedd; border:1px solid rgba(201,168,106,.55); border-radius:999px; padding:13px 20px; font-size:14px; font-weight:600; font-family:inherit; cursor:pointer; box-shadow:0 8px 26px rgba(16,38,31,.3); transition:transform .2s ease; } #iht-need-btn:hover{ transform:translateY(-2px); } #iht-need-overlay{ position:fixed; inset:0; z-index:9001; background:rgba(22,39,31,.45); display:flex; align-items:center; justify-content:center; padding:18px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease, visibility 0s linear .25s; } #iht-need-overlay.open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .25s ease; } #iht-need-modal{ position:relative; background:#f3eedd; border:1px solid rgba(201,168,106,.5); border-radius:22px; max-width:560px; width:100%; max-height:88vh; overflow-y:auto; padding:28px 26px 22px; box-shadow:0 24px 60px rgba(16,38,31,.35); transform:translateY(10px); transition:transform .25s cubic-bezier(.22,1,.36,1); } #iht-need-overlay.open #iht-need-modal{ transform:none; } #iht-need-close{ position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; border:1px solid rgba(201,168,106,.4); background:#f3eedd; color:rgba(22,39,31,.6); font-size:14px; cursor:pointer; z-index:2; } .iht-eyebrow{ color:#c9a86a; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin:0 0 8px; } #iht-need-title{ font-family:Georgia,"Noto Serif SC",serif; font-weight:500; color:#16271f; font-size:26px; line-height:1.15; margin:0; } .iht-zh-title{ font-family:Georgia,"Noto Serif SC",serif; color:rgba(22,39,31,.6); font-size:16px; margin:4px 0 0; } .iht-tabs{ display:flex; gap:6px; margin:16px 0 16px; } .iht-tab{ flex:1; border:1px solid rgba(201,168,106,.45); background:transparent; color:#16271f; border-radius:999px; padding:9px 6px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit; line-height:1.25; } .iht-tab.on{ background:#16271f; color:#f3eedd; border-color:#16271f; } .iht-panel{ display:none; } .iht-panel.on{ display:block; } .iht-intro{ color:#1c2b22; font-size:14.5px; line-height:1.6; margin:0 0 12px; } .iht-cat{ padding:11px 0; border-bottom:1px dashed rgba(201,168,106,.35); } .iht-cat:last-child{ border-bottom:none; } .iht-cat h4{ margin:0; color:#16271f; font-size:14.5px; display:flex; gap:8px; align-items:baseline; } .iht-cat h4 em{ font-style:normal; color:rgba(22,39,31,.5); font-weight:500; font-size:12.5px; } .iht-cat p{ margin:4px 0 0; color:#1c2b22; font-size:13.5px; line-height:1.55; } .iht-cat p i{ display:block; font-style:normal; color:rgba(22,39,31,.55); font-size:12.5px; line-height:1.7; margin-top:2px; } .iht-stat{ display:flex; gap:14px; align-items:center; background:#16271f; border-radius:16px; padding:16px 18px; margin:0 0 14px; } .iht-stat .n{ font-family:Georgia,serif; color:#c9a86a; font-size:42px; line-height:1; font-weight:500; } .iht-stat p{ margin:0; color:#f3eedd; font-size:13.5px; line-height:1.55; } .iht-stat p i{ display:block; font-style:normal; color:rgba(243,238,221,.7); font-size:12.5px; margin-top:3px; } .iht-fact{ padding:10px 0; border-bottom:1px dashed rgba(201,168,106,.35); } .iht-fact:last-of-type{ border-bottom:none; } .iht-fact h4{ margin:0; color:#16271f; font-size:14px; } .iht-fact p{ margin:4px 0 0; color:#1c2b22; font-size:13.5px; line-height:1.55; } .iht-fact p i{ display:block; font-style:normal; color:rgba(22,39,31,.55); font-size:12.5px; line-height:1.7; margin-top:2px; } .iht-arc{ margin-top:4px; padding-left:18px; border-left:2px solid rgba(201,168,106,.45); } .iht-arc div{ padding:7px 0; } .iht-arc b{ color:#c9a86a; font-size:11px; letter-spacing:.1em; text-transform:uppercase; display:block; } .iht-arc p{ margin:2px 0 0; font-size:13px; color:#1c2b22; line-height:1.5; } .iht-cite{ color:rgba(22,39,31,.45); font-size:11px; line-height:1.6; margin:12px 0 0; } .iht-reframe{ margin:16px 0 0; padding:14px 16px; background:#16271f; color:#f3eedd; border-radius:14px; font-size:14px; line-height:1.6; } .iht-reframe i{ display:block; font-style:normal; color:rgba(243,238,221,.75); font-size:13px; line-height:1.7; margin-top:6px; } .iht-cta{ display:flex; justify-content:center; align-items:center; margin-top:14px; background:#c9a86a; color:#16271f; font-weight:700; font-size:15px; border-radius:999px; padding:14px 20px; text-decoration:none; } .iht-small{ text-align:center; color:rgba(22,39,31,.55); font-size:12px; margin:8px 0 0; } .iht-crisis{ text-align:center; color:rgba(22,39,31,.5); font-size:11px; margin:12px 0 0; padding-top:10px; border-top:1px solid rgba(201,168,106,.3); } @media (max-width:480px){ #iht-need-btn{ left:12px; bottom:12px; padding:12px 16px; font-size:13px; } } @media (prefers-reduced-motion: reduce){ #iht-need-btn,#iht-need-overlay,#iht-need-modal{ transition:none; } }`; var HTML = `
`.replace(/YOUR_CLINIKO_LINK/g, booking); function mount(){ if (document.getElementById('iht-need')) return; var st = document.createElement('style'); st.textContent = CSS; document.head.appendChild(st); document.body.insertAdjacentHTML('beforeend', HTML); (function(){ var btn=document.getElementById('iht-need-btn'), ov=document.getElementById('iht-need-overlay'), cl=document.getElementById('iht-need-close'), modal=document.getElementById('iht-need-modal'), tabs=[].slice.call(document.querySelectorAll('.iht-tab')), panels=[].slice.call(document.querySelectorAll('.iht-panel')), lastFocus=null; tabs.forEach(function(tb,i){ tb.addEventListener('click',function(){ tabs.forEach(function(x,k){ x.classList.toggle('on',k===i); x.setAttribute('aria-selected',k===i); }); panels.forEach(function(p,k){ p.classList.toggle('on',k===i); }); modal.scrollTop=0; }); }); function open(){ lastFocus=document.activeElement; ov.classList.add('open'); btn.setAttribute('aria-expanded','true'); document.body.style.overflow='hidden'; cl.focus(); } function shut(){ ov.classList.remove('open'); btn.setAttribute('aria-expanded','false'); document.body.style.overflow=''; if(lastFocus) lastFocus.focus(); } btn.addEventListener('click',open); cl.addEventListener('click',shut); ov.addEventListener('click',function(e){ if(!modal.contains(e.target)) shut(); }); document.addEventListener('keydown',function(e){ if(e.key==='Escape'&&ov.classList.contains('open')) shut(); }); })(); } if (document.readyState !== 'loading') mount(); else document.addEventListener('DOMContentLoaded', mount); })();

Make sense of your story

Trauma-informed, neuro-affirming therapy in Melbourne and online — in English and 中文. A steady, unhurried space for trauma, anxiety, and overwhelm.
Book a free 15-minute call
Or see how I can help
No pressure. Nothing to prepare.
The Integral Heart Difference
Navigate life’s challenges with
professional help
How I Work
Therapy that meets your mind where it is

Supportive therapy, at your peace.

Flexible Scheduling
In person & online — Sessions in Melbourne or securely online, including across time zones for clients overseas.
Personalized Therapy Plans
Trauma-informed & neuro-affirming — "I work with your nervous system, not against it — paced and gentle, grounded in EMDR."
Book a free call
“The online sessions are so convenient for my busy schedule. I can get the support I need without leaving my home.”
– Tomas, Sussex
Therapy shaped around you
What we can work on together
Whatever brings you here, we'll find an approach that fits — EMDR, trauma-informed and relational therapy, through a neuro-affirming lens.
Trauma
ADHD&Neurodivergence
Anxiety
Stress
Relationships
Mood Disorders
Cross-cultural / 中文
OCD
Anger Management
Overwhelm
Book a free call
Starting is simpler than it feels
1
Initial Consultation
A free 15-minute call — a relaxed chance to talk, ask questions, and see if we're a good fit. Nothing to prepare.
2
Scheduling and Sessions
Choose secure online sessions or in person in Melbourne, at times that suit you."
3
Tailored Therapy
We work in a way that fits you — drawing on EMDR and trauma-informed, neuro-affirming care.
Book a free call
Reach out when you're ready.
Have a question, or not sure where to start? Send a message, or book a free 15-minute call — whichever feels easier.
Your name
Email Address
If you're in crisis or need urgent help now, please call 000 or Lifeline 13 11 14. This form isn't monitored around the clock.
Message
Submit form
We never share your personal information with third parties.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.