feat: improve seo, trust signals, and performance

This commit is contained in:
Manuel
2026-07-20 12:07:23 +02:00
parent 49f391ee49
commit faed590a66
27 changed files with 1444 additions and 153 deletions
+47 -9
View File
@@ -1,5 +1,42 @@
---
import MainLayout from '../layouts/MainLayout.astro';
import Icon from '../components/Icon.astro';
const teamMembers = [
{
nombre: 'Mateo Navarro',
rol: 'Director Ejecutivo',
src: '/images/generated/gallery-2.webp',
pos: 'center top',
width: 1024,
height: 1024,
},
{
nombre: 'Lucía Quintana',
rol: 'Chef Creativa',
src: '/images/generated/hero-nosotros-gen.webp',
pos: 'center top',
width: 1264,
height: 848,
},
{
nombre: 'Julián Marín',
rol: 'Head Sommelier',
src: '/images/foto-canapes.jpg',
pos: 'center 30%',
width: 1264,
height: 848,
},
{
nombre: 'Elena Soler',
rol: 'Diseño de Experiencias',
src: '/images/foto-plato-mnq.jpg',
pos: 'center top',
width: 1200,
height: 805,
},
];
---
<MainLayout
@@ -26,8 +63,11 @@ import MainLayout from '../layouts/MainLayout.astro';
<img
src="/images/generated/hero-nosotros-gen.webp"
alt="Chef ejecutiva MNQ — el arte de la hospitalidad"
width="1264"
height="848"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
loading="eager"
fetchpriority="high"
/>
</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;">
@@ -64,17 +104,17 @@ import MainLayout from '../layouts/MainLayout.astro';
</div>
<div class="grid-3">
<div class="value-card value-card-animate" data-value-delay="0">
<span class="material-symbols-outlined text-primary icon-lg">verified</span>
<Icon name="verified" class="text-primary icon-lg" />
<h3 class="text-headline-md">Calidad</h3>
<p class="text-body-sm text-muted leading-relaxed">Innegociable. Desde la frescura del producto hasta el último detalle del servicio de sala.</p>
</div>
<div class="value-card value-card-animate" data-value-delay="150">
<span class="material-symbols-outlined text-primary icon-lg">history_edu</span>
<Icon name="history-edu" class="text-primary icon-lg" />
<h3 class="text-headline-md">Tradición</h3>
<p class="text-body-sm text-muted leading-relaxed">Honramos las técnicas clásicas que han forjado la gran cocina, aplicándolas con respeto.</p>
</div>
<div class="value-card value-card-animate" data-value-delay="300">
<span class="material-symbols-outlined text-primary icon-lg">architecture</span>
<Icon name="architecture" class="text-primary icon-lg" />
<h3 class="text-headline-md">Vanguardia</h3>
<p class="text-body-sm text-muted leading-relaxed">Innovamos en presentaciones y texturas para sorprender a los paladares contemporáneos.</p>
</div>
@@ -94,19 +134,17 @@ import MainLayout from '../layouts/MainLayout.astro';
</div>
<div class="grid-4">
{[
{ nombre: 'Mateo Navarro', rol: 'Director Ejecutivo', src: '/images/generated/gallery-2.webp', pos: 'center top' },
{ nombre: 'Lucía Quintana', rol: 'Chef Creativa', src: '/images/generated/hero-nosotros-gen.webp', pos: 'center top' },
{ nombre: 'Julián Marín', rol: 'Head Sommelier', src: '/images/foto-canapes.jpg', pos: 'center 30%' },
{ nombre: 'Elena Soler', rol: 'Diseño de Experiencias', src: '/images/foto-plato-mnq.jpg', pos: 'center top' },
].map(({ nombre, rol, src, pos }) => (
{teamMembers.map(({ nombre, rol, src, pos, width, height }) => (
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
<div class="overflow-hidden team-card" style="aspect-ratio:3/4;">
<img
src={src}
alt={nombre}
width={width}
height={height}
style={`width:100%;height:100%;object-fit:cover;object-position:${pos};filter:grayscale(1);transition:filter 700ms;`}
loading="lazy"
decoding="async"
/>
</div>
<div>