@import url('https://fonts.googleapis.com/css2?family=Encode+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');


*{ 
	box-sizing: border-box;
	margin:0;
	padding:0;
  font-family: 'Encode Sans', sans-serif;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
  }

body {
	margin: 0;
	font-size: 1rem; /*texto responsive*/	
	overflow: scroll;
	scrollbar-base-color: red;
  }

p{
  font-size: 1rem;
  line-height: 1.5rem;
	font-weight: lighter; /*lighter*/
	font-display: swap;
}


@media screen and (max-width:768px){
  p, label, .card-text{
    font-size: 0.7rem;
    line-height: 1rem;
  }
}

h1,h2,h3,h4,h5,h6{
	color: var(--titleColor);	
	font-display: swap;
} 

h2, h3, h4, h5, h6{
	font-size: 2rem;
  line-height: 2.2rem;
}

@media screen and (max-width:768px){
  h2, h3, h4, h5, h6{
    font-size: 1.5rem;
    line-height: 1.7rem;
  }
}

section{
	overflow: hidden;
}

/*OBJETOS SELECCIONADOS*/

p::selection {
    background: red;
    color: white;
}

h1::selection {
    background: red;
    color: white;
}

strong::selection {
    background: red;
    color: white;
}
br::selection {
    background: red;
    color: white;
}

h2::selection {
    background: red;
    color: white;
}

h3::selection {
    background: red;
    color: white;
}

h4::selection {
    background: red;
    color: white;
}

h5::selection {
    background: red;
    color: white;
}

h6::selection {
    background: red;
    color: white;
}

img::selection {
    background: red;
    color: white;
}

a::selection {
    background: red;
    color: white;
}

b::selection {
    background: red;
    color: white;
}

font::selection{
    background: red;
    color: white;
}

span::selection{
  background: red;
  color: white;
}

		/*seleccionados 2*/

p::-moz-selection {
	background: red;
    color: white;
}

/*SCROLLBAR*/
::-webkit-scrollbar{
    width: 10px;
    background-color: black;
}
::-webkit-scrollbar-track{
	  width: 5px;
    background-color: black;
}
::-webkit-scrollbar-thumb{
background-image: -webkit-gradient(linear, left bottom, left top, from(red));
/*background-image: -webkit-linear-gradient(bottom, darkturquoise 0%, #005c86 100%);
background-image: linear-gradient(to top, darkturquoise 0%, #005c86 100%); */
}

 /*CARRUSEL TÍTULOS*/
 @media screen and (max-width:1024px){
  .h3-responsive{
    display: none;
  }
}


 /*SECCIÓN 1 - INICIO titulos h*/
    .streamor{
      font-weight: 400;
      font-size: 3rem;
    }

    @media screen and (max-width:1024px){
      .streamor{
        font-size: 3rem;
      }
    }

    @media screen and (max-width:768px){
      .streamor{
        font-size: 2rem;
      }
    }

    /*asambleas H1*/
    .streamor1{
      font-weight: 500;
      font-size: 4rem;
    }

    @media screen and (max-width:1024px){
      .streamor1{
        font-size: 3rem;
      }
    }

    @media screen and (max-width:768px){
      .streamor1{
        font-size: 2rem;
      }
    }
   /*asambleas H1*/
 
/*BANNER EVENTO*/
#evento p{
	font-size: 2rem;
  line-height: 2.2rem;
  font-weight: 400;
}

#evento hr{
  width: 6%;
  height: 2px;
  margin-right: 47%;
	margin-left: 47%;
	align-items: center;
	background-color: rgb(0, 0, 0);
}


@media screen and (max-width:768px){
  #evento p{
    font-size: 1.5rem;
    line-height: 1.7rem;
  }
}

/*TÍTULOS*/    

/*título rojo*/
  #title{
    padding-top: 10px;
    text-align: center;
  }

  .rojo{
    width: 4%;
    height: 1px;
    margin-right: 48%;
    margin-left: 48%;
    align-items: center;
    background-color: red;
  }

  .naranja{
    width: 4%;
    height: 1px;
    margin-right: 48%;
    margin-left: 48%;
    align-items: center;
    background-color:rgb(253, 108, 55);
  }

  .amarillo{
    width: 4%;
    height: 1px;
    margin-right: 48%;
    margin-left: 48%;
    align-items: center;
    background-color:orange
  }

  /*Reorganización de imágenes*/
 
