/* Shared inner-page hero used across the public FISI website. */
.fisi-page-hero {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    min-height: 199px !important;
    padding: 36px 0 32px !important;
    background:
        linear-gradient(160deg, rgba(91, 33, 182, 0.07) 0%, rgba(238, 238, 247, 0) 60%),
        linear-gradient(rgba(91, 33, 182, 0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(91, 33, 182, 0.10) 1px, transparent 1px),
        #eeeef7 !important;
    background-size: auto, 60px 60px, 60px 60px, auto !important;
    background-position: 0 0, 0 0, 0 0, 0 0 !important;
    border-bottom: 1px solid rgba(91, 33, 182, 0.10) !important;
    background-color: #eeeef7 !important;
}

.fisi-page-hero::after {
    content: none !important;
    display: none !important;
}

.fisi-page-hero-inner {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 32px !important;
    align-items: center !important;
}

.fisi-page-hero-title {
    margin: 0 0 8px !important;
    color: #0f0c1d !important;
    font-family: 'Orbitron', sans-serif !important;
    font-size: 44px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: -1px !important;
    text-shadow: none !important;
}

.fisi-page-hero-title em {
    font-style: normal !important;
    background: linear-gradient(125deg, #5b21b6 0%, #7c3aed 40%, #06b6d4 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.fisi-page-hero-desc {
    max-width: 850px !important;
    margin: 0 !important;
    color: #4a4568 !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
    letter-spacing: 0 !important;
}

.fisi-page-hero-stats {
    position: relative !important;
    display: flex !important;
    width: 190px !important;
    min-width: 190px !important;
    height: 98px !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid rgba(91, 33, 182, 0.20) !important;
    box-shadow: none !important;
}

.fisi-page-hero-stats,
.lb-hero-stats,
.nt-hero-stats,
.ev-hero-stats {
    position: relative !important;
    min-width: 200px !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border: 0 !important;
    padding: 1px !important;
    background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 46%, #06b6d4 100%) !important;
    clip-path: polygon(18px 0, 100% 0, calc(100% - 18px) 100%, 0 100%) !important;
    box-shadow: 0 16px 34px rgba(91, 33, 182, 0.10) !important;
}

.fisi-page-hero-stats::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 0 auto !important;
    height: 1.5px !important;
    background: linear-gradient(90deg, #5b21b6, #06b6d4) !important;
}

.fisi-page-hero-stats::before,
.lb-hero-stats::before,
.nt-hero-stats::before,
.ev-hero-stats::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    z-index: 3 !important;
    background: linear-gradient(90deg, #5b21b6 0%, #7c3aed 46%, #06b6d4 100%) !important;
    pointer-events: none !important;
}

.fisi-page-hero-stat {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 12px 24px !important;
    text-align: center !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(91, 33, 182, 0.10) !important;
}

.fisi-page-hero-stat,
.lb-hstat,
.nt-hstat,
.ev-hstat {
    position: relative !important;
    overflow: hidden !important;
    padding: 14px 26px !important;
    text-align: center !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(91, 33, 182, 0.12) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 246, 255, 0.96) 100%) !important;
}

.fisi-page-hero-stat::after,
.lb-hstat::after,
.nt-hstat::after,
.ev-hstat::after {
    content: '' !important;
    position: absolute !important;
    top: -12% !important;
    right: -28px !important;
    width: 0 !important;
    height: 124% !important;
    z-index: 0 !important;
    transform: skewX(-18deg) !important;
    background: linear-gradient(180deg, rgba(124, 58, 237, 0.10), rgba(6, 182, 212, 0.08)) !important;
}

.fisi-page-hero-stat-number,
.fisi-page-hero-stat-label,
.lb-hstat-n,
.lb-hstat-l,
.nt-hstat-n,
.nt-hstat-l,
.ev-hstat-n,
.ev-hstat-l {
    position: relative !important;
    z-index: 1 !important;
}

.fisi-page-hero-stat:last-child {
    border-bottom: 0 !important;
}

