/* ============================================================
 * DRY 2040 · premium.css
 * Capa de acabado que alinea el front con los mockups del
 * brandbook v2.0 (Sección 06 · Páginas del sitio).
 * Carga DESPUÉS de blocks.css → gana la cascada.
 *
 * Firmas del sistema:
 *   1. Isotipo chevron como marca de agua en bandas azul/navy
 *   2. Titulares bicolor (segunda línea Faena)
 *   3. Chips de specs, diferenciadores numerados, métricas
 *   4. Banda navy "incluye todo" con íconos punto-naranja
 * ============================================================ */

/* ── 1 · Marca de agua isotipo en bandas oscuras ──────────── */
.wp-block-dry2040-hero,
.page-hero,
.stats-band,
.wp-block-dry2040-stats,
.wp-block-dry2040-cta-final--azul,
.wp-block-dry2040-cta-final--tinta,
.wp-block-dry2040-garantias-s47,
.cta-band {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.wp-block-dry2040-hero::after,
.page-hero::after,
.stats-band::after,
.wp-block-dry2040-stats::after,
.wp-block-dry2040-cta-final--azul::after,
.wp-block-dry2040-cta-final--tinta::after,
.wp-block-dry2040-garantias-s47::after,
.cta-band::after {
    content: "";
    position: absolute;
    right: -6%;
    top: 50%;
    transform: translateY(-50%);
    width: min(58%, 760px);
    aspect-ratio: 1029 / 232;
    background: url('../img/logos/dry2040-isotipo-blanco.svg') no-repeat right center;
    background-size: contain;
    opacity: 0.08;
    pointer-events: none;
    z-index: -1;
}
/* el contenido siempre sobre la marca de agua */
.wp-block-dry2040-hero > .container,
.page-hero > .container,
.stats-band > .container,
.wp-block-dry2040-stats > .container,
.wp-block-dry2040-garantias-s47 > .container,
.wp-block-dry2040-cta-final > .container,
.cta-band > .container { position: relative; z-index: 1; }

/* ── 2 · Page hero AZUL (como el brandbook, no gris) ──────── */
.page-hero {
    background: var(--dry-azul);
    border-bottom: none;
    color: var(--dry-blanco);
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
}
.page-hero__eyebrow { color: var(--dry-azul-tinte); }
.page-hero__titulo,
.page-hero h1 { color: var(--dry-blanco); margin-bottom: var(--dry-space-3); }
.page-hero__lead { color: var(--dry-azul-tinte); }
/* breadcrumb dentro del hero azul */
.page-hero .breadcrumbs,
.page-hero .breadcrumbs a,
.wp-block-dry2040-hero .breadcrumbs,
.wp-block-dry2040-hero .breadcrumbs a {
    color: rgba(255,255,255,0.7);
    font-size: var(--dry-text-caption);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ── 2b · Titular bicolor ─────────────────────────────────── */
.text-faena { color: var(--dry-faena); }

/* ── 3 · Chips de especificaciones (hero producto) ────────── */
.spec-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dry-space-2);
    margin: var(--dry-space-5) 0 var(--dry-space-6);
    padding: 0;
    list-style: none;
}
.spec-chips li, .spec-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.4rem 0.85rem;
    border-radius: var(--dry-radius-full);
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.22);
    color: #fff;
    font-size: var(--dry-text-small);
    font-family: var(--dry-font-mono);
    font-weight: 500;
}

/* ── 4 · Diferenciadores numerados 01/02/03 ───────────────── */
.diferenciadores { padding-block: clamp(2.5rem, 6vw, var(--dry-space-20)); }
.diferenciadores__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--dry-space-10);
    margin-top: var(--dry-space-10);
}
.diferenciador__num {
    font-family: var(--dry-font-mono);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dry-faena);
    line-height: 1;
    margin-bottom: var(--dry-space-3);
}
.diferenciador h3 { font-size: var(--dry-text-h4); margin: 0 0 var(--dry-space-2); color: var(--dry-tinta); }
.diferenciador p { color: var(--dry-texto-sec); margin: 0; }

/* ── 5 · Banda navy "incluye todo" ────────────────────────── */
.wp-block-dry2040-garantias-s47 {
    background: var(--dry-tinta);
    color: var(--dry-blanco);
    padding-block: clamp(2.5rem, 6vw, var(--dry-space-20));
}
.wp-block-dry2040-garantias-s47 h2,
.wp-block-dry2040-garantias-s47 h3 { color: var(--dry-blanco); }
.incluye-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--dry-space-8);
    margin-top: var(--dry-space-10);
}
.incluye-item { padding-top: var(--dry-space-4); border-top: 2px solid var(--dry-faena); }
.incluye-item h3 { font-size: var(--dry-text-body); font-weight: 600; margin: 0 0 var(--dry-space-1); }
.incluye-item p { font-size: var(--dry-text-small); color: var(--dry-texto-terc); margin: 0; }

/* ── 6 · Fila de métricas (números Faena) ─────────────────── */
.metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: var(--dry-space-8);
    margin-top: var(--dry-space-8);
}
.metric__num {
    font-family: var(--dry-font-mono);
    font-size: clamp(1.75rem, 4vw, var(--dry-text-h2));
    font-weight: 700;
    color: var(--dry-faena);
    line-height: 1;
}
.metric__label { display:block; margin-top: var(--dry-space-2); color: var(--dry-texto-sec); font-size: var(--dry-text-small); }

/* ── 7 · Header: CTA Cotizar naranja con flecha ───────────── */
.site-header__cta--desktop .btn { font-weight: 600; }

/* ── 8 · Footer: tagline bicolor + más aire ───────────────── */
.site-footer { background: var(--dry-tinta); }
.site-footer__tagline { font-weight: 700; font-size: var(--dry-text-body); line-height: 1.3; margin-bottom: var(--dry-space-2); }
.site-footer__tagline .text-faena { color: var(--dry-faena); }

/* ── 9 · Cards con más presencia (sombra sutil + hover) ───── */
.card-producto,
.equipo__persona,
.aplicacion-card {
    transition: transform .18s ease, box-shadow .18s ease;
}
.card-producto:hover,
.aplicacion-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--dry-shadow-lg);
}

