17 Commits

Author SHA1 Message Date
9f834bd944 Update src/app/styles/variables.css 2026-03-03 10:36:08 +00:00
ddd734de09 Update src/app/page.tsx 2026-03-03 10:36:07 +00:00
90f5228e28 Update src/app/layout.tsx 2026-03-03 10:36:06 +00:00
9cff208892 Merge version_3 into main
Merge version_3 into main
2026-03-03 10:23:14 +00:00
575ea3fb4f Update src/app/page.tsx 2026-03-03 10:23:07 +00:00
72166807a3 Merge version_3 into main
Merge version_3 into main
2026-03-03 10:20:06 +00:00
7a58db8a9d Update src/app/styles/variables.css 2026-03-03 10:20:01 +00:00
9cfd647b44 Update src/app/page.tsx 2026-03-03 10:20:01 +00:00
0e0cab4023 Update src/app/layout.tsx 2026-03-03 10:20:00 +00:00
d6c14791db Merge version_2 into main
Merge version_2 into main
2026-03-03 10:12:53 +00:00
4bae18349a Update src/app/styles/variables.css 2026-03-03 10:12:48 +00:00
b35955abae Update src/app/styles/base.css 2026-03-03 10:12:47 +00:00
0c2aa8eb77 Update src/app/page.tsx 2026-03-03 10:12:46 +00:00
15f2bc7e17 Update src/app/layout.tsx 2026-03-03 10:12:44 +00:00
70aaf2afa8 Merge version_1 into main
Merge version_1 into main
2026-03-03 01:47:02 +00:00
ea838225f8 Merge version_1 into main
Merge version_1 into main
2026-03-03 01:46:07 +00:00
d72bf09ff2 Merge version_1 into main
Merge version_1 into main
2026-03-03 01:44:52 +00:00
4 changed files with 126 additions and 82 deletions

View File