.fisi-page-hero-stat:last-child,
.lb-hstat:last-child,
.nt-hstat:last-child,
.ev-hstat:last-child {
    border-bottom: 0 !important;
}

.fisi-page-hero-stat-number {
    color: #0f0c1d !important;
    font-family: 'Orbitron', sans-serif !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -0.5px !important;
}

.fisi-page-hero-stat-label {
    margin-top: 5px !important;
    color: #7c3aed !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* Shared description typography across public FISI views. */
.fisi-page-hero-desc,
[class$="-hero-desc"],
[class*="-hero-desc "],
[class$="-section-sub"],
[class*="-section-sub "],
.ep-description,
.ep-cert-desc,
.ep-cert-detail-sub,
.rq-tramite-description,
.rq-panel-description,
.rq-panel-sub,
.og-hero-subtitle,
.pd-stats-sub,
.welcome_text .description,
.split-inner p.description,
.product-description-content p,
.rbt-card-text.descripcion,
.course-grid-3 .descripcion,
p.description,
.description,
body .fisi-page-hero-desc,
body [class$="-hero-desc"],
body [class*="-hero-desc "],
body [class$="-section-sub"],
body [class*="-section-sub "],
body .ep-description,
body .ep-cert-desc,
body .rq-tramite-description,
body .rq-panel-description,
body .og-hero-subtitle,
body .pd-stats-sub,
body .welcome_text .description,
body .split-inner p.description,
body .product-description-content p,
body .rbt-card-text.descripcion,
body .course-grid-3 .descripcion,
body p.description,
body .description {
    color: #4a4568 !important;
    font-family: 'Rajdhani', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.fisi-page-hero-desc,
[class$="-hero-desc"],
[class*="-hero-desc "] {
    max-width: 680px !important;
}

.product-description-content p,
.ep-description,
.rq-tramite-description,
.rq-panel-description,
.split-inner p.description {
    text-align: justify !important;
}

.rbt-card-text.descripcion,
.course-grid-3 .descripcion,
.ep-cert-desc {
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.ep-hero.fisi-page-hero,
.pe-hero.fisi-page-hero,
.hr-hero.fisi-page-hero,
.pd-hero.fisi-page-hero {
    background:
        linear-gradient(160deg, rgba(91, 33, 182, 0.07) 0%, rgba(238, 238, 247, 0) 60%),
        linear-gradient(rgba(91, 33, 182, 0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(91, 33, 182, 0.10) 1px, transparent 1px),
        #eeeef7 !important;
    background-size: auto, 60px 60px, 60px 60px, auto !important;
    background-position: 0 0, 0 0, 0 0, 0 0 !important;
    border-bottom-color: rgba(91, 33, 182, 0.10) !important;
}

@media (max-width: 991px) {
    .fisi-page-hero-stats {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .fisi-page-hero {
        padding: 30px 0 28px !important;
    }

    .fisi-page-hero-inner {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .fisi-page-hero-title {
        font-size: 34px !important;
        line-height: 1.12 !important;
    }
}

/* Responsive hardening layer for the public FISI website. */
@media (max-width: 1199.98px) {
    body #header_img .rbt-main-navigation,
    body .rbt-header .rbt-main-navigation,
    body .rbt-main-navigation.d-none.d-xl-block {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body #header_img .mobile-menu-bar,
    body .rbt-header .mobile-menu-bar,
    body .mobile-menu-bar.d-block.d-xl-none {
        display: block !important;
        visibility: visible !important;
    }

    body .popup-mobile-menu .mobile-menu-logo {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        color: #0f0c1d !important;
        text-decoration: none !important;
        font-family: 'Orbitron', sans-serif !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: 1.5px !important;
    }

    body .popup-mobile-menu .mobile-menu-logo img {
        width: 42px !important;
        height: 42px !important;
        object-fit: contain !important;
        border: 1px solid rgba(91, 33, 182, 0.24) !important;
        background: rgba(91, 33, 182, 0.06) !important;
        clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)) !important;
    }

    body .popup-mobile-menu .mainmenu li a {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        font-family: 'Rajdhani', sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        letter-spacing: .6px !important;
        line-height: 1.25 !important;
    }

    body .popup-mobile-menu .mainmenu .has-dropdown .submenu li a {
        min-height: 40px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    body .popup-mobile-menu .mobile-sifisi-link a {
        justify-content: center !important;
        margin-top: 14px !important;
        color: #fff !important;
        background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 60%, #06b6d4 100%) !important;
        clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%) !important;
        text-align: center !important;
    }

    body .popup-mobile-menu .inner-wrapper {
        max-width: min(420px, 92vw) !important;
        overflow-y: auto !important;
    }
}

@media (min-width: 1200px) {
    body #header_img .rbt-main-navigation,
    body .rbt-header .rbt-main-navigation.d-none.d-xl-block {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body #header_img .mobile-menu-bar,
    body .rbt-header .mobile-menu-bar.d-block.d-xl-none {
        display: none !important;
        visibility: hidden !important;
    }
}

@media (max-width: 991.98px) {
    .fisi-page-hero,
    .ep-hero,
    .pe-hero,
    .hr-hero,
    .pd-hero,
    .nt-hero,
    .ev-hero,
    .lb-hero,
    .au-hero,
    .ns-hero,
    .og-hero,
    .rq-hero {
        min-height: auto !important;
    }

    .fisi-page-hero-inner,
    .ep-hero-inner,
    .pe-hero-inner,
    .hr-hero-inner,
    .pd-hero-inner,
    .nt-hero-inner,
    .ev-hero-inner,
    .lb-hero-inner,
    .au-hero-inner,
    .ns-hero-inner,
    .og-hero-inner,
    .rq-hero-inner {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .amb-a,
    .amb-b,
    .amb-c,
    .pe-amb-r,
    .pe-amb-p,
    .hr-amb-a,
    .hr-amb-b,
    .pd-amb-r,
    .pd-amb-p,
    .pd-amb-g,
    .ft-glow-a,
    .ft-glow-b {
        transform: scale(.65) !important;
        opacity: .55 !important;
    }
}

@media (max-width: 767.98px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .container,
    .container-fluid {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body .rbt-header-top {
        padding: 6px 14px !important;
    }

    body .rbt-header.rbt-header-8 .mainbar-row,
    body .rbt-header.rbt-header-8 .rbt-header-wrapper .mainbar-row {
        padding: 0 14px !important;
    }

    body .tb-soc,
    body .tb-div,
    body .tb-l.d-none,
    body .tb-r .tb-soc.d-none {
        display: none !important;
    }

    body .tb-r {
        width: 100% !important;
        justify-content: flex-end !important;
    }

    body .tb-r > a {
        min-height: 32px !important;
    }

    body .rog-logo-light {
        gap: 9px !important;
    }

    body .rog-eye-wrap {
        width: 36px !important;
        height: 36px !important;
    }

    body .logo-main {
        font-size: 14px !important;
        letter-spacing: 1.6px !important;
    }

    body .logo-sub-txt {
        font-size: 8px !important;
        letter-spacing: 1.4px !important;
        max-width: 205px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body .hamberger .hamberger-button,
    body .hamberger-button.rbt-round-btn {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
    }

    .bc {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 7px !important;
        padding: 13px 18px !important;
        line-height: 1.25 !important;
    }

    .bc a,
    .bc span {
        font-size: 11px !important;
        line-height: 1.25 !important;
        white-space: normal !important;
    }

    .fisi-page-hero,
    .ep-hero,
    .pe-hero,
    .hr-hero,
    .pd-hero,
    .nt-hero,
    .ev-hero,
    .lb-hero,
    .au-hero,
    .ns-hero,
    .og-hero,
    .rq-hero {
        padding: 28px 0 26px !important;
    }

    .fisi-page-hero-title,
    .ep-title,
    .pe-title,
    .hr-title,
    .pd-title,
    .nt-hero-title,
    .ev-hero-title,
    .lb-hero-title,
    .au-hero-title,
    .ns-hero-title,
    .og-hero-title,
    .rq-title {
        font-size: clamp(27px, 8.4vw, 34px) !important;
        line-height: 1.12 !important;
        letter-spacing: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .fisi-page-hero-desc,
    [class$="-hero-desc"],
    [class*="-hero-desc "],
    [class$="-section-sub"],
    [class*="-section-sub "],
    .description,
    p.description {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .amb-a,
    .amb-b,
    .amb-c,
    .pe-amb-r,
    .pe-amb-p,
    .hr-amb-a,
    .hr-amb-b,
    .pd-amb-r,
    .pd-amb-p,
    .pd-amb-g,
    .ft-glow-a,
    .ft-glow-b {
        display: none !important;
    }

    button,
    input,
    select,
    textarea,
    .rbt-btn-link,
    .leer_mas,
    .doc-ver-btn,
    .ft-map-link,
    .hr-cycle-btn,
    .hr-day-btn,
    .nt-year-select,
    .ev-year-select,
    .rq-download-btn,
    .og-download-btn,
    .ep-lineamientos-card,
    .ep-cert-card,
    .rq-tramite-card {
        min-height: 42px !important;
    }

    .rbt-btn-link,
    .leer_mas,
    .doc-ver-btn,
    .ft-map-link,
    .rq-download-btn,
    .og-download-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .ft-main,
    .ft-bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .ft-main > div {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(91, 33, 182, 0.16) !important;
    }

    .ft-main > div:last-child {
        border-bottom: 0 !important;
    }

    .ft-col-brand,
    .ft-col-map,
    .ft-col-social {
        padding: 26px 18px !important;
    }

    .ft-bottom {
        gap: 10px !important;
        padding: 16px 18px !important;
        text-align: center !important;
        justify-items: center !important;
    }

    .fb-left,
    .fb-right,
    .fb-pills {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }

    .modal-dialog,
    .modal-xl,
    .modal-lg {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        margin: 12px auto !important;
    }

    .pd-modal-grid,
    .au-modal-grid,
    body .pd-modal-grid,
    body .au-modal-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .pd-modal-grid > *,
    .au-modal-grid > * {
        min-width: 0 !important;
    }

    .pd-modal-grid img,
    .au-modal-grid img {
        max-width: 100% !important;
        height: auto !important;
    }

    .pd-modal-grid [style*="width:170px"],
    .au-modal-grid [style*="width:170px"] {
        width: min(230px, 76vw) !important;
        height: min(290px, 88vw) !important;
        margin: 0 auto !important;
    }

    .pd-modal-photo,
    #modal_foto_wrap,
    #au_foto_wrap {
        width: min(230px, 76vw) !important;
        height: min(290px, 88vw) !important;
        overflow: hidden !important;
        background: rgba(91, 33, 182, 0.07) !important;
    }

    .pd-modal-photo img,
    #imagen_docente,
    #au_imagen {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: top center !important;
        display: block;
    }

    .pd-modal-left,
    #modal_col_foto,
    #au_col_foto {
        padding: 18px 16px !important;
    }
}

@media (max-width: 575.98px) {
    .container,
    .container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .fisi-page-hero-title,
    .ep-title,
    .pe-title,
    .hr-title,
    .pd-title,
    .nt-hero-title,
    .ev-hero-title,
    .lb-hero-title,
    .au-hero-title,
    .ns-hero-title,
    .og-hero-title,
    .rq-title {
        font-size: clamp(25px, 8vw, 31px) !important;
    }

    .rbt-card,
    .ep-cert-card,
    .rq-tramite-card,
    .au-card,
    .doc-card,
    .hr-class-card {
        clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)) !important;
    }
}

/* Shared media treatment for news, events and achievements. */
.fisi-media-frame {
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    background: transparent !important;
    clip-path: none !important;
}

.fisi-media-frame > .fisi-media-primary {
    position: relative !important;
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(78vh, 760px);
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 0 !important;
    margin: 0 auto;
}

@media (max-width: 767.98px) {
    .fisi-media-frame > .fisi-media-primary {
        max-height: none;
    }
}
