/* ============================================================
   HOME.CSS — CAINCO El Alto  ·  REDISEÑO v3
   Ruta: assets/css/front/home.css
   Referencia: Business 4 + Factory 2 (xtratheme.com)
   Paleta: #003366 (navy) · #eba436 (naranja) · #fff (blanco)
   ============================================================ */

/* ═══════════════════════════════════════════════
   VARIABLES LOCALES
═══════════════════════════════════════════════ */
:root {
    --navy:        #000020;
    --navy-dark:   #000020;
    --navy-mid:    #000d45;
    --orange:      #eba436;
    --orange-dark: #e8601a;
    --orange-lite: #fff0e8;
    --white:       #ffffff;
    --gray-bg:     #f5f7fb;
    --gray-text:   #6c757d;
    --gray-border: #e4eaf4;
    --radius-sm:   10px;
    --radius-md:   18px;
    --radius-lg:   28px;
    --shadow-sm:   0 4px 16px rgba(0,0,32,.09);
    --shadow-md:   0 10px 36px rgba(0,0,32,.14);
    --shadow-lg:   0 20px 60px rgba(0,0,32,.2);
    --ease-spring: cubic-bezier(.34,1.56,.64,1);
    --ease-out:    cubic-bezier(.4,0,.2,1);
    --transition:  .35s var(--ease-out);
}


/* ═══════════════════════════════════════════════
   UTILITY — EYEBROW TAG
═══════════════════════════════════════════════ */
.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 1rem;
}
.section-eyebrow::before {
    content: '';
    display: block;
    width: 28px; height: 3px;
    background: var(--orange);
    border-radius: 2px;
}


/* ═══════════════════════════════════════════════
   HM-STRIP — Sección de impacto
═══════════════════════════════════════════════ */
.hm-strip {
    background: var(--navy-dark);
    padding: 5.5rem 0 5rem;
    position: relative;
    overflow: hidden;
}

/* Patrón geométrico de fondo */
.hm-strip::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,122,61,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,122,61,.06) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
}
/* Glow naranja izquierda */
.hm-strip::after {
    content: '';
    position: absolute;
    top: -80px; left: -80px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,122,61,.12), transparent 70%);
    pointer-events: none;
}

.hm-strip-inner {
    position: relative; z-index: 2;
    text-align: center;
}
.hm-strip-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: .7rem; font-weight: 800;
    letter-spacing: 5px; text-transform: uppercase;
    color: var(--orange);
    margin: 0 0 1.2rem;
}
.hm-strip-eyebrow::before,
.hm-strip-eyebrow::after {
    content: '';
    display: block;
    width: 32px; height: 2px;
    background: var(--orange);
    border-radius: 2px;
}
.hm-strip-line { display: none; }

.hm-strip-title {
    font-size: clamp(1.9rem, 3.8vw, 3rem);
    font-weight: 900;
    color: var(--white);
    line-height: 1.18;
    max-width: 660px;
    margin: 0 auto 4rem;
    letter-spacing: -.6px;
}
.hm-strip-title em {
    font-style: normal;
    color: var(--orange);
}

/* Pilares */
.hm-strip-pilares {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    align-items: center;
    max-width: 900px;
    margin: 0 auto;
    gap: 0;
}
.hm-strip-sep {
    background: rgba(255,255,255,.12);
    width: 1px; height: 100px;
    align-self: center;
}
.hm-strip-pilar {
    padding: 2rem 2.5rem;
    border-radius: var(--radius-md);
    transition: background var(--transition), transform var(--transition);
    cursor: default;
    text-align: center;
}
.hm-strip-pilar:hover {
    background: rgba(255,255,255,.06);
    transform: translateY(-6px);
}
.hm-strip-icon {
    width: 72px; height: 72px;
    border-radius: 20px;
    background: linear-gradient(135deg, var(--orange), #ff9500);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.4rem;
    box-shadow: 0 10px 32px rgba(255,122,61,.4);
    transition: transform .4s var(--ease-spring), box-shadow .3s;
}
.hm-strip-pilar:hover .hm-strip-icon {
    transform: rotate(-8deg) scale(1.12);
    box-shadow: 0 16px 44px rgba(255,122,61,.55);
}
.hm-strip-icon i { color: var(--white); font-size: 1.7rem; }

.hm-strip-pilar h3 {
    color: var(--white); font-size: 1.1rem; font-weight: 800;
    margin: 0 0 .6rem; letter-spacing: .2px;
}
.hm-strip-pilar p {
    color: rgba(255,255,255,.55);
    font-size: .88rem; line-height: 1.7; margin: 0;
}


/* ═══════════════════════════════════════════════
   HM-QUIENES — Split "Quiénes somos"  v2
═══════════════════════════════════════════════ */
.hm-quienes {
    background: linear-gradient(135deg, #f8faff 0%, #eaf0fc 100%);
    overflow: hidden;
}

/* Grid sin container — imagen llega al borde izquierdo */
.hm-q-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 580px;
    align-items: stretch;
}

/* ── Visual izquierda ── */
.hm-q-visual {
    position: relative;
    overflow: hidden;
}

.hm-q-img {
    width: 100%;
    height: 100%;
    min-height: 480px;
    object-fit: cover;
    object-position: center;
    display: block;
    /* Esquina redondeada solo en bottom-right → separa imagen del texto */
    border-radius: 0 0 80px 0;
    transition: transform .8s var(--ease-out);
}
.hm-q-visual:hover .hm-q-img { transform: scale(1.04); }

/* ── Contenido derecha ── */
.hm-q-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5rem 6rem 5rem 5rem;
    max-width: 620px;
}

