Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 45e14c3f46 | |||
| 935006000b | |||
| 5435f49fbb | |||
| 37d3b5ac45 | |||
| b46d9b1cfb | |||
| 03c5a859a0 | |||
| 234df95761 | |||
| 7d4372fd2b | |||
| 9d9c9d1d4a | |||
| 13353ecc05 |
@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
import { DM_Sans } from "next/font/google";
|
||||
import { Cormorant_Garamond, Montserrat } from "next/font/google";
|
||||
|
||||
|
||||
|
||||
@@ -20,13 +21,14 @@ export const metadata: Metadata = {
|
||||
},
|
||||
};
|
||||
|
||||
const dmSans = DM_Sans({
|
||||
variable: "--font-dm-sans",
|
||||
subsets: ["latin"],
|
||||
|
||||
const cormorantGaramond = Cormorant_Garamond({
|
||||
variable: "--font-cormorant", subsets: ["latin"],
|
||||
weight: ["700"],
|
||||
});
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
const montserrat = Montserrat({
|
||||
variable: "--font-montserrat", subsets: ["latin"],
|
||||
weight: ["500"],
|
||||
});
|
||||
|
||||
export default function RootLayout({
|
||||
@@ -37,7 +39,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${dmSans.variable} ${inter.variable} antialiased`}>
|
||||
<body className={`${cormorantGaramond.variable} ${montserrat.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
@@ -22,16 +22,17 @@ export default function LandingPage() {
|
||||
cardStyle="outline"
|
||||
primaryButtonStyle="flat"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="semibold"
|
||||
headingFontWeight="bold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "The Evidence", id: "archive" },
|
||||
{ name: "The Manifesto", id: "manifesto" },
|
||||
{ name: "THE ESTATE", id: "archive" },
|
||||
{ name: "THE MANIFESTO", id: "manifesto" },
|
||||
]}
|
||||
brandName="ESTATE"
|
||||
className="tracking-[0.05em] uppercase"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -39,7 +40,7 @@ export default function LandingPage() {
|
||||
<HeroBillboardRotatedCarousel
|
||||
background={{ variant: "plain" }}
|
||||
title="THE WINDOW TO EUROPE"
|
||||
description="Access granted to the authorized selection. ESTATE is the preservation of rock and couture."
|
||||
description="Request Access to the authorized selection. ESTATE is the preservation of rock and couture."
|
||||
carouselItems={[
|
||||
{ id: "1", imageSrc: "http://img.b2bpic.net/free-photo/woman-lifestyle-fashion-shoot_53876-24683.jpg", imageAlt: "Architectural detail" },
|
||||
{ id: "2", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-portrait-with-overexposed-moving-style_23-2149495261.jpg?_wi=1", imageAlt: "Grainy Grisha" },
|
||||
@@ -48,6 +49,7 @@ export default function LandingPage() {
|
||||
{ id: "5", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-holding-old-mirror_23-2149640689.jpg", imageAlt: "Grainy Grisha" },
|
||||
{ id: "6", imageSrc: "http://img.b2bpic.net/free-photo/rough-concrete-wall-surface_23-2148413267.jpg", imageAlt: "Sepia architectural" },
|
||||
]}
|
||||
titleClassName="tracking-[-0.02em]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -56,6 +58,7 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
tag="MANIFESTO"
|
||||
title="THE VISION OF THE GRISHA"
|
||||
titleClassName="tracking-[-0.02em]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -65,13 +68,15 @@ export default function LandingPage() {
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="blur-reveal"
|
||||
useInvertedBackground={false}
|
||||
cardClassName="border border-[#8C5638]"
|
||||
products={[
|
||||
{ id: "001", name: "ITEM #001", price: "ARCHIVE", imageSrc: "http://img.b2bpic.net/free-photo/close-up-girl-with-vintage-backpack_23-2148752408.jpg" },
|
||||
{ id: "002", name: "ITEM #002", price: "ARCHIVE", imageSrc: "http://img.b2bpic.net/free-photo/side-view-woman-wearing-heels_23-2149741919.jpg" },
|
||||
{ id: "003", name: "ITEM #003", price: "ARCHIVE", imageSrc: "http://img.b2bpic.net/free-photo/button-warm-blue-shirt-macro-shot_169016-23219.jpg" },
|
||||
{ id: "001", name: "ITEM #001", price: "THE ESTATE", imageSrc: "http://img.b2bpic.net/free-photo/close-up-girl-with-vintage-backpack_23-2148752408.jpg" },
|
||||
{ id: "002", name: "ITEM #002", price: "THE ESTATE", imageSrc: "http://img.b2bpic.net/free-photo/side-view-woman-wearing-heels_23-2149741919.jpg" },
|
||||
{ id: "003", name: "ITEM #003", price: "THE ESTATE", imageSrc: "http://img.b2bpic.net/free-photo/button-warm-blue-shirt-macro-shot_169016-23219.jpg" },
|
||||
]}
|
||||
title="THE EVIDENCE"
|
||||
description="Pieces from the private archive."
|
||||
textBoxTitleClassName="tracking-[-0.02em]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -84,7 +89,7 @@ export default function LandingPage() {
|
||||
imageSrc="http://img.b2bpic.net/free-photo/young-woman-portrait-with-overexposed-moving-style_23-2149495261.jpg?_wi=2"
|
||||
mediaAnimation="blur-reveal"
|
||||
faqsAnimation="blur-reveal"
|
||||
buttons={[{ text: "Apply for Access", href: "/apply" }]}
|
||||
buttons={[{ text: "Request Access", href: "/apply" }]}
|
||||
faqs={[
|
||||
{ id: "q1", title: "How do I access the vault?", content: "Access is currently restricted to invite-only members." },
|
||||
{ id: "q2", title: "Is the leather ethically sourced?", content: "Every hide is vetted for quality and environmental standards." },
|
||||
@@ -92,10 +97,11 @@ export default function LandingPage() {
|
||||
{ id: "q4", title: "Are these pieces limited?", content: "Yes, every item in our archive is produced in strictly limited runs." },
|
||||
{ id: "q5", title: "Can I visit the boutique?", content: "Boutique appointments are handled via private request." },
|
||||
]}
|
||||
textBoxTitleClassName="tracking-[-0.02em]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="legal" data-section="legal">
|
||||
<div id="legal" data-section="legal" style={{ backgroundColor: '#2B231F', color: '#EAE7E1', border: '1px solid #8C5638' }}>
|
||||
<LegalSection
|
||||
layout="section"
|
||||
title="TERMS OF EXCLUSIVITY"
|
||||
@@ -103,26 +109,30 @@ export default function LandingPage() {
|
||||
{ heading: "Privacy Policy", content: [{ type: "paragraph", text: "Your data is handled with the same reverence as our craft." }] },
|
||||
{ heading: "Membership Terms", content: [{ type: "paragraph", text: "No sharing of credentials; strict adherence to the Grisha conduct." }] },
|
||||
]}
|
||||
titleClassName="tracking-[-0.02em]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<div id="footer" data-section="footer" style={{ backgroundColor: '#2B231F', color: '#EAE7E1', borderTop: '1px solid #8C5638' }}>
|
||||
<FooterBaseCard
|
||||
logoText="ESTATE"
|
||||
copyrightText="© 2025 ESTATE. All rights reserved. ESTATE is a registered trademark. Unauthorized duplication or distribution of any materials from this site is strictly prohibited and protected by international copyright laws."
|
||||
columns={[
|
||||
{
|
||||
title: "ARCHIVE", items: [
|
||||
{ label: "Instagram", href: "https://instagram.com" },
|
||||
{ label: "Vimeo", href: "#" },
|
||||
title: "THE ESTATE", items: [
|
||||
{ label: "INSTAGRAM", href: "https://instagram.com" },
|
||||
{ label: "VIMEO", href: "#" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "IDENTITY", items: [
|
||||
{ label: "Founded by THE GRISHA", href: "#" },
|
||||
{ label: "Philosophy", href: "#" },
|
||||
{ label: "FOUNDED BY THE GRISHA", href: "#" },
|
||||
{ label: "PHILOSOPHY", href: "#" },
|
||||
],
|
||||
},
|
||||
]}
|
||||
columnTitleClassName="tracking-[0.05em] uppercase"
|
||||
columnItemClassName="tracking-[0.05em] uppercase"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-inter), sans-serif;
|
||||
font-family: var(--font-montserrat), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-dm-sans), sans-serif;
|
||||
font-family: var(--font-cormorant), serif;
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #ffffff;
|
||||
--card: #ffffff;
|
||||
--foreground: #000000;
|
||||
--primary-cta: #000000;
|
||||
--background: #2B231F;
|
||||
--card: #2B231F;
|
||||
--foreground: #EAE7E1;
|
||||
--primary-cta: #8C5638;
|
||||
--primary-cta-text: #EAE7E1;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta: #EAE7E1;
|
||||
--secondary-cta-text: #2B231F;
|
||||
--accent: #1a1a1a;
|
||||
--background-accent: #f0f0f0;
|
||||
--accent: #8C5638;
|
||||
--background-accent: #3B332F;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user