html {
  scroll-behavior: smooth;
}


body {
  font-family: "IBM Plex Sans", sans-serif;
  margin: 0;
  padding: 0; /* Quitamos el margen superior para que el slider ocupe toda la pantalla */
  color: #333;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  letter-spacing:-1px;
}

section {
    padding-top:20px;
    padding-bottom:20px;
    text-align:center;
}


.navbar.fixed-top {
  top: 50px !important;
}

/* Contenedor principal */
.hero-container {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  
  /* NUEVO: Imagen de respaldo aquí para evitar el ícono de play del navegador */
  background-image: url('https://web.fcg-abogados.com.ar/images/previa.webp');
  background-size: cover;
  background-position: center;
  background-color: #000; 
}

/* Video de fondo */
.hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 1;
  /* Evita que el click accidental en el video muestre controles */
  pointer-events: none; 
}

/* LA CAPA DE PUNTOS (Overlay) */
.hero-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-image: radial-gradient(rgba(0, 0, 0, 0.2) 1px, transparent 1px);
  background-size: 3px 3px;
  background-color: rgba(0, 0, 0, 0.1); 
}

/* Contenido (Texto) */
.hero-content {
  position: relative;
  z-index: 3;
  text-align: left;
  color: #ffffff;
  padding: 0 20px;
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  letter-spacing:-1px;
}

/* --- ESTILO GENERAL (Escritorio) --- */
.hero-content h1 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  white-space: nowrap; 
  font-size: 2.5rem;
  margin-top:-50px
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  letter-spacing:-1px;
  
}

/* Estilo base para los spans y animación */
.hero-content h1 span {
  display: inline-block;
  opacity: 0;
  filter: blur(5px);
  transform: translateY(20px);
  animation: aparecerFrase 0.8s ease-out forwards;
}

/* --- ADAPTACIÓN PARA CELULARES --- */
@media (max-width: 768px) {
  .hero-content h1 {
    flex-direction: column; 
    white-space: normal;
    gap: 15px;
    margin-top: -50px;
    font-size: 1.5rem !important; 
    line-height: 1.1; /* Ajustado para que no queden muy separados */
    padding: 0 10px;
    font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  letter-spacing:-1px;

  }

  .hero-content h1 span {
    display: block;
    width: 100%;
    text-align: left;
  }
}

/* Definición de la animación */
@keyframes aparecerFrase {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

/* TIEMPOS DE DELAY */
.hero-content h1 span:nth-child(1) { animation-delay: 0.5s; }
.hero-content h1 span:nth-child(2) { animation-delay: 1.5s; }
.hero-content h1 span:nth-child(3) { animation-delay: 2.5s; }


#logo {
  transition: opacity 0.5s ease;
  
}
    
.galeria-home .uk-h1{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:8rem;
  font-weight:400;
  letter-spacing: -1.5px;
  font-style: normal;
}

.uk-scope .uk-padding {
     padding: 0px !important;
}
  
.texto-destacado .uk-margin{    
    padding: 0px 0px 0px 0px;
    font-size: 36px;
    line-height: 40px;
    letter-spacing: -2px;
    font-weight: 600; !important;
    color: #2b2b2b;
    transition: all 1s;
    font-family: "Inter", sans-serif;
}
  
.texto-intro .uk-margin{    
    padding: 0px 0px 0px 0px;
    text-align: left;
    color: #2b2b2b;
    transition: all 1s;
    text-align:justify;
    font-family: "Inter", sans-serif;
    font-weight: 500; !important;
}

.uk-scope .texto-intro a.uk-link-reset {
    font-size: 48px !important;
    line-height: 1.4 !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 500 !important;
}

.areas .uk-link-reset {
  font-family: "Inter", sans-serif;
  font-size:1.3rem !important;
  font-weight:600 !important;
  letter-spacing: -1.5px !important;
  font-style: normal !important;
  line-height: 20px;
}

.uk-scope .uk-padding {
        padding-left: 0px;
        padding-right: 0px;
        padding-top: 25px;
        padding-bottom: 25px;
}
    
.menu-scroll {
  display: flex;
  justify-content: center;
  padding: 10px 20px;
}

.menu-scroll ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex; /* Esto lo hace horizontal */
  flex-wrap: wrap;
}

.menu-scroll li {
  margin: 0 5px;
}

.menu-scroll a {
  color: #333;
  text-decoration: none;
  padding: 10px 5px;
  display: inline-block;
}

.menu-scroll a:hover {
  background-color: #555;
  color:#FFF;
  border-radius: 0px;
}