/* Pill badge naranja */
.hm-q-pill {
    display: inline-block;
    background: var(--orange);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: .42rem 1.2rem;
    border-radius: 50px;
    margin-bottom: 1.6rem;
    align-self: flex-start;
}

/* Título grande */
.hm-q-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.9rem, 3vw, 2.9rem);
    font-weight: 800;
    color: #111827;
    line-height: 1.22;
    margin: 0 0 1.4rem;
    letter-spacing: -.5px;
}
.hm-q-title em {
    font-style: normal;
    color: var(--orange);
}

/* Descripción */
.hm-q-desc {
    color: #5a6475;
    font-size: 1rem;
    line-height: 1.85;
    margin: 0 0 2.4rem;
    max-width: 480px;
}

/* ── Stats grandes ── */
.hm-q-stats {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 2.6rem;
}
.hm-q-stat { flex: 1; }
.hm-q-stat-sep {
    width: 1.5px;
    height: 60px;
    background: #d1dae8;
    flex-shrink: 0;
    margin: 0 2.4rem;
}

.hm-q-stat-num {
    font-family: 'Montserrat', sans-serif;
    font-size: 3rem;
    font-weight: 900;
    color: var(--orange);
    line-height: 1;
    margin-bottom: .45rem;
    letter-spacing: -1.5px;
}
.hm-q-stat-num small {
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: 0;
    vertical-align: 0.4em;
    margin-right: 3px;
    opacity: .8;
}
.hm-q-stat-lbl {
    font-size: .875rem;
    color: #6b7a90;
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
}

/* Botón */
.hm-q-btn {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: var(--navy);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: .92rem;
    padding: .9rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    align-self: flex-start;
    transition: background var(--transition), transform .4s var(--ease-spring), box-shadow var(--transition);
    box-shadow: 0 8px 24px rgba(0,0,32,.25);
    letter-spacing: .3px;
}
.hm-q-btn:hover {
    background: var(--orange);
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(255,122,61,.45);
    color: var(--white);
}
.hm-q-btn i { transition: transform .3s ease; }
.hm-q-btn:hover i { transform: translateX(5px); }


/* ═══════════════════════════════════════════════
   GE-SECTION — Grandes Eventos
═══════════════════════════════════════════════ */
.ge-section {
    background: #1a0a30;
    position: relative;
    overflow: hidden;
    padding: 4rem 0 5rem;
}
.ge-section::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,122,61,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,122,61,.04) 1px, transparent 1px);
    background-size: 50px 50px;
}

.ge-slides-wrap { position: relative; }

.ge-slide {
    display: none;
    padding: 0 2rem;
}
.ge-slide.active { display: block; }

.ge-slide-body {
    max-width: 1200px; margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem; align-items: center;
    position: relative; z-index: 2;
}
.ge-no-img .ge-slide-body { grid-template-columns: 1fr; max-width: 720px; }

/* Texto */
.ge-slide-text { }
.ge-slide-tag {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255,122,61,.15);
    border: 1.5px solid rgba(255,122,61,.4);
    color: var(--orange);
    font-size: .7rem; font-weight: 800;
    letter-spacing: 4px; text-transform: uppercase;
    padding: .5rem 1.2rem; border-radius: 50px;
    margin-bottom: 1.5rem;
}
.ge-slide-title {
    font-size: clamp(1.9rem, 4vw, 3.2rem);
    font-weight: 900; color: var(--white);
    line-height: 1.15; margin: 0 0 1.2rem;
    letter-spacing: -.6px;
}
.ge-slide-sub {
    color: rgba(255,255,255,.6);
    font-size: 1.05rem; line-height: 1.7;
    margin: 0 0 1.8rem;
}
.ge-slide-divider {
    width: 60px; height: 4px;
    background: linear-gradient(90deg, var(--orange), #ff9500);
    border-radius: 2px; margin-bottom: 1.6rem;
}
.ge-slide-date {
    display: flex; align-items: center; gap: .8rem;
    color: rgba(255,255,255,.8); font-size: 1.1rem; font-weight: 700;
    margin-bottom: 2.2rem; letter-spacing: 1px;
}
.ge-slide-date span { color: var(--orange); }

.ge-slide-cta {
    display: inline-flex; align-items: center; gap: .8rem;
    background: var(--orange); color: var(--white);
    font-weight: 800; font-size: 1rem;
    padding: 1rem 2.4rem; border-radius: 50px;
    text-decoration: none;
    transition: background var(--transition), transform .4s var(--ease-spring), box-shadow var(--transition);
    box-shadow: 0 10px 28px rgba(255,122,61,.45);
}
.ge-slide-cta:hover {
    background: var(--orange-dark);
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(255,122,61,.55);
    color: var(--white);
}
.ge-slide-cta i { transition: transform .3s; }
.ge-slide-cta:hover i { transform: translateX(6px); }

/* Imagen */
.ge-slide-imgframe {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0,0,0,.5);
    position: relative;
    aspect-ratio: 4/3;
}
.ge-slide-imgframe img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    transition: transform .6s var(--ease-out);
}
.ge-slide-imgframe:hover img { transform: scale(1.04); }
.ge-slide-imgframe::before {
    content: '';
    position: absolute; inset: 0; z-index: 1;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,122,61,.08), transparent);
    pointer-events: none;
}