/* ── 10 · Aplicaciones con imagen (3 cards) ───────────────── */
.aplicaciones,
.galeria-producto { padding-block: clamp(2.5rem, 6vw, var(--dry-space-20)); }
.aplicaciones .section-eyebrow,
.galeria-producto .section-eyebrow { margin-bottom: var(--dry-space-2); }
.aplicaciones__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--dry-space-6);
    margin-top: var(--dry-space-8);
}
.aplicacion-card {
    border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg);
    overflow: hidden;
    background: #fff;
}
.aplicacion-card__media { aspect-ratio: 4/3; background: var(--dry-fondo-claro); overflow: hidden; }
.aplicacion-card__media img { width: 100%; height: 100%; object-fit: cover; }
.aplicacion-card__body { padding: var(--dry-space-6); }
.aplicacion-card__body h3 { margin: 0 0 var(--dry-space-1); font-size: var(--dry-text-h4); }
.aplicacion-card__body p { margin: 0; color: var(--dry-texto-sec); font-size: var(--dry-text-small); }

/* ── 11 · Timeline (Sobre) ────────────────────────────────── */
.timeline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--dry-space-6);
    margin-top: var(--dry-space-10);
    position: relative;
}
.timeline__item { text-align: center; position: relative; padding-top: var(--dry-space-8); }
.timeline__item::before {
    content: ""; position: absolute; top: 6px; left: 0; right: 0; height: 2px; background: var(--dry-borde);
}
.timeline__item::after {
    content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    width: 14px; height: 14px; border-radius: 50%; background: var(--dry-faena); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--dry-borde);
}
.timeline__year { font-family: var(--dry-font-mono); font-weight: 700; color: var(--dry-faena); font-size: var(--dry-text-h4); }
.timeline__title { font-weight: 600; margin: var(--dry-space-1) 0; }
.timeline__desc { font-size: var(--dry-text-small); color: var(--dry-texto-sec); }

/* ── 12 · Secciones con respiro y títulos con eyebrow ─────── */
.section-eyebrow {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--dry-text-eyebrow);
    font-weight: 600;
    color: var(--dry-faena);
    margin-bottom: var(--dry-space-2);
}

/* ── 12b · Hero con FOTO de fondo + overlay azul ──────────── */
.wp-block-dry2040-hero__media { position: absolute; inset: 0; z-index: 0; }
.wp-block-dry2040-hero--institucional .wp-block-dry2040-hero__media img,
.wp-block-dry2040-hero--producto .wp-block-dry2040-hero__media img {
    width: 100%; height: 100%; object-fit: cover; opacity: 1;
}
.wp-block-dry2040-hero__media::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(100deg,
        rgba(1,78,125,0.86) 0%,
        rgba(1,78,125,0.70) 48%,
        rgba(1,78,125,0.38) 100%);
}
/* cuando hay foto, el contenido va sobre todo */
.wp-block-dry2040-hero > .container { position: relative; z-index: 2; }
.wp-block-dry2040-hero__inner { position: relative; z-index: 2; }

/* ── 12c · Banda de foto a ancho completo ─────────────────── */
.photo-band {
    position: relative;
    min-height: clamp(300px, 40vw, 480px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}
.photo-band > img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: 0;
}
.photo-band::after {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(0deg, rgba(15,23,42,0.88) 0%, rgba(15,23,42,0.30) 55%, rgba(15,23,42,0.10) 100%);
}
.photo-band__inner { position: relative; z-index: 2; padding-block: clamp(2rem, 5vw, var(--dry-space-12)); color: #fff; }
.photo-band__eyebrow {
    display:block; text-transform:uppercase; letter-spacing:0.1em;
    font-size: var(--dry-text-eyebrow); font-weight:600; color: var(--dry-faena); margin-bottom: var(--dry-space-2);
}
.photo-band h2 { color:#fff; margin:0 0 var(--dry-space-3); max-width: 18ch; }
.photo-band p { color: rgba(255,255,255,0.85); margin:0; max-width: 52ch; }

/* ── 13 · Hero producto: layout y refuerzo ────────────────── */
.wp-block-dry2040-hero--producto .wp-block-dry2040-hero__titulo { font-size: clamp(1.9rem, 4.5vw, 3.25rem); }
.wp-block-dry2040-hero__eyebrow { color: var(--dry-azul-tinte); }

/* ── 14 · Filtros pill (galería/casos) refuerzo ───────────── */
.filtro__count { color: var(--dry-texto-terc); font-family: var(--dry-font-mono); margin-left: 0.3em; }
.filtro--activo .filtro__count { color: rgba(255,255,255,0.7); }

/* ============================================================
 * Abanico rediseñado · destacado Reefer + grid 2×2
 * ============================================================ */
.wp-block-dry2040-abanico__head { text-align: center; max-width: 680px; margin: 0 auto clamp(2rem,4vw,var(--dry-space-12)); }
.wp-block-dry2040-abanico__head .section-eyebrow { color: var(--dry-faena); }
.wp-block-dry2040-abanico__titulo { font-size: var(--dry-text-h2); color: var(--dry-tinta); margin: var(--dry-space-2) 0 0; }
.wp-block-dry2040-abanico__lead { color: var(--dry-texto-sec); font-size: var(--dry-text-lead); margin: var(--dry-space-3) 0 0; }
.wp-block-dry2040-abanico__grid { display: none; } /* layout antiguo desactivado */

/* Card destacada (Reefer) */
.abanico-featured {
    display: grid; grid-template-columns: 1.05fr 1fr; gap: 0;
    background: #fff; border: 1px solid var(--dry-borde); border-radius: var(--dry-radius-xl);
    overflow: hidden; text-decoration: none; margin-bottom: var(--dry-space-5);
    box-shadow: var(--dry-shadow-sm); transition: box-shadow .2s ease, transform .2s ease;
}
.abanico-featured:hover { box-shadow: var(--dry-shadow-lg); transform: translateY(-2px); }
.abanico-featured__media { position: relative; min-height: 340px; overflow: hidden; }
.abanico-featured__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.abanico-featured__badge {
    position: absolute; top: var(--dry-space-4); left: var(--dry-space-4);
    background: var(--dry-faena); color: #fff; font-size: var(--dry-text-small); font-weight: 600;
    padding: 0.35rem 0.85rem; border-radius: var(--dry-radius-full);
}
.abanico-featured__body { padding: clamp(1.75rem, 3vw, var(--dry-space-12)); display: flex; flex-direction: column; justify-content: center; }
.abanico-featured__title { font-size: var(--dry-text-h2); color: var(--dry-tinta); margin: 0 0 var(--dry-space-3); }
.abanico-featured__desc { color: var(--dry-texto-sec); font-size: var(--dry-text-lead); line-height: 1.6; margin: 0 0 var(--dry-space-5); }
.abanico-featured__cta { color: var(--dry-azul); font-weight: 600; }

/* Grid de 4 productos */
.abanico-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--dry-space-5); }
.prod-card {
    display: flex; flex-direction: column; background: #fff; border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg); overflow: hidden; text-decoration: none;
    transition: box-shadow .2s ease, transform .2s ease;
}
.prod-card:hover { box-shadow: var(--dry-shadow-lg); transform: translateY(-3px); }
.prod-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--dry-fondo-claro); }
.prod-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.prod-card:hover .prod-card__media img { transform: scale(1.05); }
.prod-card__body { padding: var(--dry-space-5); display: flex; flex-direction: column; gap: var(--dry-space-2); flex: 1; }
.prod-card__title { font-size: var(--dry-text-h4); color: var(--dry-tinta); margin: 0; }
.prod-card__desc { color: var(--dry-texto-sec); font-size: var(--dry-text-small); line-height: 1.5; margin: 0; flex: 1; }
.prod-card__cta { color: var(--dry-azul); font-weight: 600; font-size: var(--dry-text-small); margin-top: var(--dry-space-1); }

