diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 82b4be5..8f5253d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -22,24 +22,26 @@ const dmSans = DM_Sans({ export const metadata: Metadata = { title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Expert sealcoating and paving services. Licensed, insured, and trusted since 2010. Free estimates available for residential and commercial properties.", keywords: "sealcoating, paving, asphalt repair, driveway sealing, parking lot paving, asphalt maintenance", metadataBase: new URL("https://jplsealcoating.com"), alternates: { - canonical: "https://jplsealcoating.com"}, + canonical: "https://jplsealcoating.com" + }, openGraph: { title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Protect your asphalt with expert sealcoating and paving services. Get your free estimate today!", url: "https://jplsealcoating.com", siteName: "JPL Sealcoating", type: "website", images: [ { - url: "http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg", alt: "JPL Sealcoating Professional Services"}, - ], + url: "http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg", alt: "JPL Sealcoating Professional Services" + } + ] }, twitter: { - card: "summary_large_image", title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Expert asphalt services. Licensed & Insured. Free estimates available.", images: ["http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg"], + card: "summary_large_image", title: "Professional Sealcoating & Paving | JPL Sealcoating", description: "Expert asphalt services. Licensed & Insured. Free estimates available.", images: ["http://img.b2bpic.net/free-photo/workers-placing-new-coating-asphalt-road_342744-601.jpg"] }, robots: { index: true, - follow: true, - }, + follow: true + } }; export default function RootLayout({ - children, + children }: Readonly<{ children: React.ReactNode; }>) { diff --git a/src/app/page.tsx b/src/app/page.tsx index 976a1d1..55b210a 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -142,16 +142,20 @@ export default function LandingPage() { testimonials={[ { id: "1", name: "Michael Johnson", role: "Property Owner", company: "Johnson Estate", rating: 5, - imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1"}, + imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1" + }, { id: "2", name: "Sarah Williams", role: "Business Manager", company: "Commerce Plaza", rating: 5, - imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2"}, + imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2" + }, { id: "3", name: "Robert Martinez", role: "Facilities Director", company: "Industrial Complex", rating: 5, - imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3"}, + imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3" + }, { id: "4", name: "Jennifer Davis", role: "Homeowner", company: "Residential Client", rating: 5, - imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=4"}, + imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=4" + }, ]} kpiItems={[ { value: "500+", label: "Projects Completed" }, @@ -174,7 +178,8 @@ export default function LandingPage() { textboxLayout="default" useInvertedBackground={false} names={[ - "National Asphalt Association", "Sealcoating Contractors Association", "Construction Quality Certified", "Professional Paving Institute", "Licensed & Insured", "Environmental Protection Certified", "ISO 9001 Certified"]} + "National Asphalt Association", "Sealcoating Contractors Association", "Construction Quality Certified", "Professional Paving Institute", "Licensed & Insured", "Environmental Protection Certified", "ISO 9001 Certified" + ]} speed={40} showCard={true} buttons={[{ text: "Learn About Our Certifications", href: "contact" }]} @@ -194,17 +199,23 @@ export default function LandingPage() { faqsAnimation="slide-up" faqs={[ { - id: "1", title: "How often should I have my asphalt sealcoated?", content: "We recommend sealcoating every 2-3 years to maintain optimal protection. The frequency depends on your climate, traffic volume, and current condition. We can provide a customized maintenance schedule during your free inspection."}, + id: "1", title: "How often should I have my asphalt sealcoated?", content: "We recommend sealcoating every 2-3 years to maintain optimal protection. The frequency depends on your climate, traffic volume, and current condition. We can provide a customized maintenance schedule during your free inspection." + }, { - id: "2", title: "How long does sealcoating last?", content: "Professional sealcoating typically lasts 2-3 years with proper maintenance. The durability depends on weather conditions, UV exposure, and traffic. We use premium materials that maximize longevity and protection."}, + id: "2", title: "How long does sealcoating last?", content: "Professional sealcoating typically lasts 2-3 years with proper maintenance. The durability depends on weather conditions, UV exposure, and traffic. We use premium materials that maximize longevity and protection." + }, { - id: "3", title: "Can you repair cracks in my asphalt?", content: "Yes! We offer comprehensive crack repair services using industry-leading materials. Our crack filling prevents water infiltration and stops small problems from becoming major repairs, extending your pavement's lifespan significantly."}, + id: "3", title: "Can you repair cracks in my asphalt?", content: "Yes! We offer comprehensive crack repair services using industry-leading materials. Our crack filling prevents water infiltration and stops small problems from becoming major repairs, extending your pavement's lifespan significantly." + }, { - id: "4", title: "Do you offer free estimates?", content: "Absolutely! We provide free, no-obligation estimates for all our services. Our experienced team will assess your property, discuss options, and provide transparent pricing so you know exactly what to expect."}, + id: "4", title: "Do you offer free estimates?", content: "Absolutely! We provide free, no-obligation estimates for all our services. Our experienced team will assess your property, discuss options, and provide transparent pricing so you know exactly what to expect." + }, { - id: "5", title: "Are you licensed and insured?", content: "Yes, JPL Sealcoating is fully licensed and insured. We maintain comprehensive liability coverage to protect both our clients and our team. Your property is in safe, professional hands."}, + id: "5", title: "Are you licensed and insured?", content: "Yes, JPL Sealcoating is fully licensed and insured. We maintain comprehensive liability coverage to protect both our clients and our team. Your property is in safe, professional hands." + }, { - id: "6", title: "How weather affects sealcoating application?", content: "We follow strict weather guidelines to ensure quality results. Sealcoating requires proper temperature and humidity conditions. We plan applications strategically and provide detailed care instructions for freshly sealed surfaces."}, + id: "6", title: "How weather affects sealcoating application?", content: "We follow strict weather guidelines to ensure quality results. Sealcoating requires proper temperature and humidity conditions. We plan applications strategically and provide detailed care instructions for freshly sealed surfaces." + }, ]} animationType="smooth" /> diff --git a/src/app/styles/variables.css b/src/app/styles/variables.css index d45b6e6..d0dbead 100644 --- a/src/app/styles/variables.css +++ b/src/app/styles/variables.css @@ -10,15 +10,15 @@ --accent: #ffffff; --background-accent: #ffffff; */ - --background: #fcf6ec; - --card: #f3ede2; - --foreground: #2e2521; - --primary-cta: #2e2521; + --background: #1a1a1a; + --card: #2a2a2a; + --foreground: #ffff00; + --primary-cta: #ffff00; --primary-cta-text: #fcf6ec; - --secondary-cta: #ffffff; + --secondary-cta: #333333; --secondary-cta-text: #2e2521; - --accent: #b2a28b; - --background-accent: #b2a28b; + --accent: #ffcc00; + --background-accent: #ffff00; /* text sizing - set by ThemeProvider */ /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);