feat: dark luxury redesign with black heart branding

Complete visual overhaul: dark-only mode, rose/crimson accent system,
glassmorphism header, animated hero with floating hearts and glow orbs,
photo-backed cards, infinite team carousel with drag support,
redesigned modals with hero images, black heart logo with rose glow silhouette.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-09 23:30:10 +03:00
parent 1f6e314af6
commit 9cf09b6894
16 changed files with 762 additions and 244 deletions

View File

@@ -0,0 +1,50 @@
"use client";
import { useEffect, useState } from "react";
interface Heart {
id: number;
left: number;
size: number;
delay: number;
duration: number;
opacity: number;
}
export function FloatingHearts() {
const [hearts, setHearts] = useState<Heart[]>([]);
useEffect(() => {
const generated: Heart[] = Array.from({ length: 12 }, (_, i) => ({
id: i,
left: Math.random() * 100,
size: 8 + Math.random() * 16,
delay: Math.random() * 10,
duration: 10 + Math.random() * 15,
opacity: 0.03 + Math.random() * 0.08,
}));
setHearts(generated);
}, []);
if (hearts.length === 0) return null;
return (
<div className="pointer-events-none absolute inset-0 overflow-hidden">
{hearts.map((heart) => (
<div
key={heart.id}
className="absolute text-rose-500"
style={{
left: `${heart.left}%`,
bottom: "-20px",
fontSize: `${heart.size}px`,
opacity: heart.opacity,
animation: `heart-float ${heart.duration}s ease-in ${heart.delay}s infinite`,
}}
>
&#9829;
</div>
))}
</div>
);
}