@media (max-width: 1024px) { .abanico-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .abanico-grid { grid-template-columns: 1fr; } .abanico-featured { grid-template-columns: 1fr; } .abanico-featured__media { min-height: 220px; } }

/* ── Historia (Sobre) ─────────────────────────────────────── */
.historia { padding-block: clamp(2.5rem, 6vw, var(--dry-space-20)); }
.historia__lead { color: var(--dry-texto-sec); font-size: var(--dry-text-lead); margin: var(--dry-space-2) 0 0; }
.historia h2 { margin: var(--dry-space-2) 0 0; color: var(--dry-tinta); }

/* ── Galería masonry ──────────────────────────────────────── */
.galeria { padding-block: clamp(2rem, 5vw, var(--dry-space-16)); }
.masonry { columns: 4 270px; column-gap: var(--dry-space-4); }
.masonry__item { break-inside: avoid; margin: 0 0 var(--dry-space-4); border-radius: var(--dry-radius-md); overflow: hidden; background: var(--dry-fondo-claro); box-shadow: var(--dry-shadow-sm); }
.masonry__item img { width: 100%; display: block; transition: transform .35s ease; }
.masonry__item:hover img { transform: scale(1.04); }

/* ── Banda CTA azul (galería, clientes) ───────────────────── */
.cta-band { background: var(--dry-azul); color: #fff; padding-block: clamp(2.5rem, 6vw, var(--dry-space-16)); }
.cta-band h2 { color: #fff; margin: 0 0 var(--dry-space-2); }

/* ── Clientes · métricas + sectores ───────────────────────── */
.metrics-section, .sectores { padding-block: clamp(2.5rem, 6vw, var(--dry-space-20)); }
.metrics-section .metrics { margin-top: var(--dry-space-8); }
.sectores { background: var(--dry-fondo-claro); }
.sectores__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--dry-space-8); margin-top: var(--dry-space-8); }
.sector__num { font-family: var(--dry-font-mono); color: var(--dry-azul); font-weight: 700; font-size: var(--dry-text-h4); display: block; }
.sector h3 { margin: var(--dry-space-2) 0 var(--dry-space-1); font-size: var(--dry-text-body); color: var(--dry-tinta); }
.sector p { margin: 0; color: var(--dry-texto-sec); font-size: var(--dry-text-small); }

/* ── Clientes · Portafolio de proyectos ───────────────────── */
.proyectos { padding-block: clamp(2.5rem, 6vw, var(--dry-space-20)); }
.proyectos__lead {
    max-width: 64ch;
    margin: var(--dry-space-3) 0 0;
    color: var(--dry-texto-sec);
    font-size: var(--dry-text-lead);
    line-height: 1.7;
}
.proyectos__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--dry-space-6);
    margin-top: var(--dry-space-10, 3rem);
}
.proyecto-card {
    display: flex;
    flex-direction: column;
    background: var(--dry-blanco);
    border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.proyecto-card:hover {
    transform: translateY(-4px);
    border-color: var(--dry-azul);
    box-shadow: 0 12px 28px -12px rgba(1, 78, 125, 0.28);
}
.proyecto-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.proyecto-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.proyecto-card:hover .proyecto-card__media img { transform: scale(1.05); }
.proyecto-card__sector {
    position: absolute;
    top: var(--dry-space-3);
    left: var(--dry-space-3);
    background: var(--dry-blanco);
    color: var(--dry-azul-profundo);
    font-size: var(--dry-text-caption, .72rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: .3rem .7rem;
    border-radius: var(--dry-radius-full, 999px);
    box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.18);
}
.proyecto-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--dry-space-6, 1.5rem);
}
.proyecto-card__title {
    margin: 0 0 var(--dry-space-1);
    color: var(--dry-tinta);
    font-size: var(--dry-text-h4, 1.25rem);
    line-height: 1.25;
}
.proyecto-card__meta {
    margin: 0 0 var(--dry-space-3);
    color: var(--dry-texto-terc);
    font-family: var(--dry-font-mono, monospace);
    font-size: var(--dry-text-caption, .78rem);
}
.proyecto-card__resultado {
    margin: 0 0 var(--dry-space-5, 1.25rem);
    color: var(--dry-texto-sec);
    font-size: var(--dry-text-small, .92rem);
    line-height: 1.6;
    flex: 1;
}
.proyecto-card__link {
    margin-top: auto;
    color: var(--dry-azul);
    font-weight: 600;
    font-size: var(--dry-text-small, .92rem);
    text-decoration: none;
}
.proyecto-card__link:hover { color: var(--dry-azul-profundo); }

