19 Commits

Author SHA1 Message Date
51ffd4396b Merge version_4 into main
Merge version_4 into main
2026-04-18 12:06:10 +00:00
76cefab85d Update theme fonts 2026-04-18 12:06:07 +00:00
f859b2f7b6 Update theme fonts 2026-04-18 12:06:06 +00:00
6df2179066 Merge version_4 into main
Merge version_4 into main
2026-04-18 12:06:04 +00:00
87cd8449de Update theme fonts 2026-04-18 12:06:01 +00:00
97030efc3a Update theme fonts 2026-04-18 12:06:01 +00:00
c2b3c9bfe4 Merge version_4 into main
Merge version_4 into main
2026-04-18 12:05:19 +00:00
2db8601120 Update src/app/page.tsx 2026-04-18 12:05:13 +00:00
f604607641 Merge version_4 into main
Merge version_4 into main
2026-04-18 12:04:45 +00:00
cad7fb2641 Update src/app/page.tsx 2026-04-18 12:04:42 +00:00
e312c9fb24 Merge version_3 into main
Merge version_3 into main
2026-04-18 12:03:59 +00:00
1a7ccb274e Update theme fonts 2026-04-18 12:03:56 +00:00
c34cc0325c Update theme fonts 2026-04-18 12:03:56 +00:00
36294b647d Merge version_3 into main
Merge version_3 into main
2026-04-18 12:03:51 +00:00
cfbb1add43 Update theme fonts 2026-04-18 12:03:48 +00:00
990b79905b Update theme fonts 2026-04-18 12:03:47 +00:00
dd2106fdd8 Merge version_3 into main
Merge version_3 into main
2026-04-18 12:02:43 +00:00
a3e25e9d20 Update theme colors 2026-04-18 12:02:40 +00:00
b76a502725 Merge version_2 into main
Merge version_2 into main
2026-04-18 12:01:43 +00:00
4 changed files with 38 additions and 41 deletions

View File