/*STREAMING*//*STREAMING*//*STREAMING 1111*/
#streaming-title{
  padding-bottom: 50px;
}

    @media screen and (max-width:768px){
      #streaming-title{
        padding-bottom: 20px;
      }
    }

    /*VIVO*/
    .vivo{
      padding: 20px;
    }

/*PAQUETES STREAMING*/
  #paquete p{
    font-size: 25px;
    line-height: 30px;
  }

  .webb{
    font-size: 25px;
    line-height: 30px;
  }

  /*parallax streaming*/
  .parallax2{
    width: 100%;
    height: 60vh;
    background-image: url('../img/streaming-colombia-6.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    display: flex;
    justify-content: center;
    align-items: center;	
    -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
  }
  
  @media screen and (max-width:1024px){
    .parallax2{
      width: 100%;
      height: 30vh;
    }
  }

/*ASAMBLEAS IMAGEN PRINCIPAL*/

  /*ASAMBLEAS VIRTUALES*/
.parallax{
  width: 100%;
	height: 100vh;
	background-image: url('../img/asambleas\ virtuales.webp');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	display: flex;
	justify-content: center;
	align-items: center;	
	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box;
  	box-sizing: border-box;
}

@media screen and (max-width:768px){
  .parallax{
    height: 50vh;
  }
}

/*countdown*/

/*countdown*/


/*GALERÍA INDEX*/

.gallery {
	display: flex;
	flex-wrap: wrap;
	/* Compensate for excess margin on outer gallery flex items */
	margin: -1rem -1rem;
}

.gallery-item {
	/* Minimum width of 24rem and grow to fit available space */
	flex: 1 0 24rem;
	/* Margin value should be half of grid-gap value as margins on flex items don't collapse */
	margin: -1rem;
	box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4);
  overflow: hidden;
}

.gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
  transition: transform 400ms ease-out;
}

.gallery-image:hover {
	transform: scale(1.15);
}

/*

The following rule will only run if your browser supports CSS grid.

Remove or comment-out the code block below to see how the browser will fall-back to flexbox styling. 

*/

@supports (display: grid) {
	.gallery {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
		grid-gap: 0.5rem; /*espacio entre fotos, por ejemplo 2 rem*/
	}

	.gallery,
	.gallery-item {
		margin: 0;
	}
}

/*WHATSAPP*/
.appWhatsapp{
	position: fixed;
	right: 100px;
	bottom: 100px;
	width: 1000px;
	filter: drop-shadow(5px 5px 10px #000000);
	z-index: 3000;
  }

#appWhatsapp{	
	width: 300%;
}

#appWhatsapp:hover{
	content: url('../img/whatsapp\ 2.webp');
	}


@media (min-width: 767px){
	.appWhatsapp{
		position: fixed;
		right: 60px;
		bottom: 50px;
		width: 60px;
		z-index: 3000;
	  }	  
	  
	#appWhatsapp{
		width: 150%;
	  }
}

@media (min-width: 360px){
	.appWhatsapp{
		position: fixed;
		right: 40px;
		bottom: 50px;
		width: 40px;
		z-index: 3000;
	  }
	  
   	#appWhatsapp{
		width: 150%;
      }
}
  
