@font-face {
    font-family: 'GOTHAM-BLACK';
    src: url('fonts/GOTHAM-BLACK.TTF');
}
@font-face {
    font-family: 'GOTHAM-BOLD';
    src: url('fonts/gotham-bold.ttf');
}
@font-face {
    font-family: 'CALIBRIB';
    src: url('fonts/CALIBRIB.TTF');
}
@font-face {
    font-family: 'CALIBRIL';
    src: url('fonts/CALIBRIL.TTF');
}

#home {
    position: relative;
    width: 100%;
    height: 100vh;
    max-height: 550px;
    overflow: hidden;
}

video {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.overlay-image {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -50vh;
    z-index: 0;
    max-width: 50%;
}

#contenido {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
}

body a:hover {
    color: #CC0A20!important; 
}

body a.button {
    display: inline-block;
    color: #fff;
    background-color: #CC0A20;
    text-align: left;
    padding: 10px 40px;
    cursor: pointer;
    vertical-align: middle;
    text-decoration: none;
    transition: all .2s linear;
    margin-bottom: 17px;
    border: 2px solid #CC0A20;
    border-radius: 50px;
    font-size: 14px;
    letter-spacing: 2px;
    box-sizing: border-box;
}
#img_banner1 {    
    background-image: url(images/cuadroamarillo.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;  
}
#img_banner1_movil{
    background-image: url(images/cuadromobile.png);
    background-size: 100% 100%;
    background-repeat: no-repeat; 
}
#img_banner4 {    
    background-image: url(images/cuadro-negro.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;  
}
#img_banner7 {    
    background-image: url(images/banner.png);
    background-size: 100%;
    background-repeat: no-repeat;
    height: 350px;
}

.text-ama{
    color:#CC0A20!important;
}

h1, h2, h3, h4, h5, h6{
    font-family: 'GOTHAM-BLACK'!important;
}
p{
    color:#FFFFFF!important;
    font-family: 'CALIBRIL'!important;
}
input {
    font-family: 'GOTHAM-BOLD'!important;
}
ul.main-menu li a {
    font-family: 'CALIBRIL'!important;
}
.button{
    font-family: 'GOTHAM-BOLD'!important;
}
body .sm-clean a:hover, 
body .main-menu.sm-clean .sub-menu li a:hover, 
body .sm-clean li.active a, 
body .sm-clean li.current-page-ancestor > a, 
body .sm-clean li.current_page_ancestor > a, 
body .sm-clean li.current_page_item > a {
    color:#FFFFFF!important;
}
body a.button {
    padding: 5px 20px!important;
    font-size: 19px!important;
}
<style>
/* Elimina espacio blanco inferior del banner */
#banner1,
#banner1_movil {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

#banner1 .section-wrapper,
#banner1_movil .section-wrapper,
#banner1 .content-wrapper,
#banner1_movil .content-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}
</style>
html, body {
  overflow-x: hidden !important;
  width: 100% !important;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .container, .content-wrapper, .row {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* -------------------------
   FIX SOLO PARA MOBILE
-------------------------- */
@media (max-width: 767px) {

    /* El contenedor debe ocupar la pantalla completa */
    #home {
        height: 100vh !important;
        overflow: hidden !important;
        position: relative;
    }

    /* Hacer que el video LLENE toda la pantalla */
    #home video {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 120vw;  /* MÁS ANCHO PARA EVITAR BORDES EN VIDEO VERTICAL */
        height: 100vh;
        object-fit: cover;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    /* Mantener forma.png SIN deformarse */
    #home .overlay-image {
        width: 100%;
        height: auto;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
    }

    /* Contenido móvil más arriba para no tapar elementos */
    #contenido .content-wrapper.d-block.d-md-none {
        position: absolute;
        bottom: 40px;
        left: 20px;
        right: 20px;
        z-index: 3;
    }

    /* Evitar scroll horizontal */
    html, body {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
}