/* Navegación */
.ge-nav {
    display: flex; justify-content: center; align-items: center;
    gap: 1.2rem; margin-top: 3rem; position: relative; z-index: 2;
}
.ge-arrow {
    width: 48px; height: 48px; border-radius: 50%;
    background: rgba(255,255,255,.08);
    border: 1.5px solid rgba(255,255,255,.18);
    color: var(--white); font-size: 1.05rem;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: background var(--transition), border-color var(--transition), transform .3s var(--ease-spring);
}
.ge-arrow:hover {
    background: var(--orange); border-color: var(--orange);
    transform: scale(1.1);
}
.ge-dots-row { display: flex; gap: .6rem; align-items: center; }
.ge-dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: rgba(255,255,255,.25);
    border: none; cursor: pointer; padding: 0;
    transition: all .35s var(--ease-spring);
}
.ge-dot.active {
    width: 32px; border-radius: 5px;
    background: var(--orange);
    box-shadow: 0 4px 14px rgba(255,122,61,.5);
}


/* ═══════════════════════════════════════════════
   DIRECTORIO
═══════════════════════════════════════════════ */
.directorio-section {
    background: var(--gray-bg);
    padding: 5rem 0;
    overflow: hidden;
}
.directorio-carousel {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    min-height: 450px;
}
.directorio-slide {
    position: absolute;
    top: 0; left: 0; width: 100%;
    opacity: 0; visibility: hidden;
    transform: scale(.95) translateY(20px);
    transition: all .8s cubic-bezier(.34,1.56,.64,1);
    pointer-events: none;
}
.directorio-slide.active {
    opacity: 1; visibility: visible;
    transform: scale(1) translateY(0);
    pointer-events: auto;
    position: relative; z-index: 2;
}

/* Card */
.directorio-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden; padding: 2.5rem;
    display: flex; align-items: center;
    gap: 3rem; min-height: 420px;
    border: 1.5px solid var(--gray-border);
    position: relative;
}
/* Línea naranja superior */
.directorio-card::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--orange), #ff9500, var(--orange));
    background-size: 200% 100%;
    animation: shimmerBar 3s ease infinite;
}
@keyframes shimmerBar {
    0%, 100% { background-position: 200% 0; }
    50%       { background-position: 0 0; }
}

