23 Commits

Author SHA1 Message Date
2f6e5a5ada Update theme fonts 2026-05-18 09:54:14 +00:00
71fe7d0d31 Update theme fonts 2026-05-18 09:54:13 +00:00
2d703e7338 Update theme fonts 2026-05-18 09:53:57 +00:00
4da2dc5278 Update theme fonts 2026-05-18 09:53:57 +00:00
53332229f8 Update src/app/styles/variables.css 2026-05-18 09:27:01 +00:00
eb7dd8b4bb Update src/app/page.tsx 2026-05-18 09:27:01 +00:00
e0b9cece5a Merge version_2 into main
Merge version_2 into main
2026-05-18 09:25:07 +00:00
0a2ac07775 Update src/app/page.tsx 2026-05-18 09:25:01 +00:00
6f83b6d787 Merge version_2 into main
Merge version_2 into main
2026-05-18 09:24:37 +00:00
bd89c6c2de Update src/app/styles/variables.css 2026-05-18 09:24:31 +00:00
23c9453a99 Update src/app/page.tsx 2026-05-18 09:24:30 +00:00
c4dfb19bd8 Merge version_1 into main
Merge version_1 into main
2026-05-18 09:20:31 +00:00
d586cd3493 Merge version_1 into main
Merge version_1 into main
2026-05-18 09:12:12 +00:00
2d2f9304da Merge version_1 into main
Merge version_1 into main
2026-05-18 09:04:02 +00:00
24f53b7703 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:49:22 +00:00
1b684aa81a Merge version_1 into main
Merge version_1 into main
2026-05-18 08:31:57 +00:00
bcb4389f18 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:31:23 +00:00
3adffdbf70 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:30:52 +00:00
bd65b6e1c4 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:28:59 +00:00
8e2b9a9971 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:28:25 +00:00
6270082d22 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:27:52 +00:00
c22e6400ad Merge version_1 into main
Merge version_1 into main
2026-05-18 08:27:20 +00:00
946ff8b860 Merge version_1 into main
Merge version_1 into main
2026-05-18 08:26:49 +00:00
4 changed files with 123 additions and 139 deletions

View File

