-

+
Château du Faune
{{ t('footer.tagline') }}
@@ -41,19 +42,24 @@ const year = new Date().getFullYear()
href="https://www.instagram.com/chateaudufaune"
target="_blank"
rel="noopener"
- class="text-muted-foreground hover:text-primary"
+ class="inline-flex items-center gap-2 text-muted-foreground hover:text-primary"
>
- Instagram @chateaudufaune
-
-
-
-
- LinkedIn
+
+ @chateaudufaune
diff --git a/src/components/SiteHeader.vue b/src/components/SiteHeader.vue
index 5713057..285caf1 100644
--- a/src/components/SiteHeader.vue
+++ b/src/components/SiteHeader.vue
@@ -2,6 +2,7 @@
import { ref, computed, onMounted, onUnmounted, watch } from 'vue'
import { useI18n } from 'vue-i18n'
import { RouterLink, useRoute } from 'vue-router'
+import cosmicStag from '@/assets/cosmic-stag.avif'
const { t, locale } = useI18n()
const route = useRoute()
@@ -93,12 +94,12 @@ onUnmounted(() => {
-
+
Château du Faune
diff --git a/src/components/ui/button/Button.vue b/src/components/ui/button/Button.vue
new file mode 100644
index 0000000..ef04935
--- /dev/null
+++ b/src/components/ui/button/Button.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/src/components/ui/button/index.ts b/src/components/ui/button/index.ts
new file mode 100644
index 0000000..b97260b
--- /dev/null
+++ b/src/components/ui/button/index.ts
@@ -0,0 +1,34 @@
+import { cva, type VariantProps } from 'class-variance-authority'
+
+export { default as Button } from './Button.vue'
+
+export const buttonVariants = cva(
+ 'inline-flex items-center justify-center whitespace-nowrap font-display uppercase tracking-[0.2em] ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
+ {
+ variants: {
+ variant: {
+ default: 'rounded-full bg-primary text-primary-foreground hover:opacity-90',
+ outline:
+ 'rounded-full border border-accent/50 bg-transparent text-accent hover:bg-accent/10',
+ ghost: 'rounded-full text-accent hover:bg-accent/10',
+ link: 'text-accent underline-offset-4 hover:underline',
+ secondary:
+ 'rounded-full bg-secondary text-secondary-foreground hover:bg-secondary/80',
+ destructive:
+ 'rounded-full bg-destructive text-destructive-foreground hover:bg-destructive/90',
+ },
+ size: {
+ default: 'h-12 px-6 py-3 text-xs',
+ sm: 'h-9 px-4 text-[10px]',
+ lg: 'h-14 px-8 text-sm',
+ icon: 'h-10 w-10 rounded-full',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ size: 'default',
+ },
+ },
+)
+
+export type ButtonVariants = VariantProps
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
index f9db728..1658a6b 100644
--- a/src/i18n/locales/en.json
+++ b/src/i18n/locales/en.json
@@ -137,16 +137,19 @@
}
},
"home": {
- "hero": {
- "kicker": "Ariège · Pyrenean foothills",
- "lede": "An artist residency, a working farm and an events venue — practising slow living with humble reverence for the natural world.",
- "ctaVisit": "Plan your visit",
- "ctaConcept": "Discover the concept"
- },
"welcome": {
- "title": "Farmstand ✦ Land art ✦ Residency ✦ Events",
- "body": "Eleven hectares at Château de Bénac, where regenerative practices, ecological design and artistic work share the same ground. We are growing the place slowly — opening to the public in fall 2026."
+ "title": "Welcome to the Château du Faune",
+ "body": "A place to create, to grow and to rejuvenate, at the foot of the Pyrenees. An artist residency and slow-living sanctuary for crafters, agroecologists and nature-enthusiasts looking for a home on the road.",
+ "cta": "Learn more about the Center for Art & Ecology"
},
+ "bouge": {
+ "kicker": "Currently in development at the château",
+ "title": "bouge.ariege.io",
+ "subtitle": "Launching summer 2026 · Try the demo",
+ "body": "A native, community-wide, decentralised calendar-of-events app",
+ "cta": "See more"
+ },
+ "pathwaysIntro": "Here are some possible paths…",
"pathways": {
"title": "Find your way in",
"subtitle": "Four ways to meet the land.",
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json
index e9e1a05..baf9ec0 100644
--- a/src/i18n/locales/fr.json
+++ b/src/i18n/locales/fr.json
@@ -137,16 +137,19 @@
}
},
"home": {
- "hero": {
- "kicker": "Ariège · piémont pyrénéen",
- "lede": "Une résidence d'artistes, une fermette en activité et un lieu d'événements — pratiquer le slow living avec révérence pour le monde naturel.",
- "ctaVisit": "Préparer votre visite",
- "ctaConcept": "Découvrir le concept"
- },
"welcome": {
- "title": "Fermette ✦ Art de la terre ✦ Résidence ✦ Événements",
- "body": "Onze hectares au Château de Bénac, où pratiques régénératives, design écologique et création artistique partagent le même sol. Nous faisons croître ce lieu doucement — ouverture au public à l'automne 2026."
+ "title": "Bienvenue au Château du Faune",
+ "body": "Un lieu pour créer, croître et se ressourcer, au pied des Pyrénées. Une résidence d'artistes et un sanctuaire de slow living pour artisan·es, agroécologues et amoureux·euses de la nature en quête d'un foyer sur le chemin.",
+ "cta": "En savoir plus sur le Centre pour l'art et l'écologie"
},
+ "bouge": {
+ "kicker": "En cours de développement au château",
+ "title": "bouge.ariege.io",
+ "subtitle": "Lancement été 2026 · Essayer la démo",
+ "body": "Une application de calendrier d'événements native, communautaire et décentralisée",
+ "cta": "En savoir plus"
+ },
+ "pathwaysIntro": "Voici quelques chemins possibles…",
"pathways": {
"title": "Trouvez votre chemin",
"subtitle": "Quatre façons de rencontrer le lieu.",
diff --git a/src/style.css b/src/style.css
index c5576a5..5b12c48 100644
--- a/src/style.css
+++ b/src/style.css
@@ -4,50 +4,50 @@
@custom-variant dark (&:is(.dark *));
:root {
- /* Earthy palette: warm parchment background, deep moss primary,
- terracotta accent. Tuned for an artist-residency / land-art vibe. */
- --background: hsl(38 32% 96%);
- --foreground: hsl(120 14% 12%);
- --card: hsl(38 30% 98%);
- --card-foreground: hsl(120 14% 12%);
- --popover: hsl(38 30% 98%);
- --popover-foreground: hsl(120 14% 12%);
- --primary: hsl(125 24% 24%);
- --primary-foreground: hsl(38 32% 96%);
- --secondary: hsl(36 22% 88%);
- --secondary-foreground: hsl(120 14% 12%);
- --muted: hsl(36 18% 92%);
- --muted-foreground: hsl(120 8% 38%);
- --accent: hsl(22 58% 48%);
- --accent-foreground: hsl(38 32% 96%);
- --destructive: hsl(0 70% 45%);
- --destructive-foreground: hsl(38 32% 96%);
- --border: hsl(36 16% 82%);
- --input: hsl(36 16% 82%);
- --ring: hsl(125 24% 30%);
+ /* Wix-inspired palette: deep forest green dominant background, cream
+ foreground, gold (Aboreto/calligraphic spirit) for CTAs and accents. */
+ --background: hsl(151 100% 8%);
+ --foreground: hsl(200 32% 94%);
+ --card: hsl(151 80% 10%);
+ --card-foreground: hsl(200 32% 94%);
+ --popover: hsl(151 80% 10%);
+ --popover-foreground: hsl(200 32% 94%);
+ --primary: hsl(43 64% 41%);
+ --primary-foreground: hsl(151 100% 6%);
+ --secondary: hsl(151 65% 12%);
+ --secondary-foreground: hsl(200 32% 94%);
+ --muted: hsl(151 50% 14%);
+ --muted-foreground: hsl(200 15% 72%);
+ --accent: hsl(50 65% 50%);
+ --accent-foreground: hsl(151 100% 6%);
+ --destructive: hsl(0 60% 50%);
+ --destructive-foreground: hsl(200 32% 94%);
+ --border: hsl(151 50% 18%);
+ --input: hsl(151 50% 18%);
+ --ring: hsl(43 64% 50%);
--radius: 0.5rem;
}
.dark {
- --background: hsl(120 12% 8%);
- --foreground: hsl(38 26% 94%);
- --card: hsl(120 10% 11%);
- --card-foreground: hsl(38 26% 94%);
- --popover: hsl(120 10% 11%);
- --popover-foreground: hsl(38 26% 94%);
- --primary: hsl(38 28% 88%);
- --primary-foreground: hsl(120 14% 12%);
- --secondary: hsl(120 8% 18%);
- --secondary-foreground: hsl(38 26% 94%);
- --muted: hsl(120 8% 18%);
- --muted-foreground: hsl(36 14% 66%);
- --accent: hsl(22 52% 55%);
- --accent-foreground: hsl(120 14% 12%);
- --destructive: hsl(0 60% 40%);
- --destructive-foreground: hsl(38 26% 94%);
- --border: hsl(120 8% 22%);
- --input: hsl(120 8% 22%);
- --ring: hsl(38 26% 72%);
+ --background: hsl(151 100% 6%);
+ --foreground: hsl(200 32% 94%);
+ --card: hsl(151 80% 8%);
+ --card-foreground: hsl(200 32% 94%);
+ --popover: hsl(151 80% 8%);
+ --popover-foreground: hsl(200 32% 94%);
+ --primary: hsl(43 64% 45%);
+ --primary-foreground: hsl(151 100% 6%);
+ --secondary: hsl(151 65% 10%);
+ --secondary-foreground: hsl(200 32% 94%);
+ --muted: hsl(151 50% 12%);
+ --muted-foreground: hsl(200 15% 70%);
+ --accent: hsl(50 65% 52%);
+ --accent-foreground: hsl(151 100% 6%);
+ --destructive: hsl(0 60% 45%);
+ --destructive-foreground: hsl(200 32% 94%);
+ --border: hsl(151 50% 15%);
+ --input: hsl(151 50% 15%);
+ --ring: hsl(43 64% 52%);
}
@theme inline {
@@ -74,9 +74,9 @@
--radius-md: calc(var(--radius) - 2px);
--radius-sm: calc(var(--radius) - 4px);
--font-sans:
- ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
- sans-serif;
- --font-serif: 'Cormorant Garamond', Cambria, Georgia, 'Times New Roman', serif;
+ 'Roboto', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
+ --font-display: 'Aboreto', 'Cormorant Garamond', Georgia, serif;
+ --font-script: 'Tangerine', 'Allura', cursive;
}
@layer base {
@@ -86,11 +86,12 @@
body {
@apply bg-background text-foreground;
font-family: var(--font-sans);
+ font-weight: 300;
}
h1,
h2,
h3 {
- font-family: var(--font-serif);
- letter-spacing: -0.01em;
+ font-family: var(--font-display);
+ letter-spacing: 0.02em;
}
}
diff --git a/src/views/AccommodationView.vue b/src/views/AccommodationView.vue
index 1cfeb41..73f1b8f 100644
--- a/src/views/AccommodationView.vue
+++ b/src/views/AccommodationView.vue
@@ -1,6 +1,7 @@