/* Foto */
.directorio-foto-wrap  { flex: 0 0 300px; position: relative; }
.directorio-foto-inner {
    width: 300px; height: 300px;
    border-radius: 20px; overflow: hidden;
    box-shadow: var(--shadow-md);
    position: relative;
}
.directorio-foto-inner img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    transition: transform .5s var(--ease-out);
}
.directorio-slide.active:hover .directorio-foto-inner img { transform: scale(1.06); }
.directorio-foto-iniciales {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--navy), var(--navy-mid));
    font-size: 4rem; font-weight: 700;
    color: rgba(255,255,255,.25);
}
.directorio-foto-overlay {
    position: absolute; bottom: 0; left: 0; right: 0; height: 80px;
    background: linear-gradient(to top, rgba(0,0,32,.7), transparent);
    display: flex; align-items: flex-end; padding: 1rem;
}
.directorio-foto-barra {
    width: 50px; height: 4px;
    background: linear-gradient(90deg, var(--orange), #ff9500);
    border-radius: 2px;
}

/* Contenido */
.directorio-contenido {
    flex: 1; display: flex; flex-direction: column; justify-content: center;
}
.directorio-cargo-badge {
    display: inline-flex; align-items: center; gap: .4rem;
    background: linear-gradient(135deg, var(--orange), #ff6b2b);
    color: var(--white); padding: .55rem 1.6rem;
    border-radius: 50px; font-size: .78rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: 1.5px;
    margin-bottom: 1.4rem; align-self: flex-start;
    box-shadow: 0 6px 18px rgba(255,122,61,.35);
}
.directorio-nombre {
    color: var(--navy); font-size: 2.2rem; font-weight: 900;
    margin-bottom: 1.2rem; line-height: 1.2; letter-spacing: -.5px;
}
.directorio-descripcion {
    color: var(--gray-text); font-size: 1rem; line-height: 1.85; margin: 0 0 1.5rem;
}
.directorio-deco         { display: flex; gap: 1rem; align-items: center; }
.directorio-deco-linea   { width: 60px; height: 4px; background: linear-gradient(90deg,var(--orange),#ff9500); border-radius: 2px; }
.directorio-deco-puntos  { display: flex; gap: .5rem; }
.directorio-deco-punto   { width: 8px; height: 8px; border-radius: 50%; }
.directorio-deco-punto.naranja { background: var(--orange); }
.directorio-deco-punto.dorado  { background: #ff9500; }
.directorio-deco-punto.navy    { background: var(--navy); }

/* Indicadores */
.directorio-indicators   { display: flex; justify-content: center; gap: 1rem; margin-top: 2.5rem; }
.directorio-counter-wrap { text-align: center; margin-top: 1rem; }
.directorio-counter-text { color: var(--gray-text); font-size: .9rem; font-weight: 600; }
.directorio-indicator {
    width: 12px; height: 12px; border-radius: 50%;
    border: 2px solid #d1d5db; background: transparent;
    cursor: pointer; padding: 0;
    transition: all .4s var(--ease-spring);
}
.directorio-indicator:hover { border-color: var(--orange); transform: scale(1.3); }
.directorio-indicator.active {
    width: 40px; height: 12px; border-radius: 6px;
    border-color: var(--orange);
    background: linear-gradient(90deg, var(--orange), #ff9500);
    box-shadow: 0 4px 14px rgba(255,122,61,.4);
}


/* ═══════════════════════════════════════════════
   NOTICIAS DESTACADAS — Cards mejoradas
═══════════════════════════════════════════════ */
/* Override card para noticias */
.section .card {
    border: 1.5px solid var(--gray-border);
    border-radius: var(--radius-md);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    overflow: hidden;
}
.section .card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(255,122,61,.3);
}
.section .card::before { display: none; } /* quitar el shimmer en cards de noticias */

/* Borde gradiente naranja al hover */
.section .card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--radius-md);
    padding: 1.5px;
    background: linear-gradient(135deg, var(--orange), var(--navy));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity var(--transition);
    pointer-events: none;
}
.section .card:hover::after { opacity: 1; }

.card-img { height: 210px; border-radius: 0; }
.card-img-placeholder { height: 210px; }

.card-body { padding: 1.6rem; }
.card-title {
    color: var(--navy); font-size: 1.1rem;
    font-weight: 800; line-height: 1.4;
    margin-bottom: .6rem;
}
.card-text { color: var(--gray-text); font-size: .92rem; line-height: 1.75; }

.card-meta { margin-bottom: .9rem; }
.card-fecha { color: var(--gray-text); font-size: .82rem; }

.btn-primary {
    background: var(--navy); border-color: var(--navy);
    border-radius: 50px; font-weight: 700; font-size: .88rem;
    padding: .6rem 1.6rem;
    transition: background var(--transition), transform .3s var(--ease-spring), box-shadow var(--transition);
}
.btn-primary:hover {
    background: var(--orange); border-color: var(--orange);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255,122,61,.4);
    color: var(--white);
}


/* ═══════════════════════════════════════════════
   EVENTOS — Cards rediseñadas
═══════════════════════════════════════════════ */
.eventos-section { padding: 5rem 0; }

.eventos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem; align-items: start;
}

.evento-card {
    background: var(--white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden; display: flex; flex-direction: column;
    border: 1.5px solid var(--gray-border);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    position: relative;
}
.evento-card::after {
    content: '';
    position: absolute;
    inset: 0; border-radius: var(--radius-md);
    padding: 1.5px;
    background: linear-gradient(135deg, var(--orange), var(--navy));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity var(--transition);
    pointer-events: none;
}
.evento-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(255,122,61,.25);
}
.evento-card:hover::after { opacity: 1; }

.evento-poster {
    position: relative; width: 100%; aspect-ratio: 4/3;
    background: linear-gradient(135deg, var(--navy), var(--navy-mid));
    overflow: hidden;
}
.evento-poster-img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    transition: transform .5s var(--ease-out);
}
.evento-card:hover .evento-poster-img { transform: scale(1.06); }

.evento-poster-fallback {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
}
.evento-poster-fallback i { font-size: 4rem; color: rgba(255,255,255,.2); }

/* Badge fecha */
.evento-fecha-badge {
    position: absolute; bottom: 14px; left: 14px;
    background: rgba(0,31,64,.92);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.15);
    color: var(--white);
    border-radius: 14px; padding: .6rem 1rem;
    display: flex; flex-direction: column; align-items: center; line-height: 1.2;
    box-shadow: 0 6px 20px rgba(0,0,0,.35);
}
.evento-fecha-dia { font-size: 1.7rem; font-weight: 900; letter-spacing: -1px; }
.evento-fecha-mes { font-size: .68rem; text-transform: uppercase; letter-spacing: 1px; opacity: .8; }