/*STREAMING*/
.basic,
.basic .but .fa {
  background: linear-gradient(-45deg, #fd5d01, #8d0000);
}

/*pag */

/*streaming prueba 2*/
:root {
  --d: 700ms;
  --e: cubic-bezier(0.19, 1, 0.22, 1);
  --font-sans: 'Rubik', sans-serif;
  --font-serif: 'Cardo', serif;
}
.page-content {
  display: grid;
  grid-gap: 1rem;
  padding: 1rem;
  max-width: 1024px;
  margin: 0 auto;
  font-family: var(--font-sans);
}
@media (min-width: 600px) {
  .page-content {
    grid-template-columns: repeat(2, 1fr);
 }
}
@media (min-width: 800px) {
  .page-content {
    grid-template-columns: repeat(4, 1fr);
 }
}
.cards {
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 1rem;
  width: 100%;
  text-align: center;
  color: whitesmoke;
  background-color: whitesmoke;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1), 0 4px 4px rgba(0, 0, 0, 0.1), 0 8px 8px rgba(0, 0, 0, 0.1), 0 16px 16px rgba(0, 0, 0, 0.1);
}
@media (min-width: 600px) {
  .cards {
    height: 350px;
 }
}
.cards:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 110%;
  background-size: cover;
  background-position: 0 0;
  transition: transform calc(var(--d) * 1.5) var(--e);
  pointer-events: none;
}
.cards:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
  pointer-events: none;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, 
    rgba(0, 0, 0, 0.009) 11.7%, rgba(0, 0, 0, 0.034) 22.1%, rgba(0, 0, 0, 0.072) 31.2%, 
    rgba(0, 0, 0, 0.123) 39.4%, rgba(0, 0, 0, 0.182) 46.6%, rgba(0, 0, 0, 0.249) 53.1%, 
    rgba(0, 0, 0, 0.320) 58.9%, rgba(0, 0, 0, 0.394) 64.3%, rgba(0, 0, 0, 0.468) 69.3%, 
    rgba(0, 0, 0, 0.540) 74.1%, rgba(0, 0, 0, 0.607) 78.8%, rgba(0, 0, 0, 0.668) 83.6%, 
    rgba(0, 0, 0, 0.721) 88.7%, rgba(0, 0, 0, 0.762) 94.1%, rgba(0, 0, 0, 0.790) 100%);
  transform: translateY(-50%);
  transition: transform calc(var(--d) * 2) var(--e);
}
.cards:nth-child(1):before {
  background-image: url('../img/servicios\ de\ streaming\ bogota\ \(2\).webp');
}
.cards:nth-child(2):before {
  background-image: url('../img/servicios\ de\ streaming\ bogota\ \(3\).webp');
}
.cards:nth-child(3):before {
  background-image: url('../img/servicios\ de\ streaming\ bogota\ \(1\).webp');
}
.cards:nth-child(4):before {
  background-image: url('../img/servicios\ de\ streaming\ bogota\ \(4\).webp');
}
.content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 1rem;
  transition: transform var(--d) var(--e);
  z-index: 1;
}
.content > * + * {
  margin-top: 1rem;
}
.title {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.2;
}
.copy {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.35;
}
@media (hover: hover) and (min-width: 600px) {
  .cards:after {
    transform: translateY(0);
 }
  .content {
    transform: translateY(calc(100% - 4.5rem));
 }
  .content > *:not(.title) {
    opacity: 0;
    transform: translateY(1rem);
    transition: transform var(--d) var(--e), opacity var(--d) var(--e);
 }
  .cards:hover, .cards:focus-within {
    align-items: center;
 }
  .cards:hover:before, .cards:focus-within:before {
    transform: translateY(-4%);
 }
  .cards:hover:after, .cards:focus-within:after {
    transform: translateY(-50%);
 }
  .cards:hover .content, .cards:focus-within .content {
    transform: translateY(0);
 }
  .cards:hover .content > *:not(.title), .cards:focus-within .content > *:not(.title) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: calc(var(--d) / 8);
 }
  .cards:focus-within:before, .cards:focus-within:after, .cards:focus-within .content, .cards:focus-within .content > *:not(.title) {
    transition-duration: 0s;
 }
}
/* ==========================================================================
   NUEVOS ESTILOS STREAMING - DIRECCIÓN Y PRODUCCIÓN
   ========================================================================== */

/* Hero Banner Corporativo */
.hero-streaming {
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9)), url('../img/streaming-colombia-1.webp') center center/cover no-repeat fixed;
  min-height: 85vh;
  display: flex;
  align-items: center;
  position: relative;
  padding-top: 5rem;
}

.hero-subtitle {
  color: #fd5d01;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 1rem;
}

/* Tarjetas de Proceso de Trabajo (Los 4 Pasos) */
.step-card {
  background: #ffffff;
  border-left: 5px solid #d32f2f;
  padding: 2rem;
  height: 100%;
  position: relative;
  border-radius: 4px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}

.step-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

.step-number {
  position: absolute;
  top: -10px;
  right: 10px;
  font-size: 5rem;
  font-weight: 900;
  color: #d32f2f;
  opacity: 0.1;
  z-index: 0;
}