/* ── I+D ──────────────────────────────────────────────────── */
.id-intro, .id-proyectos { padding-block: clamp(2.5rem, 6vw, var(--dry-space-20)); }
.id-intro__lead { max-width: 72ch; color: var(--dry-texto-sec); font-size: var(--dry-text-lead); line-height: 1.7; margin: var(--dry-space-4) 0 0; }
.id-card { display: grid; grid-template-columns: 1.6fr 1fr; border: 1px solid var(--dry-borde); border-radius: var(--dry-radius-xl); overflow: hidden; margin-top: var(--dry-space-8); }
.id-card__main { padding: clamp(1.5rem, 3vw, var(--dry-space-10)); }
.id-card__badge { display: inline-block; background: var(--dry-azul-tinte); color: var(--dry-azul-profundo); font-size: var(--dry-text-small); font-weight: 600; padding: 0.3rem 0.85rem; border-radius: var(--dry-radius-full); margin-bottom: var(--dry-space-4); }
.id-card__main h3 { font-size: var(--dry-text-h3); color: var(--dry-tinta); margin: 0 0 var(--dry-space-3); }
.id-card__main > p { color: var(--dry-texto-sec); line-height: 1.7; margin: 0 0 var(--dry-space-6); }
.id-card__people { display: grid; grid-template-columns: 1fr 1fr; gap: var(--dry-space-6); }
.id-card__rol { display: block; text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--dry-text-caption); color: var(--dry-texto-terc); margin-bottom: var(--dry-space-1); }
.id-card__partner { background: var(--dry-fondo-claro); padding: clamp(1.5rem, 3vw, var(--dry-space-10)); border-left: 1px solid var(--dry-borde); }
.id-card__partner strong { display: block; font-size: var(--dry-text-h4); color: var(--dry-tinta); margin: var(--dry-space-1) 0; }
.id-card__partner p { color: var(--dry-texto-sec); font-size: var(--dry-text-small); margin: var(--dry-space-2) 0 0; }

