@charset "UTF-8";
/* CSS Document */
html{
	height: 100% !important;
	background-color: #0A0A0A !important;
	margin: 0;
    padding: 0;
	

	
}
html, body {
    height: 100%;
}
a{
	text-decoration: none !important;
}
body{
	margin: 0;
    padding: 0;
	overflow-x: hidden;
	color: #383a3c  !important;
	font-family: "Inter", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: <weight> !important;
  font-style: normal !important;
	
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none; /* Evita que el mouse se "trave" al pasar por el video de YouTube mientras scrolleas */
}
/* ======================
   FOOTER REVEAL (A)
====================== */
main {
  position: relative;
  z-index: 1;
  background-color: #e6e8e5 !important;
	
}
footer { position: sticky; bottom: 0; left: 0; z-index: 0; background-color: #0A0A0A; color: #F2F3F4 !important;
	
}
.footer::before {
  content: '';
  position: absolute;
  inset: 0;           /* cubre todo el footer */

  background-image: radial-gradient(
    #252525 0.95px,
    #0A0A0A 0.95px
  );
  background-size: 19px 19px;

  mask-image: linear-gradient(
    to top,
    black 0%,
    black 50%,
    transparent 100%
  );

  pointer-events: none; /* no bloquea clicks */
}

.footer > * {
  position: relative;
  z-index: 1;          /* por encima del ::before */
}
.brandname{
	color: #383a3c;
	font-size: 22px;
	font-weight: 600;
	padding-left: 8px;
	line-height: 1;
	font-family: "Outfit", sans-serif !important;
	
	
}
.brandsub{
	color: #383a3c;
	font-size: 21px;
	font-weight: 200;
	line-height: 1;
	font-family: "Outfit", sans-serif !important;
}

.uk-navbar-item, .uk-navbar-nav>li>a{
	font-family: "Inter", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	
	font-size: 16px !important;
	text-transform: none !important;
}
.uk-navbar-container{
	background: none !important;
}
.inter-<uniquifier> {
  font-family: "Inter", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.mainnav>li>a{
	color: #383a3c !important;
}
.uk-navbar-right>li>a{
	color: #F2F3F4 !important;
}
.GreenDot{
	width: 8px;
	height: 8px;
	border-radius: 50px;
	margin-right: 8px;
	background-color: #00FF1E;
}
.icon-Mouse-1{
	font-size: 1.4rem; /* O usa píxeles: 20px */
    vertical-align: middle; /* Para que no "flote" arriba del texto */
}

.btn-primary-CTA {
  display: inline-block;
  background-color: #383a3c;
  color: #F2F3F4 !important;
  text-decoration: none;
  font-family: 'Inter', sans-serif; /* Tipografía limpia */
  font-weight: 600;
  font-size: 12px !important;
  border-radius: 50px;
	padding: 12px 20px 12px 20px !important;
  /* Suavidad en la interacción */
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

/* Estado Hover (al pasar el mouse) */
.btn-primary-CTA:hover {
  background-color: #fff;
	color: #383a3c!important;
}

/* Estado Active (al hacer clic) */
.btn-primary-CTA:active {
  transform: translateY(0);
}
.btn-secundary-dark-CTA {
  display: inline-block;
  background-color:  #F2F3F4;
  color: #383a3c !important;
  text-decoration: none;
  font-family: 'Inter', sans-serif; /* Tipografía limpia */
  font-weight: 400;
  font-size: 24px !important;
  border-radius: 50px;
	padding: 12px 28px 12px 28px !important;
  /* Suavidad en la interacción */
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

/* Estado Hover (al pasar el mouse) */
.btn-secundary-dark-CTA:hover {
  background-color: #fff;
	color: #383a3c!important;
}

/* Estado Active (al hacer clic) */
.btn-secundary-dark-CTA:active {
  transform: translateY(0);
}

.btn-primary-Arrow {
  display: inline-block;
  background-color: rgba(253,251,251,0.25);
  color: #F2F3F4 !important;
  text-decoration: none;
  font-family: 'Inter', sans-serif; /* Tipografía limpia */
  font-weight: 600;
  font-size: 18px !important;
  border-radius: 50px;
  /* Suavidad en la interacción */
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
	width: 40px;
	height: 40px;
}
.video-block:hover .btn-primary-Arrow {
  background-color: #fff;
	color: #383a3c!important;
	transform: scale(1.2); /* Scales the element to 150% of its original size */
  transition: transform 0.3s ease-out; /* Smooth animation for the scale effect */
}
.video-section:hover a{
	text-decoration: none;
}
.project-link:hover .btn-primary-Arrow {
  background-color: #fff;
	color: #383a3c!important;
	transform: scale(1.2); /* Scales the element to 150% of its original size */
  transition: transform 0.3s ease-out; /* Smooth animation for the scale effect */
}
.project-link:hover a{
	text-decoration: none;
}
.project-link p{
	color: #666666;
}
.project-link:hover .project-image-thumb img{
	transform: scale(1.05);
	 transition: transform 0.3s ease-out; /* Smooth animation for the scale effect */
}
.project-link .project-image-thumb img{
	transform: scale(1);
	 transition: transform 0.3s; /* Smooth animation for the scale effect */
}
.border-corner-big{
	border-radius: 14px;
	-webkit-border-radius: 14px;
	-moz-border-radius: 14px;
	-webkit-mask-image: radial-gradient(white, black);/* ADDED */
}
.video-intro {
    width: 100%;    /* Ocupa todo el ancho */
    aspect-ratio: 21 / 9;
    display: block; /* Elimina espacios extra debajo del video */
    object-fit: cover; /* Asegura que llene el espacio si defines una altura fija */
}

.uk-inline {
    display: block; /* Por defecto es inline-block, cámbialo a block para que use el 100% */
    width: 100%;
}
.project-image-thumb{
	width: 100%;
	aspect-ratio: 16/9 auto;
	margin-bottom: 8px;
}
.Service-Block{
	border-bottom: solid;
	border-width: 1px;
	border-bottom-color: #ccc;
	padding-bottom: 20px;
}
.Service-Block p{
	font-size: 21px;
}
.glass-bottom-blur {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15vh; /* Altura relativa al visor */
    z-index: 999;
    pointer-events: none;
    
    /* Aplicamos un desenfoque más potente */
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    /* Máscara de degradado más compleja para suavizar la transición */
    mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        black 20%,
        black 100%
    );
    -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        black 20%,
        black 100%
    );
}

/* Capa extra para suavizar la desaparición del texto */
.glass-bottom-blur::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.8) 50%,
        rgba(255, 255, 255, 1) 100%
    );
    z-index: -1;
}
.blur-layer-1 {
    position: fixed; bottom: 0; left: 0; width: 100%; height: 150px;
    backdrop-filter: blur(5px);
    mask-image: linear-gradient(to bottom, transparent, black);
    z-index: 998;
}