.step-card h4, .step-card p {
  position: relative;
  z-index: 1;
}

/* Rejilla de Tecnología (Iconos) */
.tech-box {
  padding: 2rem 1rem;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

.tech-box:hover {
  border: 1px solid #d32f2f;
  background-color: rgba(211, 47, 47, 0.05);
  border-radius: 8px;
}

.tech-icon {
  font-size: 3rem;
  color: #d32f2f;
  margin-bottom: 1rem;
}

/* Prueba social / Logos */
.trusted-by {
  background-color: #f5f5f5;
  padding: 3rem 0;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
/* ==========================================================================
   REDISEÑO STREAMING - ESTRUCTURA CORPORATIVA Y PAQUETES
   ========================================================================== */

/* Hero Section */
.hero-streaming {
  background: linear-gradient(rgba(15, 15, 15, 0.8), rgba(15, 15, 15, 0.95)), url('../img/streaming-colombia-1.webp') center center/cover no-repeat fixed;
  padding: 8rem 0 6rem 0;
  border-bottom: 5px solid red;
}

/* Core Services Grid (Enlaces SEO) */
.core-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 2rem;
}
.service-link-card {
  background: #edf0f4;
  padding: 2rem;
  border-radius: 8px;
  border-left: 4px solid transparent;
  transition: all 0.3s ease;
  text-decoration: none;
  color: #333;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.service-link-card:hover {
  border-left: 4px solid red;
  background: #fff;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  transform: translateY(-5px);
}
.service-link-card h4 {
  font-size: 1.2rem;
  font-weight: bold;
  color: #212121;
}
.service-link-card .arrow-icon {
  align-self: flex-end;
  color: red;
  font-size: 1.5rem;
  transition: transform 0.3s;
}
.service-link-card:hover .arrow-icon {
  transform: translateX(10px);
}

/* Proyectos Recientes y Proceso */
.recent-work-box {
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.process-step {
  border-top: 3px solid red;
  padding-top: 1.5rem;
  background: #fff;
  padding: 2rem;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* =========================================================
 NUEVO DISEÑO DE PAQUETES (INNOVADOR Y VISTOSO)
 ========================================================= */
.pricing-section {
  background-color: #121212;
  padding: 5rem 0;
  color: white;
}
.modern-card {
  background: #1e1e1e;
  border-radius: 15px;
  padding: 3rem 2rem;
  position: relative;
  border: 1px solid #333;
  transition: all 0.4s ease;
  overflow: hidden;
  z-index: 1;
}
.modern-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 5px;
  background: red;
  z-index: 2;
  transition: height 0.4s ease;
  pointer-events: none;
}
.modern-card:hover {
  transform: translateY(-15px);
  border-color: red;
  box-shadow: 0 20px 40px rgba(255, 0, 0, 0.15);
}
.modern-card:hover::before {
  height: 100%;
  opacity: 0.05;
}
.modern-card .title h5 {
  font-size: 2rem;
  letter-spacing: 2px;
  margin-bottom: 1.5rem;
}
/*.modern-card.basic .title h5 { color: #fd5d01; }
.modern-card.standard .title h5 { color: #f3a600; }
.modern-card.premium .title h5 { 
  background: -webkit-linear-gradient(45deg, red, #fd5d01);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2.2rem;
}*/   /*Este afecta el color del paquete premium, el título*/

.modern-card .option ul {
  list-style: none;
  padding: 0;
  margin-bottom: 2rem;
  display: inline-flex;
  flex-direction: column;
  text-align: left;
}
.modern-card .option ul li {
  font-size: 0.95rem;
  margin-bottom: 1rem;
  color: #ccc;
  display: flex;
  align-items: flex-start;
  text-align: left;
}
.modern-card .option ul li i {
  color: red;
  margin-right: 10px;
  margin-top: 4px;
}
.btn-pricing {
  border-radius: 30px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.btn-pricing:hover {
  transform: scale(1.05);
}

/* Accordion FAQs */
.faq-accordion .card {
  border: none;
  border-bottom: 1px solid #e0e0e0;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
}
.faq-accordion .card-header {
  background: #fff;
  padding: 1.5rem 0;
  cursor: pointer;
}
.faq-accordion .card-header h5 {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq-accordion .card-body {
  padding: 1rem 0 2rem 0;
  color: #666;
}
/* ==========================================================================
   CORRECCIONES STREAMING: LIDERAZGO, CCTV, CASOS DE ÉXITO Y MARCAS
   ========================================================================== */

/* Franja de Marcas (Social Proof) */
.trusted-brands-section {
  background-color: #f5f5f5;
  padding: 3rem 0;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
.brand-logo-grid {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.brand-logo-grid img {
  max-height: 50px;
  filter: grayscale(100%) opacity(0.6);
  transition: all 0.3s ease;
}
.brand-logo-grid img:hover {
  filter: grayscale(0%) opacity(1);
}

/* Sección Dirección y CCTV (Oscura y Premium) */
.director-cctv-section {
  background: #111111;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}
.director-cctv-section::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background: #d32f2f;
}
.cctv-feature-list {
  list-style: none;
  padding: 0;
}
.cctv-feature-list li {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: flex-start;
  color: #cccccc;
}
.cctv-feature-list li i {
  color: #d32f2f;
  font-size: 1.5rem;
  margin-right: 15px;
  margin-top: 3px;
}

/* Detrás de Escena - Tarjetas de Portafolio Interactivas */
.case-study-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}
.case-card {
  position: relative;
  height: 350px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #000;
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.case-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease, opacity 0.5s ease;
  opacity: 0.6;
}
.case-card:hover img {
  transform: scale(1.1);
  opacity: 0.3;
}
.case-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0,0,0,0.95), transparent);
  color: white;
  transition: transform 0.4s ease;
  transform: translateY(30%);
}
.case-card:hover .case-content {
  transform: translateY(0);
}
.case-content h4 {
  font-weight: 700;
  font-size: 1.3rem;
  margin-bottom: 10px;
  color: #fff;
}
.case-content p {
  font-size: 0.9rem;
  color: #d1d1d1;
  opacity: 0;
  transition: opacity 0.4s ease 0.1s;
}
.case-card:hover .case-content p {
  opacity: 1;
}
.case-tech-tags {
  margin-top: 15px;
  opacity: 0;
  transition: opacity 0.4s ease 0.2s;
}
.case-card:hover .case-tech-tags {
  opacity: 1;
}
.case-tech-tags span {
  font-size: 0.7rem;
  background: rgba(211, 47, 47, 0.8);
  padding: 4px 10px;
  border-radius: 20px;
  margin-right: 5px;
  display: inline-block;
  font-weight: bold;
}
/* ==========================================================================
   REDISEÑO EXTREMO: HERO CINEMATOGRÁFICO, CASOS DE ÉXITO Y GALERÍA
   ========================================================================== */

/* Hero Cinematográfico (Adiós look WordPress) */
.hero-cinematic {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #000;
}
.hero-bg-image {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: url('../img/streaming-colombia-1.webp') center center/cover no-repeat;
  opacity: 0.6;
  transform: scale(1.1);
  animation: slowZoom 20s infinite alternate linear;
}
@keyframes slowZoom {
  0% { transform: scale(1.1); }
  100% { transform: scale(1.25); }
}
.hero-overlay {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.9) 0%, rgba(211, 47, 47, 0.2) 100%);
}
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  padding: 0 20px;
}
.hero-title {
  font-size: 4.5rem;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -2px;
  line-height: 1;
  margin-bottom: 20px;
  text-shadow: 0px 10px 20px rgba(0,0,0,0.5);
}
.hero-title span {
  color: #d32f2f;
}
.hero-subtitle {
  font-size: 1.5rem;
  font-weight: 300;
  color: #e0e0e0;
  margin-bottom: 40px;
}

