/* FVB OPEN LAYOUT INTEGRAL V1
   2026-08-19
   Compactación editorial + ancho útil + roles en fila + hero limpio.
*/

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

/* En la página principal el header global ya contiene el logo.
   En embed sí conservamos la marca dentro del hero. */
body:not(.embed-mode) .open-hero .hero-logo{
    display:none !important;
}

.open-hero .hero-card{
    display:none !important;
}

@media (min-width:1100px){
    .open-hero{
        min-height:0 !important;
        padding-top:clamp(38px,4vw,66px) !important;
        padding-bottom:clamp(34px,4vw,64px) !important;
        align-items:center !important;
    }

    .open-hero .hero-art{
        transform:translateY(-44px) !important;
    }
}

@media (min-width:1180px){
    .open-hero .hero-role-actions{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:12px !important;
    }

    .open-hero .role-cta{
        min-width:0 !important;
        width:100% !important;
    }

    .open-hero .role-cta small{
        white-space:normal !important;
    }
}

/* ---------------------------------------------------------
   RITMO GENERAL
   --------------------------------------------------------- */

.open-section{
    padding-top:clamp(52px,5vw,82px) !important;
    padding-bottom:clamp(52px,5vw,82px) !important;
}

.open-section + .open-section{
    margin-top:0 !important;
}

.open-section .section-heading{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    width:100% !important;
    margin-bottom:clamp(28px,3vw,46px) !important;
}

.open-section .section-heading > .kicker{
    width:100% !important;
    max-width:none !important;
    margin:0 0 clamp(12px,1.3vw,20px) !important;
}

.open-section .section-heading > div{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
}

.open-section .section-heading h2{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    font-size:clamp(48px,4.05vw,78px) !important;
    line-height:.91 !important;
    text-wrap:balance;
}

.open-section .section-heading h2 br{
    display:none !important;
}

.open-section .section-heading h2 span{
    display:inline !important;
    margin-left:.14em !important;
}

.open-section .section-heading > div > p{
    max-width:1180px !important;
    margin-top:clamp(16px,1.7vw,24px) !important;
}

/* El kicker deja de vivir en una columna lateral vacía. */
.open-section .kicker{
    align-self:auto !important;
}

/* ---------------------------------------------------------
   GRIDS
   --------------------------------------------------------- */

@media (min-width:1180px){
    .access-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        align-items:stretch !important;
        gap:18px !important;
    }

    .access-grid > .access-card{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
    }
}

/* Las rejillas que ya trabajan a 3 columnas se conservan,
   pero reducimos huecos verticales innecesarios. */
.steps-grid,
.path-grid,
.after-grid{
    margin-top:0 !important;
}

/* ---------------------------------------------------------
   BANDAS / CIERRE
   --------------------------------------------------------- */

.login-band{
    margin-top:0 !important;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width:1179.98px){
    .open-hero .hero-art{
        transform:none !important;
    }
}

@media (max-width:900px){
    .open-section{
        padding-top:46px !important;
        padding-bottom:46px !important;
    }

    .open-section .section-heading h2{
        font-size:clamp(40px,9vw,62px) !important;
        line-height:.93 !important;
    }

    .open-section .section-heading h2 br{
        display:block !important;
    }

    .open-section .section-heading h2 span{
        display:block !important;
        margin-left:0 !important;
    }
}