18 Commits

Author SHA1 Message Date
db7c1243ed Merge version_8 into main
Merge version_8 into main
2026-05-12 06:34:42 +00:00
cf6376c902 Update src/app/page.tsx 2026-05-12 06:34:39 +00:00
0347d7c0b6 Merge version_8 into main
Merge version_8 into main
2026-05-12 06:18:32 +00:00
4f2ea7a93b Update src/app/page.tsx 2026-05-12 06:18:28 +00:00
e0926e0e4e Merge version_8 into main
Merge version_8 into main
2026-05-12 06:18:08 +00:00
bd1d310ef9 Update src/app/page.tsx 2026-05-12 06:18:02 +00:00
dfd8b213fb Merge version_8 into main
Merge version_8 into main
2026-05-12 06:17:32 +00:00
41ac7fee4b Update src/app/styles/base.css 2026-05-12 06:17:29 +00:00
190a3c9b82 Update src/app/page.tsx 2026-05-12 06:17:29 +00:00
f9134e0d0e Update src/app/layout.tsx 2026-05-12 06:17:28 +00:00
51de695da7 Merge version_7 into main
Merge version_7 into main
2026-05-12 06:03:05 +00:00
fe53eeaf54 Update theme colors 2026-05-12 06:03:01 +00:00
9bf0f8a576 Merge version_6 into main
Merge version_6 into main
2026-05-12 06:02:56 +00:00
cefeb160d2 Merge version_5 into main
Merge version_5 into main
2026-05-12 06:02:37 +00:00
f033eecab4 Merge version_4 into main
Merge version_4 into main
2026-05-12 06:01:54 +00:00
e9fd1637e0 Merge version_3 into main
Merge version_3 into main
2026-05-12 06:00:57 +00:00
4915a8924d Merge version_2 into main
Merge version_2 into main
2026-05-12 05:56:43 +00:00
c59562bd2d Merge version_2 into main
Merge version_2 into main
2026-05-12 05:48:51 +00:00
4 changed files with 75 additions and 146 deletions

View File

