/* ═══════════════════════════════════════════════════════════
   INSIGHTS v2.0 — Centro de Inteligencia Corporativa
   Premium corporate design system

   IMAGE SIZE STANDARDS (all layouts must follow):
   ─────────────────────────────────────────────────
   Hero images:      1920×1080  (16:9)  — full-width backgrounds
   Cards grandes:    1600×900   (16:9)  — featured cards, CTA banners
   Mini thumbnails:  1200×675   (16:9)  — nav cards, explore cards
   Open Graph:       1200×630   (~16:9) — social sharing
   Cuadrada:         1024×1024  (1:1)   — avatars, icons

   CONTAINER WIDTH: 1440px (matches site .container)
   ═══════════════════════════════════════════════════════════ */

/* ─── A. HERO ─── */
.ins-hero {
    position: relative;
    min-height: clamp(540px, 80vh, 700px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 7.2rem clamp(3rem, 5.5vw, 5rem) 3rem;
}
.ins-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.ins-hero-bg video,
.ins-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(0.5px);
    transform: scale(1.02);
}
.ins-hero-bg video {
    pointer-events: none;
}
.ins-hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,10,16,0.42) 0%, rgba(8,10,16,0.66) 26%, rgba(8,10,16,0.88) 58%, rgba(8,10,16,0.99) 100%), radial-gradient(circle at 22% 22%, rgba(var(--country-primary-rgb, 0,104,71),0.14) 0%, transparent 28%), radial-gradient(circle at 82% 14%, rgba(108,92,231,0.08) 0%, transparent 24%);
}
.ins-hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1440px;
    display: flex;
    justify-content: center;
    text-align: center;
}
.ins-hero-copy {
    width: 100%;
    max-width: 1120px;
}
.ins-eyebrow {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mx-green-light);
    margin-bottom: 0.9rem;
    display: block;
}
.ins-hero-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    margin-bottom: 0.9rem;
    padding: 0.28rem 0.68rem;
    border-radius: 999px;
    background: rgba(7, 18, 32, 0.34);
    border: 1px solid rgba(255,255,255,0.14);
    color: rgba(232,234,240,0.88);
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.ins-hero h1 {
    font-size: clamp(3.2rem, 5vw, 5.4rem);
    font-weight: 800;
    color: var(--soft-white);
    letter-spacing: -0.045em;
    line-height: 0.92;
    max-width: 15.5ch;
    margin: 0 auto 1rem;
    text-wrap: balance;
    text-shadow: 0 18px 42px rgba(4, 7, 14, 0.26);
}
.ins-hero .ins-sub {
    font-size: 1.08rem;
    color: rgba(232,234,240,0.82);
    line-height: 1.7;
    max-width: 66ch;
    margin: 0 auto 1.2rem;
}
.ins-hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 0 0 1.2rem;
}
.ins-hero-context {
    max-width: 1440px;
    margin: -0.6rem auto 0;
    padding: 0 2rem 2.2rem;
    position: relative;
    z-index: 2;
}
.ins-hero-context__inner {
    padding: 1.15rem 1.25rem 1.2rem;
    border-radius: 22px;
    background: rgba(13, 18, 28, 0.82);
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 18px 38px rgba(0,0,0,0.16);
    text-align: center;
}
.ins-hero-trust-line {
    font-size: 0.8rem;
    line-height: 1.6;
    color: rgba(232,234,240,0.62);
    margin-bottom: 0.9rem;
}
.ins-hero-actions .btn-primary,
.ins-hero-actions .btn-outline,
.ins-hero-actions .btn-ghost {
    min-height: 46px;
    padding: 0.78rem 1.3rem;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.ins-hero-actions .btn-ghost {
    color: var(--soft-white);
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.12);
}
.ins-hero-actions .btn-ghost:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.18);
}
.ins-chips {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 0.95rem;
    max-width: none;
}
.ins-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.85rem;
    background: rgba(108,92,231,0.08);
    border: 1px solid rgba(108,92,231,0.15);
    border-radius: 20px;
    font-size: 0.7rem;
    color: var(--gray-tech);
    font-weight: 500;
    white-space: nowrap;
}
.ins-chip strong {
    color: var(--soft-white);
    font-weight: 600;
}
.ins-hero-stats {
    display: flex;
    gap: 0.7rem;
    justify-content: center;
    flex-wrap: wrap;
    max-width: none;
}
.ins-hero-stat {
    min-width: 140px;
    padding: 0.85rem 0.95rem;
    border-radius: 14px;
    background: rgba(10,16,24,0.58);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 14px 28px rgba(0,0,0,0.14);
}
.ins-hero-stat-value {
    display: block;
    color: var(--soft-white);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.08;
}
.ins-hero-stat-label {
    display: block;
    color: rgba(232,234,240,0.6);
    font-size: 0.72rem;
    line-height: 1.35;
    margin-top: 0.2rem;
}

