Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 64a5210e85 | |||
| b5f508cbf8 | |||
| 3f120ba239 | |||
| e4526dd844 | |||
| 9e7776732e | |||
| f9f17027aa | |||
| 99b1b3cdf5 |
@@ -1,62 +1,30 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
import { DM_Sans } from "next/font/google";
|
||||||
import { Inter } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import { Source_Sans_3 } from "next/font/google";
|
import "./styles/variables.css";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const halant = Halant({
|
const dmSans = DM_Sans({
|
||||||
variable: "--font-halant",
|
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"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const sourceSans3 = Source_Sans_3({
|
|
||||||
variable: "--font-source-sans-3",
|
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Performance Marketing for Service Businesses | ThirdLinkMedia",
|
title: "ThirdLinkMedia - Performance Marketing for Service Businesses", description: "Results-driven performance marketing for service businesses. Predictable client acquisition tied to real revenue growth."};
|
||||||
description: "Results-driven marketing for high-value service firms. We deliver qualified clients tied to real revenue growth—no vanity metrics. Book your discovery call today.",
|
|
||||||
keywords: "performance marketing, service business marketing, B2B marketing, lead generation, client acquisition",
|
|
||||||
openGraph: {
|
|
||||||
title: "Performance Marketing for Service Businesses That Actually Work",
|
|
||||||
description: "Predictable client acquisition tied to real revenue growth. ThirdLinkMedia specializes in high-value service businesses.",
|
|
||||||
siteName: "ThirdLinkMedia",
|
|
||||||
type: "website",
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image",
|
|
||||||
title: "Performance Marketing for Service Businesses",
|
|
||||||
description: "Results-driven marketing. Qualified leads. Measurable ROI.",
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={`${dmSans.variable} ${inter.variable}`}>
|
||||||
<body
|
{children}
|
||||||
className={`${halant.variable} ${inter.variable} ${sourceSans3.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1424,7 +1392,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -252,4 +252,4 @@ export default function HomePage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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-source-sans-3), 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-source-sans-3), sans-serif;
|
font-family: var(--font-dm-sans), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #f5f5f5;
|
--background: #f5faff;
|
||||||
--card: #ffffff;
|
--card: #f1f8ff;
|
||||||
--foreground: #1c1c1c;
|
--foreground: #001122;
|
||||||
--primary-cta: #1c1c1c;
|
--primary-cta: #0798ff;
|
||||||
--primary-cta-text: #f5f5f5;
|
--primary-cta-text: #f5f5f5;
|
||||||
--secondary-cta: #ffffff;
|
--secondary-cta: #ffffff;
|
||||||
--secondary-cta-text: #1c1c1c;
|
--secondary-cta-text: #1c1c1c;
|
||||||
--accent: #e63946;
|
--accent: #93c7ff;
|
||||||
--background-accent: #e8bea8;
|
--background-accent: #a8cde8;
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user