14 Commits

2 changed files with 79 additions and 64 deletions

View File

@@ -2,15 +2,15 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import HeroLogo from '@/components/sections/hero/HeroLogo';
import MediaAbout from '@/components/sections/about/MediaAbout';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen';
import FeatureCardMedia from '@/components/sections/feature/FeatureCardMedia';
import MetricSplitMediaAbout from '@/components/sections/about/MetricSplitMediaAbout';
import TimelineHorizontalCardStack from '@/components/cardStack/layouts/timelines/TimelineHorizontalCardStack';
import FeatureCardTwentyEight from '@/components/sections/feature/FeatureCardTwentyEight';
export default function LandingPage() {
return (
@@ -27,6 +27,16 @@ export default function LandingPage() {
headingFontWeight="normal"
>
<ReactLenis root>
<style dangerouslySetInnerHTML={{ __html: `
.animate-section { opacity: 0; animation: fadeIn 600ms ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.stagger-1 { animation-delay: 200ms; }
.stagger-2 { animation-delay: 400ms; }
.stagger-3 { animation-delay: 600ms; }
.stagger-4 { animation-delay: 800ms; }
.stagger-5 { animation-delay: 1000ms; }
`}} />
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
@@ -48,7 +58,6 @@ export default function LandingPage() {
videoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CX1xH7y0jxZ0fhv28YS97mOKD2/uploaded-1776553036600-uldveqyn.mp4"
showDimOverlay={true}
className="min-h-screen"
descriptionClassName="text-white/90"
/>
</div>
@@ -56,12 +65,14 @@ export default function LandingPage() {
<MetricSplitMediaAbout
tag="CHI SONO"
title="Una regia, dall'inizio alla fine."
description="Sono Michele Floridia, regista e producer. Il mio approccio alla produzione video si concentra sull'essenza della storia, trasformando visioni complesse in racconti visivi chiari e diretti. Credo in una collaborazione artigianale dove il regista diventa il punto di riferimento unico per il cliente, garantendo coerenza stilistica e cura maniacale per ogni frame."
metrics={[]}
mediaAnimation="blur-reveal"
description="Sono Michele Floridia, regista e producer freelance. Lavoro con aziende italiane che vogliono raccontarsi con qualità cinematografica. Ogni progetto nasce da un obiettivo di business e si chiude con un film girato, montato e finito da me. Quando serve, una rete selezionata di professionisti entra in produzione: solo le persone giuste, solo nel momento giusto. Il vantaggio è semplice — parli sempre con chi sta facendo il film."
metrics={[
{ value: "10+", title: "Anni di esperienza" },
{ value: "100+", title: "Progetti realizzati" }
]}
mediaAnimation="none"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CX1xH7y0jxZ0fhv28YS97mOKD2/director-michele-floridia-working-on-a-f-1776519373622-6bbe0844.png?_wi=1"
useInvertedBackground={false}
descriptionClassName="text-foreground/80"
/>
</div>
@@ -70,7 +81,7 @@ export default function LandingPage() {
tag="COSA FACCIO"
title="Tre linee di produzione"
description="Soluzioni su misura per ogni esigenza di comunicazione premium."
animationType="slide-up"
animationType="none"
textboxLayout="default"
useInvertedBackground={true}
buttons={[{ text: "Costruiamo il pacchetto in call", href: "#contact" }]}
@@ -79,73 +90,77 @@ export default function LandingPage() {
{ id: "s2", title: "VIDEO FIERE & EVENTI", description: "Contenuti dinamici per far risaltare la tua presenza nelle occasioni più importanti.", tag: "Production" },
{ id: "s3", title: "CAMPAGNE ADV B2B & LUXURY", description: "Visual ad alto impatto studiati per il mercato B2B e il segmento lusso.", tag: "Campaign" }
]}
cardDescriptionClassName="text-white/80"
/>
</div>
<div id="how-i-work" data-section="how-i-work">
<TimelineHorizontalCardStack
<div id="how-i-work" data-section="how-i-work" className="animate-section stagger-1">
<FeatureCardTwentyEight
tag="COME LAVORO"
title="Tre passaggi, zero sorprese."
description="Il mio metodo garantisce qualità e tempi certi in tre passaggi chiari."
tag="COME LAVORO"
textboxLayout="default"
animationType="none"
useInvertedBackground={false}
features={[
{ id: "01", title: "01 CALL", subtitle: "CALL", category: "Discovery", value: "Prenoti una discovery call gratuita di 20 minuti. Mi racconti il brand, gli obiettivi e i tempi. Zero impegno." },
{ id: "02", title: "02 PLAN", subtitle: "PLAN", category: "Strategia", value: "Costruisco una strategia visiva su misura: concept, mood, crew, timeline e preventivo dettagliato." },
{ id: "03", title: "03 CREATE", subtitle: "CREATE", category: "Produzione", value: "Produciamo il film dal brief al delivery finale. Ricevi contenuti pronti per pubblicare su ogni canale." }
]}
buttons={[{ text: "PRENOTA LA CALL GRATUITA", href: "#contact" }]}
>
{/* Sticky scroll integration point */}
<div className="space-y-32 py-10">
<div className="sticky top-20">01 CALL Scoperta e obiettivi.</div>
<div className="sticky top-20">02 PLAN Strategia e moodboard.</div>
<div className="sticky top-20">03 CREATE Produzione e delivery.</div>
</div>
</TimelineHorizontalCardStack>
/>
</div>
<div id="about" data-section="about">
<div id="about" data-section="about" className="animate-section stagger-2">
<MediaAbout
useInvertedBackground={true}
title="FPH Directing Studio."
description="FPH nasce come studio di regia boutique focalizzato sull'autenticità. Il nostro obiettivo è tradurre l'heritage e la complessità manifatturiera in linguaggio visivo contemporaneo. Credo che ogni progetto sia una storia a sé: gestisco personalmente ogni fase della produzione per garantire che l'identità del cliente resti il cuore pulsante di ogni immagine."
title="Michele Floridia — Directing Studio."
description="FPH is a boutique directing studio built for high-end manufacturing, heritage brands, and outdoor luxury. We provide tailor-made production management that scales from intimate storytelling to complex campaign direction, ensuring every frame honors your craft."
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CX1xH7y0jxZ0fhv28YS97mOKD2/director-michele-floridia-working-on-a-f-1776519373622-6bbe0844.png?_wi=2"
className="bg-card text-foreground"
descriptionClassName="text-white/80"
/>
</div>
<div id="social-proof" data-section="social-proof">
<TestimonialCardSix
title="Riconoscimenti e Fiducia"
description="Collaborazioni basate su visione, coerenza e risultati."
animationType="blur-reveal"
textboxLayout="default"
useInvertedBackground={true}
testimonials={[
{ id: "t1", name: "Partner Strategico", handle: "@client", testimonial: "La capacità di Michele di ascoltare il brand e tradurlo in immagini cinematografiche è rara. Il suo approccio trasforma la produzione in un processo di scoperta continua." }
<div id="social-proof" data-section="social-proof" className="animate-section stagger-3">
<TestimonialCardFifteen
testimonial="The sensibility Michele Floridia brings to our brand narrative is unmatched. Its not just video content; its genuine cinema that honors our manufacturing roots."
rating={5}
author="Director of Brand Strategy, Leading Luxury House"
avatars={[{ src: "https://i.pravatar.cc/150?u=a1", alt: "Client" }]}
ratingAnimation="none"
avatarsAnimation="none"
useInvertedBackground={false}
ariaLabel="Testimonial section"
className="py-12"
testimonialClassName="text-lg font-medium leading-relaxed"
/>
</div>
<div id="contact" data-section="contact" className="animate-section stagger-4">
<ContactSplitForm
useInvertedBackground={false}
title="Parliamone."
description="Prenota una call conoscitiva di 20 minuti per analizzare il tuo progetto."
inputs={[
{ name: "name", type: "text", placeholder: "Nome", required: true },
{ name: "email", type: "email", placeholder: "Email", required: true },
{ name: "company", type: "text", placeholder: "Azienda", required: true },
]}
className="py-20 bg-background text-foreground"
textarea={{ name: "message", placeholder: "Messaggio", rows: 4, required: true }}
buttonText="Invia"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CX1xH7y0jxZ0fhv28YS97mOKD2/anamorphic-cinematic-2-39-1-aspect-ratio-1776519529328-28dac220.png?_wi=1"
className="py-20"
titleClassName="font-semibold text-4xl"
descriptionClassName="text-muted-foreground text-lg"
/>
</div>
<div id="contact" data-section="contact">
<ContactCenter
tag="PARLIAMONE"
title="Prenota una sessione."
description="Una call conoscitiva di 20 minuti per dare forma alla tua visione."
background={{ variant: 'radial-gradient' }}
useInvertedBackground={true}
onSubmit={(email) => console.log(email)}
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
logoText="FPH Directing Studio"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CX1xH7y0jxZ0fhv28YS97mOKD2/anamorphic-cinematic-2-39-1-aspect-ratio-1776519529328-28dac220.png?_wi=1"
columns={[
{ title: "Studio", items: [{ label: "Philosophy", href: "#about" }, { label: "Contatti", href: "#contact" }] }
]}
copyrightText="© 2025 FPH Production"
/>
<div id="footer" data-section="footer" className="animate-section stagger-5">
<FooterLogoReveal
logoText="FPH Directing Studio"
leftLink={{ text: "© 2025 FPH Production", href: "#" }}
rightLink={{ text: "Privacy & Terms", href: "#" }}
className="py-12 border-t"
linkClassName="text-sm text-muted-foreground hover:text-foreground"
/>
</div>
</ReactLenis>
</ThemeProvider>

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #F5F5F0;
--card: #0A0A0A;
--foreground: #0A0A0A;
--primary-cta: #D4AF37;
--background: #0a0a0a;
--card: #171717;
--foreground: #ededed;
--primary-cta: #ffffff;
--primary-cta-text: #0a0a0a;
--secondary-cta: #F5F5F0;
--secondary-cta: #a3a3a3;
--secondary-cta-text: #ffffffe6;
--accent: #D4AF37;
--background-accent: #EBEBE5;
--accent: #3b82f6;
--background-accent: #1f2937;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);