PageSourceSearch

https://www.thehealthcentre.com.au/assets/PainWellness-C5r9kVpL.js

js thehealthcentre.com.au collected 2026-10-07 16:55:32 UTC 35,844 bytes, 124 lines download raw bytes

1import{r as b,j as e,L as i,g as w}from"./index-D3ToYbyJ.js";import{g as u}from"./index-DDlvirwQ.js";import{S as W}from"./ScrollTrigger-CB6UHAJl.js";import{S as I}from"./SEO-wXpnLt2-.js";import{b as M,F as B}from"./faq-schema-ROTwtFpR.js";import"./chevron-down-C9xfi_YR.js";const F=`
2precision highp float;
3
4uniform vec2  u_res;
5uniform float u_time;
6
7// Palette: deep moss field, moss mid, sage contour lines, terracotta ember
8const vec3 DEEP  = vec3(0.075, 0.129, 0.102); // #13211a
9const vec3 MOSS  = vec3(0.180, 0.251, 0.212); // #2E4036
10const vec3 SAGE  = vec3(0.545, 0.659, 0.533); // #8BA888
11const vec3 EMBER = vec3(0.757, 0.467, 0.325); // #C17753
12
13float hash(vec2 p) {
14  return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
15}
16
17float noise(vec2 p) {
18  vec2 i = floor(p);
19  vec2 f = fract(p);
20  vec2 u = f * f * (3.0 - 2.0 * f);
21  return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), u.x),
22             mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), u.x), u.y);
23}
24
25float fbm(vec2 p) {
26  float v = 0.0;
27  float a = 0.5;
28  mat2 rot = mat2(0.8, 0.6, -0.6, 0.8);
29  for (int i = 0; i < 4; i++) {
30    v += a * noise(p);
31    p = rot * p * 2.02;
32    a *= 0.5;
33  }
34  return v;
35}
36
37void main() {
38  vec2 uv = gl_FragCoord.xy / u_res.xy;
39  vec2 p  = uv;
40  p.x *= u_res.x / u_res.y;
41
42  float t = u_time * 0.022;
43
44  // Gently warped elevation field — the body's terrain
45  vec2 q = vec2(fbm(p * 0.9 + vec2(0.0, t)),
46                fbm(p * 0.9 + vec2(5.2, 1.3) - t * 0.7));
47  float f = fbm(p * 1.1 + 2.6 * q);
48
49  // Base: a long quiet ramp through the greens
50  vec3 col = mix(DEEP, MOSS, smoothstep(0.1, 0.95, f + uv.y * 0.22));
51
52  // Contour lines: thin sage isolines of the elevation field, drifting as
53  // the field itself drifts. A second noise masks them so they surface and
54  // sink across the frame instead of covering it evenly.
55  float bands   = f * 9.0 + t * 1.2;
56  float d       = abs(fract(bands) - 0.5);
57  float contour = smoothstep(0.10, 0.0, d);
58  float mask    = smoothstep(0.30, 0.72, fbm(p * 0.7 + vec2(7.3, 2.1) + t * 0.5));
59  col = mix(col, SAGE, contour * mask * 0.16);
60
61  // A slightly brighter crest line every few contours — the meridian
62  float major = smoothstep(0.06, 0.0, abs(fract(bands / 4.0) - 0.5) * 4.0);
63  col = mix(col, SAGE, major * mask * 0.10);
64
65  // Terracotta ember: one slow-breathing warm point low in the field
66  vec2 ember1 = vec2(0.24 + 0.04 * sin(u_time * 0.11), 0.30 + 0.03 * cos(u_time * 0.09));
67  vec2 ec = uv - ember1;
68  ec.x *= u_res.x / u_res.y;
69  float glow = exp(-dot(ec, ec) * 9.0) * (0.55 + 0.2 * sin(u_time * 0.23));
70  col = mix(col, EMBER, glow * 0.10);
71
72  // Soft vignette so type sits quietly on top
73  float vig = smoothstep(1.35, 0.3, length(uv - vec2(0.5, 0.45)));
74  col *= 0.85 + 0.15 * vig;
75
76  gl_FragColor = vec4(col, 1.0);
77}
78`,L=`
79attribute vec2 a_pos;
80void main() { gl_Position = vec4(a_pos, 0.0, 1.0); }
81`;function S({className:s=""}){const r=b.useRef(null);return b.useEffect(()=>{const n=r.current;if(!n)return;const t=n.getContext("webgl",{antialias:!1,depth:!1,stencil:!1,alpha:!1,powerPreference:"low-power"});if(!t)return;const h=(l,g)=>{const x=t.createShader(l);return t.shaderSource(x,g),t.compileShader(x),t.getShaderParameter(x,t.COMPILE_STATUS)||console.error("[MeridianShader] compile:",t.getShaderInfoLog(x)),x},a=t.createProgram();if(t.attachShader(a,h(t.VERTEX_SHADER,L)),t.attachShader(a,h(t.FRAGMENT_SHADER,F)),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){console.error("[MeridianShader] link:",t.getProgramInfoLog(a));return}t.useProgram(a);const o=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,o),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),t.STATIC_DRAW);const d=t.getAttribLocation(a,"a_pos");t.enableVertexAttribArray(d),t.vertexAttribPointer(d,2,t.FLOAT,!1,0,0);const m=t.getUniformLocation(a,"u_res"),E=t.getUniformLocation(a,"u_time"),j=Math.min(window.devicePixelRatio||1,1.5),N=()=>{const{clientWidth:l,clientHeight:g}=n;!l||!g||(n.width=Math.round(l*j),n.height=Math.round(g*j),t.viewport(0,0,n.width,n.height),t.uniform2f(m,n.width,n.height))};N();const k=new ResizeObserver(N);k.observe(n);const A=window.matchMedia("(prefers-reduced-motion: reduce)").matches;let p=0,y=!0;const R=performance.now(),v=l=>{t.uniform1f(E,(l-R)/1e3+40),t.drawArrays(t.TRIANGLES,0,3),!A&&y&&(p=requestAnimationFrame(v))},C=new IntersectionObserver(([l])=>{y=l.isIntersecting,y&&!A&&(cancelAnimationFrame(p),p=requestAnimationFrame(v))});return C.observe(n),p=requestAnimationFrame(v),()=>{cancelAnimationFrame(p),k.disconnect(),C.disconnect()}},[]),e.jsx("canvas",{ref:r,"aria-hidden":"true",className:`h-full w-full ${s}`,style:{background:"linear-gradient(160deg, #13211a 0%, #2E4036 60%, #1F2D25 100%)"}})}const c=[{id:"head",label:"Head & temples",cx:150,cy:44,treatments:[{name:"Migraine and headache consultations",slug:"migraines-and-headaches"}]},{id:"neck",label:"Neck & shoulders",cx:170,cy:104,treatments:[{name:"Shoulder pain consultations",slug:"acupuncture-for-shoulder-pain"},{name:"Musculoskeletal consultations",slug:"musculoskeletal-conditions"}]},{id:"nervous",label:"Sleep & nervous system",cx:150,cy:150,treatments:[{name:"Sleep concern consultations",slug:"sleep-disorders-insomnia"},{name:"Mental wellbeing consultations",slug:"mental-health"}]},{id:"digestion",label:"Digestion",cx:150,cy:205,treatments:[{name:"Digestive symptom consultations",slug:"digestive-disorders"}]},{id:"lowback",label:"Lower back & hips",cx:124,cy:240,treatments:[{name:"Hip and back pain consultations",slug:"acupuncture-for-hip-and-back-pain"}]},{id:"limbs",label:"Joints & limbs",cx:172,cy:350,treatments:[{name:"Musculoskeletal consultations",slug:"musculoskeletal-conditions"}]},{id:"whole",label:"Persistent, whole-body pain",cx:null,cy:null,treatments:[{name:"Persistent pain consultations",slug:"chronic-pain-relief"},{name:"General wellness consultations",slug:"general-wellness-acupuncture"}]}],D=`
82  M 138 74
83  L 138 92
84  C 129 98 116 104 104 114
85  C 95 130 89 152 86 178
86  C 84 206 82 236 81 260
87  C 80 273 84 280 90 279
88  C 96 278 99 271 100 260
89  C 102 236 104 206 106 180
90  C 108 158 110 138 112 126
91  C 111 148 111 164 112 180
92  C 114 196 118 208 121 220
93  C 117 234 109 242 106 252
94  C 110 270 114 282 117 296
95  C 121 330 123 358 123 386
96  C 124 420 126 452 129 474
97  C 129 482 121 488 111 488
98  L 137 488
99  C 139 484 140 480 141 474
100  C 140 452 138 420 139 386
101  C 139 358 139 330 141 296
102  C 143 282 146 274 150 272
103  C 154 274 157 282 159 296
104  C 161 330 161 358 161 386
105  C 161 420 160 452 159 474
106  C 160 480 161 484 163 488
107  L 189 488
108  C 179 488 171 482 171 474
109  C 174 452 176 420 177 386
110  C 177 358 179 330 183 296
111  C 186 282 191 270 194 252
112  C 191 242 183 234 179 220
113  C 182 208 186 196 188 180
114  C 189 164 189 148 188 126
115  C 190 138 192 158 194 180
116  C 196 206 198 236 200 260
117  C 201 271 204 278 210 279
118  C 216 280 220 273 219 260
119  C 218 236 216 206 214 178
120  C 211 152 205 130 196 114
121  C 184 104 171 98 162 92
122  L 162 74
123  Z
124`,_="#8BA888",f="#C17753";function O(){const[s,r]=b.useState("whole"),n=c.find(a=>a.id===s)??c[0],t=n.id==="whole",h=c.filter(a=>a.cx!==null);return e.jsxs("div",{className:"grid items-center gap-12 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1fr)] lg:gap-16",children:[e.jsx("div",{className:"flex justify-center",children:e.jsxs("svg",{viewBox:"60 5 180 505",className:"h-[23rem] w-auto sm:h-[29rem] lg:h-[35rem]",role:"img","aria-label":"Line illustration of a standing figure with six selectable treatment regions",children:[e.jsx("defs",{children:e.jsxs("radialGradient",{id:"bodymap-glow",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:f,stopOpacity:"0.20"}),e.jsx("stop",{offset:"100%",stopColor:f,stopOpacity:"0"})]})}),e.jsx("ellipse",{cx:"150",cy:"258",rx:"110",ry:"250",fill:"url(#bodymap-glow)",className:"transition-opacity duration-700",style:{opacity:t?1:0}}),e.jsx("path",{d:D,fill:"none",stroke:_,strokeWidth:"1.5",strokeOpacity:"0.75",strokeLinejoin:"round"}),e.jsx("ellipse",{cx:"150",cy:"50",rx:"25",ry:"30",fill:"#1F2D25",stroke:_,strokeWidth:"1.5",strokeOpacity:"0.75"}),h.map(a=>{const o=a.id===s,d=o||t;return e.jsxs("g",{className:"cursor-pointer focus:outline-none",role:"button",tabIndex:0,"aria-pressed":o,"aria-label":a.label,onMouseEnter:()=>r(a.id),onClick:()=>r(a.id),onFocus:()=>r(a.id),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),r(a.id))},children:[e.jsx("circle",{cx:a.cx,cy:a.cy,r:"22",fill:"transparent"}),e.jsx("circle",{cx:a.cx,cy:a.cy,r:o?13:9,fill:"none",stroke:f,strokeWidth:"1",className:"transition-all duration-500",style:{opacity:o?1:d?.45:.25},children:o&&e.jsx("animate",{attributeName:"r",values:"12;15;
12412",dur:"2.8s",repeatCount:"indefinite"})}),e.jsx("circle",{cx:a.cx,cy:a.cy,r:o?4.5:3,fill:f,className:"transition-all duration-500",style:{opacity:o?1:d?.7:.45}})]},a.id)})]})}),e.jsxs("div",{children:[e.jsxs("div",{className:"mb-6 flex items-baseline justify-between border-b border-cream/10 pb-5",children:[e.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.22em] text-cream/40",children:"Selected area"}),e.jsxs("span",{className:"font-mono text-[10px] uppercase tracking-[0.22em] text-terracotta",children:[String(c.indexOf(n)+1).padStart(2,"0")," / ",String(c.length).padStart(2,"0")]})]}),e.jsxs("div",{className:"face-panel-swap",children:[e.jsx("h3",{className:"font-serif text-4xl leading-tight text-cream md:text-5xl",children:n.label}),e.jsx("ul",{className:"mt-8 flex flex-col",children:n.treatments.map(a=>e.jsx("li",{children:e.jsxs(i,{to:`/treatments/${a.slug}`,className:"group flex items-center justify-between gap-6 border-b border-cream/10 py-4 transition-colors hover:border-terracotta/50",children:[e.jsx("span",{className:"font-body text-lg text-cream/85 transition-colors group-hover:text-cream",children:a.name}),e.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-terracotta opacity-0 transition-opacity group-hover:opacity-100",children:"View →"})]})},a.slug))})]},n.id),e.jsx("div",{className:"mt-10 flex flex-wrap gap-2",children:c.map(a=>e.jsx("button",{type:"button",onClick:()=>r(a.id),"aria-pressed":a.id===s,className:`rounded-full border px-4 py-1.5 font-mono text-[10px] uppercase tracking-[0.14em] transition-colors duration-300 ${a.id===s?"border-terracotta bg-terracotta/10 text-terracotta":"border-cream/15 text-cream/50 hover:border-cream/40 hover:text-cream/80"}`,children:a.label},a.id))})]})]})}u.registerPlugin(W);const P=[{q:"Does acupuncture hurt?",a:"Acupuncture needles are very fine. A slight prick, dull ache or tingling sensation can occur. Experiences vary, and we ask you to tell us at any time if you feel uncomfortable."},{q:"How many sessions will I need?",a:"It depends on what we're treating and how long it's been present. There's no honest one-size answer. At your first visit we'll give you a straightforward recommendation, and we review progress together as we go rather than locking you into a long upfront plan."},{q:"What's the difference between acupuncture and dry needling?",a:"Both use fine needles, but they are different practices. Dry needling commonly focuses on local muscular trigger points and is often used by physiotherapists and osteopaths within their professional scope. Acupuncturists are registered with the Chinese Medicine Board of Australia. Which approach may be appropriate depends on individual assessment."},{q:"Can I have acupuncture alongside physiotherapy, my GP's care, or medication?",a:"Yes. Acupuncture sits comfortably alongside conventional care, and we're happy to coordinate with your GP or physio. Never stop prescribed medication without talking to your doctor. Our role is to complement your existing care, not replace it."},{q:"What should I expect at the first visit?",a:"Allow around 90 minutes. We start with a detailed health intake, discuss what has been going on, and provide your first treatment in the same session, with your consent. Wear loose, comfortable clothing if you can. Initial consultations are $170 and follow-ups are $100. On-site HICAPS claiming is available where your policy includes acupuncture. Rebates and annual limits vary by insurer and level of cover."}],q=[{label:"What we focus on",body:"We assess the history and presentation of your symptoms, movement concerns, general health, sleep and stress. Whether acupuncture is appropriate is considered after an individual consultation."},{label:"The whole-body picture",body:"Chinese medicine assessment may consider symptoms alongside sleep, stress, digestion and posture. This describes the traditional clinical framework and does not replace medical diagnosis."},{label:"Collaborative integration",body:"We work in partnership with your existing healthcare providers, including your GP, physiotherapist, or osteopath. If acupuncture is not the most appropriate path for your concern, we will discuss alternative options and refer you onward."}],T=[{label:"Scope",us:"Clinical acupuncture uses fine needles at selected points. Point selection may include areas away from the symptom site as well as local points, based on individual assessment.",them:"Dry needling commonly focu
124ses on a local muscular trigger point. It is often used as one part of a physiotherapy or osteopathy treatment plan."},{label:"Training pathway",us:"Acupuncturists are registered with the Chinese Medicine Board of Australia. Our practitioners' qualifications and registration details are listed on our team page.",them:"Practised by physiotherapists, osteopaths, and other health professionals who add needling to their own degree-qualified scope of practice through additional training."},{label:"Technique",us:"Fine, sterile, single-use needles are placed at selected points following discussion and consent. You can tell your practitioner at any time if you feel uncomfortable.",them:"A needle is placed at the selected muscular point, sometimes with the aim of producing a brief muscle twitch response."}],z=[{title:"Arrival & intake",desc:"You arrive at a calm, unhurried space. We begin by reviewing a detailed health intake form. Allow around 90 minutes for this initial session."},{title:"Deep consultation",desc:"We take a thorough history of your pain, injury history, sleep, stress, and general health, plus a physical assessment focusing on range of motion and tension."},{title:"Traditional assessment",desc:"Using Chinese medicine assessment methods, including pulse and tongue observation, we form a traditional Chinese medicine pattern assessment. This does not replace medical diagnosis."},{title:"Acupuncture treatment",desc:"Fine, sterile, single-use needles are placed following discussion and consent. They usually remain in place for 25 to 35 minutes. Tell us at any time if you feel uncomfortable."},{title:"Your way forward",desc:"Before you leave, we explain our findings and outline a structured, honest treatment plan, including lifestyle adjustments and coordinated care with your GP or physio."}],G=[{name:"Cupping Therapy",slug:"cupping"},{name:"Tuina Massage",slug:"tuina-massage"},{name:"Moxibustion",slug:"moxibustion"},{name:"Low-Level Laser Therapy (LLLT)",slug:"low-level-laser-therapy"},{name:"Laser Acupuncture",slug:"laser-acupuncture"}],H=[{title:"Pain & Musculoskeletal",items:[{name:"Hip and back pain consultations",slug:"acupuncture-for-hip-and-back-pain"},{name:"Shoulder pain consultations",slug:"acupuncture-for-shoulder-pain"}]},{title:"Digestive Health",items:[{name:"IBS symptom consultations",slug:"irritable-bowel-syndrome-ibs"},{name:"Reflux and heartburn consultations",slug:"reflux-and-heartburn"},{name:"Bowel symptom consultations",slug:"constipation-and-ulcerative-colitis"},{name:"Nausea and vomiting consultations",slug:"nausea-and-vomiting"}]},{title:"General Wellness",items:[{name:"General wellness consultations",slug:"general-wellness-acupuncture"}]}],Y="Acupuncture consultations for people managing pain, back and neck concerns, migraine, sleep concerns and stress in Sydney's inner west. Registered practitioners in Rozelle.";function X(){return b.useEffect(()=>{const s=u.matchMedia();return s.add("(prefers-reduced-motion: no-preference)",()=>{document.hidden||u.timeline({defaults:{ease:"power3.out"}}).fromTo(".hero-line-inner",{yPercent:110},{yPercent:0,duration:1,stagger:.1},.15).fromTo(".hero-fade",{opacity:0,y:16},{opacity:1,y:0,duration:.8,stagger:.08},.6).fromTo(".hero-img",{opacity:0,scale:1.06},{opacity:1,scale:1,duration:1.4,ease:"power2.out"},.1),u.utils.toArray("[data-reveal]").forEach(r=>{u.fromTo(r,{opacity:0,y:28},{opacity:1,y:0,duration:.9,ease:"power3.out",scrollTrigger:{trigger:r,start:"top 85%"}})})}),()=>s.revert()},[]),e.jsxs("div",{children:[e.jsx(I,{title:"Acupuncture for Pain & Wellness | Rozelle Acupuncture Sydney",description:Y,image:"/images/pain-needles-linen.webp",structuredData:M(P)}),e.jsxs("section",{className:"relative mt-24 min-h-[calc(100dvh-7rem)] w-full overflow-hidden rounded-b-[2.5rem] bg-moss-deep md:rounded-b-[4rem]",children:[e.jsx("div",{className:"absolute inset-0",children:e.jsx(S,{})}),e.jsxs("div",{className:"hero-img absolute inset-y-0 right-0 w-full md:w-[58%]",children:[e.jsx("img",{src:"/images/pain-needles-linen.webp",srcSet:w("/images/pain-needles-linen.webp"),sizes:"(min-width: 768px) 58vw, 100vw",width:"1920",height:"1080",alt:"A fully draped patient receiving acupuncture across the upper back in a softly lit treatment room",fetchpriority:"high",className:"h-full w-full object-cover object-[72%_center] opacity-80 md:opacity-100",style:{maskImage:"linear-gradient(to right, transparent 0%, black 58%)",WebkitMaskImage:"linear-gradient(to right, transparent 0%, black 58%)"}}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-moss-deep via-moss-deep/50 to-moss-deep/10 md:bg-gradient-to-r md:from-transparent md:via-trans
124parent md:to-moss-deep/40"})]}),e.jsx("div",{"aria-hidden":"true",className:"absolute inset-0 hidden md:block",style:{background:"linear-gradient(100deg, rgba(31,45,37,0.55) 0%, rgba(31,45,37,0.35) 42%, transparent 68%)"}}),e.jsxs("div",{className:"relative z-10 mx-auto flex min-h-[calc(100dvh-7rem)] max-w-7xl flex-col justify-end px-6 pb-16 pt-28 md:pb-20",children:[e.jsx("p",{className:"hero-fade mb-5 font-mono text-[11px] uppercase tracking-[0.3em] text-sage",children:"Rozelle Acupuncture · Sydney's Inner West"}),e.jsxs("h1",{className:"mb-6 text-cream",children:[e.jsx("span",{className:"block overflow-hidden",children:e.jsx("span",{className:"hero-line-inner block font-serif text-5xl leading-[1.05] [text-wrap:balance] sm:text-6xl md:text-7xl lg:text-8xl",children:"Where it hurts,"})}),e.jsx("span",{className:"block overflow-hidden",children:e.jsx("span",{className:"hero-line-inner block font-serif italic text-5xl leading-[1.08] [text-wrap:balance] text-sage sm:text-6xl md:text-7xl lg:text-8xl",children:"and everything behind it."})})]}),e.jsx("p",{className:"hero-fade mb-8 max-w-md font-body text-base leading-relaxed text-cream/75 md:text-lg",children:"Acupuncture consultations for people managing pain, migraine, sleep concerns and stress. Care is individualised and may complement support from your GP, physiotherapist or specialist."}),e.jsxs("div",{className:"hero-fade flex flex-col gap-4 sm:flex-row sm:items-center",children:[e.jsx(i,{to:"/book",className:"btn-primary w-fit",children:"Book an Appointment"}),e.jsx("a",{href:"#body-map",className:"font-mono text-xs uppercase tracking-widest text-cream/60 transition-colors hover:text-sage",children:"Start where it hurts ↓"})]}),e.jsxs("div",{className:"hero-fade mt-10 flex flex-wrap gap-x-8 gap-y-2 border-t border-cream/10 pt-5 font-mono text-[11px] uppercase tracking-widest text-cream/50",children:[e.jsx("span",{children:"Est. 1988"}),e.jsx("span",{children:"Chinese Medicine Board registered"}),e.jsx("span",{children:"HICAPS available for eligible policies"})]})]})]}),e.jsx("section",{className:"bg-cream py-16 md:py-24",children:e.jsxs("div",{className:"mx-auto max-w-4xl px-6 text-center",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 font-mono text-[11px] uppercase tracking-[0.3em] text-terracotta",children:"01 · The approach"}),e.jsxs("h2",{"data-reveal":!0,className:"font-serif text-3xl leading-snug [text-wrap:balance] text-moss md:text-5xl md:leading-snug",children:["We assess the pain.",e.jsx("span",{className:"italic text-terracotta",children:" And the person experiencing it."})]}),e.jsx("p",{"data-reveal":!0,className:"mx-auto mt-8 max-w-2xl font-body text-lg font-light leading-relaxed text-charcoal/75",children:"Whether you are managing back or neck pain, recurring migraine, broken sleep or ongoing stress, our assessment considers your symptoms, health history and goals. We can work alongside your GP, physiotherapist or specialist where coordinated care is appropriate."})]})}),e.jsxs("section",{id:"body-map",className:"relative overflow-hidden bg-moss-deep py-20 md:py-28",children:[e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute -left-40 -top-40 h-[32rem] w-[32rem] rounded-full opacity-20 blur-3xl",style:{background:"radial-gradient(circle, #8BA888 0%, transparent 65%)"}}),e.jsxs("div",{className:"mx-auto max-w-6xl px-6",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 font-mono text-[11px] uppercase tracking-[0.3em] text-sage",children:"02 · Where it hurts"}),e.jsxs("h2",{"data-reveal":!0,className:"mb-4 max-w-2xl font-serif text-4xl text-cream md:text-5xl",children:["Pain has a location. ",e.jsx("span",{className:"italic text-terracotta",children:"Treatment doesn't."})]}),e.jsx("p",{"data-reveal":!0,className:"mb-16 max-w-xl font-body font-light leading-relaxed text-cream/60",children:"Select an area to explore relevant consultation areas and information pages. In Chinese medicine practice, point selection may include areas away from the symptom site as well as local points."}),e.jsx(O,{})]})]}),e.jsx("section",{className:"bg-cream py-16 md:py-24",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-6",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 font-mono text-[11px] uppercase tracking-[0.3em] text-terracotta",children:"03 · An honest, evidence-informed practice"}),e.jsxs("h2",{"data-reveal":!0,className:"mb-4 max-w-2xl font-serif text-4xl leading-tight text-moss md:text-5xl",children:["A collaborative, ",e.jsx("span",{className:"italic text-terracotta",children:"clinical focus."})]}),e.jsx("p",{"data-reveal":!0,className:"mb-14 max-w-xl font-body font-light leading-relaxed text-charcoal/65",children:"We review current research when discussing options, limitations and whether acupuncture may be appropriate for an individual patient."}),e.jsx("dl",{className:"grid gap-x-12 gap-y-10 sm:grid-cols-2 lg:grid-cols-3",children:q.map(s=>e.jsxs("div",{"data-reveal":!0,className:"border-t border-moss/15 pt-5",children:[e.jsx("dt",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-terracotta",children:s.label}),e.jsx("dd",{className:"mt-4 font-body leading-relaxed text-charcoal/75",children:s.body})]},s.label))}),e.jsx("p",{"data-reveal":!0,className:"mt-14 max-w-3xl border-l-2 border-sage/50 pl-6 font-body text-sm leading-relaxed text-charcoal/60",children:"Our practitioners are registered with the Chinese Medicine Board of Australia. Individual qualifications and registration details are available on our team page and the Ahpra public register."})]})}),e.jsx("section",{className:"bg-warm-white py-16 md:py-24",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-6",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 font-mono text-[11px] uppercase tracking-[0.3em] text-terracotta",children:"04 · Understanding your options"}),e.jsxs("h2",{"data-reveal":!0,className:"mb-4 max-w-3xl font-serif text-4xl leading-tight text-moss md:text-5xl",children:["Acupuncture vs. ",e.jsx("span",{className:"italic text-terracotta",children:"dry needling."})]}),e.jsx("p",{"data-reveal":!0,className:"mb-12 max-w-xl font-body font-light leading-relaxed text-charcoal/65",children:'Both use fine needles, but they are different tools with different scopes. Neither is "better". Here is a factual comparison to help inform a discussion 
124with your treating practitioner.'}),e.jsx("div",{"data-reveal":!0,className:"grid gap-4 md:hidden",children:T.map(s=>e.jsxs("article",{className:"rounded-2xl border border-moss/10 bg-white p-5",children:[e.jsx("h3",{className:"font-mono text-[10px] uppercase tracking-widest text-terracotta mb-4",children:s.label}),e.jsxs("dl",{className:"grid gap-4",children:[e.jsxs("div",{children:[e.jsx("dt",{className:"font-sans text-sm font-semibold text-moss",children:"Clinical acupuncture"}),e.jsx("dd",{className:"mt-1 font-body text-sm leading-relaxed text-charcoal/65",children:s.us})]}),e.jsxs("div",{className:"border-t border-moss/10 pt-4",children:[e.jsx("dt",{className:"font-sans text-sm font-semibold text-charcoal/60",children:"Dry needling"}),e.jsx("dd",{className:"mt-1 font-body text-sm leading-relaxed text-charcoal/55",children:s.them})]})]})]},s.label))}),e.jsx("div",{"data-reveal":!0,className:"hidden md:block overflow-x-auto",children:e.jsxs("div",{className:"min-w-[42rem] overflow-hidden rounded-[2rem] border border-moss/10",children:[e.jsxs("div",{className:"grid grid-cols-[8rem_1.2fr_1.2fr] bg-moss px-6 py-5 md:grid-cols-[10rem_1.2fr_1.2fr] md:px-10",children:[e.jsx("span",{}),e.jsx("span",{className:"pr-4 font-mono text-[10px] uppercase tracking-widest text-sage md:text-xs",children:"Clinical acupuncture"}),e.jsx("span",{className:"pl-4 font-mono text-[10px] uppercase tracking-widest text-cream/50 md:text-xs",children:"Dry needling"})]}),e.jsxs("div",{className:"grid grid-cols-[8rem_1.2fr_1.2fr] items-start bg-white px-6 py-5 md:grid-cols-[10rem_1.2fr_1.2fr] md:px-10 md:py-6",children:[e.jsx("span",{}),e.jsx("span",{className:"pr-4 font-sans text-base font-semibold leading-snug text-moss md:text-lg",children:"A whole-body care framework"}),e.jsx("span",{className:"pl-4 font-sans text-base font-semibold leading-snug text-charcoal/50 md:text-lg",children:"A local trigger point focus"})]}),T.map((s,r)=>e.jsxs("div",{className:`grid grid-cols-[8rem_1.2fr_1.2fr] items-start px-6 py-5 md:grid-cols-[10rem_1.2fr_1.2fr] md:px-10 md:py-6 ${r%2?"bg-white":"bg-warm-white"}`,children:[e.jsx("span",{className:"pr-3 font-mono text-[10px] uppercase leading-relaxed tracking-wider text-charcoal/45 md:text-[11px]",children:s.label}),e.jsx("span",{className:"pr-4 font-body text-sm font-medium leading-relaxed text-moss md:text-[15px]",children:s.us}),e.jsx("span",{className:"pl-4 font-body text-sm font-light leading-relaxed text-charcoal/55 md:text-[15px]",children:s.them})]},s.label))]})})]})}),e.jsx("section",{className:"bg-cream py-16 md:py-24",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-6",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 font-mono text-[11px] uppercase tracking-[0.3em] text-terracotta",children:"05 · Your first visit"}),e.jsxs("h2",{"data-reveal":!0,className:"mb-14 max-w-2xl font-serif text-4xl leading-tight [text-wrap:balance] text-moss md:text-5xl",children:["Ninety minutes, ",e.jsx("span",{className:"italic text-terracotta",children:"start to finish."})]}),e.jsxs("div",{className:"grid gap-12 lg:grid-cols-[1fr_1.2fr] lg:gap-16",children:[e.jsx("div",{className:"relative hidden lg:block",children:e.jsx("div",{className:"sticky top-32 overflow-hidden rounded-[2.5rem]",children:e.jsx("img",{src:"/images/pain-treatment-room.webp",srcSet:w("/images/pain-treatment-room.webp",[640,960,1280,1600]),sizes:"(min-width: 1024px) 40vw, 100vw",width:"1600",height:"2000",alt:"The Rozelle clinic treatment room with a prepared treatment table, folded towels, and soft daylight through venetian blinds",loading:"lazy",decoding:"async",className:"aspect-[4/5] w-full object-cover"})})}),e.jsxs("div",{children:[e.jsx("ol",{children:z.map((s,r)=>e.jsxs("li",{"data-reveal":!0,className:"grid grid-cols-[3.5rem_1fr] gap-6 border-t border-moss/15 py-7 md:grid-cols-[4.5rem_1fr]",children:[e.jsx("span",{className:"font-serif italic text-4xl leading-none text-terracotta/70 md:text-5xl",children:String(r+1).padStart(2,"0")}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-sans text-lg font-semibold text-moss",children:s.title}),e.jsx("p",{className:"mt-2 max-w-xl font-body leading-relaxed text-charcoal/70",children:s.desc})]})]},s.title))}),e.jsxs("div",{"data-reveal":!0,className:"mt-10 rounded-3xl border border-moss/10 bg-warm-white px-8 py-8",children:[e.jsxs("div",{className:"flex flex-wrap items-end gap-x-10 gap-y-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-mono text-[10px] uppercase tracking-widest text-charcoal/45",children:"Initial consultation"}),e.jsxs("p",{className:"mt-1 font-serif text-5xl text-moss",children:["$170",e.
124jsx("span",{className:"font-mono text-xs uppercase tracking-widest text-charcoal/45",children:" / ~90 min"})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-mono text-[10px] uppercase tracking-widest text-charcoal/45",children:"Follow-up"}),e.jsx("p",{className:"mt-1 font-serif text-5xl text-moss",children:"$100"})]})]}),e.jsxs("p",{className:"mt-5 font-body text-sm text-charcoal/60",children:["On-site HICAPS claiming is available where your policy includes acupuncture. Rebates and annual limits vary by insurer and level of cover."," ",e.jsx(i,{to:"/appointments",className:"text-terracotta hover:underline",children:"See appointments & fees"}),"."]}),e.jsx("div",{className:"mt-6",children:e.jsx(i,{to:"/book",className:"btn-primary",children:"Book an Appointment"})})]})]})]})]})}),e.jsx("section",{className:"bg-warm-white py-16 md:py-24",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-6",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 font-mono text-[11px] uppercase tracking-[0.3em] text-terracotta",children:"06 · What we work with"}),e.jsxs("h2",{"data-reveal":!0,className:"mb-4 max-w-2xl font-serif text-4xl leading-tight text-moss md:text-5xl",children:["One clinic, ",e.jsx("span",{className:"italic text-terracotta",children:"many tools."})]}),e.jsx("p",{"data-reveal":!0,className:"mb-10 max-w-xl font-body font-light leading-relaxed text-charcoal/65",children:"Acupuncture is the core of what we do. Other modalities may be considered following individual assessment where clinically appropriate."}),e.jsx("div",{"data-reveal":!0,className:"flex flex-wrap gap-2.5",children:G.map(s=>e.jsx(i,{to:`/treatments/${s.slug}`,className:"rounded-full border border-moss/15 bg-white px-5 py-2.5 font-body text-sm font-medium text-moss transition-colors duration-300 hover:border-terracotta/50 hover:bg-cream hover:text-terracotta",children:s.name},s.slug))}),e.jsx("div",{className:"mt-16 grid gap-x-12 gap-y-12 sm:grid-cols-2",children:H.map(s=>e.jsxs("div",{"data-reveal":!0,children:[e.jsx("h3",{className:"border-b border-moss/15 pb-3 font-mono text-[10px] uppercase tracking-[0.18em] text-terracotta",children:s.title}),e.jsx("ul",{className:"mt-1",children:s.items.map(r=>e.jsx("li",{children:e.jsxs(i,{to:`/treatments/${r.slug}`,className:"group flex items-center justify-between gap-4 border-b border-moss/8 py-3 transition-colors hover:border-terracotta/40",children:[e.jsx("span",{className:"font-body text-[15px] text-moss transition-colors group-hover:text-terracotta",children:r.name}),e.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.16em] text-terracotta opacity-0 transition-opacity group-hover:opacity-100",children:"→"})]})},r.slug))})]},s.title))})]})}),e.jsx("section",{className:"bg-cream py-16 md:py-24",children:e.jsx("div",{className:"mx-auto max-w-6xl px-6",children:e.jsxs("div",{"data-reveal":!0,className:"grid overflow-hidden rounded-[2.5rem] bg-moss-deep lg:grid-cols-[1.1fr_1fr]",children:[e.jsxs("div",{className:"relative h-60 w-full sm:h-72 lg:h-auto lg:min-h-[24rem]",children:[e.jsx("img",{src:"/images/rozelle-frontage.webp",srcSet:w("/images/rozelle-frontage.webp"),sizes:"(min-width: 1024px) 55vw, 100vw",width:"1920",height:"1280",alt:"The Rozelle Acupuncture and Chinese Medicine Centre shopfront sign on Darling Street, reading Celebrating 25 Years",loading:"lazy",decoding:"async",className:"absolute inset-0 h-full w-full object-cover"}),e.jsx("div",{"aria-hidden":"true",className:"absolute inset-0 bg-gradient-to-t from-moss-deep/60 via-trans
124parent to-transparent lg:bg-gradient-to-r lg:from-transparent lg:to-moss-deep/70"})]}),e.jsxs("div",{className:"px-8 py-10 md:px-12 md:py-14",children:[e.jsx("p",{className:"font-mono text-[10px] uppercase tracking-[0.24em] text-sage",children:"Est. 1988 in the inner west"}),e.jsx("p",{className:"mt-6 font-serif text-2xl leading-[1.45] text-cream",children:"Rozelle Acupuncture has served the inner west since 1988. Our practitioners are registered with the Chinese Medicine Board of Australia. We see patients presenting with pain and musculoskeletal concerns and can work alongside GPs, physiotherapists and osteopaths."}),e.jsx(i,{to:"/team",className:"mt-8 inline-block font-mono text-xs uppercase tracking-widest text-terracotta transition-colors hover:text-cream",children:"Read about our team →"})]})]})})}),e.jsx("section",{className:"bg-cream pb-16 md:pb-24",children:e.jsxs("div",{className:"mx-auto max-w-3xl px-6",children:[e.jsx("p",{"data-reveal":!0,className:"mb-4 text-center font-mono text-[11px] uppercase tracking-[0.3em] text-terracotta",children:"07 · Before you ask"}),e.jsxs("h2",{"data-reveal":!0,className:"mb-12 text-center font-serif text-4xl [text-wrap:balance] text-moss md:text-5xl",children:["Straight answers, ",e.jsx("span",{className:"italic text-terracotta",children:"before you book."})]}),e.jsx("div",{"data-reveal":!0,children:e.jsx(B,{items:P,idPrefix:"pain-wellness-faq"})}),e.jsxs("p",{"data-reveal":!0,className:"mt-10 text-center font-body text-sm text-charcoal/60",children:["More questions? Visit our full"," ",e.jsx(i,{to:"/faq",className:"text-terracotta hover:underline",children:"FAQ page"})," or"," ",e.jsx(i,{to:"/contact",className:"text-terracotta hover:underline",children:"contact the clinic"}),"."]})]})}),e.jsx("section",{className:"bg-cream px-4 pb-20 md:px-6",children:e.jsxs("div",{className:"relative mx-auto max-w-7xl overflow-hidden rounded-[2.5rem] bg-moss-deep md:rounded-[4rem]",children:[e.jsx("div",{className:"absolute inset-0 opacity-90",children:e.jsx(S,{})}),e.jsxs("div",{className:"relative z-10 flex flex-col items-center px-6 py-20 text-center md:py-28",children:[e.jsx("p",{"data-reveal":!0,className:"mb-6 font-mono text-[11px] uppercase tracking-[0.3em] text-sage",children:"Rozelle · Sydney's Inner West"}),e.jsxs("h2",{"data-reveal":!0,className:"max-w-3xl font-serif text-4xl leading-tight text-cream md:text-6xl",children:["Start with ",e.jsx("span",{className:"italic text-sage",children:"a conversation."})]}),e.jsx("p",{"data-reveal":!0,className:"mt-6 max-w-md font-body font-light leading-relaxed text-cream/70",children:"Tell us what's been going on. You'll get an honest recommendation at your first visit, and never a hard sell."}),e.jsxs("div",{"data-reveal":!0,className:"mt-10 flex flex-col items-center gap-4 sm:flex-row",children:[e.jsx(i,{to:"/book",className:"btn-primary",children:"Book an Appointment"}),e.jsx("a",{href:"tel:0499911552",className:"btn-secondary-inverted",children:"Call 0499 911 552"})]}),e.jsxs("ul",{"data-reveal":!0,className:"mt-12 flex flex-wrap justify-center gap-x-8 gap-y-2 border-t border-cream/10 pt-6 font-mono text-[10px] uppercase tracking-[0.2em] text-cream/45",children:[e.jsx("li",{children:"698 Darling St, Rozelle NSW 2039"}),e.jsx("li",{children:"Tue-Fri 9am-6:30pm · Sat 9am-4pm"}),e.jsx("li",{children:"HICAPS available for eligible policies"})]})]})]})})]})}export{X as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.