/* Casos de Éxito: Reto vs Solución */
.success-case-wrapper {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
  margin-bottom: 4rem;
  transition: transform 0.4s ease;
}
.success-case-wrapper:hover {
  transform: translateY(-10px);
}
.case-image {
  height: 100%;
  min-height: 350px;
  background-size: cover;
  background-position: center;
}
.case-text-box {
  padding: 4rem 3rem;
}
.case-tag {
  display: inline-block;
  background: #111;
  color: #fff;
  padding: 5px 15px;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1.5rem;
  border-radius: 3px;
}
.challenge-box, .solution-box {
  margin-top: 1.5rem;
  padding-left: 1.5rem;
  position: relative;
}
.challenge-box::before {
  content: ''; position: absolute; left: 0; top: 5px; width: 4px; height: 100%; background: #fd5d01;
}
.solution-box::before {
  content: ''; position: absolute; left: 0; top: 5px; width: 4px; height: 100%; background: #d32f2f;
}
.challenge-box h5, .solution-box h5 {
  font-weight: 700;
  font-size: 1.1rem;
  color: #111;
}

/* Galería Detrás de Escena (Masonry) */
.behind-scenes-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-auto-rows: 250px;
  gap: 15px;
  padding: 15px;
}
.gallery-img-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
  position: relative;
}
.gallery-img-wrap:nth-child(2n) {
  grid-row: span 2; /* Crea imágenes más altas para el efecto asimétrico */
}
.gallery-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.gallery-img-wrap:hover img {
  transform: scale(1.1);
}
.gallery-overlay {
  position: absolute;
  bottom: 0; left: 0; width: 100%;
  padding: 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
  color: #fff;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.gallery-img-wrap:hover .gallery-overlay {
  opacity: 1;
}