@@ -1,17 +1,16 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Libre_Baskerville } from "next/font/google"; import { Cormorant_Garamond, DM_Sans } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css"; import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
const libreBaskerville = Libre_Baskerville({ const cormorantGaramond = Cormorant_Garamond({
variable: "--font-libre-baskerville", subsets: ["latin"], variable: "--font-cormorant-garamond", subsets: ["latin"],
weight: ["400", "700"], weight: ["300", "400", "500", "600", "700"],
}); });
const inter = Inter({ const dmSans = DM_Sans({
variable: "--font-inter", subsets: ["latin"], variable: "--font-dm-sans", subsets: ["latin"],
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
@@ -27,7 +26,9 @@ export const metadata: Metadata = {
] ]
}, },
twitter: { twitter: {
card: "summary_large_image", title: "Crumb & Co. | Baked With Obsession", description: "Premium artisan bakery in your neighborhood.", images: ["http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg"] card: "summary_large_image", title: "Crumb & Co. | Baked With Obsession", description: "Premium artisan bakery in your neighborhood.", images: [
"http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg"
]
}, },
robots: { robots: {
index: true, index: true,
@@ -36,7 +37,7 @@ export const metadata: Metadata = {
}; };
export default function RootLayout({ export default function RootLayout({
children, children
}: Readonly<{ }: Readonly<{
children: React.ReactNode; children: React.ReactNode;
}>) { }>) {
@@ -44,7 +45,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body <body
className={`${libreBaskerville.variable} ${inter.variable} antialiased`} className={`${cormorantGaramond.variable} ${dmSans.variable} antialiased`}
> >
<Tag /> <Tag />
{children} {children}

View File

@@ -10,21 +10,35 @@ import TestimonialCardTwelve from "@/components/sections/testimonial/Testimonial
import PricingCardNine from "@/components/sections/pricing/PricingCardNine"; import PricingCardNine from "@/components/sections/pricing/PricingCardNine";
import ContactCTA from "@/components/sections/contact/ContactCTA"; import ContactCTA from "@/components/sections/contact/ContactCTA";
import FooterCard from "@/components/sections/footer/FooterCard"; import FooterCard from "@/components/sections/footer/FooterCard";
import { Award, BookOpen, Facebook, Globe, Heart, Instagram, Layers, Leaf, Mail, Sparkles, Timer, Twitter, Zap } from "lucide-react"; import {
Award,
BookOpen,
Facebook,
Globe,
Heart,
Instagram,
Layers,
Leaf,
Mail,
Sparkles,
Timer,
Twitter,
Zap,
} from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="icon-arrow" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="reveal-blur" defaultTextAnimation="reveal-blur"
borderRadius="rounded" borderRadius="soft"
contentWidth="small" contentWidth="medium"
sizing="large" sizing="largeSizeMediumTitles"
background="aurora" background="none"
cardStyle="solid" cardStyle="gradient-mesh"
primaryButtonStyle="primary-glow" primaryButtonStyle="radial-glow"
secondaryButtonStyle="layered" secondaryButtonStyle="glass"
headingFontWeight="light" headingFontWeight="bold"
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
@@ -33,7 +47,7 @@ export default function LandingPage() {
{ name: "Menu", id: "signature-menu" }, { name: "Menu", id: "signature-menu" },
{ name: "Our Story", id: "our-story" }, { name: "Our Story", id: "our-story" },
{ name: "Process", id: "process-craft" }, { name: "Process", id: "process-craft" },
{ name: "Contact", id: "contact-cta" } { name: "Contact", id: "contact-cta" },
]} ]}
button={{ text: "Order Now", href: "#contact-cta" }} button={{ text: "Order Now", href: "#contact-cta" }}
animateOnLoad={true} animateOnLoad={true}
@@ -49,36 +63,44 @@ export default function LandingPage() {
background={{ variant: "plain" }} background={{ variant: "plain" }}
leftCarouselItems={[ leftCarouselItems={[
{ {
imageSrc: "http://img.b2bpic.net/free-photo/air-croissant-with-strawberry-syrup-top-glass-milk_140725-9770.jpg", imageAlt: "Layered croissant with butter lamination" imageSrc:
"http://img.b2bpic.net/free-photo/air-croissant-with-strawberry-syrup-top-glass-milk_140725-9770.jpg", imageAlt: "Layered croissant with butter lamination"
}, },
{ {
imageSrc: "http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=1", imageAlt: "Artisan sourdough loaf" imageSrc:
"http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=1", imageAlt: "Artisan sourdough loaf"
}, },
{ {
imageSrc: "http://img.b2bpic.net/free-photo/delicious-slice-pizza-with-vegetables_23-2148753757.jpg?_wi=1", imageAlt: "Herb-infused focaccia" imageSrc:
"http://img.b2bpic.net/free-photo/delicious-slice-pizza-with-vegetables_23-2148753757.jpg?_wi=1", imageAlt: "Herb-infused focaccia"
}, },
{ {
imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-delicious-fruit-pies-with-plums_23-2148834016.jpg?_wi=1", imageAlt: "Seasonal fruit tart" imageSrc:
} "http://img.b2bpic.net/free-photo/flat-lay-delicious-fruit-pies-with-plums_23-2148834016.jpg?_wi=1", imageAlt: "Seasonal fruit tart"
},
]} ]}
rightCarouselItems={[ rightCarouselItems={[
{ {
imageSrc: "http://img.b2bpic.net/free-photo/baker-forming-dough-sphere-wooden-board_74855-5658.jpg?_wi=1", imageAlt: "Handcrafting in progress" imageSrc:
"http://img.b2bpic.net/free-photo/baker-forming-dough-sphere-wooden-board_74855-5658.jpg?_wi=1", imageAlt: "Handcrafting in progress"
}, },
{ {
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-kneading-dough-pastry_53876-13989.jpg?_wi=1", imageAlt: "Mixing premium dough" imageSrc:
"http://img.b2bpic.net/free-photo/close-up-hands-kneading-dough-pastry_53876-13989.jpg?_wi=1", imageAlt: "Mixing premium dough"
}, },
{ {
imageSrc: "http://img.b2bpic.net/free-photo/active-rye-wheat-sourdough-starter-glass-jar-ingredient-flour-freshly-baked-whole-grain-bread-laid-out-table_166373-2177.jpg", imageAlt: "Natural fermentation" imageSrc:
"http://img.b2bpic.net/free-photo/active-rye-wheat-sourdough-starter-glass-jar-ingredient-flour-freshly-baked-whole-grain-bread-laid-out-table_166373-2177.jpg", imageAlt: "Natural fermentation"
}, },
{ {
imageSrc: "http://img.b2bpic.net/free-photo/rollcake-with-eclairs-pie-slices_114579-20806.jpg", imageAlt: "Artful plating and presentation" imageSrc:
} "http://img.b2bpic.net/free-photo/rollcake-with-eclairs-pie-slices_114579-20806.jpg", imageAlt: "Artful plating and presentation"
},
]} ]}
carouselPosition="right" carouselPosition="right"
buttons={[ buttons={[
{ text: "Explore Menu", href: "#signature-menu" }, { text: "Explore Menu", href: "#signature-menu" },
{ text: "Reserve a Tasting", href: "#contact-cta" } { text: "Reserve a Tasting", href: "#contact-cta" },
]} ]}
buttonAnimation="blur-reveal" buttonAnimation="blur-reveal"
tagAnimation="slide-up" tagAnimation="slide-up"
@@ -96,17 +118,21 @@ export default function LandingPage() {
animationType="slide-up" animationType="slide-up"
products={[ products={[
{ {
id: "butter-croissant", name: "Beurre de Normandie Croissant", price: "$6.50", variant: "Classic Laminated", imageSrc: "http://img.b2bpic.net/free-photo/breakfast-set-flat-lay-with-croissant-raspberry-jam-food-photography_53876-108045.jpg", imageAlt: "Golden butter croissant" id: "butter-croissant", name: "Beurre de Normandie Croissant", price: "$6.50", variant: "Classic Laminated", imageSrc:
"http://img.b2bpic.net/free-photo/breakfast-set-flat-lay-with-croissant-raspberry-jam-food-photography_53876-108045.jpg", imageAlt: "Golden butter croissant"
}, },
{ {
id: "sourdough-loaf", name: "48-Hour Cold Ferment Sourdough", price: "$8.00", variant: "Whole Loaf", imageSrc: "http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=2", imageAlt: "Artisan sourdough loaf" id: "sourdough-loaf", name: "48-Hour Cold Ferment Sourdough", price: "$8.00", variant: "Whole Loaf", imageSrc:
"http://img.b2bpic.net/free-photo/baker-holds-homemade-craft-bread-his-hands_166373-749.jpg?_wi=2", imageAlt: "Artisan sourdough loaf"
}, },
{ {
id: "focaccia", name: "Rosemary & Fleur de Sel Focaccia", price: "$7.50", variant: "Half Sheet", imageSrc: "http://img.b2bpic.net/free-photo/delicious-slice-pizza-with-vegetables_23-2148753757.jpg?_wi=2", imageAlt: "Herb-infused focaccia" id: "focaccia", name: "Rosemary & Fleur de Sel Focaccia", price: "$7.50", variant: "Half Sheet", imageSrc:
"http://img.b2bpic.net/free-photo/delicious-slice-pizza-with-vegetables_23-2148753757.jpg?_wi=2", imageAlt: "Herb-infused focaccia"
}, },
{ {
id: "tart", name: "Seasonal Stone Fruit Tart", price: "$9.00", variant: "Individual", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-delicious-fruit-pies-with-plums_23-2148834016.jpg?_wi=2", imageAlt: "Artfully arranged fruit tart" id: "tart", name: "Seasonal Stone Fruit Tart", price: "$9.00", variant: "Individual", imageSrc:
} "http://img.b2bpic.net/free-photo/flat-lay-delicious-fruit-pies-with-plums_23-2148834016.jpg?_wi=2", imageAlt: "Artfully arranged fruit tart"
},
]} ]}
gridVariant="two-columns-alternating-heights" gridVariant="two-columns-alternating-heights"
buttons={[{ text: "Full Menu", href: "#" }]} buttons={[{ text: "Full Menu", href: "#" }]}
@@ -127,17 +153,21 @@ export default function LandingPage() {
mediaAnimation="blur-reveal" mediaAnimation="blur-reveal"
bulletPoints={[ bulletPoints={[
{ {
title: "European Heritage", description: "Techniques honed across Lyon, Copenhagen, and San Francisco. Every croissant folds a century of expertise.", icon: Globe title: "European Heritage", description:
"Techniques honed across Lyon, Copenhagen, and San Francisco. Every croissant folds a century of expertise.", icon: Globe,
}, },
{ {
title: "Local Sourcing", description: "We partner with regional farms and mills, honoring both quality and community. Flour changes seasonally.", icon: Leaf title: "Local Sourcing", description:
"We partner with regional farms and mills, honoring both quality and community. Flour changes seasonally.", icon: Leaf,
}, },
{ {
title: "Small Batch Perfection", description: "Limited daily quantities ensure freshness. We never compromise flavor for volume.", icon: Zap title: "Small Batch Perfection", description:
"Limited daily quantities ensure freshness. We never compromise flavor for volume.", icon: Zap,
}, },
{ {
title: "No Shortcuts", description: "Cold fermentation, hand-lamination, and natural starters define our process. Patience is an ingredient.", icon: Timer title: "No Shortcuts", description:
} "Cold fermentation, hand-lamination, and natural starters define our process. Patience is an ingredient.", icon: Timer,
},
]} ]}
buttons={[{ text: "Visit Us", href: "#" }]} buttons={[{ text: "Visit Us", href: "#" }]}
/> />
@@ -156,17 +186,21 @@ export default function LandingPage() {
mediaAnimation="slide-up" mediaAnimation="slide-up"
accordionItems={[ accordionItems={[
{ {
id: "mixing", title: "Mixing & Development", content: "Premium flours from heritage mills are hydrated and mixed using time-honored techniques. The dough develops strength through patience, never rushing the gluten structure that gives our breads their distinctive crumb." id: "mixing", title: "Mixing & Development", content:
"Premium flours from heritage mills are hydrated and mixed using time-honored techniques. The dough develops strength through patience, never rushing the gluten structure that gives our breads their distinctive crumb."
}, },
{ {
id: "proofing", title: "Cold Fermentation (48 Hours)", content: "Temperature control is paramount. Our sourdoughs spend 48 hours in climate-controlled chambers at precise temperatures, allowing flavor to deepen and complexity to emerge through natural fermentation." id: "proofing", title: "Cold Fermentation (48 Hours)", content:
"Temperature control is paramount. Our sourdoughs spend 48 hours in climate-controlled chambers at precise temperatures, allowing flavor to deepen and complexity to emerge through natural fermentation."
}, },
{ {
id: "baking", title: "Oven Spring & Crust", content: "Stone-bottom ovens reach 500°F. Steam injection creates the signature crackle and caramelization. Bakers read color and sound—each loaf is unique, requiring intuition and experience." id: "baking", title: "Oven Spring & Crust", content:
"Stone-bottom ovens reach 500°F. Steam injection creates the signature crackle and caramelization. Bakers read color and sound—each loaf is unique, requiring intuition and experience."
}, },
{ {
id: "finishing", title: "Cooling & Rest", content: "Fresh bread continues to develop as it cools. We package only when temperature drops to preserve moisture and flavor. Same-day delivery to local restaurants and retail partners." id: "finishing", title: "Cooling & Rest", content:
} "Fresh bread continues to develop as it cools. We package only when temperature drops to preserve moisture and flavor. Same-day delivery to local restaurants and retail partners."
},
]} ]}
buttons={[{ text: "Learn More", href: "#" }]} buttons={[{ text: "Learn More", href: "#" }]}
/> />
@@ -176,23 +210,29 @@ export default function LandingPage() {
<TestimonialCardTwelve <TestimonialCardTwelve
testimonials={[ testimonials={[
{ {
id: "1", name: "Sarah Chen", imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=1", imageAlt: "Sarah Chen" id: "1", name: "Sarah Chen", imageSrc:
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=1", imageAlt: "Sarah Chen"
}, },
{ {
id: "2", name: "Michael Torres", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "Michael Torres" id: "2", name: "Michael Torres", imageSrc:
"http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "Michael Torres"
}, },
{ {
id: "3", name: "Elena Russo", imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=2", imageAlt: "Elena Russo" id: "3", name: "Elena Russo", imageSrc:
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=2", imageAlt: "Elena Russo"
}, },
{ {
id: "4", name: "James Liu", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "James Liu" id: "4", name: "James Liu", imageSrc:
"http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "James Liu"
}, },
{ {
id: "5", name: "Grace Williams", imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=3", imageAlt: "Grace Williams" id: "5", name: "Grace Williams", imageSrc:
"http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=3", imageAlt: "Grace Williams"
}, },
{ {
id: "6", name: "David Ahmed", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3", imageAlt: "David Ahmed" id: "6", name: "David Ahmed", imageSrc:
} "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3", imageAlt: "David Ahmed"
},
]} ]}
cardTitle="Trusted by thousands of neighborhood coffee lovers, chefs, and bread obsessives who believe excellence matters." cardTitle="Trusted by thousands of neighborhood coffee lovers, chefs, and bread obsessives who believe excellence matters."
cardTag="What They Say" cardTag="What They Say"
@@ -212,17 +252,19 @@ export default function LandingPage() {
animationType="slide-up" animationType="slide-up"
plans={[ plans={[
{ {
id: "weekday", title: "Weekday Schedule", price: "MonFri", period: "6am 8pm", imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-kneading-dough-pastry_53876-13989.jpg?_wi=3", imageAlt: "Morning baking", features: [ id: "weekday", title: "Weekday Schedule", price: "MonFri", period: "6am 8pm", imageSrc:
"http://img.b2bpic.net/free-photo/close-up-hands-kneading-dough-pastry_53876-13989.jpg?_wi=3", imageAlt: "Morning baking", features: [
"Full pastry selection", "Fresh sourdough (limited daily)", "Seasonal specials", "Coffee & beverages" "Full pastry selection", "Fresh sourdough (limited daily)", "Seasonal specials", "Coffee & beverages"
], ],
button: { text: "Get Directions", href: "#" } button: { text: "Get Directions", href: "#" },
}, },
{ {
id: "weekend", title: "Weekend Brunch", price: "SatSun", period: "7am 7pm", imageSrc: "http://img.b2bpic.net/free-photo/baker-forming-dough-sphere-wooden-board_74855-5658.jpg?_wi=3", imageAlt: "Weekend gathering", features: [ id: "weekend", title: "Weekend Brunch", price: "SatSun", period: "7am 7pm", imageSrc:
"http://img.b2bpic.net/free-photo/baker-forming-dough-sphere-wooden-board_74855-5658.jpg?_wi=3", imageAlt: "Weekend gathering", features: [
"Extended pastry menu", "Brunch specials", "Family-friendly seating", "Reserve a table ahead" "Extended pastry menu", "Brunch specials", "Family-friendly seating", "Reserve a table ahead"
], ],
button: { text: "Reserve Now", href: "#contact-cta" } button: { text: "Reserve Now", href: "#contact-cta" },
} },
]} ]}
/> />
</div> </div>
@@ -236,7 +278,7 @@ export default function LandingPage() {
description="For private events, wholesale inquiries, or baking consultations, we'd love to hear from you. Drop by the shop or send us a message." description="For private events, wholesale inquiries, or baking consultations, we'd love to hear from you. Drop by the shop or send us a message."
buttons={[ buttons={[
{ text: "Contact Us", href: "mailto:hello@crumbandco.com" }, { text: "Contact Us", href: "mailto:hello@crumbandco.com" },
{ text: "Call: (555) 123-BAKE", href: "tel:+15551235253" } { text: "Call: (555) 123-BAKE", href: "tel:+15551235253" },
]} ]}
background={{ variant: "plain" }} background={{ variant: "plain" }}
useInvertedBackground={false} useInvertedBackground={false}
@@ -248,9 +290,18 @@ export default function LandingPage() {
logoText="Crumb & Co." logoText="Crumb & Co."
copyrightText="© 2025 Crumb & Co. | Baked with Obsession" copyrightText="© 2025 Crumb & Co. | Baked with Obsession"
socialLinks={[ socialLinks={[
{ icon: Instagram, href: "https://instagram.com", ariaLabel: "Follow us on Instagram" }, {
{ icon: Facebook, href: "https://facebook.com", ariaLabel: "Follow us on Facebook" }, icon: Instagram,
{ icon: Twitter, href: "https://twitter.com", ariaLabel: "Follow us on Twitter" } href: "https://instagram.com", ariaLabel: "Follow us on Instagram"
},
{
icon: Facebook,
href: "https://facebook.com", ariaLabel: "Follow us on Facebook"
},
{
icon: Twitter,
href: "https://twitter.com", ariaLabel: "Follow us on Twitter"
},
]} ]}
/> />
</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), sans-serif; font-family: var(--font-dm-sans), 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-libre-baskerville), serif; font-family: var(--font-cormorant-garamond), serif;
} }

View File

@@ -2,23 +2,15 @@
/* Base units */ /* Base units */
/* --vw is set by ThemeProvider */ /* --vw is set by ThemeProvider */
/* --background: #F5ECD7;; --background: #f6f0e9;
--card: #FBF7F0;; --card: #efe7dd;
--foreground: #2C1A0E;; --foreground: #2b180a;
--primary-cta: #C4714F;; --primary-cta: #8b4513;
--secondary-cta: #F5ECD7;; --primary-cta-text: #F5ECD7;
--accent: #8A9E7B;; --secondary-cta: #efe7dd;
--background-accent: #2C1A0E;; */ --secondary-cta-text: #2C1A0E;
--accent: #a0826d;
--background: #F5ECD7;; --background-accent: #d4a574;
--card: #FBF7F0;;
--foreground: #2C1A0E;;
--primary-cta: #C4714F;;
--primary-cta-text: #F5ECD7;;
--secondary-cta: #F5ECD7;;
--secondary-cta-text: #2C1A0E;;
--accent: #8A9E7B;;
--background-accent: #2C1A0E;;
/* 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);