@@ -6,20 +6,26 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper"; 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 { Nunito } from "next/font/google";
import { DM_Sans } from "next/font/google";
import { Open_Sans } from "next/font/google";
const halant = Halant({
variable: "--font-halant",
export const metadata: Metadata = { title: 'VerdantVista | Bespoke Landscape & Garden Architecture', description: 'Transform your outdoor property with VerdantVista. We specialize in high-end landscape architecture, bespoke hardscaping, and intentional botanical curation.' };
const dmSans = DM_Sans({
variable: "--font-dm-sans",
subsets: ["latin"], subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
}); });
const inter = Inter({ const inter = Inter({
variable: "--font-inter", variable: "--font-inter",
subsets: ["latin"], subsets: ["latin"],
}); });
export const metadata: Metadata = { title: 'VerdantVista | Bespoke Landscape & Garden Architecture', description: 'Transform your outdoor property with VerdantVista. We specialize in high-end landscape architecture, bespoke hardscaping, and intentional botanical curation.' };
export default function RootLayout({ export default function RootLayout({
children, children,
}: Readonly<{ }: Readonly<{
@@ -28,9 +34,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body <body className={`${dmSans.variable} ${inter.variable} antialiased`}>
className={`${halant.variable} ${inter.variable} antialiased`}
>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -3,7 +3,7 @@
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import HeroOverlayTestimonial from "@/components/sections/hero/HeroOverlayTestimonial"; import HeroSplit from "@/components/sections/hero/HeroSplit";
import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard"; import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard";
import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen"; import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen";
import TeamCardSix from "@/components/sections/team/TeamCardSix"; import TeamCardSix from "@/components/sections/team/TeamCardSix";
@@ -44,11 +44,12 @@ export default function LandscapingPage() {
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroOverlayTestimonial <HeroSplit
tag="Masterful Land Design" tag="Masterful Land Design"
tagIcon={Leaf} tagIcon={Leaf}
title="Where Nature Meets Art" title="Where Nature Meets Art"
description="We curate bespoke outdoor environments that harmonize sophisticated architectural lines with the wild beauty of native flora. Elevate your property today." description="We curate bespoke outdoor environments that harmonize sophisticated architectural lines with the wild beauty of native flora. Elevate your property today."
background={{ variant: "plain" }}
buttons={[ buttons={[
{ text: "Explore Designs", href: "#services" }, { text: "Explore Designs", href: "#services" },
{ text: "View Portfolio", href: "#team" }, { text: "View Portfolio", href: "#team" },
@@ -56,16 +57,8 @@ export default function LandscapingPage() {
buttonAnimation="slide-up" buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/town-square-shenzhen_1359-1110.jpg" imageSrc="http://img.b2bpic.net/free-photo/town-square-shenzhen_1359-1110.jpg"
imageAlt="Stunning luxury modern garden design" imageAlt="Stunning luxury modern garden design"
showDimOverlay={true} imagePosition="right"
textPosition="bottom" mediaAnimation="blur-reveal"
testimonials={[
{
name: "Elena V.", handle: "Boutique Hotel Owner", testimonial: "VerdantVista transformed our hotel courtyard into a serene sanctuary. Their eye for detail is unparalleled.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/serious-beautiful-businesswoman-standing-window_1262-1913.jpg", imageAlt: "Elena V."},
{
name: "Marcus P.", handle: "Architect", testimonial: "Collaboration was seamless. They truly understand the balance between structured design and natural growth.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/architect-being-serious-while-looking-camera_23-2148242992.jpg", imageAlt: "Marcus P."},
]}
/> />
</div> </div>
@@ -95,11 +88,11 @@ export default function LandscapingPage() {
useInvertedBackground={false} useInvertedBackground={false}
features={[ features={[
{ {
tag: "Design", title: "Master Planning", subtitle: "Conceptual Vision", description: "Comprehensive site analysis and 3D visualization to ensure your vision is realized before construction begins.", imageSrc: "http://img.b2bpic.net/free-vector/architecture-background-design_1168-66.jpg", imageAlt: "Landscape architectural blueprint"}, tag: "Design", title: "Master Planning", subtitle: "Conceptual Vision", description: "Comprehensive site analysis and 3D visualization to ensure your vision is realized before construction begins.", imageSrc: "http://img.b2bpic.net/free-vector/architecture-background-design_1168-66.jpg", imageAlt: "Landscape architectural blueprint"},
{ {
tag: "Construction", title: "Hardscape Artistry", subtitle: "Precision Build", description: "Natural stone masonry, custom water features, and architectural lighting installations built to last.", imageSrc: "http://img.b2bpic.net/free-photo/swimming-pool-top-view_1150-11006.jpg", imageAlt: "Modern patio hardscape"}, tag: "Construction", title: "Hardscape Artistry", subtitle: "Precision Build", description: "Natural stone masonry, custom water features, and architectural lighting installations built to last.", imageSrc: "http://img.b2bpic.net/free-photo/swimming-pool-top-view_1150-11006.jpg", imageAlt: "Modern patio hardscape"},
{ {
tag: "Horticulture", title: "Botanical Curation", subtitle: "Native Planting", description: "Selecting sustainable, climate-adapted plants to ensure your garden remains vibrant through every season.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-arrangement-with-pink-purple-flowers_23-2148447138.jpg", imageAlt: "Lush botanical garden"}, tag: "Horticulture", title: "Botanical Curation", subtitle: "Native Planting", description: "Selecting sustainable, climate-adapted plants to ensure your garden remains vibrant through every season.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-arrangement-with-pink-purple-flowers_23-2148447138.jpg", imageAlt: "Lush botanical garden"},
]} ]}
/> />
</div> </div>
@@ -114,11 +107,11 @@ export default function LandscapingPage() {
animationType="slide-up" animationType="slide-up"
members={[ members={[
{ {
id: "1", name: "Award-Winning", role: "Recognized globally for landscape innovation and sustainability.", imageSrc: "http://img.b2bpic.net/free-photo/golden-trophy-award-white-background_187299-46243.jpg", imageAlt: "Award trophy"}, id: "1", name: "Award-Winning", role: "Recognized globally for landscape innovation and sustainability.", imageSrc: "http://img.b2bpic.net/free-photo/golden-trophy-award-white-background_187299-46243.jpg", imageAlt: "Award trophy"},
{ {
id: "2", name: "Sustainable", role: "We use exclusively organic soil and low-impact machinery.", imageSrc: "http://img.b2bpic.net/free-photo/save-planet-sustainable-energy-saving-ecology-environment_53876-128096.jpg", imageAlt: "Green leaf eco-symbol"}, id: "2", name: "Sustainable", role: "We use exclusively organic soil and low-impact machinery.", imageSrc: "http://img.b2bpic.net/free-photo/save-planet-sustainable-energy-saving-ecology-environment_53876-128096.jpg", imageAlt: "Green leaf eco-symbol"},
{ {
id: "3", name: "Dedicated", role: "Our crew stays on your site until the project is absolute perfection.", imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-cheerful-gardener-covering-nose-from-smell-with-fingers_176420-3809.jpg", imageAlt: "Landscaper working"}, id: "3", name: "Dedicated", role: "Our crew stays on your site until the project is absolute perfection.", imageSrc: "http://img.b2bpic.net/free-photo/young-handsome-cheerful-gardener-covering-nose-from-smell-with-fingers_176420-3809.jpg", imageAlt: "Landscaper working"},
]} ]}
/> />
</div> </div>
@@ -134,11 +127,11 @@ export default function LandscapingPage() {
animationType="slide-up" animationType="slide-up"
members={[ members={[
{ {
id: "1", name: "Julian Thorne", role: "Lead Landscape Architect", imageSrc: "http://img.b2bpic.net/free-photo/man-with-construction-plan-copy-space_23-2148269820.jpg", imageAlt: "Julian Thorne"}, id: "1", name: "Julian Thorne", role: "Lead Landscape Architect", imageSrc: "http://img.b2bpic.net/free-photo/man-with-construction-plan-copy-space_23-2148269820.jpg", imageAlt: "Julian Thorne"},
{ {
id: "2", name: "Sofia Reyes", role: "Senior Horticulturalist", imageSrc: "http://img.b2bpic.net/free-photo/young-smiling-florist-apron-standing-with-notepad-pencil-hands-happily-looking-camera-while-working-greenhouse_574295-749.jpg", imageAlt: "Sofia Reyes"}, id: "2", name: "Sofia Reyes", role: "Senior Horticulturalist", imageSrc: "http://img.b2bpic.net/free-photo/young-smiling-florist-apron-standing-with-notepad-pencil-hands-happily-looking-camera-while-working-greenhouse_574295-749.jpg", imageAlt: "Sofia Reyes"},
{ {
id: "3", name: "Liam O'Connor", role: "Director of Hardscapes", imageSrc: "http://img.b2bpic.net/free-photo/architect-safety-equipment-with-plans_23-2148242982.jpg", imageAlt: "Liam O'Connor"}, id: "3", name: "Liam O'Connor", role: "Director of Hardscapes", imageSrc: "http://img.b2bpic.net/free-photo/architect-safety-equipment-with-plans_23-2148242982.jpg", imageAlt: "Liam O'Connor"},
]} ]}
/> />
</div> </div>

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-inter-tight), 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-inter-tight), sans-serif; font-family: var(--font-dm-sans), sans-serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f7f9f4; --background: #f5f4ef;
--card: #ffffff; --card: #dad6cd;
--foreground: #1a2e1a; --foreground: #2a2928;
--primary-cta: #2d5a27; --primary-cta: #2a2928;
--primary-cta-text: #ffffff; --primary-cta-text: #f5f4ef;
--secondary-cta: #ffffff; --secondary-cta: #ecebea;
--secondary-cta-text: #2d5a27; --secondary-cta-text: #2a2928;
--accent: #4a8c3f; --accent: #ffffff;
--background-accent: #6fb85e; --background-accent: #c6b180;
/* 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);