/*
Theme Name: Metamorfosis Corporativa
Theme URI: https://rweb.dev
Author: rweb
Author URI: https://rweb.dev
Description: The Theme has been created for Metamorfosis Corporativa. It's fully customized for its purposes.
Requires at least: 6.1
Tested up to: 6.2
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: mc-devs
Tags: one-column, custom-menu, custom-logo, featured-images, translation-ready
*/


/* ================================
   Fuentes Personalizadas
   ================================ */

/* Locke Font (.otf) */
@font-face {
  font-family: 'Locke';
  src: url('fonts/Locke.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Kefa Font (.ttc) */
@font-face {
  font-family: 'Kefa';
  src: url('fonts/Kefa.ttc') format('truetype-collection');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Kumbh Sans Font (.ttf) */
@font-face {
  font-family: 'Kumbh Sans';
  src: url('fonts/KumbhSans-VariableFont_YOPQ,wght.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
}


/* ================================
   Normalize
   ================================ */

/* Document */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections */

body {
  margin: 0;
}

main {
  display: block;
}

/* Grouping content */

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics */

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */

img {
  border-style: none;
}

/* Forms */

*:focus {
  outline: 0 !important;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive */

details {
  display: block;
}

summary {
  display: list-item;
}

/* Misc */

template {
  display: none;
}

[hidden] {
  display: none;
}

/* Table */

table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  padding: 0.5rem;
  text-align: left;
  border: 1px solid #dddddd;
}


/********** THEME GENERAL STYLES **********/

/* General */

:root {
  --lvm-blue: #1d8ac6;
  --lvm-purple: #3a0e52;
  --lvm-fuchsia: #8e298f;
}

*,
::after,
::before {
  box-sizing: border-box;
}

.clearfix {
  clear: both;
}

body {
  font-family: 'Kefa', sans-serif;
  font: normal, 21px/2.1rem, 'Kefa', sans-serif;
  background-color: #17171c;
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1rem;
  font-family: inherit;
  line-height: 1.2;
  color: inherit;
}

p {
  margin: 0 0 1rem;
  font-family: 'Kumbh Sans', sans-serif;
}

/* Listas */
ul,
ol {
  margin: 0 0 1rem 1.5rem;
  padding: 0;
}

li {
  margin-bottom: 0.5rem;
}

a {
  color: #fff;
  text-decoration: none;
  font-weight: 200;
  -moz-transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
  transition: all .3s ease-in;
}

a:hover,
a:focus {
  text-decoration: none;
}

.link-underline {
  text-decoration: underline;
}

.link-underline:hover {
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.rweb {
  color: var(--lvm-fuchsia);
  font-weight: 600;
}

/* Containers */

.container-title {
  border-bottom: 0.5px solid var(--lvmgrey);
}

.container-title h1 {
  margin: 0;
}

.pages-subtitle {
  margin: 20px 0 0;
}

@media (max-width: 912px)
/* Small devices */
  {

  .container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .container-title {
    padding: 50px 20px;
    text-align: center;
  }

  .container-section {
    padding-top: 80px;
  }

  h1 {
    font-size: 32px;
    line-height: 1.2;
  }

  h2 {
    font-size: 24px;
    line-height: 1.2;
  }

  h3 {
    font-size: 22px;
    line-height: 1.2;
  }

  .empty {
    display: none;
  }

  .container-mx {
    margin-left: 20px;
    padding-right: 20px;
    padding-bottom: 80px;
    border-bottom: 0.5px solid var(--lvmgrey);
  }
}

@media (min-width: 913px)
/* Large devices */
  {
  .container {
    padding-right: 100px;
    padding-left: 100px;
  }

  .container-title {
    padding: 50px;
  }

  .container-section {
    padding-top: 80px;
  }

  .container-mx {
    margin-left: 100px;
    padding-right: 100px;
    padding-bottom: 80px;
    border-bottom: 0.5px solid var(--lvmgrey);
  }
}


/* ================================
   Capas de Fondo y Three.js
   ================================ */

/* Fondo Imagen fijo */
#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../../uploads/2025/10/abstract-background.jpeg') no-repeat center center;
  background-size: cover;
  z-index: 0;
}

/* Contenedor Three.js */
#three-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Lienzo de Three.js sobre todo el viewport */
#three-container canvas {
  width: 100%;
  height: 100%;
  pointer-events: none;
  /* Para no bloquear eventos del contenido */
}


/* ================================
   Contenido Principal
   ================================ */

.content {
  position: relative;
  z-index: 2;
  padding: 1px 0 0;
  color: #ffffff;
  background-color: rgba(16, 2, 33, 0.85);
  min-height: 100vh;
}

.mobile-only {
  display: none;
}

/* ================================
   Header (Encabezado)
   ================================ */

.header-lvm {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: -webkit-fill-available;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.137);
  background-color: transparent;
  /* por defecto sin fondo */
  transition: background-color .22s ease;
  /* suaviza el cambio */
}

.header-lvm:hover,
.header-lvm:focus-within {
  background-color: rgba(0, 0, 0, 0.8);
}

.header-lvm .logo-lvm {
  width: 50%;
  padding: 20px 50px;
}

.header-lvm .logo-lvm img {
  width: 14%;
  height: auto;
}

.header-lvm .menu-btn {
  width: 50%;
  padding: 20px 50px;
  text-align: right;
}

.header-lvm .menu-btn a {
  font-size: 20px;
  margin-left: 50px;
  color: #ffffff;
}

/* ================================
   Fullscreen Menu
   ================================ */

/* === Fullscreen overlay === */
.fullmenu {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  /* hasta que esté visible */
}

/* La "capa" que se desliza desde la derecha ocupando toda la pantalla */
.fullmenu__panel {
  position: absolute;
  inset: 0;
  background: #000;
  /* fondo negro */
  transform: translateX(100%);
  /* oculta fuera a la derecha */
  transition: transform 480ms cubic-bezier(.2, .9, .2, 1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6vw 8vw;
  box-sizing: border-box;
  pointer-events: auto;
  overflow: hidden;
}

/* cuando la capa se vuelve visible */
.fullmenu.visible .fullmenu__panel {
  transform: translateX(0);
}

/* Layout dentro del panel */
.fullmenu__panel .menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 55%;
  max-width: 900px;
  margin-top: auto;
}

.fullmenu__panel .menu-side {
  width: 35%;
  color: #fff;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: auto;
}

.fullmenu__panel .menu-side .side-links,
.fullmenu__panel .menu-side .side-links .link-blog {
  margin-bottom: 60px;
}

.fullmenu__panel .menu-side .side-links .link-language,
.fullmenu__panel .menu-side .side-links .link-mail,
.fullmenu__panel .menu-side .side-links .link-phone {
  margin: 0;
}

/* Links menu: letras grandes, espacio vertical */
.menu-list li {
  opacity: 0;
  transform: translateX(30px);
  margin: 1.4rem 0 0;
  font-size: clamp(34px, 6vw, 50px);
  line-height: 1;
}

/* estilo del link interno */
.menu-list li a {
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  display: inline-block;
}

.menu-list li a:hover {
  text-decoration: underline;
}

/* animación entrante (aplica cuando .open) */
@keyframes itemIn {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* escalado por variable --i */
.fullmenu.open .menu-list li {
  animation-name: itemIn;
  animation-duration: 420ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.2, .9, .2, 1);
  animation-delay: calc(0.08s * var(--i) + 0.05s);
  /* staggers */
}

/* Side texts / icons - hidden inicialmente */
.menu-side .side-text,
.menu-side .side-icons {
  opacity: 0;
  transform: translateX(20px);
}

/* animación para side: empezará después del último item por delay */
@keyframes sideIn {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* cuando menu está open: mostrar side con retraso mayor */
.fullmenu.open .menu-side .side-text {
  animation: sideIn 420ms cubic-bezier(.2, .9, .2, 1) forwards;
  animation-delay: calc(0.08s * var(--count) + 0.25s);
  /* after items */
}

.fullmenu.open .menu-side .side-icons {
  animation: sideIn 420ms cubic-bezier(.2, .9, .2, 1) forwards;
  animation-delay: calc(0.08s * var(--count) + 0.35s);
}

/* estilo icons */
.side-icons {
  display: flex;
  gap: .6rem;
}

.side-icons .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(90deg, #1d8bc6 0%, #8d298f 100%);
  color: #000;
  text-decoration: none;
  font-weight: 700;
}

/* BOTÓN cerrar */
.fullmenu__close {
  position: absolute;
  top: 40px;
  right: 60px;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .06);
  width: 44px;
  height: 44px;
  border-radius: 8px;
  cursor: pointer;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease;
}

/* Mostrar el botón sólo cuando el panel está visible */
.fullmenu.visible .fullmenu__close,
.fullmenu.open .fullmenu__close {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Asegurar que el overlay no reciba clicks cuando está cerrado */
.fullmenu {
  pointer-events: none;
}

.fullmenu.visible {
  pointer-events: auto;
}


/* transiciones de salida: invertimos animaciones
   Al cerrar gestionamos mediante clases desde JS (closing) */
@keyframes itemOut {
  from {
    opacity: 1;
    transform: translateX(0);
  }

  to {
    opacity: 0;
    transform: translateX(20px);
  }
}

.fullmenu.closing .menu-list li {
  animation-name: itemOut;
  animation-duration: 260ms;
  animation-fill-mode: forwards;
  animation-delay: calc(0.04s * (var(--count) - var(--i)));
}

/* cerrar side rápidamente */
.fullmenu.closing .menu-side .side-text,
.fullmenu.closing .menu-side .side-icons {
  animation-name: itemOut;
  animation-duration: 220ms;
  animation-fill-mode: forwards;
  animation-delay: 0s;
}

/* Bloqueo de scroll cuando está abierto */
body.menu-open {
  overflow: hidden;
}

/* RESPONSIVE: ajustes */
@media (max-width: 900px) {
  .fullmenu__panel {
    padding: 6vw 6vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }

  .menu-list {
    width: 100%;
  }

  .menu-side {
    width: 100%;
    text-align: left;
    align-items: flex-start;
  }

  .fullmenu__close {
    right: 12px;
    top: 12px;
  }
}

/* ================================
   Footer (Pie de Página)
   ================================ */

.footer-lvm {
  position: relative;
  background-color: rgba(16, 2, 33, 0.85);


  border-top: 1px solid rgba(255, 255, 255, 0.137);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 50px;
  z-index: 5;
}

.footer-lvm .footer-caption {
  width: 50%;
  font-size: 12px;
}

.footer-lvm .footer-caption p {
  margin: 0;
}

.footer-lvm .footer-links {
  width: 50%;
  font-size: 12px;
  text-align: right;
}

.footer-lvm .footer-links a {
  margin-left: 30px;
  color: #ffffff;
  text-decoration: none;
}

.footer-lvm .footer-links a:hover,
.footer-lvm .footer-links a:focus {
  text-decoration: underline;
}


/* ================================
   Home Cover (Sección Principal)
   ================================ */

.home-cover {
  text-align: center;
}

.home-cover h1 {
  font-size: 52px;
  margin-bottom: 20px;
}

.home-cover h1 span {
  font-size: 90px;
  text-transform: uppercase;
  display: inline-block;
}

.home-cover p {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  margin: 0 0 8px;
}


/* ================================
   Utilidades y Colores Secundarios
   ================================ */

/* Ejemplo de color de acento (fucsia-lvm) */
/*
.fucsia-lvm {
  background-color: #1d8ac6;
  color: #000000;
  padding: 5px 0;
  text-align: center;
  display: inline-block;
}*/

/* ================================
   Clases de Ayuda (Opcional)
   ================================ */

/* Centrado vertical y horizontal flex */
.align-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Contenedor de ancho máximo */
.container {
  width: 100%;
  margin: 0 auto;
}

/* Sección con padding vertical */
.container-section {
  padding: 60px 20px;
}

/* Texto oculto para accesibilidad */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ================================
   Ajustes Responsivos Básicos
   ================================ */

/* Ejemplo sencillo de texto y tamaños para móviles */
@media (max-width: 768px) {

  .footer-lvm {
    flex-direction: column;
    text-align: center;
  }

  .footer-lvm .footer-caption,
  .footer-lvm .footer-links {
    width: 100%;
    margin: 5px 0;
  }

  .home-cover h1 {
    font-size: 42px;
  }

  .home-cover h1 span {
    font-size: 60px;
  }

  .home-cover p {
    font-size: 16px;
  }
}








.lvm-blue {
  color: #1d8ac6;
  font-weight: bold;
}

.lvm-purpura {
  color: #3a0e52;
  font-weight: bold;
}

.lvm-fucsia {
  color: #8e298f;
  font-weight: bold;
}





/* =========================
   1) GRID BASE
   ========================= */
.dynamic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  padding: 40px;
}

/* Cada item ocupa su celda y empieza “oculto” */
.grid-item {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 0.6s ease-out,
    transform 0.6s ease-out;
}

/* El <img> ocupa el 100% y se adapta */
.grid-item img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================
   2) ANIMACIONES POR DEFECTO
   ========================= */
/* 2.1) Fade-in normal */
.grid-item[data-animation="fade"] {
  transform: translateY(30px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.grid-item[data-animation="fade"].active {
  opacity: 1;
  transform: translateY(0);
}

/* 2.2) Slide desde la izquierda */
.grid-item[data-animation="slide-left"] {
  transform: translateX(-60px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.grid-item[data-animation="slide-left"].active {
  opacity: 1;
  transform: translateX(0);
}

/* 2.3) Slide desde la derecha */
.grid-item[data-animation="slide-right"] {
  transform: translateX(60px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.grid-item[data-animation="slide-right"].active {
  opacity: 1;
  transform: translateX(0);
}

/* 2.4) Zoom (entrar haciendo escala) */
.grid-item[data-animation="zoom"] {
  transform: scale(0.8);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.grid-item[data-animation="zoom"].active {
  opacity: 1;
  transform: scale(1);
}

/* 2.5) Rotación + fade */
.grid-item[data-animation="rotate"] {
  transform: rotate(-15deg) scale(0.8);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.grid-item[data-animation="rotate"].active {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}


/* =========================
   3) OPCIONAL: CUANDO TIENE MÁRGENES INTERNOS
   ========================= */
/* Ajusta márgenes/padding para que no “pegue” al borde */
.dynamic-grid {
  margin: 0 auto;
  max-width: 1200px;
}










































/* TEST BG HERO */

.video-container-pc,
.video-container-mobile {
  position: relative;
  width: 100%;
  height: 100vh;
  /* Hace que el contenedor ocupe toda la altura de la ventana */
  background-color: #000;
  /* Fondo negro si el video no carga */
  overflow: hidden;
  /* Evita que el video se desborde */
}

.video-container-mobile {
  display: none;
}

.video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* El video ocupa todo el ancho del contenedor */
  height: 100%;
  /* El video ocupa toda la altura del contenedor */
  object-fit: cover;
  /* El video cubre el contenedor sin distorsionarse */
  z-index: 1;
  /* El video queda detrás del contenido */
  background-color: #000;
}


.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 5px solid #ffffff6c;
  border-top: 5px solid var(--lvm-purple);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 2s linear infinite;
  display: none;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@media (max-width: 912px) {

  .video-container-pc {
    display: none;
  }

  .video-container-mobile {
    display: flex;
  }

}




















/* Contenedor principal de la sección */
.main-section {
  margin: 220px 0;
}

.main-content {
  padding: 0 200px;
}

.mc-left {
  width: 50%;
  text-align: right;
}

.mc-right {
  width: 50%;
  text-align: left;
  margin-left: auto;
}

.main-content h1 {
  font-size: 54px;
  font-weight: normal;
  margin-bottom: 80px;
}

.main-content h2 {
  font-size: 24px;
  margin-bottom: 40px;
}

.main-content h1 span {
  font-weight: bold;
  display: block;
}

.main-content p {
  font-size: 18px;
  margin-top: 20px;
}

.main-content .mc-right a {
  display: block;
  font-size: 20px;
  margin: 40px 0;
  text-decoration: underline;
}














.interactive-section {
  color: #fff;
  margin: 220px 0;
}

.content-list h2 {
  margin-left: 52px;
  text-transform: uppercase;
  margin-bottom: 80px;
  font-size: 48px;
  text-align: left;
}

.content-list h2 .sub {
  margin-left: 0;
  text-transform: uppercase;
  margin-bottom: 60px;
  font-size: 24px;
  text-align: left;
  line-height: 1.4;
  display: block;
  margin-top: 20px;
}

.interactive-section .container {
  display: flex;
  justify-content: space-around;
  padding: 0 160px;
  gap: 100px;
}

/* Columna izquierda */

.content-list {
  width: 55%;
}

.item-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list h3 {
  cursor: pointer;
  font-size: 24px;
  transition: color .3s;
  width: max-content;
  margin-top: 60px;
  margin-bottom: 10px;
  font-weight: 400;
  display: inline;
}

.item-list h3 span {
  font-size: 20px;
  margin-right: 20px;
}

.item-list p {
  font-size: 18px;
  margin: 0 0 60px 52px;
}

.cta-interactive {
  margin-top: 80px;
  margin-left: 52px;
  display: block;
  text-decoration: underline;
  color: #1d8ac6;
  font-size: 24px;
}

/* Columna derecha */
.content-display {
  width: 45%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: right;
}

.media-container img,
.media-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .3s ease;
}

/* Item list hover/active color */
.item-list h3.active,
.item-list h3:hover {
  color: #8e298f;
}

/* Para resetear el color cuando no está activo */
.item-list h3 {
  color: inherit;
  transition: color .3s ease;
}





/* Elemento dinámico (imagen o vídeo) */
#dynamic-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(20px);
}

/* Estado de entrada (fade in from below) */
.fade-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Estado de salida (fade out to above) */
.fade-out {
  opacity: 0 !important;
  transform: translateY(-20px) !important;
}

/* Descripción */
#dynamic-desc {
  margin-top: 20px;
  font-size: 18px;
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(20px);
}

/* mostrar descripción */
.desc-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}






.interactive-section .media-container {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  position: sticky;
  top: 150px;
}

/* Ambos hijos ocupan todo */
.interactive-section #dynamic-img,
.interactive-section #dynamic-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0% 50%;
}

/* Descripción */
.interactive-section #dynamic-desc {
  font-size: 16px;
  position: absolute;
  bottom: 0;
  width: 65%;
  right: 0;
  padding: 20px;
}










































/* La sección NO debe ocultar el overflow vertical */
.stack-section {
  position: relative;
  width: 100%;
  /* NO overflow: hidden; */
}

/* Wrapper con altura suficiente para scroll */
.stack-wrapper {
  position: relative;
  height: 500vh;
  /* 3 imágenes × 100vh */
}

/* Cada item se pega al top mientras está en pantalla */
.stack-item {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  background-color: #000;
}

/* Aseguramos el orden de apilado para que el siguiente tape al anterior */
.stack-item:nth-child(1) {
  z-index: 1;
}

.stack-item:nth-child(2) {
  z-index: 2;
}

.stack-item:nth-child(3) {
  z-index: 3;
}

.stack-item:nth-child(4) {
  z-index: 4;
}

.stack-item:nth-child(5) {
  z-index: 5;
}

/* Imágenes ocupan todo el contenedor */
.stack-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* El texto centrado encima de la imagen */
.stack-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  /* Blanco, o el color que prefieras */
  text-align: center;
  z-index: 10;
  /* superior a las imágenes */
  /* para no interferir con el scroll */
  /* Puedes añadir sombra para legibilidad: */
  background: linear-gradient(90deg, #1d8bc69a 0%, #8d298f98 100%);
  padding: 50px;
  border-radius: 10px;
}

.stack-text h2 {
  font-size: 42px;
  margin-bottom: 40px;
}

.stack-text p {
  font-size: 20px;
  margin-bottom: 0;
}

.stack-text a {
  font-size: 20px;
  text-decoration: underline;
  display: block;
  width: max-content;
  margin: 40px auto 0;
}

.stack-text .span-stack {
  font-size: 28px;
  font-family: 'Kefa', sans-serif;
}

.stack-text .span-stack-title {
  display: block;
}






.background-podemos-section {
  padding: 220px 210px;
  margin: 220px 0 0;
  min-height: 100vh;
  background-color: #000;
}

.podemos-left {
  width: 50%;
  text-align: right;
}

.podemos-right {
  width: 50%;
  margin-left: auto;
  display: flex;
  gap: 50px;
}

.background-podemos-section h2 {
  font-size: 64px;
  margin-bottom: 80px;
}

.background-podemos-section h2 span {
  font-size: 28px;
}

.cta-podemos {
  color: #1d8ac6;
  font-size: 20px;
  margin-top: 60px;
  display: block;
  text-decoration: underline;
}












.metodo-section {
  padding: 0 210px;
  margin: 220px 0;
}

.metodo-section h2 {
  font-size: 48px;
  width: 50%;
  margin-bottom: 60px;
}

.metodo-section h2 span {
  font-size: 28px;
}

.metodo-row {
  display: flex;
  background-color: #00000060;
  margin-bottom: 5px;
  gap: 100px;
  border-radius: 10px;
}

.metodo-row span {
  width: 10%;
  padding: 20px;
}

.metodo-row h3 {
  width: 45%;
  padding: 20px;
}

.metodo-row p {
  width: 45%;
  padding: 20px;
}










.testimonios-section {
  padding: 0 210px;
  margin: 220px 0;
}

.testimonios-section h2 {
  font-size: 48px;
  width: 50%;
  margin-bottom: 60px;
}

.testimonios-section h2 span {
  font-size: 28px;
}

.testimonios-section p {
  font-size: 20px;
  width: 50%;
}

.testimonios-row {
  display: flex;
  gap: 20px;
  margin-top: 60px;
}

.testimonio-card {
  flex: 1;
  background-color: #00000060;
  border-radius: 10px;
  padding: 50px;
}

.testimonios-card-empty {
  background-color: #00000000;
}

.testimonio-card h3 {
  color: #8e298f;
  font-size: 24px;
}

.testimonio-card h3 span {
  font-size: 18px;
  color: #fff;
  display: block;
  margin-top: 20px;
}

.testimonio-card blockquote {
  margin: 0;
  margin-top: 40px;
  font-family: 'Kumbh Sans';
  font-weight: 400;
}

.logo-section-sliders {
  margin: 60px 0;
}

.logo-section-sliders .slick-slide {
  margin: 0 40px;
}

.logo-section-sliders .slick-slide img {
  border-radius: 10px;
}















.nosotros-section {
  background-color: #000;
  margin: 220px 0;
  padding: 220px;
}

.nosotros-right {
  width: 50%;
  margin-left: auto;
  margin-bottom: 80px;
}

.nosotros-left {
  width: 50%;
  text-align: right;
}

.nosotros-section h2 {
  font-size: 48px;
}

.nosotros-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.nosotros-video {
  aspect-ratio: 1/1;
  width: 60%;
  margin-left: auto;
  margin-bottom: 80px;
}

.nosotros-video video {
  border-radius: 50% 0%;
}

.nosotros-right-video {
  margin-bottom: 0!important;
  margin-top: 80px;
}



















/* Contenedor principal de la sección */
.why-section {
  padding: 0 210px;
  margin: 220px 0 0;
}

.why-right {
  width: 50%;
  margin-left: auto;
}

.why-right-row {
  display: flex;
  gap: 60px;
}

.why-row-item {
  width: 50%;
}

.why-row-item:last-child {
  margin-top: 120px;
}

.why-left {
  width: 50%;
  text-align: right;
  margin-bottom: 120px;
}

.why-section h2 {
  font-size: 48px;
  margin-bottom: 80px;
}

.why-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

























.cta-section {
  height: 90vh;
  width: 100%;
  position: relative;
}

/* El texto centrado encima de la imagen */
.cta-section-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  /* Blanco, o el color que prefieras */
  text-align: center;
  z-index: 10;
  /* superior a las imágenes */
  /* para no interferir con el scroll */
  /* Puedes añadir sombra para legibilidad: */
}

.cta-first {
  font-size: 48px;
  font-family: 'Kefa', sans-serif;
  line-height: 1;
  margin-bottom: 40px;
}

.cta-last {
  font-size: 28px;
  font-family: 'Kefa', sans-serif;
  margin-bottom: 40px;
}

.cta-section-text a {
  font-size: 20px;
  background: linear-gradient(45deg, #1d8bc6 0%, #8d298f 100%);
  padding: 20px 40px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 20px;
}







/* GRADIENT TEXT */

.gradient-skyblue,
a.is-current {
  background: linear-gradient(90deg,
      #8e298f 0%,
      #1d8bc6 50%,
      #8e298f 100%
      /* repetir color inicial al final para suavizar */
    );
}

.gradient-purple {
  background: linear-gradient(90deg,
      #1d8bc6 0%,
      #8e298f 50%,
      #1d8bc6 100%
      /* repetir color inicial al final para suavizar */
    );
}

.gradient-animated,
a.is-current {
  background-size: 200% 100%;
  /* espacio extra para desplazar */
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: moveGradient 6s linear infinite;
  /* linear para movimiento constante */
}

.gradient-animated .no-gradient {
  /* quita el recorte de fondo al texto y restaura color */
  -webkit-text-fill-color: initial;
  /* para WebKit */
  color: #ffffff;
  /* el color que prefieras */
  background: none;
  -webkit-background-clip: border-box;
  /* o initial */
  background-clip: border-box;
  animation: none;
  /* si no quieres animación aquí */
  font-weight: normal;
}

/* animación va y vuelve para evitar salto brusco */
@keyframes moveGradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }

  /* vuelve suavemente al inicio */
}