.ins-intent-strip {
    max-width: 1440px;
    margin: 0 auto 0;
    padding: 0 2rem 3.25rem;
    position: relative;
    z-index: 2;
}
.ins-intent-strip__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.ins-intent-card {
    background: linear-gradient(180deg, rgba(15,17,23,0.94), rgba(15,17,23,0.98));
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 22px;
    padding: 1.35rem 1.35rem 1.45rem;
    box-shadow: 0 24px 42px rgba(0,0,0,0.18);
}
.ins-intent-card--accent {
    background: linear-gradient(135deg, rgba(var(--country-primary-rgb, 0,104,71),0.18), rgba(15,17,23,0.98) 68%);
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.18);
}
.ins-intent-card__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.75rem;
    color: var(--mx-green-light);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.ins-intent-card h2 {
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--soft-white);
    margin-bottom: 0.5rem;
}
.ins-intent-card p {
    font-size: 0.84rem;
    line-height: 1.6;
    color: var(--gray-tech);
    margin-bottom: 0.9rem;
}
.ins-intent-card__cta {
    display: inline-flex;
    align-items: center;
    color: var(--soft-white);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.14);
    padding-bottom: 0.14rem;
}
.ins-intent-card__cta:hover {
    color: var(--mx-green-light);
    border-bottom-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3);
}

/* ─── B. FEATURED INSIGHT ─── */
.ins-featured {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
    margin-top: 0.85rem;
}
.ins-featured-label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--violet);
    margin-bottom: 1rem;
}
.ins-section-intro {
    margin-bottom: 1.15rem;
    max-width: 56rem;
}
.ins-section-intro h2 {
    font-size: clamp(1.2rem, 2.4vw, 1.9rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    color: var(--soft-white);
    margin-bottom: 0.35rem;
}
.ins-section-intro p {
    font-size: 0.9rem;
    line-height: 1.65;
    color: var(--gray-tech);
    max-width: 58ch;
}
.ins-featured-card,
.featured-hero {
    display: grid;
    grid-template-columns: 480px 1fr;
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    transition: var(--transition);
}
.ins-featured-card:hover,
.featured-hero:hover {
    border-color: rgba(108,92,231,0.3);
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(108,92,231,0.1);
}
.featured-hero__media {
    min-width: 0;
    overflow: hidden;
}
.ins-featured-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ins-featured-img-placeholder {
    width: 100%;
    height: 100%;
    min-height: 100%;
    background: linear-gradient(135deg, rgba(108,92,231,0.12), rgba(108,92,231,0.04));
    display: flex;
    align-items: center;
    justify-content: center;
}
.ins-featured-img-placeholder svg { color: var(--violet); opacity: 0.3; }
.ins-featured-card .editorial-html-cover,
.featured-hero .editorial-html-cover {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.featured-hero__content {
    min-width: 0;
}
.ins-featured-body {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ins-featured-tag {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(108,92,231,0.1);
    color: var(--violet);
    margin-bottom: 0.75rem;
    width: fit-content;
}
.ins-featured-body h3 {
    font-size: clamp(1.75rem, 2.8vw, 2.7rem);
    font-weight: 800;
    color: var(--soft-white);
    line-height: 1.08;
    letter-spacing: -0.03em;
    margin-bottom: 0.8rem;
    text-wrap: balance;
}
.ins-featured-body .excerpt {
    font-size: 1rem;
    color: var(--gray-tech);
    line-height: 1.65;
    display: block;
    overflow: visible;
    margin-bottom: 1.15rem;
    max-width: 58ch;
}
.ins-featured-body .read-cta {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--violet);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.ins-featured-body .updated-note {
    font-size: 0.65rem;
    color: var(--gray-mid);
    margin-top: 0.75rem;
}

@media (max-width: 980px) {
    .featured-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .ins-intent-strip__inner {
        grid-template-columns: 1fr;
    }

    .featured-hero__media {
        order: 1;
    }

    .featured-hero__content {
        order: 2;
    }

    .ins-featured-img,
    .ins-featured-img-placeholder {
        aspect-ratio: 16 / 9;
        height: auto;
        min-height: 0;
    }
}

/* ─── C. ASYMMETRIC GRID (5 categories) ─── */
.ins-nav-section {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
}
.ins-nav-section .section-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--mx-green-light) !important;
    margin-bottom: 1.25rem;
}
.ins-nav-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
.ins-nav-card-icon {
    font-size: 2rem;
    line-height: 1;
}
.card-icon-inline {
    font-size: 1rem;
    margin-right: 0.25rem;
}
.ins-nav-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    transition: var(--transition);
}
.ins-nav-card:hover {
    border-color: rgba(108,92,231,0.3);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(108,92,231,0.08);
}
.ins-nav-card-cover {
    min-height: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.ins-nav-card-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}