.evento-categoria-badge {
    position: absolute; top: 14px; right: 14px;
    color: var(--white); font-size: .7rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .8px;
    padding: .35rem .9rem; border-radius: 50px;
    box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

.evento-info { padding: 1.5rem 1.6rem 1.8rem; display: flex; flex-direction: column; flex: 1; }
.evento-titulo {
    color: var(--navy); font-size: 1.05rem; font-weight: 800;
    line-height: 1.4; margin: 0 0 1rem;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.evento-meta       { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.3rem; flex: 1; }
.evento-meta-item  { display: flex; align-items: center; gap: .55rem; color: var(--gray-text); font-size: .88rem; }
.evento-meta-item i{ color: var(--orange); width: 16px; flex-shrink: 0; }

.btn-evento-detalle {
    display: flex; align-items: center; justify-content: center; gap: .55rem;
    background: var(--navy); color: var(--white);
    font-weight: 800; font-size: .88rem;
    padding: .85rem 1.4rem; border-radius: var(--radius-sm);
    transition: background var(--transition), transform .3s var(--ease-spring), box-shadow var(--transition);
    box-shadow: 0 4px 14px rgba(0,0,32,.2);
    width: 100%; text-align: center; text-decoration: none;
}
.btn-evento-detalle:hover {
    background: var(--orange);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(255,122,61,.4);
    color: var(--white);
}
.btn-evento-detalle i       { transition: transform .25s; }
.btn-evento-detalle:hover i { transform: translateX(5px); }


/* ═══════════════════════════════════════════════
   CAROUSEL — AFILIADOS & ALIANZAS
═══════════════════════════════════════════════ */
.carousel-section-wrapper {
    position: relative;
    display: flex; align-items: center; gap: .6rem;
}
.carousel-arrow {
    flex-shrink: 0; min-width: 44px;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--white);
    border: 1.5px solid var(--gray-border);
    color: var(--navy); font-size: 1rem;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: all var(--transition);
    box-shadow: var(--shadow-sm);
    z-index: 5;
}
.carousel-arrow:hover {
    background: var(--orange); border-color: var(--orange);
    color: var(--white);
    box-shadow: 0 8px 20px rgba(255,122,61,.4);
    transform: scale(1.1);
}
.carousel-arrow:disabled {
    opacity: .3; cursor: default; transform: none; box-shadow: none;
}

.afiliados-overflow,
.alianzas-overflow {
    flex: 1; overflow: hidden; position: relative;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
    mask-image:         linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}
.carousel-wrapper,
.carousel-wrapper-alianzas {
    display: flex; gap: 1.4rem;
    transition: transform .5s var(--ease-out);
    will-change: transform; padding: .6rem .3rem;
}

/* Cards afiliados/alianzas */
.afiliado-item,
.alianza-item {
    flex: 0 0 auto; width: 174px;
    background: var(--white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: 1.4rem 1rem;
    text-align: center;
    border: 1.5px solid var(--gray-border);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    cursor: default;
}
.afiliado-item:hover,
.alianza-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: rgba(255,122,61,.3);
}
.afiliado-item.destacado,
.alianza-item.destacado {
    border: 2px solid var(--orange);
    background: linear-gradient(135deg, #fff9f5, var(--white));
}

.afiliado-logo,
.alianza-logo {
    width: 90px; height: 66px;
    margin: 0 auto .9rem;
    display: flex; align-items: center; justify-content: center;
    background: var(--gray-bg);
    border-radius: var(--radius-sm); padding: .5rem; overflow: hidden;
    transition: background var(--transition);
}
.afiliado-item:hover .afiliado-logo,
.alianza-item:hover .alianza-logo { background: var(--orange-lite); }

.afiliado-logo img,
.alianza-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.afiliado-logo i,
.alianza-logo i   { font-size: 2.2rem; color: var(--gray-text); }

.afiliado-item h4,
.alianza-item h4 {
    font-size: .8rem; color: var(--navy);
    font-weight: 800; margin-bottom: .25rem; line-height: 1.3;
}
.afiliado-item p,
.alianza-item p { font-size: .72rem; color: var(--gray-text); margin: 0; }


/* ═══════════════════════════════════════════════
   HM-STATS — Estadísticas (fondo imagen + overlay)
═══════════════════════════════════════════════ */
.hm-stats {
    background-image: url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=1920&q=80');
    background-size: cover;
    background-position: center 30%;
    background-attachment: scroll; /* fixed no funciona en iOS Safari */
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}
@supports (background-attachment: fixed) {
    @media (min-width: 993px) {
        .hm-stats { background-attachment: fixed; }
    }
}

/* Overlay oscuro semitransparente */
.hm-stats::before {
    content: '';
    position: absolute; inset: 0;
    background: rgba(0, 0, 15, 0.78);
    pointer-events: none;
}

.hm-stats-inner { position: relative; z-index: 2; }

.hm-stats-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}

.hm-stat-vsep { display: none; }

/* Cada stat */
.hm-stat-item {
    flex: 1;
    text-align: center;
    padding: 2.8rem 3rem;
    border-right: 1px solid rgba(255,255,255,.15);
    background: none;
    border-radius: 0;
}
.hm-stat-item:last-child { border-right: none; }

/* Número grande + plus */
.hm-stat-num-row {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
    margin-bottom: .6rem;
}

.hm-stat-plus {
    font-size: clamp(1.6rem, 2.2vw, 2.2rem);
    font-weight: 700;
    color: var(--orange);
    font-family: 'Montserrat', sans-serif;
    line-height: 1;
}

.hm-stat-num {
    font-size: clamp(2.8rem, 4.5vw, 4rem);
    font-weight: 700;
    color: var(--orange);
    letter-spacing: 2px;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
}

/* Sin línea divisora */
.hm-stat-divider { display: none; }

.hm-stat-label {
    font-size: .95rem;
    font-weight: 400;
    color: rgba(255,255,255,.85);
    letter-spacing: .5px;
    margin: 0;
    line-height: 1.5;
}


/* ═══════════════════════════════════════════════
   HM-CTA-SPLIT — CTA afiliación (split layout)
═══════════════════════════════════════════════ */
.hm-cta-split {
    background: var(--white);
    padding: 6rem 0;
    overflow: hidden;
}

.hm-cta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}