/* Respeta preferencia de reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  .gradient-animated {
    animation: none;
  }
}

.p-gradient {
  font-family: 'Kefa', sans-serif;
  font-size: 22px;
  display: block;
  line-height: 1.2;
}





/* GRADIENT FONDO */

:root {
  --g1: #1d8bc6;
  --g2: #8e298f;
  --speed: 5s;
}

.btn-gradient-layered {
  position: relative;
  color: #fff;
  font-weight: 600;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  z-index: 0;
}

/* capa del gradiente */
.btn-gradient-layered::before {
  content: "";
  position: absolute;
  inset: 0;
  /* ocupa todo el botón */
  z-index: -1;
  background: linear-gradient(90deg, var(--g1) 0%, var(--g2) 50%, var(--g1) 100%);
  background-size: 200% 100%;
  transition: transform .2s ease;
  border-radius: inherit;
  animation: layerMove var(--speed) linear infinite;
}

/* keyframes van y vuelven para suavizar */
@keyframes layerMove {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  .btn-gradient-layered::before {
    animation: none;
  }
}












.nosotros-right {
  width: 50%;
  margin-left: auto;
  margin-bottom: 80px;
}

.nosotros-left {
  width: 50%;
  text-align: right;
}

.nosotros-section h2 {
  font-size: 48px;
}