.ins-nav-card-thumb-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, rgba(108,92,231,0.08), rgba(108,92,231,0.02));
    display: flex;
    align-items: center;
    justify-content: center;
}
.ins-nav-card-thumb-placeholder svg { color: var(--violet); opacity: 0.25; }
.ins-nav-card-body {
    padding: 1.25rem 1.5rem 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.ins-nav-card .card-icon {
    color: var(--violet);
    margin-bottom: 0.5rem;
    opacity: 0.8;
}
.ins-nav-card h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--soft-white);
    margin-bottom: 0.35rem;
}
.ins-nav-card .card-desc {
    font-size: 0.82rem;
    color: var(--gray-tech);
    line-height: 1.5;
    flex: 1;
}
.ins-nav-card .card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.75rem;
}
.ins-nav-card .card-stat {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--violet);
}
.ins-nav-card .card-cta {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--gray-tech);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: var(--transition);
}
.ins-nav-card:hover .card-cta { color: var(--violet); }

/* Card accent border (uses CSS custom property --card-accent) */
.ins-nav-card { border-top: 3px solid transparent; }
.ins-nav-card:hover { border-top-color: var(--card-accent, var(--violet)); }

/* ─── E. SPEAKERS SECTION ─── */
.ins-speakers { max-width: 1440px; margin: 0 auto; padding: 0 2rem 3rem; }
.ins-speakers .section-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--mx-green-light) !important;
    margin-bottom: 1.25rem;
}
.ins-speakers-sub { font-size: 0.85rem; color: var(--gray-tech); margin-bottom: 1.5rem; }
.ins-speakers-empty {
    padding: 1.35rem 1.4rem;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(19, 24, 36, 0.96), rgba(15, 18, 28, 0.98));
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 18px 38px rgba(0,0,0,0.16);
}
.ins-speakers-empty p {
    max-width: 58ch;
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--gray-tech);
    margin-bottom: 1rem;
}
.ins-speakers-empty__actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.ins-speakers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ins-speaker-card {
    display: flex; align-items: center; gap: 1rem;
    background: var(--dark-card); border: 1px solid rgba(255,255,255,0.04);
    border-radius: var(--radius); padding: 1rem 1.25rem;
    text-decoration: none; transition: var(--transition);
}
.ins-speaker-card:hover { border-color: rgba(108,92,231,0.3); transform: translateY(-2px); }
.ins-speaker-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.ins-speaker-photo-placeholder {
    width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0;
    background: rgba(108,92,231,0.1); display: flex; align-items: center; justify-content: center;
}
.ins-speaker-photo-placeholder svg { color: var(--violet); opacity: 0.4; }
.ins-speaker-info h4 { font-size: 0.9rem; font-weight: 700; color: var(--soft-white); margin: 0; }
.ins-speaker-specialty { font-size: 0.75rem; color: var(--gray-tech); display: block; margin-top: 0.2rem; }

/* ─── D. MARKET PANEL ─── */
.ins-market {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
}
.ins-market-panel {
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: var(--radius);
    padding: 2.5rem;
}
.ins-market-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2rem;
    gap: 2rem;
}
.ins-market-header h2 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--soft-white);
}
.ins-market-header .market-note {
    font-size: 0.7rem;
    color: var(--gray-mid);
    white-space: nowrap;
}
.ins-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}
.ins-kpi {
    background: rgba(108,92,231,0.04);
    border: 1px solid rgba(108,92,231,0.08);
    border-radius: 10px;
    padding: 1.25rem;
}
.ins-kpi .kpi-label {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gray-mid);
    margin-bottom: 0.5rem;
}
.ins-kpi .kpi-value {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--soft-white);
    line-height: 1.4;
    margin-bottom: 0.25rem;
}
.ins-kpi .kpi-hint {
    font-size: 0.7rem;
    color: var(--gray-tech);
    line-height: 1.4;
}

/* ─── E. EXPLORE BLOCKS ─── */
.ins-explore {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
}
.ins-explore-block {
    margin-bottom: 2.5rem;
}
.ins-explore-block-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}
.ins-explore-block-header h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--soft-white);
}
.ins-explore-block-header .see-all {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--violet);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: var(--transition);
}
.ins-explore-block-header .see-all:hover { gap: 0.5rem; }
.ins-explore-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.ins-explore-card {
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    transition: var(--transition);
}
.ins-explore-card:hover {
    border-color: rgba(108,92,231,0.25);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(108,92,231,0.06);
}
.ins-explore-card-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}
.ins-explore-card-noimg {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, rgba(108,92,231,0.06), rgba(108,92,231,0.01));
}
.ins-explore-card-body {
    padding: 1rem 1.25rem 1.25rem;
}
.ins-explore-card .etag {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 3px;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(108,92,231,0.08);
    color: var(--violet);
    margin-bottom: 0.5rem;
}
.ins-explore-card h4 {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--soft-white);
    line-height: 1.35;
    margin-bottom: 0.3rem;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ins-explore-card .emeta {
    font-size: 0.65rem;
    color: var(--gray-mid);
}

