 :root {
     --color-principal: #0080c3;
     --color-secundario: #e84a90;
     --color-tercero: #454545;
     --color-cta: #ffffff;
     --color-soft-bg: #e6f0fa;
     --color-soft-text: #0080c3;

 }

 html,
 body {
     width: 100vw;
     max-width: 100vw;
     overflow-x: hidden;
     overflow-y: auto;
 }

 .section-top-padding {
     background-image: url(../img/mio/fondos/homepagebanner.jpg);
     background-size: cover;
     background-position: center center;
     background-repeat: no-repeat;
     height: 100vh;
     /* Hace que el elemento tenga la altura completa del viewport */
     width: 100%;
     /* Para que ocupe el ancho completo */
 }

 .logo-outside-menu {
     display: none;
 }

 #hamburger-btn {
     display: none;
 }

 /* Contenedor centrado y flexible */
 .botonera-cta-center {
     display: flex;
     justify-content: center;
     gap: 1.8rem;
     flex-wrap: wrap;
     margin: 2rem 0 2.5rem 0;
 }

 /* Estilos base para ambos botones */
 .cta-principal,
 .cta-soft {
     position: relative;
     display: inline-block;
     padding: 1rem 3rem;
     font-size: 1.15rem;
     font-weight: 600;
     border-radius: 32px;
     text-decoration: none;
     cursor: pointer;
     color: white !important;
     border: 2px solid var(--color-principal);
     background: transparent;
     transition: background-color 0.3s ease, color 0.3s ease;
 }

 /* Línea subrayada inicial (oculta con scaleX(0)) */
 .cta-principal::after,
 .cta-soft::after {
     content: "";
     position: absolute;
     bottom: 6px;
     left: 15%;
     width: 70%;
     height: 3px;
     background: var(--color-secundario);
     border-radius: 3px;
     transform: scaleX(0);
     transform-origin: left;
     transition: transform 0.3s ease;
     pointer-events: none;
 }

 /* Hover desktop */
 .cta-principal:hover,
 .cta-principal:focus {
     background-color: var(--color-principal);
     color: white;
     outline: none;
 }

 .cta-principal:hover::after,
 .cta-principal:focus::after {
     transform: scaleX(1);
 }

 /* Botón secundario color invertido en hover */
 .cta-soft {
     color: var(--color-principal) !important;
     border-color: var(--color-secundario);
 }

 .cta-soft:hover,
 .cta-soft:focus {
     background-color: var(--color-secundario);
     color: white;
     outline: none;
 }

 .cta-soft:hover::after,
 .cta-soft:focus::after {
     transform: scaleX(1);
 }

 /* Eliminar subrayado y fondo en móvil, simplificar */
 @media (max-width: 768px) {
     .botonera-cta-center {
         flex-direction: column;
         gap: 1.2rem;
     }

     .cta-principal,
     .cta-soft {
         width: 100%;
         max-width: 320px;
         text-align: center;
         padding: 0.85rem 1rem;
         border: 2px solid transparent;
         /* quitar borde en móvil */
         color: var(--color-principal);
         background: transparent;
     }

     .cta-principal::after,
     .cta-soft::after {
         display: none;
     }
 }

 /* Seccion 0- Header  */
 .tilt-parallax {
     position: relative;
     perspective: 720px;
     width: 100%;
     max-width: 520px;
     margin: 2rem auto 0 auto;
     overflow: hidden;
     /* Recorta la ampliación de la imagen */
     border-radius: 15px;
     background: transparent;
     box-sizing: border-box;
     box-shadow: 0 2px 22px rgba(50, 164, 255, 0.13);
 }

 .tilt-parallax img {
     width: 100% !important;
     height: auto;
     border-radius: 15px;
     margin: 0 0 2rem 0;
     display: block !important;
     will-change: transform;
     box-sizing: border-box;
     transition: transform 0.12s cubic-bezier(.38, .32, .67, 1.25),
         box-shadow 0.18s;
     box-shadow: 0 2px 22px rgba(50, 164, 255, 0.13);
 }

 .arrow-object {
     max-width: 100%;
     height: auto;
     overflow: hidden;
     display: block;
 }

 .tilt-parallax+* {
     margin-top: 0 !important;
     padding-top: 0 !important;
 }

 .border-radius {
     border-radius: 3px;
 }

 .content-bottom {
     bottom: 0;
     position: absolute;
 }

 #gara {
     margin: 8rem 2rem 2rem 2rem !important;
 }

 .text-white {
     padding: 1rem 3rem 0 2rem;
 }

 /* Section 1 - Foto + Botones */
 .stayput {
     width: 1123px;
     /* o el max-width de tu layout */
     margin: 0 auto;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .background-transparent {
     margin: 0 auto;
     max-width: 99%;
 }

 .top-nav {
     margin: 0 auto;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 1rem;
     width: 100%;
     height: 20vh;

 }

 .left-menu,
 .right-menu {
     flex: 1;
     /* Ocupan el espacio disponible a izquierda y derecha */
     display: flex;
     align-items: center;
     /* Centrado vertical de los enlaces internos */
 }

 .logo-menu {
     display: flex;
     justify-content: center;
     align-items: center;
     flex: 0 0 auto;
     /* Solo ocupa su contenido */
 }

 .center {
     float: none;
     margin: 0 auto;
     display: block;
 }

 .cta-demo,
 .cta-dossier {
     display: inline-block;
     min-width: 240px;
     padding: 18px 32px;
     font-size: 18px;
     border-radius: 4px;
     font-weight: 600;
     text-decoration: none;
     text-align: center;
     transition: background 0.2s, color 0.2s, border 0.2s;
     border: 2px solid transparent;
     box-sizing: border-box;

     /* Forzar fondo limpio sin heredar */
     background-color: transparent !important;
     color: inherit !important;
 }

 /* Botón demo: fondo azul sólido, texto blanco */
 .cta-demo {
     background-color: #0080c3 !important;
     color: #fff !important;
     border-color: #0080c3 !important;
 }

 /* Hover demo */
 .cta-demo:hover {
     background-color: #E84A90 !important;
     border-color: #fff !important;
     color: #fff !important;
 }

 /* Botón dossier: fondo blanco puro, texto negro, borde azul */
 .cta-dossier {
     background-color: #fff !important;
     color: #000 !important;
     border-color: #0080c3 !important;
 }

 /* Hover dossier */
 .cta-dossier:hover {
     background-color: #e6f3f8 !important;
     border-color: #0080c3 !important;
     color: #E84A90 !important;
 }

 /* Oculta el checkbox */
 #menu-toggle {
     display: none!important;
 }
 .hamburger-label{
    display: none;
 }

 /* Section 2 - Ventajas Competitivas */
 .ventajas-grid {
     display: grid;
     gap: 1.65rem;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     margin: 0rem 0;
     padding: 0 1rem;
 }

 .ventaja-card {
     background: #fff;
     border-radius: 12px;
     box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
     padding: 2rem 1.5rem 1.5rem 1.5rem;
     text-align: left;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     min-height: 320px;
 }

 .ventaja-card i {
     margin-bottom: 1.5rem;
 }

 .ventaja-card h3 {
     margin-bottom: 1rem;
     text-align: center;
 }

 .ventaja-card p {
     flex: 1 1 auto;
     margin-bottom: 1.2rem;
     text-align: justify;
 }

 /* Opcional: estilos para enlaces */
 .ventaja-card a {
     color: #2f7be5;
     font-weight: bold;
     text-decoration: none;
 }

 /* Aqui vienen los 2 botones de CONTROL REMOTE */

 .botonescontrol {
     justify-content: center;
     display: flex;
     width: 100%;
     gap: 2rem;
     padding: 4rem 1rem;
 }

 /* Estilos base para botón */
 .btn {
     display: inline-flex;
     align-items: center;
     gap: 12px;
     font-family: 'Poppins', sans-serif;
     font-weight: 700;
     cursor: pointer;
     outline: none;
     transition:
         box-shadow 0.25s ease,
         transform 0.25s ease,
         background 0.4s ease,
         color 0.4s ease;
 }

 .btn-logo {
     width: 34px;
     height: 34px;
     background: white;
     border-radius: 20%;
     /* Para el primer botón */
     padding: 0;
     object-fit: cover;
     border: none;
     box-shadow: none;
 }

 .btn-logo-circle {
     border-radius: 50%;
     /* Para logo circular sin bordes extras */
 }

 /* Texto */
 .btn-text {
     line-height: 1.2;
     text-align: left;
     color: inherit;
     /* toma el color del botón */
 }

 .btn-subtext {
     font-weight: 500;
     font-size: 1rem;
     letter-spacing: 0.02em;
 }

 /* Botón 1: gradiente y bordes redondeados grandes */
 .btn-gradient {
     background: linear-gradient(90deg, #0080c3, #e84a90);
     border: none;
     border-radius: 50px;
     padding: 16px 42px;
     font-size: 1.16rem;
     color: white;
     box-shadow: 0 4px 18px rgba(232, 74, 144, 0.27);
 }

 /* Interacciones botón 1 */
 .btn-gradient:hover,
 .btn-gradient:focus {
     box-shadow: 0 14px 36px rgba(232, 74, 144, 0.67);
     transform: translateY(-4px);
     background: linear-gradient(90deg, #e8f3ff 15%, #e84a90 90%);
     color: #004a99;
 }

 /* Botón Support 15: fondo pastel y radio 30px */
 .btn-pastel {
     background: #e6f0fa;
     border: none;
     border-radius: 30px;
     padding: 16px 40px;
     font-size: 1.15rem;
     color: #004a99;
     box-shadow: 0 14px 24px rgba(0, 128, 195, 0.6);
 }

 /* Interacciones botón 2 */
 .btn-pastel:hover,
 .btn-pastel:focus {
     background: linear-gradient(90deg, #0080c3, #e84a90);
     color: white;
     box-shadow: 0 12px 36px rgba(232, 74, 144, 0.6);
     transform: translateY(-4px);
 }

 /* Foco visible accesible (opcional) */
 .btn:focus-visible {
     outline: 3px solid #0078d7;
     outline-offset: 3px;
 }

 .botonera-cta-center {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 32px;
     margin: 1rem 2rem 5rem 2rem;
     flex-wrap: wrap;
 }

 /* SECTION 4 - CARUSEL */
 .carousel-mockup {
     position: relative;
     width: 704px;
     height: 834px;
     margin: 0 auto;
 }

 .carousel-mockup img {
     position: absolute;
     z-index: 5;
     width: 7%;
     top: 31.75rem;
     left: 20.5rem;
 }

 .applelogo {
     opacity: 0.7;
 }

 .mockup-frame {
     position: relative;
     width: 100%;
     height: 100%;
 }

 .mockup-frame img {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 2;
     pointer-events: none;
 }

 .carousel-content {
     position: absolute;
     top: 33px;
     left: 26.5px;
     width: 652px;
     height: 443px;
     z-index: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
 }

 .carousel-image {
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     opacity: 0;
     transition: opacity 0.4s;
 }

 .carousel-image.active {
     opacity: 1;
     z-index: 1;
 }

 .sigefar-hero {
     font-family: 'Poppins', Arial, sans-serif;
     /* max-width: 900px; */
     margin: 30px auto 80px auto;
     padding: 0;
     color: #003366;
     /* Azul corporativo oscuro */
     text-align: center;
     line-height: 1.5;
 }

 .sigefar-hero h3 {
     font-weight: 700;
     font-size: 1.5rem;
     margin: 4rem 2rem;
     color: #004a99;
     /* Azul corporativo medio */
     text-transform: uppercase;
     letter-spacing: 1.5px;
 }

 .sigefar-hero p {
     font-weight: 400;
     font-size: 1.125rem;
     margin-bottom: 25px;
     color: #222;
 }

 .sigefar-ventajas {
     list-style: none;
     padding: 0;
     margin: 0 0 50px 0;
     display: inline-grid;
     flex-direction: column;
     flex-wrap: wrap;
     justify-content: center;
     gap: 30px;
 }

 .sigefar-ventajas li {
     background: #e6f0fa;
     /* Azul claro suave */
     border-radius: 12px;
     padding: 20px 25px;
     width: 10rem;
     box-shadow: 0 3px 10px rgba(0, 72, 153, 0.1);
     font-weight: 600;
     font-size: 1rem;
     color: #004a99;
     transition: background-color 0.3s ease;
 }

 .sigefar-ventajas li:hover {
     background: #c2dafd;
     cursor: default;
 }

 /* Botones carrusel */
 .absolutes {
     position: relative;
     width: 100%;
     height: 2rem;
     display: flex;
     align-items: center;
     overflow: visible;
 }

 .absolutes>.carousel-prev,
 .absolutes>.carousel-next {
     top: 35rem;
     z-index: 3;
 }

 .applelogo.al {
     top: 33rem;
 }

 .carousel-prev,
 .carousel-next {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     background: #004a99;
     color: #fff;
     border: none;
     border-radius: 50%;
     width: 48px;
     height: 48px;
     font-size: 1.8rem;
     cursor: pointer;
     box-shadow: 0 4px 10px rgba(0, 74, 153, 0.6);
     transition: background-color 0.3s ease, transform 0.2s ease;
     user-select: none;
 }

 .carousel-prev {
     left: 2rem;
     top: 34rem;
     z-index: 30;

 }

 .carousel-next {
     right: 2rem;
     top: 34rem;
     z-index: 30;
 }

 .carousel-prev:hover,
 .carousel-next:hover {
     background: #003366;
     transform: translateY(-50%) scale(1.1);
 }

 .cta-container {
     width: 100%;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;

 }

 a.cta-btn {
     margin: 0 AUTO
 }

 .para {
     padding: 0 8rem 2rem 8rem;
 }

 /* Botón de llamada a la acción */

 a.cta-btn {
     /* display: block; */
     background: linear-gradient(90deg, #004a99, #0080c3);
     color: white !important;
     text-transform: uppercase;
     font-weight: 500;
     font-size: 1.2rem;
     padding: 18px 50px;
     border-radius: 30px;
     text-decoration: none;
     box-shadow: 0 6px 25px rgba(0, 128, 195, 0.6);
     transition: background 0.3s ease, box-shadow 0.3s ease;
     user-select: none;
     margin: 0 auto;

 }

 .cta-btn:hover {
     background: linear-gradient(90deg, #003366, #005a99);
     box-shadow: 0 8px 32px rgba(0, 90, 153, 0.8);
 }

 /* Adaptación a colores corporativos y tipografías usados en la plantilla */

 .text-primary {
     color: #004a99 !important;
 }

 .text-dark {
     color: #222 !important;
 }

 /* Añade un ligero espaciado debajo de encabezados similar al template */

 h2,
 h3 {
     margin-bottom: 1rem;
 }

 /* Pequeños ajustes visuales */

 ul.sigefar-ventajas {
     padding-left: 0;
 }

 /* VENTAJAS GRID */
 .ventajas-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 1.75rem;
     margin: 1rem 0;
     padding: 0 1rem;
 }

 .ventaja-card {
     background-color: var(--color-blanco);
     border-radius: 12px;
     box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
     padding: 2rem 1.5rem 1.5rem 1.5rem;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     min-height: 320px;
     text-align: left;
 }

 .ventaja-card i {
     margin-bottom: 1.5rem;
     font-size: 2.5rem;
     color: var(--color-principal);
     line-height: 1;
 }

 .ventaja-card h3 {
     margin-bottom: 1rem;
     text-align: center;
 }

 .ventaja-card p {
     flex-grow: 1;
     margin-bottom: 1.2rem;
     text-align: justify;
 }

 .ventaja-card a {
     color: #2f7be5;
     font-weight: bold;
     text-decoration: none;
     transition: color var(--transicion-rapida);
 }

 .ventaja-card a:hover {
     color: var(--color-secundario);
 }

 /* CEO FEATURED BANNER */
 .ceo-featured-banner {
     max-width: 950px;
     margin: 40px auto 50px auto;
     background: linear-gradient(90deg, var(--color-principal) 55%, var(--color-secundario) 100%);
     border-radius: 28px;
     box-shadow: 0 8px 36px rgba(0, 128, 195, 0.09);
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 3.5rem 2rem;
     flex-wrap: wrap;
     opacity: 0;
     transform: translateY(40px);
     transition: opacity 1s ease, transform 1s cubic-bezier(.22, .61, .36, 1);
 }

 .ceo-featured-banner.visible {
     opacity: 1;
     transform: translateY(0);
     animation: fadeInUp 1.1s forwards;
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(40px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .ceo-image-container {
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     padding: 1.2rem;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.18);
     box-shadow: 0 2px 36px rgba(232, 74, 144, 0.08);
 }

 .ceo-photo {
     width: 220px;
     height: 220px;
     border-radius: 50%;
     object-fit: cover;
     border: 6px solid var(--color-blanco);
     box-shadow: 0 4px 28px #e84a9020;
     background: var(--color-blanco);
 }

 .ceo-text-glass {
     max-width: 480px;
     min-width: 260px;
     margin-left: 2.5rem;
     padding: 2.7rem 2.2rem;
     border-radius: 24px;
     background: rgba(255, 255, 255, 0.93);
     backdrop-filter: blur(7px);
     box-shadow: 0 2px 20px rgba(0, 128, 195, 0.10);
     color: #1a1a1a;
     font-size: 1.18rem;
     text-align: left;
     position: relative;
 }

 .quote-mark {
     font-family: serif;
     font-weight: 900;
     font-size: 2.7rem;
     color: var(--color-principal);
     margin-right: 0.6rem;
     vertical-align: -0.7rem;
     line-height: 0.2;
     display: inline-block;
 }

 .ceo-text-glass blockquote {
     margin: 0;
     font-style: italic;
     font-size: 1.08rem;
     color: #222;
     line-height: 1.7;
 }

 .highlighted {
     display: block;
     margin-top: 1.2rem;
     font-weight: 600;
     color: var(--color-secundario);
     font-style: normal;
 }

 .ceo-sign {
     margin-top: 2rem;
     font-weight: 700;
     font-size: 1.06rem;
     color: var(--color-principal);
 }

 .ceo-sign span {
     color: var(--color-secundario);
     font-weight: 400;
 }

 a.cta-principal {
     background-color: var(--color-secundario);
     color: var(--color-blanco);
     border: 2px solid var(--color-principal);
 }

 a.cta-principal:hover {
     background-color: var(--color-principal);
     border-color: var(--color-blanco);
 }

 a.cta-soft {
     background-color: var(--color-blanco);
     color: var(--color-negro);
     border: 2px solid var(--color-principal);
 }

 a.cta-soft:hover {
     background-color: #e6f3f8;
     border-color: var(--color-principal);
     color: var(--color-secundario);
 }

 /* CENTRADOS Y ESPACIADOS */
 .center {
     margin-left: auto !important;
     margin-right: auto !important;
     display: block !important;
 }

 .layout-grid {
     display: grid;
     grid-template-columns: 1fr auto 1fr;
     /* columnas izquierda, centro y derecha */
     grid-template-rows: auto auto;
     /* dos filas */
     gap: 0rem 1rem;
     /* separación filas y columnas */
     align-items: center;
 }

 /* El UL contendrá los items de la izquierda y derecha, los ordenaremos visualmente con CSS */
 .sigefar-ventajas {
     list-style: none;
     padding: 0;
     margin: 0;
     display: contents;
     /* para que los li puedan ubicarse en grid como hijos directos */
 }

 /* Posicionamiento para cada li por grid-area */
 .item1 {
     grid-area: 1 / 1 / 2 / 2;
     /* fila 1, columna 1 */
     transform: translateY(-30px);
     /* lo bajo un poco */

 }

 .item2 {
     grid-area: 2 / 1 / 3 / 2;
     /* fila 2, columna 1 */
     transform: translateY(-250px);
 }

 .item4 {
     grid-area: 1 / 3 / 2 / 4;
     transform: translateY(-30px);
     /* fila 1, columna 3 */
 }

 .item5 {
     grid-area: 2 / 3 / 3 / 4;
     /* fila 2, columna 3 */
     transform: translateY(-280px);
 }

 /* El mockup en la columna central ocupando ambas filas */
 .item3 {
     grid-area: 1 / 2 / 3 / 3;
     /* fila 1-3, columna 2 */
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
 }

 /* Opcional: estilos para los li para mejorar presentación */
 .sigefar-ventajas li {
     background: #f0f4f8;
     padding: 0.8rem 1rem;
     margin-bottom: 1rem;
     border-radius: 10px;
     font-weight: 500;
     box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
     max-width: 300px;
 }

 /* Ajuste para que la lista no tome espacio como bloque, porque usamos display:contents */
 .sigefar-ventajas li:last-child {
     margin-bottom: 0;
 }

 footer,
 footer * {
     box-sizing: border-box;
     max-width: 100vw;
     cursor: default;
 }

 .margin2x {
     /* padding-left: 1rem !important;
     padding-right: 1rem !important; */
     margin-left: auto !important;
     margin-right: auto !important;
 }

 .line2 {
     display: flex;
     flex-direction: row;
     column-gap: 3rem;
     text-align: center;
     align-items: center;
 }

 .left {
     width: 50%;
 }

 .right2 {
     width: 45%;
 }

 .conta {
     /* width: 13.5rem; */
 }

 .bam {
     /* cursor: cell; */
 }

 .background-primary {
     display: in;
     gap: 2rem;
     text-align: center;
 }

 .icon-google_plus_circle {
     cursor: pointer;
     width: 450px !important;
     height: 20% !important;
 }

 .linkin {
     cursor: pointer;
 }

 .espaciod {
     padding-right: 10rem;
 }

 /* RESPONSIVE */
 @media (max-width: 900px) {
     .espaciod {
         padding-right: 5rem;
     }

     .ceo-featured-banner {
         flex-direction: column !important;
         margin: 20px auto !important;
         padding: 1.2rem 0.5rem !important;
     }

     .ceo-text-glass {
         margin-left: 0 !important;
         margin-top: 1.7rem !important;
         max-width: 98vw !important;
         text-align: center !important;
         padding: 1.4rem 1rem !important;
         font-size: 1rem !important;
     }

     .ceo-photo {
         width: 2200px !important;
         height: 2200px !important;
     }
 }

 /* ======== Versión Tablet (≤ 1024px) ======== */
 @media (max-width: 1024px) {
     .logo-outside-menu {
         display: flex !important;
         justify-content: center;
         margin-bottom: 1rem;
         position: relative;
         z-index: 50;
     }

     /* Reducir padding superior para evitar empujar logo */
     .section-top-padding {
         padding-top: 1rem !important;
     }

     /* MENÚ: Desactivar sticky y estilos que molestan */
     nav.sticky {
         position: static !important;
         top: auto !important;
         background-color: transparent !important;
         box-shadow: none !important;
         transition: none !important;
     }

     nav.sticky .top-ul>li>a {
         color: inherit !important;
         background: none !important;
     }

     /* Ocultar logo azul dentro del menú hamburguesa */
     .logo-menu {
         display: none !important;
     }

     /* Contenedor de navegación: menú hamburguesa vertical y centrado */
     nav.background-transparent .top-nav {
         flex-direction: column !important;
         align-items: center !important;
         gap: 1rem;
         height: auto;
         padding: 1rem;
     }

     /* Listas (ul) dentro del menú: vertical, sin padding/borde */
     .top-nav .top-ul {
         display: flex !important;
         flex-direction: column !important;
         align-items: center;
         width: 100%;
         padding: 0;
         gap: 0.75rem;
     }

     /* Los contenedores de menú a 100% ancho */
     .left-menu,
     .right-menu {
         width: 100%;
         margin: 0;
         padding: 0;
     }

     /* Posicionar icono hamburguesa arriba a la izquierda */
     .menu-toggle {
         position: absolute;
         top: 2rem;
         left: 1rem;
         z-index: 1000;
         cursor: pointer;
     }

     /* Estilo barras icono hamburguesa */
     .menu-toggle span {
         display: block;
         width: 25px;
         height: 3px;
         margin: 5px 0;
         background-color: #007acc;
         /* posible color acorde logo */
         border-radius: 2px;
     }
 }


 /* ======== Versión Móvil (≤ 768px) ======== */
 @media (max-width: 768px) {
     .layout-grid {
         grid-template-columns: 1fr;
         /* solo una columna */
         grid-template-rows: auto auto auto;
         gap: 0.25rem;
     }

     /* reset de transform y grid-area */
     .item1,
     .item2,
     .item3,
     .item4,
     .item5 {
         transform: none !important;
         grid-area: auto !important;
         order: unset;
     }

     /* orden lógico vertical */
     .item1 {
         order: 1;
     }

     .item2 {
         order: 2;
     }

     .item3 {
         order: 3;
     }

     .item4 {
         order: 4;
     }

     .item5 {
         order: 5;
     }

     /* Tarjetas ocupan todo el ancho */

     .sigefar-ventajas li {
         max-width: 65%;
         padding: 1rem;
         margin-left: auto;
         margin-right: auto;
         text-align: left;
     }

     /* Mockup centrado con ancho flexible */
     /* Items 4 y 5 los ponemos en fila/filas abajo */
     .item4 {
         grid-row-start: 35 !important;
         grid-column: 1 / -1 !important;
         /* ocupa toda la fila */
     }

     .item5 {
         grid-row-start: 36 ! important;
         grid-column: 1 / -1 !important;
         /* ocupa toda la fila */
     }

     .item3 {
         margin: 1rem 0;
     }

     .item1,
     .item2,
     .item4,
     .item5 {
         outline: 1px solid;
         position: relative;
         z-index: 50;
         /* aseguramos que estén arriba */
         pointer-events: auto;
     }

     .mockup-frame {
         max-width: 100%;
         height: 100%;
         position: relative;
         z-index: 30;
     }

     .section-top-padding {
         padding: 2rem 1.15rem 0 1.15rem;
     }

     .ventaja-card {
         padding: 0 1.5rem 1rem 1.5rem;
     }

     .botonescontrol {
         gap: 1rem;
         padding: 3.5rem 0rem 1.5rem 0;
     }

     .btn-pastel {
         padding: 1.35rem 1.35rem;
         font-size: 1.05rem;
         border-radius: 50rem;
         font-size: 0.6rem;
     }

     .btn-subtext {
         font-size: 0.8rem;
     }

     .btn-text {
         line-height: 1.2;
         text-align: center;
         width: 114px;
     }

     .btn-gradient {
         width: 14rem;
         border-radius: 50rem;
         padding: 0 1rem;
         font-size: 0.6rem
     }

     .sigefar-hero h3 {
         margin: 3rem 2rem 1rem 2rem;
         font-size: 1.25rem;
     }

     .sigefar-hero p {
         font-size: 0.8rem;
         padding: 0.5rem 1rem;
     }

     .carousel-content {
         position: absolute;
         top: -94.5%;
         left: 7%;
         width: 87%;
         height: 75.5%;
         overflow: hidden;
         display: flex;
         align-items: center;
         justify-content: center;
     }

     /* .carousel-prev {
             left: 1rem;
             top: 18.28rem;
         }

         .carousel-next {
             right: 1rem;
             top: 18.28rem;
         } */

     .para {
         padding: 0 2rem 2rem 2rem;
     }

     .cta-btn {
         display: block;
         padding: 1.5rem;
         width: 57%;
         margin: 4rem auto;
         text-align: center;
     }

     /* Contenedor padre para logos */
     section.background-grey>.margin2x {
         display: flex !important;
         flex-wrap: wrap !important;
         justify-content: flex-start;
         /* alineados a la izquierda, no centrados */
         gap: 1rem 1.5rem;
         /* espacio entre filas y columnas */
         width: 100%;
         max-width: 789px;
         margin: 0 auto;
     }

     /* Cada logo ocupa un porcentaje para que entre más de uno por fila */
     section.background-grey>.margin2x>div.m-6.l-1 {
         flex: 1 1 45%;
         /* base 45%, crece y encoge para adaptarse */
         max-width: 45%;
         min-width: 140px;
         /* evita que los logos se vuelvan demasiado pequeños */
         box-sizing: border-box;
         display: flex;
         justify-content: flex-start;
         /* logos alineados a la izquierda dentro del item */
     }

     /* Imagen responsive dentro del logo */
     section.background-grey>.margin2x>div.m-6.l-1>img {
         width: 100%;
         height: auto;
         display: block;
     }

     footer section.background-dark .line>.margin2x {
         display: flex;
         flex-direction: row;
         gap: 1rem;
         width: 100%;
         max-width: 100%;
         padding: 1rem 1rem 1rem 0;
         margin: 0 auto;
     }

     footer section.background-dark .line>.margin2x>div {
         width: 100% !important;
         /* Anulamos las clases s-12 m-6 l-3 xl-... para que no limiten */
         max-width: 100% !important;
         padding: 0;
     }

     /* Espaciado y legibilidad en textos */
     footer section.background-dark h4.text-strong {
         margin-top: 0;
         margin-bottom: 0.8rem;
         font-size: 1.15rem;
         text-align: left;
     }

     footer section.background-dark a.text-primary-hover {
         display: inline-block;
         margin-bottom: 0.7rem;
         font-size: 1rem;
         width: auto;
         text-align: left;
     }

     /* Espaciado en iconos y textos dentro contacto */
     footer section.background-dark .line>.margin2x>div p,
     footer section.background-dark .line>.margin2x>div a {
         font-size: 1rem;
         margin-bottom: 0.6rem;
     }

     /* Redes sociales */
     footer>div.background-primary.padding.text-center {
         display: flex;
         justify-content: center;
         gap: 1.4rem;
         padding: 1rem 0;
     }

     footer>div.background-primary.padding.text-center a i {
         font-size: 28px !important;
     }

     /* Bottom footer nuevo stack vertical */
     footer section.padding-2x.background-dark.full-width .line {
         display: flex;
         flex-direction: column;
         gap: 1rem;
         text-align: center;
         padding: 1rem;
     }

     footer section.padding-2x.background-dark.full-width .line>div.s-12.l-6 {
         width: 100% !important;
         max-width: 100% !important;
     }

     footer section.padding-2x.background-dark.full-width .line>div.s-12.l-6 p,
     footer section.padding-2x.background-dark.full-width .line>div.s-12.l-6 a {
         font-size: 0.9rem;
     }

     footer section.padding-2x.background-dark.full-width .line>div.s-12.l-6 a {
         text-align: center;
         display: block;
     }

     .visually-hidden {
         display: none;
     }

     .alligned {
         box-sizing: border-box;
         padding: 2rem 1rem !important;
     }

     /* ******************************************* */
     .sigefar-hero {
         max-width: 700px;
     }

     .sigefar-ventajas li {
         width: 100%;
     }

     .carousel-mockup {
         width: 100%;
         height: auto;
         aspect-ratio: 850 / 560;
     }

     .mockup-frame>img,
     .carousel-content {
         position: static;
         width: 100%;
         height: auto;
     }

     .carousel-content {
         position: absolute;
         top: 1.75rem;
         left: 4rem;
         width: 72%;
         height: auto;
         z-index: -1;
     }

     .carousel-image {
         position: absolute;
         width: 100%;
         height: 100%;
     }

     .carousel-prev,
     .carousel-next,
     .applelogo {
         display: none;
     }

     @media (max-width: 600px) {
         .ventajas-grid {
             grid-template-columns: 1fr;
             padding: 0;
         }
     }
 }

 /* 1. Ocultar MENU PRINCIPAL sticky en móvil/tablet */
 @media (max-width: 1024px) {

     .top-nav,
     .logo-menu {
         display: none !important;
     }
 }

 /* 2. Ocultar logo azul en scroll para móvil y tablet */
 /* Y se muestra en desktop pero no en scroll móvil; ocultamos en móvil */
 @media (max-width: 1024px) {
     .logo-azul {
         display: none !important;
     }
 }

 /* 3. En móvil y tablet quitar espacio arriba para fondo */
 /* Asumiendo que fondo es la sección con clase .position-absolute2 */
 @media (max-width: 600px) {
     header.position-absolute {
         height: 0vh !important;
     }

     .section-top-padding {
         height: 70vh !important;
         width: 90vw;
         padding: 2rem !important;
     }

     .espaciod {
         padding-right: 2rem;
     }

     .logo-outside-menu img {
         width: 45%;
         padding-top: 2rem;
     }

     #gara {
         margin: 17rem auto 2rem auto !important;
     }
 }

 @media (max-width: 1024px) {

     .menu-principal,
     /* o el selector real de tu menú */
     .sticky-menu {
         display: none !important;
     }

     /* Oculta logo sticky */
     .logo-sticky {
         display: none !important;
     }
 }

 /* Oculta botón hamburguesa y menú móvil en desktop */
 .hamburger-btn-mobile,
 .mobile-menu {
     display: none;
 }

 @media (max-width: 1024px) {

     /* Ocultar menú desktop */
     .desktop-menu {
         display: none !important;
     }

     .logo-outside-menu img {
         width: 40%;
         padding-top: 2rem;
     }

     #gara {
         margin: 25rem 2rem 2rem 2rem !important;
         font-size: 4REM!important;
     }

     .text-white {
         font-size: 2.25rem;
         padding: 3rem 3rem 0 2rem;
     }
 

 /* Mostrar botón hamburguesa */
 /* Estilo del label que hace de botón hamburguesa */
 .hamburger-label {
     width: 60px;
     height: 44px;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     cursor: pointer;
     z-index: 1200;
     position: absolute;
     /* Ajusta posición como el botón original */
     top: 1rem;
     left: 1rem;
 }

 /* Las tres barras */
 .hamburger-label span {
     display: block;
     height: 4.5px;
     width: 100%;
     background-color: #fff;
     border-radius: 2px;
     transition: all 0.3s ease;
 }

 /* Animación a “X” cuando input está checked */
 .menu-toggle:checked+.hamburger-label span:nth-child(1) {
     transform: rotate(45deg) translate(13.5px, 14px);
     background-color: var(--color-principal);
 }

 .menu-toggle:checked+.hamburger-label span:nth-child(2) {
     opacity: 0;
 }

 .menu-toggle:checked+.hamburger-label span:nth-child(3) {
     transform: rotate(-45deg) translate(13.5px, -14px);
     background-color: var(--color-principal);
 }

 /* Oculta menú móvil por defecto */
 #main-menu-mobile {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     width: 260px;
     height: 100vh;
     background-color: #fff;
     box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
     padding: 3rem 1.5rem;
     overflow-y: auto;
     flex-direction: column;
     z-index: 1099;
 }

 #main-menu-mobile ul li a {
     font-size: 1.75rem !important;
     font-weight: 600;
 }

 /* Mostrar menú móvil cuando checkbox está chequeado */
 .menu-toggle:checked~#main-menu-mobile {
     display: flex;
 }

 /* Mostrar menu móvil vertical inicialmente oculto */
 #main-menu-mobile {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     width: 50vw;
     height: 100vh;
     background-color: #fff;
     box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
     padding: 8rem 3rem;
     overflow-y: auto;
     flex-direction: column;
     z-index: 1099;
 }

 /* Mostrar menú cuando está abierto */
 #main-menu-mobile.open {
     display: flex;
 }

 /* Menú vertical */
 #main-menu-mobile ul {
     list-style: none;
     padding: 0;
     margin: 0;
     display: flex;
     flex-direction: column;
 }

 #main-menu-mobile ul li {
     margin-bottom: 1.5rem;
 }

 #main-menu-mobile ul li a {
     text-decoration: none;
     color: var(--color-principal, #0080c3);
     font-weight: 700;
     font-size: 1.2rem;
 }

 #main-menu-mobile ul li a:hover,
 #main-menu-mobile ul li a:focus {
     color: var(--color-secundario, #e84a90);
     outline: none;
 }
}