2025-11-06 12:02:10 +00:00
'use client' ;
import { motion } from "framer-motion" ;
import { useInView } from "framer-motion" ;
2025-11-13 11:10:00 +00:00
import { useRef } from "react" ;
2025-11-13 13:39:30 +00:00
import { Baby , Brain , HeartHandshake , Sparkles , Users2 , Shield , Users , Heart , Feather } from "lucide-react" ;
2025-11-13 11:10:00 +00:00
import { useAppTheme } from "@/components/ThemeProvider" ;
2025-11-06 12:02:10 +00:00
export function Services() {
const ref = useRef ( null ) ;
const isInView = useInView ( ref , { once : true , margin : "-100px" } ) ;
2025-11-13 11:10:00 +00:00
const { theme } = useAppTheme ( ) ;
const isDark = theme === "dark" ;
2025-11-06 12:02:10 +00:00
const services = [
{
2025-11-07 21:37:43 +00:00
icon : Users ,
title : "Child & Adolescent Support" ,
description :
"Developmentally attuned support for children, teens, adults, and elders—navigating adoption stories, peer relationships, and social-emotional growth alongside caregivers." ,
backgroundImage : "https://images.unsplash.com/photo-1503454537195-1dcabb73ffb9?auto=format&fit=crop&w=1000&q=80" ,
2025-11-06 12:02:10 +00:00
} ,
{
icon : Sparkles ,
2025-11-07 21:37:43 +00:00
title : "Coping Skills Coaching" ,
description :
"Solution-focused strategies that build resilience, emotional literacy, and daily coping tools for individuals across the lifespan." ,
backgroundImage : "https://images.unsplash.com/photo-1531512073830-ba890ca4eba2?ixlib=rb-4.0.3&auto=format&fit=crop&w=1000&q=80" ,
2025-11-06 12:02:10 +00:00
} ,
{
2025-11-07 21:37:43 +00:00
icon : Heart ,
title : "Self-Esteem Building" ,
description :
"Strength-based interventions that nurture confidence, self-worth, and advocacy skills for children, teens, adults, and elders." ,
backgroundImage : "https://images.unsplash.com/photo-1526778548025-fa2f459cd5c1?auto=format&fit=crop&w=1000&q=80" ,
2025-11-06 12:02:10 +00:00
} ,
{
icon : Users2 ,
2025-11-07 21:37:43 +00:00
title : "Family & Caregiver Collaboration" ,
description :
"Dyadic therapy that reduces family conflict, strengthens parenting partnerships, and supports intergenerational understanding." ,
2025-11-06 22:44:29 +00:00
backgroundImage : "https://images.unsplash.com/photo-1529156069898-49953e39b3ac?ixlib=rb-4.0.3&auto=format&fit=crop&w=1000&q=80" ,
2025-11-06 12:02:10 +00:00
} ,
{
2025-11-07 21:37:43 +00:00
icon : Feather ,
title : "Life Transitions & Perinatal Care" ,
description :
"Guidance through perinatal adjustments, caregiving shifts, and later-life transitions with compassion for each stage of adulthood." ,
backgroundImage : "https://images.unsplash.com/photo-1487412720507-e7ab37603c6f?auto=format&fit=crop&w=1000&q=80" ,
2025-11-06 12:02:10 +00:00
} ,
{
icon : Shield ,
2025-11-07 21:37:43 +00:00
title : "Trauma & PTSD Recovery" ,
description :
"Trauma-focused CBT and play-based interventions that promote emotional safety, caregiver bonding, and long-term healing." ,
backgroundImage : "https://images.unsplash.com/photo-1519494026892-80bbd2d6fd0d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1000&q=80" ,
2025-11-06 12:02:10 +00:00
} ,
] ;
return (
< section
id = "services"
ref = { ref }
className = "relative py-20 px-4 overflow-hidden"
>
2025-11-06 22:44:29 +00:00
{ /* Background Image */ }
2025-11-06 12:02:10 +00:00
< div
2025-11-06 22:44:29 +00:00
className = "absolute inset-0 z-0"
2025-11-06 12:02:10 +00:00
style = { {
2025-11-06 22:44:29 +00:00
backgroundImage : ` url('/large.jpeg') ` ,
backgroundSize : 'cover' ,
backgroundPosition : 'center' ,
backgroundRepeat : 'no-repeat' ,
2025-11-06 12:02:10 +00:00
} }
/ >
2025-11-06 22:44:29 +00:00
{ /* Minimal overlay - allowing background image to show at near original opaqueness */ }
< div
className = "absolute inset-0 z-[1]"
style = { {
backgroundColor : isDark ? 'rgba(0, 0, 0, 0.15)' : 'rgba(255, 255, 255, 0.10)'
} }
/ >
{ /* Very subtle gradient overlay */ }
2025-11-06 12:02:10 +00:00
{ ! isDark && (
2025-11-06 22:44:29 +00:00
< div className = "absolute inset-0 z-[2] bg-gradient-to-br from-rose-50/10 via-pink-50/8 to-orange-50/10" / >
2025-11-06 12:02:10 +00:00
) }
{ isDark && (
2025-11-06 22:44:29 +00:00
< div className = "absolute inset-0 z-[2] bg-gradient-to-br from-gray-900/10 via-gray-800/8 to-gray-900/10" / >
2025-11-06 12:02:10 +00:00
) }
2025-11-06 22:44:29 +00:00
{ /* Subtle animated blobs */ }
< div className = "absolute inset-0 overflow-hidden z-[3]" >
2025-11-06 12:02:10 +00:00
< motion.div
2025-11-06 22:44:29 +00:00
className = "absolute top-20 right-20 w-72 h-72 bg-pink-100 dark:bg-pink-900/20 rounded-full mix-blend-multiply dark:mix-blend-lighten filter blur-xl opacity-30 dark:opacity-50"
2025-11-06 12:02:10 +00:00
animate = { {
x : [ 0 , - 90 , 0 ] ,
y : [ 0 , 50 , 0 ] ,
scale : [ 1 , 1.2 , 1 ] ,
} }
transition = { {
duration : 20 ,
repeat : Infinity ,
ease : 'easeInOut' ,
} }
/ >
< motion.div
2025-11-06 22:44:29 +00:00
className = "absolute bottom-10 left-20 w-96 h-96 bg-orange-100 dark:bg-orange-900/20 rounded-full mix-blend-multiply dark:mix-blend-lighten filter blur-xl opacity-30 dark:opacity-50"
2025-11-06 12:02:10 +00:00
animate = { {
x : [ 0 , 70 , 0 ] ,
y : [ 0 , - 60 , 0 ] ,
scale : [ 1 , 1.15 , 1 ] ,
} }
transition = { {
duration : 24 ,
repeat : Infinity ,
ease : 'easeInOut' ,
} }
/ >
< / div >
< div className = "container max-w-6xl mx-auto relative z-10" >
< motion.div
initial = { { opacity : 0 , y : 30 } }
animate = { isInView ? { opacity : 1 , y : 0 } : { } }
transition = { { duration : 0.8 } }
className = "text-center mb-16"
>
< motion.h2
2025-11-13 11:10:00 +00:00
className = "text-3xl sm:text-4xl md:text-5xl font-bold mb-4 sm:mb-6 bg-gradient-to-r from-rose-600 via-pink-600 to-orange-600 bg-clip-text text-transparent px-4"
2025-11-06 12:02:10 +00:00
initial = { { opacity : 0 , y : 20 } }
animate = { isInView ? { opacity : 1 , y : 0 } : { } }
transition = { { duration : 0.8 , delay : 0.2 } }
>
2025-11-07 21:37:43 +00:00
Services
2025-11-06 12:02:10 +00:00
< / motion.h2 >
< motion.p
2025-11-13 11:10:00 +00:00
className = "text-base sm:text-lg md:text-xl text-muted-foreground max-w-3xl mx-auto px-4"
2025-11-06 12:02:10 +00:00
initial = { { opacity : 0 , y : 20 } }
animate = { isInView ? { opacity : 1 , y : 0 } : { } }
transition = { { duration : 0.8 , delay : 0.4 } }
>
2025-11-07 21:37:43 +00:00
Comprehensive , relationship - based therapy anchored in clinical expertise and compassionate collaboration .
2025-11-06 12:02:10 +00:00
< / motion.p >
< / motion.div >
2025-11-13 11:10:00 +00:00
< div className = "grid sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 px-4" >
2025-11-06 12:02:10 +00:00
{ services . map ( ( service , index ) = > {
const Icon = service . icon ;
return (
< motion.div
key = { service . title }
initial = { { opacity : 0 , y : 20 } }
animate = { isInView ? { opacity : 1 , y : 0 } : { } }
transition = { { duration : 0.5 , delay : index * 0.1 } }
2025-11-13 11:10:00 +00:00
className = "group bg-card/50 backdrop-blur-sm rounded-xl sm:rounded-2xl p-4 sm:p-6 border border-border/50 hover:border-rose-500/50 hover:shadow-lg hover:shadow-rose-500/10 hover:scale-105 transition-all duration-300 cursor-pointer"
2025-11-06 12:02:10 +00:00
>
2025-11-06 22:44:29 +00:00
< div className = "relative z-10" >
< motion.div
className = "w-16 h-16 rounded-xl overflow-hidden mb-4 shadow-lg"
whileHover = { { scale : 1.1 , rotate : 5 } }
transition = { { duration : 0.2 } }
>
< img
src = { service . backgroundImage }
alt = { service . title }
className = "w-full h-full object-cover"
/ >
< / motion.div >
< motion.h3
className = "text-xl font-semibold mb-3 text-foreground"
initial = { { opacity : 0 } }
animate = { isInView ? { opacity : 1 } : { } }
transition = { { duration : 0.5 , delay : 0.3 + index * 0.1 } }
>
{ service . title }
< / motion.h3 >
< motion.p
className = "text-muted-foreground leading-relaxed"
initial = { { opacity : 0 } }
animate = { isInView ? { opacity : 1 } : { } }
transition = { { duration : 0.5 , delay : 0.4 + index * 0.1 } }
>
{ service . description }
< / motion.p >
< / div >
2025-11-06 12:02:10 +00:00
< / motion.div >
) ;
} ) }
< / div >
< motion.div
initial = { { opacity : 0 , y : 30 } }
animate = { isInView ? { opacity : 1 , y : 0 } : { } }
transition = { { duration : 0.8 , delay : 0.6 } }
2025-11-07 21:37:43 +00:00
className = "mt-16 bg-gradient-to-br from-rose-100/25 via-pink-100/25 to-orange-100/25 dark:from-rose-900/20 dark:via-pink-900/20 dark:to-orange-900/20 rounded-3xl p-8 border border-border/50 backdrop-blur-sm"
2025-11-06 12:02:10 +00:00
>
< motion.h3
className = "text-2xl font-semibold mb-4 text-center bg-gradient-to-r from-rose-600 via-pink-600 to-orange-600 bg-clip-text text-transparent"
initial = { { opacity : 0 } }
animate = { isInView ? { opacity : 1 } : { } }
transition = { { duration : 0.8 , delay : 0.7 } }
>
Who I Work With
< / motion.h3 >
< div className = "max-w-3xl mx-auto text-center" >
< motion.p
className = "text-muted-foreground leading-relaxed mb-4"
initial = { { opacity : 0 } }
animate = { isInView ? { opacity : 1 } : { } }
transition = { { duration : 0.8 , delay : 0.8 } }
>
2025-11-07 21:37:43 +00:00
I collaborate closely with caregivers and individuals to foster emotional literacy ,
self - regulation , and secure relationships during times of transition or trauma .
2025-11-06 12:02:10 +00:00
< / motion.p >
< motion.p
className = "text-muted-foreground leading-relaxed"
initial = { { opacity : 0 } }
animate = { isInView ? { opacity : 1 } : { } }
transition = { { duration : 0.8 , delay : 0.9 } }
>
2025-11-28 14:25:00 +00:00
Therapy is tailored for children ( age 0 – 10 ) , teens , adults , and older adults , with services offered to individuals and a
special focus on supporting Black and African American families and all of South Florida ' s Diverse Communities .
2025-11-06 12:02:10 +00:00
< / motion.p >
< / div >
< / motion.div >
< / div >
< / section >
) ;
}