feat: enable smooth scroll to sections with fixed header

Automatically scroll to sections with smooth animation.

#VERCEL_SKIP

Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
This commit is contained in:
v0 2025-10-22 21:06:00 +00:00
parent 76dbb4e7b1
commit 1c99ab7ca2
11 changed files with 885 additions and 811 deletions

222
app/about/AboutClient.tsx Normal file
View File

@ -0,0 +1,222 @@
"use client"
import Image from "next/image"
import Link from "next/link"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import { useEffect } from "react"
export default function AboutClient() {
useEffect(() => {
window.scrollTo(0, 0)
}, [])
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<span className="badge">About Dahlia</span>
<h1>Dahlia B. Steinberg, RMT</h1>
<p className="hero-subtitle">Founder and Owner of Ebb&apos;nFlow Therapeutics</p>
<p className="hero-description">
A lifelong interest in movement and the healing arts is the foundation of her practice as a massage
therapist, laser therapist, and movement educator.
</p>
</div>
</section>
{/* Bio Section */}
<section className="content-section">
<div className="container">
<div className="two-col-grid">
<div className="content-text">
<h2>Professional Background</h2>
<p>
Dahlia&apos;s personal and professional experience with a wide range of bodywork practices including
yoga, pilates, somatic movement and modern dance spans 30 years and informs her unique style and
approach to her clinical practice of massage therapy.
</p>
<p>
She is registered with the College of Massage Therapists of Ontario (CMTO), which is the provincial
regulatory body that protects the public interest by monitoring the ongoing professional development and
ethical standards of RMTs.
</p>
<div className="info-card">
<h3>Practice Evolution</h3>
<div className="timeline">
<p>
<strong>2013:</strong> Started Ebb&apos;nflow Massage, working with Dr. Enrico Schirru at Absolute
Chiropractic
</p>
<p>
<strong>2013-2017:</strong> Worked at Paisley Spa and John Chan Physiotherapy Clinic
</p>
<p>
<strong>2015:</strong> Established first home-based clinic on Ontario Street
</p>
<p>
<strong>2017:</strong> Moved to home location on Woodbine Ave., working solely for herself
</p>
<p>
<strong>2025:</strong> Relocated to downtown St. Catharines, rebranded to Ebb&apos;nFlow
Therapeutics
</p>
</div>
</div>
</div>
<div className="content-image">
<Image
src="/images/dahlia-portrait.jpg"
alt="Dahlia B. Steinberg, RMT - Founder of Ebb'nFlow Therapeutics"
width={500}
height={600}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
</div>
</div>
</div>
</section>
{/* Education Section */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">Education & Training</h2>
<div className="education-grid">
<div className="education-card">
<h3>Formal Education</h3>
<div className="education-list">
<p>
<strong>2021:</strong> Meditech International Inc. Bioflex Laser Therapy Certification
</p>
<p>
<strong>2012:</strong> Graduate, Massage Therapy Program, Ontario College of Health and Technology
</p>
<p>
<strong>2009:</strong> Pilates Teacher Training, STOTT Toronto (Beginner to Advanced Matwork)
</p>
<p>
<strong>2003-05:</strong> Yoga Teacher Training, Yogaspace Toronto (200 hr diploma + Advanced Teacher
Training)
</p>
<p>
<strong>1998:</strong> School of Toronto Dance Theatre&apos;s Professional Training Program
</p>
</div>
</div>
<div className="education-card">
<h3>Continuing Education</h3>
<ul className="bullet-list">
<li>Myofascial therapy/structural integration</li>
<li>Biodynamic craniosacral therapy</li>
<li>Osteopathic techniques for RMTs</li>
<li>Advanced sacro-lumbar and thoracic spine assessments and joint mobilization</li>
<li>Axis Syllabus - evolving theory and practice of dynamic human movement</li>
</ul>
</div>
<div className="education-card highlight-card">
<h3>Recognition & Support</h3>
<p>Massage Therapy is Dahlia&apos;s second career, supported by:</p>
<ul className="bullet-list">
<li>Training and subsistence grant from the Dancer&apos;s Transition and Resource Centre (2010)</li>
<li>
Special second year award for academic excellence (Dancer&apos;s Transition and Resource Centre, 2011)
</li>
</ul>
</div>
</div>
</div>
</section>
{/* Teaching Section */}
<section className="content-section">
<div className="container">
<div className="centered-content">
<h2>Teaching & Mentorship</h2>
<p>
Dahlia now also works once a week as a supervisor and teacher in the student massage therapy clinic, which
is open to the public at the Ontario College of Health and Technology in Stoney Creek. This role helps to
keep her engaged and informed in her current practice while inspiring her to encourage and mentor the next
generation of massage therapists.
</p>
</div>
</div>
</section>
{/* Meet Olivia Section */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">Meet Olivia</h2>
<div className="two-col-grid reverse">
<div className="content-image">
<Image
src="/images/olivia-cat.png"
alt="Olivia, the friendly clinic cat at Ebb'nFlow Therapeutics"
width={500}
height={400}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
</div>
<div className="content-text">
<div className="info-card">
<p>
No visit to Ebb&apos;nFlow Therapeutics would be complete without meeting Olivia, our gentle and
affectionate clinic companion. This sweet tabby girl has a calming presence that perfectly complements
the therapeutic atmosphere of our space.
</p>
<p>
Olivia enjoys greeting clients with soft purrs and will often curl up nearby during sessions, adding
an extra layer of comfort and relaxation to your experience. Her friendly demeanor and peaceful energy
make her a beloved part of the Ebb&apos;nFlow family.
</p>
<p className="italic">
Please let us know if you have any allergies or prefer a cat-free sessionwe&apos;re happy to
accommodate all our clients&apos; needs!
</p>
</div>
</div>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Experience Dahlia&apos;s Unique Approach</h2>
<p>Combining 30 years of movement expertise with clinical massage therapy excellence.</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<Link href="/what-to-expect" className="btn btn-primary">
What to Expect
</Link>
</div>
<div className="rmt-badge">
<Image
src="/images/rmt-certification.png"
alt="Registered Massage Therapist - Professional Hands You Can Trust"
width={200}
height={100}
style={{ maxWidth: "200px", height: "auto" }}
/>
</div>
</div>
</section>
<Footer />
</>
)
}

View File

@ -1,7 +1,4 @@
import Image from "next/image"
import Link from "next/link"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import AboutClient from "./AboutClient"
export const metadata = {
title: "About Dahlia B. Steinberg, RMT - Ebb'nFlow Therapeutics",
@ -9,213 +6,6 @@ export const metadata = {
"Meet Dahlia B. Steinberg, RMT - Founder of Ebb'nFlow Therapeutics. A lifelong interest in movement and healing arts.",
}
export default function About() {
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<span className="badge">About Dahlia</span>
<h1>Dahlia B. Steinberg, RMT</h1>
<p className="hero-subtitle">Founder and Owner of Ebb&apos;nFlow Therapeutics</p>
<p className="hero-description">
A lifelong interest in movement and the healing arts is the foundation of her practice as a massage
therapist, laser therapist, and movement educator.
</p>
</div>
</section>
{/* Bio Section */}
<section className="content-section">
<div className="container">
<div className="two-col-grid">
<div className="content-text">
<h2>Professional Background</h2>
<p>
Dahlia&apos;s personal and professional experience with a wide range of bodywork practices including
yoga, pilates, somatic movement and modern dance spans 30 years and informs her unique style and
approach to her clinical practice of massage therapy.
</p>
<p>
She is registered with the College of Massage Therapists of Ontario (CMTO), which is the provincial
regulatory body that protects the public interest by monitoring the ongoing professional development and
ethical standards of RMTs.
</p>
<div className="info-card">
<h3>Practice Evolution</h3>
<div className="timeline">
<p>
<strong>2013:</strong> Started Ebb&apos;nflow Massage, working with Dr. Enrico Schirru at Absolute
Chiropractic
</p>
<p>
<strong>2013-2017:</strong> Worked at Paisley Spa and John Chan Physiotherapy Clinic
</p>
<p>
<strong>2015:</strong> Established first home-based clinic on Ontario Street
</p>
<p>
<strong>2017:</strong> Moved to home location on Woodbine Ave., working solely for herself
</p>
<p>
<strong>2025:</strong> Relocated to downtown St. Catharines, rebranded to Ebb&apos;nFlow
Therapeutics
</p>
</div>
</div>
</div>
<div className="content-image">
<Image
src="/images/dahlia-portrait.jpg"
alt="Dahlia B. Steinberg, RMT - Founder of Ebb'nFlow Therapeutics"
width={500}
height={600}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
</div>
</div>
</div>
</section>
{/* Education Section */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">Education & Training</h2>
<div className="education-grid">
<div className="education-card">
<h3>Formal Education</h3>
<div className="education-list">
<p>
<strong>2021:</strong> Meditech International Inc. Bioflex Laser Therapy Certification
</p>
<p>
<strong>2012:</strong> Graduate, Massage Therapy Program, Ontario College of Health and Technology
</p>
<p>
<strong>2009:</strong> Pilates Teacher Training, STOTT Toronto (Beginner to Advanced Matwork)
</p>
<p>
<strong>2003-05:</strong> Yoga Teacher Training, Yogaspace Toronto (200 hr diploma + Advanced Teacher
Training)
</p>
<p>
<strong>1998:</strong> School of Toronto Dance Theatre&apos;s Professional Training Program
</p>
</div>
</div>
<div className="education-card">
<h3>Continuing Education</h3>
<ul className="bullet-list">
<li>Myofascial therapy/structural integration</li>
<li>Biodynamic craniosacral therapy</li>
<li>Osteopathic techniques for RMTs</li>
<li>Advanced sacro-lumbar and thoracic spine assessments and joint mobilization</li>
<li>Axis Syllabus - evolving theory and practice of dynamic human movement</li>
</ul>
</div>
<div className="education-card highlight-card">
<h3>Recognition & Support</h3>
<p>Massage Therapy is Dahlia&apos;s second career, supported by:</p>
<ul className="bullet-list">
<li>Training and subsistence grant from the Dancer&apos;s Transition and Resource Centre (2010)</li>
<li>
Special second year award for academic excellence (Dancer&apos;s Transition and Resource Centre, 2011)
</li>
</ul>
</div>
</div>
</div>
</section>
{/* Teaching Section */}
<section className="content-section">
<div className="container">
<div className="centered-content">
<h2>Teaching & Mentorship</h2>
<p>
Dahlia now also works once a week as a supervisor and teacher in the student massage therapy clinic, which
is open to the public at the Ontario College of Health and Technology in Stoney Creek. This role helps to
keep her engaged and informed in her current practice while inspiring her to encourage and mentor the next
generation of massage therapists.
</p>
</div>
</div>
</section>
{/* Meet Olivia Section */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">Meet Olivia</h2>
<div className="two-col-grid reverse">
<div className="content-image">
<Image
src="/images/olivia-cat.png"
alt="Olivia, the friendly clinic cat at Ebb'nFlow Therapeutics"
width={500}
height={400}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
</div>
<div className="content-text">
<div className="info-card">
<p>
No visit to Ebb&apos;nFlow Therapeutics would be complete without meeting Olivia, our gentle and
affectionate clinic companion. This sweet tabby girl has a calming presence that perfectly complements
the therapeutic atmosphere of our space.
</p>
<p>
Olivia enjoys greeting clients with soft purrs and will often curl up nearby during sessions, adding
an extra layer of comfort and relaxation to your experience. Her friendly demeanor and peaceful energy
make her a beloved part of the Ebb&apos;nFlow family.
</p>
<p className="italic">
Please let us know if you have any allergies or prefer a cat-free sessionwe&apos;re happy to
accommodate all our clients&apos; needs!
</p>
</div>
</div>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Experience Dahlia&apos;s Unique Approach</h2>
<p>Combining 30 years of movement expertise with clinical massage therapy excellence.</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<Link href="/what-to-expect" className="btn btn-primary">
What to Expect
</Link>
</div>
<div className="rmt-badge">
<Image
src="/images/rmt-certification.png"
alt="Registered Massage Therapist - Professional Hands You Can Trust"
width={200}
height={100}
style={{ maxWidth: "200px", height: "auto" }}
/>
</div>
</div>
</section>
<Footer />
</>
)
export default function AboutPage() {
return <AboutClient />
}

View File

@ -33,13 +33,13 @@ export default function Footer() {
<h4>Services</h4>
<ul>
<li>
<a href="#services">Massage Therapy</a>
<a href="/#services">Massage Therapy</a>
</li>
<li>
<a href="#services">Laser Therapy</a>
<a href="/#services">Laser Therapy</a>
</li>
<li>
<a href="#services">Movement Therapy</a>
<a href="/#services">Movement Therapy</a>
</li>
<li>
<Link href="/contact">Consultation</Link>
@ -54,7 +54,7 @@ export default function Footer() {
<Link href="/about">About</Link>
</li>
<li>
<a href="#prices">Prices</a>
<a href="/#prices">Prices</a>
</li>
<li>
<Link href="/contact">Contact</Link>

View File

@ -29,12 +29,12 @@ export default function Navigation() {
<ul className={`nav-links ${isOpen ? "active" : ""}`} id="navLinks">
<li>
<a href="#services" onClick={closeMenu}>
<a href="/#services" onClick={closeMenu}>
Services
</a>
</li>
<li>
<a href="#prices" onClick={closeMenu}>
<a href="/#prices" onClick={closeMenu}>
Prices
</a>
</li>

View File

@ -0,0 +1,182 @@
"use client"
import Image from "next/image"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import { useEffect } from "react"
export default function ContactClient() {
useEffect(() => {
window.scrollTo(0, 0)
}, [])
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<span className="badge">Get in Touch</span>
<h1>Contact Us</h1>
<p className="hero-subtitle">&quot;A place to unwind, a place to heal, a place to grow&quot;</p>
<p className="hero-description">
Ready to experience boutique wellness? Let&apos;s chat about creating your personalized sanctuary for
healing and self-care.
</p>
</div>
</section>
{/* Clinic Images */}
<section className="clinic-images">
<div className="container">
<div className="image-grid">
<div className="image-card">
<Image
src="/images/clinic-exterior.jpg"
alt="Ebb'nFlow Therapeutics clinic exterior"
width={500}
height={250}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Our Welcoming Exterior</div>
</div>
<div className="image-card">
<Image
src="/images/yellow-door.jpg"
alt="Distinctive yellow entrance door"
width={500}
height={250}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Find Our Yellow Door</div>
</div>
</div>
</div>
</section>
{/* Contact Section */}
<section className="contact-section">
<div className="container">
<div className="contact-grid-simple">
{/* Email Us Card */}
<div className="email-card">
<div className="icon-header-large">
<span className="large-icon"></span>
<h2>Email Us</h2>
</div>
<p className="email-description">
Have questions or want to book an appointment? Send us an email and we&apos;ll get back to you within 24
hours.
</p>
<a href="mailto:info@ebbnflowtherapeutics.com" className="email-link">
info@ebbnflowtherapeutics.com
</a>
</div>
{/* Contact Info */}
<div className="contact-info-wrapper">
<div className="info-card">
<h3>Visit Our Clinic</h3>
<div className="contact-item">
<span className="icon">📍</span>
<div>
<p className="item-title">Address</p>
<p>
59 Wellington Street
<br />
St. Catharines, ON L2R 5P9
</p>
</div>
</div>
<div className="contact-item">
<span className="icon">📞</span>
<div>
<p className="item-title">Phone</p>
<p>
<a href="tel:2899693219" className="phone-link">
(289) 969-3219
</a>
</p>
</div>
</div>
<div className="contact-item">
<span className="icon"></span>
<div>
<p className="item-title">Email</p>
<p>
<a href="mailto:info@ebbnflowtherapeutics.com" className="email-link-small">
info@ebbnflowtherapeutics.com
</a>
</p>
</div>
</div>
</div>
<div className="info-card">
<h3>Office Hours</h3>
<div className="hours-list">
<div className="hours-item">
<span>Monday - Thursday</span>
<span>9:00 AM - 7:00 PM</span>
</div>
<div className="hours-item">
<span>Friday</span>
<span>9:00 AM - 5:00 PM</span>
</div>
<div className="hours-item">
<span>Saturday</span>
<span>10:00 AM - 4:00 PM</span>
</div>
<div className="hours-item">
<span>Sunday</span>
<span>Closed</span>
</div>
</div>
</div>
<div className="info-card emergency">
<div className="contact-item">
<span className="icon"></span>
<div>
<p className="item-title">Emergency Contact</p>
<p className="small">
For urgent matters outside of business hours, please call our emergency line at (289) 969-3220 or
visit your nearest emergency room.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Ready for Your Personal Wellness Experience?</h2>
<p>
Book your private session in our cozy, boutique space. Experience what it means to have dedicated time and
space just for your wellness journey.
</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<a href="tel:2899693219" className="btn btn-primary">
Call for Personal Consultation
</a>
</div>
</div>
</section>
<Footer />
</>
)
}

View File

@ -1,6 +1,4 @@
import Image from "next/image"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import ContactClient from "./contactClient"
export const metadata = {
title: "Contact Us - Ebb'nFlow Therapeutics",
@ -8,174 +6,6 @@ export const metadata = {
"Get in touch with Ebb'nFlow Therapeutics. Visit us in downtown St. Catharines or book your appointment online.",
}
export default function Contact() {
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<span className="badge">Get in Touch</span>
<h1>Contact Us</h1>
<p className="hero-subtitle">&quot;A place to unwind, a place to heal, a place to grow&quot;</p>
<p className="hero-description">
Ready to experience boutique wellness? Let&apos;s chat about creating your personalized sanctuary for
healing and self-care.
</p>
</div>
</section>
{/* Clinic Images */}
<section className="clinic-images">
<div className="container">
<div className="image-grid">
<div className="image-card">
<Image
src="/images/clinic-exterior.jpg"
alt="Ebb'nFlow Therapeutics clinic exterior"
width={500}
height={250}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Our Welcoming Exterior</div>
</div>
<div className="image-card">
<Image
src="/images/yellow-door.jpg"
alt="Distinctive yellow entrance door"
width={500}
height={250}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Find Our Yellow Door</div>
</div>
</div>
</div>
</section>
{/* Contact Section */}
<section className="contact-section">
<div className="container">
<div className="contact-grid-simple">
{/* Email Us Card */}
<div className="email-card">
<div className="icon-header-large">
<span className="large-icon"></span>
<h2>Email Us</h2>
</div>
<p className="email-description">
Have questions or want to book an appointment? Send us an email and we&apos;ll get back to you within 24
hours.
</p>
<a href="mailto:info@ebbnflowtherapeutics.com" className="email-link">
info@ebbnflowtherapeutics.com
</a>
</div>
{/* Contact Info */}
<div className="contact-info-wrapper">
<div className="info-card">
<h3>Visit Our Clinic</h3>
<div className="contact-item">
<span className="icon">📍</span>
<div>
<p className="item-title">Address</p>
<p>
59 Wellington Street
<br />
St. Catharines, ON L2R 5P9
</p>
</div>
</div>
<div className="contact-item">
<span className="icon">📞</span>
<div>
<p className="item-title">Phone</p>
<p>
<a href="tel:2899693219" className="phone-link">
(289) 969-3219
</a>
</p>
</div>
</div>
<div className="contact-item">
<span className="icon"></span>
<div>
<p className="item-title">Email</p>
<p>
<a href="mailto:info@ebbnflowtherapeutics.com" className="email-link-small">
info@ebbnflowtherapeutics.com
</a>
</p>
</div>
</div>
</div>
<div className="info-card">
<h3>Office Hours</h3>
<div className="hours-list">
<div className="hours-item">
<span>Monday - Thursday</span>
<span>9:00 AM - 7:00 PM</span>
</div>
<div className="hours-item">
<span>Friday</span>
<span>9:00 AM - 5:00 PM</span>
</div>
<div className="hours-item">
<span>Saturday</span>
<span>10:00 AM - 4:00 PM</span>
</div>
<div className="hours-item">
<span>Sunday</span>
<span>Closed</span>
</div>
</div>
</div>
<div className="info-card emergency">
<div className="contact-item">
<span className="icon"></span>
<div>
<p className="item-title">Emergency Contact</p>
<p className="small">
For urgent matters outside of business hours, please call our emergency line at (289) 969-3220 or
visit your nearest emergency room.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Ready for Your Personal Wellness Experience?</h2>
<p>
Book your private session in our cozy, boutique space. Experience what it means to have dedicated time and
space just for your wellness journey.
</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<a href="tel:2899693219" className="btn btn-primary">
Call for Personal Consultation
</a>
</div>
</div>
</section>
<Footer />
</>
)
export default function ContactPage() {
return <ContactClient />
}

View File

@ -0,0 +1,213 @@
"use client"
import { useEffect } from "react"
import Image from "next/image"
import Link from "next/link"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
export default function MovementWorkshopsClient() {
useEffect(() => {
window.scrollTo(0, 0)
}, [])
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<h1 style={{ fontSize: "3.5rem", marginBottom: "1rem" }}>Movement & Mobility</h1>
<span className="badge">Movement Education</span>
<p className="hero-description">
Free form/improvisational movement and mobility training as a form of personal and artistic expression and
wellness is what ultimately drives Dahlia to continue to learn about our amazing bodies and how we can all
move more gracefully as we age.
</p>
</div>
</section>
{/* Movement Options */}
<section className="content-section">
<div className="container">
<h2 className="section-title">Movement Education Options</h2>
<div className="info-card large">
<p>
Remedial exercise aka &quot;Rem-Ex&quot; instruction involves teaching a few targeted strength, stretch or
mobility exercises that are aimed at furthering the benefits of massage therapy long term, which is an
intrinsic component of a comprehensive treatment.
</p>
<p>
Although this often comes highly recommended, not everyone is interested in learning a new exercise
immediately after having a massage. This makes a lot of sense, and yet Dahlia will still do her best to
encourage you, within reason.
</p>
<p>
<strong>That said, clients have a few options:</strong>
</p>
</div>
<div className="three-col-grid">
<div className="numbered-card">
<div className="number">1</div>
<h3>Personal Choice</h3>
<p>
Clients may request or deny remedial exercise instruction as part of treatment, based on their personal
goals.
</p>
</div>
<div className="numbered-card">
<div className="number">2</div>
<h3>Extended Sessions</h3>
<p>
Clients can request to allot up to 50% of their treatment time (15 to 45 minutes) for Rem-Ex instruction
before or after their massage.
</p>
</div>
<div className="numbered-card">
<div className="number">3</div>
<h3>Group Workshops</h3>
<p>
Clients can also sign up for upcoming movement workshops for a more comprehensive group learning
experience.
</p>
</div>
</div>
</div>
</section>
{/* Origin Story */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">The Ebb&apos;nFlow Origin Story</h2>
<div className="info-card large">
<p>
The original concept of Ebb&apos;nFlow Massage (now Ebb&apos;nFlow Therapeutics) was born out of
Dahlia&apos;s initial work as a yoga instructor, before she became a massage therapist. Dahlia taught
private, one-on-one sessions as well as classes around the GTA from 2004-2009.
</p>
<p>
She recognized the need to meet students where they were instead of insisting that they push through their
pain and fatigue similarly to the approach of a personal trainer. Some days they would arrive in a lot of
pain and would need a gentler approach such as more periods of rest or &quot;ebb&quot; between exercises
or hands on work such as massage at the end of their sessions.
</p>
<p>
Dahlia&apos;s natural talent for massage as a component of her sessions enabled students to show up more
consistently for practice instead of skipping practice out of concern that they would not be able to make
it through a session.
</p>
<p className="emphasis">
Since consistency is key to success, a more fluid and compassionate approach to teaching one-on-one was
born and clients were given permission to move as they needed through periods of &quot;ebb&quot; or
&quot;flow&quot; with grace and freedom from the need to over achieve.
</p>
</div>
</div>
</section>
{/* Workshops */}
<section className="content-section">
<div className="container">
<h2 className="section-title">Movement & Mobility Workshops</h2>
<div className="two-col-grid">
<div className="workshop-content">
<div className="info-card">
<div className="icon-header">
<span className="large-icon">💚</span>
<h3>Fun, Liberating & Educational</h3>
</div>
<p>
Dahlia&apos;s movement and mobility workshops are aimed towards adults and seniors and offer
opportunities to gain greater strength, flexibility, mobility and balance as well as to embrace the
discovery of one&apos;s own unique expression through movement and dance.
</p>
</div>
<div className="info-card highlight-card">
<h3>Workshop Benefits</h3>
<ul className="check-list">
<li>Greater strength and flexibility</li>
<li>Improved mobility and balance</li>
<li>Unique personal expression through movement</li>
<li>Discovery of dance and creative movement</li>
</ul>
</div>
</div>
<div className="content-image">
<Image
src="/images/dahlia-portrait.jpg"
alt="Dahlia Steinberg - Movement and wellness educator"
width={500}
height={600}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Dahlia - Your Movement Guide</div>
</div>
</div>
</div>
</section>
{/* Continuing the Dance */}
<section className="content-section bg-alt">
<div className="container">
<div className="centered-content">
<h2>Continuing the Dance</h2>
<p>
Free form/improvisational movement and mobility training as a form of personal and artistic expression and
wellness is what ultimately drives Dahlia to continue to learn about our amazing bodies and how we can all
move more gracefully as we age.
</p>
<p>
She continues to dance for her own enjoyment and can be found performing or choreographing for community
arts-based projects when opportunities arise.
</p>
<p>
<strong>
Dahlia is working towards offering more movement and mobility classes and workshops in the future so
please stay tuned for updates by checking the Movement section of this website.
</strong>
</p>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Ready to Move with More Freedom?</h2>
<p>
If long lasting improvement is your goal than you may want to consider how Dahlia&apos;s skills as a teacher
could benefit you through either one-on-one instruction sessions that can be combined with massage therapy
or group workshops.
</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<Link href="/contact" className="btn btn-primary">
Ask About Workshops
</Link>
</div>
</div>
</section>
<Footer />
</>
)
}

View File

@ -1,7 +1,4 @@
import Image from "next/image"
import Link from "next/link"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import MovementWorkshopsClient from "./page.client"
export const metadata = {
title: "Movement & Mobility Workshops - Ebb'nFlow Therapeutics",
@ -10,203 +7,5 @@ export const metadata = {
}
export default function MovementWorkshops() {
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<span className="badge">Movement Education</span>
<h1>Movement & Mobility</h1>
<p className="hero-description">
Free form/improvisational movement and mobility training as a form of personal and artistic expression and
wellness is what ultimately drives Dahlia to continue to learn about our amazing bodies and how we can all
move more gracefully as we age.
</p>
</div>
</section>
{/* Movement Options */}
<section className="content-section">
<div className="container">
<h2 className="section-title">Movement Education Options</h2>
<div className="info-card large">
<p>
Remedial exercise aka &quot;Rem-Ex&quot; instruction involves teaching a few targeted strength, stretch or
mobility exercises that are aimed at furthering the benefits of massage therapy long term, which is an
intrinsic component of a comprehensive treatment.
</p>
<p>
Although this often comes highly recommended, not everyone is interested in learning a new exercise
immediately after having a massage. This makes a lot of sense, and yet Dahlia will still do her best to
encourage you, within reason.
</p>
<p>
<strong>That said, clients have a few options:</strong>
</p>
</div>
<div className="three-col-grid">
<div className="numbered-card">
<div className="number">1</div>
<h3>Personal Choice</h3>
<p>
Clients may request or deny remedial exercise instruction as part of treatment, based on their personal
goals.
</p>
</div>
<div className="numbered-card">
<div className="number">2</div>
<h3>Extended Sessions</h3>
<p>
Clients can request to allot up to 50% of their treatment time (15 to 45 minutes) for Rem-Ex instruction
before or after their massage.
</p>
</div>
<div className="numbered-card">
<div className="number">3</div>
<h3>Group Workshops</h3>
<p>
Clients can also sign up for upcoming movement workshops for a more comprehensive group learning
experience.
</p>
</div>
</div>
</div>
</section>
{/* Origin Story */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">The Ebb&apos;nFlow Origin Story</h2>
<div className="info-card large">
<p>
The original concept of Ebb&apos;nFlow Massage (now Ebb&apos;nFlow Therapeutics) was born out of
Dahlia&apos;s initial work as a yoga instructor, before she became a massage therapist. Dahlia taught
private, one-on-one sessions as well as classes around the GTA from 2004-2009.
</p>
<p>
She recognized the need to meet students where they were instead of insisting that they push through their
pain and fatigue similarly to the approach of a personal trainer. Some days they would arrive in a lot of
pain and would need a gentler approach such as more periods of rest or &quot;ebb&quot; between exercises
or hands on work such as massage at the end of their sessions.
</p>
<p>
Dahlia&apos;s natural talent for massage as a component of her sessions enabled students to show up more
consistently for practice instead of skipping practice out of concern that they would not be able to make
it through a session.
</p>
<p className="emphasis">
Since consistency is key to success, a more fluid and compassionate approach to teaching one-on-one was
born and clients were given permission to move as they needed through periods of &quot;ebb&quot; or
&quot;flow&quot; with grace and freedom from the need to over achieve.
</p>
</div>
</div>
</section>
{/* Workshops */}
<section className="content-section">
<div className="container">
<h2 className="section-title">Movement & Mobility Workshops</h2>
<div className="two-col-grid">
<div className="workshop-content">
<div className="info-card">
<div className="icon-header">
<span className="large-icon">💚</span>
<h3>Fun, Liberating & Educational</h3>
</div>
<p>
Dahlia&apos;s movement and mobility workshops are aimed towards adults and seniors and offer
opportunities to gain greater strength, flexibility, mobility and balance as well as to embrace the
discovery of one&apos;s own unique expression through movement and dance.
</p>
</div>
<div className="info-card highlight-card">
<h3>Workshop Benefits</h3>
<ul className="check-list">
<li>Greater strength and flexibility</li>
<li>Improved mobility and balance</li>
<li>Unique personal expression through movement</li>
<li>Discovery of dance and creative movement</li>
</ul>
</div>
</div>
<div className="content-image">
<Image
src="/images/dahlia-portrait.jpg"
alt="Dahlia Steinberg - Movement and wellness educator"
width={500}
height={600}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Dahlia - Your Movement Guide</div>
</div>
</div>
</div>
</section>
{/* Continuing the Dance */}
<section className="content-section bg-alt">
<div className="container">
<div className="centered-content">
<h2>Continuing the Dance</h2>
<p>
Free form/improvisational movement and mobility training as a form of personal and artistic expression and
wellness is what ultimately drives Dahlia to continue to learn about our amazing bodies and how we can all
move more gracefully as we age.
</p>
<p>
She continues to dance for her own enjoyment and can be found performing or choreographing for community
arts-based projects when opportunities arise.
</p>
<p>
<strong>
Dahlia is working towards offering more movement and mobility classes and workshops in the future so
please stay tuned for updates by checking the Movement section of this website.
</strong>
</p>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Ready to Move with More Freedom?</h2>
<p>
If long lasting improvement is your goal than you may want to consider how Dahlia&apos;s skills as a teacher
could benefit you through either one-on-one instruction sessions that can be combined with massage therapy
or group workshops.
</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<Link href="/contact" className="btn btn-primary">
Ask About Workshops
</Link>
</div>
</div>
</section>
<Footer />
</>
)
return <MovementWorkshopsClient />
}

View File

@ -1,10 +1,36 @@
"use client"
import Image from "next/image"
import Link from "next/link"
import Navigation from "./components/Navigation"
import Footer from "./components/Footer"
import Modal from "./components/Modal"
import { useEffect } from "react"
export default function Home() {
useEffect(() => {
// Handle hash navigation
const hash = window.location.hash
if (hash) {
// Small delay to ensure the page has rendered
setTimeout(() => {
const element = document.querySelector(hash)
if (element) {
const headerOffset = 80 // Account for fixed header
const elementPosition = element.getBoundingClientRect().top
const offsetPosition = elementPosition + window.pageYOffset - headerOffset
window.scrollTo({
top: offsetPosition,
behavior: "smooth",
})
}
}, 100)
} else {
window.scrollTo(0, 0)
}
}, [])
return (
<>
<Navigation />
@ -89,11 +115,11 @@ export default function Home() {
<div className="service-content">
<h3>Massage Therapy Treatment</h3>
<p>
General Swedish Massage combined with specialized techniques including Deep Tissue and Myofascial
Release, all tailored to your specific needs and wellness goals.
General Swedish Massage combined with specialized techniques including Myofascial Deep Tissue, all
tailored to your specific needs and wellness goals.
</p>
<button className="btn btn-outline" data-modal="massage">
Learn More About Massage Therapy
Learn More About Massage
</button>
<a
href="https://ebbnflowmassage.clinicsense.com"
@ -119,7 +145,7 @@ export default function Home() {
<h3>Laser Therapy Treatment</h3>
<p>
Laser therapy provides accelerated healing for musculoskeletal injury, arthritis, and nerve injury.
Stand alone or recommended to combine with Massage Therapy.
Stand alone or combine with Massage Therapy.
</p>
<button className="btn btn-outline" data-modal="laser">
Learn More About Laser Therapy

View File

@ -0,0 +1,221 @@
"use client"
import Image from "next/image"
import Link from "next/link"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import { useEffect } from "react"
export default function WhatToExpectClient() {
useEffect(() => {
window.scrollTo(0, 0)
}, [])
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<h1 style={{ fontSize: "3.5rem", marginBottom: "1rem" }}>What to Expect</h1>
<span className="badge">Your First Visit</span>
<p className="hero-description">
Once you have successfully booked your initial appointment, you will receive a confirmation email with a few
forms to fill out ahead of time.
</p>
</div>
</section>
{/* Initial Appointment */}
<section className="content-section">
<div className="container">
<h2 className="section-title">The Initial Appointment</h2>
<div className="two-col-grid">
<div className="info-card">
<div className="icon-header">
<span className="large-icon">📋</span>
<h3>Pre-Appointment Forms</h3>
</div>
<ul className="check-list">
<li>Contact Information</li>
<li>Reason for Visit</li>
<li>Health History</li>
<li>Consent to Policies, Assessment and Treatment</li>
</ul>
</div>
<div className="info-card">
<div className="icon-header">
<span className="large-icon"></span>
<h3>Assessment Process</h3>
</div>
<p>
Your initial appointment begins with an in-person review of forms and an assessment that can range from
simple to more involved, depending on the complexity or severity of your condition.
</p>
<p>
This allows your therapist to ascertain whether there are any contraindications or modifications that
may need to be considered for safe and effective treatment.
</p>
</div>
</div>
<div className="info-card large highlight-card">
<h3>First Session Components</h3>
<div className="two-col-list">
<ul className="bullet-list">
<li>Forms review</li>
<li>Intake discussion</li>
<li>Initial assessment</li>
<li>Treatment plan development</li>
</ul>
<ul className="bullet-list">
<li>Treatment of sensitive areas (if indicated)</li>
<li>Diagnostics and referrals</li>
<li>Ongoing assessment planning</li>
<li>Treatment plan maintenance</li>
</ul>
</div>
</div>
</div>
</section>
{/* Assessment Details */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">Comprehensive Assessment</h2>
<div className="centered-content">
<div className="info-card large">
<p>
The first treatment session requires additional time to go over the forms and perform an initial
assessment that may include postural observations, range of motion testing, and/or neurological and
special orthopaedic testing.
</p>
</div>
<div className="info-card large">
<p>
With numerous tools available to her, Dahlia continuously discerns which techniques may be most
effective and regularly reassesses client responses to ensure that treatments continue to be beneficial.
</p>
</div>
</div>
</div>
</section>
{/* Treatment Experience */}
<section className="content-section">
<div className="container">
<h2 className="section-title">Your Treatment Experience</h2>
<div className="two-col-grid">
<div className="experience-content">
<div className="info-card">
<div className="icon-header">
<span className="large-icon">💚</span>
<h3>Personalized Approach</h3>
</div>
<p>
Dahlia meets clients where they are, and is able to offer either a quiet retreat or a fun, friendly
conversational interaction during treatments. She prioritizes client&apos;s goals, with the utmost
respect for their comfort, time and resources.
</p>
</div>
<div className="info-card">
<h3>Communication & Consent</h3>
<p>
She encourages an atmosphere of open, two-way communication that respects privacy, autonomy and
preferences such as depth of pressure and special consent for the treatment of sensitive areas if
indicated, guided strictly by the principles of ethical practice adhered to by all registrants of the
CMTO.
</p>
</div>
</div>
<div className="experience-visual">
<div className="content-image">
<Image
src="/images/treatment-room.jpg"
alt="Professional treatment room setup"
width={500}
height={400}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Your Private Treatment Space</div>
</div>
</div>
</div>
</div>
</section>
{/* Science and Art */}
<section className="content-section bg-alt">
<div className="container">
<div className="info-card large highlight-card">
<h3>A Science and an Art Form</h3>
<p>
A massage from Dahlia is an experience and often also an education. Her approach is intuitive,
evidence-based and trauma-informed. Her own personal experiences with injury and chronic pain has
instilled a high level of empathy for and understanding of clients&apos; complaints as well as her
insistence on professionalism and excellence of care.
</p>
<p>
There&apos;s always a unique and inspiring playlist in the background. Clients can also request music that
they enjoy, adding to an experience that is tailored just for them. Complimentary aromatherapy is also
available by request.
</p>
</div>
<div className="info-card large">
<h3>Education & Home Care</h3>
<p>
Dahlia is a teacher at heart, so you likely won&apos;t be able to walk away without being encouraged to
learn a stretch or strengthening exercise or about how to incorporate a home care practice into your
routine to enhance the long term effects of treatment between sessions.
</p>
</div>
</div>
</section>
{/* Holistic Treatment */}
<section className="content-section">
<div className="container">
<div className="centered-content">
<h2>Holistic Treatment Approach</h2>
<p className="large-text">
You can expect to have your primary area of concern addressed directly, within a treatment that aims to
treat the body holistically as an interconnected system.
</p>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Ready to Experience Holistic Care?</h2>
<p>Begin your wellness journey with a comprehensive assessment and personalized treatment plan.</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<Link href="/contact" className="btn btn-primary">
Have Questions?
</Link>
</div>
</div>
</section>
<Footer />
</>
)
}

View File

@ -1,7 +1,4 @@
import Image from "next/image"
import Link from "next/link"
import Navigation from "../components/Navigation"
import Footer from "../components/Footer"
import WhatToExpectClient from "./_client-component"
export const metadata = {
title: "What to Expect - Ebb'nFlow Therapeutics",
@ -9,212 +6,6 @@ export const metadata = {
"Learn what to expect during your first visit to Ebb'nFlow Therapeutics. Comprehensive assessment and personalized treatment.",
}
export default function WhatToExpect() {
return (
<>
<Navigation />
{/* Hero Section */}
<section className="page-hero">
<div className="container">
<span className="badge">Your First Visit</span>
<h1>What to Expect</h1>
<p className="hero-description">
Once you have successfully booked your initial appointment, you will receive a confirmation email with a few
forms to fill out ahead of time.
</p>
</div>
</section>
{/* Initial Appointment */}
<section className="content-section">
<div className="container">
<h2 className="section-title">The Initial Appointment</h2>
<div className="two-col-grid">
<div className="info-card">
<div className="icon-header">
<span className="large-icon">📋</span>
<h3>Pre-Appointment Forms</h3>
</div>
<ul className="check-list">
<li>Contact Information</li>
<li>Reason for Visit</li>
<li>Health History</li>
<li>Consent to Policies, Assessment and Treatment</li>
</ul>
</div>
<div className="info-card">
<div className="icon-header">
<span className="large-icon"></span>
<h3>Assessment Process</h3>
</div>
<p>
Your initial appointment begins with an in-person review of forms and an assessment that can range from
simple to more involved, depending on the complexity or severity of your condition.
</p>
<p>
This allows your therapist to ascertain whether there are any contraindications or modifications that
may need to be considered for safe and effective treatment.
</p>
</div>
</div>
<div className="info-card large highlight-card">
<h3>First Session Components</h3>
<div className="two-col-list">
<ul className="bullet-list">
<li>Forms review</li>
<li>Intake discussion</li>
<li>Initial assessment</li>
<li>Treatment plan development</li>
</ul>
<ul className="bullet-list">
<li>Treatment of sensitive areas (if indicated)</li>
<li>Diagnostics and referrals</li>
<li>Ongoing assessment planning</li>
<li>Treatment plan maintenance</li>
</ul>
</div>
</div>
</div>
</section>
{/* Assessment Details */}
<section className="content-section bg-alt">
<div className="container">
<h2 className="section-title">Comprehensive Assessment</h2>
<div className="centered-content">
<div className="info-card large">
<p>
The first treatment session requires additional time to go over the forms and perform an initial
assessment that may include postural observations, range of motion testing, and/or neurological and
special orthopaedic testing.
</p>
</div>
<div className="info-card large">
<p>
With numerous tools available to her, Dahlia continuously discerns which techniques may be most
effective and regularly reassesses client responses to ensure that treatments continue to be beneficial.
</p>
</div>
</div>
</div>
</section>
{/* Treatment Experience */}
<section className="content-section">
<div className="container">
<h2 className="section-title">Your Treatment Experience</h2>
<div className="two-col-grid">
<div className="experience-content">
<div className="info-card">
<div className="icon-header">
<span className="large-icon">💚</span>
<h3>Personalized Approach</h3>
</div>
<p>
Dahlia meets clients where they are, and is able to offer either a quiet retreat or a fun, friendly
conversational interaction during treatments. She prioritizes client&apos;s goals, with the utmost
respect for their comfort, time and resources.
</p>
</div>
<div className="info-card">
<h3>Communication & Consent</h3>
<p>
She encourages an atmosphere of open, two-way communication that respects privacy, autonomy and
preferences such as depth of pressure and special consent for the treatment of sensitive areas if
indicated, guided strictly by the principles of ethical practice adhered to by all registrants of the
CMTO.
</p>
</div>
</div>
<div className="experience-visual">
<div className="content-image">
<Image
src="/images/treatment-room.jpg"
alt="Professional treatment room setup"
width={500}
height={400}
style={{ objectFit: "cover", borderRadius: "1rem" }}
/>
<div className="image-caption">Your Private Treatment Space</div>
</div>
</div>
</div>
</div>
</section>
{/* Science and Art */}
<section className="content-section bg-alt">
<div className="container">
<div className="info-card large highlight-card">
<h3>A Science and an Art Form</h3>
<p>
A massage from Dahlia is an experience and often also an education. Her approach is intuitive,
evidence-based and trauma-informed. Her own personal experiences with injury and chronic pain has
instilled a high level of empathy for and understanding of clients&apos; complaints as well as her
insistence on professionalism and excellence of care.
</p>
<p>
There&apos;s always a unique and inspiring playlist in the background. Clients can also request music that
they enjoy, adding to an experience that is tailored just for them. Complimentary aromatherapy is also
available by request.
</p>
</div>
<div className="info-card large">
<h3>Education & Home Care</h3>
<p>
Dahlia is a teacher at heart, so you likely won&apos;t be able to walk away without being encouraged to
learn a stretch or strengthening exercise or about how to incorporate a home care practice into your
routine to enhance the long term effects of treatment between sessions.
</p>
</div>
</div>
</section>
{/* Holistic Treatment */}
<section className="content-section">
<div className="container">
<div className="centered-content">
<h2>Holistic Treatment Approach</h2>
<p className="large-text">
You can expect to have your primary area of concern addressed directly, within a treatment that aims to
treat the body holistically as an interconnected system.
</p>
</div>
</div>
</section>
{/* CTA Section */}
<section className="cta">
<div className="container">
<h2>Ready to Experience Holistic Care?</h2>
<p>Begin your wellness journey with a comprehensive assessment and personalized treatment plan.</p>
<div className="cta-buttons">
<a
href="https://ebbnflowmassage.clinicsense.com"
target="_blank"
rel="noopener noreferrer"
className="btn btn-primary"
>
Book Appointment
</a>
<Link href="/contact" className="btn btn-primary">
Have Questions?
</Link>
</div>
</div>
</section>
<Footer />
</>
)
export default function WhatToExpectPage() {
return <WhatToExpectClient />
}