7 Commits

Author SHA1 Message Date
f7cf7cb3a5 Merge version_3 into main
Merge version_3 into main
2026-06-03 18:17:24 +00:00
5c1c77445c Update src/app/styles/variables.css 2026-06-03 18:17:21 +00:00
e731fe79f1 Update src/app/styles/base.css 2026-06-03 18:17:21 +00:00
e7eab646c0 Update src/app/page.tsx 2026-06-03 18:17:20 +00:00
61b29ab023 Update src/app/layout.tsx 2026-06-03 18:17:20 +00:00
163c654314 Merge version_2 into main
Merge version_2 into main
2026-06-03 18:15:04 +00:00
476c441d91 Merge version_2 into main
Merge version_2 into main
2026-06-03 18:14:38 +00:00
4 changed files with 276 additions and 256 deletions

View File

@@ -6,23 +6,23 @@ import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Manrope } from "next/font/google";
import { DM_Sans } 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: 'JJS Studios | Bespoke Web Design & Digital Experiences',
description: 'Transform your vision into a captivating online experience with JJS Studios. We specialize in bespoke web design, development, and digital strategy.',
};
const manrope = Manrope({
variable: "--font-manrope", subsets: ["latin"],
});
const dmSans = DM_Sans({
variable: "--font-dm-sans", subsets: ["latin"],
});
export default function RootLayout({
children,
}: Readonly<{
@@ -31,9 +31,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} antialiased`}
>
<body className={`${manrope.variable} ${dmSans.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -18,16 +18,16 @@ import { Sparkles, Search, ArrowUpRight, Monitor, Shield, Zap, Puzzle, TrendingU
export default function WebAgency2Page() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultButtonVariant="directional-hover"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="metallic"
secondaryButtonStyle="glass"
headingFontWeight="medium"
cardStyle="solid"
primaryButtonStyle="shadow"
secondaryButtonStyle="solid"
headingFontWeight="semibold"
>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
@@ -40,6 +40,7 @@ export default function WebAgency2Page() {
]}
button={{ text: "Get Started", href: "#contact" }}
/>
<div id="hero" data-section="hero">
<HeroSplitDoubleCarousel
title="JJS Studios: Crafting Digital Experiences That Elevate Your Brand"
description="Transform your brand with cutting-edge web design and development. We craft stunning websites that convert visitors into customers."
@@ -68,6 +69,8 @@ export default function WebAgency2Page() {
]}
carouselItemClassName="!aspect-[4/5]"
/>
</div>
<div id="services" data-section="services">
<FeatureBento
title="Our Services"
description="We offer a full suite of digital services to help your brand stand out online."
@@ -97,6 +100,8 @@ export default function WebAgency2Page() {
},
]}
/>
</div>
<div id="work" data-section="work">
<FeatureCardTwentySix
title="Our Work"
description="A selection of projects we've crafted for clients across industries."
@@ -123,6 +128,8 @@ export default function WebAgency2Page() {
buttonHref: "#"},
]}
/>
</div>
<div id="promise" data-section="promise">
<FeatureBento
title="Our Promise"
description="We deliver results that speak for themselves."
@@ -167,6 +174,8 @@ export default function WebAgency2Page() {
title: "Growth Trends", description: "Data-driven insights to optimize your search presence and drive traffic.", bentoComponent: "line-chart"},
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFifteen
testimonial="Webild completely transformed our online presence. The team delivered a stunning website that exceeded our expectations and doubled our conversion rate."
rating={5}
@@ -178,6 +187,8 @@ export default function WebAgency2Page() {
avatarsAnimation="slide-up"
useInvertedBackground={false}
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardOne
title="Trusted by Industry Leaders"
description="Years of experience building digital products that drive real results for JJS Studios."
@@ -191,6 +202,8 @@ export default function WebAgency2Page() {
{ id: "years", value: "8+", title: "Years", description: "Of crafting exceptional digital experiences", icon: TrendingUp },
]}
/>
</div>
<div id="why-choose" data-section="why-choose">
<FeatureCardSixteen
title="Why Choose JJS Studios"
description="See the difference a professional web agency makes."
@@ -206,6 +219,8 @@ export default function WebAgency2Page() {
"Custom designs tailored to your brand", "Lightning-fast performance on all devices", "Built-in SEO to drive organic traffic", "Modern design that builds trust", "Dedicated support and maintenance"],
}}
/>
</div>
<div id="about" data-section="about">
<TeamCardFive
title="Meet the Team"
description="The creative minds behind your next project."
@@ -219,6 +234,8 @@ export default function WebAgency2Page() {
{ id: "3", name: "Carlos Mendoza", role: "UX Designer", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/team-3.webp", imageAlt: "Carlos Mendoza" },
]}
/>
</div>
<div id="faq" data-section="faq">
<FaqBase
title="Frequently Asked Questions"
description="Everything you need to know about working with us."
@@ -233,6 +250,8 @@ export default function WebAgency2Page() {
{ id: "5", title: "What technologies do you use?", content: "We build with modern technologies including Next.js, React, and Tailwind CSS to ensure fast, scalable, and maintainable websites." },
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
tag="Get in Touch"
title="Ready to Transform Your Digital Presence?"
@@ -245,6 +264,8 @@ export default function WebAgency2Page() {
buttonAnimation="slide-up"
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
logoText="JJS Studios"
copyrightText="© 2026 | JJS Studios"
@@ -275,6 +296,7 @@ export default function WebAgency2Page() {
},
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);

View File

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

View File

@@ -13,12 +13,12 @@
--background: #000000;
--card: #0c0c0c;
--foreground: #ffffff;
--primary-cta: #106EFB;
--primary-cta: #cee7ff;
--primary-cta-text: #ffffff;
--secondary-cta: #000000;
--secondary-cta-text: #ffffff;
--accent: #535353;
--background-accent: #106EFB;
--background-accent: #CEE7FF;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);