@@ -7,6 +7,9 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Public_Sans } from "next/font/google"; import { Public_Sans } from "next/font/google";
import { Manrope } from "next/font/google";
import { DM_Sans } from "next/font/google";
import { Montserrat } from "next/font/google";
@@ -20,8 +23,14 @@ export const metadata: Metadata = {
}, },
}; };
const publicSans = Public_Sans({
variable: "--font-public-sans",
const montserrat = Montserrat({
variable: "--font-montserrat",
subsets: ["latin"],
});
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"], subsets: ["latin"],
}); });
@@ -33,7 +42,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${publicSans.variable} antialiased`}> <body className={`${montserrat.variable} ${inter.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -2,151 +2,126 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeatureCardTwentyNine from '@/components/sections/feature/featureCardTwentyNine/FeatureCardTwentyNine';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia'; import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
import FeatureCardTwentyNine from '@/components/sections/feature/featureCardTwentyNine/FeatureCardTwentyNine';
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout'; import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve'; import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import { CheckCircle, AlertTriangle, ShieldCheck, HardHat } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="text-shift" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="background-highlight" defaultTextAnimation="reveal-blur"
borderRadius="pill" borderRadius="soft"
contentWidth="compact" contentWidth="medium"
sizing="mediumLargeSizeMediumTitles" sizing="large"
background="aurora" background="noise"
cardStyle="inset" cardStyle="glass-elevated"
primaryButtonStyle="double-inset" primaryButtonStyle="gradient"
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="extrabold" headingFontWeight="bold"
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
navItems={[ navItems={[
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
{ name: "Support", id: "/workforce-support" }, { name: "Support", id: "/workforce-support" },
{ name: "Join", id: "/join-esg" }, { name: "Join", id: "/join-esg" },
{ name: "About", id: "/about" }, { name: "About", id: "/about" },
{ name: "Contact", id: "/contact" }, { name: "Contact", id: "/contact" },
]} ]}
brandName="ESG" brandName="ESG"
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplitDualMedia <HeroSplitDualMedia
background={{ variant: "gradient-bars" }} title="Elite Mining Workforce, Rapidly Deployed"
title="FIFO Workforce Support for WA Mining Operations" description="ESG connects top-tier HD/LV Mechanics and specialized Welders to Western Australia's most critical mining operations. We power production stability through precision recruitment."
description="Skilled HD Mechanics, LV Mechanics and Welders deployed fast to mining and maintenance sites across Western Australia." tag="Industrial Maintenance Support"
tag="Reliable Industrial Partner" tagIcon={HardHat}
buttons={[ background={{ variant: "gradient-bars" }}
{ text: "Request Workforce Support", href: "#contact" }, buttons={[{ text: "Hire Workforce", href: "#contact" }, { text: "Join ESG", href: "/join-esg" }]}
{ text: "Join Our Workforce", href: "/join-esg" }, mediaItems={[
]} { imageSrc: "https://img.b2bpic.net/free-photo/industrial-plant-workers_1134-118.jpg", imageAlt: "Industrial site support" },
mediaItems={[ { imageSrc: "https://img.b2bpic.net/free-photo/mechanic-repairing-large-machinery_1134-122.jpg", imageAlt: "Mining machinery repair" }
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DtDyT7phrflrqeP2FPmLftd5Xh/uploaded-1779094979359-xw35grr3.png", imageAlt: "CAT haul truck in WA mine" }, ]}
{ imageSrc: "https://img.b2bpic.net/free-photo/excavator-action_1112-1599.jpg?id=1194026", imageAlt: "Mining site machinery" } rating={5}
]} ratingText="Trusted by WA's largest contractors"
mediaAnimation="slide-up" />
rating={5} </div>
ratingText="Trusted by WA's leading contractors"
/>
</div>
<div id="services" data-section="services"> <div id="services" data-section="services">
<FeatureCardTwentyNine <FeatureCardTwentyNine
animationType="slide-up" title="Our Industrial Edge"
textboxLayout="split" description="Solving critical skill shortages with reliable, safety-vetted professionals."
gridVariant="four-items-2x2-equal-grid" features={[
useInvertedBackground={false} { title: "Problem: Site Downtime", description: "Unplanned mechanical failures cost millions. We provide the expertise to fix them fast.", imageSrc: "https://img.b2bpic.net/free-photo/engineers-helmets-standing-by-factory_1157-35475.jpg", titleImageSrc: "https://img.b2bpic.net/free-photo/industrial-plant-workers_1134-118.jpg", buttonText: "Learn More" },
features={[ { title: "Solution: ESG Specialists", description: "Deploy our elite crew of HD and LV mechanics to restore production in record time.", imageSrc: "https://img.b2bpic.net/free-photo/mechanic-engine_1134-180.jpg", titleImageSrc: "https://img.b2bpic.net/free-photo/welding-sparks_1134-160.jpg", buttonText: "Partner With Us" }
{ title: "FIFO Rostered Support", description: "Experienced teams for continuous site operations.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DtDyT7phrflrqeP2FPmLftd5Xh/uploaded-1779094640193-vf5i1l53.png", titleImageSrc: "http://img.b2bpic.net/free-photo/men-looking-tablet-medium-shot_23-2148921388.jpg", buttonText: "Read More" }, ]}
{ title: "Shutdown Workforce Support", description: "Rapid deployment for major maintenance events.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DtDyT7phrflrqeP2FPmLftd5Xh/uploaded-1779094726729-0u9jcebm.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/man-using-excavator-digging-day-light_23-2149194787.jpg", buttonText: "Read More" }, gridVariant="bento-grid"
{ title: "HD Mechanical Support", description: "Heavy machinery experts for all equipment types.", imageSrc: "https://img.b2bpic.net/free-photo/combine-machine-service_146671-19098.jpg?id=10180823", titleImageSrc: "http://img.b2bpic.net/free-photo/mechanic-checking-car-parts_1170-1338.jpg", buttonText: "Read More" }, animationType="slide-up"
{ title: "LV Mechanical Support", description: "Light vehicle maintenance for critical site operations.", imageSrc: "https://img.b2bpic.net/free-photo/combine-machine-service_146671-19096.jpg?id=10180813", titleImageSrc: "http://img.b2bpic.net/free-photo/combine-machine-service_146671-19096.jpg", buttonText: "Read More" }, textboxLayout="split-description"
{ title: "Welding & Fabrication", description: "Certified trade professionals for site repair needs.", imageSrc: "http://img.b2bpic.net/free-photo/man-makes-show-with-sparkling-fire_8353-698.jpg", titleImageSrc: "http://img.b2bpic.net/free-photo/rough-metallic-surface-texture_23-2148953936.jpg", buttonText: "Read More" }, useInvertedBackground={true}
]} />
title="Our Workforce Services" </div>
description="Professional support for all mining and maintenance stages."
/>
</div>
<div id="why-esg" data-section="why-esg"> <div id="why-esg" data-section="why-esg">
<MetricSplitMediaAbout <MetricSplitMediaAbout
useInvertedBackground={false} title="Proven Mining Reliability"
title="Why Choose ESG?" description="Our track record speaks for itself. ESG maintains high project availability through rigorous vetting and constant trade support."
description="ESG provides fast, reliable FIFO workforce support across WA mining and maintenance operations." metrics={[{ value: "48hr", title: "Avg. Mobilization" }, { value: "98%", title: "Compliance Rate" }, { value: "24/7", title: "Field Support" }]}
metrics={[ imageSrc="https://img.b2bpic.net/free-photo/mining-site-machinery_1134-210.jpg"
{ value: "24/7", title: "Operational" }, mediaAnimation="blur-reveal"
{ value: "25+", title: "Tradespeople" }, useInvertedBackground={false}
{ value: "50+", title: "Mine Sites" }, />
]} </div>
imageSrc="http://img.b2bpic.net/free-photo/closeup-shot-rock-formations-death-valley-usa_181624-52616.jpg"
imageAlt="Pilbara mining landscape"
mediaAnimation="slide-up"
metricsAnimation="slide-up"
/>
</div>
<div id="testimonial" data-section="testimonial"> <div id="testimonial" data-section="testimonial">
<TestimonialCardTwelve <TestimonialCardTwelve
useInvertedBackground={false} cardTitle="Trusted Partner"
cardTitle="What Our Partners Say" cardTag="Industry Reputation"
cardTag="Testimonials" testimonials={[{ id: "1", name: "Operations Superintendent", imageSrc: "https://img.b2bpic.net/free-photo/person-in-hard-hat_1134-220.jpg" }, { id: "2", name: "Project Lead", imageSrc: "https://img.b2bpic.net/free-photo/site-manager_1134-225.jpg" }]}
cardAnimation="slide-up" cardAnimation="slide-up"
testimonials={[ useInvertedBackground={true}
{ id: "t1", name: "Site Manager, Pilbara", imageSrc: "http://img.b2bpic.net/free-photo/portrait-factory-worker-with-arms-crossed-standing-by-industrial-machine_342744-181.jpg", imageAlt: "Worker 1" }, />
{ id: "t2", name: "Procurement Lead, WA", imageSrc: "http://img.b2bpic.net/free-photo/male-worker-factory_1303-14306.jpg", imageAlt: "Worker 2" }, </div>
{ id: "t3", name: "Operations Director", imageSrc: "http://img.b2bpic.net/free-photo/portrait-factory-worker-with-arms-crossed-standing-by-drilling-machine-industrial-plant_342744-122.jpg", imageAlt: "Worker 3" },
{ id: "t4", name: "HR Specialist", imageSrc: "http://img.b2bpic.net/free-photo/portrait-factory-worker-protective-equipment-production-hall_342744-146.jpg", imageAlt: "Worker 4" },
{ id: "t5", name: "Maintenance Lead", imageSrc: "http://img.b2bpic.net/free-photo/hardhat-wearing-men-work-together-build-factory-generated-by-ai_188544-26781.jpg", imageAlt: "Worker 5" },
]}
/>
</div>
<div id="faq" data-section="faq"> <div id="faq" data-section="faq">
<FaqSplitMedia <FaqSplitMedia
textboxLayout="default" title="Getting Started"
useInvertedBackground={false} description="How ESG transforms your on-site capabilities."
title="Frequently Asked Questions" faqs={[{ id: "f1", title: "Can you scale crews?", content: "Yes, we mobilize crews from single experts to complete maintenance teams depending on your shutdown requirements." }, { id: "f2", title: "Are crews trade-vetted?", content: "Every single ESG professional is rigorously checked for certifications, safety compliance, and site-readiness." }]}
description="Everything you need to know about partnering with ESG for your workforce needs." imageSrc="https://img.b2bpic.net/free-photo/mine-logistics_1134-240.jpg"
imageSrc="http://img.b2bpic.net/free-photo/road-raising-mountains_158595-5803.jpg" faqsAnimation="slide-up"
imageAlt="Mining landscape view" textboxLayout="split"
mediaAnimation="slide-up" useInvertedBackground={false}
faqsAnimation="slide-up" />
faqs={[ </div>
{ id: "q1", title: "How fast can you deploy?", content: "Our recruitment network allows for rapid mobilization, often within 48-72 hours for critical roles." },
{ id: "q2", title: "Are your staff certified?", content: "All personnel are fully vetted, hold current trade certifications, and meet all site-specific safety compliance requirements." },
{ id: "q3", title: "Do you handle FIFO logistics?", content: "Yes, ESG manages all travel, accommodation, and site logistics for our workforce." },
]}
/>
</div>
<div id="footer" data-section="footer"> <div id="contact" data-section="contact">
<FooterLogoEmphasis <ContactCTA
columns={[ title="Secure Your Mining Project Today"
{ description="Don't let workforce gaps halt production. Partner with ESG."
items: [ tag="Contact ESG"
{ label: "FIFO Solutions", href: "/workforce-support" }, buttons={[{ text: "Request a Call Back" }]}
{ label: "Join ESG", href: "/join-esg" }, background={{ variant: "sparkles-gradient" }}
{ label: "About Us", href: "/about" }, useInvertedBackground={true}
], />
}, </div>
{
items: [ <div id="footer" data-section="footer">
{ label: "Contact", href: "/contact" }, <FooterLogoEmphasis
{ label: "Privacy", href: "#" }, logoText="Expert Support Group"
], columns={[{ items: [{ label: "Home", href: "/" }, { label: "Support", href: "/workforce-support" }] }, { items: [{ label: "Contact", href: "/contact" }, { label: "Join", href: "/join-esg" }] }]}
}, />
]} </div>
logoText="Expert Support Group"
/>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

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

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #0b0f14; --background: #1a1a1a;
--card: #111821; --card: #262626;
--foreground: #ffffff; --foreground: #f5f5f5;
--primary-cta: #f2c200; --primary-cta: #f2c200;
--primary-cta-text: #0b0f14; --primary-cta-text: #0b0f14;
--secondary-cta: #111821; --secondary-cta: #333333;
--secondary-cta-text: #ffffff; --secondary-cta-text: #ffffff;
--accent: #f2c200; --accent: #f2c200;
--background-accent: #111821; --background-accent: #333333;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);