vkm / index.html
hazael00's picture
Design a cinematic, luxurious landing page for Viann'k Mansur, a high-fashion couture brand founded by Vianney de Aquino, specializing in quinceañera dresses. The visual style is soft, editorial, and feminine, with an elevated, modern magazine feel. Begin with a full-screen loader: a solid Oxford gray overlay (#3B3B3B) that fades progressively to transparent as a percentage counter in soft pink (#FADADD) increases from 0% to 100%. At the center, the bold white sans-serif logo “VKM” blinks rapidly in a subtle neon-style flicker. Behind the overlay, already visible through fading transparency, is the hero image. The hero background shows a young woman spinning in a dreamy quinceañera gown in an open field at sunset. The sky is golden and cinematic, petals float gently in the air, and the atmosphere is magical. Once 100% is reached, the overlay vanishes completely, the percentage disappears, and VKM stays centered as part of the main layout. Below VKM, a round black button reads "COUTURE" in clean white uppercase text. In the top-left corner appears the refined serif text: "Viann'k Mansur", representing the main couture brand. The top of the page includes a minimalist navigation bar with the following menu items: INICIO – Returns to the main hero section with the model spinning and brand introduction. TU VESTIDO – A personalized portal where clients can check the status of their gown: progress, payments, delivery estimates. SHOWROOM – Page to schedule private appointments with the Viann'k Mansur team; includes calendar, contact form, and visit options. TIENDA – A visual catalog of available gowns, arranged by collection and style. Each card includes a model photo, name, and category tag. MARKETPLACE – A curated directory of event vendors: photographers, salons, decorators, DJs, etc. Includes provider registration with manual approval. PRESS – A visual press archive showing magazine covers, interviews, and mentions in fashion media. ENTRAR / REGISTRARSE – Secure portal for clients and vendors to access accounts, view orders, and manage their listings. The visual identity is a blend of pastel pink, ivory, white, and black, with soft gold accents. Typography includes refined serif fonts and ultra-clean sans-serifs. The page is editorial, refined, cinematic, and highly feminine — evoking the essence of a couture fashion house translated into a digital experience. - Follow Up Deployment
7d3a696 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>VIINSSUR | Monouré</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Montserrat:wght@100;200;300;400;500&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Montserrat', sans-serif;
overflow-x: hidden;
scroll-behavior: smooth;
color: #333;
background-color: #FFF9FA;
}
.bg-pink-50 {
background-color: #FFF9FA;
}
.serif-font {
font-family: 'Cormorant Garamond', serif;
}
.hero-section {
background-image: url('https://images.unsplash.com/photo-1605000797499-95a51c5269ae?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1920&q=80');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
height: 100vh;
position: relative;
overflow: hidden;
}
.hero-overlay {
background: linear-gradient(to bottom, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.3) 100%);
}
.petal {
position: absolute;
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50,5 C60,20 70,25 70,40 C70,55 60,65 50,75 C40,65 30,55 30,40 C30,25 40,20 50,5 Z" fill="rgba(255,255,255,0.7)"/></svg>');
background-size: contain;
background-repeat: no-repeat;
opacity: 0.7;
z-index: 10;
}
.dress-card {
transition: all 0.3s ease;
}
.dress-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.side-logo {
writing-mode: vertical-rl;
transform: rotate(180deg);
}
.nav-link {
position: relative;
}
.nav-link:after {
content: '';
position: absolute;
width: 0;
height: 1px;
bottom: 0;
left: 0;
background-color: black;
transition: width 0.3s ease;
}
.nav-link:hover:after {
width: 100%;
}
@media (max-width: 768px) {
.hero-section {
height: 80vh;
}
.side-logo-container {
display: none;
}
.mobile-menu {
display: flex;
}
}
</style>
</head>
<body class="bg-white text-gray-900">
<!-- Navigation -->
<nav class="fixed top-0 left-0 right-0 z-50 bg-white bg-opacity-90 backdrop-filter backdrop-blur-sm">
<div class="container mx-auto px-6 py-4 flex justify-between items-center">
<div class="flex items-center space-x-12">
<div class="mobile-menu hidden md:hidden">
<button id="menu-toggle" class="text-gray-800 focus:outline-none">
<i class="fas fa-bars text-xl"></i>
</button>
</div>
<div class="hidden md:flex space-x-8">
<a href="#" class="nav-link uppercase text-sm tracking-widest">INICIO</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">TU VESTIDO</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">SHOWROOM</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">TIENDA</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">MARKETPLACE</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">PRESS</a>
</div>
</div>
<div>
<button class="bg-black text-white px-6 py-2 rounded-full text-xs uppercase tracking-widest hover:bg-gray-800 transition duration-300">SÚMAL FESOR</button>
</div>
</div>
<!-- Mobile Menu -->
<div id="mobile-menu" class="hidden md:hidden bg-white w-full px-6 py-4 shadow-lg">
<div class="flex flex-col space-y-4">
<a href="#" class="nav-link uppercase text-sm tracking-widest">LUVÉN</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">COUTUMARS</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">DAPOIR</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">SEEK</a>
<a href="#" class="nav-link uppercase text-sm tracking-widest">CITOURÉ</a>
</div>
</div>
</nav>
<!-- Brand Name -->
<div class="fixed left-8 top-8 z-40 hidden md:block">
<div class="serif-font text-xl">Viann'k Mansur</div>
</div>
<!-- Side Logo -->
<div class="side-logo-container fixed left-8 top-1/2 transform -translate-y-1/2 z-40 hidden md:block">
<div class="side-logo uppercase text-xs tracking-widest">VIANN'K MANSUR</div>
<div class="flex flex-col items-center space-y-6 mt-8">
<a href="#" class="text-gray-700 hover:text-black"><i class="fas fa-bars text-sm"></i></a>
<a href="#" class="text-gray-700 hover:text-black"><i class="fas fa-question text-sm"></i></a>
<a href="#" class="text-gray-700 hover:text-black"><i class="fab fa-instagram text-sm"></i></a>
<a href="#" class="text-gray-700 hover:text-black"><i class="fab fa-pinterest text-sm"></i></a>
</div>
</div>
<!-- Loading Overlay -->
<div id="loading-overlay" class="fixed inset-0 bg-[#3B3B3B] z-50 flex flex-col items-center justify-center transition-opacity duration-1000">
<div id="percentage" class="text-[#FADADD] text-4xl mb-4">0%</div>
<div id="logo" class="text-white font-bold text-6xl tracking-tighter opacity-0">VKM</div>
</div>
<!-- Hero Section -->
<section class="hero-section relative">
<div class="hero-overlay absolute inset-0"></div>
<!-- Floating petals -->
<div id="petals-container"></div>
<div class="container mx-auto h-full flex flex-col justify-center items-center relative z-20 px-6">
<div class="text-center">
<h1 id="main-logo" class="font-bold text-6xl md:text-8xl text-white mb-2 hidden">VKM</h1>
<button class="bg-black text-white px-8 py-3 rounded-full uppercase tracking-widest hover:bg-gray-800 transition duration-300 mt-12">COUTURE</button>
</div>
</div>
</section>
<!-- Dress Collection -->
<section class="py-20 bg-white">
<div class="container mx-auto px-6">
<h2 class="serif-font text-3xl md:text-4xl text-center mb-16">COUTURE COLLECTION</h2>
<div class="relative">
<!-- Dress Carousel -->
<div class="carousel-container overflow-x-auto pb-10">
<div class="flex space-x-8 carousel-inner" style="min-width: 200%;">
<!-- Dress Card 1 -->
<div class="dress-card flex-shrink-0 w-64 bg-pink-50 rounded-lg overflow-hidden">
<img src="https://images.unsplash.com/photo-1539109136881-3be0616acf4b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80" alt="PHIINKO AKIRA dress" class="w-full h-80 object-cover">
<div class="p-4 text-center">
<h3 class="serif-font text-xl">PHIINKO AKIRA</h3>
<p class="text-xs uppercase tracking-widest text-gray-500 mt-1">Couture Signature</p>
</div>
</div>
<!-- Dress Card 2 -->
<div class="dress-card flex-shrink-0 w-64 bg-pink-50 rounded-lg overflow-hidden">
<img src="https://images.unsplash.com/photo-1592878904946-b3cd8ae243d0?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80" alt="SOFIA MANSUR dress" class="w-full h-80 object-cover">
<div class="p-4 text-center">
<h3 class="serif-font text-xl">SOFIA MANSUR</h3>
<p class="text-xs uppercase tracking-widest text-gray-500 mt-1">Cool</p>
</div>
</div>
<!-- Dress Card 3 -->
<div class="dress-card flex-shrink-0 w-64 bg-pink-50 rounded-lg overflow-hidden">
<img src="https://images.unsplash.com/photo-1551232864-3f0890e580d9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80" alt="ZHAWASKA KOUTUR dress" class="w-full h-80 object-cover">
<div class="p-4 text-center">
<h3 class="serif-font text-xl">ZHAWASKA KOUTUR</h3>
<p class="text-xs uppercase tracking-widest text-gray-500 mt-1">Couture Signature</p>
</div>
</div>
<!-- Dress Card 4 -->
<div class="dress-card flex-shrink-0 w-64 bg-pink-50 rounded-lg overflow-hidden">
<img src="https://images.unsplash.com/photo-1551232864-3f0890e580d9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80" alt="MARIA LUVÉN dress" class="w-full h-80 object-cover">
<div class="p-4 text-center">
<h3 class="serif-font text-xl">MARIA LUVÉN</h3>
<p class="text-xs uppercase tracking-widest text-gray-500 mt-1">Cool</p>
</div>
</div>
<!-- Dress Card 5 -->
<div class="dress-card flex-shrink-0 w-64 bg-pink-50 rounded-lg overflow-hidden">
<img src="https://images.unsplash.com/photo-1551232864-3f0890e580d9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=500&q=80" alt="ELENA DAPOIR dress" class="w-full h-80 object-cover">
<div class="p-4 text-center">
<h3 class="serif-font text-xl">ELENA DAPOIR</h3>
<p class="text-xs uppercase tracking-widest text-gray-500 mt-1">Couture Signature</p>
</div>
</div>
</div>
</div>
<!-- Carousel Navigation Dots -->
<div class="flex justify-center space-x-2 mt-8">
<button class="w-2 h-2 rounded-full bg-gray-400"></button>
<button class="w-2 h-2 rounded-full bg-gray-800"></button>
<button class="w-2 h-2 rounded-full bg-gray-400"></button>
<button class="w-2 h-2 rounded-full bg-gray-400"></button>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-pink-50 py-12">
<div class="container mx-auto px-6">
<div class="flex flex-col md:flex-row justify-between items-center">
<div class="mb-6 md:mb-0">
<h2 class="serif-font text-2xl">VIINSSUR</h2>
<p class="text-xs uppercase tracking-widest text-gray-500 mt-1">Monouré</p>
</div>
<div class="flex space-x-6">
<a href="#" class="text-gray-700 hover:text-black"><i class="fab fa-instagram"></i></a>
<a href="#" class="text-gray-700 hover:text-black"><i class="fab fa-pinterest"></i></a>
<a href="#" class="text-gray-700 hover:text-black"><i class="fab fa-facebook-f"></i></a>
</div>
</div>
<div class="border-t border-gray-200 mt-8 pt-8 flex flex-col md:flex-row justify-between">
<div class="mb-6 md:mb-0">
<p class="text-xs text-gray-500">© 2023 VIINSSUR. All rights reserved.</p>
</div>
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
<div>
<h3 class="text-xs uppercase tracking-widest mb-2">Shop</h3>
<ul class="space-y-1">
<li><a href="#" class="text-xs text-gray-500 hover:text-black">New Arrivals</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Bestsellers</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Sale</a></li>
</ul>
</div>
<div>
<h3 class="text-xs uppercase tracking-widest mb-2">About</h3>
<ul class="space-y-1">
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Our Story</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Designers</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Sustainability</a></li>
</ul>
</div>
<div>
<h3 class="text-xs uppercase tracking-widest mb-2">Customer Care</h3>
<ul class="space-y-1">
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Contact Us</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">FAQs</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Shipping & Returns</a></li>
</ul>
</div>
<div>
<h3 class="text-xs uppercase tracking-widest mb-2">Legal</h3>
<ul class="space-y-1">
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Terms of Service</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Privacy Policy</a></li>
<li><a href="#" class="text-xs text-gray-500 hover:text-black">Cookie Policy</a></li>
</ul>
</div>
</div>
</div>
</div>
</footer>
<script>
// Mobile menu toggle
document.getElementById('menu-toggle').addEventListener('click', function() {
document.getElementById('mobile-menu').classList.toggle('hidden');
});
// Create floating petals
function createPetals() {
const container = document.getElementById('petals-container');
const petalCount = 15;
for (let i = 0; i < petalCount; i++) {
const petal = document.createElement('div');
petal.className = 'petal';
// Random size between 10px and 30px
const size = Math.random() * 20 + 10;
petal.style.width = `${size}px`;
petal.style.height = `${size}px`;
// Random starting position
const startX = Math.random() * window.innerWidth;
const startY = Math.random() * window.innerHeight * 0.5;
petal.style.left = `${startX}px`;
petal.style.top = `${startY}px`;
// Random animation duration between 10s and 20s
const duration = Math.random() * 10 + 10;
petal.style.animation = `float ${duration}s linear infinite`;
// Random delay for animation
const delay = Math.random() * 5;
petal.style.animationDelay = `${delay}s`;
// Random opacity
petal.style.opacity = Math.random() * 0.5 + 0.3;
// Add petal to container
container.appendChild(petal);
// Animate petal
animatePetal(petal);
}
}
// Animate individual petal
function animatePetal(petal) {
const startX = parseFloat(petal.style.left);
const startY = parseFloat(petal.style.top);
const duration = parseFloat(petal.style.animationDuration || '15s') * 1000;
const startTime = Date.now();
function updatePosition() {
const elapsed = Date.now() - startTime;
const progress = (elapsed % duration) / duration;
// Circular motion with slight variations
const x = startX + Math.sin(progress * Math.PI * 2) * 100;
const y = startY + progress * window.innerHeight;
petal.style.left = `${x}px`;
petal.style.top = `${y}px`;
// If petal goes below screen, reset to top
if (y > window.innerHeight) {
petal.style.top = `-${Math.random() * 50}px`;
petal.style.left = `${Math.random() * window.innerWidth}px`;
}
requestAnimationFrame(updatePosition);
}
updatePosition();
}
// Loading animation
window.addEventListener('load', function() {
let percentage = 0;
const overlay = document.getElementById('loading-overlay');
const percentElement = document.getElementById('percentage');
const logo = document.getElementById('logo');
const mainLogo = document.getElementById('main-logo');
// Logo flicker effect
const flickerInterval = setInterval(() => {
logo.style.opacity = logo.style.opacity === '0' ? '1' : '0';
}, 100);
// Percentage counter
const counter = setInterval(() => {
percentage++;
percentElement.textContent = percentage + '%';
overlay.style.opacity = 1 - (percentage/100);
if (percentage === 100) {
clearInterval(counter);
clearInterval(flickerInterval);
setTimeout(() => {
overlay.style.display = 'none';
mainLogo.classList.remove('hidden');
createPetals();
}, 500);
}
}, 30);
});
// Simple carousel navigation
const dots = document.querySelectorAll('.carousel-dot');
dots.forEach((dot, index) => {
dot.addEventListener('click', () => {
// Remove active class from all dots
dots.forEach(d => d.classList.remove('bg-gray-800'));
dots.forEach(d => d.classList.add('bg-gray-400'));
// Add active class to clicked dot
dot.classList.remove('bg-gray-400');
dot.classList.add('bg-gray-800');
// Move carousel (simplified for this example)
const carousel = document.querySelector('.carousel-inner');
carousel.style.transform = `translateX(-${index * 25}%)`;
});
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=hazael00/vkm" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>