.titulos{
  text-align:center !important;
}

.titulos .uk-h1{
    text-align:center;
    font-size:7rem;
    font-weight:600;
    letter-spacing: -1.5px;
}

.servicios .uk-h3{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:1.2rem;
  font-weight:500;
  letter-spacing: -1px;
  font-style: normal;
}  

.servicios .uk-margin p{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:0.8rem;
  font-weight:300;
  font-style: normal; 
}

.tienda .uk-link-reset{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:1.5rem;
  line-height:20px;
  font-weight:500;
  letter-spacing: -1px;
  font-style: normal;
  text-overflow: ellipsis;   /* agrega los "..." */
  width: 200px;              /* ancho fijo necesario */
}  

.truncate {
  white-space: nowrap;       /* evita el salto de línea */
  overflow: hidden;          /* oculta el texto que se pasa */
  
  display: block;            /* o inline-block */
}

.tienda .uk-margin p{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:0.8rem;
  font-weight:300;
  font-style: normal; 
}

.proyectos .uk-h3{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:1.7rem;
  font-weight:500;
  letter-spacing: -1px;
  font-style: normal; 
}

.uk-scope .uk-accordion-title {
    display: block;
    font-size: 20px;
    line-height: 1.4;
    color: #333;
    overflow: hidden;
    background: #eee !important;
    padding: 5px !important;
}

  
  @media (max-width: 767px) {

.galeria-home .uk-h1{
  font-family: "IBM Plex Sans", sans-serif;
  font-size:3rem;
  font-weight:400;
  letter-spacing: -1.5px;
  font-style: normal;
}  

.texto-destacado .uk-margin{    
    padding: 0px 0px 0px 0px;
    font-size: 26px;
    line-height: 25px;
    letter-spacing: -1.5px;
    font-weight: 500;
    color: #2b2b2b;
    transition: all 1s;
    text-align:left;
}

.texto-intro .uk-margin{    
    padding: 0px 0px 0px 0px;
    text-align: left;
    color: #2b2b2b;
    transition: all 1s;
    text-align:left;
}
  

.titulos .uk-h1{
    text-align:center;
    font-size:3rem;
    font-weight:600;
    letter-spacing: -1.5px;
}
    
  
}

.footer-contacto {
  background: #0d0d0d;
  color: #ffffff;
  padding: 80px 20px 40px;
  position: relative;
}

.footer-container {
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  justify-content: space-between;
}

.footer-col {
  flex: 1;
  min-width: 320px;
  text-align: left !important;
}

.footer-info h2 {
  font-size: 28px;
  margin-bottom: 20px;
  font-weight: 500;
}

.footer-info p {
  color: #bdbdbd;
  line-height: 1.6;
  margin-bottom: 25px;
  text-align:left !important;
}

.footer-datos {
  list-style: none;
  padding: 0;
}

.footer-datos li {
  margin-bottom: 10px;
  color: #d6d6d6;
}

.footer-datos a {
  color: #ffffff;
  text-decoration: none;
}

.footer-form h3 {
  margin-bottom: 20px;
  font-weight: 500;
}

.form-footer input,
.form-footer textarea {
  width: 100%;
  padding: 14px;
  margin-bottom: 15px;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #fff;
  border-radius: 6px;
  font-size: 14px;
}

.form-footer input:focus,
.form-footer textarea:focus {
  border-color: #999;
  outline: none;
}

.form-footer button {
  width: 100%;
  padding: 14px;
  background: #ffffff;
  color: #000;
  border: none;
  font-weight: bold;
  cursor: pointer;
  border-radius: 6px;
  transition: 0.3s ease;
}

.form-footer button:hover {
  background: #d4d4d4;
}

.footer-bottom {
  border-top: 1px solid #1f1f1f;
  margin-top: 60px;
  padding-top: 20px;
  text-align: center;
  font-size: 14px;
  color: #999;
}

.footer-links a {
  margin: 0 10px;
  color: #999;
  text-decoration: none;
}

.footer-links a:hover {
  color: #fff;
}

/* Redes */

.footer-redes {
  margin-top: 15px;
  display: flex;
  gap: 15px;
}

.footer-redes a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid #c5a46d;
  border-radius: 50%;
  color: #c5a46d;
  text-decoration: none;
  transition: 0.3s ease;
}

.footer-redes a:hover {
  background: #c5a46d;
  color: #fff;
}

.fa-solid {
    color:#c5a46d;
    padding-right:10px;
}
