<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Miami Scents</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
rel="stylesheet"
>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--blue: #0784ff;
--dark: #061725;
--text: #111827;
--muted: #667085;
--light: #f5f7fa;
--radius: 18px;
--container: 1400px;
}
body {
font-family: "Inter", sans-serif;
color: var(--text);
background: #fff;
}
img {
display: block;
max-width: 100%;
}
a {
color: inherit;
text-decoration: none;
}
button {
border: 0;
cursor: pointer;
font-family: inherit;
}
.container {
width: min(94%, var(--container));
margin: auto;
}
/* =========================
TOP BAR
========================= */
.topbar {
background: #071722;
color: white;
font-size: 13px;
}
.topbar-inner {
min-height: 42px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 25px;
}
.top-items {
display: flex;
gap: 45px;
}
.top-item {
display: flex;
align-items: center;
gap: 8px;
opacity: .95;
}
.language {
opacity: .9;
}
/* =========================
HEADER
========================= */
.header {
background: white;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.nav {
height: 92px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
}
.logo {
display: flex;
align-items: center;
gap: 10px;
min-width: 180px;
}
.logo-symbol {
display: grid;
gap: 4px;
}
.logo-symbol span {
width: 30px;
height: 8px;
border-radius: 999px;
background: #0784ff;
display: block;
}
.logo-symbol span:nth-child(2) {
width: 40px;
}
.logo-symbol span:nth-child(3) {
width: 25px;
}
.logo-text {
line-height: .85;
font-size: 27px;
font-weight: 800;
color: #00a139;
}
.logo-text small {
display: block;
color: #067af4;
font-size: 14px;
letter-spacing: 6px;
margin-top: 8px;
}
.nav-links {
display: flex;
align-items: center;
gap: 32px;
font-weight: 600;
font-size: 14px;
}
.nav-links a:hover {
color: var(--blue);
}
.nav-actions {
display: flex;
align-items: center;
gap: 18px;
font-size: 22px;
}
/* =========================
HERO
========================= */
.hero {
min-height: 650px;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
background:
linear-gradient(
90deg,
rgba(225,247,255,.95) 0%,
rgba(225,247,255,.82) 35%,
rgba(225,247,255,.08) 65%
),
url("assets/hero-caribe.jpg") center/cover;
}
.hero-content {
width: min(94%, var(--container));
margin: auto;
position: relative;
z-index: 2;
}
.eyebrow {
text-transform: uppercase;
font-size: 14px;
letter-spacing: 5px;
font-weight: 700;
margin-bottom: 16px;
}
.hero h1 {
font-size: clamp(44px, 6vw, 78px);
line-height: .98;
max-width: 650px;
margin-bottom: 24px;
}
.hero h1 span {
color: var(--blue);
}
.hero p {
max-width: 520px;
font-size: 20px;
line-height: 1.55;
margin-bottom: 30px;
}
.btn {
padding: 17px 26px;
border-radius: 999px;
display: inline-flex;
align-items: center;
gap: 12px;
background: var(--dark);
color: white;
font-weight: 700;
font-size: 14px;
transition: .2s;
}
.btn:hover {
transform: translateY(-2px);
background: var(--blue);
}
.hero-signature {
margin-top: 35px;
font-size: 28px;
font-style: italic;
color: white;
text-shadow: 0 2px 8px rgba(0,0,0,.25);
}
/* =========================
BENEFITS
========================= */
.benefits {
padding: 28px 0;
border-bottom: 1px solid #eee;
}
.benefits-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 25px;
}
.benefit {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
}
.benefit-icon {
font-size: 28px;
}
.benefit strong {
display: block;
font-size: 14px;
}
.benefit span {
font-size: 12px;
color: var(--muted);
}
/* =========================
COMMON SECTION
========================= */
section {
padding: 55px 0;
}
.section-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 28px;
}
.section-header h2 {
font-size: clamp(27px, 3vw, 38px);
}
.section-header h2 span {
color: var(--blue);
}
.view-all {
font-size: 13px;
font-weight: 700;
}
/* =========================
CATEGORIES
========================= */
.categories {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 18px;
}
.category {
height: 180px;
border-radius: 14px;
overflow: hidden;
position: relative;
background: #ddd;
}
.category img {
height: 100%;
width: 100%;
object-fit: cover;
}
.category::after {
content: "";
position: absolute;
inset: 40% 0 0;
background: linear-gradient(transparent, rgba(0,0,0,.75));
}
.category strong {
position: absolute;
z-index: 2;
bottom: 14px;
left: 14px;
color: white;
font-size: 18px;
}
/* =========================
PROMO CARDS
========================= */
.promo-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px;
}
.promo {
min-height: 450px;
border-radius: 18px;
overflow: hidden;
position: relative;
padding: 35px;
background-size: cover;
background-position: center;
}
.promo:nth-child(1) {
background:
linear-gradient(90deg, #fff4e3 30%, transparent),
url("assets/promo-bolita.jpg") center/cover;
}
.promo:nth-child(2) {
background:
linear-gradient(90deg, rgba(214,249,255,.95), transparent),
url("assets/promo-palm.jpg") center/cover;
}
.promo:nth-child(3) {
background:
linear-gradient(90deg, rgba(239,248,218,.95), transparent),
url("assets/promo-organica.jpg") center/cover;
}
.promo-label {
display: inline-block;
background: rgba(255,255,255,.9);
padding: 7px 12px;
border-radius: 999px;
font-size: 11px;
font-weight: 700;
margin-bottom: 15px;
}
.promo h3 {
font-size: 27px;
max-width: 300px;
margin-bottom: 15px;
}
.promo p {
max-width: 280px;
line-height: 1.55;
font-size: 14px;
margin-bottom: 20px;
}
/* =========================
PRODUCTS
========================= */
.products {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 18px;
}
.product-card {
position: relative;
}
.product-image {
height: 260px;
border-radius: 13px;
background: #f6f6f6;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 14px;
}
.product-image img {
width: 100%;
height: 100%;
object-fit: contain;
transition: .25s;
}
.product-card:hover img {
transform: scale(1.05);
}
.badge {
position: absolute;
top: 12px;
left: 10px;
background: var(--blue);
color: white;
width: 43px;
height: 43px;
border-radius: 50%;
display: grid;
place-items: center;
font-size: 11px;
font-weight: 800;
z-index: 2;
}
.product-title {
font-size: 14px;
font-weight: 700;
margin-bottom: 8px;
}
.stars {
color: #ffae00;
font-size: 13px;
margin-bottom: 8px;
}
.stars small {
color: #777;
}
.price {
font-size: 18px;
font-weight: 800;
margin-bottom: 12px;
}
.cart-btn {
width: 100%;
background: var(--dark);
color: white;
padding: 13px;
border-radius: 5px;
font-size: 11px;
font-weight: 800;
}
.cart-btn:hover {
background: var(--blue);
}
/* =========================
BRAND SECTION
========================= */
.brand {
background: #fafafa;
}
.brand-grid {
display: grid;
grid-template-columns: 1fr 1.8fr;
gap: 60px;
align-items: center;
}
.brand h2 {
font-size: 38px;
margin-bottom: 18px;
}
.brand h2 span {
color: var(--blue);
}
.brand p {
line-height: 1.65;
color: #475467;
margin-bottom: 25px;
}
.brand-features {
display: grid;
grid-template-columns: repeat(4, 1fr);
text-align: center;
gap: 20px;
}
.feature-icon {
width: 55px;
height: 55px;
border: 2px solid #008c79;
border-radius: 50%;
margin: auto auto 12px;
display: grid;
place-items: center;
font-size: 24px;
color: #008c79;
}
.brand-features strong {
font-size: 13px;
color: #007b68;
}
.brand-features span {
display: block;
color: var(--muted);
font-size: 12px;
margin-top: 8px;
}
/* =========================
BANNERS
========================= */
.banners {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
}
.banner {
min-height: 350px;
padding: 40px;
border-radius: 18px;
color: white;
background-size: cover;
background-position: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.banner:first-child {
background:
linear-gradient(90deg, rgba(0,45,88,.95), rgba(0,45,88,.15)),
url("assets/profesionales.jpg") center/cover;
}
.banner:last-child {
background:
linear-gradient(90deg, rgba(0,45,60,.95), rgba(0,45,60,.05)),
url("assets/estilo-vida.jpg") center/cover;
}
.banner small {
font-weight: 700;
margin-bottom: 16px;
}
.banner h3 {
font-size: 32px;
max-width: 330px;
margin-bottom: 15px;
}
.banner p {
max-width: 350px;
line-height: 1.5;
margin-bottom: 20px;
}
/* =========================
TESTIMONIALS
========================= */
.reviews {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}
.review {
border: 1px solid #e6e6e6;
border-radius: 14px;
padding: 30px;
}
.review .stars {
font-size: 18px;
}
.review p {
line-height: 1.65;
margin: 12px 0 22px;
}
.person {
display: flex;
gap: 10px;
align-items: center;
font-weight: 700;
}
.avatar {
width: 35px;
height: 35px;
background: #d8d8d8;
border-radius: 50%;
}
/* =========================
NEWSLETTER
========================= */
.newsletter {
padding: 25px 0;
background: linear-gradient(90deg, #ccecff, #e9f7ff);
}
.newsletter-inner {
display: grid;
grid-template-columns: 1fr 1.5fr auto;
align-items: center;
gap: 30px;
}
.newsletter-form {
display: flex;
}
.newsletter input {
width: 100%;
padding: 17px 20px;
border: 0;
border-radius: 8px 0 0 8px;
outline: none;
}
.newsletter button {
padding: 0 28px;
background: var(--dark);
color: white;
font-weight: 700;
border-radius: 0 8px 8px 0;
}
/* =========================
FOOTER
========================= */
footer {
background: #061725;
color: white;
padding: 45px 0 25px;
}
.footer-grid {
display: grid;
grid-template-columns: 1.4fr repeat(4, 1fr);
gap: 40px;
}
footer h4 {
font-size: 12px;
margin-bottom: 16px;
text-transform: uppercase;
}
footer a {
display: block;
color: rgba(255,255,255,.75);
font-size: 13px;
margin-bottom: 10px;
}
footer a:hover {
color: white;
}
.copyright {
text-align: center;
border-top: 1px solid rgba(255,255,255,.12);
margin-top: 40px;
padding-top: 20px;
font-size: 12px;
opacity: .65;
}
/* =========================
RESPONSIVE
========================= */
@media (max-width: 1100px) {
.nav-links {
display: none;
}
.categories {
grid-template-columns: repeat(4, 1fr);
}
.products {
grid-template-columns: repeat(3, 1fr);
}
.promo-grid {
grid-template-columns: 1fr 1fr;
}
.brand-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.top-items .top-item:nth-child(n+2) {
display: none;
}
.hero {
min-height: 620px;
background-position: 65% center;
}
.hero h1 {
font-size: 48px;
}
.hero p {
font-size: 17px;
}
.benefits-grid {
grid-template-columns: 1fr 1fr;
}
.categories {
display: flex;
overflow-x: auto;
}
.category {
min-width: 150px;
}
.promo-grid,
.banners,
.reviews {
grid-template-columns: 1fr;
}
.products {
grid-template-columns: repeat(2, 1fr);
}
.brand-features {
grid-template-columns: 1fr 1fr;
}
.newsletter-inner {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 480px) {
.nav {
height: 72px;
}
.logo-text {
font-size: 21px;
}
.nav-actions span:nth-child(-n+2) {
display: none;
}
.hero h1 {
font-size: 40px;
}
.benefits-grid {
grid-template-columns: 1fr;
}
.products {
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.product-image {
height: 190px;
}
.promo {
min-height: 400px;
}
.footer-grid {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<!-- TOP BAR -->
<div class="topbar">
<div class="container topbar-inner">
<div class="top-items">
<div class="top-item">🚚 Envío gratis en pedidos +50€</div>
<div class="top-item">↩ Devoluciones fáciles</div>
<div class="top-item">🎁 Aromas duraderos</div>
<div class="top-item">⭐ +100.000 clientes satisfechos</div>
</div>
<div class="language">
ES ▾
</div>
</div>
</div>
<!-- HEADER -->
<header class="header">
<div class="container nav">
<a href="#" class="logo">
<div class="logo-symbol">
<span></span>
<span></span>
<span></span>
</div>
<div class="logo-text">
Miami
<small>SCENTS</small>
</div>
</a>
<nav class="nav-links">
<a href="#">Ambientadores⌄</a>
<a href="#">Colecciones⌄</a>
<a href="#">Accesorios⌄</a>
<a href="#">Para profesionales</a>
<a href="#">Sobre nosotros</a>
<a href="#">Blog</a>
</nav>
<div class="nav-actions">
<span>⌕</span>
<span>♙</span>
<span>🛒</span>
</div>
</div>
</header>
<!-- HERO -->
<section class="hero">
<div class="hero-content">
<div class="eyebrow">
MIAMI SCENTS
</div>
<h1>
Aromas que te<br>
<span>llevan al Caribe</span>
</h1>
<p>
Fragancias que transforman tu coche en una experiencia única.
Diseñadas en Miami, creadas para ti.
</p>
<a class="btn" href="#">
DESCUBRIR COLECCIONES →
</a>
<div class="hero-signature">
Good Vibes<br>
Better Drives
</div>
</div>
</section>
<!-- BENEFITS -->
<div class="benefits">
<div class="container benefits-grid">
<div class="benefit">
<div class="benefit-icon">🍃</div>
<div>
<strong>Fragancias de larga duración</strong>
<span>Hasta 45 días</span>
</div>
</div>
<div class="benefit">
<div class="benefit-icon">💎</div>
<div>
<strong>Aromas únicos</strong>
<span>Inspirados en el Caribe</span>
</div>
</div>
<div class="benefit">
<div class="benefit-icon">🚚</div>
<div>
<strong>Envío gratis</strong>
<span>En pedidos +50€</span>
</div>
</div>
<div class="benefit">
<div class="benefit-icon">🔒</div>
<div>
<strong>Pago seguro</strong>
<span>Múltiples métodos</span>
</div>
</div>
</div>
</div>
<!-- CATEGORÍAS -->
<section>
<div class="container">
<div class="section-header">
<h2>
Explora nuestros <span>aromas</span>
</h2>
<a href="#" class="view-all">
VER TODOS →
</a>
</div>
<div class="categories">
<div class="category">
<img src="assets/frutales.jpg" alt="">
<strong>Frutales</strong>
</div>
<div class="category">
<img src="assets/dulces.jpg" alt="">
<strong>Dulces</strong>
</div>
<div class="category">
<img src="assets/frescos.jpg" alt="">
<strong>Frescos</strong>
</div>
<div class="category">
<img src="assets/citricos.jpg" alt="">
<strong>Cítricos</strong>
</div>
<div class="category">
<img src="assets/tropicales.jpg" alt="">
<strong>Tropicales</strong>
</div>
<div class="category">
<img src="assets/clasicos.jpg" alt="">
<strong>Clásicos</strong>
</div>
<div class="category">
<img src="assets/exclusivos.jpg" alt="">
<strong>Exclusivos</strong>
</div>
</div>
</div>
</section>
<!-- PROMOCIONES -->
<section>
<div class="container promo-grid">
<article class="promo">
<span class="promo-label">LA BOLITA®</span>
<h3>Pequeños detalles, grandes viajes</h3>
<p>
Descubre nuestra colección de aromas colgantes.
</p>
<a href="#" class="btn">VER COLECCIÓN →</a>
</article>
<article class="promo">
<span class="promo-label">PALM</span>
<h3>Siente la brisa del Caribe</h3>
<p>
Ambientadores inspirados en el mar y la naturaleza.
</p>
<a href="#" class="btn">VER COLECCIÓN →</a>
</article>
<article class="promo">
<span class="promo-label">GAMA ORGÁNICA</span>
<h3>Aromas intensos. Frescura duradera.</h3>
<p>
Fragancias orgánicas en lata. Más naturales, más sostenibles.
</p>
<a href="#" class="btn">VER COLECCIÓN →</a>
</article>
</div>
</section>
<!-- PRODUCTOS -->
<section>
<div class="container">
<div class="section-header">
<h2>
Lo más <span>vendido</span>
</h2>
<a href="#" class="view-all">
VER TODOS →
</a>
</div>
<div class="products" id="products">
<!-- generado con JS -->
</div>
</div>
</section>
<!-- BRAND -->
<section class="brand">
<div class="container brand-grid">
<div>
<h2>
La esencia de<br>
<span>Miami Scents</span>
</h2>
<p>
Nacimos en Miami con una misión clara: convertir cada
trayecto en un viaje al Caribe. Aromas únicos,
ingredientes de calidad y un diseño que refleja nuestra
pasión por el detalle.
</p>
<a href="#" class="btn">
CONOCE LA MARCA →
</a>
</div>
<div class="brand-features">
<div>
<div class="feature-icon">🍃</div>
<strong>Inspirado en el Caribe</strong>
<span>Aromas que te transportan</span>
</div>
<div>
<div class="feature-icon">☆</div>
<strong>Calidad en cada detalle</strong>
<span>Materiales premium</span>
</div>
<div>
<div class="feature-icon">◷</div>
<strong>Aromas duraderos</strong>
<span>Hasta 45 días</span>
</div>
<div>
<div class="feature-icon">♡</div>
<strong>Diseño con personalidad</strong>
<span>Estilo que te representa</span>
</div>
</div>
</div>
</section>
<!-- BANNERS -->
<section>
<div class="container banners">
<article class="banner">
<small>PARA NEGOCIOS</small>
<h3>Soluciones para profesionales</h3>
<p>
Productos exclusivos para tiendas, distribuidores y puntos
de venta.
</p>
<a href="#" class="btn">MÁS INFORMACIÓN →</a>
</article>
<article class="banner">
<small>ESTILO DE VIDA</small>
<h3>Tu viaje, tu aroma, tu momento</h3>
<p>
Haz de cada trayecto una experiencia inolvidable.
</p>
<a href="#" class="btn">DESCUBRE MÁS →</a>
</article>
</div>
</section>
<!-- REVIEWS -->
<section>
<div class="container">
<div class="section-header">
<h2>
Lo que dicen nuestros <span>clientes</span>
</h2>
</div>
<div class="reviews">
<article class="review">
<div class="stars">★★★★★</div>
<p>
“Aromas espectaculares y muy duraderos.
Se nota la calidad en cada detalle. ¡Repetiré seguro!”
</p>
<div class="person">
<div class="avatar"></div>
Juan P. ✓
</div>
</article>
<article class="review">
<div class="stars">★★★★★</div>
<p>
“Me encanta La Bolita, el diseño es precioso
y el aroma a vainilla es mi favorito.”
</p>
<div class="person">
<div class="avatar"></div>
María G. ✓
</div>
</article>
<article class="review">
<div class="stars">★★★★★</div>
<p>
“La lata orgánica de mango huele increíble
y es mucho más natural que otros ambientadores.”
</p>
<div class="person">
<div class="avatar"></div>
Carlos R. ✓
</div>
</article>
</div>
</div>
</section>
<!-- NEWSLETTER -->
<section class="newsletter">
<div class="container newsletter-inner">
<div>
<strong>✉ ÚNETE A LA COMUNIDAD</strong>
<p>
Recibe novedades, ofertas exclusivas y consejos.
</p>
</div>
<form class="newsletter-form">
<input
type="email"
placeholder="Tu email"
required
>
<button>
SUSCRIBIRME →
</button>
</form>
<div>
◎ ♪ ▶
</div>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="container footer-grid">
<div>
<div class="logo-text">
Miami
<small>SCENTS</small>
</div>
</div>
<div>
<h4>Tienda</h4>
<a href="#">Ambientadores</a>
<a href="#">Colecciones</a>
<a href="#">Accesorios</a>
<a href="#">Kits y packs</a>
<a href="#">Ofertas</a>
</div>
<div>
<h4>Ayuda</h4>
<a href="#">Envíos</a>
<a href="#">Devoluciones</a>
<a href="#">Preguntas frecuentes</a>
<a href="#">Contacto</a>
</div>
<div>
<h4>Sobre nosotros</h4>
<a href="#">Nuestra historia</a>
<a href="#">Sostenibilidad</a>
<a href="#">Blog</a>
<a href="#">Trabaja con nosotros</a>
</div>
<div>
<h4>Para profesionales</h4>
<a href="#">Distribuidores</a>
<a href="#">Tiendas</a>
<a href="#">Mayoristas</a>
<a href="#">Soluciones a medida</a>
</div>
</div>
<div class="container copyright">
© 2026 Miami Scents · Todos los derechos reservados
</div>
</footer>
<script>
const productos = [
{
nombre: "La Bolita Vainilla",
precio: "6,99 €",
img: "assets/vainilla.png",
opiniones: "842",
top: true
},
{
nombre: "La Bolita Cereza",
precio: "6,99 €",
img: "assets/cereza.png",
opiniones: "755"
},
{
nombre: "Palm Brisa",
precio: "2,99 €",
img: "assets/palm.png",
opiniones: "1.125"
},
{
nombre: "Lata Orgánica Mango",
precio: "7,99 €",
img: "assets/mango.png",
opiniones: "612"
},
{
nombre: "La Bolita Algodón",
precio: "6,99 €",
img: "assets/algodon.png",
opiniones: "421"
},
{
nombre: "La Bolita Coche Nuevo",
precio: "6,99 €",
img: "assets/coche-nuevo.png",
opiniones: "619"
}
];
const productContainer =
document.getElementById("products");
productContainer.innerHTML =
productos.map(producto => `
<article class="product-card">
${
producto.top
? `<div class="badge">TOP</div>`
: ""
}
<div class="product-image">
<img
src="${producto.img}"
alt="${producto.nombre}"
>
</div>
<h3 class="product-title">
${producto.nombre}
</h3>
<div class="stars">
★★★★★
<small>(${producto.opiniones})</small>
</div>
<div class="price">
${producto.precio}
</div>
<button class="cart-btn">
AÑADIR AL CARRITO
</button>
</article>
`).join("");
</script>
</body>
</html>