/* Secciones Tecnológicas (Subtítulos e Internet) */
.tech-glass-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 3rem;
  border-radius: 15px;
  height: 100%;
  transition: all 0.3s ease;
}
.tech-glass-card:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-5px);
}
/* ==========================================================================
   NUEVAS SECCIONES: HERO ANIMADO, TECNOLOGÍA Y CASOS DE ÉXITO
   ========================================================================== */

/* Hero Cinematográfico con Carrusel de Fondo */
.hero-cinematic {
  position: relative;
  height: 90vh; /* Ajustable a tu gusto */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #000;
}
.hero-bg-carousel {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  z-index: 0;
}
.hero-bg-carousel .carousel-item {
  height: 90vh;
}
.hero-bg-carousel img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  opacity: 0.5; /* Oscurece la imagen para que resalte el texto */
}
.hero-overlay {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.8) 0%, rgba(211, 47, 47, 0.2) 100%);
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px;
}
.hero-title {
  font-size: 4rem;
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 0px 5px 15px rgba(0,0,0,0.7);
}

/* Carrusel de Casos de Éxito */
.case-carousel-img {
  height: 400px;
  object-fit: cover;
  width: 100%;
}
.carousel-control-prev-icon.dark-icon,
.carousel-control-next-icon.dark-icon {
  filter: invert(100%); /* Hace las flechas oscuras para fondo blanco */
}
.case-badge {
  background: #d32f2f;
  color: white;
  padding: 5px 15px;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 3px;
  display: inline-block;
}

/* Tarjetas Tecnología */
.tech-card {
  border-left: 4px solid #d32f2f;
  background: #f8f9fa;
  transition: transform 0.3s ease;
}
.tech-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
/* ==========================================================================
   NUEVAS SECCIONES: HERO ANIMADO, TECNOLOGÍA Y CASOS DE ÉXITO
   ========================================================================== */

/* Hero Cinematográfico con Carrusel de Fondo */
.hero-cinematic {
  position: relative;
  height: 90vh; /* Ajustable a tu gusto */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #000;
}
.hero-bg-carousel {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  z-index: 0;
}
.hero-bg-carousel .carousel-item {
  height: 90vh;
}
.hero-bg-carousel img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  opacity: 0.5; /* Oscurece la imagen para que resalte el texto */
}
.hero-overlay {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.8) 0%, rgba(211, 47, 47, 0.2) 100%);
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px;
}
.hero-title {
  font-size: 4rem;
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 0px 5px 15px rgba(0,0,0,0.7);
}

/* Carrusel de Casos de Éxito */
.case-carousel-img {
  height: 400px;
  object-fit: cover;
  width: 100%;
}
.carousel-control-prev-icon.dark-icon,
.carousel-control-next-icon.dark-icon {
  filter: invert(100%); /* Hace las flechas oscuras para fondo blanco */
}
.case-badge {
  background: #d32f2f;
  color: white;
  padding: 5px 15px;
  font-size: 0.8rem;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 3px;
  display: inline-block;
}

/* Tarjetas Tecnología */
.tech-card {
  border-left: 4px solid #d32f2f;
  background: #f8f9fa;
  transition: transform 0.3s ease;
}
.tech-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}