.cta-dark { background: var(--dry-tinta); color: #fff; padding-block: clamp(2.5rem, 6vw, var(--dry-space-16)); }
.cta-dark h2 { color: #fff; margin: var(--dry-space-2) 0; }
.cta-dark p { color: var(--dry-texto-terc); margin: 0 0 var(--dry-space-5); }

/* ── Contacto ─────────────────────────────────────────────── */
.contacto { padding-block: clamp(2.5rem, 6vw, var(--dry-space-16)); }
.contacto__grid { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: var(--dry-space-10); align-items: start; }
.contacto__main h2 { margin: var(--dry-space-2) 0 0; color: var(--dry-tinta); }
.contacto__lead { color: var(--dry-texto-sec); font-size: var(--dry-text-lead); margin: var(--dry-space-3) 0 var(--dry-space-6); }
.whatsapp-box { display: flex; align-items: center; gap: var(--dry-space-4); background: var(--dry-azul-profundo); color: #fff; padding: var(--dry-space-6); border-radius: var(--dry-radius-lg); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; box-shadow: 0 14px 30px -16px rgba(1,78,125,.5); }
.whatsapp-box:hover { transform: translateY(-2px); box-shadow: 0 20px 38px -16px rgba(1,78,125,.6); }
.whatsapp-box__icon { font-size: 1.4rem; flex-shrink: 0; width: 2.6rem; height: 2.6rem; display: inline-flex; align-items: center; justify-content: center; background: #25D366; border-radius: 50%; }
.whatsapp-box strong { display: block; }
.whatsapp-box small { display: block; opacity: 0.9; font-size: var(--dry-text-small); }
.whatsapp-box__num { display: block; font-family: var(--dry-font-mono); font-weight: 700; margin-top: var(--dry-space-1); }
.whatsapp-box__arrow { margin-left: auto; font-size: 1.4rem; }
.contacto__side { display: flex; flex-direction: column; gap: var(--dry-space-4); }
.contacto__card { background: var(--dry-fondo-claro); border-radius: var(--dry-radius-lg); padding: var(--dry-space-6); }
.contacto__label { display: block; text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--dry-text-caption); color: var(--dry-texto-terc); margin-bottom: var(--dry-space-2); }
.contacto__card p { margin: 0; color: var(--dry-texto); line-height: 1.6; }
.contacto__card small { color: var(--dry-texto-terc); }

@media (max-width: 860px) { .contacto__grid { grid-template-columns: 1fr; } .id-card { grid-template-columns: 1fr; } .id-card__people { grid-template-columns: 1fr; } .id-card__partner { border-left: none; border-top: 1px solid var(--dry-borde); } }

/* ── Cotizador · wizard 4 pasos ───────────────────────────── */
[x-cloak] { display: none !important; }
.wiz { padding-block: clamp(2.5rem, 6vw, var(--dry-space-16)); }
.wiz__progress { margin-bottom: var(--dry-space-10); }
.wiz__bar { height: 6px; background: var(--dry-borde); border-radius: var(--dry-radius-full); overflow: hidden; }
.wiz__bar-fill { height: 100%; background: var(--dry-faena); transition: width .35s ease; }
.wiz__count { display: block; margin-top: var(--dry-space-3); color: var(--dry-texto-terc); font-size: var(--dry-text-small); text-transform: uppercase; letter-spacing: 0.08em; }
.wiz__step h2 { margin: var(--dry-space-2) 0 var(--dry-space-6); color: var(--dry-tinta); }
.wiz__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--dry-space-4); }
.wiz-tile { text-align: left; padding: var(--dry-space-5); border: 2px solid var(--dry-borde); border-radius: var(--dry-radius-lg); background: #fff; cursor: pointer; transition: all .15s ease; display: flex; flex-direction: column; gap: .25rem; }
.wiz-tile:hover { border-color: var(--dry-azul); transform: translateY(-2px); }
.wiz-tile.is-active { border-color: var(--dry-azul); background: var(--dry-azul-tinte); }
.wiz-tile strong { font-size: var(--dry-text-h4); color: var(--dry-tinta); }
.wiz-tile span { color: var(--dry-texto-sec); font-size: var(--dry-text-small); }
.wiz__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--dry-space-3); }
.wiz-option { text-align: left; padding: var(--dry-space-4) var(--dry-space-5); border: 2px solid var(--dry-borde); border-radius: var(--dry-radius-md); background: #fff; cursor: pointer; transition: all .15s ease; color: var(--dry-texto); }
.wiz-option:hover { border-color: var(--dry-azul); }
.wiz-option.is-active { border-color: var(--dry-azul); background: var(--dry-azul-tinte); color: var(--dry-azul-profundo); font-weight: 600; }
.wiz__fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--dry-space-5); }
.field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: var(--dry-space-4); }
.field--full { grid-column: 1 / -1; }
.field > span { font-size: var(--dry-text-small); font-weight: 600; color: var(--dry-texto); }
.field input, .field select, .field textarea { padding: .7rem .9rem; border: 1px solid var(--dry-borde); border-radius: var(--dry-radius-md); font: inherit; font-size: var(--dry-text-body); background: #fff; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--dry-azul); border-color: var(--dry-azul); }
.field__legend { font-size: var(--dry-text-small); font-weight: 600; margin: var(--dry-space-4) 0 var(--dry-space-2); color: var(--dry-texto); }
.field-check { display: flex; gap: .6rem; align-items: flex-start; margin: var(--dry-space-5) 0; font-size: var(--dry-text-small); color: var(--dry-texto-sec); }
.wiz__nav { display: flex; justify-content: space-between; gap: var(--dry-space-4); margin-top: var(--dry-space-8); }
.btn--outline-dark { background: transparent; border: 1px solid var(--dry-borde); color: var(--dry-texto); }
.btn--outline-dark:hover { border-color: var(--dry-azul); color: var(--dry-azul); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none !important; }
.wiz__done { text-align: center; padding: var(--dry-space-12) 0; }
.wiz__check { width: 64px; height: 64px; border-radius: 50%; background: #16A34A; color: #fff; font-size: 2rem; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--dry-space-5); }
.wiz__done h2 { color: var(--dry-tinta); margin: 0 0 var(--dry-space-3); }
.wiz__done p { color: var(--dry-texto-sec); max-width: 48ch; margin: 0 auto var(--dry-space-6); }
.wiz__done-actions { display: flex; gap: var(--dry-space-3); justify-content: center; flex-wrap: wrap; }
.wiz__fallback { text-align: center; margin-top: var(--dry-space-8); color: var(--dry-texto-sec); font-size: var(--dry-text-small); }
@media (max-width: 600px) { .wiz__fields { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════════
   PRODUCTO PREMIUM · franja de confianza, qué es, FAQ
   ═══════════════════════════════════════════════════════════════ */

/* Franja de confianza (banda azul profundo) */
.trust-strip {
    background: var(--dry-azul-profundo);
    color: var(--dry-blanco);
    padding: var(--dry-space-12, 4.5rem) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.section-eyebrow--light { color: var(--dry-faena-tinte); opacity: .9; }
.trust-strip__title { color: var(--dry-blanco); margin: var(--dry-space-3) auto var(--dry-space-4); max-width: 22ch; }
.trust-strip__lead { color: rgba(255,255,255,.82); max-width: 60ch; margin: 0 auto var(--dry-space-8); font-size: var(--dry-text-lead, 1.125rem); line-height: 1.6; }
.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--dry-space-5, 1.5rem);
    max-width: 920px;
    margin: 0 auto;
}
.trust-card {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: var(--dry-space-5, 1.5rem) var(--dry-space-4, 1.25rem);
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--dry-radius-lg, 14px);
}
.trust-card__num { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; letter-spacing: -.02em; line-height: 1; color: var(--dry-blanco); }
.trust-card__label { font-size: var(--dry-text-small, .875rem); color: rgba(255,255,255,.7); line-height: 1.35; }

/* Qué es (media + body) */
.quees { padding: var(--dry-space-12, 4.5rem) 0; background: var(--dry-blanco); }
.quees__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--dry-space-10, 3.5rem); align-items: center; }
.quees__media { border-radius: var(--dry-radius-lg, 16px); overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 20px 50px -20px rgba(1,78,125,.45); }
.quees__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.quees__body h2 { margin: var(--dry-space-2) 0 var(--dry-space-4); color: var(--dry-tinta); }
.quees__body > p { color: var(--dry-texto-sec); line-height: 1.7; margin-bottom: var(--dry-space-5); }
.quees__list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--dry-space-3); }
.quees__list li { position: relative; padding-left: 1.9rem; color: var(--dry-texto); line-height: 1.5; }
.quees__list li::before {
    content: ""; position: absolute; left: 0; top: .35em;
    width: 1.1rem; height: 1.1rem; border-radius: 50%;
    background: var(--dry-faena);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* FAQ producto (details nativo) */
.faq-prod { padding: var(--dry-space-12, 4.5rem) 0; background: var(--dry-fondo-claro); }
.faq-prod h2 { color: var(--dry-tinta); margin: var(--dry-space-2) 0 var(--dry-space-6); }
.faq-prod__item {
    background: var(--dry-blanco);
    border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-md, 12px);
    margin-bottom: var(--dry-space-3);
    overflow: hidden;
}
.faq-prod__item summary {
    cursor: pointer; list-style: none; padding: 1.15rem 1.4rem;
    font-weight: 600; color: var(--dry-tinta); display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.faq-prod__item summary::-webkit-details-marker { display: none; }
.faq-prod__item summary::after { content: "+"; font-size: 1.5rem; font-weight: 400; color: var(--dry-faena); transition: transform .2s ease; line-height: 1; }
.faq-prod__item[open] summary::after { transform: rotate(45deg); }
.faq-prod__item p { padding: 0 1.4rem 1.25rem; margin: 0; color: var(--dry-texto-sec); line-height: 1.65; }

@media (max-width: 860px) {
    .trust-grid { grid-template-columns: repeat(2, 1fr); }
    .quees__grid { grid-template-columns: 1fr; gap: var(--dry-space-6, 2rem); }
    .quees__media { aspect-ratio: 16/10; }
}
@media (max-width: 520px) {
    .trust-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   HOME · ventajas del contenedor (8 puntos)
   ═══════════════════════════════════════════════════════════════ */
.ventajas { padding: var(--dry-space-12, 4.5rem) 0; background: var(--dry-blanco); }
.ventajas__head { text-align: center; max-width: 60ch; margin: 0 auto var(--dry-space-8, 3rem); }
.ventajas__head h2 { color: var(--dry-tinta); margin: var(--dry-space-2) 0 var(--dry-space-3); }
.ventajas__head p { color: var(--dry-texto-sec); line-height: 1.6; }
.ventajas-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--dry-space-5, 1.5rem);
    max-width: 1100px;
    margin: 0 auto;
}
.ventaja-item {
    padding: var(--dry-space-5, 1.5rem);
    background: var(--dry-fondo-claro);
    border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg, 14px);
    display: flex;
    flex-direction: column;
    gap: .6rem;
    transition: transform .18s ease, box-shadow .18s ease;
}
.ventaja-item:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(1,78,125,.4); }
.ventaja-item__num {
    font-family: var(--dry-font-mono, monospace);
    font-size: var(--dry-text-small, .8rem);
    font-weight: 700;
    color: var(--dry-azul);
    letter-spacing: .04em;
}
.ventaja-item__text { color: var(--dry-texto); font-weight: 500; line-height: 1.45; }
@media (max-width: 900px) { .ventajas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ventajas-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════════
   SPRINT 1 · TANDA 2 — refuerzos de cards, equipo, spacing
   ═══════════════════════════════════════════════════════════════ */

/* Config-cards con más presencia */
.config-card {
    padding: var(--dry-space-6, 1.75rem);
    border-radius: var(--dry-radius-lg, 14px);
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.config-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px -20px rgba(1,78,125,.4); border-color: var(--dry-azul); }
.config-card__titulo { font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; }
.config-card__desc { line-height: 1.55; }

/* Equipo · monograma + bio */
.equipo__persona {
    background: var(--dry-blanco);
    border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg, 14px);
    padding: var(--dry-space-6, 1.75rem);
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease;
}
.equipo__persona:hover { transform: translateY(-3px); box-shadow: 0 18px 38px -20px rgba(1,78,125,.38); }
.equipo__avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 3.4rem; height: 3.4rem; border-radius: 50%;
    background: var(--dry-azul-tinte); color: var(--dry-azul-profundo);
    font-family: var(--dry-font-mono, monospace); font-weight: 700; font-size: 1.1rem;
    letter-spacing: .02em; margin-bottom: var(--dry-space-4, 1.25rem);
}
.equipo__persona h3 { margin: 0 0 .15rem; color: var(--dry-tinta); font-size: 1.2rem; }
.equipo__cargo { margin: 0 0 var(--dry-space-2, .6rem); color: var(--dry-faena); font-weight: 600; font-size: var(--dry-text-small, .9rem); }
.equipo__bio { margin: 0; color: var(--dry-texto-sec); font-size: var(--dry-text-small, .9rem); line-height: 1.5; }