/* Imagen izquierda */
.hm-cta-img-wrap {
    position: relative;
}

.hm-cta-img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center top;
    border-radius: 20px;
    display: block;
    box-shadow: 0 24px 60px rgba(0,0,32,.14);
}

/* Contenido derecha */
.hm-cta-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
}

.hm-cta-pill {
    display: inline-block;
    background: var(--orange);
    color: var(--white);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: .4rem 1.1rem;
    border-radius: 4px;
}

.hm-cta-title {
    font-size: clamp(1.8rem, 2.8vw, 2.6rem);
    font-weight: 900;
    color: var(--navy);
    line-height: 1.2;
    letter-spacing: -.5px;
    margin: 0;
}

.hm-cta-btn {
    display: inline-flex;
    align-items: center;
    background: var(--orange);
    color: var(--white);
    font-size: 1rem;
    font-weight: 700;
    padding: .95rem 2.4rem;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(255,122,61,.35);
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.hm-cta-btn:hover {
    background: var(--orange-dark);
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(255,122,61,.5);
    color: var(--white);
}

.hm-cta-tel {
    font-size: 1rem;
    color: var(--gray-text);
    margin: 0;
}
.hm-cta-tel a {
    color: var(--orange);
    text-decoration: none;
    font-weight: 700;
    transition: color .2s ease;
}
.hm-cta-tel a:hover { color: var(--orange-dark); }



/* ═══════════════════════════════════════════════
   SERVICIOS — Card mejorada
═══════════════════════════════════════════════ */
.card-servicio {
    text-align: center;
    border: 1.5px solid var(--gray-border);
    border-radius: var(--radius-md);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    position: relative; overflow: hidden;
}
.card-servicio::before { display: none; }
.card-servicio::after {
    content: '';
    position: absolute; inset: 0; border-radius: var(--radius-md);
    padding: 1.5px;
    background: linear-gradient(135deg, var(--orange), var(--navy));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0; transition: opacity var(--transition);
    pointer-events: none;
}
.card-servicio:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(255,122,61,.2);
}
.card-servicio:hover::after { opacity: 1; }

.servicio-icono-wrap {
    width: 76px; height: 76px;
    border-radius: 22px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.9rem; color: var(--white);
    margin: 0 auto 1.4rem;
    transition: transform .4s var(--ease-spring), box-shadow .3s;
}
.card-servicio:hover .servicio-icono-wrap {
    transform: scale(1.12) rotate(-6deg);
    box-shadow: 0 14px 36px rgba(0,0,32,.25);
}

.btn-outline-primary {
    border-radius: 50px; font-weight: 700; font-size: .88rem;
    padding: .65rem 1.8rem;
    transition: background var(--transition), color var(--transition), transform .3s var(--ease-spring);
}
.btn-outline-primary:hover { transform: translateY(-2px); }


/* ═══════════════════════════════════════════════
   SECTION TITLE — Overrides
═══════════════════════════════════════════════ */
.section-title h2 {
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    font-weight: 900; letter-spacing: -.4px;
}
.section-title h2::after {
    width: 0 !important;
    transition: width .6s cubic-bezier(.34,1.36,.64,1) .35s !important;
}
.section-title.active h2::after { width: 60px !important; }
.section-title h2 i { color: var(--orange); }
.section-title p { font-size: 1.05rem; }


/* ═══════════════════════════════════════════════
   SECTION GRAY — override
═══════════════════════════════════════════════ */
.section-gray { background: var(--gray-bg); }


/* ═══════════════════════════════════════════════
   LGS — LOGO STRIP (Afiliadas & Alianzas)
═══════════════════════════════════════════════ */
.lgs-section {
    padding: 4rem 0 3rem;
    background: #fff;
    overflow: hidden;
    max-width: 100vw;
    contain: layout;
}
.lgs-section--alt {
    background: #f8faff;
}

/* Título centrado */
.lgs-title {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    font-weight: 400;
    color: #4a5568;
    margin-bottom: 2.8rem;
    letter-spacing: -.1px;
}
.lgs-title strong {
    color: #000020;
    font-weight: 700;
}