.blur-layer-2 {
    position: fixed; bottom: 0; left: 0; width: 100%; height: 80px;
    backdrop-filter: blur(25px);
    mask-image: linear-gradient(to bottom, transparent, black);
    z-index: 999;
}

/* grid: 4 columns on medium+; on small screens it will wrap to 2 per row */
    .logos-row .logo-slot {
      display:flex;
      align-items:center;
      justify-content:center;
      padding:14px;
      border-radius:10px;
      background: #fff;
      width: 100%;
      box-shadow: 0 6px 18px rgba(20,24,40,0.06);
      overflow: hidden;
    }

    /* image behavior + smooth fade */
    .logo-slot img {
      max-width: 100%;
      max-height: 110px;
      display:block;
      transition: opacity 420ms ease, transform 420ms ease;
      opacity: 1;
      transform: translateY(0);
      will-change: opacity, transform;
    }

    /* fading out state */
    .logo-slot.fading img {
      opacity: 0;
      transform: translateY(6px) scale(0.98);
    }

    /* reduce motion */
    @media (prefers-reduced-motion: reduce) {
      .logo-slot img { transition: none !important; transform: none !important; opacity: 1 !important; }
    }

    .tip { text-align:center; color:#6b7280; margin-top:12px; font-size:14px;}

.pill {
    display: inline-flex;
    align-items: center;
    justify-content: center; /* Asegura centrado horizontal */
    height: 32px; /* Un poco más de aire se ve más premium */
    padding: 0 14px;
    background: #f2f2f2;
    border-radius: 100px;
    white-space: nowrap;
    font-size: 0.75rem; /* Opcional: para que se vea más refinado */
    line-height: 1; /* Crítico para evitar que la altura varíe por el texto */
    transition: background 0.3s ease;
    cursor: default;
}

.pill:hover {
    background: #e9e9e9; /* Un sutil feedback visual */
}
.pills-grid-profile{
	border-bottom-style: solid;
	border-top-style: solid;
	border-bottom-width: 1px;
	border-top-width: 1px;
	border-color: #d5d6d4;
}
.footer h2{
	color: #e6e8e5;
}
.footer{
	color: #e6e8e5 !important;
}
.footer ul li{
	font-size: 16px;
}
.footer ul li a{
	color: #e6e8e5;
}
.legal-footer {
	font-size: 12px !important; /* Opcional: para que se vea más refinado */
	margin-top: 40px;
	opacity: .3;
}
.footer .uk-nav li a {
    padding: 5px 0;
    transition: color 0.3s ease;
    font-size: 15px;
}

.footer .uk-nav li a:hover {
    color: #fff !important; /* Resalte moderno al pasar el dedo/mouse */
}
.spacer-pattern{
	height: 10px;
	width: 30px;
	margin-left: 8px;
	margin-right: 8px;
	background-color: #e6e8e5;
opacity: 0.8;
background-size: 10px 10px;
background-image: repeating-linear-gradient(45deg, #cccccc 0, #cccccc 1px, #e6e8e5 0, #e6e8e5 50%);
}

.works-list .project-image-thumb img{
	aspect-ratio: 4 / 3;
}
.project-image-thumb-border{
	border-radius: 16px !important;
}


/* --- Estilos unificados con Miniatura Flotante --- */

.next-project-interactive {
    display: block;
    position: relative;
    padding: 60px 0;
    cursor: pointer;
}

/* Efectos de texto y flecha (Lo que ya tenías) */
.next-project-interactive:hover .project-title {
    transform: translateX(20px);
    color: #000;
}

.project-title {
    transition: transform 0.4s ease, color 0.4s ease;
}

.next-project-interactive:hover .interactive-arrow {
    transform: scale(1.1) rotate(45deg);
    background-color: #000;
    color: #fff;
}

.interactive-arrow {
    width: 100px;
    height: 100px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	color: #fff;
}
.btn-primary-Arrow{
	color: #000 !important;
}
.next-project-interactive:hover .btn-primary-Arrow{
	color: #fff !important;
}
/* --- La Miniatura Flotante --- */
.floating-reveal {
    position: absolute;
    width: 320px;
    height: 220px;
    pointer-events: none;
    opacity: 0;
    z-index: 9999;
    /* Quitamos left/top del transition para que el JS mande */
    transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translate(-50%, -50%) scale(0.7);
    /* Importante: evitar saltos iniciales */
    will-change: left, top, transform; 
}

.reveal-inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

.reveal-img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: scale(1.2);
    transition: transform 0.6s ease;
}

/* Interacción de revelado */
.next-project-interactive:hover .floating-reveal {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.next-project-interactive:hover .reveal-img {
    transform: scale(1);
}


/* Contenedor para agrupar los círculos */
.circle-stack {
    display: flex;
    align-items: left;
}
.circle-stack-div{
	padding-right: 40px;
}

/* Estilo para cada círculo */
.portfolio-circle {
    width: 70px;  /* Ajusta el tamaño según necesites */
    height: 70px;
    border-radius: 50%; /* Fuerza la forma circular */
    border: 3px solid #fff; /* Borde blanco para separar visualmente */
    margin-right: -30px; /* Crea el efecto de encimado */
    overflow: hidden;
    transition: transform 0.3s ease, z-index 0.3s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    position: relative;
    background-color: #f8f8f8;
}

/* Efecto hover sutil */
.portfolio-circle:hover {
    transform: translateY(-5px) scale(1.05);
    z-index: 10; /* Se pone al frente al pasar el mouse */
}

/* Ajuste para pantallas pequeñas */
@media (max-width: 640px) {
    .portfolio-circle {
        width: 50px;
        height: 50px;
        margin-right: -15px;
    }
	
}

@media (max-width: 960px) {
    .btn-secundary-dark-CTA {
        width: 100%; /* Botón de ancho completo para facilitar el clic (UX) */
        justify-content: center;
        padding: 18px 0;
    }
    
    .uk-heading-small {
        font-size: 2.5rem; /* Ajuste del título para que no se desborde */
        line-height: 1.1;
    }
}


/* --- Estilos para el Menú Offcanvas (Light Mode) --- */

#ar2-mobile-menu .uk-offcanvas-bar {
    background-color: #ffffff; /* Fondo blanco */
    display: flex;
    flex-direction: column;
    padding: 80px 40px;
    border-left: 1px solid #e5e5e5; /* Línea sutil de división */
}

/* Enlaces en Negro */
#ar2-mobile-menu .uk-nav-offcanvas > li > a {
    font-family: 'Outfit', sans-serif;
    font-size: 36px;
    font-weight: 400;
    color: #333333; /* Texto negro */
    text-align: left;
    padding: 15px 0;
    transition: opacity 0.3s ease;
}

#ar2-mobile-menu .uk-nav-offcanvas > li > a:hover {
    color: #333333;
    opacity: 0.6;
}

/* Botón de cerrar en Negro */
#ar2-mobile-menu .uk-offcanvas-close {
    color: #333333;
    top: 30px;
    right: 30px;
}

/* Redes Sociales en Gris Oscuro */
.mobile-social-bottom a {
    font-size: 14px !important;
    color: #666666 !important;
    font-family: 'Inter', sans-serif;
}