/* Blog — lenguaje Home */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; padding-top: 10px; }
.blog-card { display: grid; gap: 10px; align-content: start; padding: 22px; color: #f4f2ed; text-decoration: none; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px rgba(244,242,237,.1); border-top: 2px solid #c1121f; transition: transform .35s cubic-bezier(.1,.4,.2,1), background .3s; }
.blog-card:hover { transform: translateY(-4px); background: rgba(193,18,31,.12); }
.blog-card-tag, .blog-meta { font: 700 10px/1 'Montserrat', sans-serif; letter-spacing: 3px; text-transform: uppercase; color: #ff4d57; }
.blog-card-title { font: 900 1.8rem/1 'Big Shoulders Display', Impact, sans-serif; text-transform: uppercase; letter-spacing: .02em; }
.blog-card-desc { font-size: 14px; line-height: 1.55; opacity: .78; }
.blog-card-go { font: 800 11px/1 'Montserrat', sans-serif; letter-spacing: 2px; text-transform: uppercase; }
.blog-post { max-width: 760px; }
.blog-meta { margin: 0 0 18px; }
.blog-lede { font-size: 1.15rem; line-height: 1.6; margin: 0 0 8px; }
.blog-post h2 { margin: 30px 0 10px; font: 900 1.7rem/1 'Big Shoulders Display', Impact, sans-serif; text-transform: uppercase; letter-spacing: .02em; }
.blog-post p, .blog-post li { font-size: 16px; line-height: 1.7; opacity: .92; }
.blog-post ul { padding-left: 20px; display: grid; gap: 8px; }
.blog-post a { color: #ff6b73; text-decoration: underline; }
.blog-table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 14px; }
.blog-table th, .blog-table td { padding: 12px 10px; text-align: left; border-bottom: 1px solid rgba(244,242,237,.14); }
.blog-table th { font: 700 10px/1 'Montserrat', sans-serif; letter-spacing: 2px; text-transform: uppercase; opacity: .7; }
.blog-back { margin-top: 36px; }
@media (prefers-reduced-motion: reduce) { .blog-card { transition: none; } }

/* Imágenes del blog */
.blog-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.blog-card { padding: 0; gap: 0; overflow: hidden; }
.blog-card-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #0c0c0f; }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; transition: transform .6s cubic-bezier(.1,.4,.2,1); }
.blog-card:hover .blog-card-img img { transform: scale(1.05); }
.blog-card-body { display: grid; gap: 10px; padding: 20px 22px 24px; }
.blog-hero { margin: 0 0 26px; aspect-ratio: 16 / 9; overflow: hidden; background: #0c0c0f; border-top: 2px solid #c1121f; position: relative; }
.blog-hero img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; }
.blog-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(5,5,5,.55)); }
.blog-fig { margin: 28px 0; }
.blog-fig img { width: 100%; max-height: 520px; object-fit: cover; object-position: 50% 30%; display: block; box-shadow: inset 0 0 0 1px rgba(244,242,237,.1); }
.blog-fig figcaption { margin-top: 8px; font: 700 10px/1.4 'Montserrat', sans-serif; letter-spacing: 2.4px; text-transform: uppercase; color: rgba(244,242,237,.55); }
.blog-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin: 38px 0 0; padding: 22px; background: rgba(193,18,31,.12); box-shadow: inset 0 0 0 1px rgba(193,18,31,.4); }
.blog-cta span { font: 900 1.5rem/1 'Big Shoulders Display', Impact, sans-serif; text-transform: uppercase; letter-spacing: .03em; }
.blog-post .blog-cta-btn { display: inline-block; padding: 15px 24px; font: 800 11px/1 'Montserrat', sans-serif; letter-spacing: 3px; text-transform: uppercase; color: #fff; text-decoration: none; background: #c1121f; clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px)); }
@media (prefers-reduced-motion: reduce) { .blog-card-img img { transition: none; } }
/* Fotos completas (las imágenes son 4:5): sin recortes */
.blog-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.blog-card-img { aspect-ratio: 4 / 5; }
.blog-card-img img { object-position: 50% 50%; }
.blog-hero, .blog-fig { aspect-ratio: 4 / 5; max-width: 520px; margin-left: auto; margin-right: auto; }
.blog-hero img { object-position: 50% 50%; }
.blog-fig { margin-top: 28px; margin-bottom: 28px; }
.blog-fig img { height: 100%; max-height: none; object-fit: cover; object-position: 50% 50%; }
.blog-fig figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 26px 14px 12px; background: linear-gradient(180deg, transparent, rgba(5,5,5,.8)); color: #f4f2ed; }
.blog-fig { position: relative; overflow: hidden; }