/* Reducir aire muerto entre secciones en Sobre e I+D */
.historia { padding-block: clamp(2rem, 4vw, 3.5rem); }
.id-intro { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem); }
.id-proyectos { padding-block: clamp(1rem, 2vw, 1.5rem) clamp(2.5rem, 5vw, 4rem); }

/* Contacto · que la columna izquierda no quede tan vacía */
.contacto__grid { align-items: stretch; }
.contacto__main { display: flex; flex-direction: column; }
.whatsapp-box { margin-top: var(--dry-space-4, 1.25rem); }
.contacto__nota { margin-top: var(--dry-space-5, 1.5rem); color: var(--dry-texto-terc); font-size: var(--dry-text-small, .9rem); line-height: 1.6; }

/* Galería · grid uniforme 4:3 (en vez de masonry irregular) */
.galeria .masonry {
    columns: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--dry-space-3, 1rem);
}
.galeria .masonry__item {
    margin: 0;
    aspect-ratio: 4 / 3;
    border-radius: var(--dry-radius-md, 12px);
    overflow: hidden;
}
.galeria .masonry__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.galeria .masonry__item:hover img { transform: scale(1.05); }

/* ═══════════════════════════════════════════════════════════════
   SPRINT 2 · Reseñas de Google (Places API)
   ═══════════════════════════════════════════════════════════════ */
