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
Browse files- index.html +56 -11
index.html
CHANGED
@@ -12,6 +12,12 @@
|
|
12 |
font-family: 'Montserrat', sans-serif;
|
13 |
overflow-x: hidden;
|
14 |
scroll-behavior: smooth;
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
|
17 |
.serif-font {
|
@@ -19,7 +25,7 @@
|
|
19 |
}
|
20 |
|
21 |
.hero-section {
|
22 |
-
background-image: url('https://images.unsplash.com/photo-
|
23 |
background-size: cover;
|
24 |
background-position: center;
|
25 |
background-repeat: no-repeat;
|
@@ -100,11 +106,12 @@
|
|
100 |
</button>
|
101 |
</div>
|
102 |
<div class="hidden md:flex space-x-8">
|
103 |
-
<a href="#" class="nav-link uppercase text-sm tracking-widest">
|
104 |
-
<a href="#" class="nav-link uppercase text-sm tracking-widest">
|
105 |
-
<a href="#" class="nav-link uppercase text-sm tracking-widest">
|
106 |
-
<a href="#" class="nav-link uppercase text-sm tracking-widest">
|
107 |
-
<a href="#" class="nav-link uppercase text-sm tracking-widest">
|
|
|
108 |
</div>
|
109 |
</div>
|
110 |
<div>
|
@@ -124,6 +131,11 @@
|
|
124 |
</div>
|
125 |
</nav>
|
126 |
|
|
|
|
|
|
|
|
|
|
|
127 |
<!-- Side Logo -->
|
128 |
<div class="side-logo-container fixed left-8 top-1/2 transform -translate-y-1/2 z-40 hidden md:block">
|
129 |
<div class="side-logo uppercase text-xs tracking-widest">VIANN'K MANSUR</div>
|
@@ -135,6 +147,12 @@
|
|
135 |
</div>
|
136 |
</div>
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
<!-- Hero Section -->
|
139 |
<section class="hero-section relative">
|
140 |
<div class="hero-overlay absolute inset-0"></div>
|
@@ -144,9 +162,8 @@
|
|
144 |
|
145 |
<div class="container mx-auto h-full flex flex-col justify-center items-center relative z-20 px-6">
|
146 |
<div class="text-center">
|
147 |
-
<h1 class="
|
148 |
-
<
|
149 |
-
<button class="bg-black text-white px-8 py-3 rounded-full uppercase tracking-widest hover:bg-gray-800 transition duration-300">COUTURE</button>
|
150 |
</div>
|
151 |
</div>
|
152 |
</section>
|
@@ -350,8 +367,36 @@
|
|
350 |
updatePosition();
|
351 |
}
|
352 |
|
353 |
-
//
|
354 |
-
window.addEventListener('load',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
|
356 |
// Simple carousel navigation
|
357 |
const dots = document.querySelectorAll('.carousel-dot');
|
|
|
12 |
font-family: 'Montserrat', sans-serif;
|
13 |
overflow-x: hidden;
|
14 |
scroll-behavior: smooth;
|
15 |
+
color: #333;
|
16 |
+
background-color: #FFF9FA;
|
17 |
+
}
|
18 |
+
|
19 |
+
.bg-pink-50 {
|
20 |
+
background-color: #FFF9FA;
|
21 |
}
|
22 |
|
23 |
.serif-font {
|
|
|
25 |
}
|
26 |
|
27 |
.hero-section {
|
28 |
+
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');
|
29 |
background-size: cover;
|
30 |
background-position: center;
|
31 |
background-repeat: no-repeat;
|
|
|
106 |
</button>
|
107 |
</div>
|
108 |
<div class="hidden md:flex space-x-8">
|
109 |
+
<a href="#" class="nav-link uppercase text-sm tracking-widest">INICIO</a>
|
110 |
+
<a href="#" class="nav-link uppercase text-sm tracking-widest">TU VESTIDO</a>
|
111 |
+
<a href="#" class="nav-link uppercase text-sm tracking-widest">SHOWROOM</a>
|
112 |
+
<a href="#" class="nav-link uppercase text-sm tracking-widest">TIENDA</a>
|
113 |
+
<a href="#" class="nav-link uppercase text-sm tracking-widest">MARKETPLACE</a>
|
114 |
+
<a href="#" class="nav-link uppercase text-sm tracking-widest">PRESS</a>
|
115 |
</div>
|
116 |
</div>
|
117 |
<div>
|
|
|
131 |
</div>
|
132 |
</nav>
|
133 |
|
134 |
+
<!-- Brand Name -->
|
135 |
+
<div class="fixed left-8 top-8 z-40 hidden md:block">
|
136 |
+
<div class="serif-font text-xl">Viann'k Mansur</div>
|
137 |
+
</div>
|
138 |
+
|
139 |
<!-- Side Logo -->
|
140 |
<div class="side-logo-container fixed left-8 top-1/2 transform -translate-y-1/2 z-40 hidden md:block">
|
141 |
<div class="side-logo uppercase text-xs tracking-widest">VIANN'K MANSUR</div>
|
|
|
147 |
</div>
|
148 |
</div>
|
149 |
|
150 |
+
<!-- Loading Overlay -->
|
151 |
+
<div id="loading-overlay" class="fixed inset-0 bg-[#3B3B3B] z-50 flex flex-col items-center justify-center transition-opacity duration-1000">
|
152 |
+
<div id="percentage" class="text-[#FADADD] text-4xl mb-4">0%</div>
|
153 |
+
<div id="logo" class="text-white font-bold text-6xl tracking-tighter opacity-0">VKM</div>
|
154 |
+
</div>
|
155 |
+
|
156 |
<!-- Hero Section -->
|
157 |
<section class="hero-section relative">
|
158 |
<div class="hero-overlay absolute inset-0"></div>
|
|
|
162 |
|
163 |
<div class="container mx-auto h-full flex flex-col justify-center items-center relative z-20 px-6">
|
164 |
<div class="text-center">
|
165 |
+
<h1 id="main-logo" class="font-bold text-6xl md:text-8xl text-white mb-2 hidden">VKM</h1>
|
166 |
+
<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>
|
|
|
167 |
</div>
|
168 |
</div>
|
169 |
</section>
|
|
|
367 |
updatePosition();
|
368 |
}
|
369 |
|
370 |
+
// Loading animation
|
371 |
+
window.addEventListener('load', function() {
|
372 |
+
let percentage = 0;
|
373 |
+
const overlay = document.getElementById('loading-overlay');
|
374 |
+
const percentElement = document.getElementById('percentage');
|
375 |
+
const logo = document.getElementById('logo');
|
376 |
+
const mainLogo = document.getElementById('main-logo');
|
377 |
+
|
378 |
+
// Logo flicker effect
|
379 |
+
const flickerInterval = setInterval(() => {
|
380 |
+
logo.style.opacity = logo.style.opacity === '0' ? '1' : '0';
|
381 |
+
}, 100);
|
382 |
+
|
383 |
+
// Percentage counter
|
384 |
+
const counter = setInterval(() => {
|
385 |
+
percentage++;
|
386 |
+
percentElement.textContent = percentage + '%';
|
387 |
+
overlay.style.opacity = 1 - (percentage/100);
|
388 |
+
|
389 |
+
if (percentage === 100) {
|
390 |
+
clearInterval(counter);
|
391 |
+
clearInterval(flickerInterval);
|
392 |
+
setTimeout(() => {
|
393 |
+
overlay.style.display = 'none';
|
394 |
+
mainLogo.classList.remove('hidden');
|
395 |
+
createPetals();
|
396 |
+
}, 500);
|
397 |
+
}
|
398 |
+
}, 30);
|
399 |
+
});
|
400 |
|
401 |
// Simple carousel navigation
|
402 |
const dots = document.querySelectorAll('.carousel-dot');
|