/* ─── F. CTA FINAL ─── */
.ins-cta-final {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem 5rem;
}
.ins-cta-box {
    display: grid;
    grid-template-columns: 1fr 400px;
    background: linear-gradient(135deg, rgba(108,92,231,0.1), rgba(108,92,231,0.03));
    border: 1px solid rgba(108,92,231,0.15);
    border-radius: var(--radius);
    overflow: hidden;
}
.ins-cta-content {
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ins-cta-content h3 {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--soft-white);
    margin-bottom: 0.5rem;
}
.ins-cta-content p {
    font-size: 0.95rem;
    color: var(--gray-tech);
    line-height: 1.6;
    margin-bottom: 1.25rem;
}
.ins-cta-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.ins-cta-actions .btn-primary,
.ins-cta-actions .btn-outline {
    font-size: 0.875rem;
    padding: 0.7rem 1.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.ins-cta-box.no-img { grid-template-columns: 1fr; }
.ins-cta-box.no-img .ins-cta-content {
    padding: 3.5rem 4rem;
    text-align: center;
    align-items: center;
}
.ins-cta-box.no-img .ins-cta-actions {
    justify-content: center;
}
.ins-cta-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ins-cta-img-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, rgba(108,92,231,0.08), rgba(108,92,231,0.02));
}

/* ═══════════════════════════════════════════════════════════
   HUB v2.0 — Subcategory Pages
   /insights/{tematicas|industrias|ciudades|tendencias|guias}
   ═══════════════════════════════════════════════════════════ */

/* ─── HUB: Breadcrumbs ─── */
.hub-breadcrumbs {
    max-width: 1440px;
    margin: 0 auto;
    padding: 6.5rem 2rem 1.2rem;
}
.hub-breadcrumbs--hero {
    width: 100%;
    max-width: none;
    margin: 0 0 1.15rem;
    padding: 0;
}
.hub-breadcrumbs--hero .hub-breadcrumbs-inner {
    justify-content: flex-start;
}
.hub-breadcrumbs-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.72rem;
    color: var(--gray-mid);
}
.hub-breadcrumbs a {
    color: var(--gray-tech);
    text-decoration: none;
    transition: var(--transition);
}
.hub-breadcrumbs a:hover { color: var(--violet); }
.hub-breadcrumbs .bc-sep { opacity: 0.4; }
.hub-breadcrumbs .bc-current { color: var(--violet); font-weight: 600; }

/* ─── HUB: Hero Principal ─── */
.category-hero {
    position: relative;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 6.35rem 2rem 5.2rem;
    background:
        radial-gradient(circle at 50% 14%, rgba(var(--country-primary-light-rgb, 0,168,107),0.16) 0%, transparent 24%),
        radial-gradient(circle at 84% 18%, rgba(67,97,238,0.08) 0%, transparent 18%),
        radial-gradient(circle at 14% 32%, rgba(255,255,255,0.04) 0%, transparent 20%),
        linear-gradient(180deg, rgba(8,10,16,0.96) 0%, rgba(8,10,16,0.99) 100%);
}
.category-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03) 0%, transparent 26%),
        repeating-linear-gradient(
            135deg,
            rgba(255,255,255,0.025) 0,
            rgba(255,255,255,0.025) 1px,
            transparent 1px,
            transparent 18px
        );
    pointer-events: none;
}
.category-hero::after {
    content: '';
    position: absolute;
    width: 38%;
    max-width: 360px;
    aspect-ratio: 1;
    border-radius: 50%;
    top: -18%;
    right: -6%;
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.03) 32%, transparent 72%);
    filter: blur(8px);
    pointer-events: none;
}
.category-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.hub-eyebrow {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mx-green-light);
    margin-bottom: 0.9rem;
    display: block;
}
.category-hero__kicker {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    margin-bottom: 1rem;
    padding: 0.34rem 0.74rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(232,234,240,0.88);
    font-size: 0.72rem;
    font-weight: 700;
}
.category-hero h1 {
    font-size: clamp(2.85rem, 4.55vw, 5.35rem);
    font-weight: 800;
    color: var(--soft-white);
    letter-spacing: -0.055em;
    line-height: 0.93;
    margin-bottom: 1rem;
    max-width: 15ch;
    text-wrap: balance;
    text-shadow: 0 18px 38px rgba(2, 6, 12, 0.24);
}
.category-hero__sub {
    font-size: 1.08rem;
    color: rgba(232,234,240,0.72);
    line-height: 1.78;
    max-width: 72ch;
    margin: 0 auto 1.75rem;
}
.category-hero__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-bottom: 1.3rem;
}
.category-hero__trust {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 72rem;
    margin: 0 auto 1.15rem;
}
.category-hero__trust span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(232,234,240,0.76);
    padding: 0.42rem 0.85rem;
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.06);
    border: 1px solid rgba(var(--country-primary-light-rgb, 0,168,107),0.12);
    border-radius: 20px;
}
.category-hero__criteria,
.hub-filters-copy .section-label,
.hub-grid-copy .section-label,
.hub-lead-section .section-label,
.hub-editorial .section-label,
.hub-speakers .section-label,
.hub-subtopics .section-label,
.hub-explore-inner .section-label {
    text-decoration: none;
}
.category-hero__criteria,
.hub-filters-copy .section-label,
.hub-grid-copy .section-label,
.hub-lead-section .section-label,
.hub-editorial .section-label,
.hub-speakers .section-label,
.hub-subtopics .section-label,
.hub-explore-inner .section-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--mx-green-light);
    margin-bottom: 0.9rem;
}
.category-hero__criteria {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
    max-width: 72rem;
}
.category-hero__criteria-item {
    display: inline-flex;
    align-items: center;
    padding: 0.48rem 0.88rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.035);
    border: 1px solid rgba(255,255,255,0.08);
    color: rgba(232,234,240,0.66);
    font-size: 0.73rem;
    font-weight: 650;
}