.nosotros-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}




/******* MÉTODO ACTORAL *******/


.main-section-metodo {
  margin: 220px 0;
}

.main-content-metodo {
  padding: 0 210px;
  display: flex;
}

.mc-metodo-left {
  width: 50%;
  text-align: right;
}

.mc-metodo-right {
  width: 50%;
}

.main-content-metodo h1 {
  font-size: 54px;
  margin-bottom: 80px;
}

.main-content-metodo h2 {
  font-size: 28px;
  margin: 80px 0 40px;
}

.main-content-metodo h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.main-content-metodo p {
  font-size: 18px;
  margin-top: 20px;
}

.p-resaltado {
  margin: 40px 0;
}

.p-resaltado span {
  display: block;
  margin-top: 10px;
  font-family: 'Kefa', sans-serif;
  background: linear-gradient(90deg, #8d298f98 0%, #1d8bc69a 100%);
  justify-self: right;
  border-radius: 5px;
  padding: 6px 12px;
}

.main-content-metodo .mc-right a {
  display: block;
  font-size: 20px;
  margin: 40px 0;
  text-decoration: underline;
}

.metodo-main-video {
  aspect-ratio: 1/1;
  width: 80%;
  margin-left: auto;
  position: sticky;
  top: 150px;
  margin-top: 20px;
}

.metodo-main-video video {
  border-radius: 50% 0%;
}








.metodo-in-section-right {
  padding: 0 210px;
  margin: 220px 0 0;
  display: flex;
  flex-direction: row-reverse;
}

.metodo-in-section-left {
  padding: 0 210px;
  margin: 220px 0 0;
  display: flex;
}

.metodo-in-section-right .metodo-in-right {
  width: 50%;
  margin-left: auto;
}

.metodo-in-section-right .metodo-in-left {
  width: 40%;
}

.metodo-in-section-left .metodo-in-right {
  width: 50%;
  margin-left: auto;
}

.metodo-in-section-left .metodo-in-left {
  width: 50%;
  text-align: right;
}

.metodo-in-section h2 {
  font-size: 48px;
  margin-bottom: 60px;
}

.metodo-in-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.ul-blocks {
  margin: 40px 0;
}

.ul-blocks li {
  list-style: none;
  margin: 0;
  padding: 20px 40px;
  background: #00000060;
  margin-bottom: 5px;
  border-radius: 10px;
}

.ul-blocks-gradient li {
  background: linear-gradient(90deg, #1d8bc69a 0%, #8d298f98 100%);
}

.metodo-video-dual {
  position: sticky;
  top: 150px;
}

.metodo-video {
  aspect-ratio: 1/1;
  width: 50%;
}

.metodo-video-right {
  margin-left: auto;
}

.metodo-video video {
  border-radius: 50% 0%;
}











.actos-section {
  padding: 220px;
  background-color: #000;
}

.actos-section h2 {
  font-size: 48px;
  margin-bottom: 60px;
}

.actos-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.actos-block-section {
  margin-top: 120px;
}

.actos-block-section .actos-block {
  display: flex;
  gap: 100px;
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid rgba(255, 255, 255, 0.137)
}

.actos-block-section .actos-block:first-child {
  border-top: none;
  padding-top: 0;
}

.actos-block-section .actos-block .actos-block-title {
  width: 40%;
}

.actos-block-section .actos-block .actos-block-title h3 {
  font-size: 24px;
}

.actos-block-section .actos-block .actos-block-title h3 span {
  font-size: 20px;
}

.actos-block-section .actos-block .actos-block-content {
  width: 60%;
}

.actos-block-section .actos-block .actos-block-content p {
  margin-bottom: 0;
}
















.testimonio-main-section {
  margin: 220px 0 120px;
}

.main-content-testimonio {
  padding: 0 210px;
}

.mc-testimonio-left {
  width: 50%;
  text-align: right;
}

.mc-testimonio-right {
  width: 50%;
  margin-left: auto;
}

.main-content-testimonio h1 {
  font-size: 54px;
  margin-bottom: 80px;
}

.main-content-testimonio h2 {
  font-size: 28px;
}

.main-content-testimonio h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.testimonios-cards-section {
  padding: 0 220px;
}

.testimonios-cards-section .testimonios-row {
  margin-top: 20px;
}

.testimonio-cta {
  margin-top: 120px;
  width: 50%;
  margin-left: auto;
}

.testimonio-cta p strong {
  font-family: 'Kefa', sans-serif;
  font-size: 28px;
}

.testimonio-cta a {
  font-size: 18px;
  background: linear-gradient(90deg, #1d8bc6 0%, #8d298f 100%);
  padding: 15px 30px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 20px;
}

















.nosotros-main-section {
  margin: 220px 0;
}

.main-content-nosotros {
  padding: 0 210px;
}

.mc-nosotros-left {
  width: 50%;
  text-align: right;
}

.mc-nosotros-right {
  width: 50%;
  margin-left: auto;
  margin-bottom: 80px;
}

.main-content-nosotros h1 {
  font-size: 54px;
  margin-bottom: 80px;
}

.main-content-nosotros h2 {
  font-size: 34px;
  margin-bottom: 40px;
}

.main-content-nosotros h2 span {
  font-size: 24px;
}

.main-content-nosotros h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.nosotros-ul-block {
  display: flex;
  gap: 10px;
  margin: 40px 0;
}

.nosotros-ul-block li {
  font-size: 16px;
  margin: 0;
  list-style: none;
  width: 25%;
  padding: 20px;
  background-color: #00000060;
  text-align: center;
  border-radius: 10px;
  font-family: 'Kumbh Sans', sans-serif;
}

.nosotros-ul-block li img {
  display: block;
  margin: 0 auto 15px;
  width: 40%;
}

.filosofia-section {
  padding: 220px;
  background-color: #000;
}

.filosofia-section h2 {
  font-size: 48px;
  margin-bottom: 60px;
  width: 50%;
  margin-left: auto;
}

.filosofia-section .filosofia-highlight {
  font-size: 40px;
  font-family: 'Kefa', sans-serif;
  width: 50%;
  text-align: right;
  margin-top: 80px;
}

.filosofia-section .filosofia-last-p {
  width: 50%;
  text-align: right;
  margin-top: 80px;
}

.filosofia-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.equipo-section {
  margin: 220px 0;
  padding: 0 210px;
}

.equipo-intro {
  margin-bottom: 100px;
  width: 50%;
  text-align: right;
}

.equipo-intro h2 {
  font-size: 48px;
  margin-bottom: 60px;
}

.equipo-intro h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.equipo-outro {
  margin-top: 100px;
  width: 50%;
  text-align: right;
}

.equipo-outro h2 {
  font-size: 48px;
  margin-bottom: 60px;
}

.equipo-outro h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.equipo-outro .equipo-outro-highlight strong {
  font-family: 'Kefa', sans-serif;
}

.equipo-outro a {
  font-size: 18px;
  background: linear-gradient(45deg, #1d8bc6 0%, #8d298f 100%);
  padding: 15px 30px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 40px;
}

.equipo-card {
  display: flex !important;
}

.equipo-img {
  width: 50%;
  margin: 0 1px;
}

.equipo-img img {
  border-radius: 50% 0%;
}

.equipo-card-content {
  width: 50%;
  padding: 40px 0 50px 100px;
}

.equipo-card-content h3 {
  font-size: 34px;
  margin-bottom: 40px;
}

.equipo-card-content h3 span {
  font-size: 24px;
}

.equipo-card-content .equipo-metadata {
  display: block;
  margin-bottom: 40px;
  font-weight: bold;
}

.presencia-section {
  padding: 220px;
  background-color: #000;
}

.presencia-section h2 {
  font-size: 48px;
  margin-bottom: 80px;
  width: 50%;
  margin-left: auto;
}

.presencia-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.presencia-section .presencia-content {
  width: 50%;
  text-align: right;
}

.presencia-section .presencia-content a {
  font-size: 18px;
  background: linear-gradient(45deg, #1d8bc6 0%, #8d298f 100%);
  padding: 15px 30px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 40px;
  font-weight: normal;
}

.instalaciones-video {
  aspect-ratio: 1/1;
  width: 50%;
  margin: 90px 0 0 50%;
}

.instalaciones-video video {
  border-radius: 0% 50%;
}


















.diagnostico-main-section {
  margin: 220px 0;
}

.main-content-diagnostico {
  padding: 0 220px;
  display: flex;
}

.mc-diagnostico-left {
  width: 50%;
  text-align: right;
}

.mc-diagnostico-right {
  width: 50%;
  margin-left: auto;
}

.main-content-diagnostico h1 {
  font-size: 54px;
  margin-bottom: 80px;
}

.main-content-diagnostico h2 {
  font-size: 28px;
}

.main-content-diagnostico h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.main-content-diagnostico .em-p {
  margin: 40px 0;
}

.main-content-diagnostico em {
  display: block;
  margin: 40px 0 10px;
  font-family: 'Kefa', sans-serif;
  background: linear-gradient(90deg, #1d8bc69a 0%, #8d298f98 100%);
  width: max-content;
  justify-self: right;
  border-radius: 5px;
  padding: 6px 12px;
}

.diagnostico-main-video {
  aspect-ratio: 1/1;
  width: 80%;
  margin-left: auto;
  position: sticky;
  top: 150px;
  margin-top: 20px;
}

.diagnostico-main-video video {
  border-radius: 50% 0%;
}

.diagnostico-p-block {
  margin-top: 80px;
}

.diagnostico-p-block ul {
  margin: 0;
  font-family: 'Kumbh Sans', sans-serif;
}

.diagnostico-p-block ul li {
  list-style: none;
}

.formulario-section {
  margin: 220px 0 0;
  padding: 0 220px 220px;
}

.formulario-content {
  width: 50%;
  margin-left: auto;
}

.formulario-content h2 {
  font-size: 48px;
  margin-bottom: 80px;
}

.contact-data {
  margin: 40px 0 0;
}

.contact-data li {
  list-style: none;
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.contact-data li i {
  width: 10%;
  display: flex;
  justify-content: center;
  color: #1d8ac6;
}

.contact-data li i::before {
  margin: auto;
}

.contact-data li span {
  width: 90%;
  font-family: 'Kumbh Sans', sans-serif;
}

/* form */

.solicitar-llamada-form {
  background-color: #00000060;
  border-radius: 10px;
  padding: 50px;
  margin-top: 60px;
}

.solicitar-llamada-form h3 {
  font-size: 28px;
}

.solicitar-llamada-form label {
  font-family: 'Kefa', sans-serif;
  display: block;
  margin-bottom: 10px;
  margin-top: 40px;
}

.solicitar-llamada-form input[type="text"],
.solicitar-llamada-form input[type="email"],
.solicitar-llamada-form input[type="tel"],
.solicitar-llamada-form input[type="checkbox"] {
  font-size: 14px;
}

.solicitar-llamada-form input[type="text"],
.solicitar-llamada-form input[type="email"],
.solicitar-llamada-form input[type="tel"] {
  width: calc(100% - 10px);
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, 0.137);
  border-radius: 5px;
  outline: none;
  transition: border-color 0.3s;
}

.solicitar-llamada-form input[type="text"]:focus,
.solicitar-llamada-form input[type="email"]:focus,
.solicitar-llamada-form input[type="tel"]:focus {
  border-color: #8d298f;
}

.solicitar-llamada-form button {
  font-family: 'Kefa', sans-serif;
  background: linear-gradient(90deg, #1d8bc69a 0%, #8d298f98 100%);
  color: #fff;
  padding: 15px 30px;
  border: none;
  border-radius: 6px;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.3s;
}

.solicitar-llamada-form button:hover {
  background: linear-gradient(90deg, #1d8bc69a 0%, #8d298f98 100%);
}

.solicitar-llamada-form .checkbox-form {
  display: flex;
  margin-top: 40px;
}

.solicitar-llamada-form .checkbox-form input {
  margin: auto 0;
}

.solicitar-llamada-form .checkbox-form label {
  margin: 0;
  font-family: 'Kumbh Sans', sans-serif;
  font-size: 16px;
}

.solicitar-llamada-form input[type="checkbox"] {
  margin-right: 8px;
}























.faq-main-section {
  margin: 220px 0 0;
  padding: 0 0 220px;
}

.main-content-faq {
  padding: 0 220px;
}

.mc-faq-left {
  width: 50%;
  text-align: right;
}

.mc-faq-left-last {
  margin-top: 80px;
}

.mc-faq-right {
  width: 50%;
  margin-top: 80px;
  margin-left: auto;
}

.main-content-faq h1 {
  font-size: 54px;
  margin-bottom: 40px;
}

.main-content-faq h2 {
  font-size: 22px;
  margin-top: 60px;
}

.main-content-faq h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.main-content-faq .faq-cta {
  font-size: 18px;
  background: linear-gradient(90deg, #1d8bc6 0%, #8d298f 100%);
  padding: 15px 30px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 20px;
}

























.main-section-servicios {
  margin: 220px 0;
}

.main-content-servicios {
  padding: 0 210px;
}

.mc-servicios-left {
  width: 50%;
  text-align: right;
}

.mc-servicios-right {
  width: 50%;
  margin-left: auto;
}

.main-content-servicios h1 {
  font-size: 54px;
  margin-bottom: 40px;
}

.mc-servicios-left h2 {
  font-size: 28px;
}

.mc-servicios-right h2 {
  font-size: 28px;
  margin: 80px 0 40px;
}

.mc-servicios-right h3 {
  font-size: 24px;
  margin-top: 60px;
}

.mc-servicios-right ul {
  margin-bottom: 60px;
}

.main-content-servicios h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.mc-servicios-right a {
  color: #1d8ac6;
  font-family: 'Kefa', sans-serif;
}

.main-formatos-section {
  padding: 220px;
  background-color: #000;
}

.main-formatos-section h2 {
  font-size: 48px;
  margin-bottom: 60px;
}

.main-formatos-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.main-formatos-block-section {
  margin-top: 120px;
}

.main-formatos-block-section .main-formatos-block {
  display: flex;
  gap: 100px;
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid rgba(255, 255, 255, 0.137);
  cursor: pointer;
  /* Indica que es clickeable */
}

.main-formatos-block-section .main-formatos-block:first-child {
  border-top: none;
  padding-top: 0;
}

.main-formatos-block-section .main-formatos-block .main-formatos-block-title {
  width: 40%;
}

.main-formatos-block-section .main-formatos-block .main-formatos-block-title h3 {
  font-size: 24px;
  margin-bottom: 0;
}

.main-formatos-block-section .main-formatos-block .main-formatos-block-title h3 span {
  font-size: 20px;
}

.main-formatos-block-section .main-formatos-block .main-formatos-block-content {
  width: 60%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

/* Mostrar cuando está activo */
.main-formatos-block.active .main-formatos-block-content {
  max-height: 500px;
  /* Ajusta según tu contenido */
}

/* Opcional: animación suave del texto */
.main-formatos-block-content p,
.main-formatos-block-content span {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.main-formatos-block-section .main-formatos-block .main-formatos-block-content p {
  margin-bottom: 0;
  opacity: 1;
}

.main-formatos-block-section .main-formatos-block .main-formatos-block-content span {
  display: block;
  margin-top: 40px;
  opacity: 1;
}

/* Flecha de despliegue */
.main-formatos-block .toggle-icon {
  display: inline-block;
  margin-left: 20px;
  margin-bottom: 0;
  font-size: 40px;
  line-height: 0;
  transition: transform 0.4s ease;
}

/* Cuando el bloque está activo, rota la flecha */
.main-formatos-block.active .toggle-icon {
  transform: rotate(180deg);
}

/* Opcional: alinear título y flecha horizontalmente */
.main-formatos-block-title {
  display: flex;
  align-items: center;
  justify-content: left;
}

.otros-formatos-section {
  padding: 220px;
}

.otros-formatos-section h2 {
  font-size: 48px;
  margin-bottom: 60px;
}

.otros-formatos-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.otros-formatos-block-section {
  margin-top: 120px;
}

.otros-formatos-block-section .otros-formatos-block {
  display: flex;
  gap: 100px;
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid rgba(255, 255, 255, 0.137);
  cursor: pointer;
  /* Indica que es clickeable */
}

.otros-formatos-block-section .otros-formatos-block:first-child {
  border-top: none;
  padding-top: 0;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-title {
  width: 40%;
  margin-bottom: auto;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-title h3 {
  font-size: 24px;
  margin-bottom: 0;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-title h3 span {
  font-size: 20px;
}

/* Flecha de despliegue */
.otros-formatos-block .toggle-icon {
  display: inline-block;
  margin-left: 20px;
  margin-bottom: 0;
  font-size: 40px;
  line-height: 0;
  transition: transform 0.4s ease;
}

/* Cuando el bloque está activo, rota la flecha */
.otros-formatos-block.active .toggle-icon {
  transform: rotate(180deg);
}

/* Opcional: alinear título y flecha horizontalmente */
.otros-formatos-block-title {
  display: flex;
  align-items: center;
  justify-content: left;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-content {
  width: 60%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-content .otros-formatos-metadata-block {
  margin-top: 40px;
}

/* Mostrar cuando está activo */
.otros-formatos-block.active .otros-formatos-block-content {
  max-height: 500px;
  /* Ajusta según tu contenido */
}

/* Opcional: animación suave del texto */
.otros-formatos-block-content p,
.otros-formatos-block-content span {
  opacity: 1;
  transition: opacity 0.4s ease;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-content .otros-formatos-metadata-block p {
  margin-bottom: 0;
  opacity: 1;
}

.otros-formatos-block-section .otros-formatos-block .otros-formatos-block-content span {
  display: block;
  margin-top: 40px;
  opacity: 1;
}

.otros-formatos-block-content ul {
  margin-top: 40px;
  margin-bottom: 40px;
  font-family: 'Kumbh Sans', sans-serif;
}

.servicios-why-section {
  padding: 220px;
  background-color: #000;
}

.servicios-why-section h2 {
  font-size: 48px;
  margin-bottom: 60px;
  width: 50%;
  margin-left: auto;
}

.servicios-why-section h2 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.servicios-why-section .servicios-why-row {
  display: flex;
  gap: 80px;
  margin-top: 120px;
}

.servicios-why-section .servicios-why-row .servicios-why-item:nth-child(2) {
  margin-top: 100px;
}

.servicios-why-section .servicios-why-row .servicios-why-item:nth-child(3) {
  margin-top: 200px;
}

.servicios-why-section .servicios-why-row .servicios-why-item:nth-child(4) {
  margin-top: 30 0px;
}

.servicios-why-video {
  aspect-ratio: 1/1;
  width: 35%;
  margin-left: 50%;
  margin-bottom: 60px;
}

.servicios-why-video video {
  border-radius: 0% 50%;
}



















.main-section-blog {
  margin: 220px 0 120px;
}

.main-content-blog {
  padding: 0 210px;
}

.mc-blog-left {
  width: 50%;
  text-align: right;
}

.mc-blog-right {
  width: 50%;
  margin-left: auto;
}

.main-content-blog h1 {
  font-size: 54px;
  margin-bottom: 40px;
}

.main-content-blog h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.mc-blog-right h2 {
  font-size: 28px;
  margin: 80px 0 40px;
}

.blog-recientes-section {
  margin: 120px 0 0;
  padding: 0 220px;
}

.blog-recientes-section h3 {
  font-size: 38px;
  margin-bottom: 40px;
}

.blog-recientes ol {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  gap: 20px;
}

.blog-recientes ol li {
  background-color: #00000060;
  border-radius: 10px;
  display: flex;
}

.blog-recientes ol li .blog-card-img {
  width: 50%;
  height: 100%;
}

.blog-recientes ol li .blog-card-img img {
  border-radius: 10px 0 0 10px;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.blog-recientes ol li .blog-card-content {
  padding: 40px 30px;
  width: 50%;
}

.blog-recientes ol li .blog-card-content a {
  font-size: 20px;
  line-height: 1.2;
}

.blog-recientes ol li .blog-card-content small {
  display: block;
  margin-top: 20px;
  font-family: 'Kumbh Sans', sans-serif;
}

.mc-blog-cta {
  width: 50%;
  margin-left: auto;
  padding-right: 220px;
  margin-top: 140px;
}

.mc-blog-cta .blog-cta-title {
  font-size: 28px;
  margin-bottom: 20px;
}

.mc-blog-cta .mc-blog-cta-after {
  margin-top: 60px;
}

.mc-blog-cta .mc-blog-cta-after a {
  font-size: 18px;
  background: linear-gradient(45deg, #1d8bc6 0%, #8d298f 100%);
  padding: 12px 30px;
  border-radius: 10px;
  display: inline-block;
  margin-top: 10px;
}






















.main-section-entry {
  margin: 220px 0 0;
}

.main-content-entry {
  padding: 0 30% 120px;
}

.main-content-entry h1 {
  font-size: 54px;
  margin-bottom: 80px;
}

.main-content-entry h1 span {
  font-size: 28px;
  display: block;
  margin-top: 20px;
}

.main-content-entry h2 {
  font-size: 28px;
  margin: 80px 0 40px;
}

.main-content-entry h3 {
  font-size: 24px;
  margin: 80px 0 40px;
}

.main-content-entry h4,
.main-content-entry h5,
.main-content-entry h6 {
  font-size: 20px;
  margin: 60px 0 30px;
}

.main-content-entry a {
  text-decoration: underline;
}

.main-content-entry a:hover {
  text-decoration: none;
}

.main-content-entry .wp-block-separator {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.137);
  margin: 80px 0;
}

.blog-recientes-entry {
  padding: 0 30%;
}

.blog-recientes-entry ol {
  grid-template-columns: 1fr;
}

.blog-recientes-entry .title-recent-entries {
  font-family: 'Kefa', sans-serif;
  display: block;
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: bold;
}

























.last-section {
  padding-bottom: 220px;
}

.m-top {
  margin-top: 10px;
}

.link-underline {
  text-decoration: underline;
}

.link-underline:hover {
  text-decoration: none;
}






























/* Políticas */

.politicas-content h1 {
  margin-bottom: 20px;
}

.wp-block-list {
  margin: 40px 0;
}

.wp-block-list li {
  padding: 5px 0;
  margin-left: 30px;
}

.version-date {
  display: block;
  margin-bottom: 80px;
}




































@media (max-width: 768px) {
  .pc-only {
    display: none;
  }

  .mobile-only {
    display: block;
  }

  .last-section {
    padding-bottom: 120px;
  }
















  /* ================================
   Header (Encabezado)
   ================================ */

  .header-lvm {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5;
    width: -webkit-fill-available;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.137);
    background-color: transparent;
    /* por defecto sin fondo */
    transition: background-color .22s ease;
    /* suaviza el cambio */
    background-color: rgba(0, 0, 0, 0.8);
  }

  .header-lvm:hover,
  .header-lvm:focus-within {
    background-color: rgba(0, 0, 0, 0.8);
  }

  .header-lvm .logo-lvm {
    width: 50%;
    padding: 20px 50px;
  }

  .header-lvm .logo-lvm img {
    width: 100%;
    height: auto;
  }

  .header-lvm .menu-btn {
    width: 50%;
    padding: 20px 50px 20px 0;
    text-align: right;
  }

  .header-lvm .menu-btn a {
    font-size: 20px;
    margin-left: 50px;
    color: #ffffff;
  }


















  /* ================================
   Fullscreen Menu
   ================================ */

  /* Layout dentro del panel */
  .fullmenu__panel .menu-list {
    width: 100%;
    margin-top: 0;
  }

  .fullmenu__panel .menu-side {
    width: 100%;
    text-align: left;
    align-items: flex-start;
    margin-bottom: 1.4rem;
  }









  /* ================================
   Footer (Pie de Página)
   ================================ */

  .footer-lvm {
    position: relative;
    background-color: rgba(16, 2, 33, 0.85);


    border-top: 1px solid rgba(255, 255, 255, 0.137);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 50px;
    z-index: 5;
  }

  .footer-lvm .footer-caption {
    width: 100%;
    font-size: 14px;
  }

  .footer-lvm .footer-caption p {
    margin: 0;
  }

  .footer-lvm .footer-links {
    width: 100%;
    font-size: 14px;
    text-align: right;
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-top: 30px;
  }

  .footer-lvm .footer-links a {
    margin-left: 0;
    color: #ffffff;
    text-decoration: none;
    margin-top: 10px;
  }

  .footer-lvm .footer-links a:hover,
  .footer-lvm .footer-links a:focus {
    text-decoration: underline;
  }



  /* Contenedor principal de la sección */
  .main-section {
    margin: 120px 0;
  }


  .main-content {
    padding: 0 50px;
  }

  .mc-left {
    width: 100%;
    text-align: left;
  }

  .mc-right {
    width: 100%;
  }

  .main-content h1 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .main-content h2 {
    font-size: 24px;
  }

  .main-content p {
    font-size: 16px;
  }















  .interactive-section {
    color: #fff;
    margin: 120px 0;
  }

  .content-list h2 {
    margin-left: 0;
    text-transform: uppercase;
    font-size: 34px;
  }

  .interactive-section .container {
    display: block;
    padding: 0 50px;
  }

  /* Columna izquierda */

  .content-list {
    width: 100%;
  }

  .item-list h3 {
    font-size: 20px;
    font-weight: 400;
  }

  .item-list h3 span {
    font-size: 16px;
    margin-right: 0;
    display: block;
  }

  .item-list p {
    font-size: 18px;
    margin: 30px 0 60px;
  }

  .cta-interactive {
    margin-left: 0;
    font-size: 20px;
  }










































  .stack-text h2 {
    font-size: 34px;
  }

  .stack-text a {
    display: inline;
  }

  .stack-responsive-p {
    margin-bottom: 20px !important;
  }













  .background-podemos-section {
    padding: 120px 50px;
    margin: 120px 0 0;
  }

  .podemos-left {
    width: 100%;
    text-align: left;
  }

  .podemos-right {
    width: 100%;
    display: block;
  }

  .background-podemos-section h2 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .background-podemos-section h2 span {
    font-size: 24px;
    display: block;
    margin-top: 20px;
  }












  .metodo-section {
    padding: 0 50px;
    margin: 120px 0;
  }

  .metodo-section h2 {
    font-size: 34px;
    width: 100%;
  }

  .metodo-section h2 span {
    font-size: 24px;
    display: block;
    margin-top: 20px;
  }

  .metodo-row {
    display: block;
    padding: 50px;
    margin-bottom: 20px;
  }

  .metodo-row span {
    width: 100%;
    padding: 0;
    display: block;
    margin-bottom: 20px;
  }

  .metodo-row h3 {
    width: 100%;
    padding: 0;
  }

  .metodo-row p {
    width: 100%;
    padding: 0;
    margin-bottom: 0;
  }










  .testimonios-section {
    padding: 0 50px;
    margin: 120px 0;
  }

  .testimonios-section h2 {
    font-size: 34px;
    width: 100%;
    margin-bottom: 60px;
  }

  .testimonios-section h2 span {
    font-size: 24px;
    display: block;
    margin-top: 20px;
  }

  .testimonios-section p {
    width: 100%;
  }

  .testimonios-row {
    display: flex;
    flex-direction: column;
  }

  .logo-section-sliders .slick-slide {
    margin: 0 20px;
  }















  .nosotros-section {
    margin: 120px 0;
    padding: 120px 50px;
  }

  .nosotros-right {
    width: 100%;
    margin-left: 0;
    margin-bottom: 60px;
  }

  .nosotros-left {
    width: 100%;
    text-align: left;
  }

  .nosotros-section h2 {
    font-size: 34px;
  }

  .nosotros-section h2 span {
    font-size: 24px;
  }

  .nosotros-video {
    width: 100%;
    margin-left: 0;
    margin-bottom: 60px;
  }



















  /* Contenedor principal de la sección */
  .why-section {
    padding: 0 50px;
    margin: 120px 0 0;
  }

  .why-right {
    width: 100%;
    margin-left: 0;
  }

  .why-right-row {
    display: block;
  }

  .why-row-item {
    width: 100%;
    margin-top: 60px;
  }

  .why-row-item:last-child {
    margin-top: 60px;
  }

  .why-left {
    width: 100%;
    text-align: left;
    margin-bottom: 60px;
  }

  .why-section h2 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .why-section h2 span {
    font-size: 24px;
  }

























  .cta-section {
    height: 80vh;
    padding: 0 50px 120px;
    margin-top: 120px;
    width: 100%;
    position: relative;
  }

  /* El texto centrado encima de la imagen */
  .cta-section-text {
    position: relative;
  }

  .cta-first {
    font-size: 34px;
  }

  .cta-last {
    font-size: 24px;
  }

  .cta-section-text a {
    font-size: 24px;
  }





















  /******* MÉTODO ACTORAL *******/


  .main-section-metodo {
    margin: 200px 0;
  }

  .main-content-metodo {
    padding: 0 50px;
    display: block;
  }

  .mc-metodo-left {
    width: 100%;
    text-align: left;
  }

  .mc-metodo-right {
    width: 100%;
  }

  .main-content-metodo h1 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .main-content-metodo h2 {
    font-size: 24px;
    margin: 60px 0 40px;
  }

  .main-content-metodo h1 span {
    font-size: 24px;
  }

  .p-resaltado span {
    margin: 30px 0;
    justify-self: left;
  }

  /*
.main-content-metodo .mc-right a {
  display: block;
  font-size: 20px;
  margin: 40px 0;
  text-decoration: underline;
}*/

  .metodo-main-video {
    position: relative;
    width: 100%;
    top: 0;
  }








  .metodo-in-section-right {
    padding: 0 50px;
    margin: 120px 0 0;
    display: block;
  }

  .metodo-in-section-left {
    padding: 0 50px;
    margin: 120px 0;
    display: block;
  }

  .metodo-in-section-right .metodo-in-right {
    width: 100%;
    margin-left: 0;
  }

  .metodo-in-section-right .metodo-in-left {
    width: 100%;
  }

  .metodo-in-section-left .metodo-in-right {
    width: 100%;
    margin-left: 0;
  }

  .metodo-in-section-left .metodo-in-left {
    width: 100%;
    text-align: left;
  }

  .metodo-in-section h2 {
    font-size: 34px;
  }

  .metodo-in-section h2 span {
    font-size: 24px;
  }

  .metodo-video {
    aspect-ratio: 1/1;
    width: 100%;
  }

  .metodo-video-right {
    margin-left: auto;
    margin: 40px 0;
  }

  .metodo-video-right video {
    border-radius: 0% 50%;
  }

  .metodo-in-right .metodo-main-video {
    margin-top: 40px;
  }











  .actos-section {
    padding: 120px 50px;
  }

  .actos-section h2 {
    font-size: 34px;
  }

  .actos-section h2 span {
    font-size: 24px;
  }

  .actos-block-section {
    margin-top: 80px;
  }

  .actos-block-section .actos-block {
    display: block;
  }

  .actos-block-section .actos-block .actos-block-title {
    width: 100%;
  }

  .actos-block-section .actos-block .actos-block-content {
    width: 100%;
  }

















  .nosotros-main-section {
    margin: 200px 0;
  }

  .main-content-nosotros {
    padding: 0 50px;
  }

  .mc-nosotros-left {
    width: 100%;
    text-align: left;
  }

  .mc-nosotros-right {
    width: 100%;
    margin-left: 0;
    margin-bottom: 60px;
  }

  .main-content-nosotros h1 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .main-content-nosotros h2 {
    font-size: 24px;
    margin-bottom: 40px;
  }

  .main-content-nosotros h2 span {
    font-size: 20px;
  }

  .main-content-nosotros h1 span {
    font-size: 24px;
    display: block;
    margin-top: 20px;
  }

  .nosotros-ul-block {
    display: flex;
    flex-direction: column;
  }

  .nosotros-ul-block li {
    width: 100%;
  }

  .nosotros-ul-block li img {
    width: 15%;
  }

  .filosofia-section {
    padding: 120px 50px;
  }

  .filosofia-section h2 {
    font-size: 34px;
    width: 100%;
  }

  .filosofia-section .filosofia-highlight {
    font-size: 24px;
    width: 100%;
    text-align: left;
    margin-top: 60px;
  }

  .filosofia-section .filosofia-highlight strong {
    display: block;
    margin-top: 0;
  }

  .filosofia-section .filosofia-last-p {
    width: 100%;
    text-align: left;
    margin-top: 60px;
  }

  .filosofia-section h2 span {
    font-size: 24px;
  }

  .equipo-section {
    margin: 120px 0;
    padding: 0 50px;
  }

  .equipo-intro {
    margin-bottom: 80px;
    width: 100%;
    text-align: left;
  }

  .equipo-intro h2 {
    font-size: 34px;
  }

  .equipo-intro h2 span {
    font-size: 24px;
    display: block;
    margin-top: 20px;
  }

  .equipo-outro {
    margin-top: 60px;
    width: 100%;
    text-align: left;
  }

  .equipo-outro h2 {
    font-size: 34px;
  }

  .equipo-outro h2 span {
    font-size: 24px;
  }

  .equipo-card {
    display: flex !important;
    flex-direction: column;
  }

  .equipo-slider .slick-slide {
    margin: 0 20px;
  }

  .equipo-img {
    width: 100%;
  }

  .equipo-img img {
    border-radius: 50% 0%;
  }

  .equipo-card-content {
    width: 100%;
    padding: 50px 0 0;
  }

  .equipo-card-content h3 {
    font-size: 34px;
    margin-bottom: 40px;
  }

  .equipo-card-content h3 span {
    font-size: 24px;
  }

  .presencia-section {
    padding: 120px 50px;
  }

  .presencia-section h2 {
    font-size: 34px;
    margin-bottom: 60px;
    width: 100%;
    margin-left: 0;
  }

  .presencia-section h2 span {
    font-size: 24px;
  }

  .presencia-section .presencia-content {
    width: 100%;
    text-align: left;
  }

  .presencia-section .presencia-content a {
    text-align: center;
  }

  .instalaciones-video {
    width: 100%;
    margin: 90px 0 0 0;
  }
















  .testimonio-main-section {
    margin: 200px 0 60px;
  }

  .main-content-testimonio {
    padding: 0 50px;
  }

  .mc-testimonio-left {
    width: 100%;
    text-align: left;
  }

  .mc-testimonio-right {
    width: 100%;
    margin-left: 0;
  }

  .main-content-testimonio h1 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .main-content-testimonio h2 {
    font-size: 24px;
  }

  .main-content-testimonio h1 span {
    font-size: 24px;
  }

  .testimonios-cards-section {
    padding: 0 50px;
  }

  .testimonios-card-empty {
    padding: 0;
  }

  .testimonio-cta {
    margin-top: 120px;
    padding-bottom: 120px;
    width: 100%;
  }

  .testimonio-cta a {
    text-align: center;
  }

























  .main-section-servicios {
    margin: 200px 0 120px;
  }

  .main-content-servicios {
    padding: 0 50px;
  }

  .mc-servicios-left {
    width: 100%;
    text-align: left;
  }

  .mc-servicios-right {
    width: 100%;
    margin-left: 0;
  }

  .main-content-servicios h1 {
    font-size: 34px;
    margin-bottom: 40px;
  }

  .mc-servicios-left h2 {
    font-size: 24px;
  }

  .mc-servicios-right h2 {
    font-size: 24px;
    margin: 80px 0 40px;
  }

  .mc-servicios-right h3 {
    font-size: 22px;
    margin-top: 60px;
  }

  .mc-servicios-right ul {
    margin-bottom: 60px;
  }

  .main-content-servicios h1 span {
    font-size: 24px;
    display: block;
    margin-top: 20px;
  }

  .main-formatos-section {
    padding: 120px 50px;
  }

  .main-formatos-section h2 {
    font-size: 34px;
  }

  .main-formatos-section h2 span {
    font-size: 24px;
  }

  .main-formatos-block-section {
    margin-top: 80px;
  }

  .main-formatos-block-section .main-formatos-block {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .main-formatos-block-section .main-formatos-block .main-formatos-block-title {
    width: 100%;
  }

  .main-formatos-block-section .main-formatos-block .main-formatos-block-content {
    width: 100%;
  }

  /* Mostrar cuando está activo */
  .main-formatos-block.active .main-formatos-block-content {
    max-height: 500px;
    /* Ajusta según tu contenido */
  }

  .otros-formatos-section {
    padding: 120px 50px;
  }

  .otros-formatos-section h2 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .otros-formatos-section h2 span {
    font-size: 24px;
  }

  .otros-formatos-block-section {
    margin-top: 80px;
  }

  .otros-formatos-block-section .otros-formatos-block {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .otros-formatos-block-section .otros-formatos-block .otros-formatos-block-title {
    width: 100%;
  }

  .otros-formatos-block-section .otros-formatos-block .otros-formatos-block-content {
    width: 100%;
  }

  /* Mostrar cuando está activo */
  .otros-formatos-block.active .otros-formatos-block-content {
    max-height: 500px;
    /* Ajusta según tu contenido */
  }

  .servicios-why-section {
    padding: 120px 50px;
  }

  .servicios-why-section h2 {
    font-size: 34px;
    margin-bottom: 60px;
    width: 100%;
    margin-left: 0;
  }

  .servicios-why-section h2 span {
    font-size: 24px;
  }

  .servicios-why-section .servicios-why-row {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 60px;
  }

  .servicios-why-section .servicios-why-row .servicios-why-item:nth-child(2) {
    margin-top: 0;
  }

  .servicios-why-section .servicios-why-row .servicios-why-item:nth-child(3) {
    margin-top: 0;
  }

  .servicios-why-section .servicios-why-row .servicios-why-item:nth-child(4) {
    margin-top: 0;
  }

  .servicios-why-video {
    width: 100%;
    margin-left: 0;
    margin-bottom: 60px;
  }


















  .diagnostico-main-section {
    margin: 200px 0 120px;
  }

  .main-content-diagnostico {
    padding: 0 50px;
    display: flex;
    flex-direction: column;
  }

  .mc-diagnostico-left {
    width: 100%;
    text-align: left;
  }

  .mc-diagnostico-right {
    width: 100%;
    margin-left: 0;
  }

  .main-content-diagnostico h1 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .main-content-diagnostico h2 {
    font-size: 24px;
  }

  .main-content-diagnostico h1 span {
    font-size: 24px;
  }

  .main-content-diagnostico .em-p {
    margin: 40px 0;
  }

  .main-content-diagnostico em {
    display: table-cell;
  }

  .diagnostico-main-video {
    width: 100%;
    top: 0;
    margin-top: 60px;
  }

  .diagnostico-p-block {
    margin-top: 60px;
  }

  .formulario-section {
    margin: 120px 0 0;
    padding: 0 50px 120px;
  }

  .formulario-content {
    width: 100%;
    margin-left: 0;
  }

  .formulario-content h2 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .contact-data {
    margin: 40px 0 0;
    font-size: 16px;
  }

  .contact-data li i {
    width: 5%;
  }

  .contact-data li span {
    width: 95%;
  }

  /* form */

  .solicitar-llamada-form {
    padding: 30px;
  }

  .solicitar-llamada-form h3 {
    font-size: 24px;
  }

  .solicitar-llamada-form label {
    margin-top: 40px;
  }

  .solicitar-llamada-form input[type="text"],
  .solicitar-llamada-form input[type="email"],
  .solicitar-llamada-form input[type="tel"] {
    padding: 10px;
  }

  .solicitar-llamada-form button {
    width: 100%;
  }























  .faq-main-section {
    margin: 200px 0 0;
    padding: 0 0 120px;
  }

  .main-content-faq {
    padding: 0 50px;
  }

  .mc-faq-left {
    width: 100%;
    text-align: left;
  }

  .mc-faq-left-last {
    margin-top: 60px;
  }

  .mc-faq-right {
    width: 100%;
    margin-top: 60px;
    margin-left: 0;
  }

  .main-content-faq h1 {
    font-size: 34px;
    margin-bottom: 40px;
  }

  .main-content-faq h2 {
    font-size: 22px;
    margin-top: 60px;
  }

  .main-content-faq h1 span {
    font-size: 24px;
  }

  .main-content-faq .faq-cta {
    width: 100%;
    text-align: center;
  }



















  .main-section-blog {
    margin: 200px 0 120px;
  }

  .main-content-blog {
    padding: 0 50px;
  }

  .mc-blog-left {
    width: 100%;
    text-align: left;
  }

  .mc-blog-right {
    width: 100%;
    margin-left: 0;
  }

  .main-content-blog h1 {
    font-size: 34px;
    margin-bottom: 40px;
  }

  .main-content-blog h1 span {
    font-size: 24px;
  }

  .mc-blog-right h2 {
    font-size: 24px;
    margin: 60px 0 40px;
  }

  .blog-recientes-section {
    margin: 120px 0 0;
    padding: 0 50px;
  }

  .blog-recientes-section h3 {
    font-size: 28px;
    margin-bottom: 40px;
  }

  .blog-recientes ol {
    grid-template-columns: 1fr;
  }

  .blog-recientes ol li {
    display: flex;
    flex-direction: column;
  }

  .blog-recientes ol li .blog-card-img {
    width: 100%;
    height: 100%;
  }

  .blog-recientes ol li .blog-card-content {
    width: 100%;
  }

  .mc-blog-cta {
    width: 100%;
    margin-left: 0;
    padding-right: 0;
    padding: 0 50px;
    margin-top: 120px;
  }

  .mc-blog-cta .blog-cta-title {
    font-size: 24px;
  }

  .mc-blog-cta .mc-blog-cta-after {
    margin-top: 60px;
  }

  .mc-blog-cta .mc-blog-cta-after a {
    text-align: center;
    width: 100%;
  }






















  .main-section-entry {
    margin: 200px 0 0;
  }

  .main-content-entry {
    padding: 0 50px 120px;
  }

  .main-content-entry h1 {
    font-size: 34px;
    margin-bottom: 60px;
  }

  .main-content-entry h1 span {
    font-size: 24px;
  }

  .main-content-entry h2 {
    font-size: 24px;
    margin: 60px 0 40px;
  }

  .blog-recientes-entry {
    padding: 0 50px 120px;
  }

  .blog-recientes-entry ol {
    grid-template-columns: 1fr;
  }

  .blog-recientes-entry .title-recent-entries {
    font-family: 'Kefa', sans-serif;
    display: block;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: bold;
  }

}