/* Track wrapper — fade en los bordes */
.lgs-track-wrap {
    position: relative;
    overflow: hidden;
    padding: .5rem 0 1.5rem;
}
.lgs-track-wrap::before,
.lgs-track-wrap::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 140px;
    z-index: 2;
    pointer-events: none;
}
.lgs-track-wrap::before {
    left: 0;
    background: linear-gradient(to right, #fff 30%, transparent);
}
.lgs-track-wrap::after {
    right: 0;
    background: linear-gradient(to left, #fff 30%, transparent);
}
.lgs-section--alt .lgs-track-wrap::before {
    background: linear-gradient(to right, #f8faff 30%, transparent);
}
.lgs-section--alt .lgs-track-wrap::after {
    background: linear-gradient(to left, #f8faff 30%, transparent);
}

/* Track: scroll infinito izquierda */
.lgs-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: lgsScrollLeft 65s linear infinite;
}
/* Track inverso: scroll hacia la derecha */
.lgs-track--rev {
    animation: lgsScrollRight 75s linear infinite;
}
.lgs-track:hover,
.lgs-track--rev:hover {
    animation-play-state: paused;
}

@keyframes lgsScrollLeft {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@keyframes lgsScrollRight {
    from { transform: translateX(-50%); }
    to   { transform: translateX(0); }
}

/* Cada item */
.lgs-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 4rem;
    border-right: 1px solid #e8edf5;
    min-width: 200px;
    height: 130px;
    flex-shrink: 0;
    transition: background .25s ease;
}
.lgs-item:hover {
    background: rgba(0, 0, 32, .02);
}

/* Logo imagen */
.lgs-logo {
    max-height: 90px;
    max-width: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    mix-blend-mode: multiply;   /* fondo blanco de JPG desaparece */
    opacity: .75;
    transition: opacity .35s ease, transform .3s ease;
}
.lgs-item:hover .lgs-logo {
    opacity: 1;
    transform: scale(1.06);
}

/* El item necesita fondo blanco puro para que multiply funcione */
.lgs-item {
    background: #fff;
}

/* Nombre empresa (fallback sin logo) */
.lgs-name {
    font-family: 'Montserrat', sans-serif;
    font-size: .82rem;
    font-weight: 800;
    color: #000020;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: .75;
    text-align: center;
    max-width: 130px;
    line-height: 1.4;
    transition: opacity .3s ease;
}
.lgs-item:hover .lgs-name {
    opacity: .9;
}

/* Si solo hay pocos items, no animar */
@media (prefers-reduced-motion: reduce) {
    .lgs-track, .lgs-track--rev { animation: none; }
}


/* ═══════════════════════════════════════════════
   HSV — SECCIÓN NUESTROS SERVICIOS (Home)
═══════════════════════════════════════════════ */
.hsv-section {
    padding: 6rem 0 5rem;
    background: linear-gradient(165deg, #f7f9fd 0%, #eef2fb 100%);
    position: relative;
    overflow: hidden;
}

/* Decoración fondo sutil */
.hsv-section::before {
    content: '';
    position: absolute;
    top: -120px; right: -120px;
    width: 480px; height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,122,61,.07) 0%, transparent 70%);
    pointer-events: none;
}

/* Cabecera centrada */
.hsv-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 3.5rem;
}

.hsv-pill {
    display: inline-block;
    background: rgba(255,122,61,.12);
    color: var(--orange);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: .38rem 1.1rem;
    border-radius: 50px;
    margin-bottom: 1.1rem;
}

.hsv-title {
    font-size: clamp(1.8rem, 3.2vw, 2.6rem);
    font-weight: 900;
    color: var(--navy);
    line-height: 1.2;
    letter-spacing: -.5px;
    margin-bottom: .9rem;
}

.hsv-desc {
    color: var(--gray-text);
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 540px;
    margin: 0 auto;
}

/* Grid de 3 cards */
.hsv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 3rem;
}

/* Card individual */
.hsv-card {
    background: var(--white);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
    display: flex;
    flex-direction: column;
}

.hsv-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-md);
}

/* Imagen superior de la card */
.hsv-card-img {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, var(--navy), var(--navy-mid));
    position: relative;
}

.hsv-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s var(--ease-out);
}

.hsv-card:hover .hsv-card-img img {
    transform: scale(1.07);
}

/* Fallback sin imagen */
.hsv-card-img-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--navy), var(--navy-mid));
}

.hsv-card-img-fallback i {
    font-size: 3rem;
    color: rgba(255,255,255,.25);
}

/* Cuerpo debajo de la imagen */
.hsv-card-body {
    padding: 1.4rem 1.4rem 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .9rem;
    flex: 1;
}

.hsv-card-name {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--navy);
    line-height: 1.35;
    margin: 0;
}

.hsv-card-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .78rem;
    font-weight: 800;
    color: var(--orange);
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none;
    border-bottom: 2px solid rgba(255,122,61,.3);
    padding-bottom: 2px;
    transition: color .25s ease, border-color .25s ease, gap .25s ease;
    margin-top: auto;
}

.hsv-card-link::after {
    content: '→';
    font-size: .9rem;
    line-height: 1;
    transition: transform .25s ease;
}

.hsv-card:hover .hsv-card-link {
    color: var(--orange-dark);
    border-color: var(--orange-dark);
    gap: .75rem;
}

.hsv-card:hover .hsv-card-link::after {
    transform: translateX(4px);
}

/* Botón CTA inferior */
.hsv-cta {
    text-align: center;
    margin-top: 1rem;
}

.hsv-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: var(--navy);
    color: var(--white);
    font-size: .95rem;
    font-weight: 700;
    padding: .85rem 2.2rem;
    border-radius: 50px;
    text-decoration: none;
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
    letter-spacing: .3px;
}

.hsv-btn:hover {
    background: var(--navy-mid);
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0,0,32,.22);
    color: var(--white);
}

.hsv-btn i {
    transition: transform .3s ease;
}

.hsv-btn:hover i {
    transform: translateX(5px);
}