/* ─── HUB: Lead Story ─── */
.hub-lead-section {
    max-width: 1380px;
    margin: 0 auto;
    padding: 1.8rem 2rem 4.4rem;
}
.hub-lead-section .ins-featured-label {
    color: var(--mx-green-light);
}
.hub-lead-section__intro {
    max-width: 760px;
    margin-bottom: 1.35rem;
}
.hub-lead-section__intro h2 {
    font-size: clamp(1.5rem, 2.2vw, 2.15rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--soft-white);
    margin-bottom: 0.55rem;
}
.hub-lead-section__intro p {
    color: rgba(232,234,240,0.72);
    font-size: 0.98rem;
    line-height: 1.68;
}
/* ─── HUB: Filtros Dinámicos ─── */
.hub-filters {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 2rem 3.8rem;
}
.hub-filters-copy,
.hub-grid-copy {
    max-width: 760px;
    margin-bottom: 1.1rem;
}
.hub-filters-copy h2,
.hub-grid-copy h2,
.hub-editorial-inner h2,
.hub-speakers-head h2 {
    font-size: clamp(1.45rem, 2.2vw, 2.1rem);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--soft-white);
    margin-bottom: 0.55rem;
}
.hub-filters-copy p,
.hub-grid-copy p,
.hub-speakers-head p {
    font-size: 0.98rem;
    line-height: 1.66;
    color: rgba(232,234,240,0.7);
}
.hub-filters-inner {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.hub-pill {
    display: inline-block;
    padding: 0.58rem 1rem;
    border-radius: 999px;
    font-size: 0.77rem;
    font-weight: 600;
    color: var(--gray-tech);
    background: transparent;
    border: 1px solid rgba(255,255,255,0.08);
    text-decoration: none;
    transition: var(--transition);
    white-space: nowrap;
}
.hub-pill:hover {
    color: var(--soft-white);
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08);
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.25);
}
.hub-pill.active {
    color: var(--soft-white);
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.16);
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.38);
}

/* ─── HUB: Article Grid ─── */
.hub-grid-section {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 2rem 4rem;
}
.hub-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.15rem;
}
.hub-card {
    display: block;
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none;
    transition: var(--transition);
}
.hub-card:hover {
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3);
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(var(--country-primary-rgb, 0,104,71),0.14);
}
.hub-card .editorial-html-cover,
.hub-explore-card-img-wrap .editorial-html-cover,
.ins-explore-card .editorial-html-cover {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.hub-card .editorial-html-cover--card {
    min-height: 100%;
}
.hub-card .editorial-html-cover__inner {
    max-width: 100%;
}

/* ─── HUB: Pagination ─── */
.hub-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    margin-top: 2.5rem;
    padding: 1rem 0;
}
.hub-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.6rem;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--gray-tech);
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.06);
    text-decoration: none;
    transition: var(--transition);
}
.hub-page-link:hover {
    color: var(--soft-white);
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3);
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08);
}
.hub-page-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.6rem;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--soft-white);
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.18);
    border: 1px solid rgba(var(--country-primary-light-rgb, 0,168,107),0.4);
}

