/* ==========================================================================
   COMPONENTE · Hero de página interior (centrado, fondo claro) — reutilizable
   Enfoque Mobile-First. Valores fieles al CSS de Figma (Profesionales).
   ========================================================================== */

.hero-page {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 380px;
    display: flex;
    align-items: self-end;
    justify-content: center;
    box-sizing: border-box;
    background-color: #EAF4FA;      /* respaldo claro si aún no hay imagen */
    font-family: 'Be Vietnam Pro', system-ui, sans-serif;
}

/* ---- Slider de imágenes de fondo ---- */
.hero-page-slides {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-page-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.2s ease;
}

.hero-page-slide.is-active {
    opacity: 1;
    z-index: 1;
}

/* ---- Degradado claro (funde la foto a blanco) ---- */
.hero-page-gradient {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(234, 244, 250, 0.1) 0%, #FFFFFF 99.78%);
}

/* ---- Contenido centrado ---- */
.hero-page-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    box-sizing: border-box;
    padding: var(--pt-m, 56px) 24px var(--pb-m, 40px);
    display: flex;
    justify-content: center;
}

.hero-page-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;                      /* bloque de texto → botones (Figma) */
    max-width: 748px;
    width: 100%;
}

.hero-page-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;                      /* tagline → título */
    width: 100%;
}

.hero-page-tagline {
    font-weight: 500;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 2.16px;
    text-transform: uppercase;
    color: #27292B;
}

.hero-page-heading {
    margin: 0;
    font-weight: 700;
    font-size: 32px;                /* móvil; 48px en escritorio */
    line-height: 110%;
    letter-spacing: -1.08px;
    color: #27292B;                 /* base oscuro; resalta palabras con /% %/ (azul) */
}

/* ---- Acciones (botones) ---- */
.hero-page-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.hero-page-btn-primary,
.hero-page-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    box-sizing: border-box;
    border-radius: 24px;
    font-weight: 500;
    font-size: 14px;
    line-height: 110%;
    letter-spacing: -0.154px;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.hero-page-btn-primary {
    background: #0E2C45;
    color: #FFFFFF;
}

.hero-page-btn-primary:hover {
    background: #006491;
    transform: translateY(-1px);
}

.hero-page-btn-secondary {
    background: #F8F6F1;
    border: 1px solid #D7D9DB;
    color: #000000;
}

.hero-page-btn-secondary:hover {
    background: #FFFFFF;
    border-color: #000000;
    transform: translateY(-1px);
}

.hero-page-btn-arrow {
    display: inline-flex;
}

/* ==========================================================================
   Breakpoints (Mobile-First → min-width)
   ========================================================================== */
@media (min-width: 600px) {
    .hero-page-heading {
        font-size: 40px;
    }
}

@media (min-width: 768px) {
    .hero-page-inner {
        padding: var(--pt-t, var(--pt-m, 56px)) 24px var(--pb-t, var(--pb-m, 40px));
    }
}

@media (min-width: 992px) {
    .hero-page {
        min-height: 505px;          /* alto de Figma */
    }

    .hero-page-inner {
        padding: var(--pt-d, 80px) 40px var(--pb-d, 80px);
    }

    .hero-page-heading {
        font-size: 48px;
    }
}