/* ═══════════════════════════════════════════════
   RESPONSIVE — TABLET ≤ 992px
═══════════════════════════════════════════════ */
@media (max-width: 992px) {

    /* hm-quienes tablet: apila imagen arriba */
    .hm-q-grid { grid-template-columns: 1fr; min-height: auto; }
    .hm-q-visual { order: 1; }
    .hm-q-img { min-height: 340px; border-radius: 0; }
    .hm-q-content { order: 2; padding: 3.5rem 2.5rem 3.5rem; align-items: center; text-align: center; max-width: none; }
    .hm-q-pill { align-self: center; }
    .hm-q-desc { margin-left: auto; margin-right: auto; }
    .hm-q-stats { justify-content: center; }
    .hm-q-btn { align-self: center; }

    .hm-strip-pilares { grid-template-columns: 1fr; max-width: 380px; }
    .hm-strip-sep { display: none; }

    .ge-slide-body { grid-template-columns: 1fr; gap: 2.5rem; }
    .ge-slide-imgframe { max-width: 480px; margin: 0 auto; }

    .directorio-card { flex-direction: column; gap: 2rem; padding: 2rem; min-height: auto; }
    .directorio-foto-wrap  { flex: 0 0 auto; width: 100%; display: flex; justify-content: center; }
    .directorio-foto-inner { width: 280px; height: 280px; }
    .directorio-nombre     { font-size: 1.8rem; text-align: center; }
    .directorio-contenido  { text-align: center; align-items: center; }

    .eventos-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }

    .hm-stats-grid { flex-wrap: wrap; max-width: 600px; }
    .hm-stat-item  { flex: 0 0 50%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.12); padding: 2rem 1rem; }
    .hm-stat-item:nth-child(odd)  { border-right: 1px solid rgba(255,255,255,.15); }
    .hm-stat-item:nth-last-child(-n+2) { border-bottom: none; }
    .hm-stats { background-attachment: scroll; }

    /* HSV tablet */
    .hsv-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .hsv-card:nth-child(3) { grid-column: 1 / -1; max-width: 480px; margin: 0 auto; width: 100%; }

    /* CTA split tablet */
    .hm-cta-grid { gap: 3rem; }
    .hm-cta-img  { height: 380px; }
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — MÓVIL ≤ 768px
═══════════════════════════════════════════════ */
@media (max-width: 768px) {

    .hm-q-img { min-height: 300px; }
    .hm-strip     { padding: 3.5rem 0; }
    .hm-stats     { padding: 3.5rem 0; }
    .hm-cta-split { padding: 3.5rem 0; }


    .hm-strip-pilar { padding: 1.5rem; }
    .hm-strip-title { font-size: 1.6rem; }

    .ge-slide { padding: 0 1rem; }
    .ge-slide-title { font-size: 1.6rem; }

    .directorio-foto-inner { width: 240px; height: 240px; }
    .directorio-nombre     { font-size: 1.5rem; }
    .directorio-carousel   { min-height: auto; }

    .eventos-grid { grid-template-columns: 1fr; }

    .cta-botones { flex-direction: column; align-items: center; }
    .cta-btn-grande, .cta-btn-contactar { width: 100%; max-width: 320px; justify-content: center; }

    /* HSV móvil */
    .hsv-grid { grid-template-columns: 1fr; gap: 1.25rem; }
    .hsv-card:nth-child(3) { grid-column: auto; max-width: none; margin: 0; }
    .hsv-section { padding: 4rem 0 3.5rem; }
    .hsv-title { font-size: 1.7rem; }

    /* CTA split móvil: imagen arriba, texto abajo */
    .hm-cta-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .hm-cta-img  { height: 300px; }
    .hm-cta-split { padding: 4rem 0; }
    .hm-cta-title { font-size: 1.7rem; }

    .carousel-arrow { width: 38px; height: 38px; min-width: 38px; font-size: .9rem; }
    .afiliado-item, .alianza-item { width: 150px; padding: 1rem .7rem; }
    .afiliado-logo, .alianza-logo { width: 74px; height: 56px; }
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — MÓVIL ≤ 480px
═══════════════════════════════════════════════ */
@media (max-width: 480px) {

    .hm-q-title   { font-size: 1.6rem; }
    .hm-q-content { padding: 2.5rem 1.4rem 3rem; }
    .hm-q-stat-num { font-size: 2.4rem; }
    .hm-q-stat-sep { margin: 0 1.4rem; }
    .hm-q-img { min-height: 260px; }

    .hm-strip-icon  { width: 62px; height: 62px; }
    .hm-strip-icon i { font-size: 1.4rem; }

    .hm-stat-num  { font-size: 2.4rem; letter-spacing: 1px; }
    .hm-stat-plus { font-size: 1.4rem; }
    .hm-stat-item { padding: 1.6rem .8rem; }

    .carousel-section-wrapper { gap: .3rem; }
    .carousel-arrow { width: 34px; height: 34px; min-width: 34px; font-size: .85rem; }
    .afiliado-item, .alianza-item { width: 138px; padding: .9rem .6rem; }
    .afiliado-logo, .alianza-logo { width: 66px; height: 52px; }
    .afiliado-item h4, .alianza-item h4 { font-size: .75rem; }
}