.greviews { padding-block: clamp(2.5rem, 6vw, 4.5rem); background: var(--dry-fondo-claro); }
.greviews__head { text-align: center; max-width: 60ch; margin: 0 auto var(--dry-space-8, 3rem); }
.greviews__head h2 { color: var(--dry-tinta); margin: var(--dry-space-2) 0 var(--dry-space-4); }
.greviews__score { display: inline-flex; align-items: center; gap: .75rem; flex-wrap: wrap; justify-content: center; }
.greviews__num { font-size: 2rem; font-weight: 800; color: var(--dry-tinta); line-height: 1; }
.greviews__stars { font-size: 1.25rem; letter-spacing: .1em; color: var(--dry-borde); }
.greviews__stars .is-on, .greview__stars .is-on { color: #FBBC04; }
.greviews__count { color: var(--dry-texto-sec); font-size: var(--dry-text-small, .9rem); }
.greviews__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: var(--dry-space-5, 1.5rem); }
.greview {
    background: var(--dry-blanco); border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg, 14px); padding: var(--dry-space-6, 1.5rem);
    display: flex; flex-direction: column; gap: var(--dry-space-3, .75rem);
}
.greview__top { display: flex; align-items: center; gap: .75rem; }
.greview__avatar { width: 2.6rem; height: 2.6rem; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.greview__avatar--mono { display: inline-flex; align-items: center; justify-content: center; background: var(--dry-azul-tinte); color: var(--dry-azul-profundo); font-weight: 700; font-family: var(--dry-font-mono, monospace); }
.greview__meta { display: flex; flex-direction: column; line-height: 1.2; }
.greview__author { color: var(--dry-tinta); font-size: .95rem; }
.greview__when { color: var(--dry-texto-terc); font-size: var(--dry-text-caption, .78rem); }
.greview__g { margin-left: auto; font-weight: 800; color: var(--dry-azul); font-family: var(--dry-font-mono, monospace); }
.greview__stars { font-size: 1rem; letter-spacing: .08em; color: var(--dry-borde); }
.greview__text { margin: 0; color: var(--dry-texto-sec); line-height: 1.6; font-size: var(--dry-text-small, .92rem); display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.greviews__cta { text-align: center; margin-top: var(--dry-space-8, 3rem); }

/* ═══════════════════════════════════════════════════════════════
   COMPARATIVA · tabla DRY 2040 vs competencia (Reefer / Pool)
   ═══════════════════════════════════════════════════════════════ */
.comparativa { padding-block: clamp(2.5rem, 6vw, 4.5rem); background: var(--dry-blanco); }
.comparativa__title { color: var(--dry-tinta); margin: var(--dry-space-2) 0 var(--dry-space-3); max-width: 22ch; }
.comparativa__lead { color: var(--dry-texto-sec); max-width: 60ch; margin: 0 0 var(--dry-space-8); line-height: 1.6; }
.comparativa__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--dry-radius-lg); }
.comparativa__table {
    width: 100%; min-width: 640px; border-collapse: separate; border-spacing: 0;
    background: var(--dry-blanco); font-size: .98rem;
}
.comparativa__table thead th { vertical-align: bottom; padding: var(--dry-space-5) var(--dry-space-5); text-align: left; }
.comparativa__rowhead { color: var(--dry-texto-terc); font-weight: 600; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.comparativa__col { color: var(--dry-texto-sec); font-weight: 600; font-size: 1rem; border-bottom: 2px solid var(--dry-borde); }
.comparativa__col--otro { width: 38%; }
.comparativa__col--dry {
    width: 38%; color: var(--dry-blanco); background: var(--dry-azul);
    border-bottom: 2px solid var(--dry-azul-profundo);
    border-top-left-radius: var(--dry-radius-md); border-top-right-radius: var(--dry-radius-md);
}
.comparativa__brand { font-family: var(--dry-font-mono); font-weight: 700; letter-spacing: .02em; }
.comparativa__table tbody th[scope="row"] {
    text-align: left; font-weight: 600; color: var(--dry-tinta);
    padding: var(--dry-space-4) var(--dry-space-5); border-bottom: 1px solid var(--dry-borde);
    vertical-align: top; background: var(--dry-fondo-claro);
}
.comparativa__cell {
    padding: var(--dry-space-4) var(--dry-space-5); color: var(--dry-texto-sec);
    border-bottom: 1px solid var(--dry-borde); vertical-align: top; line-height: 1.45;
}
.comparativa__cell--dry { background: var(--dry-azul-tinte); color: var(--dry-tinta); font-weight: 500; }
.comparativa__table tbody tr:last-child .comparativa__cell--dry {
    border-bottom-left-radius: var(--dry-radius-md); border-bottom-right-radius: var(--dry-radius-md);
}
.comparativa__ico {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.35rem; height: 1.35rem; border-radius: var(--dry-radius-full);
    margin-right: var(--dry-space-3); font-size: .82rem; font-weight: 700;
    vertical-align: -.18rem; flex-shrink: 0;
}
.comparativa__ico--ok { background: var(--dry-azul); color: var(--dry-blanco); }
.comparativa__ico--no { background: var(--dry-borde); color: var(--dry-texto-sec); }

/* ═══════════════════════════════════════════════════════════════
   SIMULADOR · costos lado a lado (Pool)
   ═══════════════════════════════════════════════════════════════ */
.simulador { margin-top: clamp(2.5rem, 6vw, 4rem); }
.simulador__head { max-width: 60ch; margin-bottom: var(--dry-space-8); }
.simulador__title { color: var(--dry-tinta); margin: var(--dry-space-2) 0 var(--dry-space-3); }
.simulador__lead { color: var(--dry-texto-sec); line-height: 1.6; margin: 0; }
.simulador__cards { display: grid; grid-template-columns: 1fr; gap: var(--dry-space-6); }
.simulador__card {
    background: var(--dry-blanco); border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg); padding: var(--dry-space-6);
    display: flex; flex-direction: column;
}
.simulador__card--dry { border: 2px solid var(--dry-azul); box-shadow: var(--dry-shadow-md); }
.simulador__cardhead {
    display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
    gap: var(--dry-space-2); padding-bottom: var(--dry-space-4);
    border-bottom: 1px solid var(--dry-borde); margin-bottom: var(--dry-space-4);
}
.simulador__cardtitle { color: var(--dry-tinta); font-size: 1.12rem; margin: 0; }
.simulador__plazo {
    font-family: var(--dry-font-mono); font-size: .78rem; font-weight: 600;
    color: var(--dry-texto-sec); background: var(--dry-fondo-claro);
    padding: var(--dry-space-1) var(--dry-space-3); border-radius: var(--dry-radius-full);
}
.simulador__card--dry .simulador__plazo { color: var(--dry-azul-profundo); background: var(--dry-azul-tinte); }
.simulador__lista { list-style: none; margin: 0; padding: 0; flex: 1; }
.simulador__linea {
    display: flex; justify-content: space-between; align-items: baseline; gap: var(--dry-space-4);
    padding: var(--dry-space-3) 0; border-bottom: 1px dashed var(--dry-borde);
}
.simulador__concepto { color: var(--dry-texto-sec); line-height: 1.4; font-size: .95rem; }
.simulador__monto { font-family: var(--dry-font-mono); font-weight: 600; color: var(--dry-texto); white-space: nowrap; }
.simulador__total {
    display: flex; justify-content: space-between; align-items: baseline; gap: var(--dry-space-4);
    margin-top: var(--dry-space-5); padding-top: var(--dry-space-4); border-top: 2px solid var(--dry-tinta);
}
.simulador__total--dry { border-top-color: var(--dry-azul); }
.simulador__total-label { font-weight: 600; color: var(--dry-texto-sec); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; }
.simulador__total-monto { font-family: var(--dry-font-mono); font-weight: 700; font-size: 1.7rem; color: var(--dry-tinta); line-height: 1; }
.simulador__total--dry .simulador__total-monto { color: var(--dry-azul); }
.simulador__ahorro {
    display: flex; flex-wrap: wrap; align-items: center; gap: var(--dry-space-3);
    margin-top: var(--dry-space-8); padding: var(--dry-space-5) var(--dry-space-6);
    background: var(--dry-azul-tinte); border-radius: var(--dry-radius-lg);
}
.simulador__ahorro-badge {
    background: var(--dry-faena); color: var(--dry-blanco); font-weight: 700;
    padding: var(--dry-space-2) var(--dry-space-4); border-radius: var(--dry-radius-full);
    font-size: .95rem; white-space: nowrap;
}
.simulador__ahorro-texto { color: var(--dry-azul-profundo); font-weight: 600; font-size: 1.05rem; }
.simulador__nota { margin: var(--dry-space-5) 0 0; color: var(--dry-texto-terc); font-size: .82rem; line-height: 1.5; }