/* ─── HUB: Editorial Block ─── */
.hub-editorial {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 2rem 4rem;
}
.hub-editorial-inner {
    background: linear-gradient(135deg, rgba(var(--country-primary-light-rgb, 0,168,107),0.08), rgba(15,17,23,0.98) 56%);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 28px;
    padding: 2.2rem 2.2rem 2.1rem;
}
.hub-editorial-content {
    font-size: 0.95rem;
    color: rgba(232,234,240,0.76);
    line-height: 1.78;
}
.hub-editorial-content p { margin-bottom: 1rem; }
.hub-editorial-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--soft-white);
    margin: 1.5rem 0 0.75rem;
}
.hub-editorial-content ul {
    padding-left: 1.25rem;
    margin-bottom: 1rem;
}
.hub-editorial-content li {
    margin-bottom: 0.4rem;
    line-height: 1.6;
}

/* ─── HUB: Speakers + Subtopics ─── */
.hub-speakers,
.hub-subtopics {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 2rem 4rem;
}
.hub-speakers-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 1.15rem;
}
.hub-authority-score {
    min-width: 128px;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08);
    border: 1px solid rgba(var(--country-primary-light-rgb, 0,168,107),0.18);
    text-align: center;
}
.hub-authority-score strong {
    display: block;
    color: var(--soft-white);
    font-size: 1.45rem;
    line-height: 1;
}
.hub-authority-score span {
    display: block;
    color: rgba(232,234,240,0.6);
    font-size: 0.64rem;
    margin-top: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
.hub-speakers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
}
.hub-speaker-card {
    display: flex;
    align-items: center;
    gap: 0.95rem;
    padding: 1rem;
    border-radius: 22px;
    background: rgba(12,18,24,0.76);
    border: 1px solid rgba(255,255,255,0.05);
    text-decoration: none;
    transition: var(--transition);
}
.hub-speaker-card:hover {
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3);
    transform: translateY(-2px);
}
.hub-speaker-card__photo,
.hub-speaker-card__placeholder {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex-shrink: 0;
}
.hub-speaker-card__photo {
    object-fit: cover;
}
.hub-speaker-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--country-primary-light-rgb, 0,168,107),0.2), rgba(var(--country-primary-light-rgb, 0,168,107),0.04));
    color: rgba(255,255,255,0.72);
}
.hub-speaker-card__name {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--soft-white);
    line-height: 1.2;
}
.hub-speaker-card__role {
    margin-top: 0.18rem;
    color: rgba(232,234,240,0.62);
    font-size: 0.78rem;
    line-height: 1.45;
}
.hub-subtopics-inner {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 2rem;
}
.hub-subtopics-head {
    max-width: 760px;
    margin-bottom: 1.3rem;
}
.hub-subtopics-head h2 {
    font-size: clamp(1.45rem, 2.2vw, 2.05rem);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--soft-white);
    margin-bottom: 0.55rem;
}
.hub-subtopics-head p {
    font-size: 0.98rem;
    line-height: 1.66;
    color: rgba(232,234,240,0.7);
}
.hub-subtopics-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.hub-subtopic-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.48rem 0.85rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    color: rgba(232,234,240,0.64);
    font-size: 0.76rem;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}
.hub-subtopic-chip.is-active {
    color: var(--soft-white);
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.2);
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08);
}
.hub-subtopic-chip[href]:hover {
    color: var(--soft-white);
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3);
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.12);
    transform: translateY(-1px);
}
.hub-subtopic-chip span {
    color: var(--mx-green-light);
    font-weight: 700;
}

/* ─── HUB: Explore Also ─── */
.hub-explore {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 2rem 4rem;
}
.hub-explore-head {
    max-width: 760px;
    margin-bottom: 1.15rem;
}
.hub-explore-head h2 {
    font-size: clamp(1.45rem, 2.2vw, 2.05rem);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--soft-white);
    margin-bottom: 0.55rem;
}
.hub-explore-head p {
    font-size: 0.98rem;
    line-height: 1.66;
    color: rgba(232,234,240,0.7);
}
.ins-explore .section-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--mx-green-light) !important;
    margin-bottom: 1.25rem;
}
.hub-explore-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
.hub-explore-card {
    background: var(--dark-card);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    transition: var(--transition);
}
.hub-explore-card:hover {
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.25);
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(var(--country-primary-rgb, 0,104,71),0.08);
}
.hub-explore-card-img-wrap { width: 100%; overflow: hidden; }
.hub-explore-card-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}
.hub-explore-card-img-skeleton {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, rgba(108,92,231,0.06), rgba(108,92,231,0.01));
    animation: hub-skeleton-pulse 1.8s ease-in-out infinite;
}
.hub-explore-card-body {
    padding: 1rem 1.25rem 1.25rem;
}
.hub-explore-tag {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 3px;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08);
    color: var(--mx-green-light);
    margin-bottom: 0.5rem;
}
.hub-explore-card h4 {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--soft-white);
    line-height: 1.35;
    margin-bottom: 0.3rem;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hub-explore-meta {
    font-size: 0.65rem;
    color: var(--gray-mid);
}

