perf: compress images — PNG→JPG/WebP, 85% size reduction

This commit is contained in:
Manuel
2026-05-08 06:09:38 +02:00
parent 34386daca6
commit 801662e3f0
25 changed files with 38 additions and 38 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+1 -1
View File
@@ -18,7 +18,7 @@ const links = [
<a href="/" class="site-brand-link" aria-label="MNQ Catering y Eventos — inicio">
<img
src="/images/logo-nav-dark.png"
src="/images/logo-nav-dark.webp"
alt="MNQ Catering y Eventos"
class="site-logo-banner"
width="220"
+1 -1
View File
@@ -29,7 +29,7 @@ const {
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{title}</title>
<meta name="description" content={description} />
<link rel="icon" type="image/png" href="/images/logo-ojo-transparent.png" />
<link rel="icon" type="image/png" href="/images/logo-ojo-transparent.webp" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
+7 -7
View File
@@ -11,7 +11,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<!-- ─── HERO ─── -->
<section class="hero-tall" style="padding-top: var(--nav-h);">
<img
src="/images/generated/hero-bodas-gen.jpg"
src="/images/generated/hero-bodas-gen.webp"
alt="Bodas Reales — MNQ Catering"
class="hero-bg"
style="object-position: center 40%;"
@@ -57,7 +57,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<!-- Large feature -->
<div class="bento-card bento-large">
<img
src="/images/foto-bodas.png"
src="/images/foto-bodas.jpg"
alt="Salón de bodas dorado — MNQ"
style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;"
/>
@@ -71,7 +71,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<!-- Small cards -->
<div class="bento-card bento-small">
<img
src="/images/generated/gallery-4.jpg"
src="/images/generated/gallery-4.webp"
alt="Mesa de boda con flores"
style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;"
/>
@@ -81,7 +81,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="bento-card bento-small">
<img
src="/images/generated/gallery-1.jpg"
src="/images/generated/gallery-1.webp"
alt="Postre de autor"
style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;"
/>
@@ -106,7 +106,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="grid-3" style="align-items: start;">
<div style="text-align: center;">
<div class="img-zoom overflow-hidden rounded-lg" style="aspect-ratio:4/5;margin-bottom:var(--space-6);">
<img src="/images/generated/gallery-4.jpg" alt="Texturas nobles" style="width:100%;height:100%;object-fit:cover;" loading="lazy" />
<img src="/images/generated/gallery-4.webp" alt="Texturas nobles" style="width:100%;height:100%;object-fit:cover;" loading="lazy" />
</div>
<h4 class="text-headline-md" style="margin-bottom:var(--space-2);">Texturas Nobles</h4>
<p class="text-body-sm text-muted">Linos y sedas seleccionados por su caída y tacto excepcional.</p>
@@ -114,7 +114,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="text-align: center; margin-top: var(--space-12);">
<div class="img-zoom overflow-hidden rounded-lg" style="aspect-ratio:4/5;margin-bottom:var(--space-6);">
<img src="/images/foto-canapes.png" alt="Canapés premium" style="width:100%;height:100%;object-fit:cover;" loading="lazy" />
<img src="/images/foto-canapes.jpg" alt="Canapés premium" style="width:100%;height:100%;object-fit:cover;" loading="lazy" />
</div>
<h4 class="text-headline-md" style="margin-bottom:var(--space-2);">Cristal &amp; Oro</h4>
<p class="text-body-sm text-muted">Detalles metálicos que aportan un brillo atemporal a su celebración.</p>
@@ -122,7 +122,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="text-align: center; margin-top: var(--space-24);">
<div class="img-zoom overflow-hidden rounded-lg" style="aspect-ratio:4/5;margin-bottom:var(--space-6);">
<img src="/images/generated/gallery-3.jpg" alt="Platos de autor" style="width:100%;height:100%;object-fit:cover;" loading="lazy" />
<img src="/images/generated/gallery-3.webp" alt="Platos de autor" style="width:100%;height:100%;object-fit:cover;" loading="lazy" />
</div>
<h4 class="text-headline-md" style="margin-bottom:var(--space-2);">Platos de Autor</h4>
<p class="text-body-sm text-muted">Cada ingrediente es una nota en nuestra composición gastronómica.</p>
+1 -1
View File
@@ -25,7 +25,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="contacto-hero-img overflow-hidden rounded-lg">
<img
src="/images/foto-bodas.png"
src="/images/foto-bodas.jpg"
alt="MNQ Catering — salón de eventos premium"
style="width:100%;height:100%;object-fit:cover;object-position:center 35%;"
loading="eager"
+4 -4
View File
@@ -27,7 +27,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="grid-column:span 12;position:relative;height:28rem;">
<img
src="/images/foto-corporativo.png"
src="/images/foto-corporativo.jpg"
alt="Eventos corporativos premium — MNQ"
class="rounded-lg border-outline-soft"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
@@ -50,7 +50,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="corp-bento">
<div class="bento-card corp-wide">
<img src="/images/foto-corporativo.png" alt="Lanzamientos de marca" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;" loading="lazy" />
<img src="/images/foto-corporativo.jpg" alt="Lanzamientos de marca" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;" loading="lazy" />
<div class="bento-card-overlay"></div>
<div class="bento-card-body">
<h3 class="text-headline-md" style="color:var(--color-on-surface);">Lanzamientos de Marca</h3>
@@ -59,7 +59,7 @@ import MainLayout from '../layouts/MainLayout.astro';
</div>
<div class="bento-card corp-tall">
<img src="/images/generated/gallery-2.jpg" alt="Coffee Breaks Premium" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;" loading="lazy" />
<img src="/images/generated/gallery-2.webp" alt="Coffee Breaks Premium" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;" loading="lazy" />
<div class="bento-card-overlay"></div>
<div class="bento-card-body">
<h3 class="text-headline-md" style="color:var(--color-on-surface);">Coffee Breaks Premium</h3>
@@ -68,7 +68,7 @@ import MainLayout from '../layouts/MainLayout.astro';
</div>
<div class="bento-card corp-wide">
<img src="/images/foto-bodas.png" alt="Galas y Cenas Anuales" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;" loading="lazy" />
<img src="/images/foto-bodas.jpg" alt="Galas y Cenas Anuales" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;" loading="lazy" />
<div class="bento-card-overlay"></div>
<div class="bento-card-body">
<h3 class="text-headline-md" style="color:var(--color-on-surface);">Galas &amp; Cenas Anuales</h3>
+11 -11
View File
@@ -7,7 +7,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<!-- ─── HERO ─── -->
<section class="hero-full">
<img
src="/images/foto-bodas.png"
src="/images/foto-bodas.jpg"
alt="MNQ Catering — salón de bodas premium"
class="hero-bg"
style="object-position: center 30%;"
@@ -49,7 +49,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="display: flex; flex-direction: column; gap: var(--space-6);">
<div class="overflow-hidden" style="border-radius: var(--radius-lg); aspect-ratio: 3/4;">
<img
src="/images/generated/hero-bodas-gen.jpg"
src="/images/generated/hero-bodas-gen.webp"
alt="Bodas Reales — MNQ Catering"
style="width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 700ms ease;"
onmouseenter="this.style.transform='scale(1.05)'"
@@ -67,7 +67,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="display: flex; flex-direction: column; gap: var(--space-6);" class="col-stagger">
<div class="overflow-hidden" style="border-radius: var(--radius-lg); aspect-ratio: 3/4;">
<img
src="/images/foto-corporativo.png"
src="/images/foto-corporativo.jpg"
alt="Corporativo — MNQ Catering"
style="width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 700ms ease;"
onmouseenter="this.style.transform='scale(1.05)'"
@@ -85,7 +85,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="display: flex; flex-direction: column; gap: var(--space-6);">
<div class="overflow-hidden" style="border-radius: var(--radius-lg); aspect-ratio: 3/4;">
<img
src="/images/generated/hero-familiares-gen.jpg"
src="/images/generated/hero-familiares-gen.webp"
alt="Reuniones Familiares — MNQ Catering"
style="width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 700ms ease;"
onmouseenter="this.style.transform='scale(1.05)'"
@@ -117,12 +117,12 @@ import MainLayout from '../layouts/MainLayout.astro';
</div>
<div class="mosaic">
<img src="/images/generated/gallery-1.jpg" alt="Postre de autor con oro" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/foto-canapes.png" alt="Canapés premium" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-3.jpg" alt="Vieiras con azafrán" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-4.jpg" alt="Mesa de boda" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/foto-plato-mnq.png" alt="Plato MNQ Catering" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-2.jpg" alt="Bartender de coctelería" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-1.webp" alt="Postre de autor con oro" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/foto-canapes.jpg" alt="Canapés premium" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-3.webp" alt="Vieiras con azafrán" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-4.webp" alt="Mesa de boda" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/foto-plato-mnq.jpg" alt="Plato MNQ Catering" class="rounded-lg" style="width:100%;" loading="lazy" />
<img src="/images/generated/gallery-2.webp" alt="Bartender de coctelería" class="rounded-lg" style="width:100%;" loading="lazy" />
</div>
</div>
</section>
@@ -177,7 +177,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="cta-dark-ring" style="width: 24rem; height: 24rem; bottom: -6rem; right: -6rem;"></div>
<div style="position: relative; z-index: 10; margin-bottom: var(--space-8);">
<img
src="/images/logo-monograma.png"
src="/images/logo-monograma.webp"
alt="MNQ"
style="height: 5rem; width: auto; margin-inline: auto; display: block;"
/>
+5 -5
View File
@@ -24,7 +24,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="nosotros-image" style="position:relative;">
<div class="overflow-hidden rounded-lg" style="aspect-ratio:4/3;">
<img
src="/images/generated/hero-nosotros-gen.jpg"
src="/images/generated/hero-nosotros-gen.webp"
alt="Chef ejecutiva MNQ — el arte de la hospitalidad"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
loading="eager"
@@ -95,10 +95,10 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="grid-4">
{[
{ nombre: 'Mateo Navarro', rol: 'Director Ejecutivo', src: '/images/generated/gallery-2.jpg', pos: 'center top' },
{ nombre: 'Lucía Quintana', rol: 'Chef Creativa', src: '/images/generated/hero-nosotros-gen.jpg', pos: 'center top' },
{ nombre: 'Julián Marín', rol: 'Head Sommelier', src: '/images/foto-canapes.png', pos: 'center 30%' },
{ nombre: 'Elena Soler', rol: 'Diseño de Experiencias', src: '/images/foto-plato-mnq.png', pos: 'center top' },
{ 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 }) => (
<div style="display:flex;flex-direction:column;gap:var(--space-6);">
<div class="overflow-hidden team-card" style="aspect-ratio:3/4;">
+8 -8
View File
@@ -11,7 +11,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<!-- ─── HERO ─── -->
<section class="hero-full">
<img
src="/images/generated/hero-familiares-gen.jpg"
src="/images/generated/hero-familiares-gen.webp"
alt="Reuniones familiares — MNQ Catering"
class="hero-bg"
style="object-position: center 35%;"
@@ -56,7 +56,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="display: flex; flex-direction: column; gap: var(--space-6);">
<div class="overflow-hidden hover-scale rounded-lg border-outline-soft" style="aspect-ratio: 3/4;">
<img
src="/images/generated/gallery-4.jpg"
src="/images/generated/gallery-4.webp"
alt="Bautizos — mesa de celebración"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
loading="lazy"
@@ -72,7 +72,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="display: flex; flex-direction: column; gap: var(--space-6);" class="card-stagger">
<div class="overflow-hidden hover-scale rounded-lg border-outline-soft" style="aspect-ratio: 3/4;">
<img
src="/images/generated/hero-familiares-gen.jpg"
src="/images/generated/hero-familiares-gen.webp"
alt="Aniversarios — celebración familiar"
style="width:100%;height:100%;object-fit:cover;object-position:center 30%;"
loading="lazy"
@@ -88,7 +88,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div style="display: flex; flex-direction: column; gap: var(--space-6);">
<div class="overflow-hidden hover-scale rounded-lg border-outline-soft" style="aspect-ratio: 3/4;">
<img
src="/images/generated/hero-nosotros-gen.jpg"
src="/images/generated/hero-nosotros-gen.webp"
alt="Cenas privadas — chef ejecutiva"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
loading="lazy"
@@ -117,7 +117,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div>
<div class="overflow-hidden rounded-lg border-outline-soft" style="aspect-ratio:16/9;margin-bottom:var(--space-6);">
<img
src="/images/generated/gallery-3.jpg"
src="/images/generated/gallery-3.webp"
alt="Vieiras de la Costa con Azafrán"
style="width:100%;height:100%;object-fit:cover;"
loading="lazy"
@@ -134,7 +134,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div>
<div class="overflow-hidden rounded-lg border-outline-soft" style="aspect-ratio:1/1;margin-bottom:var(--space-4);">
<img
src="/images/foto-plato-mnq.png"
src="/images/foto-plato-mnq.jpg"
alt="Postre de autor MNQ"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
loading="lazy"
@@ -146,7 +146,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div>
<div class="overflow-hidden rounded-lg border-outline-soft" style="aspect-ratio:1/1;margin-bottom:var(--space-4);">
<img
src="/images/generated/gallery-1.jpg"
src="/images/generated/gallery-1.webp"
alt="Postre con láminas de oro"
style="width:100%;height:100%;object-fit:cover;"
loading="lazy"
@@ -167,7 +167,7 @@ import MainLayout from '../layouts/MainLayout.astro';
<div class="overflow-hidden rounded-lg" style="aspect-ratio:4/5;">
<img
src="/images/foto-canapes.png"
src="/images/foto-canapes.jpg"
alt="Canapés premium para reuniones familiares"
style="width:100%;height:100%;object-fit:cover;object-position:center top;"
loading="lazy"