/* Ocultar forma.png solo en mobile */
@media (max-width: 767px) {
    #home .overlay-image {
        display: none !important;
    }
}
@media (max-width: 767px) {

    /* Contenedor ocupa toda la pantalla */
    #contenido {
        display: flex;
        justify-content: center;   /* Centra verticalmente */
        align-items: center;       /* Centra horizontalmente */
        text-align: center;        /* Centra el texto */
        padding: 0 20px;
    }

    /* Ajustar texto mobile */
    #contenido .content-wrapper.d-block.d-md-none {
        width: 100%;
        position: relative;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}
@media (max-width: 767px) {

    /* Centrar textos del banner móvil */
    #banner1_movil h4,
    #banner1_movil p {
        text-align: center !important;
    }

    /* La columna completa también debe centrarse */
    #banner1_movil .col-md-6 {
        text-align: center;
    }

    /* Separar imagen y texto verticalmente */
    #banner1_movil .row {
        flex-direction: column; /* Dejar imagen arriba y texto abajo */
        gap: 20px;
    }
}
@media (max-width: 767px) {

    /* Centrar textos */
    #banner2_movil h4,
    #banner2_movil p {
        text-align: center !important;
    }

    /* Centrar botón */
    #banner2_movil .button-holder {
        text-align: center !important;
    }

    /* Reordenar columnas para que texto quede arriba e imagen abajo */
    #banner2_movil .row {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    /* Ajustar padding del bloque de texto para móvil */
    #banner2_movil #img_banner1_movil > div {
        padding: 20px !important;
    }

    /* Ajustar imagen para que quede centrada */
    #banner2_movil img {
        display: block;
        margin: 0 auto;
        max-width: 85%;
    }
}
<style>
<style>
    /* Elimina cualquier margen/padding heredado */
    #banner8, 
    #banner8 * {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Safari agrega espacio por baseline: forzamos este comportamiento */
    #banner8 img {
        display: block !important;
    }

    /* Resetea comportamiento de Bootstrap */
    #banner8 .row {
        margin: 0 !important;
        padding: 0 !important;
    }

    #banner8 .col-md-4,
    #banner8 .col-md-5,
    #banner8 .col-md-6,
    #banner8 .col-md-7 {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Elimina “leading” extra de Safari */
    #banner8 h1,
    #banner8 p {
        line-height: 1.1 !important;
    }

    /* Safari deja espacio después de strong */
    #banner8 strong {
        line-height: 1 !important;
    }

    /* Elimina espacio fantasma debajo de las filas */
    #banner8 .row:last-child {
        margin-bottom: -4px !important; 
    }

    /* Si aún quedara espacio, esto lo aplasta */
    #banner8 {
        display: block;
        overflow: hidden;
    }
</style>

    #banner8.section,
    #banner8 .content-wrapper,
    #banner8 .row {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Bootstrap le agrega margen inferior a cada columna: lo eliminamos */
    #banner8 .col-md-4,
    #banner8 .col-md-6,
    #banner8 .col-md-7,
    #banner8 .col-md-5 {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Elimina espacio que deja la tipografía y botones */
    #banner8 h1,
    #banner8 p,
    #banner8 .button-holder {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Asegura que el banner quede completamente pegado al siguiente */
    #banner8 {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1;
    }
</style>
@media (max-width: 768px) {
    #banner3_movil {
        background-position: -40px center !important;
    }
}
/* Versión móvil banner 4 */
@media (max-width: 768px) {

    #banner4 .row {
        text-align: center !important;
    }

    #banner4 .col-md-5 {
        text-align: center !important;
    }

    #banner4 #img_banner4 .p-5 {
        padding: 1.5rem !important; /* Reduce padding para mejor equilibrio */
    }

    #banner4 h2.big-text {
        font-size: 32px !important; /* Ajuste perfecto para mobile */
        text-align: center !important;
    }

    #banner4 p {
        text-align: center !important;
    }

    #banner4 .button-holder {
        text-align: center !important; /* Centra el botón */
    }
}