/* ─── HUB: CTA Final ─── */
.hub-cta-final {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 2rem 6rem;
}
.hub-cta-final .hub-cta-box {
    display: grid;
    grid-template-columns: 1fr 380px;
    background: linear-gradient(135deg, rgba(var(--country-primary-light-rgb, 0,168,107),0.12), rgba(15,17,23,0.98) 62%);
    border: 1px solid rgba(var(--country-primary-light-rgb, 0,168,107),0.16);
    border-radius: 28px;
    overflow: hidden;
}
.hub-cta-content {
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hub-cta-kicker {
    display: inline-block;
    width: fit-content;
    margin: 0 auto 0.7rem;
    color: var(--mx-green-light);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.hub-cta-content h3 {
    font-size: clamp(1.45rem, 2.35vw, 2rem);
    font-weight: 800;
    color: var(--soft-white);
    line-height: 1.08;
    letter-spacing: -0.03em;
    margin-bottom: 0.6rem;
}
.hub-cta-content p {
    font-size: 1rem;
    color: var(--gray-tech);
    line-height: 1.7;
    max-width: 62ch;
    margin-bottom: 1.35rem;
}
.hub-cta-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.hub-cta-actions .btn-primary,
.hub-cta-actions .btn-outline {
    font-size: 0.875rem;
    padding: 0.7rem 1.5rem;
}
.hub-cta-final .hub-cta-box.no-img { grid-template-columns: 1fr; }
.hub-cta-final .hub-cta-box.no-img .hub-cta-content { padding: 3rem 4rem; text-align: center; align-items: center; }
.hub-cta-img-wrap { overflow: hidden; }
.hub-cta-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
    .ins-hero { min-height: 0; padding: 6.2rem 1.25rem 1.6rem; }
    .ins-hero-inner { display: block; max-width: none; }
    .ins-hero-copy { max-width: none; }
    .ins-hero h1 { font-size: 2.2rem; max-width: var(--shell-hero-title-max-mobile); }
    .ins-hero .ins-sub { font-size: 0.96rem; max-width: none; }
    .ins-hero-actions { align-items: stretch; }
    .ins-hero-actions .btn-primary,
    .ins-hero-actions .btn-outline,
    .ins-hero-actions .btn-ghost { width: 100%; }
    .ins-hero-context { padding: 0 1.25rem 1.85rem; }
    .ins-hero-context__inner { padding: 0.95rem; }
    .ins-intent-strip { margin-top: 0; padding: 0 1.25rem 2.5rem; }
    .ins-chip { white-space: normal; }
    .ins-hero-stats { width: 100%; gap: 0.55rem; }
    .ins-hero-stat { flex: 1 1 calc(50% - 0.3rem); min-width: 0; }
    .ins-featured-card { grid-template-columns: 1fr; }
    .ins-nav-grid { grid-template-columns: repeat(2, 1fr); }
    .ins-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .ins-explore-grid { grid-template-columns: 1fr; }
    .ins-speakers-grid { grid-template-columns: 1fr; }
    .ins-kpi-grid { grid-template-columns: 1fr 1fr; }
    .ins-explore-grid { grid-template-columns: 1fr; }
    .ins-cta-box { grid-template-columns: 1fr; }
    .ins-cta-box .ins-cta-img,
    .ins-cta-box .ins-cta-img-placeholder { display: none; }
    .ins-market-header { flex-direction: column; gap: 0.5rem; }

    /* Hub responsive */
    .hub-breadcrumbs { padding: 5rem 1.25rem 0.95rem; }
    .hub-breadcrumbs--hero { margin-bottom: 1rem; padding: 0; }
    .hub-breadcrumbs--hero .hub-breadcrumbs-inner { justify-content: flex-start; }
    .category-hero { padding: 5.45rem 1.25rem 3.2rem; }
    .category-hero::after { display: none; }
    .category-hero__inner { max-width: none; }
    .category-hero h1 { font-size: 2.1rem; max-width: 12ch; }
    .category-hero__actions { align-items: stretch; }
    .category-hero__actions .btn-primary,
    .category-hero__actions .btn-outline { width: 100%; justify-content: center; }
    .category-hero__trust { gap: 0.5rem; }
    .category-hero__trust span { font-size: 0.65rem; padding: 0.25rem 0.65rem; }
    .hub-lead-section { padding-top: 1.2rem; }
    .hub-filters-inner { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 0.5rem; -webkit-overflow-scrolling: touch; }
    .hub-articles-grid { grid-template-columns: 1fr; }
    .hub-explore-grid { grid-template-columns: 1fr; }
    .hub-speakers-grid { grid-template-columns: 1fr; }
    .hub-speakers-head { flex-direction: column; align-items: flex-start; }
    .hub-cta-final .hub-cta-box { grid-template-columns: 1fr; }
    .hub-cta-img-wrap { display: none; }
    .hub-editorial-inner { padding: 2rem 1.5rem; }
    .hub-lead-section,
    .hub-filters,
    .hub-grid-section,
    .hub-editorial,
    .hub-speakers,
    .hub-subtopics,
    .hub-explore {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        padding-bottom: 3rem;
    }
    .hub-cta-final { padding: 0 1.25rem 4.5rem; }
}
@media (max-width: 480px) {
    .ins-hero-stat { flex-basis: 100%; }
    .ins-nav-grid { grid-template-columns: 1fr; }
    .ins-kpi-grid { grid-template-columns: 1fr; }
    .ins-chips { flex-direction: column; align-items: stretch; }

    /* Hub 480 */
    .hub-breadcrumbs { padding: 4.75rem 1rem 0.8rem; }
    .hub-breadcrumbs--hero { margin-bottom: 0.9rem; padding: 0; }
    .hub-breadcrumbs--hero .hub-breadcrumbs-inner { justify-content: flex-start; }
    .category-hero { padding: 5rem 1rem 2.7rem; }
    .category-hero__trust { flex-direction: column; align-items: stretch; }
    .category-hero__criteria { flex-direction: column; align-items: center; }
    .hub-pagination { gap: 0.2rem; }
    .hub-page-link, .hub-page-current { min-width: 32px; height: 32px; font-size: 0.75rem; }
    .hub-lead-section,
    .hub-filters,
    .hub-grid-section,
    .hub-editorial,
    .hub-speakers,
    .hub-subtopics,
    .hub-explore {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 2.5rem;
    }
    .hub-cta-final { padding: 0 1rem 4rem; }
}

/* ═══════════════════════════════════════════════════════════
   MEXICO GREEN OVERRIDES — replaces all violet accents
   ═══════════════════════════════════════════════════════════ */
.ins-eyebrow,
.ins-featured-label,
.ins-featured-body .read-cta,
.ins-nav-card .card-icon,
.ins-nav-card .card-stat,
.ins-nav-card:hover .card-cta,
.ins-explore-block-header .see-all,
.hub-eyebrow,
.hub-explore-inner .section-label,
.hub-breadcrumbs a:hover,
.hub-breadcrumbs .bc-current { color: var(--mx-green-light) !important; }

.ins-chip {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.15) !important;
}
.ins-featured-tag,
.ins-explore-card .etag,
.hub-card-tag,
.hub-explore-tag {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.1) !important;
    color: var(--mx-green-light) !important;
}
.ins-featured-card:hover,
.ins-nav-card:hover,
.ins-explore-card:hover,
.hub-card:hover,
.hub-explore-card:hover {
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3) !important;
    box-shadow: 0 8px 32px rgba(var(--country-primary-rgb, 0,104,71),0.1) !important;
}
.ins-nav-card-thumb-placeholder,
.ins-featured-img-placeholder,
.ins-explore-card-noimg,
.hub-card-img-skeleton,
.hub-explore-card-img-skeleton {
    background: linear-gradient(135deg, rgba(var(--country-primary-light-rgb, 0,168,107),0.08), rgba(var(--country-primary-rgb, 0,104,71),0.02)) !important;
}
.ins-nav-card-thumb-placeholder svg,
.ins-featured-img-placeholder svg { color: var(--mx-green-light) !important; }