@@ -6,20 +6,16 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Playfair_Display } from "next/font/google";
import { Montserrat } from "next/font/google";
const halant = Halant({
variable: "--font-halant",
subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
export const metadata: Metadata = { title: 'Elite Fitness Coaching | Transform Your Body & Mind', description: 'Achieve your peak performance with personalized fitness training, custom nutrition plans, and expert guidance tailored to your unique health goals.' };
const playfair = Playfair_Display({ variable: "--font-playfair", subsets: ["latin"], weight: ["400", "500", "600", "700", "800", "900"] });
const montserrat = Montserrat({ variable: "--font-montserrat", subsets: ["latin"] });
export default function RootLayout({
children,
}: Readonly<{
@@ -28,9 +24,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} antialiased`}
>
<body className={`${playfair.variable} ${montserrat.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -5,192 +5,127 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi";
import TextAbout from "@/components/sections/about/TextAbout";
import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
import FeatureCardSeven from "@/components/sections/feature/FeatureCardSeven";
import FeatureBento from "@/components/sections/feature/FeatureBento";
import PricingCardOne from "@/components/sections/pricing/PricingCardOne";
import SocialProofOne from "@/components/sections/socialProof/SocialProofOne";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import ContactSplit from "@/components/sections/contact/ContactSplit";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import FooterSimple from "@/components/sections/footer/FooterSimple";
import { Award, TrendingUp, Trophy, Zap, Star, Dumbbell, Heart, Lightbulb, Compass, Mail, Instagram, Twitter, Linkedin } from "lucide-react";
import { Dumbbell } from "lucide-react";
export default function PersonalTrainerPage() {
export default function ChristinaFitLifePage() {
return (
<ThemeProvider
defaultButtonVariant="directional-hover"
defaultTextAnimation="background-highlight"
borderRadius="pill"
defaultButtonVariant="hover-bubble"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="medium"
sizing="mediumLarge"
background="aurora"
cardStyle="gradient-bordered"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="layered"
sizing="medium"
background="noise"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "home" },
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Certifications", id: "achievements" },
{ name: "Services", id: "services" },
{ name: "Programs", id: "services" },
{ name: "Pricing", id: "pricing" },
{ name: "Contact", id: "contact" }
]}
brandName="Personal Trainer"
bottomLeftText="Certified Professional"
bottomRightText="contact@trainer.com"
brandName="Christinas Fit Life"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplitKpi
title="Transform Your Body, Transform Your Life"
description="Expert personal training designed for your goals. Whether you're starting your fitness journey or taking your performance to the next level, I provide personalized coaching, proven methods, and unwavering support to help you achieve lasting results."
background={{ variant: "rotated-rays-static-grid" }}
title="Elevate Your Life, One Step at a Time"
description="Customized fitness coaching designed for the busy mom who wants to regain her confidence, vitality, and strength. Join a community built on balance, not deprivation."
background={{ variant: "sparkles-gradient" }}
kpis={[
{ value: "500+", label: "Clients Transformed" },
{ value: "10+", label: "Years Experience" },
{ value: "95%", label: "Goal Achievement Rate" }
{ value: "100%", label: "Personalized" },
{ value: "Flexible", label: "Approach" },
{ value: "Mom-Tested", label: "Methods" }
]}
enableKpiAnimation={true}
tag="Professional Coach"
tagIcon={Award}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565239456-76fxax8u.jpg"
imageAlt="Professional Personal Trainer"
imagePosition="right"
buttons={[
{ text: "Start Your Journey", href: "#about" },
{ text: "View Training Programs", href: "#services" }
{ text: "Apply for Coaching", href: "#contact" },
{ text: "View Programs", href: "#services" },
{ text: "Learn More", href: "#about" }
]}
mediaAnimation="slide-up"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565239456-76fxax8u.jpg"
imageAlt="Christina fit life"
/>
</div>
<div id="about" data-section="about">
<TextAbout
title="My Commitment to Your Success: Every client deserves a personalized approach. With over a decade of experience in fitness coaching, I combine evidence-based training methods with genuine passion for helping you reach your potential. My philosophy centers on sustainable results, injury prevention, and building habits that last a lifetime."
useInvertedBackground={false}
buttons={[
{ text: "Learn My Story", href: "#achievements" },
{ text: "Explore Methods", href: "#philosophy" }
]}
/>
</div>
<div id="achievements" data-section="achievements">
<MetricCardOne
title="Professional Credentials & Experience"
description="Certified expertise in personal training and athletic development"
tag="Qualifications"
tagIcon={TrendingUp}
metrics={[
{ id: "1", value: "150", title: "Certified Personal Trainer", description: "National Academy of Sports Medicine certification", icon: Trophy },
{ id: "2", value: "500", title: "Specializations", description: "Strength, conditioning, nutrition, mobility, recovery", icon: Zap },
{ id: "3", value: "950", title: "Success Stories", description: "Clients who achieved their fitness goals with guidance", icon: Star },
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
textboxLayout="default"
title="Hi, I'm Christina. I know the unique challenges of being a mom and wanting to feel like yourself again. My mission is to simplify fitness so you can thrive as a parent and a woman, without the burnout."
useInvertedBackground={false}
ariaLabel="About section"
/>
</div>
<div id="services" data-section="services">
<FeatureCardSeven
title="Personalized Training Programs"
description="Customized fitness solutions tailored to your unique goals and lifestyle"
tag="Service Offerings"
title="My Coaching Programs"
description="Progressive paths to your best self."
tag="Coaching"
tagIcon={Dumbbell}
features={[
{
title: "One-on-One Personal Training", description: "Individual coaching sessions focused entirely on your goals, form, and progression. Each workout is designed based on your fitness level, preferences, and objectives with real-time feedback and adjustments.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565319822-rjdf8fid.jpg", imageAlt: "One-on-one personal training session"
},
{
title: "Small Group Training Classes", description: "Build community while reaching your fitness goals in small, focused groups. Receive personalized attention in a motivating environment with other like-minded individuals committed to transformation.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565341961-l7pyl2nu.jpg", imageAlt: "Small group fitness class"
},
{
title: "Online Coaching Programs", description: "Train from anywhere with customized workout plans, nutrition guidance, and video form checks. Stay connected with regular progress assessments and program adjustments based on your results and feedback.", imageSrc: "https://img.b2bpic.net/free-photo/people-training-athletics_23-2151077709.jpg?id=150856792", imageAlt: "Online fitness coaching platform"
}
{ title: "Foundation", description: "Building healthy habits and establishing your base.", imageSrc: "https://img.b2bpic.net/free-photo/people-training-athletics_23-2151077709.jpg?id=150856792&_wi=1" },
{ title: "Elevation", description: "Taking your fitness to the next level of performance.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565319822-rjdf8fid.jpg" },
{ title: "Transformation", description: "Complete lifestyle shift for long-term health.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565341961-l7pyl2nu.jpg" }
]}
textboxLayout="default"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{ text: "Book Consultation", href: "#contact" }
]}
/>
</div>
<div id="philosophy" data-section="philosophy">
<FeatureBento
title="My Training Philosophy"
description="Holistic approach to fitness and wellness"
tag="Training Method"
tagIcon={Compass}
features={[
{
title: "Progressive Overload", description: "Systematically increase intensity and challenge to drive continuous improvement and prevent plateaus in your fitness journey", bentoComponent: "animated-bar-chart"
},
{
title: "Functional Fitness", description: "Training that improves real-world strength, mobility, and movement patterns for better performance in daily life", bentoComponent: "3d-stack-cards", items: [
{ icon: Dumbbell, title: "Strength", subtitle: "Build Power", detail: "Compound movements for lasting gains" },
{ icon: Heart, title: "Endurance", subtitle: "Boost Stamina", detail: "Cardiovascular and muscular conditioning" },
{ icon: Lightbulb, title: "Mobility", subtitle: "Improve Range", detail: "Enhanced flexibility and joint health" }
]
},
{
title: "Sustainable Habits", description: "Build consistent routines that fit your lifestyle and lead to long-term results, not quick fixes", bentoComponent: "timeline", heading: "Your Training Journey", subheading: "Three phases to transformation", items: [
{ label: "Foundation", detail: "Building proper form and establishing baseline fitness" },
{ label: "Progression", detail: "Gradually increasing intensity and complexity" },
{ label: "Mastery", detail: "Peak performance and maintaining long-term results" }
],
completedLabel: "Your transformation begins"
}
<div id="pricing" data-section="pricing">
<PricingCardOne
title="Investment Options"
description="Flexible payment plans to suit your budget, including Affirm and Afterpay."
plans={[
{ id: "plan1", badge: "Affirm/Afterpay", price: "$199/mo", subtitle: "Essential access", features: ["Custom workouts", "Support"] },
{ id: "plan2", badge: "Most Popular", price: "$299/mo", subtitle: "Complete transformation", features: ["Custom workouts", "Nutrition", "Weekly check-ins"] },
{ id: "plan3", badge: "Premium", price: "$499/mo", subtitle: "1-on-1 focus", features: ["Personal coaching", "Direct access", "Full support"] }
]}
textboxLayout="default"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={true}
buttons={[
{ text: "Start Training", href: "#contact" }
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<SocialProofOne
title="Trusted by Fitness Enthusiasts"
description="Hear from clients who have achieved their transformation goals."
names={["Jessica C.", "Marcus R.", "David W.", "Alex K.", "Sarah P.", "Jordan B.", "Elena M.", "Kevin L."]}
useInvertedBackground={false}
title="Social Community"
names={["Instagram", "Facebook", "Twitter", "LinkedIn"]}
description="Follow along for daily tips and mom-hacks."
textboxLayout="default"
useInvertedBackground={false}
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Ready to Start Your Transformation?"
description="Fill out the form below to book your free consultation and kickstart your fitness journey. I look forward to working with you!"
inputs={[
{ name: "name", type: "text", placeholder: "Full Name" },
{ name: "email", type: "email", placeholder: "Email Address" }
]}
textarea={{ name: "goals", placeholder: "Briefly describe your fitness goals..." }}
buttonText="Submit Request"
onSubmit={(data) => console.log(data)}
useInvertedBackground={true}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DbxJR6IxC1XHwzUSsYvpr3NNCx/uploaded-1778565369691-92lmelu9.jpg"
<ContactCTA
tag="Join the Movement"
title="Ready to start your journey?"
description="Apply today to reserve your spot in my coaching program."
buttons={[{ text: "Submit Application", href: "#contact" }]}
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterSimple
columns={[
{ title: "Company", items: [{ label: "About" }, { label: "Careers" }] },
{ title: "Support", items: [{ label: "Contact" }, { label: "FAQ" }] },
{ title: "Legal", items: [{ label: "Privacy Policy" }, { label: "Terms of Service" }] }
]}
bottomLeftText="© 2025 Professional Personal Training"
columns={[{ title: "Company", items: [{ label: "About" }, { label: "Privacy" }] }]}
bottomLeftText="© 2025 Christinas Fit Life"
bottomRightText="All rights reserved."
/>
</div>

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-inter), sans-serif;
font-family: var(--font-playfair), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-libre-baskerville), serif;
font-family: var(--font-playfair), serif;
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #ffffff;
--card: #f9f9f9;
--foreground: #120006e6;
--background: #fffafa;
--card: #fff7f7;
--foreground: #1a0000;
--primary-cta: #e63946;
--primary-cta-text: #ffffff;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #120006e6;
--accent: #e2e2e2;
--background-accent: #c4c4c4;
--primary-cta-text: #fffafa;
--secondary-cta: #ffffff;
--secondary-cta-text: #1a0000;
--accent: #f5c4c7;
--background-accent: #f09199;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);