@media (min-width: 768px) {
    .simulador__cards { grid-template-columns: 1fr 1fr; align-items: stretch; }
}

/* ──────────────────────────────────────────────────────────────
   BLOG · archive (grid de cards) + single (lectura cómoda)
   ────────────────────────────────────────────────────────────── */
.blog-archive { padding-block: clamp(2.5rem, 6vw, var(--dry-space-16)); }

.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--dry-space-8);
}

.blog-card {
    background: var(--dry-blanco);
    border: 1px solid var(--dry-borde);
    border-radius: var(--dry-radius-lg);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .10);
    border-color: var(--dry-borde-fuerte);
}
.blog-card__link { display: block; color: inherit; text-decoration: none; }

.blog-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--dry-fondo-claro);
    overflow: hidden;
}
.blog-card__media img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .4s ease;
}
.blog-card:hover .blog-card__media img { transform: scale(1.04); }

.blog-card__cat {
    position: absolute;
    top: var(--dry-space-3);
    left: var(--dry-space-3);
    background: var(--dry-azul);
    color: var(--dry-blanco);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    padding: var(--dry-space-1) var(--dry-space-3);
    border-radius: var(--dry-radius-full);
}

.blog-card__body { padding: var(--dry-space-6); }
.blog-card__title {
    font-size: 1.2rem; line-height: 1.3;
    color: var(--dry-tinta); margin: 0 0 var(--dry-space-3);
}
.blog-card__excerpt {
    color: var(--dry-texto-sec);
    font-size: .95rem; line-height: 1.6;
    margin: 0 0 var(--dry-space-5);
}
.blog-card__foot {
    display: flex; align-items: center; justify-content: space-between;
    font-size: .85rem; color: var(--dry-texto-terc);
    border-top: 1px solid var(--dry-borde);
    padding-top: var(--dry-space-4);
}
.blog-card__more { color: var(--dry-azul); font-weight: 600; }

.blog-empty { color: var(--dry-texto-sec); text-align: center; padding-block: var(--dry-space-16); }

/* Single post */
.post-single { padding-bottom: var(--dry-space-8); }
.post-single__head {
    max-width: 760px;
    padding-top: clamp(2rem, 5vw, var(--dry-space-12));
    text-align: center;
}
.post-single__cat {
    display: inline-block;
    color: var(--dry-azul);
    font-size: .78rem; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
    text-decoration: none;
    margin-bottom: var(--dry-space-4);
}
.post-single__cat:hover { color: var(--dry-azul-profundo); }
.post-single__title {
    font-size: clamp(1.9rem, 4.5vw, 2.8rem);
    line-height: 1.15; color: var(--dry-tinta);
    margin: 0 0 var(--dry-space-4);
}
.post-single__meta { color: var(--dry-texto-terc); font-size: .95rem; margin: 0; }

.post-single__media {
    margin: clamp(2rem, 5vw, var(--dry-space-12)) auto 0;
    max-width: 1100px;
    padding-inline: var(--dry-space-4);
}
.post-single__media img {
    width: 100%; height: auto; display: block;
    border-radius: var(--dry-radius-lg);
    aspect-ratio: 16 / 7; object-fit: cover;
}

.post-single__body {
    max-width: 70ch;
    margin: clamp(2rem, 5vw, var(--dry-space-12)) auto 0;
    padding-inline: var(--dry-space-4);
    color: var(--dry-texto);
    font-size: 1.075rem;
    line-height: 1.75;
}
.post-single__body > * + * { margin-top: var(--dry-space-6); }
.post-single__body h2 {
    font-size: 1.6rem; line-height: 1.25; color: var(--dry-tinta);
    margin-top: var(--dry-space-12); margin-bottom: var(--dry-space-4);
}
.post-single__body h3 {
    font-size: 1.25rem; line-height: 1.3; color: var(--dry-tinta);
    margin-top: var(--dry-space-8); margin-bottom: var(--dry-space-3);
}
.post-single__body p { margin: 0; }
.post-single__body ul,
.post-single__body ol { padding-left: var(--dry-space-6); }
.post-single__body li { margin-bottom: var(--dry-space-2); }
.post-single__body li::marker { color: var(--dry-azul); }
.post-single__body a { color: var(--dry-azul); text-decoration: underline; }
.post-single__body a:hover { color: var(--dry-azul-profundo); }
.post-single__body strong { color: var(--dry-tinta); }
.post-single__body blockquote {
    border-left: 3px solid var(--dry-faena);
    padding-left: var(--dry-space-5);
    color: var(--dry-texto-sec);
    font-style: italic;
}

.blog-related { padding-block: clamp(2.5rem, 6vw, var(--dry-space-16)); background: var(--dry-fondo-claro); }
.blog-related h2 { color: var(--dry-tinta); margin: 0 0 var(--dry-space-8); }