.ins-kpi {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.04) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.1) !important;
}
.hub-stat {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.06) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.12) !important;
}
.hub-pill:hover {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.25) !important;
}
.hub-pill.active {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.15) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.4) !important;
}
.hub-page-link:hover {
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.3) !important;
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.08) !important;
}
.hub-page-current {
    background: rgba(var(--country-primary-light-rgb, 0,168,107),0.2) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.4) !important;
}
.hub-card-cta { color: var(--mx-green-light) !important; }
.ins-cta-box,
.hub-cta-final .hub-cta-box {
    background: linear-gradient(135deg, rgba(var(--country-primary-rgb, 0,104,71),0.1), rgba(var(--country-primary-light-rgb, 0,168,107),0.03)) !important;
    border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.2) !important;
}
.ins-cta-img-placeholder,
.hub-cta-final .hub-cta-box .hub-cta-img-wrap { background: linear-gradient(135deg, rgba(var(--country-primary-light-rgb, 0,168,107),0.08), rgba(var(--country-primary-rgb, 0,104,71),0.02)) !important; }
.btn-primary { background: linear-gradient(135deg,var(--mx-green),var(--mx-green-light)) !important; }
.btn-primary:hover { box-shadow: 0 8px 30px rgba(var(--country-primary-rgb, 0,104,71),0.4) !important; }
