feat: refresh nosotros team gallery
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 323 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 290 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 505 KiB |
+193
-61
@@ -3,45 +3,48 @@ import MainLayout from '../layouts/MainLayout.astro';
|
|||||||
|
|
||||||
import Icon from '../components/Icon.astro';
|
import Icon from '../components/Icon.astro';
|
||||||
|
|
||||||
const teamMembers = [
|
const whatsappAriaLabel = 'Contactar con MNQ por WhatsApp';
|
||||||
|
|
||||||
|
const teamGallery = {
|
||||||
|
lead: {
|
||||||
|
src: '/images/team/mnq-team-lead.webp',
|
||||||
|
alt: 'Equipo de MNQ durante un servicio',
|
||||||
|
width: 1439,
|
||||||
|
height: 1919,
|
||||||
|
pos: 'center 24%',
|
||||||
|
},
|
||||||
|
support: [
|
||||||
{
|
{
|
||||||
nombre: 'Mateo Navarro',
|
src: '/images/team/mnq-team-service.jpg',
|
||||||
rol: 'Director Ejecutivo',
|
alt: 'Montaje y coordinación del servicio de MNQ',
|
||||||
src: '/images/generated/gallery-2.webp',
|
width: 1080,
|
||||||
pos: 'center top',
|
height: 1440,
|
||||||
width: 1024,
|
pos: 'center 28%',
|
||||||
height: 1024,
|
caption: 'Montaje, tiempos y atención coordinados con naturalidad.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nombre: 'Lucía Quintana',
|
src: '/images/team/mnq-team-kitchen.webp',
|
||||||
rol: 'Chef Creativa',
|
alt: 'Preparación gastronómica del equipo de MNQ',
|
||||||
src: '/images/generated/hero-nosotros-gen.webp',
|
width: 1439,
|
||||||
pos: 'center top',
|
height: 1439,
|
||||||
width: 1264,
|
pos: 'center center',
|
||||||
height: 848,
|
caption: 'Cocina en movimiento, detalle en cada pase.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nombre: 'Julián Marín',
|
src: '/images/team/mnq-team-close.webp',
|
||||||
rol: 'Head Sommelier',
|
alt: 'Momento cercano del equipo de MNQ',
|
||||||
src: '/images/foto-canapes.jpg',
|
width: 1079,
|
||||||
pos: 'center 30%',
|
height: 1079,
|
||||||
width: 1264,
|
pos: 'center center',
|
||||||
height: 848,
|
caption: 'Una presencia cercana que acompaña sin invadir.',
|
||||||
},
|
},
|
||||||
{
|
],
|
||||||
nombre: 'Elena Soler',
|
};
|
||||||
rol: 'Diseño de Experiencias',
|
|
||||||
src: '/images/foto-plato-mnq.jpg',
|
|
||||||
pos: 'center top',
|
|
||||||
width: 1200,
|
|
||||||
height: 805,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<MainLayout
|
<MainLayout
|
||||||
title="Nosotros | MNQ Catering y Evento"
|
title="Nosotros | MNQ Catering y Evento"
|
||||||
description="El arte de la hospitalidad elevada. Descubra la filosofía, valores y equipo detrás de MNQ Catering y Evento."
|
description="Conozca el equipo real de MNQ Catering y Evento: oficio, cercanía y una hospitalidad cuidada en cada servicio."
|
||||||
activeNav="nosotros"
|
activeNav="nosotros"
|
||||||
>
|
>
|
||||||
|
|
||||||
@@ -52,26 +55,26 @@ const teamMembers = [
|
|||||||
|
|
||||||
<div class="nosotros-text">
|
<div class="nosotros-text">
|
||||||
<span class="section-eyebrow reveal">Nuestra Esencia</span>
|
<span class="section-eyebrow reveal">Nuestra Esencia</span>
|
||||||
<h1 class="text-display reveal" style="--reveal-delay: 150;margin-bottom:var(--space-8);">El arte de la hospitalidad elevada.</h1>
|
<h1 class="text-display reveal" style="--reveal-delay: 150;margin-bottom:var(--space-8);">Hospitalidad con oficio, calma y cercanía.</h1>
|
||||||
<p class="text-muted leading-relaxed" style="max-width:32rem;">
|
<p class="text-muted leading-relaxed" style="max-width:32rem;">
|
||||||
Desde nuestra fundación, MNQ Catering ha redefinido el concepto de exclusividad culinaria. No solo servimos comida; curamos momentos que perduran en la memoria de los paladares más exigentes.
|
En MNQ cada evento se construye desde dentro: cocina en movimiento, coordinación real y un equipo que cuida el ambiente con discreción. Nos importa que todo salga bien y que se sienta natural.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="nosotros-image" style="position:relative;">
|
<div class="nosotros-image" style="position:relative;">
|
||||||
<div class="overflow-hidden rounded-lg" style="aspect-ratio:4/3;">
|
<div class="overflow-hidden rounded-lg" style="aspect-ratio:4/3;">
|
||||||
<img
|
<img
|
||||||
src="/images/generated/hero-nosotros-gen.webp"
|
src={teamGallery.lead.src}
|
||||||
alt="Chef ejecutiva MNQ — el arte de la hospitalidad"
|
alt={teamGallery.lead.alt}
|
||||||
width="1264"
|
width={teamGallery.lead.width}
|
||||||
height="848"
|
height={teamGallery.lead.height}
|
||||||
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
|
style={`width:100%;height:100%;object-fit:cover;object-position:${teamGallery.lead.pos};`}
|
||||||
loading="eager"
|
loading="eager"
|
||||||
fetchpriority="high"
|
fetchpriority="high"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="quote-card-desktop border-outline-soft" style="position:absolute;bottom:-2.5rem;left:-2.5rem;background:var(--color-surface-container);padding:var(--space-10);display:none;">
|
<div class="quote-card-desktop border-outline-soft" style="position:absolute;bottom:-2.5rem;left:-2.5rem;background:var(--color-surface-container);padding:var(--space-10);display:none;">
|
||||||
<p class="text-headline-md text-primary italic">"La perfección no es un acto, es un hábito."</p>
|
<p class="text-headline-md text-primary italic">"Detrás de cada servicio hay manos reales, ritmo y mucho cuidado."</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -83,12 +86,12 @@ const teamMembers = [
|
|||||||
<section class="section-pad bg-container-low" style="border-top:1px solid rgb(208 197 175/10%);border-bottom:1px solid rgb(208 197 175/10%);">
|
<section class="section-pad bg-container-low" style="border-top:1px solid rgb(208 197 175/10%);border-bottom:1px solid rgb(208 197 175/10%);">
|
||||||
<div class="page-wrap">
|
<div class="page-wrap">
|
||||||
<div class="grid-2" style="gap:var(--space-16);">
|
<div class="grid-2" style="gap:var(--space-16);">
|
||||||
<h2 class="text-headline-lg" style="margin-bottom:var(--space-8);">Filosofía de Exclusividad</h2>
|
<h2 class="text-headline-lg" style="margin-bottom:var(--space-8);">Filosofía de servicio</h2>
|
||||||
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
|
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
|
||||||
<p class="text-muted leading-relaxed">Creemos que cada evento tiene su propia alma. Nuestra filosofía se basa en la escucha activa y la personalización radical. En un mundo de producciones en serie, MNQ apuesta por lo artesanal, lo local y lo extraordinario.</p>
|
<p class="text-muted leading-relaxed">Creemos que un buen catering no solo se nota en el plato: también se nota en cómo acompaña, en cómo resuelve y en la tranquilidad que deja a quien organiza el evento.</p>
|
||||||
<p class="text-muted leading-relaxed">Cada ingrediente es seleccionado por su trazabilidad y calidad superior, trabajando codo a codo con productores que comparten nuestra pasión por la excelencia.</p>
|
<p class="text-muted leading-relaxed">Trabajamos con producto bien seleccionado, proveedores de confianza y una coordinación muy cuidada para que cocina, sala y montaje hablen el mismo idioma.</p>
|
||||||
<div style="padding-top:var(--space-4);">
|
<div style="padding-top:var(--space-4);">
|
||||||
<a href="/contacto" class="btn-underline" style="display:inline-flex;align-items:center;gap:var(--space-3);">Explorar Menú de Autor</a>
|
<a href="/contacto" class="btn-underline" style="display:inline-flex;align-items:center;gap:var(--space-3);">Explorar propuesta gastronómica</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -123,38 +126,80 @@ const teamMembers = [
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── EQUIPO ─── -->
|
<!-- ─── EQUIPO ─── -->
|
||||||
<section class="section-pad bg-inverse" style="overflow:hidden;">
|
<section class="section-pad bg-container-low team-gallery-section" style="overflow:hidden;">
|
||||||
<div class="page-wrap">
|
<div class="page-wrap">
|
||||||
<div style="display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-20);">
|
<div class="team-gallery-grid">
|
||||||
|
<div class="team-gallery-copy">
|
||||||
<div>
|
<div>
|
||||||
<span class="section-eyebrow reveal" style="color:var(--color-primary-fixed);">El Capital Humano</span>
|
<span class="section-eyebrow reveal">El Equipo</span>
|
||||||
<h2 class="text-headline-lg reveal" style="--reveal-delay: 150;color:var(--color-surface);">Mentes tras el menú</h2>
|
<h2 class="text-headline-lg reveal" style="--reveal-delay: 150;">Personas reales detrás de cada servicio</h2>
|
||||||
|
</div>
|
||||||
|
<p class="text-muted leading-relaxed">Nos gusta que quien nos contrata sienta que hay un equipo presente, resolutivo y cercano. Desde la primera conversación hasta el último detalle del montaje, acompañamos con calma y criterio.</p>
|
||||||
|
<p class="text-muted leading-relaxed">Esta galería muestra parte de esa energía de trabajo: menos pose, más coordinación, más cocina viva y más confianza en el trato.</p>
|
||||||
|
|
||||||
|
<div class="team-trust-points">
|
||||||
|
<div class="team-trust-point">
|
||||||
|
<span class="label-caps">Cercanía</span>
|
||||||
|
<p class="text-body-sm text-muted">Comunicación clara y acompañamiento real durante todo el proceso.</p>
|
||||||
|
</div>
|
||||||
|
<div class="team-trust-point">
|
||||||
|
<span class="label-caps">Coordinación</span>
|
||||||
|
<p class="text-body-sm text-muted">Cocina, sala y montaje trabajando con un mismo ritmo.</p>
|
||||||
|
</div>
|
||||||
|
<div class="team-trust-point">
|
||||||
|
<span class="label-caps">Presencia</span>
|
||||||
|
<p class="text-body-sm text-muted">Un servicio atento y discreto para que el evento fluya sin tensión.</p>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-body-sm" style="color:rgb(234 225 212/80%);max-width:24rem;">Un equipo multidisciplinar de chefs, sommeliers y diseñadores de eventos unidos por un propósito común.</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grid-4">
|
<div style="padding-top:var(--space-2);">
|
||||||
{teamMembers.map(({ nombre, rol, src, pos, width, height }) => (
|
<a
|
||||||
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
|
href="https://wa.me/34678171513?text=Hola%20MNQ%2C%20quiero%20hablar%20con%20el%20equipo%20sobre%20mi%20evento"
|
||||||
<div class="overflow-hidden team-card" style="aspect-ratio:3/4;">
|
class="btn-underline"
|
||||||
|
target="_blank"
|
||||||
|
rel="noreferrer"
|
||||||
|
aria-label={whatsappAriaLabel}
|
||||||
|
>Hablar con el equipo</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="team-gallery-visuals">
|
||||||
|
<figure class="team-photo-card team-photo-lead">
|
||||||
|
<div class="overflow-hidden rounded-lg team-photo-frame" style="aspect-ratio:4/5;">
|
||||||
<img
|
<img
|
||||||
src={src}
|
src={teamGallery.lead.src}
|
||||||
alt={nombre}
|
alt={teamGallery.lead.alt}
|
||||||
width={width}
|
width={teamGallery.lead.width}
|
||||||
height={height}
|
height={teamGallery.lead.height}
|
||||||
style={`width:100%;height:100%;object-fit:cover;object-position:${pos};filter:grayscale(1);transition:filter 700ms;`}
|
style={`width:100%;height:100%;object-fit:cover;object-position:${teamGallery.lead.pos};`}
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
decoding="async"
|
decoding="async"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<figcaption class="team-photo-caption">Coordinación cercana, montaje cuidado y una forma de trabajar que se nota en el ambiente.</figcaption>
|
||||||
<h4 style="font-size:1.25rem;color:var(--color-surface);font-family:var(--font-serif);margin-bottom:var(--space-1);">{nombre}</h4>
|
</figure>
|
||||||
<p class="label-caps" style="font-size:0.625rem;color:var(--color-primary-fixed);">{rol}</p>
|
|
||||||
</div>
|
<div class="team-support-grid">
|
||||||
|
{teamGallery.support.map(({ src, alt, width, height, pos, caption }) => (
|
||||||
|
<figure class="team-photo-card">
|
||||||
|
<div class="overflow-hidden rounded-lg team-photo-frame" style="aspect-ratio:1/1;">
|
||||||
|
<img
|
||||||
|
src={src}
|
||||||
|
alt={alt}
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
style={`width:100%;height:100%;object-fit:cover;object-position:${pos};`}
|
||||||
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<figcaption class="team-photo-caption">{caption}</figcaption>
|
||||||
|
</figure>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── CTA ─── -->
|
<!-- ─── CTA ─── -->
|
||||||
@@ -171,19 +216,106 @@ const teamMembers = [
|
|||||||
</MainLayout>
|
</MainLayout>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.team-card:hover img { filter: grayscale(0) !important; }
|
|
||||||
|
|
||||||
.nosotros-hero-grid {
|
.nosotros-hero-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--space-12);
|
gap: var(--space-12);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.team-gallery-section {
|
||||||
|
border-top: 1px solid rgb(208 197 175 / 16%);
|
||||||
|
border-bottom: 1px solid rgb(208 197 175 / 16%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-grid {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-12);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-copy {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--space-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-trust-points {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-5);
|
||||||
|
padding: var(--space-8) 0;
|
||||||
|
border-top: 1px solid rgb(208 197 175 / 28%);
|
||||||
|
border-bottom: 1px solid rgb(208 197 175 / 28%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-trust-point {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-visuals {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-support-grid {
|
||||||
|
display: grid;
|
||||||
|
gap: var(--space-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--space-4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-frame {
|
||||||
|
border: 1px solid rgb(208 197 175 / 22%);
|
||||||
|
background: var(--color-surface-container-high);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-frame img {
|
||||||
|
transition: transform 700ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-card:hover img {
|
||||||
|
transform: scale(1.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-photo-caption {
|
||||||
|
font-size: var(--text-sm);
|
||||||
|
line-height: 1.6;
|
||||||
|
color: var(--color-on-surface-variant);
|
||||||
|
}
|
||||||
|
|
||||||
@media (min-width: 48rem) {
|
@media (min-width: 48rem) {
|
||||||
.nosotros-hero-grid {
|
.nosotros-hero-grid {
|
||||||
grid-template-columns: 5fr 7fr;
|
grid-template-columns: 5fr 7fr;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.quote-card-desktop { display: block !important; }
|
.quote-card-desktop { display: block !important; }
|
||||||
|
|
||||||
|
.team-trust-points {
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: var(--space-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-support-grid {
|
||||||
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-support-grid > :last-child {
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 64rem) {
|
||||||
|
.team-gallery-grid {
|
||||||
|
grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.team-gallery-visuals {
|
||||||
|
grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ─── VALUE CARD TIMELINE ANIMATION ──────────── */
|
/* ─── VALUE CARD TIMELINE ANIMATION ──────────── */
|
||||||
|
|||||||
Reference in New Issue
Block a user